change - add销售订单绑定采购订单功能
parent
f5d7b210bd
commit
ed972d121b
@ -0,0 +1,347 @@
|
|||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
|
||||||
|
<h4 class="form-header h4">销售订单信息</h4>
|
||||||
|
<el-form ref="saleOrderForm" :model="saleOrderForm" label-width="100px">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="8" :offset="2">
|
||||||
|
<el-form-item label="销售订单编号" prop="saleorderCode">
|
||||||
|
<el-input v-model="saleOrderForm.saleorderCode" disabled/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" :offset="2">
|
||||||
|
<el-form-item label="销售物料规格" prop="materialModel">
|
||||||
|
<el-input v-model="saleOrderForm.materialModel" disabled/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="8" :offset="2">
|
||||||
|
<el-form-item label="销售物料编号" prop="materialCode">
|
||||||
|
<el-input v-model="saleOrderForm.materialCode" disabled/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" :offset="2">
|
||||||
|
<el-form-item label="销售物料名称" prop="materialName">
|
||||||
|
<el-input v-model="saleOrderForm.materialName" disabled/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="12">
|
||||||
|
<h4 class="form-header h4">已选采购订单</h4>
|
||||||
|
<el-form :model="allocatePurchaseOrderQueryParams" ref="allocateMaterialQueryForm" size="small" :inline="true"
|
||||||
|
v-show="showSearch"
|
||||||
|
label-width="68px">
|
||||||
|
<el-form-item label="订单编号" prop="poNo">
|
||||||
|
<el-input
|
||||||
|
v-model="allocatePurchaseOrderQueryParams.poNo"
|
||||||
|
placeholder="请输入物料编码"
|
||||||
|
style="width:140px;"
|
||||||
|
clearable
|
||||||
|
@keyup.enter.native="handleAllocateMaterialQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="物料编码" prop="materialCode">
|
||||||
|
<el-input
|
||||||
|
v-model="allocatePurchaseOrderQueryParams.materialCode"
|
||||||
|
placeholder="请输入物料编码"
|
||||||
|
style="width:140px;"
|
||||||
|
clearable
|
||||||
|
@keyup.enter.native="handleAllocateMaterialQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="物料名称" prop="materialName">
|
||||||
|
<el-input
|
||||||
|
v-model="allocatePurchaseOrderQueryParams.materialName"
|
||||||
|
placeholder="请输入物料名称"
|
||||||
|
style="width:140px;"
|
||||||
|
clearable
|
||||||
|
@keyup.enter.native="handleAllocateMaterialQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleAllocateMaterialQuery">搜索
|
||||||
|
</el-button>
|
||||||
|
<el-button icon="el-icon-refresh" size="mini" @click="resetAllocateMaterialQuery">重置</el-button>
|
||||||
|
<el-button
|
||||||
|
type="danger"
|
||||||
|
plain
|
||||||
|
icon="el-icon-delete"
|
||||||
|
size="mini"
|
||||||
|
@click="handleUnallocateBarCodes"
|
||||||
|
v-hasPermi="['mes:productOrder:bind']"
|
||||||
|
>删除
|
||||||
|
</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<el-table v-loading="allocateLoading" :data="allocatePurchaseOrderList"
|
||||||
|
@selection-change="handleAllocateMaterialSelectionChange">
|
||||||
|
<el-table-column type="selection" width="55" align="center"/>
|
||||||
|
<el-table-column label="订单编号" align="center" prop="poNo"/>
|
||||||
|
<el-table-column label="物料编码" align="center" prop="materialCode"/>
|
||||||
|
<el-table-column label="物料名称" align="center" prop="materialName"/>
|
||||||
|
<el-table-column label="物料规格" align="center" prop="materialSpec"/>
|
||||||
|
<el-table-column label="规格参数" align="center" prop="specificationParameter" :show-overflow-tooltip="true"/>
|
||||||
|
<el-table-column label="数量" align="center" prop="orderAmount"/>
|
||||||
|
</el-table>
|
||||||
|
|
||||||
|
<pagination
|
||||||
|
v-show="allocatePurchaseOrderTotal>0"
|
||||||
|
:total="allocatePurchaseOrderTotal"
|
||||||
|
:page.sync="allocatePurchaseOrderQueryParams.pageNum"
|
||||||
|
:limit.sync="allocatePurchaseOrderQueryParams.pageSize"
|
||||||
|
@pagination="getAllocatePurchaseOrderList"
|
||||||
|
/>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
|
|
||||||
|
<el-col :span="12" >
|
||||||
|
<h4 class="form-header h4">可选采购订单</h4>
|
||||||
|
<el-form :model="purchaseOrderQueryParams" ref="materialQueryForm" size="small" :inline="true" v-show="showSearch"
|
||||||
|
label-width="68px">
|
||||||
|
<el-form-item label="订单编号" prop="poNo">
|
||||||
|
<el-input
|
||||||
|
v-model="allocatePurchaseOrderQueryParams.poNo"
|
||||||
|
placeholder="请输入物料编码"
|
||||||
|
style="width:140px;"
|
||||||
|
clearable
|
||||||
|
@keyup.enter.native="handleAllocateMaterialQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="物料编码" prop="materialCode">
|
||||||
|
<el-input
|
||||||
|
v-model="purchaseOrderQueryParams.materialCode"
|
||||||
|
placeholder="请输入物料编码"
|
||||||
|
style="width:140px;"
|
||||||
|
clearable
|
||||||
|
@keyup.enter.native="handlePurchaseOrderQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="物料名称" prop="materialName">
|
||||||
|
<el-input
|
||||||
|
v-model="purchaseOrderQueryParams.materialName"
|
||||||
|
placeholder="请输入物料名称"
|
||||||
|
style="width:140px;"
|
||||||
|
clearable
|
||||||
|
@keyup.enter.native="handlePurchaseOrderQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handlePurchaseOrderQuery">搜索</el-button>
|
||||||
|
<el-button icon="el-icon-refresh" size="mini" @click="resetMaterialQuery">重置</el-button>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
plain
|
||||||
|
icon="el-icon-plus"
|
||||||
|
size="mini"
|
||||||
|
:disabled="allocateBarCodeBtnDisable"
|
||||||
|
@click="submitForm"
|
||||||
|
v-hasPermi="['mes:productOrder:bind']"
|
||||||
|
>保存
|
||||||
|
</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
|
||||||
|
|
||||||
|
<el-table v-loading="selectableLoading" :data="purchaseOrderList"
|
||||||
|
@selection-change="handleMaterialSelectionChange">
|
||||||
|
<el-table-column type="selection" width="55" align="center"/>
|
||||||
|
<el-table-column label="订单编号" align="center" prop="poNo"/>
|
||||||
|
<el-table-column label="物料编码" align="center" prop="materialCode"/>
|
||||||
|
<el-table-column label="物料名称" align="center" prop="materialName"/>
|
||||||
|
<el-table-column label="物料规格" align="center" prop="materialSpec"/>
|
||||||
|
<el-table-column label="规格参数" align="center" prop="specificationParameter" :show-overflow-tooltip="true"/>
|
||||||
|
<el-table-column label="数量" align="center" prop="orderAmount"/>
|
||||||
|
</el-table>
|
||||||
|
|
||||||
|
<pagination
|
||||||
|
v-show="purchaseOrderTotal>0"
|
||||||
|
:total="purchaseOrderTotal"
|
||||||
|
:page.sync="purchaseOrderQueryParams.pageNum"
|
||||||
|
:limit.sync="purchaseOrderQueryParams.pageSize"
|
||||||
|
@pagination="getUnbindPurchaseOrderList"
|
||||||
|
/>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {
|
||||||
|
removeSalesBindPurchase,
|
||||||
|
saleBindPurchaseOrderList,
|
||||||
|
saveSalesBindPurchase,
|
||||||
|
unbindPurchaseOrderList
|
||||||
|
} from "@/api/mes/purchaseOrder";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "BindingPurchase",
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
// 已选采购订单遮罩层
|
||||||
|
allocateLoading: true,
|
||||||
|
// 可选采购订单遮罩层
|
||||||
|
selectableLoading: true,
|
||||||
|
// 已选采购订单选中数组
|
||||||
|
orderBindIds: [],
|
||||||
|
//可选采购订单信息选中数组
|
||||||
|
barcodeInfos: [],
|
||||||
|
//可选采购订单ID选中数组
|
||||||
|
purchaseOrderIds: [],
|
||||||
|
// 已选采购订单非单个禁用
|
||||||
|
allocateMaterialSingle: true,
|
||||||
|
// 已选采购订单非多个禁用
|
||||||
|
allocateMaterialMultiple: true,
|
||||||
|
// 可选采购订单非单个禁用
|
||||||
|
materialSingle: true,
|
||||||
|
// 可选采购订单非多个禁用
|
||||||
|
materialMultiple: true,
|
||||||
|
// 显示搜索条件
|
||||||
|
showSearch: true,
|
||||||
|
// 已选采购订单总条数
|
||||||
|
allocatePurchaseOrderTotal: 0,
|
||||||
|
//可选采购订单总条数
|
||||||
|
purchaseOrderTotal: 0,
|
||||||
|
// 已选采购订单信息表格数据
|
||||||
|
allocatePurchaseOrderList: [],
|
||||||
|
// 可选采购订单信息表格数据
|
||||||
|
purchaseOrderList: [],
|
||||||
|
// 已选采购订单编号List
|
||||||
|
allocatePoNos: [],
|
||||||
|
//库位信息
|
||||||
|
saleOrderForm: {},
|
||||||
|
allocateBarCodeBtnDisable: true,
|
||||||
|
// 已选采购订单信息查询参数
|
||||||
|
allocatePurchaseOrderQueryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
saleOrderId: null,
|
||||||
|
materialCode: null,
|
||||||
|
materialName: null,
|
||||||
|
poNo: null,
|
||||||
|
},
|
||||||
|
// 可选采购订单信息查询参数
|
||||||
|
purchaseOrderQueryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
saleOrderId: null,
|
||||||
|
materialCode: null,
|
||||||
|
materialName: null,
|
||||||
|
poNo: null
|
||||||
|
},
|
||||||
|
};
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.allocateBarCodeBtnDisable = false;
|
||||||
|
const saleOrderId = this.$route.params && this.$route.params.saleOrderId;
|
||||||
|
let saleorderCode = this.$route.query && this.$route.query.saleorderCode;
|
||||||
|
this.purchaseOrderQueryParams.saleOrderId = saleOrderId;
|
||||||
|
// this.purchaseOrderQueryParams.saleorderCode = saleorderCode;
|
||||||
|
this.allocatePurchaseOrderQueryParams.saleOrderId = saleOrderId;
|
||||||
|
// this.allocatePurchaseOrderQueryParams.saleorderCode = saleorderCode;
|
||||||
|
|
||||||
|
this.saleOrderForm.saleorderCode = saleorderCode;
|
||||||
|
this.saleOrderForm.saleOrderId = saleOrderId;
|
||||||
|
this.saleOrderForm.materialCode = this.$route.query && this.$route.query.materialCode;
|
||||||
|
this.saleOrderForm.materialName = this.$route.query && this.$route.query.materialName;
|
||||||
|
this.saleOrderForm.materialModel = this.$route.query && this.$route.query.materialModel;
|
||||||
|
this.getAllocatePurchaseOrderList();
|
||||||
|
this.getUnbindPurchaseOrderList();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
/** 查询已选采购订单信息列表 */
|
||||||
|
getAllocatePurchaseOrderList() {
|
||||||
|
this.allocateLoading = true;
|
||||||
|
saleBindPurchaseOrderList(this.allocatePurchaseOrderQueryParams).then(response => {
|
||||||
|
this.allocatePurchaseOrderList = response.rows;
|
||||||
|
this.allocatePurchaseOrderTotal = response.total;
|
||||||
|
this.allocateLoading = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
/** 查询可选采购订单信息列表 */
|
||||||
|
getUnbindPurchaseOrderList() {
|
||||||
|
this.selectableLoading = true;
|
||||||
|
unbindPurchaseOrderList(this.purchaseOrderQueryParams).then(response => {
|
||||||
|
this.purchaseOrderList = response.rows;
|
||||||
|
this.purchaseOrderTotal = response.total;
|
||||||
|
this.selectableLoading = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
/** 已选采购订单搜索按钮操作 */
|
||||||
|
handleAllocateMaterialQuery() {
|
||||||
|
this.allocatePurchaseOrderQueryParams.pageNum = 1;
|
||||||
|
this.getAllocatePurchaseOrderList();
|
||||||
|
},
|
||||||
|
/** 已选采购订单重置按钮操作 */
|
||||||
|
resetAllocateMaterialQuery() {
|
||||||
|
this.resetForm("allocateMaterialQueryForm");
|
||||||
|
this.handleAllocateMaterialQuery();
|
||||||
|
},
|
||||||
|
/** 已选采购订单多选框选中数据 */
|
||||||
|
handleAllocateMaterialSelectionChange(selection) {
|
||||||
|
this.orderBindIds = selection.map(item => item.orderBindId)
|
||||||
|
this.allocatePoNos = selection.map(item => item.poNo)
|
||||||
|
this.single = selection.length !== 1
|
||||||
|
this.multiple = !selection.length
|
||||||
|
},
|
||||||
|
/** 可选采购订单搜索按钮操作 */
|
||||||
|
handlePurchaseOrderQuery() {
|
||||||
|
this.purchaseOrderQueryParams.pageNum = 1;
|
||||||
|
this.getUnbindPurchaseOrderList();
|
||||||
|
},
|
||||||
|
/** 可选采购订单重置按钮操作 */
|
||||||
|
resetMaterialQuery() {
|
||||||
|
this.resetForm("materialQueryForm");
|
||||||
|
this.handlePurchaseOrderQuery();
|
||||||
|
},
|
||||||
|
// 可选采购订单多选框选中数据
|
||||||
|
handleMaterialSelectionChange(selection) {
|
||||||
|
this.purchaseOrderIds = selection.map(item => item.purchaseOrderId)
|
||||||
|
this.single = selection.length !== 1
|
||||||
|
this.multiple = !selection.length
|
||||||
|
},
|
||||||
|
|
||||||
|
handleUnallocateBarCodes() {
|
||||||
|
const orderBindIds = this.orderBindIds.join(",");
|
||||||
|
const allocatePoNos = this.allocatePoNos;
|
||||||
|
const params = {
|
||||||
|
orderBindIds: orderBindIds
|
||||||
|
}
|
||||||
|
this.$modal.confirm('是否确认删除采购订单编号为"' + allocatePoNos + '"的数据项?').then(function () {
|
||||||
|
return removeSalesBindPurchase(params);
|
||||||
|
}).then(() => {
|
||||||
|
this.getAllocatePurchaseOrderList();
|
||||||
|
this.getUnbindPurchaseOrderList();
|
||||||
|
this.$modal.msgSuccess("删除成功");
|
||||||
|
}).catch(() => {
|
||||||
|
});
|
||||||
|
},
|
||||||
|
/** 提交按钮 */
|
||||||
|
submitForm() {
|
||||||
|
this.allocateBarCodeBtnDisable = true;
|
||||||
|
const saleOrderId = this.saleOrderForm.saleOrderId;
|
||||||
|
const purchaseOrderIds = this.purchaseOrderIds.join(",");
|
||||||
|
saveSalesBindPurchase({
|
||||||
|
saleOrderId: saleOrderId,
|
||||||
|
purchaseOrderIds: purchaseOrderIds
|
||||||
|
}).then((response) => {
|
||||||
|
this.$modal.msgSuccess("保存成功");
|
||||||
|
this.selectBarCodeAllocationWarehouse();
|
||||||
|
this.getAllocatePurchaseOrderList();
|
||||||
|
this.allocateBarCodeBtnDisable = false;
|
||||||
|
}).catch(() => {
|
||||||
|
this.getAllocatePurchaseOrderList();
|
||||||
|
this.getUnbindPurchaseOrderList();
|
||||||
|
this.allocateBarCodeBtnDisable = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
Loading…
Reference in New Issue