|
|
@@ -256,11 +256,8 @@
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
<template v-slot:unqualifiedReasonAnalysisView="{ row, $index }">
|
|
|
- <el-form-item
|
|
|
-
|
|
|
- >
|
|
|
-
|
|
|
- <div >{{ row.unqualifiedReasonAnalysis }}</div>
|
|
|
+ <el-form-item>
|
|
|
+ <div>{{ row.unqualifiedReasonAnalysis }}</div>
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
<template v-slot:headerUnqualifiedReasonAnalysis="{ column }">
|
|
|
@@ -300,10 +297,7 @@
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
<template v-slot:unqualifiedTypeView="{ row, $index }">
|
|
|
- <el-form-item
|
|
|
-
|
|
|
- >
|
|
|
-
|
|
|
+ <el-form-item>
|
|
|
<div>{{ row.unqualifiedTypeName }}</div>
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
@@ -335,10 +329,7 @@
|
|
|
<span class="is-required">{{ column.label }}</span>
|
|
|
</template>
|
|
|
<template v-slot:handleOpinionView="{ row, $index }">
|
|
|
- <el-form-item
|
|
|
-
|
|
|
- >
|
|
|
-
|
|
|
+ <el-form-item>
|
|
|
<div>{{ row.handleOpinion }}</div>
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
@@ -377,9 +368,8 @@
|
|
|
<el-input
|
|
|
v-if="isTrue && row.inOrOut == 2"
|
|
|
v-model="row.outerInfo"
|
|
|
-
|
|
|
></el-input>
|
|
|
-
|
|
|
+
|
|
|
<div v-else>{{ row.outerInfo }}</div>
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
@@ -409,6 +399,14 @@
|
|
|
<template v-slot:headerImproveOpinion="{ column }">
|
|
|
<span class="is-required">{{ column.label }}</span>
|
|
|
</template>
|
|
|
+ <template v-slot:technicalDrawings="scope">
|
|
|
+ <el-form-item
|
|
|
+ style="margin-bottom: 20px"
|
|
|
+ :prop="'detailList.' + scope.$index + '.technicalDrawings'"
|
|
|
+ >
|
|
|
+ <fileMain v-model="scope.row.technicalDrawings" type="view"></fileMain>
|
|
|
+ </el-form-item>
|
|
|
+ </template>
|
|
|
<!--////-->
|
|
|
</ele-pro-table>
|
|
|
</el-form>
|
|
|
@@ -419,15 +417,19 @@
|
|
|
:returnDetailsForm="form"
|
|
|
></inbound-details> -->
|
|
|
<add
|
|
|
- ref="add"
|
|
|
- :form="form"
|
|
|
- v-if="isShowReturnOrder&&taskDefinitionKey=='storeman'"
|
|
|
- :bizType="6"
|
|
|
- :sourceBizNo="form.returnHandleNo"
|
|
|
- :detailList="detailList"
|
|
|
- ></add>
|
|
|
+ ref="add"
|
|
|
+ :form="form"
|
|
|
+ v-if="isShowReturnOrder && taskDefinitionKey == 'storeman'"
|
|
|
+ :bizType="6"
|
|
|
+ :sourceBizNo="form.returnHandleNo"
|
|
|
+ :detailList="detailList"
|
|
|
+ ></add>
|
|
|
|
|
|
- <inboundDetails :businessId="form.returnInReceiptId" :isInterior="true" v-if="isShowReturnOrder&&taskDefinitionKey!='storeman'" ></inboundDetails>
|
|
|
+ <inboundDetails
|
|
|
+ :businessId="form.returnInReceiptId"
|
|
|
+ :isInterior="true"
|
|
|
+ v-if="isShowReturnOrder && taskDefinitionKey != 'storeman'"
|
|
|
+ ></inboundDetails>
|
|
|
</el-tab-pane>
|
|
|
</el-tabs>
|
|
|
|
|
|
@@ -457,6 +459,7 @@
|
|
|
import { EventBus } from './eventBus.js';
|
|
|
import { mapActions, mapGetters } from 'vuex';
|
|
|
import dictEnum from '@/enum/dict';
|
|
|
+ import fileMain from '@/components/addDoc/index.vue';
|
|
|
|
|
|
export default {
|
|
|
name: 'customerReturnOrder',
|
|
|
@@ -482,7 +485,7 @@
|
|
|
default: false
|
|
|
}
|
|
|
},
|
|
|
- components: { outboundDetailsDialog, headList, inboundDetails,add },
|
|
|
+ components: { outboundDetailsDialog, headList, inboundDetails, add,fileMain },
|
|
|
data() {
|
|
|
return {
|
|
|
activeName: '退货物品明细',
|
|
|
@@ -495,133 +498,147 @@
|
|
|
form: {
|
|
|
detailList: []
|
|
|
},
|
|
|
- detailList:[],
|
|
|
+ detailList: [],
|
|
|
rules: {}
|
|
|
};
|
|
|
},
|
|
|
computed: {
|
|
|
columns() {
|
|
|
let basicFields = [
|
|
|
- {
|
|
|
- width: 45,
|
|
|
- type: 'index',
|
|
|
- columnKey: 'index',
|
|
|
- align: 'center',
|
|
|
- fixed: 'left'
|
|
|
- },
|
|
|
- {
|
|
|
- minWidth: 120,
|
|
|
- prop: 'productName',
|
|
|
- label: '名称',
|
|
|
- align: 'center',
|
|
|
- },
|
|
|
- {
|
|
|
- minWidth: 120,
|
|
|
- prop: 'productCode',
|
|
|
- label: '编码',
|
|
|
- align: 'center',
|
|
|
- },
|
|
|
-
|
|
|
- {
|
|
|
- minWidth: 120,
|
|
|
- prop: 'specification',
|
|
|
- label: '规格',
|
|
|
- align: 'center',
|
|
|
- slot: 'specification'
|
|
|
- },
|
|
|
- {
|
|
|
- minWidth: 120,
|
|
|
- prop: 'batchNo',
|
|
|
- label: '批次号',
|
|
|
- align: 'center',
|
|
|
- },
|
|
|
- {
|
|
|
- minWidth: 120,
|
|
|
- prop: 'barcodes',
|
|
|
- label: '发货条码',
|
|
|
- align: 'center',
|
|
|
- }, {
|
|
|
- minWidth: 120,
|
|
|
- prop: 'packageNo',
|
|
|
- label: '包装编码',
|
|
|
- align: 'center',
|
|
|
- },
|
|
|
- {
|
|
|
- minWidth: 80,
|
|
|
- prop: 'packageCount',
|
|
|
- label: '包装数量',
|
|
|
- align: 'center',
|
|
|
- // slot: 'packageCount',
|
|
|
- headerSlot: 'headerPackingCount'
|
|
|
- },
|
|
|
- {
|
|
|
- minWidth: 80,
|
|
|
- prop: 'packingUnit',
|
|
|
- label: '单位',
|
|
|
- align: 'center',
|
|
|
- slot: 'packingUnit'
|
|
|
- },
|
|
|
- {
|
|
|
- minWidth: 80,
|
|
|
- prop: 'measurementCount',
|
|
|
- label: '计量数量',
|
|
|
- align: 'center',
|
|
|
- // slot: 'measurementCount',
|
|
|
- headerSlot: 'headerCount'
|
|
|
- },
|
|
|
- {
|
|
|
- minWidth: 80,
|
|
|
- prop: 'measurementUnit',
|
|
|
- label: '计量单位',
|
|
|
- align: 'center',
|
|
|
- slot: 'measuringUnit'
|
|
|
- },
|
|
|
- {
|
|
|
- minWidth: 80,
|
|
|
- prop: 'weight',
|
|
|
- label: '重量',
|
|
|
- align: 'center',
|
|
|
- // slot: 'weight',
|
|
|
- headerSlot: 'headerWeight'
|
|
|
- },
|
|
|
- {
|
|
|
- minWidth: 80,
|
|
|
- prop: 'weightUnit',
|
|
|
- label: '重量单位',
|
|
|
- align: 'center',
|
|
|
- slot: 'weightUnit'
|
|
|
- },
|
|
|
- {
|
|
|
- minWidth: 80,
|
|
|
- prop: 'carveCode',
|
|
|
- label: '刻码',
|
|
|
- // slot: 'carveCode',
|
|
|
- align: 'center',
|
|
|
- headerSlot: 'headerEngrave'
|
|
|
- },
|
|
|
- {
|
|
|
- minWidth: 140,
|
|
|
- prop: 'reason',
|
|
|
- label: '客户退货理由',
|
|
|
- align: 'center',
|
|
|
- slot: 'reason',
|
|
|
- headerSlot: 'headerReason'
|
|
|
- },
|
|
|
- {
|
|
|
- minWidth: 180,
|
|
|
- prop: 'feedbackDate',
|
|
|
- label: '客户反馈日期',
|
|
|
- align: 'center',
|
|
|
- slot: 'feedbackDate'
|
|
|
- },
|
|
|
- {
|
|
|
- minWidth: 180,
|
|
|
- prop: 'sendDate',
|
|
|
- label: '客户发出日期',
|
|
|
- slot: 'sendDate',
|
|
|
- align: 'center',
|
|
|
- headerSlot: 'headerSendDate'
|
|
|
- },
|
|
|
+ {
|
|
|
+ width: 45,
|
|
|
+ type: 'index',
|
|
|
+ columnKey: 'index',
|
|
|
+ align: 'center',
|
|
|
+ fixed: 'left'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ minWidth: 120,
|
|
|
+ prop: 'productName',
|
|
|
+ label: '名称',
|
|
|
+ align: 'center'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ minWidth: 120,
|
|
|
+ prop: 'productCode',
|
|
|
+ label: '编码',
|
|
|
+ align: 'center'
|
|
|
+ },
|
|
|
+
|
|
|
+ {
|
|
|
+ minWidth: 120,
|
|
|
+ prop: 'specification',
|
|
|
+ label: '规格',
|
|
|
+ align: 'center',
|
|
|
+ slot: 'specification'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ minWidth: 120,
|
|
|
+ prop: 'batchNo',
|
|
|
+ label: '批次号',
|
|
|
+ align: 'center'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ minWidth: 120,
|
|
|
+ prop: 'barcodes',
|
|
|
+ label: '发货条码',
|
|
|
+ align: 'center'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ minWidth: 120,
|
|
|
+ prop: 'packageNo',
|
|
|
+ label: '包装编码',
|
|
|
+ align: 'center'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ minWidth: 80,
|
|
|
+ prop: 'packageCount',
|
|
|
+ label: '包装数量',
|
|
|
+ align: 'center',
|
|
|
+ // slot: 'packageCount',
|
|
|
+ headerSlot: 'headerPackingCount'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ minWidth: 80,
|
|
|
+ prop: 'packingUnit',
|
|
|
+ label: '单位',
|
|
|
+ align: 'center',
|
|
|
+ slot: 'packingUnit'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ minWidth: 80,
|
|
|
+ prop: 'measurementCount',
|
|
|
+ label: '计量数量',
|
|
|
+ align: 'center',
|
|
|
+ // slot: 'measurementCount',
|
|
|
+ headerSlot: 'headerCount'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ minWidth: 80,
|
|
|
+ prop: 'measurementUnit',
|
|
|
+ label: '计量单位',
|
|
|
+ align: 'center',
|
|
|
+ slot: 'measuringUnit'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ minWidth: 80,
|
|
|
+ prop: 'weight',
|
|
|
+ label: '重量',
|
|
|
+ align: 'center',
|
|
|
+ // slot: 'weight',
|
|
|
+ headerSlot: 'headerWeight'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ minWidth: 80,
|
|
|
+ prop: 'weightUnit',
|
|
|
+ label: '重量单位',
|
|
|
+ align: 'center',
|
|
|
+ slot: 'weightUnit'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ width: 240,
|
|
|
+ prop: 'technologyRouteName',
|
|
|
+ label: '工艺路线',
|
|
|
+ align: 'center'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ width: 240,
|
|
|
+ prop: 'technicalDrawings',
|
|
|
+ label: '技术图纸',
|
|
|
+ slot: 'technicalDrawings',
|
|
|
+ align: 'center'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ minWidth: 80,
|
|
|
+ prop: 'carveCode',
|
|
|
+ label: '刻码',
|
|
|
+ // slot: 'carveCode',
|
|
|
+ align: 'center',
|
|
|
+ headerSlot: 'headerEngrave'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ minWidth: 140,
|
|
|
+ prop: 'reason',
|
|
|
+ label: '客户退货理由',
|
|
|
+ align: 'center',
|
|
|
+ slot: 'reason',
|
|
|
+ headerSlot: 'headerReason'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ minWidth: 180,
|
|
|
+ prop: 'feedbackDate',
|
|
|
+ label: '客户反馈日期',
|
|
|
+ align: 'center',
|
|
|
+ slot: 'feedbackDate'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ minWidth: 180,
|
|
|
+ prop: 'sendDate',
|
|
|
+ label: '客户发出日期',
|
|
|
+ slot: 'sendDate',
|
|
|
+ align: 'center',
|
|
|
+ headerSlot: 'headerSendDate'
|
|
|
+ }
|
|
|
];
|
|
|
let processNodes = {
|
|
|
//发起人
|
|
|
@@ -838,21 +855,20 @@
|
|
|
prop: 'unqualifiedReasonAnalysis',
|
|
|
label: '不合格原因分析',
|
|
|
align: 'center',
|
|
|
- slot: 'unqualifiedReasonAnalysisView',
|
|
|
+ slot: 'unqualifiedReasonAnalysisView'
|
|
|
},
|
|
|
{
|
|
|
minWidth: 250,
|
|
|
prop: 'unqualifiedTypeName',
|
|
|
label: '不合格类型',
|
|
|
- align: 'center',
|
|
|
-
|
|
|
+ align: 'center'
|
|
|
},
|
|
|
{
|
|
|
minWidth: 250,
|
|
|
prop: 'handleOpinion',
|
|
|
label: '对不合格品的处理意见',
|
|
|
align: 'center',
|
|
|
- slot: 'handleOpinionView',
|
|
|
+ slot: 'handleOpinionView'
|
|
|
}
|
|
|
],
|
|
|
//质检员反馈
|
|
|
@@ -971,24 +987,24 @@
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
- let totalCount=0
|
|
|
- this.detailList=this.form.detailList.map(item=>{
|
|
|
- item['outType']=item.outboundType
|
|
|
- item['categoryName']=item.productName
|
|
|
- item['categoryCode']=item.productCode
|
|
|
- item['packingQuantity']=item.packageCount
|
|
|
- item['quantity']=item.measurementCount
|
|
|
- item['measuringUnit']=item.measurementUnit
|
|
|
- item['categoryId']=item.productCategoryId
|
|
|
- item['engrave']=item.carveCode
|
|
|
- item['categoryName']=item.productCategoryName
|
|
|
- totalCount+=item.measurementCount
|
|
|
- return item
|
|
|
- })
|
|
|
- this.form.totalCount=totalCount
|
|
|
- this.form['warehouseId']=this.detailList[0].warehouseId
|
|
|
- this.form['warehouseName']= this.detailList[0].warehouseName
|
|
|
-
|
|
|
+ let totalCount = 0;
|
|
|
+ this.detailList = this.form.detailList.map((item) => {
|
|
|
+ item['outType'] = item.outboundType;
|
|
|
+ item['categoryName'] = item.productName;
|
|
|
+ item['categoryCode'] = item.productCode;
|
|
|
+ item['packingQuantity'] = item.packageCount;
|
|
|
+ item['quantity'] = item.measurementCount;
|
|
|
+ item['measuringUnit'] = item.measurementUnit;
|
|
|
+ item['categoryId'] = item.productCategoryId;
|
|
|
+ item['engrave'] = item.carveCode;
|
|
|
+ item['categoryName'] = item.productCategoryName;
|
|
|
+ totalCount += item.measurementCount;
|
|
|
+ return item;
|
|
|
+ });
|
|
|
+ this.form.totalCount = totalCount;
|
|
|
+ this.form['warehouseId'] = this.detailList[0].warehouseId;
|
|
|
+ this.form['warehouseName'] = this.detailList[0].warehouseName;
|
|
|
+
|
|
|
// this.form.detailList.forEach((item) => {
|
|
|
// if (item.outboundType == 1) {
|
|
|
// let find =
|
|
|
@@ -1070,8 +1086,7 @@
|
|
|
detailList: this.form.detailList,
|
|
|
returnRecordId: this.form.returnRecordId,
|
|
|
id: this.form.id,
|
|
|
- returnStorageData:
|
|
|
- await this.$refs.add?.getReturnStorage()
|
|
|
+ returnStorageData: await this.$refs.add?.getReturnStorage()
|
|
|
};
|
|
|
resolve(params);
|
|
|
}
|