From 3322dfd299755416176cd946265577e176cae795 Mon Sep 17 00:00:00 2001
From: zs <zhousong@weben-smart.com>
Date: 周日, 11 5月 2025 20:26:51 +0800
Subject: [PATCH] 出入库功能

---
 HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Views/Pages/WmsMaterialContainer/WmsMaterialContainer.tsx |   88 ++++++++++++++++++++++++++++++++++++--------
 1 files changed, 72 insertions(+), 16 deletions(-)

diff --git a/HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Views/Pages/WmsMaterialContainer/WmsMaterialContainer.tsx b/HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Views/Pages/WmsMaterialContainer/WmsMaterialContainer.tsx
index 196ace4..1f7ca80 100644
--- a/HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Views/Pages/WmsMaterialContainer/WmsMaterialContainer.tsx
+++ b/HIAWms/hiawms_web/src/widgets/WmsMaterialContainer/Views/Pages/WmsMaterialContainer/WmsMaterialContainer.tsx
@@ -1,17 +1,39 @@
-import { defineComponent, ref } from 'vue'
+import { defineComponent, onMounted, ref } from 'vue'
 import type { Ref } from 'vue'
 import styles from './WmsMaterialContainer.module.scss'
-import { ElInput, ElForm, ElFormItem, ElButton } from 'element-plus'
+import {
+  ElInput,
+  ElForm,
+  ElFormItem,
+  ElButton,
+  ElSelect,
+  ElOption,
+} from 'element-plus'
+import {
+  getPlaceNoForStockList,
+  getMaterialModelList,
+  instock,
+} from '@/widgets/WmsMaterialContainer/Models/Service/WmsMaterialContainer'
 
 export default defineComponent({
   name: 'WmsMaterialContainer',
   setup() {
     // 鏌ヨ琛ㄥ崟鏁版嵁
     const queryForm = ref({
-      materialNo: '',
+      materialModel: '',
       placeNo: '',
       materialBatch: '',
-      quantity: '',
+      stockNumber: '',
+    })
+
+    // 鏁版嵁婧�
+    const modelOptions = ref<Array<{ value: string; label: string }>>([])
+    const placeNoOptions = ref<Array<{ value: string; label: string }>>([])
+
+    onMounted(() => {
+      // 缁勪欢鎸傝浇鍚庤幏鍙栧瀷鍙峰垪琛ㄥ拰搴撲綅鍙峰垪琛�
+      getModelList()
+      getPlaceNoList()
     })
 
     // 缁勭洏鎿嶄綔
@@ -23,53 +45,87 @@
     // 缁勭洏鍏ュ簱鎿嶄綔
     const handlePalletizeStorage = () => {
       console.log('缁勭洏鍏ュ簱鎿嶄綔', queryForm.value)
+      instock(queryForm.value)
       // 杩欓噷娣诲姞缁勭洏鍏ュ簱閫昏緫
+    }
+
+    const getModelList = async () => {
+      const models = await getMaterialModelList()
+      modelOptions.value = models.map((item: string) => ({
+        value: item.materialModel,
+        label: item.materialModelDesc,
+      }))
+    }
+
+    const getPlaceNoList = async () => {
+      const placeNos = await getPlaceNoForStockList(2)
+      console.log('搴撲綅鍙峰垪琛�:', placeNos)
+      placeNoOptions.value = placeNos.map((item: string) => ({
+        value: item.placeNo,
+        label: item.placeNoDesc,
+      }))
     }
 
     return () => {
       return (
         <div class={styles.wmsMaterialContainerContent}>
           <ElForm label-position="top" class={styles.h5Form}>
-            <ElFormItem label="鐗╂枡鐮�">
-              <ElInput
-                v-model={queryForm.value.materialNo}
-                placeholder="璇疯緭鍏ョ墿鏂欑爜"
+            <ElFormItem label="鍨嬪彿">
+              <ElSelect
+                v-model={queryForm.value.materialModel}
+                placeholder="璇烽�夋嫨鍨嬪彿"
                 clearable
                 class={styles.formInput}
-              />
+              >
+                {modelOptions.value.map((item) => (
+                  <ElOption
+                    key={item.value}
+                    label={item.label}
+                    value={item.value}
+                  />
+                ))}
+              </ElSelect>
             </ElFormItem>
             <ElFormItem label="搴撲綅鍙�">
-              <ElInput
+              <ElSelect
                 v-model={queryForm.value.placeNo}
-                placeholder="璇疯緭鍏ュ簱浣嶅彿"
+                placeholder="璇烽�夋嫨搴撲綅鍙�"
                 clearable
                 class={styles.formInput}
-              />
+              >
+                {placeNoOptions.value.map((item) => (
+                  <ElOption
+                    key={item.value}
+                    label={item.label}
+                    value={item.value}
+                  />
+                ))}
+              </ElSelect>
             </ElFormItem>
             <ElFormItem label="鎵规鍙�">
               <ElInput
                 v-model={queryForm.value.materialBatch}
-                placeholder="璇疯緭鍏ユ暟閲�"
+                placeholder="璇疯緭鍏ユ壒娆″彿"
                 clearable
                 class={styles.formInput}
               />
             </ElFormItem>
             <ElFormItem label="鏁伴噺">
               <ElInput
-                v-model={queryForm.value.quantity}
+                v-model={queryForm.value.stockNumber}
                 placeholder="璇疯緭鍏ユ暟閲�"
                 clearable
                 class={styles.formInput}
               />
             </ElFormItem>
             <div class={styles.buttonGroup}>
-              <ElButton
+              {/* <ElButton
                 type="primary"
                 onClick={handlePalletize}
                 class={styles.actionButton}
               >
                 缁勭洏
-              </ElButton>
+              </ElButton> */}
               <ElButton
                 type="success"
                 onClick={handlePalletizeStorage}

--
Gitblit v1.9.3