From 7e22b0940b987546f1db06ae8ff12ef0657f7b09 Mon Sep 17 00:00:00 2001 From: wujingjing <gersonwu@qq.com> Date: 星期一, 18 十一月 2024 11:09:06 +0800 Subject: [PATCH] 修改建议 --- src/views/project/yw/systemManage/userMgr/optDlg/OptDlg.vue | 14 ++++++++------ src/views/project/yw/systemManage/userMgr/optDlg/OptSampleDrawer.vue | 10 +++++++++- src/views/project/yw/systemManage/userMgr/UserMgr.vue | 33 ++++++++++++++++++++++++++------- 3 files changed, 43 insertions(+), 14 deletions(-) diff --git a/src/views/project/yw/systemManage/userMgr/UserMgr.vue b/src/views/project/yw/systemManage/userMgr/UserMgr.vue index 7283453..e4afa11 100644 --- a/src/views/project/yw/systemManage/userMgr/UserMgr.vue +++ b/src/views/project/yw/systemManage/userMgr/UserMgr.vue @@ -32,7 +32,12 @@ }}</el-tag> </template> </el-table-column> - <el-table-column label="閮ㄩ棬" prop="part_name" width="100" show-overflow-tooltip> </el-table-column> + <el-table-column label="閮ㄩ棬" prop="part_id" width="100" show-overflow-tooltip> + <template #default="scope"> + {{ departmentMap[scope.row.part_id]?.name }} + </template> + + </el-table-column> <el-table-column label="鎵嬫満鍙�" prop="phone" width="120" show-overflow-tooltip> </el-table-column> <el-table-column label="閭欢" prop="email" width="190" show-overflow-tooltip> </el-table-column> @@ -73,15 +78,15 @@ </div> </template> - <OptDlg v-model="optDlgIsShow" :item="optDlgMapRow" @insert="insertOpt" @update="updateOpt" :roleList="roleList"></OptDlg> + <OptDlg v-model="optDlgIsShow" :item="optDlgMapRow" @insert="insertOpt" @update="updateOpt" :roleList="roleList" :departmentList="departmentList"></OptDlg> <OptPasswordDlg v-model="optPasswordDlgIsShow" :item="optPasswordDlgMapRow" @update="updatePasswordOpt" :roleList="roleList" ></OptPasswordDlg> - <OptRoleDlg v-model="optRoleDlgIsShow" :item="optRoleDlgMapRow" @update="updateRoleOpt" :roleList="roleList"></OptRoleDlg> - <OptSampleDrawer v-model:isShow="sampleDrawerIsShow" :user="sampleMapUser" /> + <OptRoleDlg v-model="optRoleDlgIsShow" :item="optRoleDlgMapRow" @update="updateRoleOpt" :roleList="roleList" ></OptRoleDlg> + <OptSampleDrawer v-model:isShow="sampleDrawerIsShow" :user="sampleMapUser"/> <!-- <MetricPrompt v-model="infoDlgIsShow" :metricItem="infoDlgMapRow"></MetricPrompt> <MetricName v-model="metricNameIsShow" :metricItem="metricNameMapRow"></MetricName> --> </HMContainer> @@ -101,11 +106,12 @@ import * as userApi from '/@/api/auth/user'; -import { getRoleInfoListByPost } from '/@/api/auth/role'; -import HMContainer from '/@/components/layout/HMContainer.vue'; -import { ElMessageBox, ElMessage } from 'element-plus'; +import { ElMessage, ElMessageBox } from 'element-plus'; import { computed } from 'vue'; import OptSampleDrawer from './optDlg/OptSampleDrawer.vue'; +import { getRoleInfoListByPost } from '/@/api/auth/role'; +import HMContainer from '/@/components/layout/HMContainer.vue'; +import { get_department_list } from '/@/api/department'; //#region ====================== 琛ㄦ牸鏁版嵁锛宼able init ====================== const tableLoading = ref(false); const tableData = ref([]); @@ -251,8 +257,21 @@ sampleMapUser.value = row; }; //#endregion + +//#region ====================== 鑾峰彇涓嶄箞鍒楄〃 ====================== + +const departmentList = ref([]); +const getDepartmentList = async () => { + const res = await get_department_list(); + departmentList.value = res?.values ?? []; +}; +const departmentMap = computed(() => getItemMap(departmentList.value, 'id')); + + +//#endregion onMounted(async () => { await getRoleList(); + await getDepartmentList(); getTableData(); }); diff --git a/src/views/project/yw/systemManage/userMgr/optDlg/OptDlg.vue b/src/views/project/yw/systemManage/userMgr/optDlg/OptDlg.vue index bb6503c..0a73217 100644 --- a/src/views/project/yw/systemManage/userMgr/optDlg/OptDlg.vue +++ b/src/views/project/yw/systemManage/userMgr/optDlg/OptDlg.vue @@ -37,8 +37,10 @@ </el-form-item> </el-col> <el-col :span="12" class="mb20"> - <el-form-item label="閮ㄩ棬" prop="part" label-width="54"> - <el-input v-model="dialogFormValue.part"></el-input> + <el-form-item label="閮ㄩ棬" prop="part_id" label-width="54"> + <el-select v-model="dialogFormValue.part_id"> + <el-option v-for="item in departmentList" :key="item.id" :value="item.id" :label="item?.name"></el-option> + </el-select> </el-form-item> </el-col> <el-col :span="12" class="mb20" @@ -87,7 +89,7 @@ import * as userApi from '/@/api/auth/user'; import { formatDate } from '/@/utils/formatTime'; -const props = defineProps(['item', 'roleList']); +const props = defineProps(['item', 'roleList', 'departmentList']); const emit = defineEmits(['update', 'insert']); //#region ====================== 澧炲姞銆佷慨鏀硅褰曟搷浣�, dialog init====================== const isEditDialog = ref(false); @@ -119,8 +121,8 @@ const openOperateDialog = (row?) => { if (row) { isEditDialog.value = true; - const { user_id, phone, real_name, part, sex, email, note } = row; - dialogFormValue.value = deepClone({ user_id, phone, real_name, part, sex, email, note }); + const { user_id, phone, real_name, part_id, sex, email, note } = row; + dialogFormValue.value = deepClone({ user_id, phone, real_name, part_id, sex, email, note }); } else { isEditDialog.value = false; @@ -130,7 +132,7 @@ confirmPassword: '', phone: null, real_name: null, - part: null, + part_id: null, sex: null, email: null, note: null, diff --git a/src/views/project/yw/systemManage/userMgr/optDlg/OptSampleDrawer.vue b/src/views/project/yw/systemManage/userMgr/optDlg/OptSampleDrawer.vue index 844353a..31c1855 100644 --- a/src/views/project/yw/systemManage/userMgr/optDlg/OptSampleDrawer.vue +++ b/src/views/project/yw/systemManage/userMgr/optDlg/OptSampleDrawer.vue @@ -9,7 +9,7 @@ </div> </template> <div class="flex-column h-full"> - <div class="flex-0"> + <div class="flex-0 flex-col flex"> <el-form :inline="true" :model="queryParams"> <el-form-item label="鏍囬" prop="title"> <el-input v-model="queryParams.title" style="width: 226.4px" placeholder="鏍囬" clearable @input="debounceQueryTable" /> @@ -36,6 +36,7 @@ </el-tree-select> </el-form-item> </el-form> + <span class="mt-[-12px] mb-[12px]">鍏辨湁 {{ displayTableData.length }} 鏉℃暟鎹�</span> </div> <el-table class="flex-auto" @@ -46,6 +47,12 @@ :data="displayTableData" style="width: 100%" > + <el-table-column label="搴忓彿" fixed="left" width="55" show-overflow-tooltip> + <template #default="scope"> + {{ scope.$index + 1 }} + </template> + </el-table-column> + <el-table-column prop="title" label="鏍囬" fixed="left" show-overflow-tooltip /> <el-table-column prop="question" label="闂" show-overflow-tooltip /> </el-table> @@ -152,5 +159,6 @@ ); //#endregion + </script> <style scoped lang="scss"></style> -- Gitblit v1.9.3