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