|
|
@@ -2009,19 +2009,32 @@ const getWorkloadDropdownListForTask = (task: any) => {
|
|
|
// 从workloadMap中获取当前任务井号的工作量数据
|
|
|
const workloadItems = workloadMap.value.get(task.wellName) || [];
|
|
|
|
|
|
- // 将工作量数据转换为dropdownList格式
|
|
|
- workloadItems.forEach(item => {
|
|
|
- if (item.workloadUnit && item.workloadDesign) {
|
|
|
- // 获取工作量单位的标签
|
|
|
+ if (workloadItems.length > 0) {
|
|
|
+ // 如果workloadMap中有数据,使用workloadMap的数据
|
|
|
+ workloadItems.forEach(item => {
|
|
|
+ if (item.workloadUnit && item.workloadDesign) {
|
|
|
+ // 获取工作量单位的标签
|
|
|
+ const unitOptions = getStrDictOptions(DICT_TYPE.PMS_PROJECT_WORKLOAD_UNIT);
|
|
|
+ const unitLabel = unitOptions.find(opt => opt.value === item.workloadUnit)?.label || item.workloadUnit;
|
|
|
+
|
|
|
+ dropdownList.push({
|
|
|
+ name: unitLabel, // 工作量单位名称
|
|
|
+ value: item.workloadDesign // 工作量值
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ // 【新增】如果workloadMap中没有数据,使用任务本身的工作量数据(直接从表格行中填写的数据)
|
|
|
+ if (task.workloadUnit && task.workloadDesign) {
|
|
|
const unitOptions = getStrDictOptions(DICT_TYPE.PMS_PROJECT_WORKLOAD_UNIT);
|
|
|
- const unitLabel = unitOptions.find(opt => opt.value === item.workloadUnit)?.label || item.workloadUnit;
|
|
|
+ const unitLabel = unitOptions.find(opt => opt.value === task.workloadUnit)?.label || task.workloadUnit;
|
|
|
|
|
|
dropdownList.push({
|
|
|
- name: unitLabel, // 工作量单位名称
|
|
|
- value: item.workloadDesign // 工作量值
|
|
|
+ name: unitLabel,
|
|
|
+ value: task.workloadDesign
|
|
|
});
|
|
|
}
|
|
|
- });
|
|
|
+ }
|
|
|
|
|
|
return dropdownList;
|
|
|
};
|
|
|
@@ -2144,6 +2157,20 @@ const submitForm = async () => {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
+ // 在同步任务前,确保平台井关联井的工作量数据正确设置
|
|
|
+ if (currentTask.value.platformWell === '1') {
|
|
|
+ currentTask.value.platformWellDetails.forEach(detail => {
|
|
|
+ // 如果该关联井在workloadMap中没有数据,但表格行中有工作量数据,则设置到workloadMap中
|
|
|
+ if (detail.wellName && !workloadMap.value.has(detail.wellName) &&
|
|
|
+ detail.workloadUnit && detail.workloadDesign) {
|
|
|
+ workloadMap.value.set(detail.wellName, [{
|
|
|
+ workloadUnit: detail.workloadUnit,
|
|
|
+ workloadDesign: detail.workloadDesign
|
|
|
+ }]);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
// 先同步当前任务表单数据到表格
|
|
|
if (!syncCurrentTaskToTable()) {
|
|
|
return;
|