|
@@ -28,11 +28,11 @@
|
|
|
placeholder="请选择"
|
|
placeholder="请选择"
|
|
|
style="width: 100%"
|
|
style="width: 100%"
|
|
|
@change="sourceTypeChange"
|
|
@change="sourceTypeChange"
|
|
|
- :disabled="isFlag"
|
|
|
|
|
|
|
+ :disabled="isFlag || (isUpdate && form.sourceType === '8')"
|
|
|
clearable
|
|
clearable
|
|
|
>
|
|
>
|
|
|
<el-option
|
|
<el-option
|
|
|
- v-for="item in requirementSourceType"
|
|
|
|
|
|
|
+ v-for="item in filterList"
|
|
|
:key="item.value"
|
|
:key="item.value"
|
|
|
:label="item.label"
|
|
:label="item.label"
|
|
|
:value="item.value"
|
|
:value="item.value"
|
|
@@ -47,13 +47,18 @@
|
|
|
filterable
|
|
filterable
|
|
|
clearable
|
|
clearable
|
|
|
style="width: 100%"
|
|
style="width: 100%"
|
|
|
|
|
+ :disabled="(isUpdate && form.sourceType === '8')"
|
|
|
@change="handleChangeRelationType"
|
|
@change="handleChangeRelationType"
|
|
|
>
|
|
>
|
|
|
- <el-option :value="1" label="采购需求单"></el-option>
|
|
|
|
|
- <el-option :value="2" label="采购计划单"></el-option>
|
|
|
|
|
- <el-option :value="3" label="采购核价单"></el-option>
|
|
|
|
|
- <el-option :value="4" label="采购合同"></el-option>
|
|
|
|
|
- <el-option :value="5" label="售后服务"></el-option>
|
|
|
|
|
|
|
+ <el-option v-if="!showReturnRelation" :value="1" label="采购需求单"></el-option>
|
|
|
|
|
+ <el-option v-if="!showReturnRelation" :value="2" label="采购计划单"></el-option>
|
|
|
|
|
+ <el-option v-if="!showReturnRelation" :value="3" label="采购核价单"></el-option>
|
|
|
|
|
+ <el-option v-if="!showReturnRelation" :value="4" label="采购合同"></el-option>
|
|
|
|
|
+ <el-option v-if="!showReturnRelation" :value="5" label="售后服务"></el-option>
|
|
|
|
|
+
|
|
|
|
|
+ <el-option v-if="showReturnRelation" :value="6" label="销售退货单"></el-option>
|
|
|
|
|
+ <el-option v-if="showReturnRelation" :value="7" label="销售退货处理单"></el-option>
|
|
|
|
|
+ <el-option v-if="showReturnRelation" :value="8" label="采购退货单"></el-option>
|
|
|
</el-select>
|
|
</el-select>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item
|
|
<el-form-item
|
|
@@ -125,6 +130,49 @@
|
|
|
/>
|
|
/>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
|
|
|
|
|
|
+ <el-form-item
|
|
|
|
|
+ v-if="form.relationType == 6"
|
|
|
|
|
+ label="销售退货单"
|
|
|
|
|
+ prop="relationName"
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ clearable
|
|
|
|
|
+ v-model="form.relationName"
|
|
|
|
|
+ @click.native="handleReturnBtn"
|
|
|
|
|
+ @clear="clearContrcat"
|
|
|
|
|
+ placeholder="请输入"
|
|
|
|
|
+ />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+
|
|
|
|
|
+ <el-form-item
|
|
|
|
|
+ v-if="form.relationType == 7"
|
|
|
|
|
+ label="销售退货处理单"
|
|
|
|
|
+ prop="relationName"
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ clearable
|
|
|
|
|
+ v-model="form.relationName"
|
|
|
|
|
+ :disabled="(isUpdate && form.sourceType === '8')"
|
|
|
|
|
+ @click.native="handleReturnDealBtn"
|
|
|
|
|
+ @clear="clearContrcat"
|
|
|
|
|
+ placeholder="请输入"
|
|
|
|
|
+ />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+
|
|
|
|
|
+ <el-form-item
|
|
|
|
|
+ v-if="form.relationType == 8"
|
|
|
|
|
+ label="采购退货单"
|
|
|
|
|
+ prop="relationName"
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ clearable
|
|
|
|
|
+ v-model="form.relationName"
|
|
|
|
|
+ @click.native="handlePurchaseReturnOrder"
|
|
|
|
|
+ @clear="clearContrcat"
|
|
|
|
|
+ placeholder="请输入"
|
|
|
|
|
+ />
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+
|
|
|
<el-form-item label="需求部门" prop="requireDeptId">
|
|
<el-form-item label="需求部门" prop="requireDeptId">
|
|
|
<ele-tree-select
|
|
<ele-tree-select
|
|
|
clearable
|
|
clearable
|
|
@@ -468,6 +516,28 @@
|
|
|
ref="selectProjectRef"
|
|
ref="selectProjectRef"
|
|
|
@changeParent="changeProject"
|
|
@changeParent="changeProject"
|
|
|
></projectListDialog>
|
|
></projectListDialog>
|
|
|
|
|
+ <!-- 销售退货 -->
|
|
|
|
|
+ <return-order-dialog
|
|
|
|
|
+ :returnOrderDialogFlag.sync="returnOrderDialogFlag"
|
|
|
|
|
+ v-if="returnOrderDialogFlag"
|
|
|
|
|
+ @changeParent="changeReturn"
|
|
|
|
|
+ >
|
|
|
|
|
+ </return-order-dialog>
|
|
|
|
|
+ <!-- 销售处理退货 -->
|
|
|
|
|
+ <returnOrderDealDialog
|
|
|
|
|
+ :returnOrderDealDialogFlag.sync="returnOrderDealDialogFlag"
|
|
|
|
|
+ v-if="returnOrderDealDialogFlag"
|
|
|
|
|
+ @changeParent="changeReturnDeal"
|
|
|
|
|
+ >
|
|
|
|
|
+ </returnOrderDealDialog>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 采购退货 -->
|
|
|
|
|
+ <purchase-return-order-dialog
|
|
|
|
|
+ :purchaseReturnOrderDialogFlag.sync="purchaseReturnOrderDialogFlag"
|
|
|
|
|
+ v-if="purchaseReturnOrderDialogFlag"
|
|
|
|
|
+ @changeParent="getPReturnOrderInfo"
|
|
|
|
|
+ ref="returnOrderDialogRef"
|
|
|
|
|
+ ></purchase-return-order-dialog>
|
|
|
<ele-modal
|
|
<ele-modal
|
|
|
custom-class="ele-dialog-form long-dialog-form"
|
|
custom-class="ele-dialog-form long-dialog-form"
|
|
|
:visible.sync="supplierListShow"
|
|
:visible.sync="supplierListShow"
|
|
@@ -546,6 +616,12 @@
|
|
|
orderSourceType,
|
|
orderSourceType,
|
|
|
outsourceSceneList
|
|
outsourceSceneList
|
|
|
} from '@/enum/dict.js';
|
|
} from '@/enum/dict.js';
|
|
|
|
|
+ import returnOrderDialog from '@/views/saleManage/saleOrder/customerReturnOrder/returnOrderDialog.vue';
|
|
|
|
|
+ import {
|
|
|
|
|
+ getSaleOrderDetail,
|
|
|
|
|
+ } from '@/api/saleManage/saleorder';
|
|
|
|
|
+ import returnOrderDealDialog from './returnOrderDealDialog.vue';
|
|
|
|
|
+ import purchaseReturnOrderDialog from '@/views/transportManager/shipManage/dispatchManage/components/purchaseReturnOrderDialog.vue';
|
|
|
|
|
|
|
|
export default {
|
|
export default {
|
|
|
mixins: [dictMixins],
|
|
mixins: [dictMixins],
|
|
@@ -570,7 +646,10 @@
|
|
|
personSelect,
|
|
personSelect,
|
|
|
supplierGoodsListDialog,
|
|
supplierGoodsListDialog,
|
|
|
planTableList,
|
|
planTableList,
|
|
|
- projectListDialog
|
|
|
|
|
|
|
+ projectListDialog,
|
|
|
|
|
+ returnOrderDialog,
|
|
|
|
|
+ returnOrderDealDialog,
|
|
|
|
|
+ purchaseReturnOrderDialog
|
|
|
},
|
|
},
|
|
|
data() {
|
|
data() {
|
|
|
let formDef = {
|
|
let formDef = {
|
|
@@ -619,6 +698,9 @@
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
return {
|
|
return {
|
|
|
|
|
+ purchaseReturnOrderDialogFlag: false,
|
|
|
|
|
+ returnOrderDealDialogFlag: false,
|
|
|
|
|
+ returnOrderDialogFlag: false,
|
|
|
supplierListShow: false,
|
|
supplierListShow: false,
|
|
|
supplierList: [],
|
|
supplierList: [],
|
|
|
supplierId: '',
|
|
supplierId: '',
|
|
@@ -674,6 +756,12 @@
|
|
|
allcountAmount() {
|
|
allcountAmount() {
|
|
|
return this.$store.state.order.allcountAmount;
|
|
return this.$store.state.order.allcountAmount;
|
|
|
},
|
|
},
|
|
|
|
|
+ showReturnRelation() {
|
|
|
|
|
+ return ['8','9'].includes(this.form.sourceType);
|
|
|
|
|
+ },
|
|
|
|
|
+ filterList() {
|
|
|
|
|
+ return this.isUpdate ? this.requirementSourceType : this.requirementSourceType.filter(item => item.value !== '8');
|
|
|
|
|
+ },
|
|
|
rules() {
|
|
rules() {
|
|
|
let isRequired = this.isRequired;
|
|
let isRequired = this.isRequired;
|
|
|
// console.log(this.isRequired);
|
|
// console.log(this.isRequired);
|
|
@@ -774,6 +862,216 @@
|
|
|
this.changePersonel();
|
|
this.changePersonel();
|
|
|
},
|
|
},
|
|
|
methods: {
|
|
methods: {
|
|
|
|
|
+ //选择退货单
|
|
|
|
|
+ handleReturnBtn(e) {
|
|
|
|
|
+ // this.$refs.returnListRef.open();
|
|
|
|
|
+ if (e.target.nodeName == 'I') {
|
|
|
|
|
+ this.$set(this.form, 'relationCode', '');
|
|
|
|
|
+ this.$set(this.form, 'relationId', '');
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ this.returnOrderDialogFlag = true;
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ //退货单
|
|
|
|
|
+ async changeReturn(row) {
|
|
|
|
|
+ console.log('data~~~', row);
|
|
|
|
|
+ // this.form = Object.assign({}, this.form, {
|
|
|
|
|
+ // relationCode: row.returnNo,
|
|
|
|
|
+ // relationId: row.id
|
|
|
|
|
+ // });
|
|
|
|
|
+ // this.$set(this.form, 'relationName', data.requirementName);
|
|
|
|
|
+ this.$set(this.form, 'relationId', row.id);
|
|
|
|
|
+ this.$set(this.form, 'relationName', row.returnNo);
|
|
|
|
|
+ this.getReturnOrderDetail(row);
|
|
|
|
|
+
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ async getReturnOrderDetail(row) {
|
|
|
|
|
+ console.log('row', row.orderNo);
|
|
|
|
|
+ const id = row.orderIds.split(',')[0];
|
|
|
|
|
+ const res = await getSaleOrderDetail(id);
|
|
|
|
|
+ console.log('res~~~~', res);
|
|
|
|
|
+ if (row.partaId) {
|
|
|
|
|
+ await this.changeParent({ id: row.partaId }, true);
|
|
|
|
|
+ }
|
|
|
|
|
+ if (res) {
|
|
|
|
|
+ let {
|
|
|
|
|
+ // partaAddress,
|
|
|
|
|
+ // partaEmail,
|
|
|
|
|
+ // partaFax,
|
|
|
|
|
+ // partaId,
|
|
|
|
|
+ // partaLinkId,
|
|
|
|
|
+ // partaLinkName,
|
|
|
|
|
+ // partaName,
|
|
|
|
|
+ // partaTel,
|
|
|
|
|
+ partbAddress,
|
|
|
|
|
+ partbEmail,
|
|
|
|
|
+ partbFax,
|
|
|
|
|
+ partbId,
|
|
|
|
|
+ partbLinkId,
|
|
|
|
|
+ partbLinkName,
|
|
|
|
|
+ partbName,
|
|
|
|
|
+ partbTel,
|
|
|
|
|
+ totalPrice,
|
|
|
|
|
+ discountTotalPrice,
|
|
|
|
|
+ // partaUnifiedSocialCreditCode,
|
|
|
|
|
+ partbUnifiedSocialCreditCode,
|
|
|
|
|
+ settlementMode,
|
|
|
|
|
+ settlementModeName,
|
|
|
|
|
+ pricingWay,
|
|
|
|
|
+ productList,
|
|
|
|
|
+ typedetailList,
|
|
|
|
|
+ totalAmount,
|
|
|
|
|
+ payAmount
|
|
|
|
|
+ } = res;
|
|
|
|
|
+ this.form = Object.assign({}, this.form, {
|
|
|
|
|
+ partaAddress: partbAddress,
|
|
|
|
|
+ partaEmail: partbEmail,
|
|
|
|
|
+ partaFax: partbFax,
|
|
|
|
|
+ partaId: partbId,
|
|
|
|
|
+ partaLinkId: partbLinkId,
|
|
|
|
|
+ partaLinkName: partbLinkName,
|
|
|
|
|
+ partaName: partbName,
|
|
|
|
|
+ partaTel: partbTel,
|
|
|
|
|
+ // partbAddress,
|
|
|
|
|
+ // partbEmail,
|
|
|
|
|
+ // partbFax,
|
|
|
|
|
+ // partbId,
|
|
|
|
|
+ // partbLinkId,
|
|
|
|
|
+ // partbLinkName,
|
|
|
|
|
+ // partbName,
|
|
|
|
|
+ // partbTel,
|
|
|
|
|
+ totalPrice,
|
|
|
|
|
+ discountTotalPrice,
|
|
|
|
|
+ partaUnifiedSocialCreditCode: partbUnifiedSocialCreditCode,
|
|
|
|
|
+ settlementMode,
|
|
|
|
|
+ settlementModeName,
|
|
|
|
|
+ pricingWay,
|
|
|
|
|
+ productList,
|
|
|
|
|
+ typedetailList,
|
|
|
|
|
+ // totalAmount,
|
|
|
|
|
+ payAmount
|
|
|
|
|
+ });
|
|
|
|
|
+ this.$nextTick(() => {
|
|
|
|
|
+ this.$store.commit('order/setAllcountAmount', totalAmount);
|
|
|
|
|
+ this.$refs.inventoryTable &&
|
|
|
|
|
+ this.$refs.inventoryTable.putTableValue(res.productList);
|
|
|
|
|
+ this.getLinkInfo(row.partaId);
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ // 销售处理退货
|
|
|
|
|
+
|
|
|
|
|
+ handleReturnDealBtn(e) {
|
|
|
|
|
+ if (e.target.nodeName == 'I') {
|
|
|
|
|
+ this.$set(this.form, 'relationCode', '');
|
|
|
|
|
+ this.$set(this.form, 'relationId', '');
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ this.returnOrderDealDialogFlag = true;
|
|
|
|
|
+ },
|
|
|
|
|
+ async changeReturnDeal(row) {
|
|
|
|
|
+ this.$set(this.form, 'relationId', row.id);
|
|
|
|
|
+ this.$set(this.form, 'relationName', row.returnNo);
|
|
|
|
|
+ this.getReturnOrderDetail(row);
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ //选择采购退货单
|
|
|
|
|
+ handlePurchaseReturnOrder() {
|
|
|
|
|
+ this.purchaseReturnOrderDialogFlag = true;
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ //采购退货单回调
|
|
|
|
|
+ getPReturnOrderInfo(row) {
|
|
|
|
|
+ console.log('params~~~~', row);
|
|
|
|
|
+ this.$set(this.form, 'relationId', row.id);
|
|
|
|
|
+ this.$set(this.form, 'relationName', row.returnNo);
|
|
|
|
|
+ this.getReturnPurchaseDetail(row);
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ async getReturnPurchaseDetail(row) {
|
|
|
|
|
+ this.businessId = row.orderId;
|
|
|
|
|
+ this.loading = true;
|
|
|
|
|
+ const data = await getpurchaseorderDetail(row.orderId);
|
|
|
|
|
+ this.loading = false;
|
|
|
|
|
+ // this.form = data;
|
|
|
|
|
+
|
|
|
|
|
+ if (data) {
|
|
|
|
|
+ let {
|
|
|
|
|
+ partaAddress,
|
|
|
|
|
+ partaEmail,
|
|
|
|
|
+ partaFax,
|
|
|
|
|
+ partaId,
|
|
|
|
|
+ partaLinkId,
|
|
|
|
|
+ partaLinkName,
|
|
|
|
|
+ partaName,
|
|
|
|
|
+ partaTel,
|
|
|
|
|
+ partbAddress,
|
|
|
|
|
+ partbEmail,
|
|
|
|
|
+ partbFax,
|
|
|
|
|
+ partbId,
|
|
|
|
|
+ partbLinkId,
|
|
|
|
|
+ partbLinkName,
|
|
|
|
|
+ partbName,
|
|
|
|
|
+ partbTel,
|
|
|
|
|
+ totalPrice,
|
|
|
|
|
+ discountTotalPrice,
|
|
|
|
|
+ partaUnifiedSocialCreditCode,
|
|
|
|
|
+ partbUnifiedSocialCreditCode,
|
|
|
|
|
+ settlementMode,
|
|
|
|
|
+ settlementModeName,
|
|
|
|
|
+ pricingWay,
|
|
|
|
|
+ productList,
|
|
|
|
|
+ typedetailList,
|
|
|
|
|
+ totalAmount,
|
|
|
|
|
+ payAmount
|
|
|
|
|
+ } = data;
|
|
|
|
|
+ this.form = Object.assign({}, this.form, {
|
|
|
|
|
+ partaAddress,
|
|
|
|
|
+ partaEmail,
|
|
|
|
|
+ partaFax,
|
|
|
|
|
+ partaId,
|
|
|
|
|
+ partaLinkId,
|
|
|
|
|
+ partaLinkName,
|
|
|
|
|
+ partaName,
|
|
|
|
|
+ partaTel,
|
|
|
|
|
+ partbAddress,
|
|
|
|
|
+ partbEmail,
|
|
|
|
|
+ partbFax,
|
|
|
|
|
+ partbId,
|
|
|
|
|
+ partbLinkId,
|
|
|
|
|
+ partbLinkName,
|
|
|
|
|
+ partbName,
|
|
|
|
|
+ partbTel,
|
|
|
|
|
+ totalPrice,
|
|
|
|
|
+ discountTotalPrice,
|
|
|
|
|
+ partaUnifiedSocialCreditCode,
|
|
|
|
|
+ partbUnifiedSocialCreditCode,
|
|
|
|
|
+ settlementMode,
|
|
|
|
|
+ settlementModeName,
|
|
|
|
|
+ pricingWay,
|
|
|
|
|
+ productList,
|
|
|
|
|
+ typedetailList,
|
|
|
|
|
+ totalAmount,
|
|
|
|
|
+ payAmount
|
|
|
|
|
+ });
|
|
|
|
|
+ this.$nextTick(() => {
|
|
|
|
|
+ this.$store.commit('order/setAllcountAmount', totalAmount);
|
|
|
|
|
+ this.$refs.inventoryTable &&
|
|
|
|
|
+ this.$refs.inventoryTable.putTableValue(data.productList);
|
|
|
|
|
+ this.$refs.rawDetailListRef &&
|
|
|
|
|
+ this.$refs.rawDetailListRef.putTableValue(data.rawList); //原料
|
|
|
|
|
+ this.$refs.outputDetailListRef &&
|
|
|
|
|
+ this.$refs.outputDetailListRef.putTableValue(data.outputList); //产成品
|
|
|
|
|
+ this.getLinkInfo(data.partaId);
|
|
|
|
|
+ this.getrequireUser(this.form.requireDeptId);
|
|
|
|
|
+ // this.$store.commit('order/setContractId', data.contractId);
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
//选择项目弹框
|
|
//选择项目弹框
|
|
|
handleProjectBtn() {
|
|
handleProjectBtn() {
|
|
|
if (this.clearing) return;
|
|
if (this.clearing) return;
|
|
@@ -1226,6 +1524,7 @@
|
|
|
this.form.purchasePlanId = '';
|
|
this.form.purchasePlanId = '';
|
|
|
this.form.purchasePlanNo = '';
|
|
this.form.purchasePlanNo = '';
|
|
|
this.form.purchasePlanName = '';
|
|
this.form.purchasePlanName = '';
|
|
|
|
|
+ this.form.relationType = '';
|
|
|
|
|
|
|
|
this.form.relationId = '';
|
|
this.form.relationId = '';
|
|
|
this.form.relationCode = '';
|
|
this.form.relationCode = '';
|