Просмотр исходного кода

Merge branch 'dev-bxy' into 'dev'

fix: 修改编辑申领计划传参

See merge request product-group-fe/sfy-safety-group/sfy-safety!293
毕欣怡 4 месяцев назад
Родитель
Сommit
2ff76abd1b

+ 7 - 19
src/views/emergency/emergency-supplies/PageSupplyRequest.vue

@@ -45,14 +45,10 @@
               <template v-if="scope.row.status === SUPPLY_REQUEST_STATUS.APPLYING">
                 <ActionButton
                   text="发起采购"
-                  @click="handleStartPurchase(scope.row.id, scope.row.purchaseDate)"
+                  @click="handleStartPurchase(scope.row)"
                   v-if="supplyRequestManagePermission && scope.row.totalPrice > 0"
                 />
-                <ActionButton
-                  text="编辑"
-                  @click="handleEdit(scope.row.id, scope.row.planName, scope.row.purchaseDate)"
-                  v-if="supplyRequestManagePermission"
-                />
+                <ActionButton text="编辑" @click="handleEdit(scope.row)" v-if="supplyRequestManagePermission" />
                 <ActionButton
                   text="删除"
                   :popconfirm="{
@@ -68,11 +64,7 @@
                   scope.row.status === SUPPLY_REQUEST_STATUS.RECEIVING
                 "
               >
-                <ActionButton
-                  text="编辑"
-                  @click="handleEdit(scope.row.id, scope.row.planName, scope.row.purchaseDate)"
-                  v-if="supplyRequestManagePermission"
-                />
+                <ActionButton text="编辑" @click="handleEdit(scope.row)" v-if="supplyRequestManagePermission" />
               </template>
             </div>
           </template>
@@ -183,17 +175,13 @@
   };
 
   // 发起采购
-  const handleStartPurchase = (id: number, purchaseDate: string) => {
-    startPurchaseFormRef.value?.openDialog(id, purchaseDate);
+  const handleStartPurchase = (row: SupplyRequestListItem) => {
+    startPurchaseFormRef.value?.openDialog(row);
   };
 
   // 编辑
-  const handleEdit = (id: number, planName: string, purchaseDate: string) => {
-    supplyRequestFormRef.value?.openEditDialog({
-      id: id,
-      planName: planName,
-      purchaseDate: purchaseDate,
-    });
+  const handleEdit = (row: SupplyRequestListItem) => {
+    supplyRequestFormRef.value?.openEditDialog(row);
   };
 
   // 表单提交成功回调

+ 10 - 3
src/views/emergency/emergency-supplies/src/components/StartPurchaseForm.vue

@@ -19,6 +19,7 @@
   import { START_PURCHASE_FORM_CONFIG, START_PURCHASE_FORM_DATA, START_PURCHASE_FORM_RULES } from '../config';
   import { updateSupplyRequest } from '@/api/emergency-supplier';
   import { SUPPLY_REQUEST_STATUS } from '../constant';
+  import type { SupplyRequestListItem } from '@/types/emergency-supplier';
 
   const emits = defineEmits<{
     (e: 'success'): void;
@@ -28,6 +29,9 @@
   const basicFormRef = ref<InstanceType<typeof BasicForm>>();
   const requestId = ref<number | undefined>(undefined);
 
+  // 保留一份申领计划信息
+  const requestInfo = ref<SupplyRequestListItem | undefined>(undefined);
+
   const { ruleFormConfig, ruleFormData, formRules } = useFormConfigHook(
     START_PURCHASE_FORM_CONFIG,
     START_PURCHASE_FORM_DATA,
@@ -35,11 +39,12 @@
   );
 
   // 打开对话框
-  const openDialog = (id: number, existingPurchaseDate?: string) => {
-    requestId.value = id;
+  const openDialog = (row: SupplyRequestListItem) => {
+    requestInfo.value = row;
+    requestId.value = requestInfo.value?.id;
     // 先设置采购日期,再打开对话框
     // 如果有已有采购日期,则反显
-    ruleFormData.purchaseDate = existingPurchaseDate || '';
+    ruleFormData.purchaseDate = requestInfo.value?.purchaseDate || '';
     basicDialogRef.value?.openDialog();
   };
 
@@ -56,7 +61,9 @@
     try {
       await updateSupplyRequest({
         id: requestId.value,
+        planName: requestInfo.value?.planName,
         purchaseDate: ruleFormData.purchaseDate,
+        totalPrice: requestInfo.value?.totalPrice,
         status: SUPPLY_REQUEST_STATUS.PURCHASING,
       });
       ElMessage.success('发起采购成功');

+ 9 - 4
src/views/emergency/emergency-supplies/src/components/SupplyRequestForm.vue

@@ -18,6 +18,7 @@
   import { useFormConfigHook } from '@/hooks/useFormConfigHook';
   import { SUPPLY_REQUEST_FORM_CONFIG, SUPPLY_REQUEST_FORM_DATA, SUPPLY_REQUEST_FORM_RULES } from '../config';
   import { createSupplyRequest, updateSupplyRequest } from '@/api/emergency-supplier';
+  import type { SupplyRequestListItem } from '@/types/emergency-supplier';
 
   const emits = defineEmits<{
     (e: 'success'): void;
@@ -27,6 +28,7 @@
   const basicFormRef = ref<InstanceType<typeof BasicForm>>();
   const isEditMode = ref(false);
   const editId = ref<number | undefined>(undefined);
+  const requestInfo = ref<SupplyRequestListItem | undefined>(undefined);
 
   const { ruleFormConfig, ruleFormData, formRules } = useFormConfigHook(
     SUPPLY_REQUEST_FORM_CONFIG,
@@ -47,11 +49,12 @@
   };
 
   // 打开对话框(编辑模式)
-  const openEditDialog = async (info: { id: number; planName?: string; purchaseDate?: string }) => {
+  const openEditDialog = async (row: SupplyRequestListItem) => {
     isEditMode.value = true;
-    editId.value = info.id;
-    ruleFormData.planName = info.planName || '';
-    ruleFormData.purchaseDate = info.purchaseDate || '';
+    requestInfo.value = row;
+    editId.value = requestInfo.value?.id;
+    ruleFormData.planName = requestInfo.value?.planName || '';
+    ruleFormData.purchaseDate = requestInfo.value?.purchaseDate || '';
     basicDialogRef.value?.openDialog();
   };
 
@@ -74,6 +77,8 @@
         await updateSupplyRequest({
           id: editId.value,
           ...submitData,
+          totalPrice: requestInfo.value?.totalPrice,
+          status: requestInfo.value?.status,
         });
         ElMessage.success('编辑成功');
       } else {