From fe77f3c9d11e3087c1efa56fd6205ffc10e39991 Mon Sep 17 00:00:00 2001 From: helongyang <647556386@qq.com> Date: 星期四, 05 六月 2025 18:45:23 +0800 Subject: [PATCH] 更新 --- 代码管理/WMS/WIDESEA_WMSClient/src/extension/basic/extend/GetOrderMaterielSpec.vue | 155 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 155 insertions(+), 0 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/basic/extend/GetOrderMaterielSpec.vue" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/basic/extend/GetOrderMaterielSpec.vue" new file mode 100644 index 0000000..60c17b1 --- /dev/null +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSClient/src/extension/basic/extend/GetOrderMaterielSpec.vue" @@ -0,0 +1,155 @@ +<template> + <vol-box + :lazy="true" + v-model="model" + title="閫夋嫨鐗╂枡瑙勬牸" + :width="280" + :padding="0" + > + <div> + <div> + <!-- 鎼滅储閰嶇疆 --> + <div class="search-form"> + <label>鐗╂枡瑙勬牸锛�</label> + <el-input style="width: 160px" v-model="MaterialCode"></el-input> + </div> + <el-table + ref="singleTable" + :data="filteredData" + style="width: 100%; height: 100%" + highlight-current-row + height="500px" + @selection-change="handleSelectionChange" + > + > + <el-table-column type="selection" width="55"> </el-table-column> + <el-table-column + v-for="(item, index) in tableColumns.filter((x) => !x.hidden)" + :key="index" + :prop="item.prop" + :label="item.title" + align="center" + > + </el-table-column> + </el-table> + </div> + </div> + <template #footer> + <div><el-button type="primary" @click="onSelect">纭</el-button></div> + </template> + </vol-box> + </template> + <script> + import VolBox from "@/components/basic/VolBox.vue"; + + /******娉ㄦ剰锛氬鏋滃嚭鐜版彁绀烘病鏈夋潈闄愮殑闂锛岃鍚庡彴寮�鍙戞枃妗d笂鐨勩�愰噸鍐欏悗鍙版潈闄愩��*****/ + + //杩欓噷浣跨敤鐨剉ue2璇硶锛屼篃鍙互鍐欐垚vue3璇硶 + export default { + components: { + "vol-box": VolBox, + }, + methods: {}, + data() { + return { + model: false, //寮瑰嚭妗� + wareId: null, + materielSpec:null, + showDetialBox: false, + MaterialCode:null, + selection:null, + tableData: [], + filteredData: [], + tableColumns: [ + { + prop: "materielSpec", + title: "鐗╂枡瑙勬牸", + type: "string", + }, + ], + }; + }, + watch: { + MaterialCode(newVal) { + this.filterLocalData(newVal); + } + }, + methods: { + open(purchaseOrderNo, materielCode) { // 閲嶅懡鍚嶅弬鏁帮紝璇箟鏇存竻鏅� + this.model = true; + this.purchaseOrderNo = purchaseOrderNo; // 瀛樺偍閲囪喘鍗曞彿 + this.materielCode = materielCode; // 瀛樺偍鐗╂枡缂栧彿 + this.getData(); // 璋冪敤鑾峰彇鏁版嵁鏂规硶 + }, + filterLocalData(code) { + if (code) { + this.filteredData = this.tableData.filter((item) => { + return item.materielSpec.includes(code); + }); + console.log(this.filteredData.length); + console.log(this.tableData.length); + } else { + this.filteredData = [...this.tableData]; // 閲嶇疆涓哄畬鏁存暟鎹� + } + }, + handleSelectionChange(val,val2) { + this.selection = val; + this.selection1 = val2; + if (this.selection.length > 1) { + this.$message.error("浠呴�夋嫨涓�鏉℃暟鎹�"); + // 娓呯┖閫変腑鐨勭涓�鏉℃暟鎹� + this.$refs.singleTable.clearSelection(); + } + if (this.selection1.length > 1) { + this.$message.error("浠呴�夋嫨涓�鏉℃暟鎹�"); + // 娓呯┖閫変腑鐨勭涓�鏉℃暟鎹� + this.$refs.singleTable.clearSelection(); + } + console.log(this.selection); + }, + getData() { + const url = `/api/PurchaseOrderDetail/GetOrderMaterielSpec?` + + `purchaseOrderNo=${encodeURIComponent(this.purchaseOrderNo)}&` + + `materielCode=${encodeURIComponent(this.materielCode)}`; + + this.http.post(url, null, "鏌ヨ涓�") + .then((x) => { + if (!x.status) { + return this.$error(x.message); + } + this.tableData = x.data.map((item) => ({ + materielSpec: item // 鍋囪鎺ュ彛杩斿洖鐨勮鏍肩洿鎺ユ槸瀛楃涓� + })); + this.filteredData = [...this.tableData]; // 閲嶇疆杩囨护鏁版嵁 + }) + .catch((error) => { + console.error("鎺ュ彛璇锋眰澶辫触:", error); + this.$message.error("鑾峰彇鐗╂枡瑙勬牸澶辫触锛岃閲嶈瘯"); + }); + }, + onSelect() { + if (!this.selection) { + return this.$message.error("璇烽�夋嫨鏁版嵁"); + } + this.$emit("parentCall", ($parent) => { + //濡傦細鍥炲啓缂栬緫琛ㄥ崟鏁版嵁 + $parent.editFormFields.materielSpec = this.selection[0].materielSpec; + this.model = false; + }); + this.MaterialCode = null; + this.tableData = []; + this.filteredData = []; + }, + }, + }; + </script> + <style lang="less" scoped> + .search-form { + display: flex; + padding: 10px; + line-height: 34px; + button { + margin-left: 10px; + } + } + </style> \ No newline at end of file -- Gitblit v1.9.3