Jelajahi Sumber

单位组默认单位值设置

lichunyang 1 bulan lalu
induk
melakukan
d70d99f44c

+ 30 - 15
src/components/PersonUnitDialog.vue

@@ -206,22 +206,35 @@ watch(
 
 // 根据单位系统查看单位
 const fetchUnitsForRow = async (row) => {
+  // 检查缓存中是否已有该 gutId 的单位数据
+  if (unitOptionsCache.value[row.gutId]) {
+    row.unitOptions = unitOptionsCache.value[row.gutId];
+    // 如果当前行未选择单位,设置为第一个选项
+    if (!row.selectedUnitId && row.unitOptions.length > 0) {
+      row.selectedUnitId = row.unitOptions[0].value;
+    }
+    return;
+  }
+
   const params = {
     transCode: 'ES0019',
     gutId: row.gutId
-  }
+  };
   try {
-    const res = await request(params)
-    row.unitOptions = res.rows || []
-    // 如果当前行没有选中值,设置为第一个选项
-    if (!row.selectedUnitId && res.rows.length > 0) {
-      row.selectedUnitId = res.rows[0].value
+    const res = await request(params);
+    // 将获取的单位数据存入缓存和当前行
+    row.unitOptions = res.rows || [];
+    unitOptionsCache.value[row.gutId] = row.unitOptions;
+    // 如果当前行未选择单位,设置为第一个选项
+    if (!row.selectedUnitId && row.unitOptions.length > 0) {
+      row.selectedUnitId = row.unitOptions[0].value;
     }
   } catch (err) {
-    ElMessage.error(err.returnMsg || t('error.fetchFailed'))
-    row.unitOptions = []
+    ElMessage.error(err.returnMsg || t('error.fetchFailed'));
+    row.unitOptions = [];
+    unitOptionsCache.value[row.gutId] = []; // 缓存空结果,避免重复请求
   }
-}
+};
 
 // 保存选中的单位
 const saveSelectedUnit = async (row) => {
@@ -229,20 +242,22 @@ const saveSelectedUnit = async (row) => {
     const selectedUnit = row.unitOptions.find(unit => unit.value === row.selectedUnitId)
     console.log('Saving selected unitvvvvvvvv:', selectedUnit);
     console.log('Row datadddddd:', row);
+    console.log("selectedGroupId.value  sutId", selectedGroupId.value);
+    
     
     
     const params = {
       transCode: 'ES0022', // 假设保存接口的 transCode
       gutId: row.gutId,
-      utId: selectedUnit?.utId || '',
-      sutId: '',
-      gsutId: '',
-      value: row.selectedUnitId
+      utId: selectedUnit.utId || '',
+      sutId: selectedGroupId.value || '',
+      gsutId: row.gsutId || '',
+      value: selectedUnit.value
     }
     const res = await request(params)
-    ElMessage.success(t('message.saveSuccess'))
+    ElMessage.success(t('message.settingSuccess'))
   } catch (err) {
-    ElMessage.error(err.returnMsg || t('message.saveFailed'))
+    ElMessage.error(err.returnMsg || t('message.settingFailed'))
   }
 }
 

+ 9 - 3
src/locales/en.json

@@ -9,7 +9,9 @@
     "logoutSuccess": "Logout successful",
     "oneSelection": "Please select one item",
     "saveSuccess": "Save successful",
-    "saveFailed": "Save failed"
+    "saveFailed": "Save failed",
+    "settingSuccess": "Settings saved successfully",
+    "settingFailed": "Settings save failed"
   },
   "common": {
     "tip": "Tip",
@@ -105,7 +107,7 @@
     "system": "System",
     "systemSetup": "System Setup",
     "systemUnitView": "System Unit View",
-    "personUnitView": "Person Unit View",
+    "personUnitSetting": "Person Unit Setting",
     "selectUnitGroup": "Select Unit Group",
     "number": "Number",
     "chineseName": "Chinese Name",
@@ -115,8 +117,12 @@
     "offset": "Offset",
     "unit": "Unit",
     "unitSystem": "Unit Group System",
+    "unitGroupSettings": "Unit Group Setting",
     "createNewUnitSystem": "This operation will create a new unit system:",
     "chineseNameRequired": "Chinese name is required",
-    "englishNameRequired": "English name is required"
+    "englishNameRequired": "English name is required",
+    "addUnitGroup": "Add Unit Group",
+    "editUnitGroup": "Edit Unit Group",
+    "deleteUnitGroup": "Delete Unit Group"
   }
 }

+ 9 - 3
src/locales/zh-CN.json

@@ -9,7 +9,9 @@
     "logoutSuccess": "退出登录成功",
     "oneSelection": "请选择一个项目",
     "saveSuccess": "保存成功",
-    "saveFailed": "保存失败"
+    "saveFailed": "保存失败",
+    "settingSuccess": "设置成功",
+    "settingFailed": "设置失败"
   },
   "common": {
     "tip": "提示",
@@ -105,7 +107,7 @@
     "system": "系统",
     "systemSetup": "系统设置",
     "systemUnitView": "单位系统查看",
-    "personUnitView": "个人单位查看",
+    "personUnitSetting": "个人单位设置",
     "selectUnitGroup": "选择单位组",
     "number": "Number",
     "chineseName": "中文名称",
@@ -117,7 +119,11 @@
     "unitSystem": "单位组系统",
     "createNewUnitSystem": "该操作将创建一个新的单位系统:",
     "chineseNameRequired": "中文名称不能为空",
-    "englishNameRequired": "英文名称不能为空"
+    "englishNameRequired": "英文名称不能为空",
+    "unitGroupSettings": "单位组设置",
+    "addUnitGroup": "添加单位组",
+    "editUnitGroup": "编辑单位组",
+    "deleteUnitGroup": "删除单位组"
 
   }
 

+ 2 - 2
src/views/model/index.vue

@@ -25,7 +25,7 @@
           class="full-height-tabs"
           @tab-click="handleTabclick"
         >
-          <el-tab-pane label="Liberal" name="Liberal">
+          <el-tab-pane label="Library" name="Liberal">
             <el-collapse v-model="colactiveNames">
               <el-collapse-item
                 v-for="item in collapseData"
@@ -279,7 +279,7 @@ const treeData = ref([
     id: "root",
     label: t('treeData.system'),
     children: [
-      { id: "systemSetup", label: t('treeData.systemSetup'),children: [{ id: "systemUnit", label: t('treeData.systemUnitView'), children: [] }, { id: "personUnit", label: t('treeData.personUnitView'), children: [] }]}
+      { id: "systemSetup", label: t('treeData.systemSetup'),children: [{ id: "systemUnit", label: t('treeData.systemUnitView'), children: [] }, { id: "personUnit", label: t('treeData.personUnitSetting'), children: [] }]}
     ],
   },
 ]);