祖安之光
10 天以前 7df5ffa1db94e3225bd16ef2d0d8ef0e02084951
src/views/build/conpanyFunctionConsult/staffManage/staffRegister/components/staffDialog.vue
文件名从 src/views/build/conpanyFunctionConsult/peopleManage/user/components/userDialog.vue 修改
@@ -21,6 +21,17 @@
            <el-radio :label="1">女</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="请选择入职时间"
          />
        </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>
@@ -92,6 +103,29 @@
        </el-form-item>
        <el-form-item label="部门:" prop="deptId" v-if="state.title !== '修改密码'">
          <el-select
              clearable
              v-model="state.form.deptId"
              filterable
              :disabled="disabled"
              placeholder="请选择部门"
              style="width: 100%"
          >
            <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 !== '修改密码'" >
          <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 !== '修改密码'" >
          <el-input v-model.trim="state.form.post" :disabled="disabled" placeholder="请输入专业"></el-input>
        </el-form-item>
        <el-form-item label="所属上级账号:" prop="companyName" v-if="showChild">
          <scorllSelect
              :disabled="disabled || state.title =='编辑'"
@@ -133,7 +167,7 @@
import {getUser} from "@/api/onlineEducation/user";
import {debounce} from "@/utils";
import Cookies from "js-cookie";
import {getDepart} from "@/api/orgStructure/depart";
const emit = defineEmits(["getList"]);
const dialogVisible = ref(false)
const superRef = ref(null)
@@ -216,23 +250,33 @@
    userType: null,
    sex: 0,
    companyId: null,
    parentId: null
    companyName: '',
    parentId: null,
    entryTime: '',
    idCard: '',
    deptId: null,
    duty: '',
    post: ''
  },
  formRules:{
    name: [{ required: true, message: '请输入公司、部门或者车间岗位名称', trigger: 'blur' }],
    companyName: [{ required: true, message: '请选择上级企业', trigger: 'blur' }],
    companyName: [{ required: true, message: '请选择所在企业', trigger: 'blur' }],
    deptId: [{ required: true, message: '请选择部门', trigger: 'blur' }],
    username: [{ required: true, trigger: "blur", validator: validateUsername }],
    password: [{ required: true, validator: validatePwd, trigger: 'blur' }],
    confirmPassword: [{ required: true, validator: equalToPassword, trigger: 'blur' }],
    phone: [{ required: true, validator: validateUserPhone, trigger: 'blur' }],
    userType: [{ required: true, message: '请选择用户类型', trigger: 'blur' }],
    idCard: [{ required: true, message: '请输入身份证号', trigger: 'blur' }],
    entryTime: [{ required: true, message: '请选择入职时间', trigger: 'blur' }],
    duty: [{ required: true, message: '请输入职务', trigger: 'blur' }],
    post: [{ required: true, message: '请输入专业', trigger: 'blur' }],
  },
  companyList: [],
  userList: [
  ],
  keyword:'',
  pageNum: 1,
  pageSize: 10,
  cloading:false,
@@ -251,17 +295,18 @@
const showChild = ref(false)
const disabled = ref(false);
const userInfo = ref()
const openDialog = async (type, value) => {
const openDialog = async (type, value, companyId) => {
  userInfo.value = JSON.parse(Cookies.get('userInfo'))
  console.log("userInfo",userInfo.value)
  state.currentUserType = userInfo.value.userType
  if(state.currentUserType === 0){
    state.isAdmin = true;
    state.form.companyId = companyId;
  }else {
    state.isAdmin = false;
    state.form.companyId = userInfo.value.companyId;
    state.form.companyName = userInfo.value.companyName;
  }
  await getdeptList(userInfo.value.companyId)
  if(type !== 'view' && type !== 'pwd'){
    // if(state.isAdmin){
@@ -272,7 +317,9 @@
  if(type === 'edit' || type === 'view') {
    startUsername.value = value.username
    if( type === 'view'){
      disabled.value = true;
      disabled.value = true
    }else{
      disabled.value = false
    }
    const res = await getUserById(value.id);
    if(res.code === 200){
@@ -361,6 +408,21 @@
  //   console.log("state.companyList",state.companyList)
  // }
}
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 onSubmit = async () => {
  const valid = await superRef.value.validate();
  if(valid){
@@ -389,11 +451,15 @@
        phone: data.phone,
        id:data.id,
        companyId: data.companyId,
        deptId: data.deptId,
        userType:data.userType,
        username:data.username,
        password: data.password,
        parentId: data.parentId
        parentId: data.parentId,
        idCard: data.idCard,
        entryTime: data.entryTime,
        duty: data.duty,
        post: data.post
      }
      const res = await editUser(param)
@@ -532,6 +598,7 @@
      state.form.companyId = item.id
    }
  })
  getdeptList(state.form.companyId)
}
const getSelectUser = (val) => {
  console.log("valllllllll",val)