<template>
|
<div class="notice">
|
<el-dialog
|
v-model="dialogVisible"
|
:title="state.title"
|
width="700px"
|
:before-close="handleClose"
|
:close-on-press-escape="false"
|
:close-on-click-modal="false"
|
>
|
<el-form :model="state.form" size="default" ref="superRef" :rules="state.formRules" label-width="150px" >
|
<el-form-item label="用户名:" prop="username" v-if="state.title == '查看'">
|
<el-input v-model.trim="state.form.username" :disabled="state.title =='上传证书' || state.title =='查看'" placeholder="请输入用户名" ></el-input>
|
</el-form-item>
|
<el-form-item label="姓名:" prop="name" v-if="state.title == '查看'">
|
<el-input v-model.trim="state.form.name" :disabled="disabled" placeholder="请输入姓名"></el-input>
|
</el-form-item>
|
<el-form-item label="性别:" prop="sex" v-if="state.title == '查看'">
|
<el-radio-group v-model="state.form.sex" :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="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%"
|
:disabled="disabled"
|
>
|
<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-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>
|
<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="请选择入职时间"
|
:disabled="disabled"
|
/>
|
</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="请选择离职时间"
|
:disabled="disabled"
|
/>
|
</el-form-item>
|
<el-form-item label="密码:" prop="password" v-if="state.title == '新增' || state.title == '修改密码'">
|
<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-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 == '查看'">
|
<el-input v-model.trim="state.form.phone" :maxlength="11" :disabled="disabled" placeholder="请输入手机号"></el-input>
|
</el-form-item>
|
<el-form-item label="用户类型:" v-if="state.title == '查看'" prop="userType">
|
<el-radio-group v-model="state.form.userType" :disabled="disabled" @change="changeType" v-if="state.title == '新增' || state.title == '上传证书'">
|
<el-radio :label="0" v-if="state.currentUserType == 0">系统管理员</el-radio>
|
<el-radio :label="6" v-if="state.currentUserType == 0 || state.currentUserType == 6 ">企业管理员</el-radio>
|
<el-radio :label="1" v-if="state.currentUserType == 0 || state.currentUserType == 6 || state.currentUserType ==1">企业用户</el-radio>
|
<!-- <el-radio :label="2" v-if="state.currentUserType !== 3">部门级</el-radio>-->
|
<!-- <el-radio :label="3">车间(岗位)级</el-radio>-->
|
<!-- <el-radio :label="4" v-if="state.currentUserType == 0">其他</el-radio>-->
|
</el-radio-group>
|
<span v-else>{{state.currentUserType === 0 ? '系统管理员' : state.currentUserType === 1 ? '企业用户' : state.currentUserType === 6 ? '企业管理员' : state.currentUserType === 2 ? '部门级' : state.currentUserType === 3 ? '车间级' :'其他'}}</span>
|
<!-- <span v-else-if="state.title == '上传证书'">{{state.form.userType === 0 ? '系统管理员' : state.form.userType === 1 ? '企业用户' : state.form.userType === 2 ? '部门级' : state.form.userType === 3 ? '车间级' :'其他'}}</span>-->
|
<!-- <el-radio-group v-model="state.form.userType" :disabled="disabled" @change="changeType" v-else-if="state.title == '上传证书'">-->
|
<!-- <el-radio :label="0" v-if="state.currentUserType == 0">管理员</el-radio>-->
|
<!-- <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="companyName" v-if="state.title == '查看' && state.form.userType !== 0">
|
<el-select
|
clearable
|
v-if="state.isAdmin"
|
v-model="state.form.companyName"
|
filterable
|
:disabled="disabled || (state.title =='上传证书' && state.currentUserType !== 0)"
|
remote
|
@change="selectValue"
|
reserve-keyword
|
placeholder="请输入企业名称"
|
remote-show-suffix
|
:remote-method="getCompanyList"
|
:loading="loading"
|
style="width: 240px"
|
>
|
<el-option
|
v-for="item in state.companyList"
|
:key="item.id"
|
:label="item.name"
|
:value="item.name"
|
/>
|
</el-select>
|
<el-input v-else disabled style="width: 45%" v-model="state.form.companyName"></el-input>
|
<!-- <el-select-->
|
<!-- v-if="state.isAdmin"-->
|
<!-- v-model="state.form.companyName"-->
|
<!-- @change="selectValue"-->
|
<!-- style="width: 45%"-->
|
<!-- v-loadMore="loadMore"-->
|
<!-- class="m-2"-->
|
<!-- placeholder="请选择所属企业"-->
|
<!-- popper-class="more_select_dropdown"-->
|
<!-- >-->
|
<!-- <el-option-->
|
<!-- v-for="item in state.companyList"-->
|
<!-- :key="item.id"-->
|
<!-- :label="item.name"-->
|
<!-- :value="item.name"-->
|
<!-- />-->
|
<!-- </el-select>-->
|
|
|
</el-form-item>
|
<!-- <el-form-item label="所属上级账号:" prop="companyName" v-if="state.form.userType == 3">-->
|
<!-- <scorllSelect-->
|
<!-- :disabled="disabled"-->
|
<!-- ref="scrollRef"-->
|
<!-- v-model="state.form.parentName"-->
|
<!-- @getval = "getSelectUser"-->
|
<!-- placeholder="请选择"-->
|
<!-- clearable-->
|
<!-- style="width: 45%;"-->
|
<!-- filterable-->
|
<!-- remote-->
|
<!-- searchKey="username"-->
|
<!-- :methods="getUser">-->
|
<!-- </scorllSelect>-->
|
<!-- </el-form-item>-->
|
<el-form-item label="部门:" prop="deptId" v-if="state.title == '查看' && state.form.userType !== 0">
|
<el-select
|
clearable
|
v-model="state.form.deptId"
|
filterable
|
:disabled="disabled"
|
placeholder="请选择部门"
|
style="width: 100%"
|
@change="getParentId"
|
>
|
<el-option
|
v-for="item in state.deptList"
|
:key="item.deptId"
|
:label="item.deptName"
|
:value="item.deptId"
|
/>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="职务:" prop="duty" 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">
|
<el-input v-model.trim="state.form.post" :disabled="disabled" placeholder="请输入专业"></el-input>
|
</el-form-item>
|
<el-form-item label="角色:" prop="roles" v-if="state.title == '查看'">
|
<el-select
|
clearable
|
v-model="state.form.roles"
|
filterable
|
:disabled="disabled"
|
placeholder="请选择角色"
|
multiple
|
style="width: 100%"
|
>
|
<el-option
|
v-for="item in state.roleList"
|
:key="item.roleId"
|
:label="item.roleName"
|
:value="item.roleId"
|
/>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="人员证书:" prop="operationCertificate" v-if="state.title == '上传证书'">
|
<el-upload accept=".doc,.docx,.pdf,image/*" :action="state.uploadUrl" :headers="state.header" method="post" :on-success="(res, uploadFile)=>handleAvatarSuccess(res, uploadFile)" :on-exceed="showTip" :limit='state.fileLimit' v-model:file-list="state.fileList" :before-upload="picSize" :on-remove="(file, uploadFiles)=>handleRemove(file, uploadFiles)" >
|
<el-button type="primary">点击上传</el-button>
|
<template #tip>
|
<div class="el-upload__tip">支持上传图片、.doc、.docx、pdf格式文档,尺寸小于5M,最多可上传1份</div>
|
</template>
|
</el-upload>
|
</el-form-item>
|
</el-form>
|
<template #footer v-if="state.title !='查看'">
|
<span class="dialog-footer">
|
<el-button @click="handleClose" size="default">取 消</el-button>
|
<el-button type="primary" @click="onSubmit" size="default" v-preReClick>确认</el-button>
|
</span>
|
</template>
|
</el-dialog>
|
</div>
|
</template>
|
<script setup>
|
import {reactive, ref, toRefs, defineEmits, nextTick, onMounted} from 'vue'
|
import { View } from "@element-plus/icons-vue";
|
import scorllSelect from '@/components/scrollSelect/index.vue'
|
import {ElMessage} from "element-plus";
|
import {verifyPhone, verifyPwd, verifyUsername,verifyIdCard} from "@/utils/validate";
|
import { checkUserName, checkPhone } from "@/api/login"
|
import {addUser, editUser, getUserById, resetPwd} from "@/api/onlineEducation/user"
|
import {Base64} from "js-base64"
|
import {resetUserPwd} from "@/api/sysUsers";
|
import {getInstitutionDetail} from "@/api/backManage/insitution";
|
import {getCompany} from "@/api/onlineEducation/company";
|
import {get} from "@vueuse/core";
|
import {getUser} from "@/api/onlineEducation/user";
|
import {debounce} from "@/utils";
|
import Cookies from "js-cookie";
|
import {getDepart} from "@/api/orgStructure/depart";
|
import {getToken} from "@/utils/auth";
|
import {delPic} from "@/api/onlineEducation/banner";
|
import {updateSpecialCertificate} from "@/api/staffManage/staff";
|
const emit = defineEmits(["getList"]);
|
const dialogVisible = ref(false)
|
const superRef = ref()
|
const scrollRef = ref(null)
|
|
|
const equalToPassword = (rule, value, callback) => {
|
if (state.form.password !== value) {
|
callback(new Error("两次输入的密码不一致"));
|
} else {
|
callback();
|
}
|
};
|
|
const validateUserPhone = (rule, value, callback)=>{
|
if(value === ''){
|
callback(new Error('请输入手机号'))
|
}else{
|
if(!verifyPhone(value)){
|
callback(new Error('手机号格式有误'))
|
}else{
|
callback()
|
}
|
}
|
}
|
|
const checkFiles = (rule, value, callback) => {
|
if (state.fileList.length == 0) {
|
callback(new Error('请上传证书文件'))
|
} else {
|
callback()
|
}
|
}
|
|
const verifyId = (rule, value, callback)=>{
|
if(value === ''){
|
callback()
|
}else{
|
if(!verifyIdCard(value)){
|
callback(new Error('身份证号格式有误'))
|
}else{
|
callback()
|
}
|
}
|
}
|
|
let validatePwd = (rule, value, callback)=>{
|
if(value === ''){
|
callback(new Error('请输入密码'))
|
}else{
|
if(!verifyPwd(value)){
|
callback(new Error('密码须包含字母、数字、特殊字符,长度在6-16之间'))
|
}else{
|
callback()
|
}
|
}
|
}
|
const startUsername = ref('');
|
const validateUsername = (rule, value, callback)=>{
|
if(value === ''){
|
callback(new Error('请输入用户名'))
|
}else if(state.title == '上传证书' && value == startUsername.value){
|
callback()
|
}else{
|
if(!verifyUsername(value)){
|
callback(new Error('用户名须使用字母或数字,长度在5-16之间'))
|
}else{
|
let param = {}
|
if(state.title=='新增/注册') {
|
param = {
|
username:value
|
}
|
}else if(state.title=='上传证书'){
|
param = {
|
username:value,
|
id: state.registerForm.id
|
}
|
}
|
callback()
|
// checkUserName(param).then((res)=>{
|
// if(res.data == false){
|
// callback(new Error('用户名已被占用,请更换其他用户名'))
|
// }else{
|
// callback()
|
// }
|
// })
|
}
|
}
|
}
|
|
const state = reactive({
|
title: '',
|
form: {
|
id: null,
|
name: '',
|
phone: '',
|
password: '',
|
confirmPassword: '',
|
username: '',
|
userType: null,
|
sex: 0,
|
companyId: null,
|
companyName: '',
|
parentId: null,
|
entryTime: '',
|
resignTime: '',
|
idCard: '',
|
deptId: null,
|
duty: '',
|
post: '',
|
age: null,
|
personType: null,
|
positional: '',
|
roles: [],
|
operationCertificate: ''
|
},
|
formRules:{
|
name: [{ required: true, message: '请输入姓名', trigger: 'blur' }],
|
companyName: [{ required: true, message: '请选择所在企业', trigger: 'blur' }],
|
// deptId: [{ required: true, message: '请选择部门', trigger: 'blur' }],
|
username: [{ required: true, message: '请选择用户名', trigger: 'blur' }],
|
password: [{ required: true, validator: validatePwd, trigger: 'blur' }],
|
confirmPassword: [{ required: true, validator: equalToPassword, trigger: 'blur' }],
|
phone: [{ validator: validateUserPhone,required: true, trigger: 'blur' }],
|
userType: [{ required: true, message: '请选择用户类型', trigger: 'blur' }],
|
// idCard: [{ validator: verifyId, trigger: 'blur' }],
|
entryTime: [{ required: true, message: '请选择入职时间', trigger: 'blur' }],
|
age: [{ required: true, message: '请输入年龄', trigger: 'blur' }],
|
personType: [{ required: true, message: '请选择人员类别', trigger: 'blur' }],
|
post: [{ required: true, message: '请输入专业', trigger: 'blur' }],
|
positional: [{ required: true, message: '请输入职称', trigger: 'blur' }],
|
roles: [{ required: true, message: '请选择角色', trigger: 'blur' }],
|
operationCertificate: [{ validator: checkFiles,required: true, 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,
|
cloading:false,
|
totlePage: 0,
|
userParam: {},
|
isAdmin: false,
|
currentUserType: null,
|
uploadUrl: import.meta.env.VITE_APP_BASE_API + '/system/common/uploadFile',
|
header: {
|
Authorization: getToken()
|
},
|
fileLimit: 1,
|
fileList: []
|
})
|
const UisMounted = ref(false);
|
onMounted(() => {
|
UisMounted.value = true;
|
|
});
|
const disabled = ref(false);
|
const userInfo = ref()
|
const openDialog = async (type, value, companyId, roleList) => {
|
userInfo.value = JSON.parse(Cookies.get('userInfo'))
|
await getCompanyList()
|
state.currentUserType = userInfo.value.userType
|
state.roleList = roleList
|
if(state.currentUserType === 0){
|
state.isAdmin = true;
|
state.form.companyId = null;
|
}else {
|
state.isAdmin = false;
|
state.form.companyId = userInfo.value.companyId;
|
state.form.companyName = userInfo.value.companyName;
|
}
|
await getdeptList(userInfo.value.companyId)
|
|
state.title = type === 'add' ? '新增' : type ==='edit' ? '上传证书' : type ==='pwd' ? '修改密码' : '查看' ;
|
if(type === 'edit' || type === 'view') {
|
startUsername.value = value.username
|
if( type === 'view'){
|
disabled.value = true
|
}else{
|
disabled.value = false
|
}
|
const res = await getUserById(value.id);
|
if(res.code === 200){
|
state.form = res.data
|
}
|
state.form.roles = value.roles.map(i=>i.roleId)
|
if(value.operationCertificate) {
|
const obj = {
|
url: value.operationCertificate,
|
name: '证书'
|
}
|
state.fileList = [obj]
|
}
|
}
|
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)
|
const loading = ref(false)
|
|
const getCompanyList = async ()=>{
|
const queryParams = {
|
pageNum: 1,
|
pageSize: 999
|
}
|
const res = await getCompany(queryParams)
|
if (res.code == 200) {
|
state.companyList = res.data.list?res.data.list:[]
|
// data.queryParams.companyId = data.companyList[0].id
|
} else {
|
ElMessage.warning(res.message)
|
}
|
}
|
|
const getdeptList = async (companyId)=> {
|
const params = {
|
pageNum: 1,
|
pageSize: 999,
|
companyId: companyId
|
}
|
const res = await getDepart(params)
|
if(res.code == 200){
|
state.deptList = res.data
|
}else{
|
ElMessage.warning(res.message)
|
}
|
}
|
const handleAvatarSuccess = (res, uploadFile) => {
|
if(res.code == 200){
|
state.form.operationCertificate = res.data.path
|
}else{
|
state.fileList = []
|
ElMessage({
|
type: 'warning',
|
message: '文件上传失败'
|
})
|
}
|
}
|
|
const showTip =()=>{
|
ElMessage({
|
type: 'warning',
|
message: '超出文件上传数量'
|
});
|
}
|
const picSize = async (rawFile) => {
|
if(rawFile.size / 1024 / 1024 > 5){
|
ElMessage({
|
type: 'warning',
|
message: '文件大小不能超过5M'
|
});
|
return false
|
}
|
};
|
const handleRemove = async (file, uploadFiles) => {
|
let path = state.form.operationCertificate;
|
await delPic({path: path}).then(res => {
|
if(res.code == 200){
|
// ElMessage({
|
// type: 'success',
|
// message: '文件已删除'
|
// })
|
state.form.operationCertificate = ''
|
}else{
|
ElMessage({
|
type: 'warning',
|
message: res.message
|
})
|
}
|
}).catch(() => {
|
state.form.imgUrl = ''
|
});
|
}
|
const onSubmit = async () => {
|
const valid = await superRef.value.validate();
|
if(valid){
|
if((state.form.userType ===2 ||state.form.userType ===3) && (state.form.parentId ===null ||state.form.companyId===null)){
|
ElMessage.warning('请选择所属父级账号')
|
return;
|
}
|
const {confirmPassword,...data} = JSON.parse(JSON.stringify(state.form))
|
data.password = Base64.encode(data.password)
|
data.roles = data.roles.map((item)=>{
|
return {
|
roleId: item,
|
roleName: state.roleList.find(i=>i.roleId == item)?.roleName
|
}
|
})
|
const param = {
|
// name: data.name,
|
// sex:data.sex,
|
// phone: data.phone,
|
id:data.id,
|
// companyId: data.companyId,
|
// deptId: data.deptId,
|
// userType:data.userType,
|
// username:data.username,
|
// password: data.password,
|
// parentId: data.parentId,
|
// idCard: data.idCard,
|
// entryTime: data.entryTime,
|
// resignTime: data.resignTime,
|
// duty: data.duty,
|
// post: data.post,
|
// companyName: data.companyName,
|
// age: data.age,
|
// personType: data.personType,
|
// positional: data.positional,
|
// roles: data.roles,
|
operationCertificate: data.operationCertificate
|
}
|
|
const res = await updateSpecialCertificate(param)
|
if(res.code == 200){
|
ElMessage.success(res.message)
|
emit('getList')
|
handleClose()
|
}else{
|
ElMessage.warning(res.message)
|
}
|
|
}
|
}
|
const doGetUser = () => {
|
const param = {
|
userType: state.form.userType-1,
|
companyId: state.form.companyId,
|
}
|
scrollRef.value.getList(param,'change');
|
}
|
const changeType = async (val) => {
|
// state.companyList = [];
|
// if(state.isAdmin){
|
// await getCompanyList("")
|
// }
|
// state.form.parentId = null;
|
// state.form.parentName = '';
|
// state.form.companyId = null;
|
// state.form.companyName = '';
|
//当前是管理员级用户
|
|
if(state.form.userType === 0){
|
state.form.deptId = null;
|
state.form.parentId = null;
|
state.form.companyId = null;
|
state.form.companyName = '';
|
state.form.duty = ''
|
state.form.post = ''
|
}
|
|
//当前是企业级/其他用户选择部门
|
// if((state.currentUserType === 1 && state.form.userType === 2) || (state.currentUserType === 4 && state.form.userType === 2) || (state.currentUserType === 6 && state.form.userType === 2)){
|
// state.form.parentId = userInfo.value.id;
|
// state.form.companyName = userInfo.value.companyName
|
// state.form.companyId = userInfo.value.companyId;
|
// showChild.value = false;
|
// // showCompany.value = true;
|
//
|
// } else if((state.currentUserType === 1 && state.form.userType === 3) || (state.currentUserType === 4 && state.form.userType === 3)|| (state.currentUserType === 6 && state.form.userType === 3)){
|
// state.form.companyName = userInfo.value.companyName
|
// state.form.companyId = userInfo.value.companyId;
|
// // showCompany.value = true;
|
// showChild.value = true;
|
// const param = {
|
// userType: 2,
|
// companyId: state.form.companyId,
|
// }
|
// nextTick(() => {
|
// scrollRef.value.getList(param,'change');
|
// })
|
// }
|
// //当前是部门级选择车间
|
// if((state.currentUserType === 2 && state.form.userType === 3)){
|
// state.form.parentId = userInfo.value.id;
|
// state.form.companyName = userInfo.value.companyName
|
// state.form.companyId = userInfo.value.companyId;
|
// // showCompany.value = true;
|
// showChild.value = false;
|
// }
|
}
|
|
const handleClose = () => {
|
state.form = {
|
id: null,
|
name: '',
|
phone: '',
|
password: '',
|
confirmPassword: '',
|
username: '',
|
userType: null,
|
sex: 0,
|
companyId: null,
|
companyName: '',
|
parentId: null,
|
entryTime: '',
|
resignTime: '',
|
idCard: '',
|
deptId: null,
|
duty: '',
|
post: '',
|
age: null,
|
personType: null,
|
positional: '',
|
roles: [],
|
operationCertificate: ''
|
}
|
state.userList = [];
|
state.companyList = [];
|
state.fileList = []
|
state.pageNum = 1;
|
state.pageSize = 10;
|
superRef.value.clearValidate();
|
superRef.value.resetFields()
|
dialogVisible.value = false;
|
}
|
// //触底函数
|
// const loadMore = () => {
|
// console.log(' 触底了');
|
// // 防抖处理
|
// setTimeout(() => {
|
// if (finshed.value) return //值为true,则代表没有数据了
|
// state.pageNum += 1
|
// getCompanyList('')
|
// }, 500)
|
// }
|
|
const selectValue = (val) => {
|
state.form.parentId = null;
|
state.companyList.forEach(item => {
|
if(item.name === val){
|
state.form.companyId = item.id
|
}
|
})
|
getdeptList(state.form.companyId)
|
}
|
|
const getParentId = (val)=>{
|
state.form.parentId = null;
|
state.deptList.forEach(item => {
|
if(item.deptId === val){
|
state.form.deptId = item.deptId
|
state.form.parentId = item.parentId
|
}
|
})
|
}
|
const getSelectUser = (val) => {
|
state.form.parentId = val;
|
}
|
|
defineExpose({
|
openDialog
|
});
|
|
</script>
|
|
<style scoped lang="scss">
|
.notice{
|
:deep(.el-form .el-form-item__label) {
|
font-size: 15px;
|
}
|
.file {
|
display: flex;
|
flex-direction: column;
|
align-items: flex-start;
|
}
|
}
|
</style>
|