|
@@ -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'))
|
|
|
}
|
|
|
}
|
|
|
|