| | |
| | | <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" |
| | |
| | | <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="positional" v-if="state.title !== '修改密码'"> |
| | | <el-input v-model.trim="state.form.positional" :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-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 !== '修改密码'"> |
| | | <el-input v-model.trim="state.form.idCard" :maxlength="18" :disabled="disabled" placeholder="请输入身份证号"></el-input> |
| | | <el-form-item label="是否公司人员:" prop="internal" v-if="state.title !== '修改密码'"> |
| | | <el-radio-group v-model="state.form.internal" :disabled="disabled"> |
| | | <el-radio :label="0">是</el-radio> |
| | | <el-radio :label="1">否</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item label="入职时间:" prop="entryTime" v-if="state.title !== '修改密码'" > |
| | | <el-date-picker |
| | | v-model="state.form.entryTime" |
| | | type="date" |
| | | value-format="YYYY-MM-DD" |
| | | placeholder="请选择入职时间" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="离职时间:" prop="resignTime" v-if="state.title !== '修改密码'" > |
| | | <el-date-picker |
| | | v-model="state.form.resignTime" |
| | | type="date" |
| | | value-format="YYYY-MM-DD" |
| | | placeholder="请选择离职时间" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="密码:" prop="password" v-if="state.title == '新增' || state.title == '修改密码'"> |
| | | <!-- <el-form-item label="身份证号:" prop="idCard" v-if="state.title !== '修改密码'">--> |
| | | <!-- <el-input v-model.trim="state.form.idCard" :maxlength="18" :disabled="disabled" placeholder="请输入身份证号"></el-input>--> |
| | | <!-- </el-form-item>--> |
| | | <!-- <el-form-item label="入职时间:" prop="entryTime" v-if="state.title !== '修改密码'" >--> |
| | | <!-- <el-date-picker--> |
| | | <!-- v-model="state.form.entryTime"--> |
| | | <!-- type="date"--> |
| | | <!-- value-format="YYYY-MM-DD"--> |
| | | <!-- placeholder="请选择入职时间"--> |
| | | <!-- />--> |
| | | <!-- </el-form-item>--> |
| | | <!-- <el-form-item label="离职时间:" prop="resignTime" v-if="state.title !== '修改密码'" >--> |
| | | <!-- <el-date-picker--> |
| | | <!-- v-model="state.form.resignTime"--> |
| | | <!-- type="date"--> |
| | | <!-- value-format="YYYY-MM-DD"--> |
| | | <!-- placeholder="请选择离职时间"--> |
| | | <!-- />--> |
| | | <!-- </el-form-item>--> |
| | | <el-form-item label="密码:" prop="password"> |
| | | <el-input v-model.trim="state.form.password" type="password" show-password placeholder="请输入密码"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="重复密码:" prop="confirmPassword" v-if="state.title == '新增' || state.title == '修改密码'"> |
| | | <el-form-item label="重复密码:" prop="confirmPassword"> |
| | | <el-input v-model.trim="state.form.confirmPassword" type="password" show-password placeholder="请输入确认密码"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="手机号:" prop="phone" v-if="state.title !== '修改密码'" > |
| | |
| | | remote |
| | | @change="selectValue" |
| | | reserve-keyword |
| | | placeholder="请输入企业名称" |
| | | placeholder="请输入单位名称" |
| | | remote-show-suffix |
| | | :remote-method="getCompanyList" |
| | | :loading="loading" |
| | |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="职务:" prop="duty" v-if="state.title !== '修改密码' && state.form.userType !== 0"> |
| | | <el-form-item label="职务:" v-if="state.title !== '修改密码' && state.form.userType !== 0"> |
| | | <el-input v-model.trim="state.form.duty" :disabled="disabled" placeholder="请输入职务"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="专业:" prop="post" v-if="state.title !== '修改密码' && state.form.userType !== 0"> |
| | |
| | | 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() |
| | |
| | | |
| | | |
| | | const equalToPassword = (rule, value, callback) => { |
| | | if (state.form.password !== value) { |
| | | callback(new Error("两次输入的密码不一致")); |
| | | } else { |
| | | if(state.title == '修改密码' || state.form.password !== ''){ |
| | | if (state.form.password !== value) { |
| | | callback(new Error("两次输入的密码不一致")); |
| | | } else { |
| | | callback(); |
| | | } |
| | | }else{ |
| | | callback(); |
| | | } |
| | | }; |
| | |
| | | } |
| | | |
| | | let validatePwd = (rule, value, callback)=>{ |
| | | if(value === ''){ |
| | | callback(new Error('请输入密码')) |
| | | }else{ |
| | | if(!verifyPwd(value)){ |
| | | callback(new Error('密码须包含字母、数字、特殊字符,长度在6-16之间')) |
| | | if(state.title == '修改密码'){ |
| | | if(value === ''){ |
| | | callback(new Error('请输入密码')) |
| | | }else{ |
| | | callback() |
| | | if(!verifyPwd(value)){ |
| | | callback(new Error('密码须包含字母、数字、特殊字符,长度在6-16之间')) |
| | | }else{ |
| | | callback() |
| | | } |
| | | } |
| | | }else{ |
| | | callback(); |
| | | } |
| | | |
| | | } |
| | | const startUsername = ref(''); |
| | | const validateUsername = (rule, value, callback)=>{ |
| | |
| | | post: '', |
| | | age: null, |
| | | personType: null, |
| | | internal: null, |
| | | qualification: null, |
| | | positional: '', |
| | | roles: [] |
| | | }, |
| | |
| | | entryTime: [{ required: true, message: '请选择入职时间', trigger: 'blur' }], |
| | | age: [{ required: true, message: '请输入年龄', trigger: 'blur' }], |
| | | personType: [{ required: true, message: '请选择人员类别', trigger: 'blur' }], |
| | | internal: [{ 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, |
| | |
| | | // } |
| | | } |
| | | 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 |
| | |
| | | } |
| | | 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) |
| | |
| | | companyName: data.companyName, |
| | | age: data.age, |
| | | personType: data.personType, |
| | | internal: data.internal, |
| | | qualification: data.qualification, |
| | | positional: data.positional, |
| | | roles: data.roles |
| | | } |
| | |
| | | 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) |
| | | } |
| | |
| | | post: '', |
| | | age: null, |
| | | personType: null, |
| | | internal: null, |
| | | qualification: null, |
| | | positional: '', |
| | | roles: [] |
| | | } |