From 9064b1351c62d3efafa66a83f9ff76ca87585d4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E6=99=A8=E6=99=A8?= <ccc2020712@163.com> Date: Sun, 23 Apr 2023 13:55:01 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=87=BA=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/inout/DialogCreateOrder.vue | 51 +++++++++------- src/views/inout/DialogCreateOrderSelect.vue | 65 ++++++++++++++------- vue.config.js | 4 +- 3 files changed, 75 insertions(+), 45 deletions(-) diff --git a/src/views/inout/DialogCreateOrder.vue b/src/views/inout/DialogCreateOrder.vue index 24ea270d..bc0a1f1f 100644 --- a/src/views/inout/DialogCreateOrder.vue +++ b/src/views/inout/DialogCreateOrder.vue @@ -188,11 +188,15 @@ <el-row v-if="documentShow"> <el-col :span="11"> <el-form-item prop="acceptance" label="预验收单据:"> - <el-input - style="width:90%" - :disabled="true" - v-model="orderFormData.checkPreInOrders" - ></el-input> + <el-select style="width: 90%" v-model="orderFormData.checkPreInOrders" multiple placeholder="请选入单据"> + <el-option + v-for="(item,index) in orderFormData.checkPreInOrders" + :key="item.index" + :label="item" + :value="item" + > + </el-option> + </el-select> </el-form-item> </el-col> </el-row> @@ -292,6 +296,7 @@ <dialog-create-order-select @giveselectbox="giveselectbox" :closeDialogtwo="closeDialogtwo" + :checkPreInOrders="orderFormData.checkPreInOrders" > </dialog-create-order-select> </el-dialog> @@ -399,9 +404,9 @@ export default { action: [ { required: true, message: "请选择单据类型", trigger: "change" }, ], - acceptance:[ - {required: true, message: "请选入预验收单据", trigger: "blur"}, - ] + acceptance: [ + { required: true, message: "请选入预验收单据", trigger: "blur" }, + ], }, isScan: true, scanText: "扫码录入:", @@ -430,8 +435,8 @@ export default { viewBizVisible: false, viewCodeVisible: false, viewCodeDetailVisible: false, - - documentShow:false,//控制预选单显示隐藏 + + documentShow: false, //控制预选单显示隐藏 }; }, components: { @@ -459,15 +464,16 @@ export default { }) .catch(() => {}); }, - //接收预选单传值 + //接收预验单传值 giveselectbox(val) { - this.orderFormData.checkPreInOrders = val; - }, + this.orderFormData.checkPreInOrders = JSON.parse(JSON.stringify(val)) +}, //仓库改变 changeInv() { this.orderFormData.action = null; - if(this.documentShow=true){ - this.documentShow=false + this.orderFormData.checkPreInOrders=null + if ((this.documentShow = true)) { + this.documentShow = false; } this.getBusTypeByInv(); }, @@ -547,6 +553,8 @@ export default { //单据类型改变 actionChange(item) { + this.orderFormData.checkPreInOption=null + this.orderFormData.checkPreInOrders=null this.curAction = this.getActionItem(item); if ( (this.curAction.checkEnable && this.curAction.checkWebNew) || @@ -568,14 +576,13 @@ export default { this.orderFormData.fromInvCode = null; this.findFromInvList(); } - if(this.curAction.scanPreIn = true && this.curAction.backPreinType == 1){ - this.documentShow=true - } - else{ - this.documentShow=false + if ( + (this.curAction.scanPreIn = true && this.curAction.backPreinType == 1) + ) { + this.documentShow = true; + } else { + this.documentShow = false; } - this.giveselectbox(); - }, //获取往来仓库列表 diff --git a/src/views/inout/DialogCreateOrderSelect.vue b/src/views/inout/DialogCreateOrderSelect.vue index 74f699d3..e407bbd4 100644 --- a/src/views/inout/DialogCreateOrderSelect.vue +++ b/src/views/inout/DialogCreateOrderSelect.vue @@ -117,15 +117,20 @@ <el-divider style="margin: 15px"></el-divider> <el-table ref="multipleTable" - @select="select" + @select-all="handleAll" + :header-cell-class-name="leftheaderStyle" + @selection-change="handleSelectionChange" v-loading="loading" :data="list" style="width: 100%" highlight-current-row border - @row-click="handleSelectionChange" > - <!-- <el-table-column type="selection" width="55"></el-table-column> --> + <el-table-column + type="selection" + :selectable="checkSelection" + width="55" + ></el-table-column> <el-table-column label="序号" type="index"></el-table-column> <el-table-column label="扫码单据类型" @@ -245,6 +250,10 @@ export default { type: Function, required: true, }, + checkPreInOrders: { + type: Array, + required: true, + }, }, data() { return { @@ -361,8 +370,9 @@ export default { resultTotal: 0, resultDetailLoading: false, resultDetailList: [], - selectboxs: [], - selectbox: "", + multipleSelection: [], + selectbox: [], + selectRow: null, }; }, components: {}, @@ -402,20 +412,23 @@ export default { //选入 combine() { this.closeDialogtwo(); - this.$emit("giveselectbox", this.currentRow.billNo); + this.$emit("giveselectbox", this.selectbox); }, - // //选择 - // select(selection,row){ - // // console.log(row); - // this.selectboxs.push(row) - // let nerArr = JSON.parse(JSON.stringify(this.selectboxs)) - // let qwe = nerArr.map(item=>{ - // // 每一项的单号 - // return item.billNo - // }) - // this.selectbox=qwe - // }, + //选择框根据已选入判断禁用方法 + checkSelection(row, index) { + let flag = true; + if (this.checkPreInOrders.length === 0) { + flag = true; + } else { + if (this.checkPreInOrders.includes(row.billNo)) { + flag = false; + } else { + flag = true; + } + } + return flag; + }, //关闭对话框 closeLocalDialog() {}, hideSearch() { @@ -432,10 +445,21 @@ export default { }) .catch(() => {}); }, + //多行勾选 handleSelectionChange(val) { - this.currentRow = val; - console.log(this.currentRow.billNo); - this.getOrderDetails(); + let checkboxs = JSON.parse(JSON.stringify(val)); + this.multipleSelection = checkboxs.map((item) => { + return item.billNo; + }); + let hebin = [...this.checkPreInOrders, ...this.multipleSelection]; + let boxarry = Array.from(new Set(hebin)); + this.selectbox = boxarry; + }, + //全选 + handleAll(selection) { + if(selection.length==0){ + this.$refs.multipleTable.clearSelection() + } }, // 获取单据 业务详情、扫码详情、扫码明细 getOrderDetails() { @@ -726,4 +750,5 @@ export default { </script> <style type="text/scss" lang="scss"> + </style> diff --git a/vue.config.js b/vue.config.js index bf23e227..eef5677e 100644 --- a/vue.config.js +++ b/vue.config.js @@ -35,9 +35,7 @@ module.exports = { proxy: { // detail: https://cli.vuejs.org/config/#devserver-proxy [process.env.VUE_APP_BASE_API]: { - - - target: `http://192.168.0.66:9150/UDI_WMS_MC/`, + target: `http://192.168.0.166:9991/`, changeOrigin: true, pathRewrite: { ["^" + process.env.VUE_APP_BASE_API]: "",