From 3cd9f003ae893abe2483ab3ce0a62bfbd9fa8554 Mon Sep 17 00:00:00 2001
From: zs <zhousong@weben-smart.com>
Date: 周一, 05 5月 2025 18:04:15 +0800
Subject: [PATCH] 库存后端修改
---
HIAWms/web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.tsx | 185 +++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 180 insertions(+), 5 deletions(-)
diff --git a/HIAWms/web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.tsx b/HIAWms/web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.tsx
index e7e5af5..a2e2c16 100644
--- a/HIAWms/web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.tsx
+++ b/HIAWms/web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.tsx
@@ -1,4 +1,4 @@
-import { defineComponent } from 'vue'
+import { computed, defineComponent, onMounted, reactive, ref } from 'vue'
import type { Ref } from 'vue'
import BaseTable from '@/components/Table/Table'
import styles from './WmsMaterial.module.scss'
@@ -9,6 +9,19 @@
import { columns } from './Config'
import TdButton from '@/components/TdButton/TdButton'
import { vPermission } from '@/libs/Permission/Permission'
+import {
+ getWmsEnumData,
+ getWmsDataList,
+} from '@/widgets/HIAWms/Models/Service/WmsMaterialDrawer'
+import {
+ ElInput,
+ ElSelect,
+ ElOption,
+ ElDatePicker,
+ ElForm,
+ ElFormItem,
+} from 'element-plus'
+import { injectModel } from '@/libs/Provider/Provider'
interface RenderTableType {
url?: string
@@ -47,6 +60,76 @@
onBeforeUpload,
} = useWmsMaterial(props, ctx)
+ // 鏂板鐨勬煡璇㈡潯浠�
+ const queryForm = ref({
+ materialCode: '',
+ materialName: '',
+ materialType: '',
+ purchaseType: '',
+ filter: '',
+ })
+
+ const queryParams = computed(() => ({
+ ...queryForm.value,
+ materialType: queryForm.value.materialType || '', // 澶勭悊涓嬫媺
+ purchaseType: queryForm.value.purchaseType || '',
+ }))
+
+ // 鍔ㄦ�佹灇涓鹃�夐」
+ const enumOptions = reactive({
+ materialType: [] as Array<{ label: string; value: any }>,
+ purchaseType: [] as Array<{ label: string; value: any }>,
+ isMainBranch: [] as Array<{ label: string; value: any }>,
+ })
+
+ // 鑾峰彇鏋氫妇鏁版嵁
+ const fetchEnumData = async () => {
+ try {
+ // 鑾峰彇鐗╂枡绫诲瀷鏋氫妇
+ const materialTypeData = await getWmsEnumData({
+ EnumName: 'MaterialTypeEnum',
+ })
+ enumOptions.materialType = materialTypeData.map((item) => ({
+ label: item.description,
+ value: item.value,
+ }))
+
+ // 鑾峰彇閲囪喘绫诲瀷鏋氫妇
+ const purchaseTypeData = await getWmsEnumData({
+ EnumName: 'PurchaseTypeEnum',
+ })
+ enumOptions.purchaseType = purchaseTypeData.map((item) => ({
+ label: item.description,
+ value: item.value,
+ }))
+ } catch (error) {
+ console.error('鑾峰彇鏋氫妇鏁版嵁澶辫触:', error)
+ }
+ }
+
+ // 缁勪欢鎸傝浇鏃惰幏鍙栨灇涓炬暟鎹�
+ onMounted(() => {
+ fetchEnumData()
+ })
+
+ // 鏂板鐨勬煡璇㈡柟娉�
+ const handleQuery = async () => {
+ console.log('鏌ヨ鏉′欢:', queryParams.value)
+ // tableRef.value.getTableList()
+ tableRef.value.getList(queryParams.value)
+ }
+
+ // 閲嶇疆鏌ヨ鏉′欢
+ const resetQuery = () => {
+ queryForm.value = {
+ materialCode: '',
+ materialName: '',
+ materialType: '',
+ purchaseType: '',
+ filter: '',
+ }
+ }
+
/**
* @returns 琛ㄦ牸
*/
@@ -81,7 +164,7 @@
onCheck={onCheck}
onRowClick={onRowClick}
isHidePagination={isHidePagination}
- pageSize={50}
+ pageSize={20}
v-slots={{
name: ({ row }: any) => {
return row?.name ? (
@@ -103,6 +186,7 @@
</div>
)
}
+
return () => {
return (
<div class={styles.wmsMaterialContent}>
@@ -114,6 +198,96 @@
sort={sort.value}
onConfirm={onConfirmWmsMaterial}
/>
+
+ {/* 鏂板鐨勬煡璇㈣〃鍗� */}
+ <ElForm
+ inline
+ model={queryForm.value}
+ class={styles.queryForm}
+ label-width="80px"
+ >
+ <ElFormItem label="鍏抽敭瀛�">
+ <ElInput
+ v-model={queryForm.value.filter}
+ placeholder="璇疯緭鍏ュ叧閿瓧鎼滅储"
+ clearable
+ class={styles.formItem}
+ />
+ </ElFormItem>
+ <ElFormItem label="鐗╂枡缂栫爜">
+ <ElInput
+ v-model={queryForm.value.materialCode}
+ placeholder="璇疯緭鍏ョ墿鏂欑紪鐮�"
+ clearable
+ class={styles.formItem}
+ />
+ </ElFormItem>
+ <ElFormItem label="鐗╂枡鍚嶇О">
+ <ElInput
+ v-model={queryForm.value.materialName}
+ placeholder="璇疯緭鍏ョ墿鏂欏悕绉�"
+ clearable
+ class={styles.formItem}
+ />
+ </ElFormItem>
+ <ElFormItem label="鐗╂枡绫诲瀷">
+ <ElSelect
+ v-model={queryForm.value.materialType}
+ placeholder="璇烽�夋嫨鐗╂枡绫诲瀷"
+ clearable
+ loading={enumOptions.materialType.length === 0}
+ class={styles.formItem}
+ >
+ {enumOptions.materialType.map((option) => (
+ <ElOption
+ key={option.value}
+ label={option.label}
+ value={option.value}
+ />
+ ))}
+ </ElSelect>
+ </ElFormItem>
+ <ElFormItem label="閲囪喘绫诲瀷">
+ <ElSelect
+ v-model={queryForm.value.purchaseType}
+ placeholder="璇烽�夋嫨閲囪喘绫诲瀷"
+ clearable
+ loading={enumOptions.purchaseType.length === 0}
+ class={styles.formItem}
+ >
+ {enumOptions.purchaseType.map((option) => (
+ <ElOption
+ key={option.value}
+ label={option.label}
+ value={option.value}
+ />
+ ))}
+ </ElSelect>
+ </ElFormItem>
+ {/* <ElFormItem label="鏃ユ湡鑼冨洿">
+ <ElDatePicker
+ v-model={queryForm.value.dateRange}
+ type="daterange"
+ range-separator="鑷�"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡"
+ value-format="YYYY-MM-DD"
+ />
+ </ElFormItem> */}
+ <ElFormItem>
+ <IconButton type="primary" icon="search" onClick={handleQuery}>
+ 鏌ヨ
+ </IconButton>
+ <IconButton
+ style="margin-left: 10px;"
+ icon="refresh"
+ onClick={resetQuery}
+ >
+ 閲嶇疆
+ </IconButton>
+ </ElFormItem>
+ </ElForm>
+
<div class={styles.headerContent}>
<div class={styles.header}>
<IconButton
@@ -147,15 +321,16 @@
瀵煎嚭
</IconButton>
</div>
- <Search
+ {/* <Search
placeholder="璇疯緭鍏ュ叧閿瓧"
v-model={search.value}
onConfirm={onSearch}
style={{ marginTop: '-1px' }}
- />
+ /> */}
</div>
+
<RenderBaseTable
- url="/api/v1/hIAWms/wmsMaterial"
+ url="/api/v1/hIAWms/wmsMaterial/page"
dataSource={dataSource}
isChecked={true}
isDrag={true}
--
Gitblit v1.9.3