From 0b1c1b00217356b721bfd2d17e0a2f73ac359939 Mon Sep 17 00:00:00 2001
From: 祖安之光 <11848914+light-of-zuan@user.noreply.gitee.com>
Date: 星期二, 09 十二月 2025 16:37:00 +0800
Subject: [PATCH] 修改新增

---
 src/views/build/conpanyFunctionConsult/staffManage/staffRegister/index.vue |   74 +++++++++++++++++++++++++-----------
 1 files changed, 51 insertions(+), 23 deletions(-)

diff --git a/src/views/build/conpanyFunctionConsult/staffManage/staffRegister/index.vue b/src/views/build/conpanyFunctionConsult/staffManage/staffRegister/index.vue
index cc7c38c..6d8ef99 100644
--- a/src/views/build/conpanyFunctionConsult/staffManage/staffRegister/index.vue
+++ b/src/views/build/conpanyFunctionConsult/staffManage/staffRegister/index.vue
@@ -8,6 +8,7 @@
               plain
               icon="Plus"
               @click="openDialog('add',{})"
+              v-hasPermi="['staffRegister:user:add']"
           >新增</el-button>
         </el-form-item>
         <el-form-item label="用户名:" >
@@ -23,7 +24,7 @@
 <!--            </el-option>-->
 <!--          </el-select>-->
 <!--        </el-form-item>-->
-        <el-form-item v-if="isAdmin" label="企业:" >
+        <el-form-item v-if="isAdmin" label="单位:" >
           <el-select v-model="data.queryParams.companyId" placeholder="请选择" clearable>
             <el-option
                 v-for="item in companyList"
@@ -62,20 +63,32 @@
     <!-- 表格数据 -->
     <el-table v-loading="loading" :data="dataList" :border="true">
       <el-table-column label="序号" type="index" align="center" width="80" />
-      <el-table-column label="用户名" prop="username" align="center"  />
-      <el-table-column label="姓名" prop="name" align="center"  />
-      <el-table-column label="身份证号" prop="idCard" align="center" />
-      <el-table-column label="入职时间" prop="entryTime" align="center"/>
+      <el-table-column label="用户名" prop="username" align="center"/>
+      <el-table-column label="姓名" prop="name" align="center"/>
+      <el-table-column label="年龄" prop="age" align="center"/>
+<!--      <el-table-column label="职称" prop="positional" align="center"/>-->
+      <el-table-column label="人员类别" prop="personType" align="center">
+        <template #default="scope">
+          {{ scope.row.personType == 1?'技术':scope.row.personType == 2?'管理':'行政' }}
+        </template>
+      </el-table-column>
+<!--      <el-table-column label="身份证号" prop="idCard" align="center" />-->
+<!--      <el-table-column label="入职时间" prop="entryTime" align="center"/>-->
       <el-table-column label="部门" prop="deptName" align="center"/>
-      <el-table-column label="职务" prop="duty" align="center"/>
+<!--      <el-table-column label="职务" prop="duty" align="center"/>-->
       <el-table-column label="联系方式" prop="phone" align="center"/>
       <el-table-column label="专业" prop="post" align="center"/>
       <el-table-column label="用户类型" prop="userTypeName" align="center"/>
+      <el-table-column label="角色" prop="userTypeName" align="center">
+        <template #default="scope">
+          {{ scope.row.roles?.map(i=>i.roleName).join('、') }}
+        </template>
+      </el-table-column>
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width" >
         <template #default="scope">
           <el-button link type="primary" @click="openDialog('view',scope.row)">查看</el-button>
-          <el-button link type="primary" @click="openDialog('edit',scope.row)">编辑</el-button>
-          <el-button link type="danger" @click="handleDelete(scope.row)">删除</el-button>
+          <el-button link type="primary" @click="openDialog('edit',scope.row)" v-hasPermi="['staffRegister:user:edit']">编辑</el-button>
+          <el-button link type="danger" @click="handleDelete(scope.row)" v-hasPermi="['staffRegister:user:del']">删除</el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -100,6 +113,7 @@
 import {delUser, getUser} from "@/api/onlineEducation/user";
 import Cookies from "js-cookie";
 import useUserStore from "@/store/modules/user";
+import {listRole} from "@/api/system/role";
 const userStore = useUserStore()
 
 const { proxy } = getCurrentInstance();
@@ -117,6 +131,7 @@
   dataList: [],
   isAdmin: false,
   companyList: [],
+  roleList: [],
   expertData: [],
   userTypeList: [
     {
@@ -140,18 +155,14 @@
       name: '其他'
     },
   ]
-
 });
 
-const { queryParams, total, dataList,isAdmin,companyList,expertData } = toRefs(data);
+const { queryParams, total, dataList,isAdmin,companyList,expertData} = toRefs(data);
 const userInfo = ref()
 const fields = ref({
   '序号':'index',
   '姓名':'username',
-  '身份证号':'idCard',
-  '入职时间':'entryTime',
   '部门':'deptName',
-  '职务':'duty',
   '联系方式':'phone',
   '专业':'post',
   '用户类型':'userTypeName'
@@ -166,6 +177,7 @@
     data.queryParams.companyId = userStore.companyId
   }
   await getList()
+  await getRoleList()
 })
 
 onUnmounted(()=>{
@@ -179,7 +191,7 @@
     data.dataList = res.data.list.map(item => {
       return {
         ...item,
-        userTypeName: item.userType === 0 ? '管理员' : item.userType === 1 ? '企业级' : item.userType === 2 ? '部门级' : item.userType === 3 ? '车间级' :'其他',
+        userTypeName: item.userType === 0 ? '系统管理员' : (item.userType === 1 || item.userType === 2 || item.userType === 3) ? '企业用户': item.userType === 6 ? '企业管理员':'其他',
         entryTime: item.entryTime?.substring(0, 10)
       }
     })
@@ -189,6 +201,18 @@
   }
   loading.value = false
   await getAllList()
+}
+
+const getRoleList = () => {
+  listRole(proxy.addDateRange({
+    pageNum: 1,
+    pageSize: 999,
+    roleName: undefined,
+    roleKey: undefined,
+    status: undefined
+  }, [])).then(response => {
+    data.roleList = response.data.list
+  });
 }
 
 const getCompanyList = async ()=>{
@@ -206,15 +230,19 @@
 }
 
 const getAllList = async () => {
-  let params = data.queryParams
-  params.pageSize = 999
-  const res = await getUser(params)
+  const res = await getUser({
+    pageNum: 1,
+    pageSize: 999,
+    username: '',
+    userType: null,
+    companyId: null
+  })
   if(res.code == 200){
-    data.expertData = res.data.list.map((item,index) => {
+    data.expertData = res.data.list?.map((item,index) => {
       return {
         ...item,
         index: index + 1,
-        userTypeName: item.userType === 0 ? '管理员' : item.userType === 1 ? '企业级' : item.userType === 2 ? '部门级' : item.userType === 3 ? '车间级' :'其他',
+        userTypeName: item.userType === 0 ? '系统管理员' : (item.userType === 1 || item.userType === 2 || item.userType === 3) ? '企业用户': item.userType === 6 ? '企业管理员':'其他',
         entryTime: item.entryTime?.substring(0, 10)
       }
     })
@@ -224,11 +252,11 @@
 }
 
 const openDialog = (type, value) => {
-  if(userInfo.value.userType === 3){
-    ElMessage.warning('车间级用户不能新增')
+  if(userInfo.value.userType !== 0 && userInfo.value.userType !== 6){
+    ElMessage.warning('非管理员身份不可操作')
     return;
   }
-  dialogRef.value.openDialog(type, value, data.queryParams.companyId);
+  dialogRef.value.openDialog(type, value, data.queryParams.companyId,data.roleList);
 }
 
 /** 重置新增的表单以及其他数据  */
@@ -245,7 +273,7 @@
 }
 const handleDelete = (val) => {
   ElMessageBox.confirm(
-      '确定删除此条数据?',
+      val.internal == 0?'人员档案也会删除,是否确定?':'确定删除此条数据?',
       '提示',
       {
         confirmButtonText: '确定',

--
Gitblit v1.9.2