|
|
@@ -4,10 +4,10 @@
|
|
|
<headerTitle title="退货信息"></headerTitle>
|
|
|
<el-row>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item
|
|
|
- label="退货类型:"
|
|
|
- style="margin-bottom: 16px">
|
|
|
- {{ form.returnSourceType==2?'受托收货单退货':'销售发货单退货' }}
|
|
|
+ <el-form-item label="退货类型:" style="margin-bottom: 16px">
|
|
|
+ {{
|
|
|
+ form.returnSourceType == 2 ? '受托收货单退货' : '销售发货单退货'
|
|
|
+ }}
|
|
|
</el-form-item>
|
|
|
<el-form-item
|
|
|
label="客户名称:"
|
|
|
@@ -16,9 +16,7 @@
|
|
|
>
|
|
|
{{ form.contactName }}
|
|
|
</el-form-item>
|
|
|
- <el-form-item
|
|
|
- label="退货方式:"
|
|
|
- style="margin-bottom: 16px">
|
|
|
+ <el-form-item label="退货方式:" style="margin-bottom: 16px">
|
|
|
{{ form.typeName }}
|
|
|
</el-form-item>
|
|
|
<el-form-item
|
|
|
@@ -67,7 +65,7 @@
|
|
|
{{ form.returnNo }}
|
|
|
</el-form-item>
|
|
|
<el-form-item
|
|
|
- v-if="form.returnSourceType==2"
|
|
|
+ v-if="form.returnSourceType == 2"
|
|
|
label="受托收货编码:"
|
|
|
prop="entrustedReceiveCode"
|
|
|
style="margin-bottom: 16px"
|
|
|
@@ -100,20 +98,20 @@
|
|
|
style="margin-bottom: 16px"
|
|
|
>
|
|
|
<fileMain v-model="form.returnFiles" type="view"></fileMain>
|
|
|
-<!-- <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 }}-->
|
|
|
-<!-- </el-link-->
|
|
|
-<!-- >-->
|
|
|
-<!-- </div>-->
|
|
|
+ <!-- <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 }}-->
|
|
|
+ <!-- </el-link-->
|
|
|
+ <!-- >-->
|
|
|
+ <!-- </div>-->
|
|
|
</el-form-item>
|
|
|
<el-form-item
|
|
|
label="回执附件:"
|
|
|
@@ -121,31 +119,40 @@
|
|
|
style="margin-bottom: 16px"
|
|
|
>
|
|
|
<fileMain v-model="form.repliedFiles" type="view"></fileMain>
|
|
|
-<!-- <div-->
|
|
|
-<!-- v-if="detailData.repliedFiles && detailData.repliedFiles?.length"-->
|
|
|
-<!-- >-->
|
|
|
-<!-- <el-link-->
|
|
|
-<!-- v-for="link in detailData.repliedFiles"-->
|
|
|
-<!-- :key="link.id"-->
|
|
|
-<!-- type="primary"-->
|
|
|
-<!-- :underline="false"-->
|
|
|
-<!-- @click="downloadFile(link)"-->
|
|
|
-<!-- >-->
|
|
|
-<!-- {{ link.name }}-->
|
|
|
-<!-- </el-link-->
|
|
|
-<!-- >-->
|
|
|
-<!-- </div>-->
|
|
|
+ <!-- <div-->
|
|
|
+ <!-- v-if="detailData.repliedFiles && detailData.repliedFiles?.length"-->
|
|
|
+ <!-- >-->
|
|
|
+ <!-- <el-link-->
|
|
|
+ <!-- v-for="link in detailData.repliedFiles"-->
|
|
|
+ <!-- :key="link.id"-->
|
|
|
+ <!-- type="primary"-->
|
|
|
+ <!-- :underline="false"-->
|
|
|
+ <!-- @click="downloadFile(link)"-->
|
|
|
+ <!-- >-->
|
|
|
+ <!-- {{ link.name }}-->
|
|
|
+ <!-- </el-link-->
|
|
|
+ <!-- >-->
|
|
|
+ <!-- </div>-->
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</el-form>
|
|
|
+
|
|
|
+ <headerTitle title="原产品清单"></headerTitle>
|
|
|
+ <ele-pro-table
|
|
|
+ ref="table"
|
|
|
+ :needPage="false"
|
|
|
+ :columns="oldColumns"
|
|
|
+ :toolkit="[]"
|
|
|
+ :datasource="productList"
|
|
|
+ row-key="id"
|
|
|
+ >
|
|
|
+ <template v-slot:technicalDrawings="{ row }">
|
|
|
+ <fileMain v-model="row.technicalDrawings" type="view"></fileMain>
|
|
|
+ </template>
|
|
|
+ </ele-pro-table>
|
|
|
<headerTitle
|
|
|
- title="产品清单"
|
|
|
- v-show="
|
|
|
- taskDefinitionKey == 'starter' ||
|
|
|
- taskDefinitionKey == 'deptLeader' ||
|
|
|
- ['10', '20', '30'].includes(form.type)
|
|
|
- "
|
|
|
+ title="退货产品明细"
|
|
|
></headerTitle>
|
|
|
<ele-pro-table
|
|
|
ref="table"
|
|
|
@@ -155,43 +162,22 @@
|
|
|
:datasource="detailData.productList"
|
|
|
row-key="id"
|
|
|
>
|
|
|
- <!-- <template v-slot:toolbar>
|
|
|
- <div class="headbox">
|
|
|
- <span class="amount">总计:{{detailData.totalAmount}}元</span>
|
|
|
- <span class="amount">应付金额:{{detailData.payAmount}}元</span>
|
|
|
- </div>
|
|
|
- </template> -->
|
|
|
- <template v-slot:technicalDrawings="{ row }">
|
|
|
- <fileMain v-model="row.technicalDrawings" type="view"></fileMain>
|
|
|
-<!-- <div v-if="row.technicalDrawings && row.technicalDrawings?.length">-->
|
|
|
-<!-- <el-link-->
|
|
|
-<!-- v-for="link in row.technicalDrawings"-->
|
|
|
-<!-- :key="link.id"-->
|
|
|
-<!-- type="primary"-->
|
|
|
-<!-- :underline="false"-->
|
|
|
-<!-- @click="downloadFile(link)"-->
|
|
|
-<!-- >-->
|
|
|
-<!-- {{ link.name }}</el-link-->
|
|
|
-<!-- >-->
|
|
|
-<!-- </div>-->
|
|
|
- </template>
|
|
|
</ele-pro-table>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
import { getReturnSaleOrderrecordDetail } from '@/api/bpm/components/saleManage/saleorder';
|
|
|
+ import { getPSaleEntrustedReceiveDetailAPI } from '@/api/bpm/components/saleManage/entrustedReceive';
|
|
|
import { getFile } from '@/api/system/file';
|
|
|
import dictMixins from '@/mixins/dictMixins';
|
|
|
import { reviewStatusEnum } from '@/enum/dict';
|
|
|
- import fileMain from "@/components/addDoc/index.vue";
|
|
|
-
|
|
|
+ import fileMain from '@/components/addDoc/index.vue';
|
|
|
|
|
|
export default {
|
|
|
mixins: [dictMixins],
|
|
|
components: {
|
|
|
fileMain
|
|
|
-
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
@@ -207,8 +193,8 @@
|
|
|
},
|
|
|
rules: {},
|
|
|
detailData: {},
|
|
|
-
|
|
|
- competAnalysisListcolumns: [
|
|
|
+ productList: [],
|
|
|
+ oldColumns: [
|
|
|
{
|
|
|
width: 45,
|
|
|
type: 'index',
|
|
|
@@ -288,14 +274,14 @@
|
|
|
prop: 'singleWeight',
|
|
|
label: '单重',
|
|
|
slot: 'singleWeight',
|
|
|
- align: "center"
|
|
|
+ align: 'center'
|
|
|
},
|
|
|
{
|
|
|
width: 200,
|
|
|
prop: 'receiveTotalWeight',
|
|
|
label: '收货总重',
|
|
|
slot: 'receiveTotalWeight',
|
|
|
- align: "center",
|
|
|
+ align: 'center',
|
|
|
headerSlot: 'headerSendTotalWeight'
|
|
|
},
|
|
|
{
|
|
|
@@ -303,14 +289,14 @@
|
|
|
prop: 'sendTotalWeight',
|
|
|
label: '发货总重',
|
|
|
slot: 'sendTotalWeight',
|
|
|
- align: "center"
|
|
|
+ align: 'center'
|
|
|
},
|
|
|
{
|
|
|
width: 100,
|
|
|
prop: 'increaseTotalWeight',
|
|
|
label: '增重重量',
|
|
|
slot: 'increaseTotalWeight',
|
|
|
- align: "center"
|
|
|
+ align: 'center'
|
|
|
},
|
|
|
{
|
|
|
width: 160,
|
|
|
@@ -376,6 +362,193 @@
|
|
|
label: '备注',
|
|
|
slot: 'remark'
|
|
|
}
|
|
|
+ ],
|
|
|
+ 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 ? '按重量计费':'';
|
|
|
+
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ width: 100,
|
|
|
+ prop: 'singlePrice',
|
|
|
+ label: '单价',
|
|
|
+ slot: 'singlePrice',
|
|
|
+ align: 'center'
|
|
|
+ },
|
|
|
+
|
|
|
+ {
|
|
|
+ width: 100,
|
|
|
+ prop: 'totalPrice',
|
|
|
+ label: '合计',
|
|
|
+ align: 'center'
|
|
|
+ },
|
|
|
+
|
|
|
+ {
|
|
|
+ minWidth: 80,
|
|
|
+ prop: 'receiveTotalWeight',
|
|
|
+ label: '重量',
|
|
|
+ // slot: 'singleWeight',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ align: 'center'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ minWidth: 100,
|
|
|
+ prop: 'weightUnit',
|
|
|
+ label: '重量单位',
|
|
|
+ showOverflowTooltip: true,
|
|
|
+ align: 'center'
|
|
|
+ },
|
|
|
+ // {
|
|
|
+ // minWidth: 100,
|
|
|
+ // prop: 'qmsResult',
|
|
|
+ // label: '质检结果',
|
|
|
+ // showOverflowTooltip: true,
|
|
|
+ // align: 'center',
|
|
|
+ // formatter: (_row, _column, cellValue) => {
|
|
|
+ // return this.qualityResults[_row.qmsResult];
|
|
|
+ // }
|
|
|
+ // },
|
|
|
+ // {
|
|
|
+ // minWidth: 100,
|
|
|
+ // prop: 'qmsStatus',
|
|
|
+ // label: '质检状态',
|
|
|
+ // showOverflowTooltip: true,
|
|
|
+ // align: 'center',
|
|
|
+ // formatter: (_row, _column, cellValue) => {
|
|
|
+ // return this.qualityStatus[_row.qmsStatus];
|
|
|
+ // }
|
|
|
+ // },
|
|
|
+ // {
|
|
|
+ // minWidth: 130,
|
|
|
+ // prop: 'productionDate',
|
|
|
+ // showOverflowTooltip: true,
|
|
|
+ // label: '生产日期',
|
|
|
+ // align: 'center'
|
|
|
+ // },
|
|
|
+
|
|
|
+ // {
|
|
|
+ // minWidth: 100,
|
|
|
+ // prop: 'purchaseDate',
|
|
|
+ // label: '采购日期',
|
|
|
+ // align: 'center'
|
|
|
+ // },
|
|
|
+
|
|
|
+ {
|
|
|
+ minWidth: 200,
|
|
|
+ prop: 'returnReason',
|
|
|
+ label: '退货原因',
|
|
|
+ slot: 'returnReason',
|
|
|
+ align: 'center'
|
|
|
+ },
|
|
|
+
|
|
|
+ {
|
|
|
+ width: 220,
|
|
|
+ prop: 'remark',
|
|
|
+ label: '备注',
|
|
|
+ slot: 'remark',
|
|
|
+ align: 'center'
|
|
|
+ }
|
|
|
]
|
|
|
};
|
|
|
},
|
|
|
@@ -418,6 +591,11 @@
|
|
|
})
|
|
|
]);
|
|
|
},
|
|
|
+ //受托单详情
|
|
|
+ async getSendSaleOrderDetail(id) {
|
|
|
+ const data = await getPSaleEntrustedReceiveDetailAPI(id);
|
|
|
+ this.productList = data.productList;
|
|
|
+ },
|
|
|
async getDetailData(id) {
|
|
|
this.loading = true;
|
|
|
const data = await getReturnSaleOrderrecordDetail(id);
|
|
|
@@ -428,6 +606,7 @@
|
|
|
this.$nextTick(() => {
|
|
|
this.$refs.inventoryTabledetailRef &&
|
|
|
this.$refs.inventoryTabledetailRef.putTableValue(data);
|
|
|
+ this.getSendSaleOrderDetail(data.entrustedReceiveId)
|
|
|
});
|
|
|
}
|
|
|
}
|