zhouwx
2025-11-11 be57c60a2b1ce03ebdd264176149c52870c0b760
src/views/build/conpanyFunctionConsult/staffManage/staffRegister/components/staffDialog.vue
@@ -3,7 +3,7 @@
    <el-dialog
        v-model="dialogVisible"
        :title="state.title"
        width="700px"
        width="50%"
        :before-close="handleClose"
        :close-on-press-escape="false"
        :close-on-click-modal="false"
@@ -24,14 +24,34 @@
        <el-form-item label="年龄:" prop="age" v-if="state.title !== '修改密码'">
          <el-input v-model.number.trim="state.form.age" type="number" :disabled="disabled" placeholder="请输入年龄"></el-input>
        </el-form-item>
        <el-form-item label="学历:" prop="qualification" v-if="state.title !== '修改密码'">
          <el-select
              v-model="state.form.qualification"
              placeholder="请选择学历"
              style="width: 100%"
          >
            <el-option
                v-for="item in state.quaList"
                :key="item.id"
                :label="item.name"
                :value="item.id"
            />
          </el-select>
        </el-form-item>
        <el-form-item label="职称:" prop="positional" v-if="state.title !== '修改密码'">
          <el-input v-model.trim="state.form.positional" :disabled="disabled" placeholder="请输入职称"></el-input>
<!--          <el-input v-model.trim="state.form.positional" :disabled="disabled" placeholder="请输入职称"></el-input>-->
          <el-radio-group v-model="state.form.positional"  :disabled="disabled">
            <el-radio label="1">初级</el-radio>
            <el-radio label="2">中级</el-radio>
            <el-radio label="3">高级</el-radio>
          </el-radio-group>
        </el-form-item>
        <el-form-item label="人员类别:"  prop="personType" v-if="state.title !== '修改密码'">
          <el-radio-group v-model="state.form.personType"  :disabled="disabled">
            <el-radio :label="1">技术</el-radio>
            <el-radio :label="2">管理</el-radio>
            <el-radio :label="3">行政</el-radio>
            <el-radio :label="4">特殊作业</el-radio>
          </el-radio-group>
        </el-form-item>
        <el-form-item label="身份证号:"  prop="idCard" v-if="state.title !== '修改密码'">
@@ -91,7 +111,7 @@
              remote
              @change="selectValue"
              reserve-keyword
              placeholder="请输入企业名称"
              placeholder="请输入单位名称"
              remote-show-suffix
              :remote-method="getCompanyList"
              :loading="loading"
@@ -209,6 +229,7 @@
import {debounce} from "@/utils";
import Cookies from "js-cookie";
import {getDepart} from "@/api/orgStructure/depart";
import {removeToken} from "@/utils/auth";
const emit = defineEmits(["getList"]);
const dialogVisible = ref(false)
const superRef = ref()
@@ -313,6 +334,7 @@
    post: '',
    age: null,
    personType: null,
    qualification: null,
    positional: '',
    roles: []
  },
@@ -329,12 +351,21 @@
    entryTime: [{ required: true, message: '请选择入职时间', trigger: 'blur' }],
    age: [{ required: true, message: '请输入年龄', trigger: 'blur' }],
    personType: [{ required: true, message: '请选择人员类别', trigger: 'blur' }],
    post: [{ required: true, message: '请输入专业', trigger: 'blur' }],
    qualification: [{ required: true, message: '请选择学历', trigger: 'blur' }],
    positional: [{ required: true, message: '请输入职称', trigger: 'blur' }],
    roles: [{ required: true, message: '请选择角色', trigger: 'blur' }]
  },
  companyList: [],
  userList: [],
  roleList: [],
  quaList: [
    {id: 1, name: '高中及以下'},
    {id: 2, name: '专科'},
    {id: 3, name: '本科'},
    {id: 4, name: '硕士'},
    {id: 5, name: '博士及以上'}
  ],
  keyword:'',
  pageNum: 1,
  pageSize: 10,
@@ -373,7 +404,7 @@
    // }
  }
  state.title = type === 'add' ? '新增' : type ==='edit' ? '编辑' : type ==='pwd' ? '修改密码' : '查看' ;
  if(type === 'edit' || type === 'view') {
  if(type === 'edit' || type === 'view' || type === 'pwd') {
    startUsername.value = value.username
    if( type === 'view'){
      disabled.value = true
@@ -386,15 +417,7 @@
    }
    state.form.roles = value.roles.map(i=>i.roleId)
  }
  if(type == 'pwd'){
    state.form.id = value.id
  }
  dialogVisible.value = true
  if(type === 'edit' && state.form && (state.form.userType === 2||state.form.userType === 3)){
    await nextTick(() => {
      // doGetUser()
    })
  }
}
const finshed = ref(false)
@@ -482,6 +505,7 @@
        companyName: data.companyName,
        age: data.age,
        personType: data.personType,
        qualification: data.qualification,
        positional: data.positional,
        roles: data.roles
      }
@@ -501,8 +525,8 @@
      const res = await resetPwd(data)
      if(res.code == 200){
        ElMessage.success(res.message)
        emit('getList')
        handleClose()
        removeToken()
        location.href = '/homePage';
      }else{
        ElMessage.warning(res.message)
      }
@@ -588,6 +612,7 @@
    post: '',
    age: null,
    personType: null,
    qualification: null,
    positional: '',
    roles: []
  }