|
|
@@ -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>
|