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