Преглед изворни кода

Merge remote-tracking branch 'origin/master'

wangbin пре 3 година
родитељ
комит
2157141471
4 измењених фајлова са 507 додато и 288 уклоњено
  1. 9 0
      src/api/ipLog.js
  2. 18 0
      src/api/responsiblePerson.js
  3. 157 0
      src/view/ipLogList/list.vue
  4. 323 288
      src/view/typeManage/responsiblePerson.vue

+ 9 - 0
src/api/ipLog.js

@@ -0,0 +1,9 @@
+import service from '@/utils/request'
+//获取ip列表
+export const ipLogList = (data) => {
+    return service({
+        url: '/loging/getIpLogList',
+        method: 'post',
+        data
+    })
+}

+ 18 - 0
src/api/responsiblePerson.js

@@ -155,3 +155,21 @@ export const selectResponsiblePerson = (data) => {
     data,
   });
 };
+
+//更改负责人状态
+export const statusChange = (data) => {
+  return service({
+    url: '/responsiblePerson/statusChange',
+    method: 'post',
+    data
+  })
+}
+
+//更改负责人推送状态
+export const pushStatusChange = (data) => {
+  return service({
+    url: '/responsiblePerson/pushStatusChange',
+    method: 'post',
+    data
+  })
+}

+ 157 - 0
src/view/ipLogList/list.vue

@@ -0,0 +1,157 @@
+<template>
+    <div>
+        <div class="gva-search-box">
+            <el-form ref="searchForm" :inline="true" :model="searchInfo">
+                <el-form-item label="游戏id">
+                    <el-input v-model="searchInfo.game_id" placeholder="游戏id" />
+                </el-form-item>
+                <el-form-item label="电脑编号">
+                    <el-input v-model="searchInfo.pc_code" placeholder="电脑编号" />
+                </el-form-item>
+                <!-- <el-form-item label="日期" prop="create_date">
+                    <el-date-picker v-model="searchInfo.create_date" popper-class="picker-popovers" class="timefilter"
+                        type="datetime" placeholder="选择日期时间" value-format="YYYY-MM-DD">
+                    </el-date-picker>
+                </el-form-item> -->
+                <el-form-item label="日期" prop="date">
+                    <el-date-picker v-model="searchInfo.date" size="default" type="daterange" unlink-panels
+                        range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" :disabled-date="disabledDate"
+                        :shortcuts="shortcuts" />
+                </el-form-item>
+                <el-form-item>
+                    <el-button size="small" type="primary" icon="search" @click="onSubmit">查询</el-button>
+                    <el-button size="small" icon="refresh" @click="onReset">重置</el-button>
+                </el-form-item>
+            </el-form>
+        </div>
+        <div class="gva-table-box">
+            <el-table :data="tableData" @sort-change="sortChange" @selection-change="handleSelectionChange">
+                <el-table-column type="selection" width="55" />
+                <el-table-column align="left" label="游戏id" min-width="150" prop="game_id" sortable="custom" />
+                <el-table-column align="left" label="ip" min-width="150" prop="ip" />
+                <el-table-column align="left" label="电脑编号" min-width="100" prop="pc_code" />
+                <el-table-column align="left" label="上报ip次数" min-width="150" prop="count_total" />
+                <el-table-column align="left" label="ip个数" min-width="150" prop="count_distinct_ip" />
+                <el-table-column align="left" label="日期" min-width="150" prop="create_date" />
+            </el-table>
+            <div class="gva-pagination">
+                <el-pagination :current-page="page" :page-size="pageSize" :page-sizes="[10, 30, 50, 100]" :total="total"
+                    layout="total, sizes, prev, pager, next, jumper" @current-change="handleCurrentChange"
+                    @size-change="handleSizeChange" />
+            </div>
+        </div>
+    </div>
+</template>
+  
+<script>
+export default {
+    name: 'GameList',
+}
+</script>
+  
+<script setup>
+import {
+    ipLogList,
+} from '@/api/ipLog'
+import { toSQLLine } from '@/utils/stringFun'
+import { ref } from 'vue'
+import { ElMessage, ElMessageBox } from 'element-plus'
+import warningBar from '@/components/warningBar/warningBar.vue'
+import dayjs from "dayjs";
+const apis = ref([])
+const page = ref(1)
+const total = ref(0)
+const pageSize = ref(10)
+const tableData = ref([])
+const searchInfo = ref({})
+
+const onReset = () => {
+    searchInfo.value = {}
+    getTableData()
+}
+
+// 搜索
+const onSubmit = () => {
+    page.value = 1
+    pageSize.value = 10
+    searchInfo.value.game_id = Number(searchInfo.value.game_id)
+    if (typeof searchInfo.value.date != "undefined") {
+        searchInfo.value.date[0] = dayjs(searchInfo.value.date[0]).format(
+            "YYYY-MM-DD"
+        );
+        searchInfo.value.date[1] = dayjs(searchInfo.value.date[1]).format(
+            "YYYY-MM-DD"
+        );
+    }
+    getTableData()
+}
+
+// 分页
+const handleSizeChange = (val) => {
+    pageSize.value = val
+    getTableData()
+}
+
+const handleCurrentChange = (val) => {
+    page.value = val
+    getTableData()
+}
+
+// 排序
+const sortChange = ({ prop, order }) => {
+    if (prop) {
+        if (prop === 'id') {
+            prop = 'id'
+        }
+        searchInfo.value.orderKey = toSQLLine(prop)
+        searchInfo.value.desc = order === 'descending'
+    }
+    getTableData()
+}
+
+// 查询
+const getTableData = async () => {
+    const table = await ipLogList({ page: page.value, pageSize: pageSize.value, ...searchInfo.value })
+    if (table.code === 0) {
+        tableData.value = table.data.list
+        total.value = table.data.total
+        page.value = table.data.page
+        pageSize.value = table.data.pageSize
+    }
+}
+
+getTableData()
+
+// 批量操作
+const handleSelectionChange = (val) => {
+    apis.value = val
+}
+
+
+
+// 弹窗相关
+// const apiForm = ref(null)
+// const initForm = () => {
+//     apiForm.value.resetFields()
+//     form.value = {
+//         game_name: '',
+//         game_package_name: ''
+//     }
+// }
+
+</script>
+  
+<style scoped lang="scss">
+.button-box {
+    padding: 10px 20px;
+
+    .el-button {
+        float: right;
+    }
+}
+
+.warning {
+    color: #dc143c;
+}
+</style>
+  

+ 323 - 288
src/view/typeManage/responsiblePerson.vue

@@ -1,49 +1,38 @@
 <template>
   <div>
     <div class="gva-search-box">
-        <el-form ref="searchForm" :inline="true" :model="searchInfo">
-          <el-form-item>
-            <el-select v-model="searchInfo.searchKey"  >
-              <el-option
-                v-for="item in searchOptions"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value"
-              />
-            </el-select>
-          </el-form-item>
-          <el-form-item>
-            <el-input v-model="searchInfo.name" placeholder="请输入关键字"/>
-          </el-form-item>
-          <el-form-item>
-            <el-button size="small" type="primary" icon="search" @click="onSubmit">搜索</el-button>
-          </el-form-item>
-        </el-form>
-      </div>
-      <div class="gva-btn-list">
-          <el-button size="small" icon="refresh" @click="onReset">刷新</el-button>
-          <el-button size="small" type="primary" icon="plus" @click="openDialog('addResponsiblePerson')">新增</el-button>
-          <el-popover v-model="deleteVisible" placement="top" width="160">
-            <p>确定要删除吗?</p>
-            <div style="text-align: right; margin-top: 8px;">
-              <el-button size="small" type="primary" link @click="deleteVisible = false">取消</el-button>
-              <el-button size="small" type="primary" @click="onDelete">确定</el-button>
-            </div>
-            <template #reference>
-              <el-button icon="delete" type="danger" size="small" :disabled="!apis.length" style="margin-left: 10px;" @click="deleteVisible = true">删除</el-button>
-            </template>
-          </el-popover>
+      <el-form ref="searchForm" :inline="true" :model="searchInfo">
+        <el-form-item>
+          <el-select v-model="searchInfo.searchKey">
+            <el-option v-for="item in searchOptions" :key="item.value" :label="item.label" :value="item.value" />
+          </el-select>
+        </el-form-item>
+        <el-form-item>
+          <el-input v-model="searchInfo.name" placeholder="请输入关键字" />
+        </el-form-item>
+        <el-form-item>
+          <el-button size="small" type="primary" icon="search" @click="onSubmit">搜索</el-button>
+        </el-form-item>
+      </el-form>
+    </div>
+    <div class="gva-btn-list">
+      <el-button size="small" icon="refresh" @click="onReset">刷新</el-button>
+      <el-button size="small" type="primary" icon="plus" @click="openDialog('addResponsiblePerson')">新增</el-button>
+      <el-popover v-model="deleteVisible" placement="top" width="160">
+        <p>确定要删除吗?</p>
+        <div style="text-align: right; margin-top: 8px;">
+          <el-button size="small" type="primary" link @click="deleteVisible = false">取消</el-button>
+          <el-button size="small" type="primary" @click="onDelete">确定</el-button>
         </div>
+        <template #reference>
+          <el-button icon="delete" type="danger" size="small" :disabled="!apis.length" style="margin-left: 10px;"
+            @click="deleteVisible = true">删除</el-button>
+        </template>
+      </el-popover>
+    </div>
     <div class="gva-table-box">
-      <el-table
-        :data="tableData"
-        @sort-change="sortChange" 
-        @selection-change="handleSelectionChange"
-      >
-      <el-table-column
-            type="selection"
-            width="55"
-          />
+      <el-table :data="tableData" @sort-change="sortChange" @selection-change="handleSelectionChange">
+        <el-table-column type="selection" width="55" />
         <el-table-column align="center" label="头像" min-width="100">
           <template #default="scope">
             <CustomPic style="margin-top:8px" :pic-src="scope.row.img" />
@@ -54,60 +43,37 @@
         <el-table-column align="left" label="部门名称" min-width="150" prop="department_name" />
         <el-table-column align="left" label="手机号码" min-width="150" prop="mobile_phone_number" />
         <el-table-column align="left" label="游戏数量" min-width="150" prop="game_counts" />
+        <el-table-column align="left" label="托管人" min-width="150" prop="custodians" />
         <el-table-column align="left" label="备注" min-width="150" prop="remark" />
-        <el-table-column align="center" label="状态" min-width="150" prop="state" >
+        <el-table-column align="left" label="状态" min-width="100">
+          <template #default="scope">
+            <el-switch v-model="scope.row.state" inline-prompt :active-value="1" :inactive-value="-1"
+              @change="() => { switchEnable(scope.row) }" />
+          </template>
+        </el-table-column>
+        <el-table-column align="left" label="推送状态" min-width="100">
           <template #default="scope">
-            <el-button size="small"
-            :type="scope.row.state == 2 ? 'danger' : 'success'">
-            {{scope.row.state == 2? '禁用' : '启用'}}
-            </el-button>
+            <el-switch v-model="scope.row.push_status" inline-prompt :active-value="1" :inactive-value="-1"
+              @change="() => { switchPushEnable(scope.row) }" />
           </template>
         </el-table-column>
         <el-table-column align="left" label="创建时间" min-width="200" prop="createTime" sortable="custom" />
-
-
         <el-table-column align="left" fixed="right" label="操作" width="200">
-            <template #default="scope">
-              <el-button
-                icon="edit"
-                size="small"
-                type="primary"
-                link
-                @click="editApiFunc(scope.row)"
-              >编辑</el-button>
-              <el-button
-                icon="delete"
-                size="small"
-                type="primary"
-                link
-                @click="deleteApiFunc(scope.row)"
-              >删除</el-button>
-            </template>
-          </el-table-column>
+          <template #default="scope">
+            <el-button icon="edit" size="small" type="primary" link @click="editApiFunc(scope.row)">编辑</el-button>
+            <el-button icon="delete" size="small" type="primary" link @click="deleteApiFunc(scope.row)">删除</el-button>
+          </template>
+        </el-table-column>
 
       </el-table>
       <div class="gva-pagination">
-        <el-pagination
-          :current-page="page"
-          :page-size="pageSize"
-          :page-sizes="[10, 30, 50, 100]"
-          :total="total"
-          layout="total, sizes, prev, pager, next, jumper"
-          @current-change="handleCurrentChange"
-          @size-change="handleSizeChange"
-        />
+        <el-pagination :current-page="page" :page-size="pageSize" :page-sizes="[10, 30, 50, 100]" :total="total"
+          layout="total, sizes, prev, pager, next, jumper" @current-change="handleCurrentChange"
+          @size-change="handleSizeChange" />
       </div>
     </div>
-    <el-dialog
-      v-model="dialogFormVisible"
-      
-      custom-class="user-dialog"
-      :before-close="closeDialog"
-      :title="dialogTitle"
-      :show-close="false"
-      :close-on-press-escape="false"
-      :close-on-click-modal="false"
-    >
+    <el-dialog v-model="dialogFormVisible" custom-class="user-dialog" :before-close="closeDialog" :title="dialogTitle"
+      :show-close="false" :close-on-press-escape="false" :close-on-click-modal="false">
       <div style="height:60vh;overflow:auto;padding:0 12px;">
         <el-form ref="userForm" :rules="rules" :model="userInfo" label-width="80px">
           <el-form-item label="姓名" prop="name">
@@ -122,18 +88,33 @@
           <el-form-item label="手机号码" prop="mobile_phone_number">
             <el-input v-model="userInfo.mobile_phone_number" />
           </el-form-item>
+          <el-form-item label="托管状态" prop="managed_status">
+            <el-radio-group v-model="userInfo.managed_status" class="ml-4">
+              <el-radio label="1" size="small">需要托管</el-radio>
+              <el-radio label="-1" size="small">不需要托管</el-radio>
+            </el-radio-group>
+          </el-form-item>
+          <el-form-item label="托管人" prop="custodians" v-if="dialogTitle == '新增' && userInfo.managed_status == '1'">
+            <el-input v-model="userInfo.custodians" />
+          </el-form-item>
+          <el-form-item label="托管人" v-if="dialogTitle == '编辑' && userInfo.managed_status == '1'">
+            <el-select v-model="userInfo.custodians" placeholder="托管人">
+              <el-option v-for="item in ResponsiblePerson" :key="item.id" :label="item.name" :value="item.name" />
+            </el-select>
+          </el-form-item>
           <el-form-item label="备注" prop="remark">
             <el-input v-model="userInfo.remark" />
           </el-form-item>
-          <el-form-item label="状态" prop="state">
+          <!-- <el-form-item label="状态" prop="state">
             <el-radio-group v-model="userInfo.state" class="ml-4">
-              <el-radio :label="1"  size="large">开启</el-radio>
-              <el-radio :label="2"  size="large">关闭</el-radio>
+              <el-radio :label="1" size="large">开启</el-radio>
+              <el-radio :label="2" size="large">关闭</el-radio>
             </el-radio-group>
-          </el-form-item>
+          </el-form-item> -->
           <el-form-item label="头像" label-width="80px">
             <div style="display:inline-block" @click="openHeaderChange">
-              <img v-if="userInfo.img" class="header-img-box" :src="(userInfo.img && userInfo.img.slice(0, 4) !== 'http')?path+userInfo.img:userInfo.img">
+              <img v-if="userInfo.img" class="header-img-box"
+                :src="(userInfo.img && userInfo.img.slice(0, 4) !== 'http') ? path + userInfo.img : userInfo.img">
               <div v-else class="header-img-box">从媒体库选择</div>
             </div>
           </el-form-item>
@@ -168,6 +149,9 @@ import {
   createApi,
   updateApi,
   deleteApi,
+  statusChange,
+  pushStatusChange,
+  selectResponsiblePerson,
   deleteApisByIds
 } from '@/api/responsiblePerson'
 import { toSQLLine } from '@/utils/stringFun'
@@ -180,100 +164,151 @@ import { ElMessage, ElMessageBox } from 'element-plus'
 import User from '../superAdmin/user/user.vue'
 
 
-  const form = ref({
+const rules = ref({
+  name: [{ required: true, message: '负责人不能为空', trigger: 'blur' }],
+  custodians: [{ required: true, message: '托管人不能为空', trigger: 'blur' }],
+})
 
-  })
-  const     searchOptions = ref([
-    {
-      value: 'name',
-      label: '姓名',
-
-    },
-  ])
-  const type = ref('')
-  const page = ref(1)
-  const total = ref(0)
-  const pageSize = ref(10)
-  const tableData = ref([])
-  const searchInfo = ref({
-    searchKey:"name",
-  })
-  
-  const onReset = () => {
-    searchInfo.value = {}
-  }
 
+const form = ref({
 
+})
+const searchOptions = ref([
+  {
+    value: 'name',
+    label: '姓名',
 
- // 搜索
-  
- const onSubmit = () => {
-    page.value = 1
-    pageSize.value = 10
-    getTableData()
-  }
-  
-  // 分页
-  const handleSizeChange = (val) => {
-    pageSize.value = val
-    getTableData()
-  }
-  
-  const handleCurrentChange = (val) => {
-    page.value = val
-    getTableData()
-  }
-  
-  // 排序
-  const sortChange = ({ prop, order }) => {
-    if (prop) {
-      if (prop === 'ID') {
-        prop = 'id'
-      }
-      searchInfo.value.orderKey = toSQLLine(prop)
-      searchInfo.value.desc = order === 'descending'
-    }
-    getTableData()
+  },
+])
+const type = ref('')
+const page = ref(1)
+const total = ref(0)
+const pageSize = ref(10)
+const tableData = ref([])
+const searchInfo = ref({
+  searchKey: "name",
+})
+
+const onReset = () => {
+  searchInfo.value = {}
+}
+
+const getResponsiblePerson = async () => {
+  const table = await selectResponsiblePerson()
+  if (table.code === 0) {
+    ResponsiblePerson.value = table.data
   }
-  
-  // 查询
-  const getTableData = async() => {
-    const table = await getApiList({ page: page.value, pageSize: pageSize.value, ...searchInfo.value})
-    if (table.code === 0) {
-      tableData.value = table.data.list
-      total.value = table.data.total
-      page.value = table.data.page
-      pageSize.value = table.data.pageSize
+}
+getResponsiblePerson()
+
+const ResponsiblePerson = ref([{}])
+
+
+
+// 搜索
+const onSubmit = () => {
+  page.value = 1
+  pageSize.value = 10
+  getTableData()
+}
+
+// 分页
+const handleSizeChange = (val) => {
+  pageSize.value = val
+  getTableData()
+}
+
+const handleCurrentChange = (val) => {
+  page.value = val
+  getTableData()
+}
+
+// 排序
+const sortChange = ({ prop, order }) => {
+  if (prop) {
+    if (prop === 'ID') {
+      prop = 'id'
     }
+    searchInfo.value.orderKey = toSQLLine(prop)
+    searchInfo.value.desc = order === 'descending'
   }
-  
   getTableData()
-  
-  // 批量操作
-  const handleSelectionChange = (val) => {
-    apis.value = val
+}
+
+// 查询
+const getTableData = async () => {
+  const table = await getApiList({ page: page.value, pageSize: pageSize.value, ...searchInfo.value })
+  if (table.code === 0) {
+    tableData.value = table.data.list
+    total.value = table.data.total
+    page.value = table.data.page
+    pageSize.value = table.data.pageSize
   }
-  const apis = ref([])
-  const deleteVisible = ref(false)
-  const onDelete = async() => {
-    const ids = apis.value.map(item => item.id)
-    const res = await deleteApisByIds({ ids })
-    if (res.code === 0) {
-      ElMessage({
-        type: 'success',
-        message: res.msg
-      })
-      if (tableData.value.length === ids.length && page.value > 1) {
-        page.value--
-      }
-      deleteVisible.value = false
-      getTableData()
+}
+
+getTableData()
+
+//更改状态
+const switchEnable = async (row) => {
+  const res = await statusChange({ state: row.state, id: row.id })
+  if (res.code === 0) {
+    ElMessage({ type: 'success', message: `${row.state === -1 ? '停止' : '开启'}成功` })
+  }
+}
+
+//更改推送状态
+const switchPushEnable = async (row) => {
+  const res = await pushStatusChange({ state: row.push_status, id: row.id })
+  if (res.code === 0) {
+    ElMessage({ type: 'success', message: `${row.state === -1 ? '停止' : '开启'}成功` })
+  }
+}
+
+
+// 批量操作
+const handleSelectionChange = (val) => {
+  apis.value = val
+}
+const apis = ref([])
+const deleteVisible = ref(false)
+const onDelete = async () => {
+  const ids = apis.value.map(item => item.id)
+  const res = await deleteApisByIds({ ids })
+  if (res.code === 0) {
+    ElMessage({
+      type: 'success',
+      message: res.msg
+    })
+    if (tableData.value.length === ids.length && page.value > 1) {
+      page.value--
     }
+    deleteVisible.value = false
+    getTableData()
+    getResponsiblePerson()
   }
-  
+}
+
+
+// 弹窗相关
+const userInfo = ref({
+  name: '',
+  nickname: '',
+  department_name: '',
+  mobile_phone_number: '',
+  remark: '',
+  state: 0,
+  img: '',
+  custodians: '',
+  push_status: 0,
+})
+const path = ref(import.meta.env.VITE_BASE_API + '/')
+
+
 
-  // 弹窗相关
-  const userInfo = ref({
+const userForm = ref(null)
+const initForm = () => {
+  userForm.value.resetFields()
+  userInfo.value = {
     name: '',
     nickname: '',
     department_name: '',
@@ -281,143 +316,140 @@ import User from '../superAdmin/user/user.vue'
     remark: '',
     state: 0,
     img: '',
-  })
-  const path = ref(import.meta.env.VITE_BASE_API + '/')
+    custodians: '',
+    push_status: 0,
+  }
+}
 
+const dialogTitle = ref('新增Api')
+const dialogFormVisible = ref(false)
+const openDialog = (key) => {
+  switch (key) {
+    case 'addResponsiblePerson':
+      dialogTitle.value = '新增'
+      break
+    case 'editResponsiblePerson':
+      dialogTitle.value = '编辑'
+      break
+    default:
+      break
+  }
 
+  type.value = key
+  dialogFormVisible.value = true
+}
+const closeDialog = () => {
+  initForm()
+  dialogFormVisible.value = false
+  userInfo.value.img = ''
+}
 
-  const userForm = ref(null)
-  const initForm = () => {
-    userForm.value.resetFields()
-    userInfo.value = {
-      name: '',
-      nickname: '',
-      department_name: '',
-      mobile_phone_number: '',
-      remark: '',
-      state: 0,
-      img: '',
-    }
-  }
-  
-  const dialogTitle = ref('新增Api')
-  const dialogFormVisible = ref(false)
-  const openDialog = (key) => {
-    switch (key) {
-      case 'addResponsiblePerson':
-        dialogTitle.value = '新增'
-        break
-      case 'editResponsiblePerson':
-        dialogTitle.value = '编辑'
-        break
-      default:
-        break
-    }
+const editApiFunc = async (row) => {
+  const res = await getApiById({ id: row.id })
+  userInfo.value = res.data.responsible_person
+  openDialog('editResponsiblePerson')
+}
 
-    type.value = key
-    dialogFormVisible.value = true
-  }
-  const closeDialog = () => {
-    initForm()
-    dialogFormVisible.value = false
-    userInfo.value.img = ''
-  }
-  
-  const editApiFunc = async(row) => {
-    const res = await getApiById({ id: row.id })
-    userInfo.value = res.data.responsible_person
-    openDialog('editResponsiblePerson')
-  }
-  
-  const enterDialog = async() => {
-    userForm.value.validate(async valid => {
-      if (valid) {
-        switch (type.value) {
-          case 'addResponsiblePerson':
-            {
-              const res = await createApi(userInfo.value)
-              if (res.code === 0) {
-                ElMessage({
-                  type: 'success',
-                  message: '添加成功',
-                  showClose: true
-                })
-              }
-              getTableData()
-              closeDialog()
+const enterDialog = async () => {
+  userForm.value.validate(async valid => {
+    if (valid) {
+      switch (type.value) {
+        case 'addResponsiblePerson':
+          {
+            userInfo.value.managed_status = Number(userInfo.value.managed_status)
+            const res = await createApi(userInfo.value)
+            if (res.code === 0) {
+              ElMessage({
+                type: 'success',
+                message: '添加成功',
+                showClose: true
+              })
             }
-  
-            break
-          case 'editResponsiblePerson':
-            {
-              const res = await updateApi(userInfo.value)
-              if (res.code === 0) {
-                ElMessage({
-                  type: 'success',
-                  message: '编辑成功',
-                  showClose: true
-                })
-              }
-              getTableData()
-              closeDialog()
+            getTableData()
+            getResponsiblePerson()
+            closeDialog()
+          }
+
+          break
+        case 'editResponsiblePerson':
+          {
+            userInfo.value.managed_status = Number(userInfo.value.managed_status)
+            //如果不需要托管,则将托管人置为空
+            if (userInfo.value.managed_status === -1) {
+              userInfo.value.custodians = ''
             }
-            break
-          default:
-            // eslint-disable-next-line no-lone-blocks
-            {
+            const res = await updateApi(userInfo.value)
+            if (res.code === 0) {
               ElMessage({
-                type: 'error',
-                message: '未知操作',
+                type: 'success',
+                message: '编辑成功',
                 showClose: true
               })
             }
-            break
+            getTableData()
+            getResponsiblePerson()
+            closeDialog()
+          }
+          break
+        default:
+          // eslint-disable-next-line no-lone-blocks
+          {
+            ElMessage({
+              type: 'error',
+              message: '未知操作',
+              showClose: true
+            })
+          }
+          break
+      }
+    }
+  })
+}
+const chooseImg = ref(null)
+const openHeaderChange = () => {
+  chooseImg.value.open()
+}
+
+const deleteApiFunc = async (row) => {
+  ElMessageBox.confirm('此操作将永久删除此负责人, 是否继续?', '提示', {
+    confirmButtonText: '确定',
+    cancelButtonText: '取消',
+    type: 'warning'
+  })
+    .then(async () => {
+      const res = await deleteApi(row)
+      if (res.code === 0) {
+        ElMessage({
+          type: 'success',
+          message: '删除成功!'
+        })
+        if (tableData.value.length === 1 && page.value > 1) {
+          page.value--
         }
+        getTableData()
+        getResponsiblePerson()
       }
     })
-  }
-  const chooseImg = ref(null)
-  const openHeaderChange = () => {
-    chooseImg.value.open()
-  } 
-
-  const deleteApiFunc = async(row) => {
-    ElMessageBox.confirm('此操作将永久删除此负责人, 是否继续?', '提示', {
-      confirmButtonText: '确定',
-      cancelButtonText: '取消',
-      type: 'warning'
-    })
-      .then(async() => {
-        const res = await deleteApi(row)
-        if (res.code === 0) {
-          ElMessage({
-            type: 'success',
-            message: '删除成功!'
-          })
-          if (tableData.value.length === 1 && page.value > 1) {
-            page.value--
-          }
-          getTableData()
-        }
-      })
-  }
+}
 
 </script>
 
 <style lang="scss">
 .user-dialog {
   .header-img-box {
-  width: 200px;
-  height: 200px;
-  border: 1px dashed #ccc;
-  border-radius: 20px;
-  text-align: center;
-  line-height: 200px;
-  cursor: pointer;
-}
+    width: 200px;
+    height: 200px;
+    border: 1px dashed #ccc;
+    border-radius: 20px;
+    text-align: center;
+    line-height: 200px;
+    cursor: pointer;
+  }
+
   .avatar-uploader .el-upload:hover {
     border-color: #409eff;
   }
+
   .avatar-uploader-icon {
     border: 1px dashed #d9d9d9 !important;
     border-radius: 6px;
@@ -428,18 +460,21 @@ import User from '../superAdmin/user/user.vue'
     line-height: 178px;
     text-align: center;
   }
+
   .avatar {
     width: 178px;
     height: 178px;
     display: block;
   }
 }
-.nickName{
+
+.nickName {
   display: flex;
   justify-content: flex-start;
   align-items: center;
 }
-.pointer{
+
+.pointer {
   cursor: pointer;
   font-size: 16px;
   margin-left: 2px;