From ec3cfd144de6fcf5e5cbfaf02585c17805300602 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周三, 21 5月 2025 13:35:16 +0800
Subject: [PATCH] 优化

---
 HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Views/Pages/WmsInOutStockOrder/WmsInOutStockOrder.tsx |  169 ++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 127 insertions(+), 42 deletions(-)

diff --git a/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Views/Pages/WmsInOutStockOrder/WmsInOutStockOrder.tsx b/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Views/Pages/WmsInOutStockOrder/WmsInOutStockOrder.tsx
index 957d251..6958beb 100644
--- a/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Views/Pages/WmsInOutStockOrder/WmsInOutStockOrder.tsx
+++ b/HIAWms/hiawms_web/src/widgets/WmsInOutStockOrder/Views/Pages/WmsInOutStockOrder/WmsInOutStockOrder.tsx
@@ -19,8 +19,15 @@
   ElDatePicker,
   ElForm,
   ElFormItem,
+  ElDialog,
+  ElButton,
+  ElTable,
+  ElTableColumn,
+  ElMessage,
 } from 'element-plus'
 import { injectModel } from '@/libs/Provider/Provider'
+// 寮曞叆鍏叡閫夐」閰嶇疆
+import { FILTER_MODE_OPTIONS_STRING_KEY } from '@/components/DyFormForHighQuery/DyFormForHighQueryOptions'
 
 interface RenderTableType {
   url?: string
@@ -37,6 +44,7 @@
   directives: {
     permission: vPermission,
   },
+
   setup(props, ctx) {
     const {
       dataSource,
@@ -46,6 +54,7 @@
       tableRef,
       current,
       search,
+      // selection,
       sort,
       headers,
       onError,
@@ -62,19 +71,26 @@
     } = useWmsInOutStockOrder(props, ctx)
 
     //瀹氫箟楂樼骇鏌ヨ寮曠敤
-    const wmsInOutStockOrderQueryDrawerRef = ref(null)
+    const WmsInOutStockOrderQueryDrawerRef = ref(null)
     // 鏂板鐨勬煡璇㈡潯浠�
     const queryForm = ref({
       searchVal: '',
       str_searchFormInputAttrs: [],
+      searchVal_FilterMode: '',
     })
     //瀹氫箟鏁翠綋妯$硦鏌ヨ鐨勫垪鏁扮粍(娉ㄦ剰锛氬繀椤诲ぇ灏忓啓璺熷悗绔殑瀹炰綋绫诲睘鎬у悕涓�鑷达紝鍚﹀垯浼氬鑷村尮閰嶄笉瀵圭殑闂)
     const _searchFormInputAttrs = ref([
       'OrderNo',
+      'MaterialName',
       'MaterialNo',
+      'MaterialModel',
       'MaterialBatch',
+      'PlanNo',
+      'Remark',
     ])
-    const searchFormInputAttrs_Placeholder = ref('璇疯緭鍏ュ崟鎹彿/鐗╂枡缂栧彿/鎵规')
+    const searchFormInputAttrs_Placeholder = ref(
+      '璇疯緭鍏ュ崟鎹紪鍙�/鐗╂枡鍚嶇О/鐗╂枡浠跺彿/鍨嬪彿/鎵规鍙�/鍏宠仈璁″垝缂栧彿/澶囨敞'
+    )
 
     // 鍔ㄦ�佹灇涓鹃�夐」
     const enumOptions = reactive({
@@ -112,19 +128,28 @@
       }
     }
 
-    // 缁勪欢鎸傝浇鏃惰幏鍙栨灇涓炬暟鎹�
-    onMounted(() => {
-      fetchEnumData()
-    })
-
     // 瀹氫箟鍝嶅簲寮忔煡璇㈡暟鎹�
     const _curHighQueryData = ref({
       searchVal: '',
       str_searchFormInputAttrs: [],
+      searchVal_FilterMode: '',
     })
+    // 缁勪欢鎸傝浇鏃惰幏鍙栨灇涓炬暟鎹�
+    onMounted(() => {
+      fetchEnumData()
+      queryForm.value.searchVal_FilterMode =
+        FILTER_MODE_OPTIONS_STRING_KEY[0]?.value || ''
+      _curHighQueryData.value.searchVal_FilterMode =
+        queryForm.value.searchVal_FilterMode
+      _curHighQueryData.value.str_searchFormInputAttrs =
+        _searchFormInputAttrs.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)
@@ -138,6 +163,8 @@
     // 鏂扮増鐨勬煡璇㈤噸缃�
     const resetQuery = () => {
       queryForm.value.searchVal = ''
+      queryForm.value.searchVal_FilterMode =
+        FILTER_MODE_OPTIONS_STRING_KEY[0]?.value || ''
       queryForm.value.str_searchFormInputAttrs = _searchFormInputAttrs.value
     }
     //鏂扮増鐨勫鍑烘柟娉�
@@ -155,6 +182,8 @@
     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
     }
@@ -169,8 +198,69 @@
       )
       //缁勫悎妯$硦鏌ヨ
       filteredData.searchVal = queryForm.value.searchVal
+      filteredData.searchVal_FilterMode = queryForm.value.searchVal_FilterMode
       filteredData.str_searchFormInputAttrs = _searchFormInputAttrs.value
       return filteredData
+    }
+
+    // 鍙枡寮圭獥鐩稿叧鐘舵��
+    const callMaterialDialog = reactive({
+      visible: false,
+      title: '鍙枡',
+      selectedItems: [] as any[],
+    })
+
+    // 鎵撳紑鍙枡寮圭獥
+    // const openCallMaterialDialog = () => {
+    //   console.log('閫変腑鐨勬暟鎹�:', callMaterialDialog.selectedItems)
+    //   if (selection.value.length === 0) {
+    //     ElMessage.warning('璇疯嚦灏戦�夋嫨涓�鏉¤褰�')
+    //     return
+    //   }
+    //   callMaterialDialog.selectedItems = [...selection.value]
+    //   callMaterialDialog.visible = true
+    // }
+
+    // 纭鍙枡
+    const confirmCallMaterial = () => {
+      // 杩欓噷娣诲姞鍙枡閫昏緫
+      console.log('鍙枡鏁版嵁:', callMaterialDialog.selectedItems)
+      ElMessage.success('鍙枡鎴愬姛')
+      callMaterialDialog.visible = false
+    }
+
+    /**
+     * @returns 鍙枡寮圭獥
+     */
+    const RenderCallMaterialDialog = () => {
+      return (
+        <ElDialog
+          v-model={callMaterialDialog.visible}
+          title={callMaterialDialog.title}
+          width="70%"
+          v-slots={{
+            footer: () => (
+              <div class={styles.dialogFooter}>
+                <ElButton onClick={() => (callMaterialDialog.visible = false)}>
+                  鍙栨秷
+                </ElButton>
+                <ElButton type="primary" onClick={confirmCallMaterial}>
+                  纭鍙枡
+                </ElButton>
+              </div>
+            ),
+          }}
+        >
+          <ElTable data={callMaterialDialog.selectedItems} border>
+            <ElTableColumn prop="orderNo" label="鍗曟嵁鍙�" width="180" />
+            <ElTableColumn prop="materialNo" label="鐗╂枡缂栧彿" width="180" />
+            <ElTableColumn prop="materialName" label="鐗╂枡鍚嶇О" />
+            <ElTableColumn prop="materialModel" label="鍨嬪彿" />
+            <ElTableColumn prop="placeNo" label="搴撲綅缂栧彿" />
+            <ElTableColumn prop="quantity" label="鏁伴噺" />
+          </ElTable>
+        </ElDialog>
+      )
     }
 
     /**
@@ -273,6 +363,9 @@
 
           <div class={styles.headerContent}>
             <div class={styles.header}>
+              {/* 鍙枡寮圭獥 */}
+              <RenderCallMaterialDialog />
+
               <IconButton
                 v-permission="wmsInOutStockOrder-add"
                 icon="add-p"
@@ -282,45 +375,37 @@
                 娣诲姞
               </IconButton>
               <el-divider direction="vertical" />
-              <IconButton
-                v-permission="wmsInOutStockOrder-add"
-                icon="add-p"
-                onClick={onAddWmsInOutStockOrder}
-                type="primary"
-              >
-                鍙枡
-              </IconButton>
-              <el-divider direction="vertical" />
-              {/* <el-upload
-                v-permission="wmsInOutStockOrder-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/wmsInOutStockOrder/import"
-              >
-                <IconButton icon="in">瀵煎叆</IconButton>
-              </el-upload>
-
-              <IconButton
-                v-permission="wmsInOutStockOrder-output"
-                icon="out"
-                onClick={handleExport}
-              >
-                瀵煎嚭
-              </IconButton> */}
             </div>
             <ElFormItem style={{ marginTop: '15px' }}>
               <ElFormItem label="鍏抽敭瀛�">
-                <ElInput
-                  v-model={queryForm.value.searchVal}
-                  placeholder={searchFormInputAttrs_Placeholder.value}
-                  clearable
+                <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_KEY.map((option) => (
+                    <ElOption
+                      key={option.value}
+                      label={option.label}
+                      value={option.value}
+                    />
+                  ))}
+                </ElSelect>
               </ElFormItem>
               <IconButton
                 type="primary"

--
Gitblit v1.9.3