From 3fbfefcf6bdbf35ac36d6e9b01aa75e2cff77ab6 Mon Sep 17 00:00:00 2001 From: zs <zhousong@weben-smart.com> Date: 周三, 30 4月 2025 19:05:47 +0800 Subject: [PATCH] 查询 --- HIAWms/web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.tsx | 199 ++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 187 insertions(+), 12 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 36fc6e9..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 琛ㄦ牸 */ @@ -64,13 +147,13 @@ return ( <div class={{ - [styles.wmsmaterialList]: true, + [styles.wmsMaterialList]: true, }} > <BaseTable ref={tableRef} url={url} - sortUrlTpl="/api/v1/hiawms/wmsmaterial/{id}/adjustsort/{sort}" + sortUrlTpl="/api/v1/hIAWms/wmsMaterial/{id}/adjustsort/{sort}" v-model:dataSource={dataSource.value} columns={columns} contextMenu={contextMenu} @@ -81,7 +164,7 @@ onCheck={onCheck} onRowClick={onRowClick} isHidePagination={isHidePagination} - pageSize={50} + pageSize={20} v-slots={{ name: ({ row }: any) => { return row?.name ? ( @@ -103,9 +186,10 @@ </div> ) } + return () => { return ( - <div class={styles.wmsmaterialContent}> + <div class={styles.wmsMaterialContent}> {/* 娣诲姞/缂栬緫 */} <WmsMaterialDrawer v-model={dialogConfig.visible} @@ -114,10 +198,100 @@ 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 - v-permission="wmsmaterial-add" + v-permission="wmsMaterial-add" icon="add-p" onClick={onAddWmsMaterial} type="primary" @@ -126,7 +300,7 @@ </IconButton> <el-divider direction="vertical" /> <el-upload - v-permission="wmsmaterial-import" + v-permission="wmsMaterial-import" name="file" accept=".xlsx,.xls,.csv" show-file-list={false} @@ -134,28 +308,29 @@ onSuccess={onSuccess} before-upload={onBeforeUpload} headers={headers.value} - action="/api/v1/hiawms/wmsmaterial/import" + action="/api/v1/hIAWms/wmsMaterial/import" > <IconButton icon="in">瀵煎叆</IconButton> </el-upload> <IconButton - v-permission="wmsmaterial-output" + v-permission="wmsMaterial-output" icon="out" onClick={onExport} > 瀵煎嚭 </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