zhouwx
10 小时以前 1ea0d85b0fe2e7e4427fd484a9342d964c831b3d
src/views/hazardousChemicals/systemManage/user/components/userDialog.vue
@@ -34,14 +34,15 @@
        <el-form-item label="用户类型:" v-if="state.title !== '修改密码'" prop="userType" >
          <el-radio-group v-model="state.form.userType" @change="changeType" v-if="state.title == '新增用户'" >
            <el-radio :label="0" v-if="state.isAdmin">管理员</el-radio>
            <el-radio :label="3" v-if="state.isAdmin">监管部门</el-radio>
            <el-radio :label="1" v-if="state.isAdmin">企业用户</el-radio>
            <el-radio :label="2" v-if="!state.isAdmin">普通用户</el-radio>
          </el-radio-group>
          <span v-else>{{state.form.userType ==0 ? '管理员':state.form.userType ==1 ? '企业用户' : '普通用户'}}</span>
          <span v-else>{{state.form.userType ==0 ? '管理员':state.form.userType ==1 ? '企业用户' : state.form.userType ==2?'普通用户':'监管用户'}}</span>
        </el-form-item>
        <el-form-item label="所属企业:" prop="companyName" v-if="state.title !== '修改密码' && state.form.userType !=0">
        <el-form-item label="所属企业:" prop="companyName" v-if="state.title !== '修改密码' && state.form.userType !=0 && state.form.userType !=3">
          <el-select
              v-if="state.isAdmin && state.title != '编辑用户'"
              v-if="state.isAdmin"
              clearable
              v-model="state.form.companyName"
              filterable
@@ -64,9 +65,9 @@
          </el-select>
          <el-input v-else disabled style="width: 100%" v-model="state.form.companyName"></el-input>
        </el-form-item>
        <el-form-item label="所属部门:" prop="departId" v-if="(state.currentUserType == 1 && state.title != '查看用户') || (state.currentUserType == 0 && state.form.userType == 2 && state.title == '编辑用户') ">
        <el-form-item label="所属部门:" prop="departId" v-if="state.form.userType !=3 && state.form.userType !=0 && state.title !== '修改密码'" >
          <el-cascader
              v-if="state.currentUserType == 1 && (state.title == '新增用户' || state.title == '编辑用户')"
              v-if="state.title == '新增用户' || state.title == '编辑用户'"
              style="width: 100%"
              ref="classifyRef"
              v-model="state.form.departId"
@@ -189,7 +190,7 @@
    phone: [{ required: true, validator: validateUserPhone, trigger: 'blur' }],
    userType: [{ required: true, message: '请选择用户类型', trigger: 'blur' }],
    sex: [{ required: true, message: '请选择性别', trigger: 'blur' }],
    departId:[{ required: true, message: '请选择部门', trigger: 'blur' }],
    // departId:[{ required: true, message: '请选择部门', trigger: 'blur' }],
  },
  companyList: [],
  deptList: [],
@@ -218,12 +219,10 @@
const userInfo = ref()
const classifyRef = ref(null)
const openDialog = async (type, value) => {
  userInfo.value = JSON.parse(Cookies.get('userInfo'))
  console.log("userInfo",userInfo.value)
  state.currentUserType = userInfo.value.userType
  if(state.currentUserType == 1){
    await getDeptList()
  }
  if(userInfo.value.userType === 0){
    state.isAdmin = true;
  }else {
@@ -232,7 +231,11 @@
    state.form.companyName = userInfo.value.companyName;
    state.form.userType = 2
  }
  state.title = type === 'add' ? '新增用户' : type ==='edit' ? '编辑用户' : type ==='pwd' ? '修改密码' : '查看用户' ;
  if(state.title !== '修改密码' && (userInfo.value.userType != 0 || (userInfo.value.userType ==0 && (type =='edit' || state.title =='查看用户')))){
    await getDeptList()
  }
  if(type === 'edit' || type === 'view') {
    startUsername.value = value.username
    if( type === 'view'){
@@ -241,7 +244,8 @@
    if(type === 'edit' && state.isAdmin){
      await getCompanyList("")
    }
    state.form = value
    state.form = JSON.parse(JSON.stringify(value));
  }
  if(type == 'pwd'){
    state.form.id = value.id
@@ -283,7 +287,10 @@
const loadingDept = ref(false)
const getDeptList = async (val)=>{
    loadingDept.value = true;
    const res = await getDept()
    const param = {
      companyId: state.form.companyId
    }
    const res = await getDept(param)
    if (res.code == 200) {
      loading.value = false;
      state.deptList = recursion(res.data)
@@ -341,6 +348,8 @@
      data.password = Base64.encode(data.password)
      const res = await editUser(data)
      if(res.code == 200){
        // Cookies.set('userInfo',JSON.stringify(data))
        ElMessage.success(res.message)
        emit('getList')
        handleClose()
@@ -384,12 +393,15 @@
  superRef.value.clearValidate();
  superRef.value.resetFields()
  dialogVisible.value = false;
  emit('getList')
}
const selectValue = (val) => {
const selectValue =  (val) => {
  state.form.departId = null
  state.companyList.forEach(item => {
    if(item.name === val){
      state.form.companyId = item.id
      getDeptList();
    }
  })
}