schangxiang@126.com
2025-05-03 f87590b44fe1c160f3ce8ecaaba57f44e0cf3858
2222
已修改4个文件
290 ■■■■■ 文件已修改
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Controllers/WmsMaterial.ts 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Controllers/WmsMaterialQueryDrawer.tsx 81 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/Dialog/WmsMaterialQueryDrawer/WmsMaterialQueryDrawer.tsx 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Views/Pages/WmsMaterial/WmsMaterial.tsx 202 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMSרÓôúÂëÉú³ÉÆ÷/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')
  }
  /**
Weben_CMSרÓôúÂëÉú³ÉÆ÷/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
  }
}
Weben_CMSרÓôúÂëÉú³ÉÆ÷/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
Weben_CMSרÓôúÂëÉú³ÉÆ÷/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