|
|
@@ -33,10 +33,7 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item
|
|
|
- label="受托发货单"
|
|
|
- style="margin-bottom: 22px"
|
|
|
- >
|
|
|
+ <el-form-item label="受托发货单" style="margin-bottom: 22px">
|
|
|
<el-input
|
|
|
clearable
|
|
|
v-model="form.entrustedCode"
|
|
|
@@ -51,7 +48,8 @@
|
|
|
<el-form-item
|
|
|
label="客户名称"
|
|
|
prop="contactName"
|
|
|
- style="margin-bottom: 22px">
|
|
|
+ style="margin-bottom: 22px"
|
|
|
+ >
|
|
|
<el-input v-model="form.contactName" disabled></el-input>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
@@ -59,16 +57,19 @@
|
|
|
<el-form-item
|
|
|
label="客户联系人"
|
|
|
prop="linkName"
|
|
|
- style="margin-bottom: 22px">
|
|
|
- <el-input clearable v-model="form.linkName" placeholder="请输入"/>
|
|
|
+ style="margin-bottom: 22px"
|
|
|
+ >
|
|
|
+ <el-input
|
|
|
+ clearable
|
|
|
+ v-model="form.linkName"
|
|
|
+ placeholder="请输入"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item
|
|
|
- label="计价方式"
|
|
|
- style="margin-bottom: 22px">
|
|
|
+ <el-form-item label="计价方式" style="margin-bottom: 22px">
|
|
|
<el-select v-model="form.pricingWay" disabled style="width: 100%">
|
|
|
<el-option label="按数量计费" :value="1"></el-option>
|
|
|
<el-option label="按重量计费" :value="2"></el-option>
|
|
|
@@ -79,22 +80,32 @@
|
|
|
<el-form-item
|
|
|
label="客户电话"
|
|
|
prop="linkPhone"
|
|
|
- style="margin-bottom: 22px">
|
|
|
- <el-input clearable v-model="form.linkPhone" placeholder="请输入"/>
|
|
|
+ style="margin-bottom: 22px"
|
|
|
+ >
|
|
|
+ <el-input
|
|
|
+ clearable
|
|
|
+ v-model="form.linkPhone"
|
|
|
+ placeholder="请输入"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="车辆号" prop="carNo" style="margin-bottom: 22px">
|
|
|
- <el-input clearable v-model="form.carNo" placeholder="请输入"/>
|
|
|
+ <el-form-item
|
|
|
+ label="车辆号"
|
|
|
+ prop="carNo"
|
|
|
+ style="margin-bottom: 22px"
|
|
|
+ >
|
|
|
+ <el-input clearable v-model="form.carNo" placeholder="请输入" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item
|
|
|
label="收货地址"
|
|
|
prop="receiveAddress"
|
|
|
- style="margin-bottom: 22px">
|
|
|
+ style="margin-bottom: 22px"
|
|
|
+ >
|
|
|
<el-input
|
|
|
clearable
|
|
|
v-model="form.receiveAddress"
|
|
|
@@ -120,65 +131,74 @@
|
|
|
v-model="form.repliedFiles"
|
|
|
module="main"
|
|
|
:showLib="false"
|
|
|
- :limit="10"/>
|
|
|
+ :limit="10"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</el-form>
|
|
|
- <headerTitle title="产品清单" style="margin-top: 30px"></headerTitle>
|
|
|
- <inventoryTable
|
|
|
- :pricingWay="form.pricingWay"
|
|
|
- :entrustedCode="form.entrustedCode"
|
|
|
- ref="inventoryTableref"
|
|
|
- :orderId="form.orderId"
|
|
|
- v-show="taskDefinitionKey != 'salesmanUploadReceipt'"
|
|
|
- ></inventoryTable>
|
|
|
- <ele-pro-table
|
|
|
- ref="table"
|
|
|
- :needPage="false"
|
|
|
- :columns="competAnalysisListcolumns"
|
|
|
- :toolkit="[]"
|
|
|
- :datasource="form.productList"
|
|
|
- row-key="id"
|
|
|
- v-show="taskDefinitionKey == 'salesmanUploadReceipt'"
|
|
|
- >
|
|
|
- <!-- <template v-slot:toolbar>
|
|
|
+ <headerTitle title="产品清单" style="margin-top: 30px"></headerTitle>
|
|
|
+ <inventoryTable
|
|
|
+ :pricingWay="form.pricingWay"
|
|
|
+ :entrustedCode="form.entrustedCode"
|
|
|
+ ref="inventoryTableref"
|
|
|
+ :orderId="form.orderId"
|
|
|
+ v-show="taskDefinitionKey != 'salesmanUploadReceipt'"
|
|
|
+ ></inventoryTable>
|
|
|
+ <ele-pro-table
|
|
|
+ ref="table"
|
|
|
+ :needPage="false"
|
|
|
+ :columns="competAnalysisListcolumns"
|
|
|
+ :toolkit="[]"
|
|
|
+ :datasource="form.productList"
|
|
|
+ row-key="id"
|
|
|
+ v-show="taskDefinitionKey == 'salesmanUploadReceipt'"
|
|
|
+ >
|
|
|
+ <!-- <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 }">
|
|
|
- <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>
|
|
|
- <orderListDialog
|
|
|
- ref="orderListDialogRef"
|
|
|
- @changeParent="changeOrder"
|
|
|
- ></orderListDialog>
|
|
|
+ <template v-slot:technicalDrawings="{ row }">
|
|
|
+ <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>
|
|
|
+ <orderListDialog
|
|
|
+ ref="orderListDialogRef"
|
|
|
+ @changeParent="changeOrder"
|
|
|
+ ></orderListDialog>
|
|
|
<!-- 受托发货单 -->
|
|
|
- <entrusted-receive-dialog :entrusted-receive-dialog-flag.sync="entrustedReceiveDialogFlag"
|
|
|
- v-if="entrustedReceiveDialogFlag"
|
|
|
- @changeParent="getInfo"
|
|
|
- ref="entrustedReceiveDialogRef"></entrusted-receive-dialog>
|
|
|
+ <entrusted-receive-dialog
|
|
|
+ :entrusted-receive-dialog-flag.sync="entrustedReceiveDialogFlag"
|
|
|
+ v-if="entrustedReceiveDialogFlag"
|
|
|
+ @changeParent="getInfo"
|
|
|
+ ref="entrustedReceiveDialogRef"
|
|
|
+ ></entrusted-receive-dialog>
|
|
|
</div>
|
|
|
- <detailDialog type="sourceBizNo" :businessId="form.docNo" v-if="activeComp == 'outBound'"></detailDialog>
|
|
|
+ <detailDialog
|
|
|
+ type="sourceBizNo"
|
|
|
+ :businessId="form.docNo"
|
|
|
+ v-if="activeComp == 'outBound'"
|
|
|
+ ></detailDialog>
|
|
|
+ <!-- <detailDialog type="sourceBizNo" :businessId="form.docNo" v-if="activeComp == 'outBound'"></detailDialog> -->
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
import fileUpload from '@/components/upload/fileUpload';
|
|
|
- import detailDialog from '@/views/bpm/handleTask/components/outBound/detailDialog.vue'
|
|
|
+ // import detailDialog from '@/views/bpm/handleTask/components/outBound/detailDialog.vue'
|
|
|
+ import detailDialog from '@/views/bpm/outgoingManagement/details.vue';
|
|
|
import dictMixins from '@/mixins/dictMixins';
|
|
|
|
|
|
import {
|
|
|
@@ -190,7 +210,7 @@
|
|
|
import inventoryTable from './inventoryTable.vue';
|
|
|
import orderListDialog from './orderListDialog.vue';
|
|
|
import { copyObj } from '@/utils/util';
|
|
|
- import EntrustedReceiveDialog from "@/views/bpm/handleTask/components/saleOrder/invoice/entrustedReceiveDialog.vue";
|
|
|
+ import EntrustedReceiveDialog from '@/views/bpm/handleTask/components/saleOrder/invoice/entrustedReceiveDialog.vue';
|
|
|
|
|
|
export default {
|
|
|
mixins: [dictMixins],
|
|
|
@@ -243,11 +263,9 @@
|
|
|
{ required: true, message: '请选择客户名称', trigger: 'change' }
|
|
|
],
|
|
|
linkName: [
|
|
|
- { required: true, message: '请输入', trigger: ['blur','change'] }
|
|
|
+ { required: true, message: '请输入', trigger: ['blur', 'change'] }
|
|
|
],
|
|
|
- orderNo: [
|
|
|
- { required: true, message: '请选择', trigger: 'change' }
|
|
|
- ]
|
|
|
+ orderNo: [{ required: true, message: '请选择', trigger: 'change' }]
|
|
|
},
|
|
|
|
|
|
// 提交状态
|
|
|
@@ -267,56 +285,56 @@
|
|
|
prop: 'productName',
|
|
|
label: '名称',
|
|
|
slot: 'productName',
|
|
|
- align: 'center',
|
|
|
+ align: 'center'
|
|
|
},
|
|
|
{
|
|
|
width: 120,
|
|
|
prop: 'productCode',
|
|
|
label: '编码',
|
|
|
slot: 'productCode',
|
|
|
- align: 'center',
|
|
|
+ align: 'center'
|
|
|
},
|
|
|
{
|
|
|
width: 200,
|
|
|
prop: 'productCategoryName',
|
|
|
label: '类型',
|
|
|
slot: 'productCategoryName',
|
|
|
- align: 'center',
|
|
|
+ align: 'center'
|
|
|
},
|
|
|
{
|
|
|
width: 160,
|
|
|
prop: 'productBrand',
|
|
|
label: '牌号',
|
|
|
slot: 'productBrand',
|
|
|
- align: 'center',
|
|
|
+ align: 'center'
|
|
|
},
|
|
|
{
|
|
|
width: 120,
|
|
|
prop: 'modelType',
|
|
|
label: '型号',
|
|
|
slot: 'modelType',
|
|
|
- align: 'center',
|
|
|
+ align: 'center'
|
|
|
},
|
|
|
{
|
|
|
width: 120,
|
|
|
prop: 'specification',
|
|
|
label: '规格',
|
|
|
slot: 'specification',
|
|
|
- align: 'center',
|
|
|
+ align: 'center'
|
|
|
},
|
|
|
{
|
|
|
width: 200,
|
|
|
prop: 'customerMark',
|
|
|
label: '客户代号',
|
|
|
slot: 'customerMark',
|
|
|
- align: 'center',
|
|
|
+ align: 'center'
|
|
|
},
|
|
|
{
|
|
|
width: 200,
|
|
|
prop: 'warehouseName',
|
|
|
label: '仓库名称',
|
|
|
slot: 'warehouseName',
|
|
|
- align: 'center',
|
|
|
+ align: 'center'
|
|
|
},
|
|
|
|
|
|
{
|
|
|
@@ -324,35 +342,35 @@
|
|
|
prop: 'totalCount',
|
|
|
label: '数量',
|
|
|
slot: 'totalCount',
|
|
|
- align: 'center',
|
|
|
+ align: 'center'
|
|
|
},
|
|
|
{
|
|
|
width: 120,
|
|
|
prop: 'measuringUnit',
|
|
|
label: '计量单位',
|
|
|
slot: 'measuringUnit',
|
|
|
- align: 'center',
|
|
|
+ align: 'center'
|
|
|
},
|
|
|
{
|
|
|
width: 120,
|
|
|
prop: 'singleWeight',
|
|
|
label: '单重',
|
|
|
slot: 'singleWeight',
|
|
|
- align: "center"
|
|
|
+ align: 'center'
|
|
|
},
|
|
|
{
|
|
|
width: 100,
|
|
|
prop: 'receiveTotalWeight',
|
|
|
label: '收货总重',
|
|
|
slot: 'receiveTotalWeight',
|
|
|
- align: "center"
|
|
|
+ align: 'center'
|
|
|
},
|
|
|
{
|
|
|
width: 200,
|
|
|
prop: 'sendTotalWeight',
|
|
|
label: '发货总重',
|
|
|
slot: 'sendTotalWeight',
|
|
|
- align: "center",
|
|
|
+ align: 'center',
|
|
|
headerSlot: 'headerTotalCount'
|
|
|
},
|
|
|
|
|
|
@@ -361,21 +379,21 @@
|
|
|
prop: 'increaseTotalWeight',
|
|
|
label: '增重重量',
|
|
|
slot: 'increaseTotalWeight',
|
|
|
- align: "center"
|
|
|
+ align: 'center'
|
|
|
},
|
|
|
{
|
|
|
width: 100,
|
|
|
prop: 'weightUnit',
|
|
|
label: '重量单位',
|
|
|
slot: 'weightUnit',
|
|
|
- align: "center"
|
|
|
+ align: 'center'
|
|
|
},
|
|
|
{
|
|
|
width: 160,
|
|
|
prop: 'singlePrice',
|
|
|
label: '单价',
|
|
|
slot: 'singlePrice',
|
|
|
- align: 'center',
|
|
|
+ align: 'center'
|
|
|
},
|
|
|
{
|
|
|
width: 120,
|
|
|
@@ -385,7 +403,7 @@
|
|
|
formatter: (_row, _column, cellValue) => {
|
|
|
return _row.totalPrice + '元';
|
|
|
},
|
|
|
- align: 'center',
|
|
|
+ align: 'center'
|
|
|
},
|
|
|
|
|
|
{
|
|
|
@@ -393,7 +411,7 @@
|
|
|
prop: 'deliveryDays',
|
|
|
label: '交期(天)',
|
|
|
slot: 'deliveryDays',
|
|
|
- align: 'center',
|
|
|
+ align: 'center'
|
|
|
},
|
|
|
{
|
|
|
width: 200,
|
|
|
@@ -401,9 +419,11 @@
|
|
|
label: '质保期',
|
|
|
slot: 'guaranteePeriod',
|
|
|
formatter: (_row, _column, cellValue) => {
|
|
|
- return (_row.guaranteePeriod||'') + _row.guaranteePeriodUnitName;
|
|
|
+ return (
|
|
|
+ (_row.guaranteePeriod || '') + _row.guaranteePeriodUnitName
|
|
|
+ );
|
|
|
},
|
|
|
- align: 'center',
|
|
|
+ align: 'center'
|
|
|
},
|
|
|
// {
|
|
|
// width: 120,
|
|
|
@@ -416,14 +436,14 @@
|
|
|
prop: 'technicalAnswerName',
|
|
|
label: '技术答疑人',
|
|
|
slot: 'technicalAnswerName',
|
|
|
- align: 'center',
|
|
|
+ align: 'center'
|
|
|
},
|
|
|
{
|
|
|
width: 220,
|
|
|
prop: 'technicalParams',
|
|
|
label: '技术参数',
|
|
|
slot: 'technicalParams',
|
|
|
- align: 'center',
|
|
|
+ align: 'center'
|
|
|
},
|
|
|
{
|
|
|
width: 240,
|
|
|
@@ -431,16 +451,18 @@
|
|
|
label: '技术图纸',
|
|
|
slot: 'technicalDrawings',
|
|
|
formatter: (_row, _column, cellValue) => {
|
|
|
- return (_row.guaranteePeriod||'') + _row.guaranteePeriodUnitName;
|
|
|
+ return (
|
|
|
+ (_row.guaranteePeriod || '') + _row.guaranteePeriodUnitName
|
|
|
+ );
|
|
|
},
|
|
|
- align: 'center',
|
|
|
+ align: 'center'
|
|
|
},
|
|
|
{
|
|
|
width: 220,
|
|
|
prop: 'remark',
|
|
|
label: '备注',
|
|
|
slot: 'remark',
|
|
|
- align: 'center',
|
|
|
+ align: 'center'
|
|
|
}
|
|
|
]
|
|
|
};
|
|
|
@@ -520,7 +542,7 @@
|
|
|
if (data) {
|
|
|
this.$nextTick(() => {
|
|
|
this.form = data;
|
|
|
- this.form.pricingWay = data?.saleOrder?.pricingWay
|
|
|
+ this.form.pricingWay = data?.saleOrder?.pricingWay;
|
|
|
this.$refs.inventoryTableref &&
|
|
|
this.$refs.inventoryTableref.putTableValue(data.productList);
|
|
|
});
|
|
|
@@ -541,20 +563,19 @@
|
|
|
entrustedCode: '',
|
|
|
entrustedId: '',
|
|
|
sendNoteNo: '',
|
|
|
- pricingWay: '',
|
|
|
- })
|
|
|
+ pricingWay: ''
|
|
|
+ });
|
|
|
this.$refs.inventoryTableref &&
|
|
|
- this.$refs.inventoryTableref.putTableValue([]);
|
|
|
- return
|
|
|
+ this.$refs.inventoryTableref.putTableValue([]);
|
|
|
+ return;
|
|
|
}
|
|
|
this.searchParams = {
|
|
|
orderId: this.form.orderId
|
|
|
- }
|
|
|
- this.entrustedReceiveDialogFlag = true
|
|
|
+ };
|
|
|
+ this.entrustedReceiveDialogFlag = true;
|
|
|
this.$nextTick(() => {
|
|
|
this.$refs.entrustedReceiveDialogRef.init();
|
|
|
- })
|
|
|
-
|
|
|
+ });
|
|
|
},
|
|
|
//获取受托收货单数据回调
|
|
|
async getInfo(row) {
|
|
|
@@ -593,11 +614,11 @@
|
|
|
entrustedCode: code,
|
|
|
entrustedId: id
|
|
|
});
|
|
|
- productList.forEach(item => {
|
|
|
- item.id = ''
|
|
|
- })
|
|
|
+ productList.forEach((item) => {
|
|
|
+ item.id = '';
|
|
|
+ });
|
|
|
this.$refs.inventoryTableref &&
|
|
|
- this.$refs.inventoryTableref.putTableValue(productList, code);
|
|
|
+ this.$refs.inventoryTableref.putTableValue(productList, code);
|
|
|
});
|
|
|
},
|
|
|
//选择订单弹框
|
|
|
@@ -614,11 +635,11 @@
|
|
|
orderId: '',
|
|
|
pricingWay: '',
|
|
|
entrustedCode: '',
|
|
|
- entrustedId: '',
|
|
|
- })
|
|
|
+ entrustedId: ''
|
|
|
+ });
|
|
|
this.$refs.inventoryTableref &&
|
|
|
- this.$refs.inventoryTableref.putTableValue([]);
|
|
|
- return
|
|
|
+ this.$refs.inventoryTableref.putTableValue([]);
|
|
|
+ return;
|
|
|
}
|
|
|
|
|
|
let item = {
|