祖安之光
7 天以前 1c47f3c982344038a348925290986ee66f9c1721
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"
@@ -65,24 +66,29 @@
      <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="positional" align="center"/>-->
      <el-table-column label="人员类别" prop="personType" align="center">
        <template #default="scope">
          {{ scope.row.personType == 1?'技术':'管理' }}
          {{ 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="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>
@@ -107,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();
@@ -124,6 +131,7 @@
  dataList: [],
  isAdmin: false,
  companyList: [],
  roleList: [],
  expertData: [],
  userTypeList: [
    {
@@ -147,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'
@@ -173,6 +177,7 @@
    data.queryParams.companyId = userStore.companyId
  }
  await getList()
  await getRoleList()
})
onUnmounted(()=>{
@@ -186,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)
      }
    })
@@ -196,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 ()=>{
@@ -225,7 +242,7 @@
      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)
      }
    })
@@ -235,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);
}
/** 重置新增的表单以及其他数据  */
@@ -256,7 +273,7 @@
}
const handleDelete = (val) => {
  ElMessageBox.confirm(
      '确定删除此条数据?',
      val.internal == 0?'人员档案也会删除,是否确定?':'确定删除此条数据?',
      '提示',
      {
        confirmButtonText: '确定',