|
@@ -1,6 +1,6 @@
|
|
|
<template>
|
|
<template>
|
|
|
<div>
|
|
<div>
|
|
|
- <div class="switch">
|
|
|
|
|
|
|
+ <!-- <div class="switch">
|
|
|
<div class="switch_left">
|
|
<div class="switch_left">
|
|
|
<ul>
|
|
<ul>
|
|
|
<li
|
|
<li
|
|
@@ -13,121 +13,64 @@
|
|
|
</li>
|
|
</li>
|
|
|
</ul>
|
|
</ul>
|
|
|
</div>
|
|
</div>
|
|
|
- </div>
|
|
|
|
|
- <div v-show="activeComp == 'main'">
|
|
|
|
|
|
|
+ </div> -->
|
|
|
|
|
+ <div>
|
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
|
|
|
<headerTitle title="退货信息"></headerTitle>
|
|
<headerTitle title="退货信息"></headerTitle>
|
|
|
<el-row>
|
|
<el-row>
|
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
|
- <el-form-item
|
|
|
|
|
- label="客户名称:"
|
|
|
|
|
- prop="contactName"
|
|
|
|
|
- style="margin-bottom: 16px"
|
|
|
|
|
- >
|
|
|
|
|
|
|
+ <el-form-item label="客户名称:" prop="contactName" style="margin-bottom: 16px">
|
|
|
{{ form.contactName }}
|
|
{{ form.contactName }}
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <el-form-item
|
|
|
|
|
- label="赔偿金额:"
|
|
|
|
|
- prop="redressAmount"
|
|
|
|
|
- style="margin-bottom: 16px"
|
|
|
|
|
- v-show="['30', '50'].includes(form.type)"
|
|
|
|
|
- >
|
|
|
|
|
|
|
+ <el-form-item label="赔偿金额:" prop="redressAmount" style="margin-bottom: 16px"
|
|
|
|
|
+ v-show="['30', '50'].includes(form.type)">
|
|
|
{{ form.redressAmount }}元
|
|
{{ form.redressAmount }}元
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <el-form-item
|
|
|
|
|
- label="赔偿总金额:"
|
|
|
|
|
- prop="totalAmount"
|
|
|
|
|
- style="margin-bottom: 16px"
|
|
|
|
|
- >
|
|
|
|
|
|
|
+ <el-form-item label="赔偿总金额:" prop="totalAmount" style="margin-bottom: 16px">
|
|
|
{{ form.totalAmount }}元
|
|
{{ form.totalAmount }}元
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<!-- <el-form-item label="计价方式:" style="margin-bottom: 22px">
|
|
<!-- <el-form-item label="计价方式:" style="margin-bottom: 22px">
|
|
|
{{ form.pricingWay == 1 ? '按数量计费' : '按重量计费' }}
|
|
{{ form.pricingWay == 1 ? '按数量计费' : '按重量计费' }}
|
|
|
</el-form-item> -->
|
|
</el-form-item> -->
|
|
|
- <el-form-item
|
|
|
|
|
- label="备注:"
|
|
|
|
|
- prop="remark"
|
|
|
|
|
- style="margin-bottom: 16px"
|
|
|
|
|
- >
|
|
|
|
|
|
|
+ <el-form-item label="备注:" prop="remark" style="margin-bottom: 16px">
|
|
|
{{ form.remark }}
|
|
{{ form.remark }}
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <el-form-item
|
|
|
|
|
- label="创建时间:"
|
|
|
|
|
- prop="createTime"
|
|
|
|
|
- style="margin-bottom: 16px"
|
|
|
|
|
- >
|
|
|
|
|
|
|
+ <el-form-item label="创建时间:" prop="createTime" style="margin-bottom: 16px">
|
|
|
{{ form.createTime }}
|
|
{{ form.createTime }}
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <el-form-item
|
|
|
|
|
- label="制单人:"
|
|
|
|
|
- prop="makerName"
|
|
|
|
|
- style="margin-bottom: 16px"
|
|
|
|
|
- >
|
|
|
|
|
|
|
+ <el-form-item label="制单人:" prop="makerName" style="margin-bottom: 16px">
|
|
|
{{ form.makerName }}
|
|
{{ form.makerName }}
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
<el-col :span="12">
|
|
|
- <el-form-item
|
|
|
|
|
- label="退货编码:"
|
|
|
|
|
- prop="returnNo"
|
|
|
|
|
- style="margin-bottom: 16px"
|
|
|
|
|
- >
|
|
|
|
|
|
|
+ <el-form-item label="退货编码:" prop="returnNo" style="margin-bottom: 16px">
|
|
|
{{ form.returnNo }}
|
|
{{ form.returnNo }}
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <el-form-item
|
|
|
|
|
- label="发货编码:"
|
|
|
|
|
- prop="sendNo"
|
|
|
|
|
- style="margin-bottom: 16px"
|
|
|
|
|
- >
|
|
|
|
|
|
|
+ <el-form-item label="发货编码:" prop="sendNo" style="margin-bottom: 16px">
|
|
|
{{ form.sendNo }}
|
|
{{ form.sendNo }}
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item prop="orderNo" label="订单编码:">
|
|
<el-form-item prop="orderNo" label="订单编码:">
|
|
|
{{ form.orderNo }}
|
|
{{ form.orderNo }}
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
|
|
|
|
- <el-form-item
|
|
|
|
|
- label="退货附件:"
|
|
|
|
|
- prop="returnFiles"
|
|
|
|
|
- style="margin-bottom: 16px"
|
|
|
|
|
- >
|
|
|
|
|
- <div
|
|
|
|
|
- v-if="detailData.returnFiles && detailData.returnFiles?.length"
|
|
|
|
|
- >
|
|
|
|
|
- <el-link
|
|
|
|
|
- v-for="link in detailData.returnFiles"
|
|
|
|
|
- :key="link.id"
|
|
|
|
|
- type="primary"
|
|
|
|
|
- :underline="false"
|
|
|
|
|
- @click="downloadFile(link)"
|
|
|
|
|
- >
|
|
|
|
|
|
|
+ <el-form-item label="退货附件:" prop="returnFiles" style="margin-bottom: 16px">
|
|
|
|
|
+ <div v-if="detailData.returnFiles && detailData.returnFiles?.length">
|
|
|
|
|
+ <el-link v-for="link in detailData.returnFiles" :key="link.id" type="primary" :underline="false"
|
|
|
|
|
+ @click="downloadFile(link)">
|
|
|
{{ link.name }}
|
|
{{ link.name }}
|
|
|
</el-link>
|
|
</el-link>
|
|
|
</div>
|
|
</div>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <el-form-item
|
|
|
|
|
- label="回执附件:"
|
|
|
|
|
- prop="repliedFiles"
|
|
|
|
|
- style="margin-bottom: 16px"
|
|
|
|
|
- >
|
|
|
|
|
- <fileMain
|
|
|
|
|
- v-model="form.repliedFiles"
|
|
|
|
|
- :type="
|
|
|
|
|
- taskDefinitionKey == 'salesmanUploadReceipt' ? '' : 'view'
|
|
|
|
|
- "
|
|
|
|
|
- ></fileMain>
|
|
|
|
|
|
|
+ <el-form-item label="回执附件:" prop="repliedFiles" style="margin-bottom: 16px">
|
|
|
|
|
+ <fileMain v-model="form.repliedFiles" :type="taskDefinitionKey == 'salesmanUploadReceipt' ? '' : 'view'
|
|
|
|
|
+ "></fileMain>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
</el-row>
|
|
</el-row>
|
|
|
</el-form>
|
|
</el-form>
|
|
|
<headerTitle title="退货产品明细"></headerTitle>
|
|
<headerTitle title="退货产品明细"></headerTitle>
|
|
|
- <ele-pro-table
|
|
|
|
|
- ref="table"
|
|
|
|
|
- :needPage="false"
|
|
|
|
|
- :columns="competAnalysisListcolumns"
|
|
|
|
|
- :toolkit="[]"
|
|
|
|
|
- :datasource="detailData.productList"
|
|
|
|
|
- row-key="id"
|
|
|
|
|
- >
|
|
|
|
|
|
|
+ <ele-pro-table ref="table" :needPage="false" :columns="competAnalysisListcolumns" :toolkit="[]"
|
|
|
|
|
+ :datasource="detailData.productList" row-key="id">
|
|
|
</ele-pro-table>
|
|
</ele-pro-table>
|
|
|
</div>
|
|
</div>
|
|
|
<!-- <keep-alive>
|
|
<!-- <keep-alive>
|
|
@@ -145,353 +88,343 @@
|
|
|
v-if="activeComp == 'inoutBoundView'"
|
|
v-if="activeComp == 'inoutBoundView'"
|
|
|
></detailDialog> -->
|
|
></detailDialog> -->
|
|
|
<keep-alive>
|
|
<keep-alive>
|
|
|
- <add
|
|
|
|
|
- ref="add"
|
|
|
|
|
- v-if="activeComp == 'inoutBound'"
|
|
|
|
|
- :form="form"
|
|
|
|
|
- :sourceBizNo="form.returnNo"
|
|
|
|
|
- :detailList="form.productList"
|
|
|
|
|
- :bizType="6"
|
|
|
|
|
- :isMoreProduct="true"
|
|
|
|
|
- ></add>
|
|
|
|
|
|
|
+ <add ref="add" v-if="activeComp == 'inoutBound'" :form="form" :sourceBizNo="form.returnNo"
|
|
|
|
|
+ :detailList="form.productList" :bizType="6" :isMoreProduct="true"></add>
|
|
|
</keep-alive>
|
|
</keep-alive>
|
|
|
- <detailDialog
|
|
|
|
|
- v-if="activeComp == 'inoutBoundView'"
|
|
|
|
|
- :businessId="form.receiveNo"
|
|
|
|
|
- ref="detailDialog"
|
|
|
|
|
- ></detailDialog>
|
|
|
|
|
|
|
+ <detailDialog v-if="activeComp == 'inoutBoundView'" :businessId="form.receiveNo" ref="detailDialog"></detailDialog>
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
<script>
|
|
|
- import { getReturnSaleOrderrecordDetail } from '@/api/bpm/components/saleManage/saleorder';
|
|
|
|
|
- import { getFile } from '@/api/system/file';
|
|
|
|
|
- import dictMixins from '@/mixins/dictMixins';
|
|
|
|
|
- import { reviewStatusEnum } from '@/enum/dict';
|
|
|
|
|
- import inventoryTabledetail from './inventoryTabledetail.vue';
|
|
|
|
|
- import inventoryTable from './inventoryTable.vue';
|
|
|
|
|
- // import add from './salesReturnReceipt.vue';
|
|
|
|
|
- // import detailDialog from '@/views/bpm/handleTask/components/inoutBound/detailDialog.vue';
|
|
|
|
|
- import add from '@/views/bpm/stockManagement/storage.vue';
|
|
|
|
|
- import detailDialog from '@/views/bpm/stockManagement/details.vue';
|
|
|
|
|
- import fileUpload from '@/components/upload/fileUpload.vue';
|
|
|
|
|
- import fileMain from '@/components/addDoc/index.vue';
|
|
|
|
|
|
|
+import { getReturnSaleOrderrecordDetail } from '@/api/bpm/components/saleManage/saleorder';
|
|
|
|
|
+import { getFile } from '@/api/system/file';
|
|
|
|
|
+import dictMixins from '@/mixins/dictMixins';
|
|
|
|
|
+import { reviewStatusEnum } from '@/enum/dict';
|
|
|
|
|
+import inventoryTabledetail from './inventoryTabledetail.vue';
|
|
|
|
|
+import inventoryTable from './inventoryTable.vue';
|
|
|
|
|
+// import add from './salesReturnReceipt.vue';
|
|
|
|
|
+// import detailDialog from '@/views/bpm/handleTask/components/inoutBound/detailDialog.vue';
|
|
|
|
|
+import add from '@/views/bpm/stockManagement/storage.vue';
|
|
|
|
|
+import detailDialog from '@/views/bpm/stockManagement/details.vue';
|
|
|
|
|
+import fileUpload from '@/components/upload/fileUpload.vue';
|
|
|
|
|
+import fileMain from '@/components/addDoc/index.vue';
|
|
|
|
|
|
|
|
- export default {
|
|
|
|
|
- mixins: [dictMixins],
|
|
|
|
|
- components: {
|
|
|
|
|
- fileMain,
|
|
|
|
|
- fileUpload,
|
|
|
|
|
- detailDialog,
|
|
|
|
|
- add,
|
|
|
|
|
- inventoryTabledetail,
|
|
|
|
|
- inventoryTable
|
|
|
|
|
- },
|
|
|
|
|
- data() {
|
|
|
|
|
- return {
|
|
|
|
|
- codeData: [],
|
|
|
|
|
- tabOptions: [{ key: 'main', name: '退货单详情' }],
|
|
|
|
|
- reviewStatusEnum,
|
|
|
|
|
- activeComp: 'main',
|
|
|
|
|
- visible: false,
|
|
|
|
|
- detailId: '',
|
|
|
|
|
- title: '详情',
|
|
|
|
|
- row: {},
|
|
|
|
|
- activeName: 'base',
|
|
|
|
|
- qualityStatus: {
|
|
|
|
|
- 0: '未质检',
|
|
|
|
|
- 1: '已质检'
|
|
|
|
|
- }, // 质检状态 0未检 1已检
|
|
|
|
|
- qualityResults: {
|
|
|
|
|
- 1: '合格',
|
|
|
|
|
- 2: '不合格'
|
|
|
|
|
- }, // 质检结果 1合格 2不合格
|
|
|
|
|
- form: {
|
|
|
|
|
- orderFiles: [{ name: '222' }]
|
|
|
|
|
|
|
+export default {
|
|
|
|
|
+ mixins: [dictMixins],
|
|
|
|
|
+ components: {
|
|
|
|
|
+ fileMain,
|
|
|
|
|
+ fileUpload,
|
|
|
|
|
+ detailDialog,
|
|
|
|
|
+ add,
|
|
|
|
|
+ inventoryTabledetail,
|
|
|
|
|
+ inventoryTable
|
|
|
|
|
+ },
|
|
|
|
|
+ data() {
|
|
|
|
|
+ return {
|
|
|
|
|
+ codeData: [],
|
|
|
|
|
+ tabOptions: [{ key: 'main', name: '退货单详情' }],
|
|
|
|
|
+ reviewStatusEnum,
|
|
|
|
|
+ activeComp: 'main',
|
|
|
|
|
+ visible: false,
|
|
|
|
|
+ detailId: '',
|
|
|
|
|
+ title: '详情',
|
|
|
|
|
+ row: {},
|
|
|
|
|
+ activeName: 'base',
|
|
|
|
|
+ qualityStatus: {
|
|
|
|
|
+ 0: '未质检',
|
|
|
|
|
+ 1: '已质检'
|
|
|
|
|
+ }, // 质检状态 0未检 1已检
|
|
|
|
|
+ qualityResults: {
|
|
|
|
|
+ 1: '合格',
|
|
|
|
|
+ 2: '不合格'
|
|
|
|
|
+ }, // 质检结果 1合格 2不合格
|
|
|
|
|
+ form: {
|
|
|
|
|
+ orderFiles: [{ name: '222' }]
|
|
|
|
|
+ },
|
|
|
|
|
+ rules: {},
|
|
|
|
|
+ detailData: {},
|
|
|
|
|
+ competAnalysisListcolumns: [
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 45,
|
|
|
|
|
+ type: 'index',
|
|
|
|
|
+ columnKey: 'index',
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ fixed: 'left'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ minWidth: 160,
|
|
|
|
|
+ prop: 'productCode',
|
|
|
|
|
+ label: '编码',
|
|
|
|
|
+ showOverflowTooltip: true,
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ minWidth: 120,
|
|
|
|
|
+ prop: 'productName',
|
|
|
|
|
+ label: '名称',
|
|
|
|
|
+ showOverflowTooltip: true,
|
|
|
|
|
+ align: 'center'
|
|
|
},
|
|
},
|
|
|
- rules: {},
|
|
|
|
|
- detailData: {},
|
|
|
|
|
- competAnalysisListcolumns: [
|
|
|
|
|
- {
|
|
|
|
|
- width: 45,
|
|
|
|
|
- type: 'index',
|
|
|
|
|
- columnKey: 'index',
|
|
|
|
|
- align: 'center',
|
|
|
|
|
- fixed: 'left'
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- minWidth: 160,
|
|
|
|
|
- prop: 'productCode',
|
|
|
|
|
- label: '编码',
|
|
|
|
|
- showOverflowTooltip: true,
|
|
|
|
|
- align: 'center'
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- minWidth: 120,
|
|
|
|
|
- prop: 'productName',
|
|
|
|
|
- label: '名称',
|
|
|
|
|
- showOverflowTooltip: true,
|
|
|
|
|
- align: 'center'
|
|
|
|
|
- },
|
|
|
|
|
|
|
|
|
|
- {
|
|
|
|
|
- minWidth: 160,
|
|
|
|
|
- prop: 'batchNo',
|
|
|
|
|
- label: '批次号',
|
|
|
|
|
- showOverflowTooltip: true,
|
|
|
|
|
- slot: 'batchNo',
|
|
|
|
|
- align: 'center'
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- minWidth: 160,
|
|
|
|
|
- prop: 'barcodes',
|
|
|
|
|
- label: '发货条码',
|
|
|
|
|
- showOverflowTooltip: true,
|
|
|
|
|
- slot: 'barcodes',
|
|
|
|
|
- align: 'center'
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- minWidth: 120,
|
|
|
|
|
- prop: 'materielDesignation',
|
|
|
|
|
- label: '物料代号',
|
|
|
|
|
- showOverflowTooltip: true,
|
|
|
|
|
- align: 'center'
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- minWidth: 120,
|
|
|
|
|
- prop: 'clientCode',
|
|
|
|
|
- label: '客户代号',
|
|
|
|
|
- showOverflowTooltip: true,
|
|
|
|
|
- align: 'center'
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- minWidth: 120,
|
|
|
|
|
- prop: 'engrave',
|
|
|
|
|
- label: '刻码',
|
|
|
|
|
- showOverflowTooltip: true,
|
|
|
|
|
- align: 'center'
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- minWidth: 160,
|
|
|
|
|
- prop: 'packageNo',
|
|
|
|
|
- align: 'center',
|
|
|
|
|
- label: '包装编码',
|
|
|
|
|
- showOverflowTooltip: true
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- minWidth: 100,
|
|
|
|
|
- prop: 'packingQuantity',
|
|
|
|
|
- align: 'center',
|
|
|
|
|
- label: '包装数量',
|
|
|
|
|
- showOverflowTooltip: true
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- minWidth: 120,
|
|
|
|
|
- prop: 'packingUnit',
|
|
|
|
|
- align: 'center',
|
|
|
|
|
- label: '包装单位',
|
|
|
|
|
- showOverflowTooltip: true
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- minWidth: 100,
|
|
|
|
|
- prop: 'totalCount',
|
|
|
|
|
- label: '计量数量',
|
|
|
|
|
- showOverflowTooltip: true,
|
|
|
|
|
- align: 'center'
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- minWidth: 150,
|
|
|
|
|
- prop: 'measuringUnit',
|
|
|
|
|
- label: '计量单位',
|
|
|
|
|
- showOverflowTooltip: true,
|
|
|
|
|
- align: 'center'
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- width: 160,
|
|
|
|
|
- prop: 'pricingWay',
|
|
|
|
|
- label: '计价方式',
|
|
|
|
|
- slot: 'pricingWay',
|
|
|
|
|
- align: 'center',
|
|
|
|
|
- formatter: (row, column) => {
|
|
|
|
|
- return row.pricingWay == 1 ? '按数量计费' : row.pricingWay == 2 ? '按重量计费':'';
|
|
|
|
|
|
|
+ {
|
|
|
|
|
+ minWidth: 160,
|
|
|
|
|
+ prop: 'batchNo',
|
|
|
|
|
+ label: '批次号',
|
|
|
|
|
+ showOverflowTooltip: true,
|
|
|
|
|
+ slot: 'batchNo',
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ minWidth: 160,
|
|
|
|
|
+ prop: 'barcodes',
|
|
|
|
|
+ label: '发货条码',
|
|
|
|
|
+ showOverflowTooltip: true,
|
|
|
|
|
+ slot: 'barcodes',
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ minWidth: 120,
|
|
|
|
|
+ prop: 'materielDesignation',
|
|
|
|
|
+ label: '物料代号',
|
|
|
|
|
+ showOverflowTooltip: true,
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ minWidth: 120,
|
|
|
|
|
+ prop: 'clientCode',
|
|
|
|
|
+ label: '客户代号',
|
|
|
|
|
+ showOverflowTooltip: true,
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ minWidth: 120,
|
|
|
|
|
+ prop: 'engrave',
|
|
|
|
|
+ label: '刻码',
|
|
|
|
|
+ showOverflowTooltip: true,
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ minWidth: 160,
|
|
|
|
|
+ prop: 'packageNo',
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ label: '包装编码',
|
|
|
|
|
+ showOverflowTooltip: true
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ minWidth: 100,
|
|
|
|
|
+ prop: 'packingQuantity',
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ label: '包装数量',
|
|
|
|
|
+ showOverflowTooltip: true
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ minWidth: 120,
|
|
|
|
|
+ prop: 'packingUnit',
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ label: '包装单位',
|
|
|
|
|
+ showOverflowTooltip: true
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ minWidth: 100,
|
|
|
|
|
+ prop: 'totalCount',
|
|
|
|
|
+ label: '计量数量',
|
|
|
|
|
+ showOverflowTooltip: true,
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ minWidth: 150,
|
|
|
|
|
+ prop: 'measuringUnit',
|
|
|
|
|
+ label: '计量单位',
|
|
|
|
|
+ showOverflowTooltip: true,
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 160,
|
|
|
|
|
+ prop: 'pricingWay',
|
|
|
|
|
+ label: '计价方式',
|
|
|
|
|
+ slot: 'pricingWay',
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ formatter: (row, column) => {
|
|
|
|
|
+ return row.pricingWay == 1 ? '按数量计费' : row.pricingWay == 2 ? '按重量计费' : '';
|
|
|
|
|
|
|
|
- }
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- width: 100,
|
|
|
|
|
- prop: 'singlePrice',
|
|
|
|
|
- label: '单价',
|
|
|
|
|
- slot: 'singlePrice',
|
|
|
|
|
- align: 'center'
|
|
|
|
|
- },
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
- {
|
|
|
|
|
- width: 120,
|
|
|
|
|
- prop: 'totalPrice',
|
|
|
|
|
- label: '合计',
|
|
|
|
|
- slot: 'totalPrice',
|
|
|
|
|
- align: 'center'
|
|
|
|
|
- },
|
|
|
|
|
- // {
|
|
|
|
|
- // minWidth: 80,
|
|
|
|
|
- // prop: 'weight',
|
|
|
|
|
- // label: '重量',
|
|
|
|
|
- // showOverflowTooltip: true,
|
|
|
|
|
- // align: 'center'
|
|
|
|
|
- // },
|
|
|
|
|
- {
|
|
|
|
|
- minWidth: 80,
|
|
|
|
|
- prop: 'receiveTotalWeight',
|
|
|
|
|
- label: '重量',
|
|
|
|
|
- // slot: 'singleWeight',
|
|
|
|
|
- showOverflowTooltip: true,
|
|
|
|
|
- align: 'center'
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- minWidth: 100,
|
|
|
|
|
- prop: 'weightUnit',
|
|
|
|
|
- label: '重量单位',
|
|
|
|
|
- showOverflowTooltip: true,
|
|
|
|
|
- align: 'center'
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- prop: 'provenance',
|
|
|
|
|
- label: '产地',
|
|
|
|
|
- slot: 'provenance',
|
|
|
|
|
- align: 'center',
|
|
|
|
|
- minWidth: 200,
|
|
|
|
|
- showOverflowTooltip: true,
|
|
|
|
|
- formatter: (row, column) => {
|
|
|
|
|
- return row.provenance && row.provenance.length
|
|
|
|
|
- ? row.provenance
|
|
|
|
|
- .map((item) => this.getDictValue('产地', item ))
|
|
|
|
|
- .join(',')
|
|
|
|
|
- : '';
|
|
|
|
|
- }
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 100,
|
|
|
|
|
+ prop: 'singlePrice',
|
|
|
|
|
+ label: '单价',
|
|
|
|
|
+ slot: 'singlePrice',
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
|
|
|
- {
|
|
|
|
|
- minWidth: 200,
|
|
|
|
|
- prop: 'returnReason',
|
|
|
|
|
- label: '退货原因',
|
|
|
|
|
- slot: 'returnReason',
|
|
|
|
|
- align: 'center'
|
|
|
|
|
- },
|
|
|
|
|
|
|
|
|
|
- {
|
|
|
|
|
- width: 220,
|
|
|
|
|
- prop: 'remark',
|
|
|
|
|
- label: '备注',
|
|
|
|
|
- slot: 'remark',
|
|
|
|
|
- align: 'center'
|
|
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 120,
|
|
|
|
|
+ prop: 'totalPrice',
|
|
|
|
|
+ label: '合计',
|
|
|
|
|
+ slot: 'totalPrice',
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+ // {
|
|
|
|
|
+ // minWidth: 80,
|
|
|
|
|
+ // prop: 'weight',
|
|
|
|
|
+ // label: '重量',
|
|
|
|
|
+ // showOverflowTooltip: true,
|
|
|
|
|
+ // align: 'center'
|
|
|
|
|
+ // },
|
|
|
|
|
+ {
|
|
|
|
|
+ minWidth: 80,
|
|
|
|
|
+ prop: 'receiveTotalWeight',
|
|
|
|
|
+ label: '重量',
|
|
|
|
|
+ // slot: 'singleWeight',
|
|
|
|
|
+ showOverflowTooltip: true,
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ minWidth: 100,
|
|
|
|
|
+ prop: 'weightUnit',
|
|
|
|
|
+ label: '重量单位',
|
|
|
|
|
+ showOverflowTooltip: true,
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ prop: 'provenance',
|
|
|
|
|
+ label: '产地',
|
|
|
|
|
+ slot: 'provenance',
|
|
|
|
|
+ align: 'center',
|
|
|
|
|
+ minWidth: 200,
|
|
|
|
|
+ showOverflowTooltip: true,
|
|
|
|
|
+ formatter: (row, column) => {
|
|
|
|
|
+ return row.provenance && row.provenance.length
|
|
|
|
|
+ ? row.provenance
|
|
|
|
|
+ .map((item) => this.getDictValue('产地', item))
|
|
|
|
|
+ .join(',')
|
|
|
|
|
+ : '';
|
|
|
}
|
|
}
|
|
|
- ]
|
|
|
|
|
- };
|
|
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ {
|
|
|
|
|
+ minWidth: 200,
|
|
|
|
|
+ prop: 'returnReason',
|
|
|
|
|
+ label: '退货原因',
|
|
|
|
|
+ slot: 'returnReason',
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ {
|
|
|
|
|
+ width: 220,
|
|
|
|
|
+ prop: 'remark',
|
|
|
|
|
+ label: '备注',
|
|
|
|
|
+ slot: 'remark',
|
|
|
|
|
+ align: 'center'
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
|
|
+ };
|
|
|
|
|
+ },
|
|
|
|
|
+ props: {
|
|
|
|
|
+ businessId: {
|
|
|
|
|
+ default: ''
|
|
|
},
|
|
},
|
|
|
- props: {
|
|
|
|
|
- businessId: {
|
|
|
|
|
- default: ''
|
|
|
|
|
- },
|
|
|
|
|
- taskDefinitionKey: {
|
|
|
|
|
- default: ''
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ taskDefinitionKey: {
|
|
|
|
|
+ default: ''
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ created() {
|
|
|
|
|
+ this.requestDict('产地');
|
|
|
|
|
+ this.getDetailData(this.businessId);
|
|
|
|
|
+ if (this.taskDefinitionKey == 'storemanApprove') {
|
|
|
|
|
+ this.tabOptions.push({ key: 'inoutBound', name: '入库单' });
|
|
|
|
|
+ }
|
|
|
|
|
+ if (this.taskDefinitionKey == 'salesmanUploadReceipt') {
|
|
|
|
|
+ this.tabOptions.push({ key: 'inoutBoundView', name: '入库单详情' });
|
|
|
|
|
+ // this.activeComp = 'inoutBoundView';
|
|
|
|
|
+ }
|
|
|
|
|
+ console.log('this.tabOptions----------------', this.tabOptions);
|
|
|
|
|
+ },
|
|
|
|
|
+ methods: {
|
|
|
|
|
+ changeActive(item) {
|
|
|
|
|
+ this.activeComp = item.key;
|
|
|
|
|
+ this.$emit('activeCompChange', item.key);
|
|
|
|
|
+ // if (
|
|
|
|
|
+ // this.taskDefinitionKey == 'storemanApprove' &&
|
|
|
|
|
+ // item.key == 'inoutBound'
|
|
|
|
|
+ // ) {
|
|
|
|
|
+ // this.$nextTick(() => {
|
|
|
|
|
+ // this.$refs.add.pickerSuccess(this.form);
|
|
|
|
|
+ // });
|
|
|
|
|
+ // }
|
|
|
},
|
|
},
|
|
|
- created() {
|
|
|
|
|
- this.requestDict('产地');
|
|
|
|
|
- this.getDetailData(this.businessId);
|
|
|
|
|
- if (this.taskDefinitionKey == 'storemanApprove') {
|
|
|
|
|
- this.tabOptions.push({ key: 'inoutBound', name: '入库单' });
|
|
|
|
|
- }
|
|
|
|
|
- if (this.taskDefinitionKey == 'salesmanUploadReceipt') {
|
|
|
|
|
- this.tabOptions.push({ key: 'inoutBoundView', name: '入库单详情' });
|
|
|
|
|
- // this.activeComp = 'inoutBoundView';
|
|
|
|
|
- }
|
|
|
|
|
- console.log('this.tabOptions----------------', this.tabOptions);
|
|
|
|
|
|
|
+ downloadFile(file) {
|
|
|
|
|
+ getFile({ objectName: file.storePath }, file.name);
|
|
|
},
|
|
},
|
|
|
- methods: {
|
|
|
|
|
- changeActive(item) {
|
|
|
|
|
- this.activeComp = item.key;
|
|
|
|
|
- this.$emit('activeCompChange', item.key);
|
|
|
|
|
- // if (
|
|
|
|
|
- // this.taskDefinitionKey == 'storemanApprove' &&
|
|
|
|
|
- // item.key == 'inoutBound'
|
|
|
|
|
- // ) {
|
|
|
|
|
- // this.$nextTick(() => {
|
|
|
|
|
- // this.$refs.add.pickerSuccess(this.form);
|
|
|
|
|
- // });
|
|
|
|
|
- // }
|
|
|
|
|
- },
|
|
|
|
|
- downloadFile(file) {
|
|
|
|
|
- getFile({ objectName: file.storePath }, file.name);
|
|
|
|
|
- },
|
|
|
|
|
- async getTableValue() {
|
|
|
|
|
- try {
|
|
|
|
|
- await this.getValidate();
|
|
|
|
|
- // 表单验证通过,执行保存操作
|
|
|
|
|
- this.loading = true;
|
|
|
|
|
- this.form.repliedFiles = this.form.repliedFiles || [];
|
|
|
|
|
- this.form.replied = this.form.repliedFiles.length > 0 ? 1 : 0;
|
|
|
|
|
- this.form.returnStorageData = await this.$refs.add.getReturnStorage();
|
|
|
|
|
- return Object.assign({}, this.form);
|
|
|
|
|
- } catch (error) {
|
|
|
|
|
- console.log(error);
|
|
|
|
|
- return '';
|
|
|
|
|
- // 表单验证未通过,不执行保存操作
|
|
|
|
|
- }
|
|
|
|
|
- },
|
|
|
|
|
- save(data) {
|
|
|
|
|
- this.$refs.add.handleNewSave(data);
|
|
|
|
|
- },
|
|
|
|
|
- success() {
|
|
|
|
|
- this.$emit('handleClose');
|
|
|
|
|
- },
|
|
|
|
|
- getValidate() {
|
|
|
|
|
- return Promise.all([
|
|
|
|
|
- new Promise((resolve, reject) => {
|
|
|
|
|
- resolve(true);
|
|
|
|
|
- })
|
|
|
|
|
- ]);
|
|
|
|
|
- },
|
|
|
|
|
- async getDetailData(id) {
|
|
|
|
|
|
|
+ async getTableValue() {
|
|
|
|
|
+ try {
|
|
|
|
|
+ await this.getValidate();
|
|
|
|
|
+ // 表单验证通过,执行保存操作
|
|
|
this.loading = true;
|
|
this.loading = true;
|
|
|
- const data = await getReturnSaleOrderrecordDetail(id);
|
|
|
|
|
- this.loading = false;
|
|
|
|
|
- if (data) {
|
|
|
|
|
- this.detailData = data;
|
|
|
|
|
- this.form = data;
|
|
|
|
|
- this.form.productList.forEach(item=>{
|
|
|
|
|
- item['packingWeight']=item.receiveTotalWeight
|
|
|
|
|
- item['quantity']=item.totalCount
|
|
|
|
|
- })
|
|
|
|
|
- this.form.pricingWay = data.saleOrder.pricingWay;
|
|
|
|
|
- this.$nextTick(() => {
|
|
|
|
|
- if (this.taskDefinitionKey == 'storemanApprove') {
|
|
|
|
|
- this.activeComp = 'inoutBound';
|
|
|
|
|
- this.$emit('activeCompChange', 'inoutBound');
|
|
|
|
|
- }
|
|
|
|
|
- });
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ this.form.repliedFiles = this.form.repliedFiles || [];
|
|
|
|
|
+ this.form.replied = this.form.repliedFiles.length > 0 ? 1 : 0;
|
|
|
|
|
+ this.form.returnStorageData = await this.$refs.add.getReturnStorage();
|
|
|
|
|
+ return Object.assign({}, this.form);
|
|
|
|
|
+ } catch (error) {
|
|
|
|
|
+ console.log(error);
|
|
|
|
|
+ return '';
|
|
|
|
|
+ // 表单验证未通过,不执行保存操作
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ save(data) {
|
|
|
|
|
+ this.$refs.add.handleNewSave(data);
|
|
|
|
|
+ },
|
|
|
|
|
+ success() {
|
|
|
|
|
+ this.$emit('handleClose');
|
|
|
|
|
+ },
|
|
|
|
|
+ getValidate() {
|
|
|
|
|
+ return Promise.all([
|
|
|
|
|
+ new Promise((resolve, reject) => {
|
|
|
|
|
+ resolve(true);
|
|
|
|
|
+ })
|
|
|
|
|
+ ]);
|
|
|
|
|
+ },
|
|
|
|
|
+ async getDetailData(id) {
|
|
|
|
|
+ this.loading = true;
|
|
|
|
|
+ const data = await getReturnSaleOrderrecordDetail(id);
|
|
|
|
|
+ this.loading = false;
|
|
|
|
|
+ if (data) {
|
|
|
|
|
+ this.detailData = data;
|
|
|
|
|
+ this.form = data;
|
|
|
|
|
+ this.form.productList.forEach(item => {
|
|
|
|
|
+ item['packingWeight'] = item.receiveTotalWeight
|
|
|
|
|
+ item['quantity'] = item.totalCount
|
|
|
|
|
+ })
|
|
|
|
|
+ this.form.pricingWay = data.saleOrder.pricingWay;
|
|
|
|
|
+ this.$nextTick(() => {
|
|
|
|
|
+ if (this.taskDefinitionKey == 'storemanApprove') {
|
|
|
|
|
+ this.activeComp = 'inoutBound';
|
|
|
|
|
+ this.$emit('activeCompChange', 'inoutBound');
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- };
|
|
|
|
|
|
|
+ }
|
|
|
|
|
+};
|
|
|
</script>
|
|
</script>
|
|
|
|
|
|
|
|
<style scoped lang="scss">
|
|
<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;
|
|
|
|
|
- .amount {
|
|
|
|
|
- font-size: 14px;
|
|
|
|
|
- font-weight: bold;
|
|
|
|
|
- margin-right: 20px;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.headbox {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ justify-content: flex-start;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+
|
|
|
|
|
+ .amount {
|
|
|
|
|
+ font-size: 14px;
|
|
|
|
|
+ font-weight: bold;
|
|
|
|
|
+ margin-right: 20px;
|
|
|
}
|
|
}
|
|
|
|
|
+}
|
|
|
</style>
|
|
</style>
|