From 88602280d3b1146f03655dc023918c8104919379 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周二, 20 5月 2025 16:26:17 +0800
Subject: [PATCH] 22
---
HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/WmsPlace/WmsPlace.tsx | 387 +++++++++++++++++++++++-------------------------------
1 files changed, 167 insertions(+), 220 deletions(-)
diff --git a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/WmsPlace/WmsPlace.tsx b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/WmsPlace/WmsPlace.tsx
index ddd7982..733d1d8 100644
--- a/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/WmsPlace/WmsPlace.tsx
+++ b/HIAWms/hiawms_web/src/widgets/WmsStoreInfo/Views/Pages/WmsPlace/WmsPlace.tsx
@@ -15,6 +15,9 @@
getAreaAreaDataList,
getAisleDataList,
} from '@/widgets/HIAWms/Models/Service/WmsMaterialDrawer'
+// 寮曞叆鍏叡閫夐」閰嶇疆
+import { FILTER_MODE_OPTIONS_STRING } from '@/components/DyFormForHighQuery/DyFormForHighQueryOptions'
+import WmsPlaceQueryDrawer from '../Dialog/WmsPlaceQueryDrawer/WmsPlaceQueryDrawer'
interface RenderTableType {
url?: string
@@ -44,72 +47,62 @@
onError,
onSearch,
onRowClick,
+ dialogConfigForQuery,
onConfirmWmsPlace,
onCheck,
onAddWmsPlace,
onExport,
openDetail,
onSuccess,
+ onAdvancedQuery,
onBeforeUpload,
} = useWmsPlace(props, ctx)
+ //瀹氫箟楂樼骇鏌ヨ寮曠敤
+ const wmsPlaceQueryDrawerRef = ref(null)
// 鏂板鐨勬煡璇㈡潯浠�
const queryForm = ref({
- placeNo: '',
- storageTypeNo: '',
- placeStatus: '',
- areaCode: '',
- aisle: '',
- islock: '',
- emptyContainer: '',
- filter: '',
+ searchVal: '',
+ str_searchFormInputAttrs: [],
+ searchVal_FilterMode: '',
})
-
- const queryParams = computed(() => ({
- ...queryForm.value,
- storageTypeNo: queryForm.value.storageTypeNo || '', // 澶勭悊涓嬫媺
- placeStatus: queryForm.value.placeStatus || '',
- islock: queryForm.value.islock || '',
- aisle: queryForm.value.aisle || '',
- areaCode: queryForm.value.areaCode || '',
- emptyContainer: queryForm.value.emptyContainer || '',
- }))
+ //瀹氫箟鏁翠綋妯$硦鏌ヨ鐨勫垪鏁扮粍(娉ㄦ剰锛氬繀椤诲ぇ灏忓啓璺熷悗绔殑瀹炰綋绫诲睘鎬у悕涓�鑷达紝鍚﹀垯浼氬鑷村尮閰嶄笉瀵圭殑闂)
+ const _searchFormInputAttrs = ref(['PlaceNo'])
+ const searchFormInputAttrs_Placeholder = ref('璇疯緭鍏ュ簱浣嶇紪鍙�')
// 鍔ㄦ�佹灇涓鹃�夐」
const enumOptions = reactive({
storageTypeNo: [] as Array<{ label: string; value: any }>,
placeStatus: [] as Array<{ label: string; value: any }>,
- yesOrNo: [] as Array<{ label: string; value: any }>,
+ islock: [] as Array<{ label: string; value: any }>,
+ emptyContainer: [] as Array<{ label: string; value: any }>,
})
-
- let areaTypelist = [] as Array<{ label: string; value: any }>
- let aisleTypelist = [] as Array<{ label: string; value: any }>
// 鑾峰彇鏋氫妇鏁版嵁
const fetchEnumData = async () => {
try {
- // 鑾峰彇鐗╂枡绫诲瀷鏋氫妇
- const storageTypeNoData = await getWmsEnumData({
+ const placeTypeEnumData = await getWmsEnumData({
EnumName: 'PlaceTypeEnum',
})
- enumOptions.storageTypeNo = storageTypeNoData.map((item) => ({
+ enumOptions.storageTypeNo = placeTypeEnumData.map((item) => ({
label: item.description,
value: item.value,
}))
-
- // 鑾峰彇閲囪喘绫诲瀷鏋氫妇
- const placeStatusData = await getWmsEnumData({
+ const placeStatusEnumData = await getWmsEnumData({
EnumName: 'PlaceStatusEnum',
})
- enumOptions.placeStatus = placeStatusData.map((item) => ({
+ enumOptions.placeStatus = placeStatusEnumData.map((item) => ({
label: item.description,
value: item.value,
}))
-
- const yesNoData = await getWmsEnumData({
+ const yesNoEnumData = await getWmsEnumData({
EnumName: 'YesNoEnum',
})
- enumOptions.yesOrNo = yesNoData.map((item) => ({
+ enumOptions.islock = yesNoEnumData.map((item) => ({
+ label: item.description,
+ value: item.value,
+ }))
+ enumOptions.emptyContainer = yesNoEnumData.map((item) => ({
label: item.description,
value: item.value,
}))
@@ -117,56 +110,80 @@
console.error('鑾峰彇鏋氫妇鏁版嵁澶辫触:', error)
}
}
- const getAreaType = async () => {
- try {
- const areaListData = await getAreaAreaDataList()
- areaTypelist = areaListData.map((item) => ({
- label: item.areaName || '',
- value: item.areaNo || '', // 鍚屼笂
- }))
- } catch (error) {
- areaTypelist = [] // 澶辫触鏃堕噸缃负绌烘暟缁�
- }
- }
- const getAisleList = async () => {
- try {
- const aisleListData = await getAisleDataList()
- aisleTypelist = aisleListData.map((item) => ({
- label: item.aisleName || '',
- value: item.aisle || '',
- }))
- } catch (error) {
- console.error('鑾峰彇宸烽亾鍒楄〃澶辫触:', error)
- aisleTypelist = [] // 澶辫触鏃堕噸缃负绌烘暟缁�
- }
- }
+ // 瀹氫箟鍝嶅簲寮忔煡璇㈡暟鎹�
+ const _curHighQueryData = ref({
+ searchVal: '',
+ str_searchFormInputAttrs: [],
+ searchVal_FilterMode: '',
+ })
// 缁勪欢鎸傝浇鏃惰幏鍙栨灇涓炬暟鎹�
onMounted(() => {
fetchEnumData()
- getAreaType()
- getAisleList()
+ queryForm.value.searchVal_FilterMode =
+ FILTER_MODE_OPTIONS_STRING[0]?.value || ''
+ _curHighQueryData.value.searchVal_FilterMode =
+ queryForm.value.searchVal_FilterMode
+ _curHighQueryData.value.str_searchFormInputAttrs =
+ _searchFormInputAttrs.value
})
- // 鏂板鐨勬煡璇㈡柟娉�
- const handleQuery = async () => {
- console.log('鏌ヨ鏉′欢:', queryParams.value)
- // tableRef.value.getTableList()
- tableRef.value.getList(queryParams.value)
+ // 鏂扮増鐨勬煡璇㈡柟娉曪紙涓婚〉闈腑鐨勬寜閽�愭煡璇€�戯級
+ const handleQueryForMain = async () => {
+ _curHighQueryData.value.searchVal = queryForm.value.searchVal
+ _curHighQueryData.value.searchVal_FilterMode =
+ queryForm.value.searchVal_FilterMode
+ _curHighQueryData.value.str_searchFormInputAttrs =
+ _searchFormInputAttrs.value
+ tableRef.value.getList(_curHighQueryData.value)
}
-
- // 閲嶇疆鏌ヨ鏉′欢
+ // 鏂扮増鐨勬煡璇㈡柟娉曪紙楂樼骇鏌ヨ涓殑鎸夐挳銆愭煡璇€�戯級
+ const handleQuery = async (extraParams = {}) => {
+ let filteredData = commonGetHighQueryForm(extraParams)
+ commonSaveCurHighQueryData(filteredData)
+ tableRef.value.getList(filteredData)
+ }
+ // 鏂扮増鐨勬煡璇㈤噸缃�
const resetQuery = () => {
- queryForm.value = {
- placeNo: '',
- storageTypeNo: '',
- placeStatus: '',
- aisle: '',
- areaCode: '',
- islock: '',
- emptyContainer: '',
- filter: '',
- }
+ queryForm.value.searchVal = ''
+ queryForm.value.searchVal_FilterMode =
+ FILTER_MODE_OPTIONS_STRING[0]?.value || ''
+ queryForm.value.str_searchFormInputAttrs = _searchFormInputAttrs.value
+ }
+ //鏂扮増鐨勫鍑烘柟娉�
+ const handleExport = () => {
+ onExport(_curHighQueryData.value)
+ }
+ // 鏂扮増鐨勬煡璇㈠脊鍑烘鍏抽棴鏂规硶
+ const closeQuery = (extraParams = {}) => {
+ let filteredData = commonGetHighQueryForm(extraParams)
+ console.log('closeQuery鏂规硶')
+ console.log(filteredData)
+ commonSaveCurHighQueryData(filteredData)
+ }
+ //淇濆瓨鏌ヨ鍊�
+ const commonSaveCurHighQueryData = (filteredData = {}) => {
+ _curHighQueryData.value = { ..._curHighQueryData.value, ...filteredData }
+ _curHighQueryData.value.searchVal = queryForm.value.searchVal
+ _curHighQueryData.value.searchVal_FilterMode =
+ queryForm.value.searchVal_FilterMode
+ _curHighQueryData.value.str_searchFormInputAttrs =
+ _searchFormInputAttrs.value
+ }
+ //鑾峰彇楂樼骇鏌ヨ寮瑰嚭妗嗙殑鏌ヨ鍊�
+ const commonGetHighQueryForm = (extraParams = {}) => {
+ // 杩囨护鎺� undefined 鐨勫��
+ let filteredData = Object.assign(
+ {},
+ ...Object.entries(extraParams).map(([key, value]) =>
+ value !== undefined ? { [key]: value } : {}
+ )
+ )
+ //缁勫悎妯$硦鏌ヨ
+ filteredData.searchVal = queryForm.value.searchVal
+ filteredData.searchVal_FilterMode = queryForm.value.searchVal_FilterMode
+ filteredData.str_searchFormInputAttrs = _searchFormInputAttrs.value
+ return filteredData
}
/**
@@ -205,6 +222,17 @@
isHidePagination={isHidePagination}
pageSize={50}
v-slots={{
+ isDisabled: ({ row }: any) => {
+ return (
+ <div>
+ {row.isDisabled != null
+ ? row.isDisabled
+ ? '鏄�'
+ : '鍚�'
+ : '-'}
+ </div>
+ )
+ },
name: ({ row }: any) => {
return row?.name ? (
<TdButton
@@ -236,144 +264,17 @@
sort={sort.value}
onConfirm={onConfirmWmsPlace}
/>
- {/* 鏂板鐨勬煡璇㈣〃鍗� */}
- <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.placeNo}
- placeholder="璇疯緭鍏ュ簱浣嶇紪鐮�"
- clearable
- class={styles.formItem}
- />
- </ElFormItem>
- <ElFormItem label="搴撲綅绫诲瀷">
- <ElSelect
- v-model={queryForm.value.storageTypeNo}
- placeholder="璇烽�夋嫨鎵樼洏绫诲瀷"
- clearable
- loading={enumOptions.storageTypeNo.length === 0}
- class={styles.formItem}
- >
- {enumOptions.storageTypeNo.map((option) => (
- <ElOption
- key={option.value}
- label={option.label}
- value={option.value}
- />
- ))}
- </ElSelect>
- </ElFormItem>
- <ElFormItem label="搴撲綅鐘舵��">
- <ElSelect
- v-model={queryForm.value.placeStatus}
- placeholder="璇烽�夋嫨鎵樼洏鐘舵��"
- clearable
- loading={enumOptions.placeStatus.length === 0}
- class={styles.formItem}
- >
- {enumOptions.placeStatus.map((option) => (
- <ElOption
- key={option.value}
- label={option.label}
- value={option.value}
- />
- ))}
- </ElSelect>
- </ElFormItem>
- <ElFormItem label="搴撳尯">
- <ElSelect
- v-model={queryForm.value.areaCode}
- placeholder="璇烽�夋嫨搴撳尯"
- clearable
- loading={areaTypelist.length === 0}
- class={styles.formItem}
- >
- {areaTypelist.map((option) => (
- <ElOption
- key={option.value}
- label={option.label}
- value={option.value}
- />
- ))}
- </ElSelect>
- </ElFormItem>
- <ElFormItem label="宸烽亾">
- <ElSelect
- v-model={queryForm.value.aisle}
- placeholder="璇烽�夋嫨搴撳尯"
- clearable
- loading={aisleTypelist.length === 0}
- class={styles.formItem}
- >
- {aisleTypelist.map((option) => (
- <ElOption
- key={option.value}
- label={option.label}
- value={option.value}
- />
- ))}
- </ElSelect>
- </ElFormItem>
- <ElFormItem label="鏄惁閿佸畾">
- <ElSelect
- v-model={queryForm.value.islock}
- placeholder="璇烽�夋嫨鏄惁閿佸畾"
- clearable
- loading={enumOptions.yesOrNo.length === 0}
- class={styles.formItem}
- >
- {enumOptions.yesOrNo.map((option) => (
- <ElOption
- key={option.value}
- label={option.label}
- value={option.value}
- />
- ))}
- </ElSelect>
- </ElFormItem>
- <ElFormItem label="鏄惁绌烘墭">
- <ElSelect
- v-model={queryForm.value.emptyContainer}
- placeholder="璇烽�夋嫨鏄惁绌烘墭"
- clearable
- loading={enumOptions.yesOrNo.length === 0}
- class={styles.formItem}
- >
- {enumOptions.yesOrNo.map((option) => (
- <ElOption
- key={option.value}
- label={option.label}
- value={option.value}
- />
- ))}
- </ElSelect>
- </ElFormItem>
- <ElFormItem>
- <IconButton type="primary" icon="search" onClick={handleQuery}>
- 鏌ヨ
- </IconButton>
- <IconButton
- style="margin-left: 10px;"
- icon="refresh"
- onClick={resetQuery}
- >
- 閲嶇疆
- </IconButton>
- </ElFormItem>
- </ElForm>
+ {/* 楂樼骇鏌ヨ */}
+ <WmsPlaceQueryDrawer
+ ref="wmsPlaceQueryDrawerRef"
+ v-model={dialogConfigForQuery.visible}
+ title={dialogConfigForQuery.title}
+ row={current.value}
+ sort={sort.value}
+ onConfirmQuery={handleQuery}
+ onRestQuery={resetQuery}
+ onClose={closeQuery}
+ />
<div class={styles.headerContent}>
<div class={styles.header}>
@@ -386,6 +287,7 @@
娣诲姞
</IconButton>
<el-divider direction="vertical" />
+
<el-upload
v-permission="wmsPlace-import"
name="file"
@@ -403,20 +305,65 @@
<IconButton
v-permission="wmsPlace-output"
icon="out"
- onClick={onExport}
+ onClick={handleExport}
>
瀵煎嚭
</IconButton>
</div>
- {/* <Search
- placeholder="璇疯緭鍏ュ叧閿瓧"
- v-model={search.value}
- onConfirm={onSearch}
- style={{ marginTop: '-1px' }}
- /> */}
+ <ElFormItem style={{ marginTop: '15px' }}>
+ <ElFormItem label="鍏抽敭瀛�">
+ <el-tooltip
+ class="box-item"
+ effect="dark"
+ content={searchFormInputAttrs_Placeholder.value}
+ placement="top-start"
+ >
+ <ElInput
+ v-model={queryForm.value.searchVal}
+ placeholder={searchFormInputAttrs_Placeholder.value}
+ clearable
+ class={styles.formItem}
+ />
+ </el-tooltip>
+ </ElFormItem>
+ <ElFormItem label="" style="width:100px;">
+ <ElSelect
+ v-model={queryForm.value.searchVal_FilterMode}
+ placeholder="璇烽�夋嫨"
+ class={styles.formItem}
+ >
+ {FILTER_MODE_OPTIONS_STRING.map((option) => (
+ <ElOption
+ key={option.value}
+ label={option.label}
+ value={option.value}
+ />
+ ))}
+ </ElSelect>
+ </ElFormItem>
+ <IconButton
+ type="primary"
+ icon="search"
+ onClick={handleQueryForMain}
+ >
+ 鏌ヨ
+ </IconButton>
+ {/* <IconButton style="" icon="refresh" onClick={resetQuery}>
+ 閲嶇疆
+ </IconButton> */}
+ <IconButton
+ v-permission="wmsPlace-add"
+ icon="search"
+ onClick={onAdvancedQuery}
+ type="primary"
+ >
+ 楂樼骇鏌ヨ
+ </IconButton>
+ </ElFormItem>
</div>
+
<RenderBaseTable
- url="/api/v1/HIAWms/wmsPlace"
+ url="/api/v1/HIAWms/wmsPlace/page"
dataSource={dataSource}
isChecked={true}
isDrag={true}
--
Gitblit v1.9.3