Prechádzať zdrojové kódy

feat(saleManage): 1. 新增特殊提交接口specialSubmit用于生成分仓发货单
2. 新增页面按钮控制逻辑,当存在多个仓库时启用特殊提交
3. 优化销售订单打印模板的合计金额显示
4. 调整审批弹窗参数,支持特殊提交场景

liujt 1 mesiac pred
rodič
commit
f6031e8109

+ 16 - 5
src/BIZComponents/processSubmitDialog/processSubmitDialog.vue

@@ -194,6 +194,10 @@
         type: Boolean,
         default: false
       },
+      isSpecialeSubmit: {
+        type: Boolean,
+        default: false
+      },
       approvalStatus: {
         type: Number,
         default: 2
@@ -470,11 +474,18 @@
               ...this.form.variables
             }
           };
-          await processInstanceCreateAPI(params);
-          this.loading = false;
-          this.$message('提交审核成功');
-          // this.$emit('reload');
-          this.cancel();
+          if(this.isSpecialeSubmit) {
+            console.log('特殊提交', params)
+            
+            this.$emit('specialesubmit', params);
+          } else {
+            await processInstanceCreateAPI(params);
+            this.loading = false;
+            this.$message('提交审核成功');
+            // this.$emit('reload');
+            this.cancel();
+          }
+          
         } catch (error) {}
         this.loading = false;
       },

+ 11 - 0
src/api/saleManage/saleordersendrecord.js

@@ -129,4 +129,15 @@ export async function suspendProductBatchNoChange(data) {
     return res.data.data;
   }
   return Promise.reject(new Error(res.data.message));
+}
+
+/**
+ * 提交
+ */
+export async function specialSubmit(id, data) {
+  const res = await request.put(`/eom/saleordersendrecord/v1/generateSubDeliveryOrder/${id}`, data);
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
 }

+ 5 - 5
src/views/saleManage/saleOrder/components/printTemplateSaleOrder.vue

@@ -96,15 +96,15 @@
           </tr>
           <tr align="center">
             <td style="padding: 2px"> 合计 </td>
-            <td style="padding: 2px" colspan="3"></td>
+            <td style="padding: 2px" colspan="3">{{ numberToChinese(getTotalValue('totalPrice', 2)) }}</td>
             <td style="padding: 2px">{{ getTotalValue('saleCount', 2) }} </td>
             <td style="padding: 2px"> </td>
             <td style="padding: 2px"> </td>
-            <!-- <td style="padding: 5px">{{ getTotalValue('totalPrice', 2) }}</td> -->
-            <td style="padding: 2px"> </td>
+            <td style="padding: 2px">{{ getTotalValue('totalPrice', 2) }}</td>
             <td style="padding: 2px"> </td>
             <td style="padding: 2px"> </td>
             <!-- <td style="padding: 2px"> </td> -->
+            <!-- <td style="padding: 2px"> </td> -->
           </tr>
         </tbody>
       </table>
@@ -360,12 +360,12 @@
             ${rows}
             <tr height="26" style="height:26pt;">
               <td align="center" valign="middle" style="${td};font-weight:bold;">合计</td>
-              <td colspan="3" align="center" valign="middle" style="${td};font-weight:bold;"></td>
+              <td colspan="3" align="center" valign="middle" style="${td};font-weight:bold;">${totalChinese}</td>
               <td align="center" valign="middle" style="${td};font-weight:bold;">${totalCount}</td>
               <td align="center" valign="middle" style="${td}"></td>
               <td align="center" valign="middle" style="${td}"></td>
               <td align="center" valign="middle" style="${td};font-weight:bold;">
-         
+                ${totalPrice}
               </td>
               <td align="center" valign="middle" style="${td}"></td>
               <td align="center" valign="middle" style="${td}"></td>

+ 20 - 1
src/views/saleManage/saleOrder/invoice/components/addInvoiceDialog.vue

@@ -243,10 +243,12 @@
     ></entrusted-receive-dialog>
     <process-submit-dialog
       :isNotNeedProcess="false"
+      :isSpecialeSubmit="isSpecialeSubmit"
       :processSubmitDialogFlag.sync="processSubmitDialogFlag"
       v-if="processSubmitDialogFlag"
       ref="processSubmitDialogRef"
       @reload="reload"
+      @specialesubmit="specialesubmit"
     ></process-submit-dialog>
     <!-- 退货单 -->
     <return-order-dialog
@@ -271,7 +273,8 @@
   import {
     addSendInformation,
     UpdateSendInformation,
-    getSendSaleOrderrecordDetailSplit
+    getSendSaleOrderrecordDetailSplit,
+    specialSubmit
   } from '@/api/saleManage/saleordersendrecord';
   import { getPSaleEntrustedReceiveDetailAPI } from '@/api/saleManage/entrustedReceive';
   import inventoryTable from './inventoryTable.vue';
@@ -362,6 +365,7 @@
       };
 
       return {
+        isSpecialeSubmit: false,
         fullscreen: false,
         saleOrderValue: {},
         detailData: {},
@@ -1069,6 +1073,13 @@
           storemanIds = warehouseList.map((item) => item.ownerId);
         }
 
+        // 当ids数组去重去空后有不同的值时,设置isSpecialeSubmit为true
+        const filteredIds = ids.filter(id => id !== undefined && id !== null && id !== '');
+        const uniqueIds = [...new Set(filteredIds)];
+        this.isSpecialeSubmit = uniqueIds.length > 1;
+
+        
+
         this.processSubmitDialogFlag = true;
 
         this.$nextTick(() => {
@@ -1098,6 +1109,14 @@
           this.$refs.processSubmitDialogRef.init(params);
         });
       },
+
+      async specialesubmit(params) {
+        console.log('params~~~~~~', params);
+        await specialSubmit(params.businessId, params);
+        this.$message('提交审核成功');
+        this.processSubmitDialogFlag = false;
+        this.reload();
+      },
       reload() {
         this.cancel();
         this.$emit('done');

+ 2 - 2
src/views/saleManage/saleOrder/invoice/index.vue

@@ -188,7 +188,7 @@
               :underline="false"
               icon="el-icon-edit"
               @click="creatInvoiceConfirm(row)"
-              v-if="[2].includes(row.reviewStatus) && row.isSuspend != 1"
+              v-if="isSplitFlag == 0 && ([2].includes(row.reviewStatus) && row.isSuspend != 1)"
             >
               创建发货确认单
             </el-link>
@@ -197,7 +197,7 @@
               :underline="false"
               icon="el-icon-edit"
               @click="creatReturnGoods('add', row)"
-              v-if="[2].includes(row.reviewStatus) && row.isSuspend != 1"
+              v-if="isSplitFlag == 0 && ([2].includes(row.reviewStatus) && row.isSuspend != 1)"
             >
               创建退货单
             </el-link>