|
|
@@ -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,30 +31,22 @@
|
|
|
</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
|
|
|
@@ -61,9 +56,7 @@
|
|
|
<el-option label="按重量计费" :value="2"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item> -->
|
|
|
- <el-form-item
|
|
|
- label="发货附件:"
|
|
|
- prop="sendFiles">
|
|
|
+ <el-form-item label="发货附件:" prop="sendFiles">
|
|
|
<fileMain v-model="form.sendFiles" type="view"></fileMain>
|
|
|
<!-- <div v-if="detailData.sendFiles && detailData.sendFiles?.length">-->
|
|
|
<!-- <el-link-->
|
|
|
@@ -77,10 +70,7 @@
|
|
|
<!-- >-->
|
|
|
<!-- </div>-->
|
|
|
</el-form-item>
|
|
|
- <el-form-item
|
|
|
- label="回执附件:"
|
|
|
- prop="sendFiles"
|
|
|
- >
|
|
|
+ <el-form-item label="回执附件:" prop="sendFiles">
|
|
|
<fileMain v-model="form.repliedFiles" type="view"></fileMain>
|
|
|
<!-- <div v-if="detailData.repliedFiles && detailData.repliedFiles?.length">-->
|
|
|
<!-- <el-link-->
|
|
|
@@ -92,7 +82,6 @@
|
|
|
<!-- {{ link.name }}</el-link>-->
|
|
|
<!-- </div>-->
|
|
|
</el-form-item>
|
|
|
-
|
|
|
</el-col>
|
|
|
|
|
|
<el-col :span="12">
|
|
|
@@ -104,24 +93,20 @@
|
|
|
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.docNo" disabled></el-input>
|
|
|
</el-form-item>
|
|
|
-<!-- <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="entrustedCode">-->
|
|
|
+ <!-- <el-input v-model="form.entrustedCode" disabled></el-input>-->
|
|
|
+ <!-- </el-form-item>-->
|
|
|
+ <el-form-item label="发货单编码:" prop="docNo">
|
|
|
<el-input v-model="form.sendNo" disabled></el-input>
|
|
|
</el-form-item>
|
|
|
-<!-- <el-form-item prop="orderNo" label="订单编码:">-->
|
|
|
-<!-- <el-input v-model="form.orderNo" disabled></el-input>-->
|
|
|
-<!-- </el-form-item>-->
|
|
|
+ <!-- <el-form-item prop="orderNo" label="订单编码:">-->
|
|
|
+ <!-- <el-input v-model="form.orderNo" disabled></el-input>-->
|
|
|
+ <!-- </el-form-item>-->
|
|
|
<el-form-item prop="replied" label="是否回执:">
|
|
|
<el-select v-model="form.replied" disabled style="width: 100%">
|
|
|
<el-option label="是" :value="1"></el-option>
|
|
|
@@ -129,33 +114,38 @@
|
|
|
</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>
|
|
|
</el-row>
|
|
|
</el-form>
|
|
|
<el-tabs type="border-card">
|
|
|
- <el-tab-pane label="收货产品明细">
|
|
|
- <ele-pro-table
|
|
|
- ref="table"
|
|
|
- :needPage="false"
|
|
|
- :columns="columns"
|
|
|
- :toolkit="[]"
|
|
|
- :datasource="form.productList"
|
|
|
- row-key="id"
|
|
|
- >
|
|
|
- </ele-pro-table>
|
|
|
- </el-tab-pane>
|
|
|
+ <el-tab-pane label="收货产品明细">
|
|
|
+ <ele-pro-table
|
|
|
+ ref="table"
|
|
|
+ :needPage="false"
|
|
|
+ :columns="columns"
|
|
|
+ :toolkit="[]"
|
|
|
+ :datasource="form.productList"
|
|
|
+ row-key="id"
|
|
|
+ >
|
|
|
+
|
|
|
+ </ele-pro-table>
|
|
|
+ </el-tab-pane>
|
|
|
<el-tab-pane label="托盘清单">
|
|
|
<palletTable ref="palletTableRef" type="view"></palletTable>
|
|
|
</el-tab-pane>
|
|
|
@@ -163,13 +153,19 @@
|
|
|
<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-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>
|
|
|
+ <!-- <out-bound-details v-if="activeComp==='store'" ref="innerBoundDetailsRef"></out-bound-details>-->
|
|
|
<div slot="footer" class="footer">
|
|
|
<el-button @click="cancel">返回</el-button>
|
|
|
</div>
|
|
|
@@ -177,54 +173,58 @@
|
|
|
</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 {getSendSaleOrderConfirmDetail, getSendSaleOrderConfirmDetailSplit} from "@/api/saleManage/invoiceConfirm";
|
|
|
-import modalTitle from '@/BIZComponents/modalTitle.vue';
|
|
|
-
|
|
|
+ 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 {
|
|
|
+ getSendSaleOrderConfirmDetail,
|
|
|
+ getSendSaleOrderConfirmDetailSplit
|
|
|
+ } from '@/api/saleManage/invoiceConfirm';
|
|
|
+ import modalTitle from '@/BIZComponents/modalTitle.vue';
|
|
|
|
|
|
-export default {
|
|
|
- mixins: [dictMixins, getDynamicsColumns],
|
|
|
- components: {
|
|
|
- PalletTable,
|
|
|
- fileMain,
|
|
|
- taskInfoTable,
|
|
|
- outBoundDetails,
|
|
|
- bpmDetail, stowageTable,modalTitle
|
|
|
- },
|
|
|
- data() {
|
|
|
- return {
|
|
|
- fullscreen:false,
|
|
|
+ export default {
|
|
|
+ mixins: [dictMixins, getDynamicsColumns],
|
|
|
+ components: {
|
|
|
+ PalletTable,
|
|
|
+ fileMain,
|
|
|
+ taskInfoTable,
|
|
|
+ outBoundDetails,
|
|
|
+ bpmDetail,
|
|
|
+ stowageTable,
|
|
|
+ modalTitle
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ fullscreen: false,
|
|
|
|
|
|
- activeComp: 'main',
|
|
|
- tabOptions: [
|
|
|
- {key: 'main', name: '收货确认单详情'},
|
|
|
- {key: 'bpm', name: '流程详情'},
|
|
|
- // {key: 'store', name: '出库单详情'},
|
|
|
- ],
|
|
|
- reviewStatusEnum,
|
|
|
- visible: false,
|
|
|
- outboundDetailsDialogFlag: false,
|
|
|
- detailId: '',
|
|
|
- title: '详情',
|
|
|
- row: {},
|
|
|
- activeName: 'base',
|
|
|
- form: {
|
|
|
- orderFiles: []
|
|
|
- },
|
|
|
- rules: {},
|
|
|
- detailData: {},
|
|
|
- columns: [
|
|
|
+ activeComp: 'main',
|
|
|
+ tabOptions: [
|
|
|
+ { key: 'main', name: '收货确认单详情' },
|
|
|
+ { key: 'bpm', name: '流程详情' }
|
|
|
+ // {key: 'store', name: '出库单详情'},
|
|
|
+ ],
|
|
|
+ reviewStatusEnum,
|
|
|
+ visible: false,
|
|
|
+ outboundDetailsDialogFlag: false,
|
|
|
+ detailId: '',
|
|
|
+ title: '详情',
|
|
|
+ row: {},
|
|
|
+ activeName: 'base',
|
|
|
+ form: {
|
|
|
+ orderFiles: []
|
|
|
+ },
|
|
|
+ rules: {},
|
|
|
+ detailData: {},
|
|
|
+ columns: [
|
|
|
{
|
|
|
width: 45,
|
|
|
type: 'index',
|
|
|
@@ -326,7 +326,8 @@ export default {
|
|
|
slot: 'pricingWay',
|
|
|
align: 'center',
|
|
|
formatter: (row, column) => {
|
|
|
- return row.pricingWay == 1 ? '数量' : '重量';
|
|
|
+ return row.pricingWay == 1 ? '按数量计费' : row.pricingWay == 2 ? '按重量计费':'';
|
|
|
+
|
|
|
}
|
|
|
},
|
|
|
{
|
|
|
@@ -366,333 +367,356 @@ export default {
|
|
|
slot: 'remark',
|
|
|
align: 'center'
|
|
|
},
|
|
|
+
|
|
|
{
|
|
|
- columnKey: 'action',
|
|
|
- label: '操作',
|
|
|
- width: 120,
|
|
|
- align: 'center',
|
|
|
- resizable: false,
|
|
|
- slot: 'action',
|
|
|
+ width: 150,
|
|
|
+ prop: 'isException',
|
|
|
+ label: '收货状态',
|
|
|
+ slot: 'isException',
|
|
|
+ formatter: (row, column) => {
|
|
|
+ return row.isException == 1
|
|
|
+ ? '未收货'
|
|
|
+ : '已收货'
|
|
|
+ },
|
|
|
fixed: 'right',
|
|
|
- showOverflowTooltip: true
|
|
|
+ align: 'center'
|
|
|
}
|
|
|
+ // {
|
|
|
+ // columnKey: 'action',
|
|
|
+ // label: '操作',
|
|
|
+ // width: 120,
|
|
|
+ // align: 'center',
|
|
|
+ // resizable: false,
|
|
|
+ // slot: 'action',
|
|
|
+ // fixed: 'right',
|
|
|
+ // showOverflowTooltip: true
|
|
|
+ // }
|
|
|
],
|
|
|
- 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',
|
|
|
- },
|
|
|
+ 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: 'sendTotalCount',
|
|
|
- label: '发货数量',
|
|
|
- align: 'center',
|
|
|
- },
|
|
|
- {
|
|
|
+ {
|
|
|
+ width: 120,
|
|
|
+ prop: 'sendTotalCount',
|
|
|
+ label: '发货数量',
|
|
|
+ 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: '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|| '');
|
|
|
- },
|
|
|
- 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',
|
|
|
- }
|
|
|
- ]
|
|
|
- }
|
|
|
- },
|
|
|
- methods: {
|
|
|
- async open(row) {
|
|
|
- this.form = row;
|
|
|
- this.visible = true;
|
|
|
- await this.getDetailData(row.id);
|
|
|
- this.detailId = row.id;
|
|
|
- },
|
|
|
- handleTag(val) {
|
|
|
- this.activeComp = val
|
|
|
- if (val == 'store') {
|
|
|
- this.$nextTick(() => {
|
|
|
- this.$refs.innerBoundDetailsRef._getInfo(this.form.docNo);
|
|
|
- })
|
|
|
+ {
|
|
|
+ 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 || '')
|
|
|
+ );
|
|
|
+ },
|
|
|
+ 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 getSendSaleOrderConfirmDetail(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
|
|
|
+ methods: {
|
|
|
+ async open(row) {
|
|
|
+ this.form = row;
|
|
|
+ this.visible = true;
|
|
|
+ await this.getDetailData(row.id);
|
|
|
+ this.detailId = row.id;
|
|
|
+ },
|
|
|
+ handleTag(val) {
|
|
|
+ this.activeComp = val;
|
|
|
+ if (val == 'store') {
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.$refs.innerBoundDetailsRef._getInfo(this.form.docNo);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ 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 getSendSaleOrderConfirmDetail(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;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
-};
|
|
|
+ };
|
|
|
</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>
|