From f87590b44fe1c160f3ce8ecaaba57f44e0cf3858 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周六, 03 5月 2025 17:38:30 +0800
Subject: [PATCH] 2222

---
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Controllers/WmsMaterial.ts                                           |    6 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Controllers/WmsMaterialQueryDrawer.tsx                               |   81 ++++++++--------
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.tsx |    1 
 Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.tsx                              |  202 ++++++++++++++--------------------------
 4 files changed, 117 insertions(+), 173 deletions(-)

diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Controllers/WmsMaterial.ts" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Controllers/WmsMaterial.ts"
index c29b58a..b97016b 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Controllers/WmsMaterial.ts"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Controllers/WmsMaterial.ts"
@@ -185,9 +185,9 @@
   /**
    * 瀵煎嚭
    */
-  const onExport = () => {
-    const params = tableRef.value?.getParams()
-    exportFile('/api/v1/hIAWms/wmsMaterial/export', params, 'hIAWms')
+  const onExport = (data={}) => {
+    //const params = tableRef.value?.getParams()
+    exportFile('/api/v1/hIAWms/wmsMaterial/export', data, 'hIAWms')
   }
 
   /**
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Controllers/WmsMaterialQueryDrawer.tsx" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Controllers/WmsMaterialQueryDrawer.tsx"
index e2314b6..78d4406 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Controllers/WmsMaterialQueryDrawer.tsx"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Controllers/WmsMaterialQueryDrawer.tsx"
@@ -42,6 +42,10 @@
     )
   }
 
+  const sayHello = () => {
+    console.log("Hello from child!");
+  };
+
   const visible = computed({
     get() {
       return props.modelValue
@@ -183,19 +187,39 @@
 
   const onClose = (done: () => void) => {
     if (visible.value) {
-      if (checkIsEqualObject()) {
-        visible.value = false
-        done && done()
-      } else {
-        ConfirmBox('鏄惁淇濆瓨璁剧疆锛�')
-          .then(() => {
-            onConfirmQuery()
-          })
-          .catch(() => {
-            visible.value = false
-            done && done()
-          })
+      visible.value = false
+      const data = {
+        materialCode: formData.value.materialCode,
+        materialName: formData.value.materialName,
+        purchaseType: formData.value.purchaseType,
+        materialType: formData.value.materialType,
+        primaryUnit: formData.value.primaryUnit,
+        standard: formData.value.standard,
+        outerDiameter: formData.value.outerDiameter,
+        wallThickness: formData.value.wallThickness,
+        materialQuality: formData.value.materialQuality,
+        length: formData.value.length,
+        isMainBranch: formData.value.isMainBranch,
+        factory: formData.value.factory,
+        certification: formData.value.certification,
+        remark: formData.value.remark,
       }
+      ctx.emit('close', data)
+      //閫氱煡鐖剁粍浠�
+      //done && done()
+      // if (checkIsEqualObject()) {
+      //   visible.value = false
+      //   done && done()
+      // } else {
+      //   ConfirmBox('鏄惁淇濆瓨璁剧疆锛�')
+      //     .then(() => {
+      //       onConfirmQuery()
+      //     })
+      //     .catch(() => {
+      //       visible.value = false
+      //       done && done()
+      //     })
+      // }
     }
   }
   /**
@@ -242,6 +266,8 @@
     formData.value.factory = ''
     formData.value.certification = ''
     formData.value.remark = ''
+    //鍚戠埗缁勪欢鍙戦�佽嚜瀹氫箟浜嬩欢
+    ctx.emit('restQuery');
   }
 
   const updateCheckData = () => {
@@ -284,34 +310,8 @@
    * 寮圭獥鎵撳紑鑾峰彇璇︽儏
    */
   const onOpen = async () => {
-    if (current.value) {
-      const res = await WmsMaterialDrawer.getWmsMaterialDetail(current.value)
-
-      formData.value = {
-        materialCode: res.materialCode,
-        materialName: res.materialName,
-        purchaseType: res.purchaseType,
-        materialType: res.materialType,
-        primaryUnit: res.primaryUnit,
-        standard: res.standard,
-        outerDiameter: res.outerDiameter,
-        wallThickness: res.wallThickness,
-        materialQuality: res.materialQuality,
-        length: res.length,
-        isMainBranch: res.isMainBranch,
-        factory: res.factory,
-        certification: res.certification,
-        remark: res.remark,
-        id: res.id,
-      }
-      disabled.value = true
-      updateCheckData()
-    } else {
-      formData.value = {}
-
-      disabled.value = false
-      updateCheckData()
-    }
+    disabled.value = false
+    updateCheckData()
   }
 
   watch(() => current.value, onOpen)
@@ -325,5 +325,6 @@
     onClose,
     onConfirmQuery,
     onReset,
+    sayHello
   }
 }
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.tsx" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.tsx"
index 639c7e2..2af1c17 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.tsx"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.tsx"
@@ -40,6 +40,7 @@
       visible,
       formItems,
       formData,
+      sayHello
     } = useWmsMaterialQueryDrawer(props, ctx)
     return () => (
       <BaseQueryDrawer
diff --git "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.tsx" "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.tsx"
index 83fb3fa..2f9c7b1 100644
--- "a/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.tsx"
+++ "b/Weben_CMS\344\270\223\347\224\250\344\273\243\347\240\201\347\224\237\346\210\220\345\231\250/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.tsx"
@@ -63,20 +63,14 @@
       onBeforeUpload,
     } = useWmsMaterial(props, ctx)
 
+    //瀹氫箟楂樼骇鏌ヨ寮曠敤
+   const wmsMaterialQueryDrawerRef=ref(null);
     // 鏂板鐨勬煡璇㈡潯浠�
     const queryForm = ref({
-      materialCode: '',
-      materialName: '',
-      materialType: '',
-      purchaseType: '',
       filter: '',
     })
 
-    const queryParams = computed(() => ({
-      ...queryForm.value,
-      materialType: queryForm.value.materialType || '', // 澶勭悊涓嬫媺
-      purchaseType: queryForm.value.purchaseType || '',
-    }))
+    
 
     // 鍔ㄦ�佹灇涓鹃�夐」
     const enumOptions = reactive({
@@ -115,26 +109,53 @@
       fetchEnumData()
     })
 
-    // 鏂板鐨勬煡璇㈡柟娉�
+    // 瀹氫箟鍝嶅簲寮忔煡璇㈡暟鎹�
+    const _curHighQueryData = ref({ filter: '' });
+    // 鏂扮増鐨勬煡璇㈡柟娉曪紙涓婚〉闈腑鐨勬寜閽�愭煡璇€�戯級
+    const handleQueryForMain = async () => {
+      _curHighQueryData.value.filter = queryForm.value.filter;
+      tableRef.value.getList(_curHighQueryData.value)
+    }
+    // 鏂扮増鐨勬煡璇㈡柟娉曪紙楂樼骇鏌ヨ涓殑鎸夐挳銆愭煡璇€�戯級
     const handleQuery = async (extraParams = {}) => {
-     // 杩囨护鎺� undefined 鐨勫��
-let filteredData = Object.assign(
-  {},
-  ...Object.entries(extraParams).map(([key, value]) => ((value !== undefined) ? { [key]: value } : {}))
-);
+      let filteredData = commonGetHighQueryForm(extraParams);
+      commonSaveCurHighQueryData(filteredData);
       tableRef.value.getList(filteredData)
     }
-
-    // 閲嶇疆鏌ヨ鏉′欢
+    // 鏂扮増鐨勬煡璇㈤噸缃�
     const resetQuery = () => {
-      queryForm.value = {
-        materialCode: '',
-        materialName: '',
-        materialType: '',
-        purchaseType: '',
-        filter: '',
-      }
+      queryForm.value.filter = ''
     }
+     //鏂扮増鐨勫鍑烘柟娉�
+     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.filter = queryForm.value.filter
+    }
+     //鑾峰彇楂樼骇鏌ヨ寮瑰嚭妗嗙殑鏌ヨ鍊�
+     const commonGetHighQueryForm=(extraParams={})=>{
+      // 杩囨护鎺� undefined 鐨勫��
+      let filteredData = Object.assign(
+        {},
+        ...Object.entries(extraParams).map(([key, value]) =>
+          value !== undefined ? { [key]: value } : {}
+        )
+      )
+      //缁勫悎妯$硦鏌ヨ
+      filteredData.filter = queryForm.value.filter
+      return filteredData;
+    }
+   
 
     /**
      * @returns 琛ㄦ牸
@@ -204,103 +225,17 @@
             sort={sort.value}
             onConfirm={onConfirmWmsMaterial}
           />
-           {/* 楂樼骇鏌ヨ */}
-           <WmsMaterialQueryDrawer
+          {/* 楂樼骇鏌ヨ */}
+          <WmsMaterialQueryDrawer
+            ref="wmsMaterialQueryDrawerRef"
             v-model={dialogConfigForQuery.visible}
             title={dialogConfigForQuery.title}
             row={current.value}
             sort={sort.value}
             onConfirmQuery={handleQuery}
+            onRestQuery={resetQuery}
+            onClose={closeQuery}
           />
-
-          {/* 鏂板鐨勬煡璇㈣〃鍗� */}
-          <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}>
@@ -313,14 +248,7 @@
                 娣诲姞
               </IconButton>
               <el-divider direction="vertical" />
-              <IconButton
-                v-permission="wmsMaterial-add"
-                icon="add-p"
-                onClick={onAdvancedQuery}
-                type="primary"
-              >
-                楂樼骇鏌ヨ
-              </IconButton>
+
               <el-divider direction="vertical" />
               <el-upload
                 v-permission="wmsMaterial-import"
@@ -339,7 +267,7 @@
               <IconButton
                 v-permission="wmsMaterial-output"
                 icon="out"
-                onClick={onExport}
+                onClick={handleExport}
               >
                 瀵煎嚭
               </IconButton>
@@ -350,16 +278,30 @@
               onConfirm={onSearch}
               style={{ marginTop: '-1px' }}
             />
-             <IconButton type="primary" icon="search" onClick={handleQuery}>
+            <ElFormItem style={{ marginTop: '15px' }}>
+              <ElFormItem label="鍏抽敭瀛�">
+                <ElInput
+                  v-model={queryForm.value.filter}
+                  placeholder="璇疯緭鍏ュ叧閿瓧鎼滅储"
+                  clearable
+                  class={styles.formItem}
+                />
+              </ElFormItem>
+              <IconButton type="primary" icon="search" onClick={handleQueryForMain}>
                 鏌ヨ
               </IconButton>
-              <IconButton
-                style=""
-                icon="refresh"
-                onClick={resetQuery}
-              >
+              <IconButton style="" icon="refresh" onClick={resetQuery}>
                 閲嶇疆
               </IconButton>
+              <IconButton
+                v-permission="wmsMaterial-add"
+                icon="add-p"
+                onClick={onAdvancedQuery}
+                type="primary"
+              >
+                楂樼骇鏌ヨ
+              </IconButton>
+            </ElFormItem>
           </div>
 
           <RenderBaseTable

--
Gitblit v1.9.3