zs
2025-05-05 25750ab29ce4e243f4e4e17a796167f3a0f0697b
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Weben_CMS_TemplateDemo/web/src/widgets/HIAWms/Controllers/WmsMaterialQueryDrawer.tsx
@@ -16,7 +16,7 @@
import { cloneDeep } from 'lodash'
export const useWmsMaterialQueryDrawer = (props: any, ctx?: any) => {
  const WmsMaterialDrawer = injectModel<WmsMaterialDrawer>('WmsMaterialDrawer')
  const wmsMaterialDrawer = injectModel<WmsMaterialDrawer>('WmsMaterialDrawer')
  /**
   * ç”¨æ¥å¯¹æ¯”的初始化数据
   */
@@ -42,6 +42,7 @@
    )
  }
  const visible = computed({
    get() {
      return props.modelValue
@@ -66,7 +67,6 @@
      prop: 'materialName',
      el: 'input',
      placeholder: '请输入物料名称',
      rules: [{ required: true, message: '物料名称不能为空', trigger: 'blur' }],
    },
    {
      label: '采购类型',
@@ -74,7 +74,6 @@
      el: 'select',
      placeholder: '请选择采购类型',
      options: [],
      rules: [{ required: true, message: '请选择采购类型', trigger: 'change' }],
    },
    {
      label: '物料类型',
@@ -82,7 +81,6 @@
      el: 'select',
      placeholder: '请选择物料类型',
      options: [],
      rules: [{ required: true, message: '请选择物料类型', trigger: 'change' }],
    },
    {
      label: '主单位',
@@ -183,30 +181,7 @@
    const check = isEqual(initiateData.value, data)
    return check
  }
  const onClose = (done: () => void) => {
    if (visible.value) {
      if (checkIsEqualObject()) {
        visible.value = false
        done && done()
      } else {
        ConfirmBox('是否保存设置?')
          .then(() => {
            onConfirmQuery()
          })
          .catch(() => {
            visible.value = false
            done && done()
          })
      }
    }
  }
  /**
   * ç¡®è®¤æŸ¥è¯¢
   */
  const onConfirmQuery = async () => {
    ElMessage.success('点击了查询按钮')
    await formRef.value?.validate()
  const commonGetFormData=()=>{
    const data = {
      materialCode: formData.value.materialCode,
      materialName: formData.value.materialName,
@@ -223,16 +198,43 @@
      certification: formData.value.certification,
      remark: formData.value.remark,
    }
    if (!current.value) {
      //await WmsMaterialDrawer.addWmsMaterial(data)
    } else {
      const id = current.value.id
      //await WmsMaterialDrawer.updateWmsMaterial(id, data)
    return data;
  }
  const onClose = (done: () => void) => {
    if (visible.value) {
      visible.value = false
      const data =commonGetFormData();
      ctx.emit('close', data)
    }
    ElMessage.success('保存成功')
    //ctx.emit('confirmQuery')
    //增加传递参数 ã€Editby shaocx,2025-05-03】
    ctx.emit('confirmQuery',data)
  }
  /**
   * ç¡®è®¤æŸ¥è¯¢
   */
  const onConfirmQuery = async () => {
    const data =commonGetFormData();
    ctx.emit('confirmQuery', data)
  }
  /**
   * é‡ç½®æŸ¥è¯¢
   */
  const onReset = async () => {
    formData.value = {}
    formData.value.materialCode = ''
    formData.value.materialName = ''
    formData.value.purchaseType = ''
    formData.value.materialType = ''
    formData.value.primaryUnit = ''
    formData.value.standard = ''
    formData.value.outerDiameter = ''
    formData.value.wallThickness = ''
    formData.value.materialQuality = ''
    formData.value.length = ''
    formData.value.isMainBranch = ''
    formData.value.factory = ''
    formData.value.certification = ''
    formData.value.remark = ''
    //向父组件发送自定义事件
    ctx.emit('restQuery');
  }
  const updateCheckData = () => {
@@ -254,56 +256,29 @@
  /**
   * é€šç”¨æŸ¥è¯¢æžšä¸¾
   */
  const commonQueryEnumForFrom=async()=>{
    const materialTypeEnum = await WmsMaterialDrawer.getWmsEnumData({
  const commonQueryEnumForFrom = async () => {
    const materialTypeEnum = await wmsMaterialDrawer.getWmsEnumData({
      EnumName: 'MaterialTypeEnum',
    })
    updateFormItemOptions('materialType', materialTypeEnum)
    const purchaseTypeEnum = await WmsMaterialDrawer.getWmsEnumData({
    const purchaseTypeEnum = await wmsMaterialDrawer.getWmsEnumData({
      EnumName: 'PurchaseTypeEnum',
    })
    updateFormItemOptions('purchaseType', purchaseTypeEnum)
    const yesOrNoTypeEnum = await WmsMaterialDrawer.getWmsEnumData({
    const yesOrNoTypeEnum = await wmsMaterialDrawer.getWmsEnumData({
      EnumName: 'YesNoEnum',
    })
    updateFormItemOptions('isMainBranch', yesOrNoTypeEnum)
  }
  commonQueryEnumForFrom();
  commonQueryEnumForFrom()
  /**
   * å¼¹çª—打开获取详情
   */
  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)
@@ -316,5 +291,6 @@
    onOpen,
    onClose,
    onConfirmQuery,
    onReset,
  }
}