祖安之光
2 天以前 85e935b85bbae57e4ec1fab28d7027b867998ec2
修改新增
已修改3个文件
79 ■■■■ 文件已修改
src/views/build/conpanyFunctionConsult/staffManage/staffRegister/components/staffDialog.vue 53 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/build/conpanyFunctionConsult/staffManage/staffRegister/index.vue 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/menuPage.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/build/conpanyFunctionConsult/staffManage/staffRegister/components/staffDialog.vue
@@ -164,6 +164,24 @@
        <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>
      <template #footer v-if="state.title !='查看'">
        <span class="dialog-footer">
@@ -295,7 +313,8 @@
    post: '',
    age: null,
    personType: null,
    positional: ''
    positional: '',
    roles: []
  },
  formRules:{
    name: [{ required: true, message: '请输入姓名', trigger: 'blur' }],
@@ -310,10 +329,12 @@
    entryTime: [{ required: true, message: '请选择入职时间', trigger: 'blur' }],
    age: [{ required: true, message: '请输入年龄', trigger: 'blur' }],
    personType: [{ required: true, message: '请选择人员类别', trigger: 'blur' }],
    positional: [{ required: true, message: '请输入职称', trigger: 'blur' }]
    positional: [{ required: true, message: '请输入职称', trigger: 'blur' }],
    roles: [{ required: true, message: '请选择角色', trigger: 'blur' }]
  },
  companyList: [],
  userList: [],
  roleList: [],
  keyword:'',
  pageNum: 1,
  pageSize: 10,
@@ -331,10 +352,11 @@
});
const disabled = ref(false);
const userInfo = ref()
const openDialog = async (type, value, companyId) => {
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;
@@ -362,6 +384,7 @@
    if(res.code === 200){
      state.form = res.data
    }
    state.form.roles = value.roles.map(i=>i.roleId)
  }
  if(type == 'pwd'){
    state.form.id = value.id
@@ -413,8 +436,14 @@
      return;
    }
    if(state.title == '新增'){
      const {confirmPassword,id,...data} = state.form
      const {confirmPassword,id,...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 res = await addUser(data)
      if(res.code == 200){
        ElMessage.success(res.message)
@@ -422,11 +451,18 @@
        handleClose()
        dialogVisible.value = false;
      }else{
        ElMessage.warning(res.message)
      }
    }else if(state.title == '编辑'){
      const {confirmPassword,...data} = state.form
      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,
@@ -446,7 +482,8 @@
        companyName: data.companyName,
        age: data.age,
        personType: data.personType,
        positional: data.positional
        positional: data.positional,
        roles: data.roles
      }
      const res = await editUser(param)
@@ -551,7 +588,8 @@
    post: '',
    age: null,
    personType: null,
    positional: ''
    positional: '',
    roles: []
  }
  state.userList = [];
  state.companyList = [];
@@ -592,7 +630,6 @@
  })
}
const getSelectUser = (val) => {
  console.log("valllllllll",val)
  state.form.parentId = val;
}
src/views/build/conpanyFunctionConsult/staffManage/staffRegister/index.vue
@@ -78,6 +78,11 @@
      <el-table-column label="联系方式" prop="phone" align="center"/>
      <el-table-column label="专业" prop="post" align="center"/>
      <el-table-column label="用户类型" prop="userTypeName" align="center"/>
      <el-table-column label="角色" prop="userTypeName" align="center">
        <template #default="scope">
          {{ scope.row.roles?.map(i=>i.roleName).join('、') }}
        </template>
      </el-table-column>
      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" >
        <template #default="scope">
          <el-button link type="primary" @click="openDialog('view',scope.row)">查看</el-button>
@@ -107,6 +112,7 @@
import {delUser, getUser} from "@/api/onlineEducation/user";
import Cookies from "js-cookie";
import useUserStore from "@/store/modules/user";
import {listRole} from "@/api/system/role";
const userStore = useUserStore()
const { proxy } = getCurrentInstance();
@@ -124,6 +130,7 @@
  dataList: [],
  isAdmin: false,
  companyList: [],
  roleList: [],
  expertData: [],
  userTypeList: [
    {
@@ -173,6 +180,7 @@
    data.queryParams.companyId = userStore.companyId
  }
  await getList()
  await getRoleList()
})
onUnmounted(()=>{
@@ -196,6 +204,18 @@
  }
  loading.value = false
  await getAllList()
}
const getRoleList = () => {
  listRole(proxy.addDateRange({
    pageNum: 1,
    pageSize: 999,
    roleName: undefined,
    roleKey: undefined,
    status: undefined
  }, [])).then(response => {
    data.roleList = response.data.list
  });
}
const getCompanyList = async ()=>{
@@ -239,7 +259,7 @@
    ElMessage.warning('非管理员身份不可操作')
    return;
  }
  dialogRef.value.openDialog(type, value, data.queryParams.companyId);
  dialogRef.value.openDialog(type, value, data.queryParams.companyId,data.roleList);
}
/** 重置新增的表单以及其他数据  */
src/views/menuPage.vue
@@ -51,7 +51,7 @@
        </div>
      </div>
    </div>
    <user-dialog ref="reviewRef" ></user-dialog>
    <user-dialog ref="reviewRef"></user-dialog>
  </div>
</template>
@@ -407,4 +407,4 @@
.system-card:hover p {
  transform: translateZ(20px);
}
</style>
</style>