<template>
|
<div ref="container" class="page-list-container">
|
<!--数据Table-->
|
<yrt-data-list :ref="dataListRef" :editor-ref="editorRef" :data-options="dataOptions" :fields.sync="dataListOptions.fields" :buttons="dataListOptions.buttons" :button-click="buttonClick" :data-list-selections.sync="dataListSelections" :auth-nodes="authNodes">
|
</yrt-data-list>
|
|
<el-dialog :visible.sync="dialogFormVisible" title="分拣区余料回库" width="50%">
|
<el-form>
|
<el-form-item label="器具编号">
|
<el-col :span="5">
|
<el-input v-model="masterData.plateCode" @change="plateChange"></el-input>
|
</el-col>
|
</el-form-item>
|
<el-form-item label="仓库名称">
|
<el-col :span="5">
|
<el-select v-model="masterData.storage_Id" placeholder="请选择仓库" class="input-300">
|
<el-option v-for="item in storageNames" :key="item.storage_Id" :label="item.storageName" :value="item.storage_Id"></el-option>
|
</el-select>
|
</el-col>
|
</el-form-item>
|
|
</el-form>
|
|
<template>
|
<el-table :data="tableData" border style="width: 100%">
|
<el-table-column prop="productCode" label="物料编号">
|
</el-table-column>
|
<el-table-column prop="productName" label="物料姓名">
|
</el-table-column>
|
<el-table-column prop="productModel" label="条形码">
|
</el-table-column>
|
<el-table-column prop="plateCode" label="器具编号">
|
</el-table-column>
|
<el-table-column prop="productStorage" label="库存数量">
|
</el-table-column>
|
</el-table>
|
</template>
|
<div slot="footer" class="dialog-footer">
|
<el-button @click="dialogFormVisible = false">取 消</el-button>
|
<el-button type="primary" @click="addNewOrder">确 定</el-button>
|
</div>
|
</el-dialog>
|
|
<!--数据编辑器Editor-->
|
<yrt-editor :ref="editorRef" :data-list-ref="dataListRef" v-bind="editorOptions" :data-options="dataOptions" :action.sync="editorOptions.action" :visible.sync="editorOptions.config.visible" :detail-button-click="detailButtonClick" :auth-nodes="authNodes" @on-edit-load-after="onEditLoadAfter" @on-add-load-after="onEditLoadAfter">
|
</yrt-editor>
|
</div>
|
</template>
|
|
<script>
|
import baseLayout from "@/components/common/base-layout.vue";
|
|
export default {
|
name: "outbound-sale-sorting-clout-return",
|
components: {},
|
mixins: [baseLayout],
|
data() {
|
return {
|
masterData: {
|
storageName: null,
|
plateCode: null,
|
storage_Id: null
|
},
|
dialogFormVisible: false,
|
storageNames: null,
|
tableData: [
|
{
|
productCode: "",
|
productName: "",
|
productModel: "",
|
quantity: "",
|
productStorage: "",
|
produceDate: "",
|
plateCode: ""
|
}
|
]
|
};
|
},
|
mounted() {
|
this.getStorageList();
|
},
|
methods: {
|
// 列表页面按钮点击事件
|
buttonClick(authNode) {
|
switch (authNode) {
|
// 新建
|
case "add":
|
this.dialogFormVisible = true;
|
return true;
|
}
|
},
|
// 获取商品信息
|
plateChange() {
|
// 通过器具找到库里分拣区的商品信息
|
var plateCode = this.masterData.plateCode;
|
|
var url = "/api/outbound/orderHj/getScanData";
|
var params = {
|
plateCode: plateCode
|
};
|
this.common.ajax(url, params, res => {
|
this.common.showMsg(res);
|
if (res.result) {
|
this.tableData = res.data;
|
}
|
});
|
},
|
// 新建确认事件
|
addNewOrder() {
|
if (!this.masterData.plateCode) {
|
this.$message({
|
message: "请输入器具编号!",
|
type: "warning"
|
});
|
return false;
|
}
|
if (!this.masterData.storage_Id) {
|
this.$message({
|
message: "请选择仓库名称!",
|
type: "warning"
|
});
|
return false;
|
}
|
|
this.masterData.orderType = "分拣区回库";
|
var url = "/api/outbound/orderHj/save";
|
debugger;
|
// 仓库
|
for (var index3 in this.storageNames) {
|
if (this.storageNames[index3].storage_Id === this.masterData.storage_Id) {
|
this.masterData.storage_Id = this.storageNames[index3].storage_Id;
|
this.masterData.storageName = this.storageNames[index3].storageName;
|
}
|
}
|
var params = {
|
masterData: this.masterData,
|
detailList: this.tableData
|
};
|
this.common.ajax(
|
url,
|
params,
|
res => {
|
this.common.showMsg(res);
|
if (res.result) {
|
this.dataList.reload();
|
this.dialogFormVisible = false;
|
}
|
},
|
true
|
);
|
},
|
// 获取仓库
|
getStorageList() {
|
const url = "/api/basicInfo/base/storage/getList";
|
const params = {};
|
var callback = res => {
|
if (res.result) {
|
debugger;
|
this.storageNames = res.data;
|
}
|
};
|
this.common.ajax(url, params, callback, true);
|
},
|
onEditLoadAfter(formData) {
|
if (formData && formData.order_Id) {
|
let totalQuantity = 0;
|
var detailRows = formData["Purchase_OrderList"].rows;
|
detailRows.forEach(item => {
|
totalQuantity += item.quantity;
|
});
|
this.editor.changeValue("totalQuantity", totalQuantity);
|
}
|
this.load();
|
}
|
}
|
};
|
</script>
|