From ecb306c5612f474a5911af20a567f3f4d4db33d1 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期三, 24 九月 2025 15:02:23 +0800
Subject: [PATCH] 原材料订单拆分功能v1

---
 src/views/CNAS/resourceDemand/device/component/management.vue |    2 
 src/api/business/materialInspection.js                        |   18 ++
 src/views/business/rawMaterialInspection/index.vue            |  196 +++++++++++++++++++++++++++++++-
 src/views/business/inspectionTask/inspection.vue              |   92 +++++++++-----
 src/utils/file.js                                             |   23 +++
 src/views/business/inspectionTask/index.vue                   |    1 
 src/views/business/materialOrder/index.vue                    |   10 
 7 files changed, 291 insertions(+), 51 deletions(-)

diff --git a/src/api/business/materialInspection.js b/src/api/business/materialInspection.js
index 2baa72d..f0f90f7 100644
--- a/src/api/business/materialInspection.js
+++ b/src/api/business/materialInspection.js
@@ -2,7 +2,7 @@
 import request from '@/utils/request'
 
 // 鏌ヨIFS璁㈠崟-寰呮姤妫�
-export function getIfsOrder(query) {
+export function getIfsOrder() {
   return request({
     url: 'insOrder/getIfsOrder',
     method: 'get',
@@ -97,3 +97,19 @@
     responseType: "blob"
   })
 }
+// 璁㈠崟鎷嗗垎妯℃澘涓嬭浇
+export function downloadTemplate() {
+  return request({
+    url: '/rawMaterialOrder/downloadTemplate',
+    method: 'get',
+    responseType: 'blob'
+  })
+}
+// 纭鎷嗗垎璁㈠崟
+export function confirmSplitOrder(data) {
+  return request({
+    url: '/rawMaterialOrder/confirmSplitOrder',
+    method: 'post',
+    data: data
+  })
+}
diff --git a/src/utils/file.js b/src/utils/file.js
index 9c7e99e..ac6ad7b 100644
--- a/src/utils/file.js
+++ b/src/utils/file.js
@@ -80,3 +80,26 @@
     });
   },
 };
+
+export function transformExcel(response, tempName) {
+  const relType = ['application/vnd.ms-excel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'application/vnd.ms-excel;charset=UTF-8']
+  let type = response.type
+  if (relType.includes(type)) {
+    const blob = new Blob([response], {type: 'application/vnd.ms-excel'})
+    let temp = tempName
+    if(response.headers){
+      const disposition = response.headers["Content-Disposition"]
+      temp = disposition.substring(disposition.lastIndexOf('=') + 1)
+    }
+    let filename = decodeURI(temp)
+    // 鍒涘缓涓�涓秴閾炬帴锛屽皢鏂囦欢娴佽祴杩涘幓锛岀劧鍚庡疄鐜拌繖涓秴閾炬帴鐨勫崟鍑讳簨浠�
+    const elink = document.createElement('a')
+    elink.download = filename
+    elink.style.display = 'none'
+    elink.href = URL.createObjectURL(blob)
+    document.body.appendChild(elink)
+    elink.click()
+    URL.revokeObjectURL(elink.href) // 閲婃斁URL 瀵硅薄
+    document.body.removeChild(elink)
+  }
+}
diff --git a/src/views/CNAS/resourceDemand/device/component/management.vue b/src/views/CNAS/resourceDemand/device/component/management.vue
index 9224055..0dcc8a5 100644
--- a/src/views/CNAS/resourceDemand/device/component/management.vue
+++ b/src/views/CNAS/resourceDemand/device/component/management.vue
@@ -815,7 +815,7 @@
 			delete this.formData.updateUser
 			const formData = this.HaveJson(this.formData)
 			formData.insProductIds = formData.insProductIds ? formData.insProductIds.join() : ''
-			if (formData.authorizedPerson.length === 0) {
+			if (formData.authorizedPerson && formData.authorizedPerson.length === 0) {
 				formData.authorizedPerson = ''
 			} else {
 				formData.authorizedPerson = JSON.stringify(formData.authorizedPerson)
diff --git a/src/views/business/inspectionTask/index.vue b/src/views/business/inspectionTask/index.vue
index 08301b9..b6833ec 100644
--- a/src/views/business/inspectionTask/index.vue
+++ b/src/views/business/inspectionTask/index.vue
@@ -794,6 +794,7 @@
           state: this.state,
           typeSource: this.typeSource,
           orderId: this.orderId,
+          isSplit: row.isSplitOrder
         },
       });
     },
diff --git a/src/views/business/inspectionTask/inspection.vue b/src/views/business/inspectionTask/inspection.vue
index d750b75..b425ec8 100644
--- a/src/views/business/inspectionTask/inspection.vue
+++ b/src/views/business/inspectionTask/inspection.vue
@@ -749,7 +749,6 @@
         size: 10,
         current: 0,
       },
-      tableLoading: false,
       // 鏂囦欢鍒楄〃鐩稿叧--缁撴潫
       // 浠诲姟鍒囨崲鍒楄〃--寮�濮�
       tableData0: [],
@@ -784,6 +783,7 @@
       },
       tableLoading0: false,
       // 浠诲姟鍒囨崲鍒楄〃--缁撴潫
+      isSplit: 0, // 鏄惁鏄媶鍗曡繃鏉ョ殑
     };
   },
   // 鐢ㄤ簬涓婁紶鏂囦欢鐨勪俊鎭�
@@ -794,7 +794,7 @@
     },
   },
   created() {
-    let { sonLaboratory, orderId, state, inspectorList, typeSource } =
+    let { sonLaboratory, orderId, state, inspectorList, typeSource,isSplit } =
       this.$route.query;
     this.sonLaboratory = sonLaboratory;
     this.orderId = orderId;
@@ -802,6 +802,7 @@
     this.state = state;
     this.inspectorList = inspectorList;
     this.typeSource = typeSource;
+    this.isSplit = isSplit;
   },
   mounted() {
     this.getTypeDicts(); // 鑾峰彇绱ф�ョ▼搴︿笅鎷夋閫夐」
@@ -2620,6 +2621,26 @@
     openAddVerifyDia() {
       this.addVerifyDia = true;
     },
+    confirmSubmit(registerInsResults){
+      submitPlan({
+        orderId: this.orderId,
+        laboratory: this.sonLaboratory,
+        verifyUser: this.verifyUser,
+        entrustCode: this.insOrder.entrustCode,
+        registerInsResults: registerInsResults
+      }).then((res) => {
+        if (res.code === 200) {
+          this.$message.success("鎿嶄綔鎴愬姛");
+          this.goback();
+          this.submitLoading = false;
+          this.addVerifyDia = false;
+        }
+      })
+        .catch((error) => {
+          console.error(error);
+          this.submitLoading = false;
+        });
+    },
     submit() {
       if (this.verifyUser === null || this.verifyUser === "") {
         this.$message.error("璇锋寚瀹氬鏍镐汉鍛�");
@@ -2638,26 +2659,26 @@
         orderId: this.orderId,
         laboratory: this.sonLaboratory,
       }).then((res) => {
+        console.log(res)
         if (res.code === 200) {
-          if (!res.data || res.data.length == 0) {
+          if (!res.data || res.data.errorMsg.length == 0) {
             this.submitLoading = true;
-            submitPlan({
-              orderId: this.orderId,
-              laboratory: this.sonLaboratory,
-              verifyUser: this.verifyUser,
-              entrustCode: this.insOrder.entrustCode,
-            }).then((res) => {
-              if (res.code === 200) {
-                this.$message.success("鎿嶄綔鎴愬姛");
-                this.goback();
-                this.submitLoading = false;
-                this.addVerifyDia = false;
-              }
-            })
-              .catch((error) => {
-                console.error(error);
-                this.submitLoading = false;
+            //妫�楠岀被鍨嬩负鍘熸潗鏂�
+            if(this.typeSource==1 && res.data.unInsOrderCount==0 && this.isSplit==1){
+              const htmlStr = "鏄惁鐧昏IFS閲囪喘妫�楠岀粨鏋滃苟绉诲簱锛熻鎿嶄綔浼氱櫥璁�<span style='color:#ff4949'>鍚屼竴闆朵欢鍚屼竴璁㈠崟鐨勬墍鏈夋媶鍒嗘壒娆�</span>锛岃璋ㄦ厧閫夋嫨銆�"
+              this.$confirm(htmlStr, '鎻愮ず', {
+                confirmButtonText: '鏄�',
+                cancelButtonText: '鍚�',
+                type: 'warning',
+                dangerouslyUseHTMLString: true
+              }).then(() => {
+                this.confirmSubmit(true)
+              }).catch(() => {
+                this.confirmSubmit(false)
               });
+            }else{
+              this.confirmSubmit(false)
+            }
           } else {
             let newData = [];
             const h = this.$createElement;
@@ -2693,22 +2714,23 @@
             })
               .then(() => {
                 this.submitLoading = true;
-                submitPlan({
-                  orderId: this.orderId,
-                  laboratory: this.sonLaboratory,
-                  verifyUser: this.verifyUser,
-                }).then((res) => {
-                  if (res.code === 200) {
-                    this.$message.success("鎿嶄綔鎴愬姛");
-                    this.addVerifyDia = false;
-                    this.goback();
-                  }
-                  this.submitLoading = false;
-                })
-                  .catch((error) => {
-                    console.error(error);
-                    this.submitLoading = false;
-                  });
+                this.confirmSubmit(false)
+                // submitPlan({
+                //   orderId: this.orderId,
+                //   laboratory: this.sonLaboratory,
+                //   verifyUser: this.verifyUser,
+                // }).then((res) => {
+                //   if (res.code === 200) {
+                //     this.$message.success("鎿嶄綔鎴愬姛");
+                //     this.addVerifyDia = false;
+                //     this.goback();
+                //   }
+                //   this.submitLoading = false;
+                // })
+                //   .catch((error) => {
+                //     console.error(error);
+                //     this.submitLoading = false;
+                //   });
               })
               .catch(() => { });
           }
diff --git a/src/views/business/materialOrder/index.vue b/src/views/business/materialOrder/index.vue
index 770931d..98a7af4 100644
--- a/src/views/business/materialOrder/index.vue
+++ b/src/views/business/materialOrder/index.vue
@@ -239,7 +239,7 @@
             }
           }
         },
-        { label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'qtyArrived' },
+        { label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'purQtyInStore' },
         { label: '鍗曚綅', prop: 'buyUnitMeas' },
         { label: '璁㈠崟鍙�', prop: 'orderNo' },
         { label: '鎺ユ敹鏃堕棿', prop: 'receiverDate' },
@@ -319,7 +319,7 @@
             }
           }
         },
-        { label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'qtyArrived' },
+        { label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'purQtyInStore' },
         { label: '鍗曚綅', prop: 'buyUnitMeas' },
         { label: '璁㈠崟鍙�', prop: 'orderNo' },
         { label: '鎺ユ敹鏃堕棿', prop: 'receiverDate' },
@@ -404,7 +404,7 @@
           }
         },
         { label: '璁㈠崟鍙�', prop: 'orderNo' },
-        { label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'qtyArrived' },
+        { label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'purQtyInStore' },
         { label: '涓嬪彂鏃堕棿', prop: 'sendTime' },
         { label: '鎵瑰彿', prop: 'updateBatchNo' },
         { label: '闆朵欢鍙�', prop: 'partNo' },
@@ -590,7 +590,7 @@
           }
         },
         { label: '璁㈠崟鍙�', prop: 'orderNo' },
-        { label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'qtyArrived' },
+        { label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'purQtyInStore' },
         { label: '涓嬪彂鏃堕棿', prop: 'sendTime' },
         { label: '鎵瑰彿', prop: 'updateBatchNo' },
         { label: '闆朵欢鍙�', prop: 'partNo' },
@@ -714,7 +714,7 @@
           }
         },
         { label: '璁㈠崟鍙�', prop: 'orderNo' },
-        { label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'qtyArrived' },
+        { label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'purQtyInStore' },
         { label: '涓嬪彂鏃堕棿', prop: 'sendTime' },
         { label: '鎵瑰彿', prop: 'updateBatchNo' },
         { label: '闆朵欢鍙�', prop: 'partNo' },
diff --git a/src/views/business/rawMaterialInspection/index.vue b/src/views/business/rawMaterialInspection/index.vue
index 3bb5510..1fa1140 100644
--- a/src/views/business/rawMaterialInspection/index.vue
+++ b/src/views/business/rawMaterialInspection/index.vue
@@ -109,8 +109,8 @@
           <el-input v-model="declareObj.partDesc" :disabled="declareType !== 'add'" class="addObj-info" clearable
             placeholder="" size="small"></el-input>
         </el-form-item>
-        <el-form-item class="declareObj-form-item" label="鎶佃揪鐨勯噰璐暟閲�:" prop="qtyArrived">
-          <el-input v-model="declareObj.qtyArrived" :disabled="declareType !== 'add'" class="addObj-info" clearable
+        <el-form-item class="declareObj-form-item" label="鎶佃揪鐨勯噰璐暟閲�:" prop="purQtyInStore">
+          <el-input v-model="declareObj.purQtyInStore" :disabled="declareType !== 'add'" class="addObj-info" clearable
             placeholder="" size="small"></el-input>
         </el-form-item>
         <el-form-item v-if="declareType !== 'add'" class="declareObj-form-item" label="渚涘簲鍟嗙紪鍙�:" prop="supplierId">
@@ -173,6 +173,83 @@
     <!--鏁版嵁鏌ョ湅寮规-->
     <data-look-visible v-if="dataDialogVisible" ref="dataDialogVisible" :dataDialogVisible="dataDialogVisible"
       :dataLookInfo="dataLookInfo" @closeDataLook="closeDataLook"></data-look-visible>
+    <el-dialog
+      title="璁㈠崟鎷嗗垎"
+      :visible.sync="orderSplitDialogVisible"
+      :before-close="resetOrderSplitData"
+      :close-on-click-modal="false"
+      :close-on-press-escape="false"
+      :show-close="!confirmSplitOrderLoading"
+      width="60%">
+      <div>
+        <el-divider content-position="left">璁㈠崟涓讳綋</el-divider>
+        <el-table
+          :data="orderSplitBasicData"
+          border
+          :header-cell-style="{textAlign:'center'}"
+          :cell-style="{textAlign:'center'}"
+        >
+          <el-table-column label="璁㈠崟缂栧彿" prop="orderNo" :min-width="100" width="100"></el-table-column>
+          <el-table-column label="闆朵欢缂栧彿" prop="partNo" :min-width="150" width="150" show-overflow-tooltip></el-table-column>
+          <el-table-column label="闆朵欢鎻忚堪" prop="partDesc" :min-width="150" show-overflow-tooltip></el-table-column>
+          <el-table-column label="鎶佃揪鐨勯噰璐暟閲�" prop="purQtyInStore" :min-width="120" width="120"></el-table-column>
+          <el-table-column label="渚涘簲鍟嗙紪鍙�" prop="supplierId" :min-width="100" width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column label="渚涘簲鍟嗗悕绉�" prop="supplierName" :min-width="100" width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column label="鎵瑰彿" prop="lotBatchNo" :min-width="100" width="100"></el-table-column>
+          <el-table-column label="鍗曚綅" prop="buyUnitMeas" :min-width="100" width="100"></el-table-column>
+        </el-table>
+        <el-divider content-position="left">鎷嗗垎璇︽儏</el-divider>
+        <el-row>
+          <el-col :span="12">
+            <el-checkbox v-model="pushToMes"><span style="font-weight: bold">鍚屾鍒癕ES</span></el-checkbox>
+          </el-col>
+          <el-col :span="12">
+            <div style="width:100%;text-align: right;margin-bottom:5px">
+              <el-upload
+                style="display:inline-block;margin: 0 8px;"
+                ref="upload"
+                class="upload-demo"
+                :headers="uploadHeader"
+                :action="splitOrderAction"
+                :data="{ifsId:declareObj.id}"
+                :on-change="beforeUpload"
+                :on-error="onError"
+                :on-success="handleSuccess"
+                accept=".xls,.xlsx"
+                :show-file-list="false"
+                :multiple="false">
+                <el-button size="mini" type="primary" :loading="upLoading">瀵煎叆</el-button>
+              </el-upload>
+              <el-button size="mini" type="primary" @click="downloadTemplate">涓嬭浇妯℃澘</el-button>
+            </div>
+          </el-col>
+        </el-row>
+        <el-table
+          :data="orderSplitDetailData"
+          v-loading="detailDataLoading"
+          :header-cell-style="{textAlign:'center'}"
+          :cell-style="{textAlign:'center'}"
+          border>
+          <el-table-column label="闆朵欢缂栧彿" prop="partNo" :min-width="150" width="150" show-overflow-tooltip></el-table-column>
+          <el-table-column label="绯荤粺缂栧彿" prop="systemNo" :min-width="90" width="90" show-overflow-tooltip></el-table-column>
+          <el-table-column label="瑙勬牸" prop="model" :min-width="90" width="90" show-overflow-tooltip></el-table-column>
+          <el-table-column label="闆朵欢鎵瑰彿" prop="lotBatchNo" :min-width="90" width="90" show-overflow-tooltip></el-table-column>
+          <el-table-column label="搴撳瓨鏁伴噺1" prop="length" :min-width="100" width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column label="搴撳瓨鏁伴噺2" prop="qtyStock" :min-width="100" width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column label="缁濈紭棰滆壊" prop="insulationColor" :min-width="90" width="90" show-overflow-tooltip></el-table-column>
+          <el-table-column label="澶栨姢棰滆壊" prop="outerColor" :min-width="90" width="90" show-overflow-tooltip></el-table-column>
+          <el-table-column label="鍗板瓧淇℃伅" prop="letteringInfo" :min-width="90" width="90" show-overflow-tooltip></el-table-column>
+          <el-table-column label="鐩樺彿" prop="drumNo" :min-width="90" width="90" show-overflow-tooltip></el-table-column>
+          <el-table-column label="搴撲綅缂栧彿" prop="locationNo" :min-width="90" width="90" show-overflow-tooltip></el-table-column>
+          <el-table-column label="搴撲綅鏉ユ簮" prop="stockSource" :min-width="90" width="90" show-overflow-tooltip></el-table-column>
+          <el-table-column label="澶囨敞" prop="remark" :min-width="90" show-overflow-tooltip></el-table-column>
+        </el-table>
+      </div>
+      <span slot="footer" class="dialog-footer">
+    <el-button @click="resetOrderSplitData()" :disabled="confirmSplitOrderLoading">鍙� 娑�</el-button>
+    <el-button type="primary" @click="confirmSplitOrder()" :loading="confirmSplitOrderLoading">纭� 瀹�</el-button>
+  </span>
+    </el-dialog>
   </div>
 </template>
 
@@ -186,17 +263,29 @@
   getIfsByFinish,
   getIfsOrder,
   getWarehouseSubmit, inspectionReport, inspectionReportOne, rawAllExport,
-  revokeInspectionReport
+  revokeInspectionReport,downloadTemplate,confirmSplitOrder
 } from '@/api/business/materialInspection'
 import limsTable from "@/components/Table/lims-table.vue";
+import {transformExcel} from '@/utils/file'
 
 export default {
   name: 'RawMaterialInspection',
   // import 寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
   components: { limsTable, DataLookVisible },
+  computed:{
+    splitOrderAction(){
+      return this.javaApi + '/rawMaterialOrder/importSplitOrderData'
+    }
+  },
   data() {
     // 杩欓噷瀛樻斁鏁版嵁
     return {
+      confirmSplitOrderLoading: false,
+      detailDataLoading: false,
+      pushToMes:false,//鏄惁鍚屾鍒癿es
+      orderSplitDialogVisible: false,
+      orderSplitBasicData:[],//璁㈠崟鎷嗗垎涓讳綋琛ㄦ牸鏁版嵁
+      orderSplitDetailData:[],//璁㈠崟鎷嗗垎璇︽儏琛ㄦ牸鏁版嵁
       tableData: [],
       tableLoading: false,
       column: [
@@ -236,7 +325,7 @@
           }
         },
         { label: '璁㈠崟鍙�', prop: 'orderNo' },
-        { label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'qtyArrived', width: '140px', },
+        { label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'purQtyInStore', width: '140px', },
         { label: '鎵瑰彿', prop: 'updateBatchNo' },
         { label: '闆朵欢鍙�', prop: 'partNo' },
         { label: '闆朵欢鎻忚堪', prop: 'partDesc' },
@@ -345,7 +434,7 @@
           }
         },
         { label: '璁㈠崟鍙�', prop: 'orderNo' },
-        { label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'qtyArrived' },
+        { label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'purQtyInStore',width:'160px' },
         { label: '鎶ユ鏃堕棿', prop: 'declareDate' },
         { label: '鎵瑰彿', prop: 'updateBatchNo' },
         { label: '闆朵欢鍙�', prop: 'partNo' },
@@ -452,7 +541,7 @@
         orderNo: '', // 璁㈠崟鍙�
         partNo: '', // 闆朵欢鍙�
         partDesc: '', // 闆朵欢鎻忚堪
-        qtyArrived: '', // 鎶佃揪鐨勯噰璐暟閲�
+        purQtyInStore: '', // 鎶佃揪鐨勯噰璐暟閲�
         supplierId: '', // 渚涘簲鍟嗙紪鍙�
         supplierName: '', // 渚涘簲鍟嗗悕绉�
         updateBatchNo: '', // 鎵瑰彿
@@ -537,7 +626,8 @@
         { label: '鏈笅鍗�', value: 3 },
         { label: '璁╂鏀捐', value: 4 },
       ],
-      outLoading: false
+      outLoading: false,
+      upLoading: false,
     }
   },
   mounted() {
@@ -545,6 +635,81 @@
   },
   // 鏂规硶闆嗗悎
   methods: {
+    resetOrderSplitData(){
+      this.orderSplitBasicData = []
+      this.orderSplitDetailData = []
+      this.pushToMes = false
+      this.$nextTick(()=>{
+        this.confirmSplitOrderLoading = false
+        this.orderSplitDialogVisible = false
+        this.refreshTable()
+      })
+    },
+    confirmSplitOrder(){
+      this.confirmSplitOrderLoading = true
+      let requestData = {
+        ifsId: this.declareObj.id,
+        splitDetailList: this.orderSplitDetailData,
+        pushToMes: this.pushToMes
+      }
+      confirmSplitOrder(requestData).then(res=>{
+        if(res.code===200 && res.data){
+          this.$message.success('璁㈠崟鎷嗗垎鎴愬姛')
+        }else if(this.pushToMes && res.code===200 && !res.data){
+          this.$message.success('璁㈠崟鎷嗗垎鎴愬姛,鍚屾MES澶辫触锛岃鑱旂郴绠$悊鍛�')
+        } else {
+          let msg = res.msg || res.message
+          this.$message({
+            message: '璁㈠崟鎷嗗垎澶辫触: '+msg,
+            dangerouslyUseHTMLString: true,
+            type: 'error'
+          });
+        }
+        this.resetOrderSplitData()
+      }).catch(error=>{
+        console.error(error)
+        this.confirmSplitOrderLoading = false
+      })
+    },
+    handleSuccess(response) {
+      if (response.code === 200) {
+        this.$message.success('涓婁紶鎴愬姛');
+        this.orderSplitDetailData = response.data
+      } else {
+        let msg = response.msg || response.message
+        this.$message({
+          message: '涓婁紶澶辫触: '+msg,
+          dangerouslyUseHTMLString: true,
+          type: 'error'
+        });
+      }
+      this.$nextTick(()=>{
+        this.upLoading = false;
+        this.detailDataLoading = false
+      })
+    },
+    onError(err, file, fileList) {
+      this.$message.error('涓婁紶澶辫触: '+err)
+      this.$refs.upload.clearFiles()
+    },
+    beforeUpload(file) {
+      if (file.size > 1024 * 1024 * 10) {
+        this.$message.error('涓婁紶鏂囦欢涓嶈秴杩�10M');
+        this.$refs.upload.clearFiles()
+        return false;
+      } else {
+        this.upLoading = true;
+        this.detailDataLoading = true
+        return true;
+      }
+    },
+    downloadTemplate(){
+      downloadTemplate().then(res=>{
+        transformExcel(res,'璁㈠崟鎷嗗垎瀵煎叆妯℃澘.xlsx')
+      }).catch(error=>{
+        console.error(error)
+      })
+    },
     // 鍒囨崲tab琛ㄦ牸
     handleTab(m) {
       this.tabIndex = m;
@@ -738,8 +903,21 @@
     // 鎵撳紑鎶ユ纭寮规
     declare(row) {
       this.declareObj = { ...row }
-      this.declareDialogVisible = true
       this.declareType = 'edit'
+      if(row.updateBatchNo && row.updateBatchNo==='*'){
+        this.$confirm('鏄惁瑕佹媶鍒嗚璁㈠崟?', '鎻愮ず', {
+          confirmButtonText: '纭畾',
+          cancelButtonText: '鍙栨秷',
+          type: 'warning'
+        }).then(() => {
+          this.orderSplitBasicData = [row]
+          this.orderSplitDialogVisible = true
+        }).catch(() => {
+          this.declareDialogVisible = true
+        });
+      }else{
+        this.declareDialogVisible = true
+      }
     },
     // 鎻愪氦鎶ユ
     submitDeclare() {
@@ -837,7 +1015,7 @@
         orderNo: '', // 璁㈠崟鍙�
         partNo: '', // 闆朵欢鍙�
         partDesc: '', // 闆朵欢鎻忚堪
-        qtyArrived: '', // 鎶佃揪鐨勯噰璐暟閲�
+        purQtyInStore: '', // 鎶佃揪鐨勯噰璐暟閲�
         supplierId: '', // 渚涘簲鍟嗙紪鍙�
         supplierName: '', // 渚涘簲鍟嗗悕绉�
         updateBatchNo: '', // 鎵瑰彿

--
Gitblit v1.9.3