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