From fbd434b2aaf5e1f7035f3843508c62ea930d2549 Mon Sep 17 00:00:00 2001
From: zs <zhousong@weben-smart.com>
Date: 周三, 07 5月 2025 10:47:56 +0800
Subject: [PATCH] 高级查询

---
 HIAWms/web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.tsx |  646 +++++++++++++++++++++++++++++-----------------------------
 1 files changed, 322 insertions(+), 324 deletions(-)

diff --git a/HIAWms/web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.tsx b/HIAWms/web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.tsx
index ccc7860..a299cd0 100644
--- a/HIAWms/web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.tsx
+++ b/HIAWms/web/src/widgets/WmsTask/Views/Pages/WmsTask/WmsTask.tsx
@@ -1,326 +1,324 @@
-import { computed, defineComponent, onMounted, reactive, ref } from 'vue'
-import type { Ref } from 'vue'
-import BaseTable from '@/components/Table/Table'
-import styles from './WmsTask.module.scss'
-import { useWmsTask } from '../../../Controllers/WmsTask'
-import IconButton from '@/components/IconButton/IconButton'
-import WmsTaskDrawer from '../Dialog/WmsTaskDrawer/WmsTaskDrawer'
-import WmsTaskQueryDrawer from '../Dialog/WmsTaskQueryDrawer/WmsTaskQueryDrawer'
-import Search from '@/components/Search/Search'
-import { columns } from './Config'
-import TdButton from '@/components/TdButton/TdButton'
-import { vPermission } from '@/libs/Permission/Permission'
-import { getWmsEnumData } from '@/widgets/WmsTask/Models/Service/WmsTaskDrawer'
-import {
-  ElInput,
-  ElSelect,
-  ElOption,
-  ElDatePicker,
-  ElForm,
-  ElFormItem,
-} from 'element-plus'
-import { injectModel } from '@/libs/Provider/Provider'
-
-interface RenderTableType {
-  url?: string
-  dataSource: Ref<any[]>
-  isDrag?: boolean
-  isChecked?: boolean
-  isHidePagination?: boolean
-  params?: Record<string, any>
-  autoHeight?: boolean
-}
-
-export default defineComponent({
-  name: 'WmsTask',
-  directives: {
-    permission: vPermission,
-  },
-  setup(props, ctx) {
-    const {
-      dataSource,
-      contextMenu,
-      dialogConfig,
-      dialogConfigForQuery,
-      tableRef,
-      current,
-      search,
-      sort,
-      headers,
-      onError,
-      onSearch,
-      onRowClick,
-      onConfirmWmsTask,
-      onCheck,
-      onAddWmsTask,
-      onAdvancedQuery,
-      onExport,
-      openDetail,
-      onSuccess,
-      onBeforeUpload,
-    } = useWmsTask(props, ctx)
-
-    //瀹氫箟楂樼骇鏌ヨ寮曠敤
-    const wmsTaskQueryDrawerRef = ref(null)
-    // 鏂板鐨勬煡璇㈡潯浠�
-    const queryForm = ref({
-      searchVal: '',
-      str_searchFormInputAttrs: [],
-    })
-    //瀹氫箟鏁翠綋妯$硦鏌ヨ鐨勫垪鏁扮粍(娉ㄦ剰锛氬繀椤诲ぇ灏忓啓璺熷悗绔殑瀹炰綋绫诲睘鎬у悕涓�鑷达紝鍚﹀垯浼氬鑷村尮閰嶄笉瀵圭殑闂)
-    const _searchFormInputAttrs = ref(['TaskNo', 'ContainerNo'])
-    const searchFormInputAttrs_Placeholder = ref('璇疯緭鍏ヤ换鍔$紪鐮�/鎵樼洏缂栫爜')
-
-    // 鍔ㄦ�佹灇涓鹃�夐」
-    const enumOptions = reactive({
-      taskType: [] as Array<{ label: string; value: any }>,
-      taskStatus: [] as Array<{ label: string; value: any }>,
-      sonTaskType: [] as Array<{ label: string; value: any }>,
-    })
-
-    // 鑾峰彇鏋氫妇鏁版嵁
-    const fetchEnumData = async () => {
-      try {
-        const taskTypeEnumData = await getWmsEnumData({
-          EnumName: 'TaskTypeEnum',
-        })
-        enumOptions.taskType = taskTypeEnumData.map((item) => ({
-          label: item.description,
-          value: item.value,
-        }))
-        const wmsTaskStatusData = await getWmsEnumData({
-          EnumName: 'WmsTaskStatus',
-        })
-        enumOptions.taskStatus = wmsTaskStatusData.map((item) => ({
-          label: item.description,
-          value: item.value,
-        }))
-        const sonTaskTypeEnumData = await getWmsEnumData({
-          EnumName: 'SonTaskTypeEnum',
-        })
-        enumOptions.sonTaskType = sonTaskTypeEnumData.map((item) => ({
-          label: item.description,
-          value: item.value,
-        }))
-      } catch (error) {
-        console.error('鑾峰彇鏋氫妇鏁版嵁澶辫触:', error)
-      }
-    }
-
-    // 缁勪欢鎸傝浇鏃惰幏鍙栨灇涓炬暟鎹�
-    onMounted(() => {
-      fetchEnumData()
-    })
-
-    // 瀹氫箟鍝嶅簲寮忔煡璇㈡暟鎹�
-    const _curHighQueryData = ref({
-      searchVal: '',
-      str_searchFormInputAttrs: [],
-    })
-    // 鏂扮増鐨勬煡璇㈡柟娉曪紙涓婚〉闈腑鐨勬寜閽�愭煡璇€�戯級
-    const handleQueryForMain = async () => {
-      _curHighQueryData.value.searchVal = queryForm.value.searchVal
-      _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.searchVal = ''
-      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.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.str_searchFormInputAttrs = _searchFormInputAttrs.value
-      return filteredData
-    }
-
-    /**
-     * @returns 琛ㄦ牸
-     */
-    const RenderBaseTable = (props: RenderTableType) => {
-      const {
-        url,
-        dataSource,
-        isDrag,
-        isChecked,
-        isHidePagination,
-        params,
-        autoHeight,
-      } = props
-
-      return (
-        <div
-          class={{
-            [styles.wmsTaskList]: true,
-          }}
-        >
-          <BaseTable
-            ref={tableRef}
-            url={url}
-            sortUrlTpl="/api/v1/HIAWms/wmsTask/{id}/adjustsort/{sort}"
-            v-model:dataSource={dataSource.value}
-            columns={columns}
-            contextMenu={contextMenu}
-            params={params}
-            isDrag={isDrag}
-            isChecked={isChecked}
-            autoHeight={autoHeight}
-            onCheck={onCheck}
-            onRowClick={onRowClick}
-            isHidePagination={isHidePagination}
-            pageSize={20}
-            v-slots={{
-              name: ({ row }: any) => {
-                return row?.name ? (
-                  <TdButton
-                    onClick={() => openDetail(row)}
-                    text={<span style="color:#5a84ff">璇︽儏</span>}
-                    icon="scale"
-                    tip={row?.name}
-                    hover
-                  >
-                    {row?.name}
-                  </TdButton>
-                ) : (
-                  '-'
-                )
-              },
-            }}
-          ></BaseTable>
-        </div>
-      )
-    }
-
-    return () => {
-      return (
-        <div class={styles.wmsTaskContent}>
-          {/* 娣诲姞/缂栬緫 */}
-          <WmsTaskDrawer
-            v-model={dialogConfig.visible}
-            title={dialogConfig.title}
-            row={current.value}
-            sort={sort.value}
-            onConfirm={onConfirmWmsTask}
-          />
-          {/* 楂樼骇鏌ヨ */}
-          <WmsTaskQueryDrawer
-            ref="wmsTaskQueryDrawerRef"
-            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}>
-              <IconButton
-                v-permission="wmsTask-add"
-                icon="add-p"
-                onClick={onAddWmsTask}
-                type="primary"
-              >
-                娣诲姞
-              </IconButton>
-              <el-divider direction="vertical" />
-
-              <el-divider direction="vertical" />
-              <el-upload
-                v-permission="wmsTask-import"
-                name="file"
-                accept=".xlsx,.xls,.csv"
-                show-file-list={false}
-                onError={onError}
-                onSuccess={onSuccess}
-                before-upload={onBeforeUpload}
-                headers={headers.value}
-                action="/api/v1/HIAWms/wmsTask/import"
-              >
-                <IconButton icon="in">瀵煎叆</IconButton>
-              </el-upload>
-
-              <IconButton
-                v-permission="wmsTask-output"
-                icon="out"
-                onClick={handleExport}
-              >
-                瀵煎嚭
-              </IconButton>
-            </div>
-            <ElFormItem style={{ marginTop: '15px' }}>
-              <ElFormItem label="鍏抽敭瀛�">
-                <ElInput
-                  v-model={queryForm.value.searchVal}
-                  placeholder={searchFormInputAttrs_Placeholder.value}
-                  clearable
-                  class={styles.formItem}
-                />
-              </ElFormItem>
-              <IconButton
-                type="primary"
-                icon="search"
-                onClick={handleQueryForMain}
-              >
-                鏌ヨ
-              </IconButton>
+import { computed, defineComponent, onMounted, reactive, ref } from 'vue' 
+import type { Ref } from 'vue' 
+import BaseTable from '@/components/Table/Table' 
+import styles from './WmsTask.module.scss' 
+import { useWmsTask } from '../../../Controllers/WmsTask' 
+import IconButton from '@/components/IconButton/IconButton' 
+import WmsTaskDrawer from '../Dialog/WmsTaskDrawer/WmsTaskDrawer' 
+import WmsTaskQueryDrawer from '../Dialog/WmsTaskQueryDrawer/WmsTaskQueryDrawer' 
+import Search from '@/components/Search/Search' 
+import { columns } from './Config' 
+import TdButton from '@/components/TdButton/TdButton' 
+import { vPermission } from '@/libs/Permission/Permission' 
+import { 
+  getWmsEnumData 
+} from '@/widgets/WmsTask/Models/Service/WmsTaskDrawer' 
+import { 
+  ElInput, 
+  ElSelect, 
+  ElOption, 
+  ElDatePicker, 
+  ElForm, 
+  ElFormItem, 
+} from 'element-plus' 
+import { injectModel } from '@/libs/Provider/Provider' 
+ 
+interface RenderTableType { 
+  url?: string 
+  dataSource: Ref<any[]> 
+  isDrag?: boolean 
+  isChecked?: boolean 
+  isHidePagination?: boolean 
+  params?: Record<string, any> 
+  autoHeight?: boolean 
+} 
+ 
+export default defineComponent({ 
+  name: 'WmsTask', 
+  directives: { 
+    permission: vPermission, 
+  }, 
+  setup(props, ctx) { 
+    const { 
+      dataSource, 
+      contextMenu, 
+      dialogConfig, 
+      dialogConfigForQuery, 
+      tableRef, 
+      current, 
+      search, 
+      sort, 
+      headers, 
+      onError, 
+      onSearch, 
+      onRowClick, 
+      onConfirmWmsTask, 
+      onCheck, 
+      onAddWmsTask, 
+      onAdvancedQuery, 
+      onExport, 
+      openDetail, 
+      onSuccess, 
+      onBeforeUpload, 
+    } = useWmsTask(props, ctx) 
+ 
+    //瀹氫箟楂樼骇鏌ヨ寮曠敤 
+   const wmsTaskQueryDrawerRef=ref(null); 
+    // 鏂板鐨勬煡璇㈡潯浠� 
+    const queryForm = ref({ 
+      searchVal: '', 
+      str_searchFormInputAttrs:[] 
+    }) 
+    //瀹氫箟鏁翠綋妯$硦鏌ヨ鐨勫垪鏁扮粍(娉ㄦ剰锛氬繀椤诲ぇ灏忓啓璺熷悗绔殑瀹炰綋绫诲睘鎬у悕涓�鑷达紝鍚﹀垯浼氬鑷村尮閰嶄笉瀵圭殑闂) 
+    const _searchFormInputAttrs = ref([ 
+     'TaskNo', 'ContainerNo' 
+    ]); 
+    const searchFormInputAttrs_Placeholder = ref('璇疯緭鍏ヤ换鍔$紪鐮�/鎵樼洏缂栫爜'); 
+     
+ 
+    // 鍔ㄦ�佹灇涓鹃�夐」 
+    const enumOptions = reactive({ 
+      taskType: [] as Array<{label: string; value: any }>, 
+taskStatus: [] as Array<{label: string; value: any }>, 
+sonTaskType: [] as Array<{label: string; value: any }>,  
+    }) 
+ 
+    // 鑾峰彇鏋氫妇鏁版嵁 
+    const fetchEnumData = async () => { 
+      try { 
+        const taskTypeEnumData = await getWmsEnumData({ 
+ EnumName: 'TaskTypeEnum', 
+}) 
+enumOptions.taskType = taskTypeEnumData.map((item) => ({ 
+  label: item.description, 
+  value: item.value, 
+})) 
+const wmsTaskStatusData = await getWmsEnumData({ 
+ EnumName: 'WmsTaskStatus', 
+}) 
+enumOptions.taskStatus = wmsTaskStatusData.map((item) => ({ 
+  label: item.description, 
+  value: item.value, 
+})) 
+const sonTaskTypeEnumData = await getWmsEnumData({ 
+ EnumName: 'SonTaskTypeEnum', 
+}) 
+enumOptions.sonTaskType = sonTaskTypeEnumData.map((item) => ({ 
+  label: item.description, 
+  value: item.value, 
+})) 
+ 
+      } catch (error) { 
+        console.error('鑾峰彇鏋氫妇鏁版嵁澶辫触:', error) 
+      } 
+    } 
+ 
+    // 缁勪欢鎸傝浇鏃惰幏鍙栨灇涓炬暟鎹� 
+    onMounted(() => { 
+      fetchEnumData() 
+    }) 
+ 
+    // 瀹氫箟鍝嶅簲寮忔煡璇㈡暟鎹� 
+    const _curHighQueryData = ref({ searchVal: '',str_searchFormInputAttrs:[] }); 
+    // 鏂扮増鐨勬煡璇㈡柟娉曪紙涓婚〉闈腑鐨勬寜閽�愭煡璇€�戯級 
+    const handleQueryForMain = async () => { 
+      _curHighQueryData.value.searchVal = queryForm.value.searchVal; 
+      _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.searchVal = '' 
+      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.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.str_searchFormInputAttrs =_searchFormInputAttrs.value; 
+      return filteredData; 
+    } 
+    
+ 
+    /** 
+     * @returns 琛ㄦ牸 
+     */ 
+    const RenderBaseTable = (props: RenderTableType) => { 
+      const { 
+        url, 
+        dataSource, 
+        isDrag, 
+        isChecked, 
+        isHidePagination, 
+        params, 
+        autoHeight, 
+      } = props 
+ 
+      return ( 
+        <div 
+          class={{ 
+            [styles.wmsTaskList]: true, 
+          }} 
+        > 
+          <BaseTable 
+            ref={tableRef} 
+            url={url} 
+            sortUrlTpl="/api/v1/HIAWms/wmsTask/{id}/adjustsort/{sort}" 
+            v-model:dataSource={dataSource.value} 
+            columns={columns} 
+            contextMenu={contextMenu} 
+            params={params} 
+            isDrag={isDrag} 
+            isChecked={isChecked} 
+            autoHeight={autoHeight} 
+            onCheck={onCheck} 
+            onRowClick={onRowClick} 
+            isHidePagination={isHidePagination} 
+            pageSize={20} 
+            v-slots={{ 
+              name: ({ row }: any) => { 
+                return row?.name ? ( 
+                  <TdButton 
+                    onClick={() => openDetail(row)} 
+                    text={<span style="color:#5a84ff">璇︽儏</span>} 
+                    icon="scale" 
+                    tip={row?.name} 
+                    hover 
+                  > 
+                    {row?.name} 
+                  </TdButton> 
+                ) : ( 
+                  '-' 
+                ) 
+              }, 
+            }} 
+          ></BaseTable> 
+        </div> 
+      ) 
+    } 
+ 
+    return () => { 
+      return ( 
+        <div class={styles.wmsTaskContent}> 
+          {/* 娣诲姞/缂栬緫 */} 
+          <WmsTaskDrawer 
+            v-model={dialogConfig.visible} 
+            title={dialogConfig.title} 
+            row={current.value} 
+            sort={sort.value} 
+            onConfirm={onConfirmWmsTask} 
+          /> 
+          {/* 楂樼骇鏌ヨ */} 
+          <WmsTaskQueryDrawer 
+            ref="wmsTaskQueryDrawerRef" 
+            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}> 
+              <IconButton 
+                v-permission="wmsTask-add" 
+                icon="add-p" 
+                onClick={onAddWmsTask} 
+                type="primary" 
+              > 
+                娣诲姞 
+              </IconButton> 
+              <el-divider direction="vertical" /> 
+ 
+              <el-divider direction="vertical" /> 
+              <el-upload 
+                v-permission="wmsTask-import" 
+                name="file" 
+                accept=".xlsx,.xls,.csv" 
+                show-file-list={false} 
+                onError={onError} 
+                onSuccess={onSuccess} 
+                before-upload={onBeforeUpload} 
+                headers={headers.value} 
+                action="/api/v1/HIAWms/wmsTask/import" 
+              > 
+                <IconButton icon="in">瀵煎叆</IconButton> 
+              </el-upload> 
+ 
+              <IconButton 
+                v-permission="wmsTask-output" 
+                icon="out" 
+                onClick={handleExport} 
+              > 
+                瀵煎嚭 
+              </IconButton> 
+            </div> 
+            <ElFormItem style={{ marginTop: '15px' }}> 
+              <ElFormItem label="鍏抽敭瀛�"> 
+                <ElInput 
+                  v-model={queryForm.value.searchVal} 
+                  placeholder={searchFormInputAttrs_Placeholder.value} 
+                  clearable 
+                  class={styles.formItem} 
+                /> 
+              </ElFormItem> 
+              <IconButton type="primary" icon="search" onClick={handleQueryForMain}> 
+                鏌ヨ 
+              </IconButton> 
               {/* <IconButton style="" icon="refresh" onClick={resetQuery}> 
                 閲嶇疆 
-              </IconButton> */}
-              <IconButton
-                v-permission="wmsTask-add"
-                icon="search"
-                onClick={onAdvancedQuery}
-                type="primary"
-              >
-                楂樼骇鏌ヨ
-              </IconButton>
-            </ElFormItem>
-          </div>
-
-          <RenderBaseTable
-            url="/api/v1/HIAWms/wmsTask/page"
-            dataSource={dataSource}
-            isChecked={true}
-            isDrag={true}
-          />
-        </div>
-      )
-    }
-  },
-})
+              </IconButton> */} 
+              <IconButton 
+                v-permission="wmsTask-add" 
+                icon="search" 
+                onClick={onAdvancedQuery} 
+                type="primary" 
+              > 
+                楂樼骇鏌ヨ 
+              </IconButton> 
+            </ElFormItem> 
+          </div> 
+ 
+          <RenderBaseTable 
+            url="/api/v1/HIAWms/wmsTask/page" 
+            dataSource={dataSource} 
+            isChecked={true} 
+            isDrag={true} 
+          /> 
+        </div> 
+      ) 
+    } 
+  }, 
+}) 

--
Gitblit v1.9.3