yusheng 1 год назад
Родитель
Сommit
819b5a4e87

+ 24 - 18
src/BIZComponents/outdetails.vue

@@ -628,7 +628,10 @@
       },
       async _getInfo(sourceBizNo) {
         const res = await getInfoBySourceBizNoAPI(sourceBizNo);
-        console.log('===', res);
+        this.init(res);
+      },
+      init(res) {
+        console.log(res, 'res');
         this.infoData = res;
         this.extInfo = res.extInfo;
         this.productList = res?.outInDetailList?.map(
@@ -682,23 +685,26 @@
         this.multipleSelection = val;
       },
       getValue() {
-        return this.multipleSelection.map(item=>{
-          item['outInCode']=this.infoData.bizNo
-          item['outboundType']=item.outType
-          item['outboundDetailId']=item.id
-          item['productName']=item.categoryName
-          item['productCode']=item.categoryCode
-          item['packageCount']=item.packingQuantity
-          item['measurementCount']=item.measureQuantity
-          item['measurementUnit']=item.measureUnit
-          item['productId']=item.categoryId
-          item['carveCode']=item.engrave
- 
-          item['warehouseId']=this.productList[0].warehouseId
-          item['warehouseName']= this.productList[0].warehouseName
-   
-          item.id=''
-          return item
+        return this.multipleSelection.map((item) => {
+          item['outInCode'] = this.infoData.bizNo;
+          item['outboundType'] = item.outType;
+          item['outboundDetailId'] = item.id;
+          item['productName'] = item.categoryName;
+          item['productCode'] = item.categoryCode;
+          item['packageCount'] = item.packingQuantity;
+          item['measurementCount'] = item.measureQuantity;
+          item['measurementUnit'] = item.measureUnit;
+          item['productId'] = item.categoryId;
+          item['carveCode'] = item.engrave;
+          this.productList.forEach((val) => {
+            if (item.categoryCode == val.categoryCode) {
+              item['warehouseId'] = val.warehouseId;
+              item['warehouseName'] = val.warehouseName;
+            }
+          });
+
+          item.id = '';
+          return item;
         });
       },
       download(row) {

+ 9 - 1
src/api/wms/index.js

@@ -157,7 +157,15 @@ export async function getInfoBySourceBizNoAPI(sourceBizNo) {
   }
   return Promise.resolve({});
 }
-
+// 查询出入库详情
+//sourceBizNo
+export async function getInfoBySourceBizNoAll(sourceBizNo) {
+  const res = await request.get(`/wms/outintwo/getInfoBySourceBizNoAll/${sourceBizNo}`, {});
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.resolve({});
+}
 // 仓库树
 export async function getWarehouseTrees(data) {
   const res = await request.get('/wms/warehouse/getTrees', {

+ 25 - 2
src/views/purchasingManage/purchaseOrder/components/detailDialog.vue

@@ -40,7 +40,7 @@
       >
         <headerTitle title="订单信息"> </headerTitle>
         <el-row>
-          <el-col :span="12">
+          <el-col :span="8">
             <el-form-item label="订单编号:" prop="orderNo">
               <el-input v-model="form.orderNo" disabled></el-input>
             </el-form-item>
@@ -146,7 +146,7 @@
               <!--              </div>-->
             </el-form-item>
           </el-col>
-          <el-col :span="12">
+          <el-col :span="8">
             <!--            <el-form-item-->
             <!--              label="合同名称:"-->
             <!--              prop="contractName">-->
@@ -195,6 +195,29 @@
               </el-select>
             </el-form-item>
           </el-col>
+          <el-col :span="8">
+          <el-form-item label="订单总金额" prop="orderTotalPrice">
+            <el-input v-model="form.orderTotalPrice" disabled />
+          </el-form-item>
+          <el-form-item label="发货总金额" prop="sendTotalPrice">
+            <el-input v-model="form.sendTotalPrice" disabled />
+          </el-form-item>
+          <el-form-item label="发货总数量" prop="sendTotalCount">
+            <el-input v-model="form.sendTotalCount" disabled />
+          </el-form-item>
+          <el-form-item label="收货总金额" prop="receiveTotalPrice">
+            <el-input v-model="form.receiveTotalPrice" disabled />
+          </el-form-item>
+          <el-form-item label="收货总数量" prop="receiveTotalCount">
+            <el-input v-model="form.receiveTotalCount" disabled />
+          </el-form-item>
+          <el-form-item label="退货总金额" prop="returnTotalPrice">
+            <el-input v-model="form.returnTotalPrice" disabled />
+          </el-form-item>
+          <el-form-item label="退货总数量" prop="returnTotalCount">
+            <el-input v-model="form.returnTotalCount" disabled />
+          </el-form-item>
+        </el-col>
         </el-row>
         <headerTitle title="基本信息"></headerTitle>
         <el-row>

+ 1 - 1
src/views/saleManage/saleOrder/customerReturnOrder/returnOrderDialog.vue

@@ -121,7 +121,7 @@ export default {
         size: limit,
         ...where,
         reviewStatus: '2',
-        // returnSourceType:'1',
+        returnSourceType:'1',
         hasHandleReceipt: 0
       });
     },

+ 445 - 419
src/views/saleManage/saleOrder/invoice/components/detailDialog.vue

@@ -11,8 +11,11 @@
     width="70%"
     @close="cancel"
   >
-  <template slot="title">
-     <modalTitle :title="title" @setFullscreen="fullscreen=!fullscreen"></modalTitle>
+    <template slot="title">
+      <modalTitle
+        :title="title"
+        @setFullscreen="fullscreen = !fullscreen"
+      ></modalTitle>
     </template>
     <div class="switch">
       <div class="switch_left">
@@ -28,51 +31,37 @@
         </ul>
       </div>
     </div>
-    <div v-if="activeComp==='main'">
+    <div v-if="activeComp === 'main'">
       <el-form ref="form" :model="form" :rules="rules" label-width="140px">
         <headerTitle title="发货信息"></headerTitle>
         <el-row>
           <el-col :span="12">
-            <el-form-item
-              label="客户名称:"
-              prop="contactName">
+            <el-form-item label="客户名称:" prop="contactName">
               <el-input v-model="form.contactName" disabled></el-input>
             </el-form-item>
-            <el-form-item
-              label="客户联系人:"
-              prop="linkName">
+            <el-form-item label="客户联系人:" prop="linkName">
               <el-input v-model="form.linkName" disabled></el-input>
             </el-form-item>
-            <el-form-item
-              label="客户电话:"
-              prop="linkPhone">
+            <el-form-item label="客户电话:" prop="linkPhone">
               <el-input v-model="form.linkPhone" disabled></el-input>
             </el-form-item>
 
-            <el-form-item
-              label="客户地址:"
-              prop="partaAddress">
+            <el-form-item label="客户地址:" prop="partaAddress">
               <el-input v-model="form.partaAddress" disabled></el-input>
             </el-form-item>
-            <el-form-item
-              label="计价方式:">
+            <el-form-item label="计价方式:">
               <el-select v-model="form.pricingWay" disabled style="width: 100%">
                 <el-option label="按数量计费" :value="1"></el-option>
                 <el-option label="按重量计费" :value="2"></el-option>
               </el-select>
             </el-form-item>
-            <el-form-item
-              label="车牌号:"
-              prop="partaAddress">
-              <el-input v-model="form.carNo" disabled ></el-input>
+            <el-form-item label="车牌号:" prop="partaAddress">
+              <el-input v-model="form.carNo" disabled></el-input>
             </el-form-item>
-            <el-form-item
-              label="托盘数:">
-                 <el-input v-model="form.trayNum" disabled ></el-input>
+            <el-form-item label="托盘数:">
+              <el-input v-model="form.trayNum" disabled></el-input>
             </el-form-item>
-            <el-form-item
-              label="发货附件:"
-              prop="sendFiles">
+            <el-form-item label="发货附件:" prop="sendFiles">
               <fileMain v-model="row.sendFiles" type="view"></fileMain>
               <!--            <div v-if="detailData.sendFiles && detailData.sendFiles?.length">-->
               <!--              <el-link-->
@@ -86,10 +75,7 @@
               <!--              >-->
               <!--            </div>-->
             </el-form-item>
-            <el-form-item
-              label="回执附件:"
-              prop="sendFiles"
-            >
+            <el-form-item label="回执附件:" prop="sendFiles">
               <fileMain v-model="row.repliedFiles" type="view"></fileMain>
               <!--            <div v-if="detailData.repliedFiles && detailData.repliedFiles?.length">-->
               <!--              <el-link-->
@@ -101,7 +87,6 @@
               <!--                {{ link.name }}</el-link>-->
               <!--            </div>-->
             </el-form-item>
-
           </el-col>
 
           <el-col :span="12">
@@ -113,15 +98,10 @@
               prop="carNo">
               <el-input v-model="form.carNo" disabled></el-input>
             </el-form-item> -->
-            <el-form-item
-              label="受托收货单编码:"
-              prop="entrustedCode">
+            <el-form-item label="受托收货单编码:" prop="entrustedCode">
               <el-input v-model="form.entrustedCode" disabled></el-input>
             </el-form-item>
-            <el-form-item
-              label="发货单编码:"
-              prop="docNo"
-            >
+            <el-form-item label="发货单编码:" prop="docNo">
               <el-input v-model="form.docNo" disabled></el-input>
             </el-form-item>
             <el-form-item prop="orderNo" label="订单编码:">
@@ -134,16 +114,20 @@
               </el-select>
             </el-form-item>
 
-            <el-form-item
-              label="审核状态:"
-              prop="reviewStatus">
-              <el-select v-model="form.reviewStatus" disabled style="width: 100%">
-                <el-option v-for="item in reviewStatusEnum" :value="item.value" :label="item.label"></el-option>
+            <el-form-item label="审核状态:" prop="reviewStatus">
+              <el-select
+                v-model="form.reviewStatus"
+                disabled
+                style="width: 100%"
+              >
+                <el-option
+                  v-for="item in reviewStatusEnum"
+                  :value="item.value"
+                  :label="item.label"
+                ></el-option>
               </el-select>
             </el-form-item>
-            <el-form-item
-              label="制单人:"
-              prop="makerName">
+            <el-form-item label="制单人:" prop="makerName">
               <el-input v-model="form.makerName" disabled></el-input>
             </el-form-item>
           </el-col>
@@ -166,7 +150,9 @@
             </div>
             </template> -->
             <template v-slot:technicalDrawings="{ row }">
-              <div v-if="row.technicalDrawings && row.technicalDrawings?.length">
+              <div
+                v-if="row.technicalDrawings && row.technicalDrawings?.length"
+              >
                 <el-link
                   v-for="link in row.technicalDrawings"
                   :key="link.id"
@@ -175,34 +161,38 @@
                   @click="downloadFile(link)"
                 >
                   {{ link.name }}
-                </el-link
-                >
+                </el-link>
               </div>
             </template>
             <template v-slot:packagingStrength="scope">
-              <DictSelection disabled dict-name="包装强度"
-                             v-model="scope.row.extField.packagingStrength"></DictSelection>
+              <DictSelection
+                disabled
+                dict-name="包装强度"
+                v-model="scope.row.extField.packagingStrength"
+              ></DictSelection>
             </template>
             <template v-slot:packagingDensity="scope">
-              <DictSelection disabled dict-name="包装密度"
-                             v-model="scope.row.extField.packagingDensity"></DictSelection>
+              <DictSelection
+                disabled
+                dict-name="包装密度"
+                v-model="scope.row.extField.packagingDensity"
+              ></DictSelection>
             </template>
             <template v-slot:stockLedger="scope">
-              <el-popover
-                placement="right"
-                width="60%"
-                trigger="hover">
-                <ele-pro-table :ref="'childrenTable'+scope.$index"
-                               row-key="id"
-                               max-height="300px"
-                               :needPage="false"
-                               :columns="childrenColumns"
-                               :toolkit="[]"
-                               :datasource="scope.row.sendProductDetail"
-                               cache-key="stockLedgerRoleTable" class="time-form">
+              <el-popover placement="right" width="60%" trigger="hover">
+                <ele-pro-table
+                  :ref="'childrenTable' + scope.$index"
+                  row-key="id"
+                  max-height="300px"
+                  :needPage="false"
+                  :columns="childrenColumns"
+                  :toolkit="[]"
+                  :datasource="scope.row.sendProductDetail"
+                  cache-key="stockLedgerRoleTable"
+                  class="time-form"
+                >
                 </ele-pro-table>
                 <el-button type="text" slot="reference">明细</el-button>
-
               </el-popover>
             </template>
           </ele-pro-table>
@@ -214,20 +204,37 @@
           <stowageTable ref="stowageTableRef" dialog-type="view"></stowageTable>
         </el-tab-pane>
         <el-tab-pane label="运输清单">
-          <taskInfoTable ref="taskInfoTableRef" dialog-type="view"></taskInfoTable>
+          <taskInfoTable
+            ref="taskInfoTableRef"
+            dialog-type="view"
+          ></taskInfoTable>
         </el-tab-pane>
         <el-tab-pane label="替代料" name="5">
-        <replaceTable
-          :pricingWay="form.pricingWay"
-          :disabled="true"
-          ref="replaceRef"
-        ></replaceTable>
-      </el-tab-pane>
+          <replaceTable
+            :pricingWay="form.pricingWay"
+            :disabled="true"
+            ref="replaceRef"
+          ></replaceTable>
+        </el-tab-pane>
       </el-tabs>
     </div>
 
-    <bpmDetail v-if="activeComp==='bpm'&&form.processInstanceId" :id="form.processInstanceId"></bpmDetail>
-    <out-bound-details v-if="activeComp==='store'" ref="innerBoundDetailsRef"></out-bound-details>
+    <bpmDetail
+      v-if="activeComp === 'bpm' && form.processInstanceId"
+      :id="form.processInstanceId"
+    ></bpmDetail>
+ 
+    <el-tabs type="border-card" v-if="activeComp === 'store'">
+  <el-tab-pane :label="'出库单'+(index+1)" v-for="(item,index) in qmsAll" :key="item.id">
+    <out-bound-details
+      
+      :ref="'innerBoundDetailsRef'+index"
+    ></out-bound-details>
+  </el-tab-pane>
+  <!-- <el-tab-pane label="配置管理">配置管理</el-tab-pane>
+  <el-tab-pane label="角色管理">角色管理</el-tab-pane>
+  <el-tab-pane label="定时任务补偿">定时任务补偿</el-tab-pane> -->
+</el-tabs>
     <div slot="footer" class="footer">
       <el-button @click="cancel">返回</el-button>
     </div>
@@ -235,365 +242,384 @@
 </template>
 
 <script>
-import {getFile} from '@/api/system/file';
-import dictMixins from '@/mixins/dictMixins';
-import {reviewStatusEnum} from '@/enum/dict';
-import {copyObj} from '@/utils/util';
-import {getSendSaleOrderrecordDetailSplit} from '@/api/saleManage/saleordersendrecord';
-import bpmDetail from '@/views/bpm/processInstance/detail.vue';
-import outBoundDetails from "@/BIZComponents/outdetails.vue";
-import taskInfoTable from "@/views/saleManage/saleOrder/invoice/components/taskInfoTable.vue";
-import stowageTable from "@/views/saleManage/saleOrder/invoice/components/stowageTable.vue";
-import getDynamicsColumns from "@/mixins/getDynamicsColumns";
-import fileMain from "@/components/addDoc/index.vue";
-import PalletTable from "@/views/saleManage/saleOrder/invoice/components/palletTable.vue";
-import modalTitle from '@/BIZComponents/modalTitle.vue';
-import replaceTable from './replaceTable.vue';
-
-
-export default {
-  mixins: [dictMixins, getDynamicsColumns],
-  components: {
-    PalletTable,
-    fileMain,
-    taskInfoTable,
-    outBoundDetails,
-    bpmDetail, stowageTable,modalTitle,replaceTable
-  },
-  data() {
-    return {
-      activeComp: 'main',
-      tabOptions: [
-        {key: 'main', name: '发货单详情'},
-        {key: 'bpm', name: '流程详情'},
-        {key: 'store', name: '出库单详情'},
-      ],
-      fullscreen:false,
-      reviewStatusEnum,
-      visible: false,
-      outboundDetailsDialogFlag: false,
-      detailId: '',
-      title: '详情',
-      row: {},
-      activeName: 'base',
-      form: {
-        orderFiles: []
-      },
-      rules: {},
-      detailData: {},
-      childrenColumns: [
-        {
-          width: 45,
-          type: 'index',
-          columnKey: 'index',
-          align: 'center',
-          fixed: 'left',
-        },
-        {
-          minWidth: 100,
-          prop: 'code',
-          label: '编码',
-          align: 'center',
-        },
-        {
-          minWidth: 140,
-          prop: 'barcodes',
-          label: '发货条码',
-          align: 'center',
-        },
-        {
-          minWidth: 100,
-          prop: 'engrave',
-          label: '刻码',
-          align: 'center',
-        }
-      ],
+  import { getFile } from '@/api/system/file';
+  import dictMixins from '@/mixins/dictMixins';
+  import { reviewStatusEnum } from '@/enum/dict';
+  import { copyObj } from '@/utils/util';
+  import { getSendSaleOrderrecordDetailSplit } from '@/api/saleManage/saleordersendrecord';
+  import bpmDetail from '@/views/bpm/processInstance/detail.vue';
+  import outBoundDetails from '@/BIZComponents/outdetails.vue';
+  import taskInfoTable from '@/views/saleManage/saleOrder/invoice/components/taskInfoTable.vue';
+  import stowageTable from '@/views/saleManage/saleOrder/invoice/components/stowageTable.vue';
+  import getDynamicsColumns from '@/mixins/getDynamicsColumns';
+  import fileMain from '@/components/addDoc/index.vue';
+  import PalletTable from '@/views/saleManage/saleOrder/invoice/components/palletTable.vue';
+  import modalTitle from '@/BIZComponents/modalTitle.vue';
+  import replaceTable from './replaceTable.vue';
 
-    };
-  },
-  computed: {
-    competAnalysisListcolumns() {
-      return [
-        {
-          width: 45,
-          type: 'index',
-          columnKey: 'index',
-          align: 'center',
-          fixed: 'left'
-        },
-        {
-          width: 200,
-          prop: 'productName',
-          label: '名称',
-          slot: 'productName',
-          align: 'center',
-        },
-        {
-          width: 120,
-          prop: 'productCode',
-          label: '编码',
-          slot: 'productCode',
-          align: 'center',
-        },
-        {
-          width: 200,
-          prop: 'productCategoryName',
-          label: '类型',
-          slot: 'productCategoryName',
-          align: 'center',
-        },
-        {
-          width: 160,
-          prop: 'productBrand',
-          label: '牌号',
-          slot: 'productBrand',
-          align: 'center',
-        },
-        {
-          width: 160,
-          prop: 'batchNo',
-          label: '批次号',
-          slot: 'batchNo',
-          align: 'center',
-        },
-        {
-          width: 120,
-          prop: 'modelType',
-          label: '型号',
-          slot: 'modelType',
-          align: 'center',
-        },
-        {
-          width: 120,
-          prop: 'specification',
-          label: '规格',
-          slot: 'specification',
-          align: 'center',
+  import { getInfoBySourceBizNoAll } from '@/api/wms';
+  import { fieldModelAPI } from '@/api/main';
+  export default {
+    mixins: [dictMixins, getDynamicsColumns],
+    components: {
+      PalletTable,
+      fileMain,
+      taskInfoTable,
+      outBoundDetails,
+      bpmDetail,
+      stowageTable,
+      modalTitle,
+      replaceTable
+    },
+    data() {
+      return {
+        activeComp: 'main',
+        tabOptions: [
+          { key: 'main', name: '发货单详情' },
+          { key: 'bpm', name: '流程详情' },
+          { key: 'store', name: '出库单详情' }
+        ],
+        fullscreen: false,
+        reviewStatusEnum,
+        visible: false,
+        outboundDetailsDialogFlag: false,
+        qmsAll:[],
+        detailId: '',
+        title: '详情',
+        row: {},
+        activeName: 'base',
+        form: {
+          orderFiles: []
         },
+        rules: {},
+        detailData: {},
+        childrenColumns: [
+          {
+            width: 45,
+            type: 'index',
+            columnKey: 'index',
+            align: 'center',
+            fixed: 'left'
+          },
+          {
+            minWidth: 100,
+            prop: 'code',
+            label: '编码',
+            align: 'center'
+          },
+          {
+            minWidth: 140,
+            prop: 'barcodes',
+            label: '发货条码',
+            align: 'center'
+          },
+          {
+            minWidth: 100,
+            prop: 'engrave',
+            label: '刻码',
+            align: 'center'
+          }
+        ]
+      };
+    },
+    computed: {
+      competAnalysisListcolumns() {
+        return [
+          {
+            width: 45,
+            type: 'index',
+            columnKey: 'index',
+            align: 'center',
+            fixed: 'left'
+          },
+          {
+            width: 200,
+            prop: 'productName',
+            label: '名称',
+            slot: 'productName',
+            align: 'center'
+          },
+          {
+            width: 120,
+            prop: 'productCode',
+            label: '编码',
+            slot: 'productCode',
+            align: 'center'
+          },
+          {
+            width: 200,
+            prop: 'productCategoryName',
+            label: '类型',
+            slot: 'productCategoryName',
+            align: 'center'
+          },
+          {
+            width: 160,
+            prop: 'productBrand',
+            label: '牌号',
+            slot: 'productBrand',
+            align: 'center'
+          },
+          {
+            width: 160,
+            prop: 'batchNo',
+            label: '批次号',
+            slot: 'batchNo',
+            align: 'center'
+          },
+          {
+            width: 120,
+            prop: 'modelType',
+            label: '型号',
+            slot: 'modelType',
+            align: 'center'
+          },
+          {
+            width: 120,
+            prop: 'specification',
+            label: '规格',
+            slot: 'specification',
+            align: 'center'
+          },
 
-        {
-          width: 200,
-          prop: 'customerMark',
-          label: '客户代号',
-          slot: 'customerMark',
-          align: 'center',
-        },
-        {
-          width: 200,
-          prop: 'warehouseName',
-          label: '仓库名称',
-          slot: 'warehouseName',
-          align: 'center',
-        },
-        {
-          width: 100,
-          prop: 'stockLedger',
-          label: '发货明细',
-          slot: 'stockLedger',
-          align: 'center'
-        },
+          {
+            width: 200,
+            prop: 'customerMark',
+            label: '客户代号',
+            slot: 'customerMark',
+            align: 'center'
+          },
+          {
+            width: 200,
+            prop: 'warehouseName',
+            label: '仓库名称',
+            slot: 'warehouseName',
+            align: 'center'
+          },
+          {
+            width: 100,
+            prop: 'stockLedger',
+            label: '发货明细',
+            slot: 'stockLedger',
+            align: 'center'
+          },
 
-        {
-          width: 120,
-          prop: 'totalCount',
-          label: '数量',
-          slot: 'totalCount',
-          align: 'center',
-        },
-        {
-          width: 120,
-          prop: 'measuringUnit',
-          label: '计量单位',
-          slot: 'measuringUnit',
-          align: 'center',
-        },
-        {
-          width: 120,
-          prop: 'singleWeight',
-          label: '单重',
-          slot: 'singleWeight',
-          align: "center"
-        },
-        {
-          width: 100,
-          prop: 'receiveTotalWeight',
-          label: '收货总重',
-          slot: 'receiveTotalWeight',
-          align: "center"
-        },
-        {
-          width: 200,
-          prop: 'sendTotalWeight',
-          label: '发货总重',
-          slot: 'sendTotalWeight',
-          align: "center",
-          headerSlot: 'headerTotalCount'
-        },
+          {
+            width: 120,
+            prop: 'totalCount',
+            label: '数量',
+            slot: 'totalCount',
+            align: 'center'
+          },
+          {
+            width: 120,
+            prop: 'measuringUnit',
+            label: '计量单位',
+            slot: 'measuringUnit',
+            align: 'center'
+          },
+          {
+            width: 120,
+            prop: 'singleWeight',
+            label: '单重',
+            slot: 'singleWeight',
+            align: 'center'
+          },
+          {
+            width: 100,
+            prop: 'receiveTotalWeight',
+            label: '收货总重',
+            slot: 'receiveTotalWeight',
+            align: 'center'
+          },
+          {
+            width: 200,
+            prop: 'sendTotalWeight',
+            label: '发货总重',
+            slot: 'sendTotalWeight',
+            align: 'center',
+            headerSlot: 'headerTotalCount'
+          },
 
-        {
-          width: 100,
-          prop: 'increaseTotalWeight',
-          label: '增重重量',
-          slot: 'increaseTotalWeight',
-          align: "center"
-        },
-        {
-          width: 100,
-          prop: 'weightUnit',
-          label: '重量单位',
-          slot: 'weightUnit',
-          align: "center"
-        },
-        {
-          width: 160,
-          prop: 'singlePrice',
-          label: '单价',
-          slot: 'singlePrice',
-          align: 'center',
-        },
-        {
-          width: 160,
-          prop: 'discountSinglePrice',
-          label: '折后单价',
-          slot: 'discountSinglePrice',
-          align: 'center'
-        },
-        {
-          width: 120,
-          prop: 'totalPrice',
-          label: '合计',
-          slot: 'totalPrice',
-          align: 'center'
-        },
-        {
-          width: 120,
-          prop: 'discountTotalPrice',
-          label: '折后合计',
-          slot: 'discountTotalPrice',
-          align: 'center'
-        },
-        ...this.dynamicsColumns,
-        {
-          width: 120,
-          prop: 'deliveryDays',
-          label: '交期(天)',
-          slot: 'deliveryDays',
-          align: 'center',
-        },
-        {
-          width: 200,
-          prop: 'guaranteePeriod',
-          label: '质保期',
-          slot: 'guaranteePeriod',
-          formatter: (_row, _column, cellValue) => {
-            return (_row.guaranteePeriod || '') + _row.guaranteePeriodUnitName;
+          {
+            width: 100,
+            prop: 'increaseTotalWeight',
+            label: '增重重量',
+            slot: 'increaseTotalWeight',
+            align: 'center'
           },
-          align: 'center',
-        },
-        // {
-        //   width: 120,
-        //   prop: 'guaranteePeriodUnitCode',
-        //   label: '',
-        //   slot: 'guaranteePeriodUnitCode'
-        // },
-        {
-          width: 120,
-          prop: 'technicalAnswerName',
-          label: '技术答疑人',
-          slot: 'technicalAnswerName',
-          align: 'center',
-        },
-        {
-          width: 220,
-          prop: 'technicalParams',
-          label: '技术参数',
-          slot: 'technicalParams',
-          align: 'center',
-        },
-        {
-          width: 240,
-          prop: 'technicalDrawings',
-          label: '技术图纸',
-          slot: 'technicalDrawings',
-          formatter: (_row, _column, cellValue) => {
-            return (_row.guaranteePeriod || '') + _row.guaranteePeriodUnitName;
+          {
+            width: 100,
+            prop: 'weightUnit',
+            label: '重量单位',
+            slot: 'weightUnit',
+            align: 'center'
           },
-          align: 'center',
-        },
-        {
-          width: 220,
-          prop: 'remark',
-          label: '备注',
-          slot: 'remark',
-          align: 'center',
-        }
-      ]
-    }
-  },
-  methods: {
-    async open(row) {
-      this.form = row;
-      this.visible = true;
-      await this.getDetailData(row.id);
-      this.detailId = row.id;
-      console.log(this.competAnalysisListcolumns);
-    },
-    handleTag(val) {
-      this.activeComp = val
-      if (val == 'store') {
-        this.$nextTick(() => {
-          this.$refs.innerBoundDetailsRef._getInfo(this.form.docNo);
-        })
+          {
+            width: 160,
+            prop: 'singlePrice',
+            label: '单价',
+            slot: 'singlePrice',
+            align: 'center'
+          },
+          {
+            width: 160,
+            prop: 'discountSinglePrice',
+            label: '折后单价',
+            slot: 'discountSinglePrice',
+            align: 'center'
+          },
+          {
+            width: 120,
+            prop: 'totalPrice',
+            label: '合计',
+            slot: 'totalPrice',
+            align: 'center'
+          },
+          {
+            width: 120,
+            prop: 'discountTotalPrice',
+            label: '折后合计',
+            slot: 'discountTotalPrice',
+            align: 'center'
+          },
+          ...this.dynamicsColumns,
+          {
+            width: 120,
+            prop: 'deliveryDays',
+            label: '交期(天)',
+            slot: 'deliveryDays',
+            align: 'center'
+          },
+          {
+            width: 200,
+            prop: 'guaranteePeriod',
+            label: '质保期',
+            slot: 'guaranteePeriod',
+            formatter: (_row, _column, cellValue) => {
+              return (
+                (_row.guaranteePeriod || '') + _row.guaranteePeriodUnitName
+              );
+            },
+            align: 'center'
+          },
+          // {
+          //   width: 120,
+          //   prop: 'guaranteePeriodUnitCode',
+          //   label: '',
+          //   slot: 'guaranteePeriodUnitCode'
+          // },
+          {
+            width: 120,
+            prop: 'technicalAnswerName',
+            label: '技术答疑人',
+            slot: 'technicalAnswerName',
+            align: 'center'
+          },
+          {
+            width: 220,
+            prop: 'technicalParams',
+            label: '技术参数',
+            slot: 'technicalParams',
+            align: 'center'
+          },
+          {
+            width: 240,
+            prop: 'technicalDrawings',
+            label: '技术图纸',
+            slot: 'technicalDrawings',
+            formatter: (_row, _column, cellValue) => {
+              return (
+                (_row.guaranteePeriod || '') + _row.guaranteePeriodUnitName
+              );
+            },
+            align: 'center'
+          },
+          {
+            width: 220,
+            prop: 'remark',
+            label: '备注',
+            slot: 'remark',
+            align: 'center'
+          }
+        ];
       }
     },
-    cancel() {
-      this.$nextTick(() => {
-        // 关闭后,销毁所有的表单数据
-        (this.form = copyObj(this.formDef)),
-          (this.otherForm = copyObj(this.otherFormDef)),
-          (this.tableBankData = []);
-        this.tableLinkData = [];
-        this.visible = false;
-      });
-    },
-    downloadFile(file) {
-      getFile({objectName: file.storePath}, file.name);
-    },
-    async getDetailData(id) {
-      this.loading = true;
-      const data = await getSendSaleOrderrecordDetailSplit(id);
-      this.loading = false;
-      if (data) {
-        this.form = data;
-        this.detailData = data;
-        this.$refs.taskInfoTableRef && this.$refs.taskInfoTableRef.putTableValue(data.logisticTrakListNoteVOList)
-        this.$refs.stowageTableRef && this.$refs.stowageTableRef.putTableValue(data.carList)
-        this.$refs.palletTableRef && this.$refs.palletTableRef.putTableValue(data.trayList);
-        this.form.pricingWay = data?.saleOrder?.pricingWay
-        this.$refs.replaceRef &&
-          this.$refs.replaceRef.putTableValue(data.replaceList);
+    methods: {
+      async open(row) {
+        this.activeComp = 'main';
+        this.form = row;
+        this.visible = true;
+        await this.getDetailData(row.id);
+        this.detailId = row.id;
+        console.log(this.competAnalysisListcolumns);
+      },
+      handleTag(val) {
+        this.activeComp = val;
+        if (val == 'store') {
+          getInfoBySourceBizNoAll(this.form.docNo).then((res) => {
+            this.qmsAll = res;
+            this.$nextTick(() => {
+              res.forEach((item,index)=>{
+                this.$refs['innerBoundDetailsRef'+index]&&this.$refs['innerBoundDetailsRef'+index][0].init(item)
+              })
+            });
+          });
+        }
+      },
+      cancel() {
+        this.$nextTick(() => {
+          // 关闭后,销毁所有的表单数据
+          (this.form = copyObj(this.formDef)),
+            (this.otherForm = copyObj(this.otherFormDef)),
+            (this.tableBankData = []);
+          this.tableLinkData = [];
+          this.visible = false;
+        });
+      },
+      downloadFile(file) {
+        getFile({ objectName: file.storePath }, file.name);
+      },
+      async getDetailData(id) {
+        this.loading = true;
+        const data = await getSendSaleOrderrecordDetailSplit(id);
+        this.loading = false;
+        if (data) {
+          this.form = data;
+          this.detailData = data;
+          this.$refs.taskInfoTableRef &&
+            this.$refs.taskInfoTableRef.putTableValue(
+              data.logisticTrakListNoteVOList
+            );
+          this.$refs.stowageTableRef &&
+            this.$refs.stowageTableRef.putTableValue(data.carList);
+          this.$refs.palletTableRef &&
+            this.$refs.palletTableRef.putTableValue(data.trayList);
+          this.form.pricingWay = data?.saleOrder?.pricingWay;
+          this.$refs.replaceRef &&
+            this.$refs.replaceRef.putTableValue(data.replaceList);
+        }
       }
     }
-  }
-};
+  };
 </script>
 
 <style scoped lang="scss">
-.ele-dialog-form {
-  .el-form-item {
-    margin-bottom: 10px;
+  .ele-dialog-form {
+    .el-form-item {
+      margin-bottom: 10px;
+    }
   }
-}
 
-.headbox {
-  display: flex;
-  justify-content: flex-start;
-  align-items: center;
+  .headbox {
+    display: flex;
+    justify-content: flex-start;
+    align-items: center;
 
-  .amount {
-    font-size: 14px;
-    font-weight: bold;
-    margin-right: 20px;
+    .amount {
+      font-size: 14px;
+      font-weight: bold;
+      margin-right: 20px;
+    }
   }
-}
 </style>