Эх сурвалжийг харах

Merge branch 'dev0.3' of http://36.137.93.232:3000/hf/byte-sailing-new into dev0.3

cz 1 жил өмнө
parent
commit
e12d4231f2

+ 34 - 34
src/components/PDF/fundsPDF.vue

@@ -11,26 +11,26 @@
         </div>
         <div style="border: 1px solid black">
           <div style="display: flex; border-bottom: 1px solid black">
-            <div style="width: 126px; border-right: 1px solid black; padding: 8px">创建人</div>
-            <div style="width: calc(100% - 126px); padding: 8px">
+            <div style="width: 80px; border-right: 1px solid black; padding: 8px">创建人</div>
+            <div style="flex: 1; padding: 8px">
               {{ dictValueLabel(printDetails.createUser, userList) }}
             </div>
           </div>
           <div style="display: flex; border-bottom: 1px solid black">
-            <div style="width: 126px; border-right: 1px solid black; padding: 8px">创建人部门</div>
-            <div style="width: calc(100% - 126px); padding: 8px">
+            <div style="width: 80px; border-right: 1px solid black; padding: 8px">创建人部门</div>
+            <div style="flex: 1; padding: 8px">
               {{ printDetails.deptName }}
             </div>
           </div>
           <div style="display: flex; border-bottom: 1px solid black" v-if="printDetails.type !== '3'">
-            <div style="width: 126px; border-right: 1px solid black; padding: 4px 8px; display: flex; align-items: center">费用明细</div>
-            <div style="width: calc(100% - 126px)">
+            <div style="width: 80px; border-right: 1px solid black; padding: 4px 8px; display: flex; align-items: center">费用明细</div>
+            <div style="flex: 1">
               <div style="border-bottom: 1px solid black; display: flex">
-                <div style="width: 80px; padding: 4px 8px; border-right: 1px solid black; text-align: center">费用类型</div>
-                <div style="width: 120px; padding: 4px 8px; border-right: 1px solid black; text-align: center">关联合同</div>
-                <div style="width: calc(100% - 360px); padding: 4px 8px; border-right: 1px solid black; text-align: center">款项说明</div>
-                <div style="width: 60px; padding: 4px 8px; border-right: 1px solid black; text-align: center">货币</div>
-                <div style="width: 100px; padding: 4px 8px; text-align: center">付款金额</div>
+                <div style="width: 65px; padding: 4px 8px; border-right: 1px solid black; text-align: center">费用类型</div>
+                <div style="width: 65px; padding: 4px 8px; border-right: 1px solid black; text-align: center">关联合同</div>
+                <div style="width: calc(100% - 270px); padding: 4px 8px; border-right: 1px solid black; text-align: center">款项说明</div>
+                <div style="width: 65px; padding: 4px 8px; border-right: 1px solid black; text-align: center">货币</div>
+                <div style="width: 75px; padding: 4px 8px; text-align: center">付款金额</div>
               </div>
               <template v-if="printDetails.accountRequestFundsDetailList && printDetails.accountRequestFundsDetailList.length > 0">
                 <div v-for="(item, index) in printDetails.accountRequestFundsDetailList" :key="index">
@@ -38,19 +38,19 @@
                     :style="
                       index + 1 !== printDetails.accountRequestFundsDetailList.length ? 'border-bottom: 1px solid black;  display: flex' : ' display: flex'
                     ">
-                    <div style="width: 80px; padding: 4px 8px; border-right: 1px solid black; text-align: center">
+                    <div style="width: 65px; padding: 4px 8px; border-right: 1px solid black; text-align: center">
                       {{ dictValueLabel(item.costType, fundsCostType) }}
                     </div>
-                    <div style="width: 120px; padding: 4px 8px; border-right: 1px solid black; display: flex; align-items: center">
+                    <div style="width: 65px; padding: 4px 8px; border-right: 1px solid black; display: flex; align-items: center">
                       {{ item.contractCode }}
                     </div>
-                    <div style="width: calc(100% - 360px); padding: 4px 8px; border-right: 1px solid black; display: flex; align-items: center">
+                    <div style="width: calc(100% - 270px); padding: 4px 8px; border-right: 1px solid black; display: flex; align-items: center">
                       {{ item.remarks }}
                     </div>
-                    <div style="width: 60px; padding: 4px 8px; border-right: 1px solid black; display: flex; align-items: center">
+                    <div style="width: 65px; padding: 4px 8px; border-right: 1px solid black; display: flex; align-items: center">
                       {{ dictValueLabel(printDetails.currency, accountCurrency) }}
                     </div>
-                    <div style="width: 100px; padding: 4px 8px; display: flex; align-items: center">
+                    <div style="width: 75px; padding: 4px 8px; display: flex; align-items: center">
                       {{ item.amount }}
                     </div>
                   </div>
@@ -59,8 +59,8 @@
             </div>
           </div>
           <div style="display: flex; border-bottom: 1px solid black" v-else>
-            <div style="width: 126px; border-right: 1px solid black; padding: 4px 8px; display: flex; align-items: center">费用明细</div>
-            <div style="width: calc(100% - 126px)">
+            <div style="width: 80px; border-right: 1px solid black; padding: 4px 8px; display: flex; align-items: center">费用明细</div>
+            <div style="flex: 1">
               <div style="border-bottom: 1px solid black; display: flex">
                 <div style="width: 80px; padding: 4px 8px; border-right: 1px solid black; text-align: center">费用类型</div>
                 <div style="width: 120px; padding: 4px 8px; border-right: 1px solid black; text-align: center">关联合同</div>
@@ -99,8 +99,8 @@
             </div>
           </div>
           <div style="display: flex; border-bottom: 1px solid black" v-if="printDetails.type !== '3'">
-            <div style="width: 126px; border-right: 1px solid black; padding: 8px">总报销金额</div>
-            <div style="width: calc(100% - 126px); display: flex">
+            <div style="width: 80px; border-right: 1px solid black; padding: 8px">总报销金额</div>
+            <div style="flex: 1; display: flex">
               <div style="width: calc(100% - 100px); padding: 8px; border-right: 1px solid black">
                 {{ NumberToChinese(computeMoney("amount")) }}
               </div>
@@ -111,8 +111,8 @@
           </div>
           <div v-else>
             <div style="display: flex; border-bottom: 1px solid black">
-              <div style="width: 126px; border-right: 1px solid black; padding: 8px">核销总金额</div>
-              <div style="width: calc(100% - 126px); display: flex">
+              <div style="width: 80px; border-right: 1px solid black; padding: 8px">核销总金额</div>
+              <div style="flex: 1; display: flex">
                 <div style="width: calc(100% - 80px); padding: 8px; border-right: 1px solid black">
                   {{ NumberToChinese(computeMoney("amount")) }}
                 </div>
@@ -122,8 +122,8 @@
               </div>
             </div>
             <div style="display: flex; border-bottom: 1px solid black">
-              <div style="width: 126px; border-right: 1px solid black; padding: 8px">预支总金额</div>
-              <div style="width: calc(100% - 126px); display: flex">
+              <div style="width: 80px; border-right: 1px solid black; padding: 8px">预支总金额</div>
+              <div style="flex: 1; display: flex">
                 <div style="width: calc(100% - 80px); padding: 8px; border-right: 1px solid black">
                   {{ NumberToChinese(computeMoney("advanceAmount")) }}
                 </div>
@@ -133,8 +133,8 @@
               </div>
             </div>
             <div style="display: flex; border-bottom: 1px solid black">
-              <div style="width: 126px; border-right: 1px solid black; padding: 8px">差额 (核销 - 预支)</div>
-              <div style="width: calc(100% - 126px); display: flex">
+              <div style="width: 80px; border-right: 1px solid black; padding: 8px">差额 (核销 - 预支)</div>
+              <div style="flex: 1; display: flex">
                 <div style="width: calc(100% - 80px); padding: 8px; border-right: 1px solid black">
                   {{ NumberToChinese(computeBalance()) }}
                 </div>
@@ -145,14 +145,14 @@
             </div>
           </div>
           <div style="display: flex; border-bottom: 1px solid black">
-            <div style="width: 126px; border-right: 1px solid black; padding: 8px">单据数量</div>
-            <div style="width: calc(100% - 126px); padding: 8px">
+            <div style="width: 80px; border-right: 1px solid black; padding: 8px">单据数量</div>
+            <div style="flex: 1; padding: 8px">
               {{ printDetails.quantity }}
             </div>
           </div>
           <div style="display: flex; border-bottom: 1px solid black">
-            <div style="width: 126px; border-right: 1px solid black; padding: 0 8px; display: flex; align-items: center">收款信息</div>
-            <div style="width: calc(100% - 126px)">
+            <div style="width: 80px; border-right: 1px solid black; padding: 0 8px; display: flex; align-items: center">收款信息</div>
+            <div style="flex: 1">
               <div style="border-bottom: 1px solid black; display: flex">
                 <div style="width: 19%; padding: 0 8px; border-right: 1px solid black; text-align: center">支付方式</div>
                 <div style="width: 27%; padding: 0 8px; border-right: 1px solid black; text-align: center">收款方户名</div>
@@ -176,14 +176,14 @@
             </div>
           </div>
           <div style="display: flex; border-bottom: 1px solid black">
-            <div style="width: 126px; border-right: 1px solid black; padding: 8px">电子发票(PDF/JPG)</div>
-            <div style="width: calc(100% - 126px); padding: 8px">
+            <div style="width: 80px; border-right: 1px solid black; padding: 8px">电子发票(PDF/JPG)</div>
+            <div style="flex:1; padding: 8px">
               {{ printDetails.electronicInvoiceText }}
             </div>
           </div>
           <div style="display: flex">
-            <div style="width: 126px; border-right: 1px solid black; padding: 4px 8px; display: flex; align-items: center">审批流程</div>
-            <div style="width: calc(100% - 126px)">
+            <div style="width: 80px; border-right: 1px solid black; padding: 4px 8px; display: flex; align-items: center">审批流程</div>
+            <div style="flex: 1">
               <template v-if="printDetails.recordList && printDetails.recordList.length > 0">
                 <div v-for="(item, index) in printDetails.recordList" :key="index">
                   <div

+ 29 - 29
src/components/PDF/paymentPDF.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <div id="pdfDom" style="width: 776px">
+    <div id="pdfDom" style="font-family: 'msyh';">
       <div style="padding: 60px; font-size: 12px !important; color: black">
         <div style="font-size: 16px; text-align: center; padding: 8px">
           <span
@@ -14,28 +14,28 @@
         <div style="border: 1px solid black">
           <div style="display: flex; border-bottom: 1px solid black">
             <div
-              style="width: 150px; border-right: 1px solid black; padding: 8px"
+              style="width: 80px; border-right: 1px solid black; padding: 8px"
             >
               创建人
             </div>
-            <div style="width: calc(100% - 150px); padding: 8px">
+            <div style="width: calc(100% - 80px); padding: 8px">
               {{ dictValueLabel(printDetails.createUser, userList) }}
             </div>
           </div>
           <div style="display: flex; border-bottom: 1px solid black">
             <div
-              style="width: 150px; border-right: 1px solid black; padding: 8px"
+              style="width: 80px; border-right: 1px solid black; padding: 8px"
             >
               创建人部门
             </div>
-            <div style="width: calc(100% - 150px); padding: 8px">
+            <div style="width: calc(100% - 80px); padding: 8px">
               {{ dictValueLabel(printDetails.deptId, deptList) }}
             </div>
           </div>
           <div style="display: flex; border-bottom: 1px solid black">
             <div
               style="
-                width: 150px;
+                width: 80px;
                 border-right: 1px solid black;
                 padding: 4px 8px;
                 display: flex;
@@ -44,7 +44,7 @@
             >
               费用明细
             </div>
-            <div style="width: calc(100% - 150px)">
+            <div style="width: calc(100% - 80px)">
               <div style="border-bottom: 1px solid black; display: flex">
                 <div
                   style="
@@ -58,7 +58,7 @@
                 </div>
                 <div
                   style="
-                    width: calc(100% - 340px);
+                    width: calc(100% - 260px);
                     padding: 4px 8px;
                     border-right: 1px solid black;
                     text-align: center;
@@ -68,7 +68,7 @@
                 </div>
                 <div
                   style="
-                    width: 80px;
+                    width: 60px;
                     padding: 4px 8px;
                     border-right: 1px solid black;
                     text-align: center;
@@ -76,7 +76,7 @@
                 >
                   货币
                 </div>
-                <div style="width: 140px; padding: 4px 8px; text-align: center">
+                <div style="width: 80px; padding: 4px 8px; text-align: center">
                   付款金额
                 </div>
               </div>
@@ -110,7 +110,7 @@
                     </div>
                     <div
                       style="
-                        width: calc(100% - 340px);
+                        width: calc(100% - 260px);
                         padding: 4px 8px;
                         border-right: 1px solid black;
                         display: flex;
@@ -121,7 +121,7 @@
                     </div>
                     <div
                       style="
-                        width: 80px;
+                        width: 60px;
                         padding: 4px 8px;
                         border-right: 1px solid black;
                         display: flex;
@@ -132,7 +132,7 @@
                     </div>
                     <div
                       style="
-                        width: 140px;
+                        width: 80px;
                         padding: 4px 8px;
                         display: flex;
                         align-items: center;
@@ -147,11 +147,11 @@
           </div>
           <div style="display: flex; border-bottom: 1px solid black">
             <div
-              style="width: 150px; border-right: 1px solid black; padding: 8px"
+              style="width: 80px; border-right: 1px solid black; padding: 8px"
             >
               总报销金额
             </div>
-            <div style="width: calc(100% - 150px); display: flex">
+            <div style="width: calc(100% - 80px); display: flex">
               <div
                 style="
                   width: calc(100% - 140px);
@@ -166,18 +166,18 @@
           </div>
           <div style="display: flex; border-bottom: 1px solid black">
             <div
-              style="width: 150px; border-right: 1px solid black; padding: 8px"
+              style="width: 80px; border-right: 1px solid black; padding: 8px"
             >
               单据数量
             </div>
-            <div style="width: calc(100% - 150px); padding: 8px">
+            <div style="width: calc(100% - 80px); padding: 8px">
               {{ printDetails.receiptsNum }}
             </div>
           </div>
           <div style="display: flex; border-bottom: 1px solid black">
             <div
               style="
-                width: 150px;
+                width: 80px;
                 border-right: 1px solid black;
                 padding: 0 8px;
                 display: flex;
@@ -186,7 +186,7 @@
             >
               收款信息
             </div>
-            <div style="width: calc(100% - 150px)">
+            <div style="width: calc(100% - 80px)">
               <div style="border-bottom: 1px solid black; display: flex">
                 <div
                   style="
@@ -200,7 +200,7 @@
                 </div>
                 <div
                   style="
-                    width: 27%;
+                    width: 22%;
                     padding: 0 8px;
                     border-right: 1px solid black;
                     text-align: center;
@@ -210,7 +210,7 @@
                 </div>
                 <div
                   style="
-                    width: 27%;
+                    width: 20%;
                     padding: 0 8px;
                     border-right: 1px solid black;
                     text-align: center;
@@ -218,7 +218,7 @@
                 >
                   开户行
                 </div>
-                <div style="width: 27%; padding: 0 8px; text-align: center">
+                <div style="width: 39%; padding: 0 8px; text-align: center">
                   收款方账号
                 </div>
               </div>
@@ -236,7 +236,7 @@
                 </div>
                 <div
                   style="
-                    width: 27%;
+                    width: 22%;
                     padding: 0 8px;
                     border-right: 1px solid black;
                     display: flex;
@@ -247,7 +247,7 @@
                 </div>
                 <div
                   style="
-                    width: 27%;
+                    width: 20%;
                     padding: 0 8px;
                     border-right: 1px solid black;
                     display: flex;
@@ -258,7 +258,7 @@
                 </div>
                 <div
                   style="
-                    width: 27%;
+                    width: 39%;
                     padding: 0 8px;
                     display: flex;
                     align-items: center;
@@ -271,18 +271,18 @@
           </div>
           <div style="display: flex; border-bottom: 1px solid black">
             <div
-              style="width: 150px; border-right: 1px solid black; padding: 8px"
+              style="width: 80px; border-right: 1px solid black; padding: 8px"
             >
               电子发票(PDF/JPG)
             </div>
-            <div style="width: calc(100% - 150px); padding: 8px">
+            <div style="width: calc(100% - 80px); padding: 8px">
               {{ printDetails.electronicInvoiceText }}
             </div>
           </div>
           <div style="display: flex">
             <div
               style="
-                width: 150px;
+                width: 80px;
                 border-right: 1px solid black;
                 padding: 4px 8px;
                 display: flex;
@@ -291,7 +291,7 @@
             >
               审批流程
             </div>
-            <div style="width: calc(100% - 150px)">
+            <div style="width: calc(100% - 80px)">
               <template
                 v-if="
                   printDetails.recordList && printDetails.recordList.length > 0

+ 6 - 6
src/components/PDF/purchasePDF.vue

@@ -45,25 +45,25 @@
         </div>
         <table border="1" style="width: 100%" class="table">
           <tr>
-            <td style="width: 70px">序号</td>
+            <td style="width: 50px">序号</td>
             <td>品名</td>
             <td>规格型号</td>
             <td style="width: 60px">单位</td>
             <td style="width: 60px">数量</td>
-            <td style="width: 100px">单价</td>
-            <td style="width: 100px">金额</td>
+            <td style="width: 80px">单价</td>
+            <td style="width: 80px">金额</td>
           </tr>
           <tr v-for="(row, index) in pdfData.purchaseDetailList" :key="row.id">
-            <td style="width: 70px">{{ index + 1 }}</td>
+            <td style="width: 50px">{{ index + 1 }}</td>
             <td>{{ row.productName }}</td>
             <td>{{ row.productSpec }}</td>
             <td style="width: 60px">{{ row.productUnitName }}</td>
             <td style="width: 60px">{{ row.count }}</td>
-            <td style="width: 100px">
+            <td style="width: 80px">
               <span v-if="pdfData.currency">{{ pdfData.currency }}</span
               >{{ row.price }}
             </td>
-            <td style="width: 100px">
+            <td style="width: 80px">
               <span v-if="pdfData.currency">{{ pdfData.currency }}</span
               >{{ row.amount }}
             </td>

+ 37 - 5
src/components/process/SendFunds.vue

@@ -61,7 +61,7 @@
       <el-row :gutter="20">
         <el-col :span="12">
           <el-form-item label="用款说明" prop="paymentRemarks">
-            <el-input v-model="formData.data.paymentRemarks" placeholder="请输入" type="textarea"> </el-input>
+            <el-input v-model="formData.data.paymentRemarks" placeholder="请输入" type="textarea" disabled :rows="4"> </el-input>
           </el-form-item>
           <el-form-item label="上传附件">
             <div style="width: 100%">
@@ -86,7 +86,7 @@
           <el-table-column prop="count" label="费用类型" width="220">
             <template #default="{ row, $index }">
               <el-form-item :prop="'accountRequestFundsDetailList.' + $index + '.costType'" :rules="rules.costType" :inline-message="true">
-                <el-select v-model="row.costType" placeholder="请选择" filterable style="width: 100%">
+                <el-select v-model="row.costType" placeholder="请选择" filterable style="width: 100%" @change="generatePaymentRemarks">
                   <el-option v-for="item in fundsCostType" :label="item.dictValue" :value="item.dictKey"> </el-option>
                 </el-select>
               </el-form-item>
@@ -95,7 +95,7 @@
           <el-table-column prop="count" label="关联合同" width="220">
             <template #default="{ row, $index }">
               <el-form-item :prop="'accountRequestFundsDetailList.' + $index + '.contractId'" :rules="rules.contractId" :inline-message="true">
-                <el-select v-model="row.contractId" placeholder="请选择" filterable style="width: 100%">
+                <el-select v-model="row.contractId" placeholder="请选择" filterable style="width: 100%" @change="generatePaymentRemarks">
                   <el-option v-for="item in contractList" :label="item.code" :value="item.id"> </el-option>
                 </el-select>
               </el-form-item>
@@ -104,7 +104,7 @@
           <el-table-column prop="count" label="款项说明" min-width="200">
             <template #default="{ row, $index }">
               <el-form-item :prop="'accountRequestFundsDetailList.' + $index + '.remarks'" :rules="rules.remarks" :inline-message="true">
-                <el-input v-model="row.remarks" placeholder="请输入" type="textarea" />
+                <el-input v-model="row.remarks" placeholder="请输入" type="textarea" @change="generatePaymentRemarks" />
               </el-form-item>
             </template>
           </el-table-column>
@@ -606,7 +606,15 @@ const getDictData = () => {
   });
   // 关联合同
   proxy.post("/contract/page1", { pageNum: 1, pageSize: 9999, status: 30 }).then((res) => {
-    contractList.value = res.rows;
+    if (res.rows && res.rows.length > 0) {
+      contractList.value = res.rows.map((item) => {
+        return {
+          ...item,
+          dictKey: item.id,
+          dictValue: item.code,
+        };
+      });
+    }
   });
   // 部门树
   proxy
@@ -728,6 +736,7 @@ const handleChangeAmount = () => {
     }
   }
   formData.data.total = sum;
+  generatePaymentRemarks();
 };
 // 上传附件
 const uploadData = ref({});
@@ -905,6 +914,29 @@ const handleSelect = (item) => {
   formData.data.interbankNumber = item.interbankNumber;
   openSelect.value = false;
 };
+const generatePaymentRemarks = () => {
+  let paymentRemarks = "";
+  if (formData.data.accountRequestFundsDetailList && formData.data.accountRequestFundsDetailList.length > 0) {
+    for (let i = 0; i < formData.data.accountRequestFundsDetailList.length; i++) {
+      if (i !== 0) {
+        paymentRemarks = paymentRemarks + "\n";
+      }
+      if (formData.data.accountRequestFundsDetailList[i].costType) {
+        paymentRemarks = paymentRemarks + "[" + proxy.dictDataEcho(formData.data.accountRequestFundsDetailList[i].costType, fundsCostType.value) + "] ";
+      }
+      if (formData.data.accountRequestFundsDetailList[i].contractId) {
+        paymentRemarks = paymentRemarks + proxy.dictDataEcho(formData.data.accountRequestFundsDetailList[i].contractId, contractList.value) + " - ";
+      }
+      if (formData.data.accountRequestFundsDetailList[i].remarks) {
+        paymentRemarks = paymentRemarks + formData.data.accountRequestFundsDetailList[i].remarks + " - ";
+      }
+      if (formData.data.accountRequestFundsDetailList[i].amount) {
+        paymentRemarks = paymentRemarks + formData.data.accountRequestFundsDetailList[i].amount;
+      }
+    }
+  }
+  formData.data.paymentRemarks = proxy.deepClone(paymentRemarks);
+};
 </script>
 
 <style lang="scss" scoped>

+ 3 - 1
src/utils/util.js

@@ -129,11 +129,13 @@ export function calculationWeek(val, format) {
 }
 
 
-export function getPdf(title) {  
+export function getPdf(title,num) {  
   const element = document.getElementById("pdfDom");
   var doc = new JsPDF("", "pt", "a4");
   //导出pdf的中文有乱码
   doc.internal.scaleFactor = 1
+  //设置宽度
+  if(num) doc.internal.pageSize.width = num;
   //设置pdf边距
   doc.setFont("msyh");
   console.log('开始打印');

+ 1 - 1
src/views/dataBoard/board/salesAnalysis/index.vue

@@ -604,7 +604,7 @@ onMounted(() => {
   beginDate.setMonth(0);
   beginDate.setDate(1);
   queryForm.timeArr = [proxy.parseTime(beginDate, "{y}-{m}-{d}"), proxy.parseTime(endData, "{y}-{m}-{d}")];
-  getData();
+  onQuery();
 });
 </script>
 

+ 1 - 1
src/views/finance/fundManage/accountPayment/index.vue

@@ -138,7 +138,7 @@
       </template>
     </el-dialog>
 
-    <el-dialog title="打印" v-if="openPrint" v-model="openPrint" width="840px">
+    <el-dialog title="打印" v-if="openPrint" v-model="openPrint" width="640px">
       <div id="printMe">
         <FundsPDF v-if="rowData.type != '20'" :rowData="rowData"></FundsPDF>
         <PaymentPDF v-else :rowData="rowData"></PaymentPDF>

+ 2 - 1
src/views/process/processApproval/index.vue

@@ -780,6 +780,7 @@ const getRecords = (_id) => {
       });
   }
 };
+//d
 onMounted(async () => {
   //processType 10 为修改 20为查看 30回退发起
   if (
@@ -790,7 +791,7 @@ onMounted(async () => {
     await proxy
       .post("/flowProcess/getStartData", { flowId: route.query.id })
       .then((res) => {
-        queryData.data = { ...res };
+        queryData.data = { ...res };                          
       });
   } else {
     queryData.data = { ...route.query };

+ 1 - 1
src/views/purchaseManage/purchasePayment/payment/index.vue

@@ -22,7 +22,7 @@
       </template>
     </byTable>
 
-    <el-dialog title="打印" v-if="openPrint" v-model="openPrint" width="840px">
+    <el-dialog title="打印" v-if="openPrint" v-model="openPrint" width="640px">
       <PaymentPDF :rowData="rowData"></PaymentPDF>
       <template #footer>
         <el-button @click="openPrint = false" size="large">取消</el-button>

+ 59 - 0
src/views/salesMange/saleContract/contract/index.vue

@@ -8,6 +8,7 @@
         :loading="loading"
         :selectConfig="selectConfig"
         highlight-current-row
+        :statConfig='statConfig'
         :action-list="[
           {
             text: '创建合同',
@@ -582,11 +583,69 @@ const getList = async (req) => {
     }, 200);
   });
 };
+const statConfig = computed(() => {
+	return [
+		{
+			label: '合计',
+			data:[],
+		},
+		
+	]
+})
 getDict();
 if (route.query.code) {
   sourceList.value.pagination.keyword = route.query.code;
 }
 getList();
+const getTotal = () => {
+  proxy.get("/contract/getHeadCustomerStatistics").then((res) => {
+    statConfig.value[0].data = [];
+    statConfig.value[0].data.push({
+      label:'合计',
+      data:[
+        {
+          label:'数量',
+          num:res.data.sumQuantity,
+          color:'rgb(171 0 255)',
+        },
+        {
+          label:'金额',
+          num:res.data.sumArrivalAmount,
+          color:'rgb(171 0 255)',
+        },
+        {
+          label:'到账金额',
+          num:res.data.sumAmount,
+          color:'rgb(171 0 255)',
+        },
+      ]
+    })
+    for (let i = 0; i < res.data.list.length; i++) {
+      statConfig.value[0].data.push({
+        label:res.data.list[i].sellCorporationName,
+        data:[
+          {
+            label:'数量',
+            num:res.data.list[i].sumQuantity,
+            color:'blue',
+          },
+          {
+            label:'金额',
+            num:res.data.list[i].sumClaimMoney,
+            color:'blue',
+          },
+          {
+            label:'到账金额',
+            num:res.data.list[i].sumClaimMoney,
+            color:'blue',
+          },
+        ]
+      })
+    }
+    console.log(res);
+  });
+};
+getTotal();
 const newContract = () => {
   proxy.$router.replace({
     path: "/platform_manage/process/processApproval",

+ 2 - 2
src/views/salesMange/saleContract/middle/index.vue

@@ -35,9 +35,9 @@
       </byTable>
     </div>
 
-    <el-dialog title="打印" v-if="openPrint" v-model="openPrint" width="860">
+    <el-dialog title="打印" v-if="openPrint" v-model="openPrint" width="660">
       <div id="printMe">
-        <div id="pdfDom" style="width: 800px; padding: 16px; font-size: 12px !important">
+        <div id="pdfDom" style="padding: 16px; font-size: 12px !important;font-family: 'msyh';">
           <div style="font-size: 18px; text-align: center">
             {{ printDetails.sellCorporationNameEn }}
           </div>

+ 2 - 1
src/views/salesMange/salesMange/profitSettlement/index.vue

@@ -298,6 +298,7 @@ const sourceList = ref({
     keyword: "",
     settlementStatus: "",
     userId: "",
+    isArrival:'1',
   },
 });
 const loading = ref(false);
@@ -607,7 +608,7 @@ const clickSettlement = (row) => {
     id: row.contractId,
     settlementStatus: 1,
   };
-  proxy.post("/saleStatement/update", data).then(() => {
+  proxy.post("/saleStatement/settlement", data).then(() => {
     ElMessage({
       message: "操作成功",
       type: "success",

+ 12 - 12
src/views/salesMange/shipmentMange/document/index.vue

@@ -234,11 +234,11 @@
       </template>
     </el-dialog>
 
-    <el-dialog title="打印" v-if="openPrint" v-model="openPrint" width="860">
+    <el-dialog title="打印" v-if="openPrint" v-model="openPrint" width="660">
       <div id="printMe">
         <div
           id="pdfDom"
-          style="width: 800px; padding: 16px; font-size: 12px !important"
+          style="padding: 16px; font-size: 12px !important;font-family: 'msyh';"
         >
           <div v-if="openStatus === 1">
             <div style="font-size: 16px; text-align: center; font-weight: 700">
@@ -695,7 +695,7 @@
           >
             <thead>
               <tr>
-                <td style="width: 100px">
+                <td style="width: 80px">
                   项目
                   <br />
                   ITEM NO.
@@ -706,13 +706,13 @@
                   DESCRIPTION OF GOODS
                 </td>
 
-                <td style="width: 100px">
+                <td style="width: 80px">
                   单位
                   <br />
                   UNIT
                 </td>
 
-                <td style="width: 100px; border-right: 0">
+                <td style="width: 80px; border-right: 0">
                   数量
                   <br />
                   QUANTITY
@@ -760,7 +760,7 @@
           >
             <thead>
               <tr>
-                <td style="width: 100px" v-if="[2, 3].includes(openStatus)">
+                <td style="width: 80px" v-if="[2, 3].includes(openStatus)">
                   项目
                   <br />
                   ITEM NO.
@@ -771,13 +771,13 @@
                   DESCRIPTION OF GOODS
                 </td>
                 <template v-if="[3].includes(openStatus)">
-                  <td style="width: 100px">
+                  <td style="width: 80px">
                     单位
                     <br />
                     UNIT
                   </td>
                 </template>
-                <td style="width: 100px">
+                <td style="width: 80px">
                   数量
                   <br />
                   QUANTITY
@@ -786,7 +786,7 @@
                 </td>
 
                 <template v-if="[2, 3].includes(openStatus)">
-                  <td style="width: 100px">
+                  <td style="width: 80px">
                     单价
                     <br />
                     UNIT PRICE
@@ -798,7 +798,7 @@
                       )
                     }}
                   </td>
-                  <td style="width: 100px; border-right: 0">
+                  <td style="width: 80px; border-right: 0">
                     总价
                     <br />
                     TOTAL PRICE
@@ -1210,7 +1210,7 @@
       <div id="printMe">
         <div
           id="pdfDom"
-          style="width: 1400px; padding: 16px; font-size: 12px !important"
+          style="width: 1400px; padding: 16px; font-size: 12px !important;font-family: 'msyh';"
         >
           <table cellspacing="0" cellpadding="0" border="0" class="one">
             <tr>
@@ -3172,7 +3172,7 @@ const clickDownload = () => {
     data.content = JSON.stringify(data.content);
     proxy.post("/documentsPdf/add", data).then();
     setTimeout(() => {
-      proxy.getPdfTransverseA4("报关单PDF文件");
+      proxy.getPdf("报关单PDF文件",1400);
       nextTick(() => {
         setTimeout(() => {
           textShow.value = false;

+ 80 - 283
src/views/salesMange/shipmentMange/packing/index.vue

@@ -25,24 +25,17 @@
             action: () => openModal(),
           },
         ]"
-        @get-list="getList"
-      >
+        @get-list="getList">
         <template #code="{ item }">
           <div>
-            <div
-              v-for="(item, index) in getData(item.codeAPName, 'code')"
-              :key="index"
-            >
+            <div v-for="(item, index) in getData(item.codeAPName, 'code')" :key="index">
               {{ item }}
             </div>
           </div>
         </template>
         <template #productName="{ item }">
           <div>
-            <div
-              v-for="(item, index) in getData(item.codeAPName, 'productName')"
-              :key="index"
-            >
+            <div v-for="(item, index) in getData(item.codeAPName, 'productName')" :key="index">
               {{ item }}
             </div>
           </div>
@@ -91,107 +84,49 @@
         </template>
       </byTable>
     </div>
-    <el-dialog
-      title="产品装箱"
-      v-model="dialogVisible"
-      width="800"
-      v-loading="loading"
-    >
-      <el-form
-        :model="formData.data"
-        :rules="rules"
-        ref="formDom"
-        label-position="top"
-      >
+    <el-dialog title="产品装箱" v-model="dialogVisible" width="80%" v-loading="loading">
+      <el-form :model="formData.data" :rules="rules" ref="formDom" label-position="top">
         <el-row :gutter="10">
           <el-col :span="8">
             <el-form-item label="客户名称" prop="customerId">
-              <el-select
-                v-model="formData.data.customerId"
-                placeholder="请选择"
-                @change="handleChangeCustomer"
-                filterable
-                style="width: 100%"
-              >
-                <el-option
-                  v-for="item in customerList"
-                  :label="item.name"
-                  :value="item.id"
-                >
-                </el-option>
+              <el-select v-model="formData.data.customerId" placeholder="请选择" @change="handleChangeCustomer" filterable style="width: 100%">
+                <el-option v-for="item in customerList" :label="item.name" :value="item.id"> </el-option>
               </el-select>
             </el-form-item>
           </el-col>
         </el-row>
         <el-form-item label="选择合同" prop="contractIds">
-          <el-select
-            v-model="formData.data.contractIds"
-            placeholder="请选择"
-            @change="handleChangeContract"
-            filterable
-            style="width: 100%"
-            multiple
-          >
-            <el-option
-              v-for="item in contractData"
-              :label="item.code"
-              :value="item.id"
-            >
-            </el-option>
+          <el-select v-model="formData.data.contractIds" placeholder="请选择" @change="handleChangeContract" filterable style="width: 100%" multiple>
+            <el-option v-for="item in contractData" :label="item.code" :value="item.id"> </el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="合同明细" prop="contractProductData">
-          <el-table
-            :data="formData.data.contractProductData"
-            @select="handleSelectProduct"
-            @select-all="handleSelectProduct"
-            ref="tableDom"
-          >
+          <el-table :data="formData.data.contractProductData" @select="handleSelectProduct" @select-all="handleSelectProduct" ref="tableDom">
             <el-table-column type="selection" label="" width="50" />
-            <el-table-column prop="contractCode" label="合同编码" />
-            <el-table-column prop="productName" label="产品名称" />
-            <el-table-column prop="cpQuantity" label="合同数量" />
-            <el-table-column prop="waitQuantity" label="待装箱数量" />
-            <el-table-column prop="quantity" label="装箱数量" min-width="150">
+            <el-table-column prop="contractCode" label="合同编码" width="160" />
+            <el-table-column prop="productName" label="产品名称" min-width="180" />
+            <el-table-column prop="productSpec" label="规格型号" min-width="140" />
+            <el-table-column prop="cpQuantity" label="合同数量" width="140" />
+            <el-table-column prop="waitQuantity" label="待装箱数量" width="140" />
+            <el-table-column prop="quantity" label="装箱数量" width="160">
               <template #default="{ row, $index }">
-                <el-form-item
-                  :prop="'contractProductData.' + $index + '.quantity'"
-                  :inline-message="true"
-                >
-                  <el-input-number
-                    v-model="row.quantity"
-                    :precision="4"
-                    :controls="false"
-                    :min="0"
-                    onmousewheel="return false;"
-                  />
+                <el-form-item :prop="'contractProductData.' + $index + '.quantity'" :inline-message="true">
+                  <el-input-number v-model="row.quantity" :precision="4" :controls="false" :min="0" onmousewheel="return false;" />
                 </el-form-item>
               </template>
             </el-table-column>
           </el-table>
-          <el-button
-            type="primary"
-            style="margin-top: 10px; width: 100%"
-            @click="handleClickPacking"
-          >
-            装箱
-          </el-button>
+          <el-button type="primary" style="margin-top: 10px; width: 100%" @click="handleClickPacking"> 装箱 </el-button>
         </el-form-item>
-
         <el-form-item label="装箱明细" prop="packDetailList">
-          <div
-            class="box"
-            v-for="(item, index) in formData.data.packDetailList"
-            :key="index"
-          >
-            <div ref="">箱规</div>
+          <div class="box" v-for="(item, index) in formData.data.packDetailList" :key="index">
+            <div ref="" style="position: relative">
+              <span>箱规</span>
+              <el-button type="primary" style="position: absolute; right: 0px; top: 0px" @click="clickDelete(index)" text>删除</el-button>
+            </div>
             <el-row :gutter="10">
               <el-col :span="5">
-                <el-form-item
-                  label="箱数"
-                  :prop="'packDetailList.' + index + '.packQuantity'"
-                  :rules="rules.packQuantity"
-                >
+                <el-form-item label="箱数" :prop="'packDetailList.' + index + '.packQuantity'" :rules="rules.packQuantity">
                   <el-input-number
                     v-model="item.packQuantity"
                     :precision="0"
@@ -199,41 +134,18 @@
                     :min="1"
                     placeholder="请输入"
                     onmousewheel="return false;"
-                    @change="(val) => handleChangePackQuantity(val, index)"
-                  />
+                    @change="(val) => handleChangePackQuantity(val, index)" />
                 </el-form-item>
               </el-col>
               <el-col :span="5">
-                <el-form-item
-                  label="净重(kg)"
-                  :prop="'packDetailList.' + index + '.netWeight'"
-                  :rules="rules.netWeight"
-                >
-                  <el-input-number
-                    v-model="item.netWeight"
-                    :precision="2"
-                    :controls="false"
-                    :min="0"
-                    placeholder="请输入"
-                    onmousewheel="return false;"
-                  />
+                <el-form-item label="净重(kg)" :prop="'packDetailList.' + index + '.netWeight'" :rules="rules.netWeight">
+                  <el-input-number v-model="item.netWeight" :precision="2" :controls="false" :min="0" placeholder="请输入" onmousewheel="return false;" />
                 </el-form-item>
               </el-col>
 
               <el-col :span="5">
-                <el-form-item
-                  label="毛重(kg)"
-                  :prop="'packDetailList.' + index + '.roughWeight'"
-                  :rules="rules.roughWeight"
-                >
-                  <el-input-number
-                    v-model="item.roughWeight"
-                    :precision="2"
-                    :controls="false"
-                    :min="0"
-                    placeholder="请输入"
-                    onmousewheel="return false;"
-                  />
+                <el-form-item label="毛重(kg)" :prop="'packDetailList.' + index + '.roughWeight'" :rules="rules.roughWeight">
+                  <el-input-number v-model="item.roughWeight" :precision="2" :controls="false" :min="0" placeholder="请输入" onmousewheel="return false;" />
                 </el-form-item>
               </el-col>
               <el-col :span="9">
@@ -241,53 +153,38 @@
                   <el-form-item label="尺寸(cm³)" required>
                     <el-col :span="1"></el-col>
                     <el-col :span="7">
-                      <el-form-item
-                        label=""
-                        :prop="'packDetailList.' + index + '.boxLong'"
-                        :rules="rules.boxLong"
-                      >
+                      <el-form-item label="" :prop="'packDetailList.' + index + '.boxLong'" :rules="rules.boxLong">
                         <el-input-number
                           v-model="item.boxLong"
                           placeholder="长"
                           :precision="2"
                           :controls="false"
                           :min="0"
-                          onmousewheel="return false;"
-                        ></el-input-number>
+                          onmousewheel="return false;"></el-input-number>
                       </el-form-item>
                     </el-col>
                     <el-col :span="1" style="text-align: center"> * </el-col>
                     <el-col :span="7">
-                      <el-form-item
-                        label=""
-                        :prop="'packDetailList.' + index + '.boxWide'"
-                        :rules="rules.boxWide"
-                      >
+                      <el-form-item label="" :prop="'packDetailList.' + index + '.boxWide'" :rules="rules.boxWide">
                         <el-input-number
                           v-model="item.boxWide"
                           placeholder="宽"
                           :precision="2"
                           :controls="false"
                           :min="0"
-                          onmousewheel="return false;"
-                        ></el-input-number>
+                          onmousewheel="return false;"></el-input-number>
                       </el-form-item>
                     </el-col>
                     <el-col :span="1" style="text-align: center"> * </el-col>
                     <el-col :span="7">
-                      <el-form-item
-                        label=""
-                        :prop="'packDetailList.' + index + '.boxHigh'"
-                        :rules="rules.boxHigh"
-                      >
+                      <el-form-item label="" :prop="'packDetailList.' + index + '.boxHigh'" :rules="rules.boxHigh">
                         <el-input-number
                           v-model="item.boxHigh"
                           placeholder="高"
                           :precision="2"
                           :controls="false"
                           :min="0"
-                          onmousewheel="return false;"
-                        ></el-input-number>
+                          onmousewheel="return false;"></el-input-number>
                       </el-form-item>
                     </el-col>
                   </el-form-item>
@@ -297,72 +194,34 @@
             <div class="line"></div>
             <el-form-item label="关联合同产品">
               <div class="flex-box">
-                <div
-                  class="item"
-                  v-for="(product, j) in item.packDetailProductList"
-                  :key="j"
-                >
+                <div class="item" v-for="(product, j) in item.packDetailProductList" :key="j">
                   <div>合同编码:{{ product.contractCode }}</div>
                   <div>产品名称:{{ product.productName }}</div>
                   <div>每箱数量:{{ product.quantity }}</div>
                 </div>
               </div>
             </el-form-item>
-            <div
-              class="bottom-arrow"
-              v-show="!item.isShow"
-              @click="item.isShow = !item.isShow"
-            >
+            <div class="bottom-arrow" v-show="!item.isShow" @click="item.isShow = !item.isShow">
               <span style="margin-right: 5px"> 自定义装箱明细</span>
               <el-icon><ArrowDownBold /></el-icon>
             </div>
-            <div
-              class="bottom-arrow"
-              v-show="item.isShow"
-              @click="item.isShow = !item.isShow"
-            >
+            <div class="bottom-arrow" v-show="item.isShow" @click="item.isShow = !item.isShow">
               <span style="margin-right: 5px"> 收起</span>
               <el-icon><ArrowUpBold /></el-icon>
             </div>
             <el-form-item prop="packDetailGoodsList" v-show="item.isShow">
-              <el-button
-                type="primary"
-                style="margin-bottom: 10px"
-                @click="handleCustomPush(index)"
-              >
-                添加行
-              </el-button>
+              <el-button type="primary" style="margin-bottom: 10px" @click="handleCustomPush(index)"> 添加行 </el-button>
               <el-table :data="item.packDetailGoodsList">
                 <el-table-column label="货物描述">
                   <template #default="{ row, $index }">
-                    <el-form-item
-                      :prop="[
-                        'packDetailList',
-                        index,
-                        'packDetailGoodsList',
-                        $index,
-                        'remark',
-                      ]"
-                      :rules="rules.remark"
-                      :inline-message="true"
-                    >
+                    <el-form-item :prop="['packDetailList', index, 'packDetailGoodsList', $index, 'remark']" :rules="rules.remark" :inline-message="true">
                       <el-input v-model="row.remark" placeholder="请输入" />
                     </el-form-item>
                   </template>
                 </el-table-column>
                 <el-table-column label="单位" width="150">
                   <template #default="{ row, $index }">
-                    <el-form-item
-                      :prop="[
-                        'packDetailList',
-                        index,
-                        'packDetailGoodsList',
-                        $index,
-                        'unit',
-                      ]"
-                      :rules="rules.unit"
-                      :inline-message="true"
-                    >
+                    <el-form-item :prop="['packDetailList', index, 'packDetailGoodsList', $index, 'unit']" :rules="rules.unit" :inline-message="true">
                       <el-input v-model="row.unit" placeholder="请输入" />
                     </el-form-item>
                   </template>
@@ -370,34 +229,16 @@
                 <el-table-column label="数量" width="150">
                   <template #default="{ row, $index }">
                     <el-form-item
-                      :prop="[
-                        'packDetailList',
-                        index,
-                        'packDetailGoodsList',
-                        $index,
-                        'quantity',
-                      ]"
+                      :prop="['packDetailList', index, 'packDetailGoodsList', $index, 'quantity']"
                       :rules="rules.quantityOne"
-                      :inline-message="true"
-                    >
-                      <el-input-number
-                        v-model="row.quantity"
-                        :precision="4"
-                        :controls="false"
-                        :min="0"
-                        onmousewheel="return false;"
-                      />
+                      :inline-message="true">
+                      <el-input-number v-model="row.quantity" :precision="4" :controls="false" :min="0" onmousewheel="return false;" />
                     </el-form-item>
                   </template>
                 </el-table-column>
                 <el-table-column prop="zip" label="操作" width="100">
                   <template #default="{ $index }">
-                    <el-button
-                      type="primary"
-                      link
-                      @click="handleCustomRemove(index, $index)"
-                      >删除</el-button
-                    >
+                    <el-button type="primary" link @click="handleCustomRemove(index, $index)">删除</el-button>
                   </template>
                 </el-table-column>
               </el-table>
@@ -407,47 +248,19 @@
       </el-form>
       <template #footer>
         <el-button @click="handleClose" size="large">取 消</el-button>
-        <el-button
-          type="primary"
-          @click="submitForm()"
-          size="large"
-          :loading="submitLoading"
-        >
-          确 定
-        </el-button>
+        <el-button type="primary" @click="submitForm()" size="large" :loading="submitLoading"> 确 定 </el-button>
       </template>
     </el-dialog>
-    <el-dialog
-      title="合并出货"
-      v-model="dialogVisibleOne"
-      width="400"
-      v-loading="loadingOne"
-    >
-      <byForm
-        :formConfig="formConfig"
-        :formOption="formOption"
-        v-model="formData.dataOne"
-        :rules="rules"
-        ref="byform"
-      >
-      </byForm>
+    <el-dialog title="合并出货" v-model="dialogVisibleOne" width="400" v-loading="loadingOne">
+      <byForm :formConfig="formConfig" :formOption="formOption" v-model="formData.dataOne" :rules="rules" ref="byform"> </byForm>
       <template #footer>
-        <el-button @click="dialogVisibleOne = false" size="large"
-          >取 消</el-button
-        >
-        <el-button
-          type="primary"
-          @click="submitFormOne()"
-          size="large"
-          :loading="submitLoading"
-        >
-          确 定
-        </el-button>
+        <el-button @click="dialogVisibleOne = false" size="large">取 消</el-button>
+        <el-button type="primary" @click="submitFormOne()" size="large" :loading="submitLoading"> 确 定 </el-button>
       </template>
     </el-dialog>
   </div>
 </template>
-  
+
 <script setup>
 /* eslint-disable vue/no-unused-components */
 import { ElMessage, ElMessageBox } from "element-plus";
@@ -656,15 +469,11 @@ const config = computed(() => {
             },
             el: "button",
             click() {
-              ElMessageBox.confirm(
-                "此操作将永久作废该数据, 是否继续?",
-                "提示",
-                {
-                  confirmButtonText: "确定",
-                  cancelButtonText: "取消",
-                  type: "warning",
-                }
-              ).then(() => {
+              ElMessageBox.confirm("此操作将永久作废该数据, 是否继续?", "提示", {
+                confirmButtonText: "确定",
+                cancelButtonText: "取消",
+                type: "warning",
+              }).then(() => {
                 // 删除
                 proxy
                   .post("/pack/delete", {
@@ -876,9 +685,7 @@ const handleClickPacking = () => {
       productName: x.productName,
     }));
     const customerId = formData.data.customerId ? formData.data.customerId : "";
-    const contractIds = formData.data.contractIds
-      ? formData.data.contractIds.join(",")
-      : "";
+    const contractIds = formData.data.contractIds ? formData.data.contractIds.join(",") : "";
     let item = {
       customerId: customerId,
       contractIds: contractIds,
@@ -895,10 +702,7 @@ const handleClickPacking = () => {
       isShow: false,
     };
     formData.data.packDetailList.push(item);
-    handleChangePackQuantity(
-      item.packQuantity,
-      formData.data.packDetailList.length - 1
-    );
+    handleChangePackQuantity(item.packQuantity, formData.data.packDetailList.length - 1);
     tableDom.value.clearSelection();
     selectProductData.value = [];
     table.value.clearSelection();
@@ -914,18 +718,14 @@ const handleChangePackQuantity = (val, index) => {
   const obj = {};
   for (let i = 0; i < formData.data.contractProductData.length; i++) {
     const e = formData.data.contractProductData[i];
-    obj[e.contractId + "_" + e.productId + ""] = (
-      Number(e.cpQuantity) - Number(e.sumPackQuantity)
-    ).toFixed(2);
+    obj[e.contractId + "_" + e.productId + ""] = (Number(e.cpQuantity) - Number(e.sumPackQuantity)).toFixed(2);
   }
   // 计算数量 即装箱数量 * 箱数 新增字段放在最外层
   for (let i = 0; i < formData.data.packDetailList.length; i++) {
     const ele = formData.data.packDetailList[i];
     for (let j = 0; j < ele.packDetailProductList.length; j++) {
       const jele = ele.packDetailProductList[j];
-      ele[jele.contractId + "_" + jele.productId + ""] = (
-        Number(ele.packQuantity) * jele.quantity
-      ).toFixed(2);
+      ele[jele.contractId + "_" + jele.productId + ""] = (Number(ele.packQuantity) * jele.quantity).toFixed(2);
     }
   }
   // 计算新的待装箱数量
@@ -982,29 +782,21 @@ const getSelectData = () => {
 };
 const contractData = ref([]);
 const handleChangeCustomer = (val) => {
-  proxy
-    .get(`/contract/getNoPackContractByCustomerId?customerId=${val}`)
-    .then((res) => {
-      contractData.value = res.data;
-      formData.data.contractIds = [];
-    });
+  proxy.get(`/contract/getNoPackContractByCustomerId?customerId=${val}`).then((res) => {
+    contractData.value = res.data;
+    formData.data.contractIds = [];
+  });
 };
 const handleChangeContract = (val) => {
   const customerId = formData.data.customerId ? formData.data.customerId : "";
-  proxy
-    .get(
-      `/contractProduct/getNoPackContractProductById?customerId=${customerId}&contractIds=${val}`
-    )
-    .then((res) => {
-      formData.data.contractProductData = res.data.map((x) => ({
-        ...x,
-        waitQuantity: (
-          Number(x.cpQuantity) - Number(x.sumPackQuantity)
-        ).toFixed(2),
-        quantity: null,
-      }));
-      handleChangePackQuantity();
-    });
+  proxy.get(`/contractProduct/getNoPackContractProductById?customerId=${customerId}&contractIds=${val}`).then((res) => {
+    formData.data.contractProductData = res.data.map((x) => ({
+      ...x,
+      waitQuantity: (Number(x.cpQuantity) - Number(x.sumPackQuantity)).toFixed(2),
+      quantity: null,
+    }));
+    handleChangePackQuantity();
+  });
 };
 
 const getData = (data, type) => {
@@ -1031,8 +823,12 @@ const handleClose = () => {
 };
 getSelectData();
 getList();
+const clickDelete = (index) => {
+  formData.data.packDetailList.splice(index, 1);
+  handleChangePackQuantity();
+};
 </script>
-  
+
 <style lang="scss" scoped>
 .tenant {
   padding: 20px;
@@ -1051,6 +847,7 @@ getList();
   background: #fde6c8;
   border: 1px solid #7fb5e3;
   margin-bottom: 10px;
+  width: 100%;
   .flex-box {
     width: 100%;
     display: flex;
@@ -1075,4 +872,4 @@ getList();
     color: #0084ff;
   }
 }
-</style>
+</style>