zs
2025-05-06 55bf797dcc730b37bc691ebab2b51ff9db8ed245
修改代码样式
已修改9个文件
925 ■■■■ 文件已修改
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/GetWmsInOutStockRecordInput.cs 350 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/web/src/components/DyForm/DyForm.tsx 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/web/src/widgets/WmsInOutStockRecord/Controllers/WmsInOutStockRecordDrawer.tsx 553 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/web/src/widgets/WmsStoreInfo/Views/Pages/WmsArea/WmsArea.module.scss 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Code/DataBaseFactory/Default/MySqlDataBaseServiceHandle.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Code/DataBaseFactory/Default/SqlServerDataBaseServiceHandle.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Code/Model/ColumnModell.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Code/Templete/Web/Views/Pages/EntityNameClass/EntityNameClass_module模板.txt 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Weben_CMS专用代码生成器/Code/Utility/StructStrHelper.cs 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HIAWms/server/src/CMS.Plugin.HIAWms.Application.Contracts/Dtos/WmsInOutStockRecord/GetWmsInOutStockRecordInput.cs
@@ -1,229 +1,229 @@
using CmsQueryExtensions.Extension;
using Volo.Abp.Application.Dtos;
namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsInOutStockRecord;
using CmsQueryExtensions.Extension;
using Volo.Abp.Application.Dtos;
namespace CMS.Plugin.HIAWms.Application.Contracts.Dtos.WmsInOutStockRecord;
/// <summary> 
/// å‡ºå…¥åº“记录表查询参数 
/// </summary> 
public class GetWmsInOutStockRecordInput : ExtensiblePagedAndSortedResultRequestDto
{
public class GetWmsInOutStockRecordInput : ExtensiblePagedAndSortedResultRequestDto
{
    #region å…³é”®å­—查询 
    /// <summary> 
    /// å…³é”®å­—模糊查询(注意是小写!) 
    /// </summary> 
    public string searchVal { get; set; }
    public string searchVal { get; set; }
    /// <summary> 
    /// é€šç”¨æŸ¥è¯¢é…ç½® (1:模糊查询 , 2:精准查询)(注意是小写!) 
    /// </summary> 
    public SearchFilterModeEnum searchVal_FilterMode { get; set; } = SearchFilterModeEnum.模糊查询;
    public SearchFilterModeEnum searchVal_FilterMode { get; set; } = SearchFilterModeEnum.模糊查询;
    /// <summary> 
    /// å­æœç´¢ç»„件传递的通用查询配置的属性名(注意是小写!) 
    /// </summary> 
    [NoAutoQuery]
    public string str_searchFormInputAttrs { get; set; }
    [NoAutoQuery]
    public string str_searchFormInputAttrs { get; set; }
    /// <summary> 
    /// å­æœç´¢ç»„件传递的通用查询配置的属性名(注意是小写!) 
    /// </summary> 
    public List<string> searchFormInputAttrs
    {
        get
        {
            if (!string.IsNullOrEmpty(str_searchFormInputAttrs))
            {
                return str_searchFormInputAttrs.Split(',').ToList();
            }
            return new List<string>();
        }
    }
    #endregion
            /// <summary>
        /// å•据编号
        /// </summary>
        public string OrderNo { get; set; }
    public List<string> searchFormInputAttrs
    {
        get
        {
            if (!string.IsNullOrEmpty(str_searchFormInputAttrs))
            {
                return str_searchFormInputAttrs.Split(',').ToList();
            }
            return new List<string>();
        }
    }
        /// <summary>
        /// å•据编号-查询关系运算符
        /// </summary>
        public SearchFilterModeEnum OrderNo_FilterMode { get; set; }= SearchFilterModeEnum.模糊查询;
    #endregion
        /// <summary>
        /// ç‰©æ–™åç§°
        /// </summary>
        public string MaterialName { get; set; }
    /// <summary>
    /// å•据编号
    /// </summary>
    public string OrderNo { get; set; }
        /// <summary>
        /// ç‰©æ–™åç§°-查询关系运算符
        /// </summary>
        public SearchFilterModeEnum MaterialName_FilterMode { get; set; }= SearchFilterModeEnum.模糊查询;
    /// <summary>
    /// å•据编号-查询关系运算符
    /// </summary>
    public SearchFilterModeEnum OrderNo_FilterMode { get; set; } = SearchFilterModeEnum.模糊查询;
        /// <summary>
        /// ç‰©æ–™ä»¶å·
        /// </summary>
        public string MaterialNo { get; set; }
    /// <summary>
    /// ç‰©æ–™åç§°
    /// </summary>
    public string MaterialName { get; set; }
        /// <summary>
        /// ç‰©æ–™ä»¶å·-查询关系运算符
        /// </summary>
        public SearchFilterModeEnum MaterialNo_FilterMode { get; set; }= SearchFilterModeEnum.模糊查询;
    /// <summary>
    /// ç‰©æ–™åç§°-查询关系运算符
    /// </summary>
    public SearchFilterModeEnum MaterialName_FilterMode { get; set; } = SearchFilterModeEnum.模糊查询;
        /// <summary>
        /// æ“ä½œç±»åž‹
        /// </summary>
        public int?  StockType { get; set; }
    /// <summary>
    /// ç‰©æ–™ä»¶å·
    /// </summary>
    public string MaterialNo { get; set; }
        /// <summary>
        /// æ“ä½œç±»åž‹-查询关系运算符
        /// </summary>
        public SearchFilterModeEnum StockType_FilterMode { get; set; }= SearchFilterModeEnum.精准查询;
    /// <summary>
    /// ç‰©æ–™ä»¶å·-查询关系运算符
    /// </summary>
    public SearchFilterModeEnum MaterialNo_FilterMode { get; set; } = SearchFilterModeEnum.模糊查询;
        /// <summary>
        /// å®¹å™¨ç¼–号
        /// </summary>
        public string ContainerNo { get; set; }
    /// <summary>
    /// æ“ä½œç±»åž‹
    /// </summary>
    public int? StockType { get; set; }
        /// <summary>
        /// å®¹å™¨ç¼–号-查询关系运算符
        /// </summary>
        public SearchFilterModeEnum ContainerNo_FilterMode { get; set; }= SearchFilterModeEnum.模糊查询;
    /// <summary>
    /// æ“ä½œç±»åž‹-查询关系运算符
    /// </summary>
    public SearchFilterModeEnum StockType_FilterMode { get; set; } = SearchFilterModeEnum.精准查询;
        /// <summary>
        /// æœºåž‹
        /// </summary>
        public string MaterialModel { get; set; }
    /// <summary>
    /// å®¹å™¨ç¼–号
    /// </summary>
    public string ContainerNo { get; set; }
        /// <summary>
        /// æœºåž‹-查询关系运算符
        /// </summary>
        public SearchFilterModeEnum MaterialModel_FilterMode { get; set; }= SearchFilterModeEnum.模糊查询;
    /// <summary>
    /// å®¹å™¨ç¼–号-查询关系运算符
    /// </summary>
    public SearchFilterModeEnum ContainerNo_FilterMode { get; set; } = SearchFilterModeEnum.模糊查询;
        /// <summary>
        /// æ“ä½œæ—¶é—´
        /// </summary>
        //表示是 é«˜çº§æŸ¥è¯¢èŒƒå›´æŸ¥è¯¢ç‰¹æ€§
        [HighSearchRangeAttribute]
        public List<string> OperateTime { get; set; }
    /// <summary>
    /// æœºåž‹
    /// </summary>
    public string MaterialModel { get; set; }
    /// <summary>
    /// æœºåž‹-查询关系运算符
    /// </summary>
    public SearchFilterModeEnum MaterialModel_FilterMode { get; set; } = SearchFilterModeEnum.模糊查询;
    /// <summary>
    /// æ“ä½œæ—¶é—´
    /// </summary>
    //表示是 é«˜çº§æŸ¥è¯¢èŒƒå›´æŸ¥è¯¢ç‰¹æ€§
    [HighSearchRangeAttribute]
    public List<string> OperateTime { get; set; }
        /// <summary>
        /// å¤‡æ³¨
        /// </summary>
        public string Remark { get; set; }
    /// <summary>
    /// å¤‡æ³¨
    /// </summary>
    public string Remark { get; set; }
        /// <summary>
        /// å¤‡æ³¨-查询关系运算符
        /// </summary>
        public SearchFilterModeEnum Remark_FilterMode { get; set; }= SearchFilterModeEnum.模糊查询;
    /// <summary>
    /// å¤‡æ³¨-查询关系运算符
    /// </summary>
    public SearchFilterModeEnum Remark_FilterMode { get; set; } = SearchFilterModeEnum.模糊查询;
        /// <summary>
        /// ç‰©æ–™ID
        /// </summary>
        public string MaterialId { get; set; }
    /// <summary>
    /// ç‰©æ–™ID
    /// </summary>
    public string MaterialId { get; set; }
        /// <summary>
        /// ç‰©æ–™ID-查询关系运算符
        /// </summary>
        public SearchFilterModeEnum MaterialId_FilterMode { get; set; }= SearchFilterModeEnum.模糊查询;
    /// <summary>
    /// ç‰©æ–™ID-查询关系运算符
    /// </summary>
    public SearchFilterModeEnum MaterialId_FilterMode { get; set; } = SearchFilterModeEnum.模糊查询;
        /// <summary>
        /// ä»»åŠ¡å·
        /// </summary>
        public string TaskNo { get; set; }
    /// <summary>
    /// ä»»åŠ¡å·
    /// </summary>
    public string TaskNo { get; set; }
        /// <summary>
        /// ä»»åŠ¡å·-查询关系运算符
        /// </summary>
        public SearchFilterModeEnum TaskNo_FilterMode { get; set; }= SearchFilterModeEnum.模糊查询;
    /// <summary>
    /// ä»»åŠ¡å·-查询关系运算符
    /// </summary>
    public SearchFilterModeEnum TaskNo_FilterMode { get; set; } = SearchFilterModeEnum.模糊查询;
        /// <summary>
        /// èµ·å§‹åº“位
        /// </summary>
        public string SourcePlace { get; set; }
    /// <summary>
    /// èµ·å§‹åº“位
    /// </summary>
    public string SourcePlace { get; set; }
        /// <summary>
        /// èµ·å§‹åº“位-查询关系运算符
        /// </summary>
        public SearchFilterModeEnum SourcePlace_FilterMode { get; set; }= SearchFilterModeEnum.模糊查询;
    /// <summary>
    /// èµ·å§‹åº“位-查询关系运算符
    /// </summary>
    public SearchFilterModeEnum SourcePlace_FilterMode { get; set; } = SearchFilterModeEnum.模糊查询;
        /// <summary>
        /// ç›®æ ‡åº“位
        /// </summary>
        public string ToPlace { get; set; }
    /// <summary>
    /// ç›®æ ‡åº“位
    /// </summary>
    public string ToPlace { get; set; }
        /// <summary>
        /// ç›®æ ‡åº“位-查询关系运算符
        /// </summary>
        public SearchFilterModeEnum ToPlace_FilterMode { get; set; }= SearchFilterModeEnum.模糊查询;
    /// <summary>
    /// ç›®æ ‡åº“位-查询关系运算符
    /// </summary>
    public SearchFilterModeEnum ToPlace_FilterMode { get; set; } = SearchFilterModeEnum.模糊查询;
        /// <summary>
        ///
        /// </summary>
        //表示是 é«˜çº§æŸ¥è¯¢èŒƒå›´æŸ¥è¯¢ç‰¹æ€§
        [HighSearchRangeAttribute]
        public List<string> CreationTime { get; set; }
    /// <summary>
    ///
    /// </summary>
    //表示是 é«˜çº§æŸ¥è¯¢èŒƒå›´æŸ¥è¯¢ç‰¹æ€§
    [HighSearchRangeAttribute]
    public List<string> CreationTime { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string CreatorId { get; set; }
    /// <summary>
    ///
    /// </summary>
    public string CreatorId { get; set; }
        /// <summary>
        /// -查询关系运算符
        /// </summary>
        public SearchFilterModeEnum CreatorId_FilterMode { get; set; }= SearchFilterModeEnum.模糊查询;
    /// <summary>
    /// -查询关系运算符
    /// </summary>
    public SearchFilterModeEnum CreatorId_FilterMode { get; set; } = SearchFilterModeEnum.模糊查询;
        /// <summary>
        ///
        /// </summary>
        //表示是 é«˜çº§æŸ¥è¯¢èŒƒå›´æŸ¥è¯¢ç‰¹æ€§
        [HighSearchRangeAttribute]
        public List<string> LastModificationTime { get; set; }
    /// <summary>
    ///
    /// </summary>
    //表示是 é«˜çº§æŸ¥è¯¢èŒƒå›´æŸ¥è¯¢ç‰¹æ€§
    [HighSearchRangeAttribute]
    public List<string> LastModificationTime { get; set; }
        /// <summary>
        ///
        /// </summary>
        public string LastModifierId { get; set; }
    /// <summary>
    ///
    /// </summary>
    public string LastModifierId { get; set; }
        /// <summary>
        /// -查询关系运算符
        /// </summary>
        public SearchFilterModeEnum LastModifierId_FilterMode { get; set; }= SearchFilterModeEnum.模糊查询;
    /// <summary>
    /// -查询关系运算符
    /// </summary>
    public SearchFilterModeEnum LastModifierId_FilterMode { get; set; } = SearchFilterModeEnum.模糊查询;
        /// <summary>
        ///
        /// </summary>
        public bool?  IsDeleted { get; set; }
    /// <summary>
    ///
    /// </summary>
    public bool? IsDeleted { get; set; }
        /// <summary>
        /// -查询关系运算符
        /// </summary>
        public SearchFilterModeEnum IsDeleted_FilterMode { get; set; }= SearchFilterModeEnum.精准查询;
    /// <summary>
    /// -查询关系运算符
    /// </summary>
    public SearchFilterModeEnum IsDeleted_FilterMode { get; set; } = SearchFilterModeEnum.精准查询;
        /// <summary>
        ///
        /// </summary>
        public string DeleterId { get; set; }
    /// <summary>
    ///
    /// </summary>
    public string DeleterId { get; set; }
        /// <summary>
        /// -查询关系运算符
        /// </summary>
        public SearchFilterModeEnum DeleterId_FilterMode { get; set; }= SearchFilterModeEnum.模糊查询;
    /// <summary>
    /// -查询关系运算符
    /// </summary>
    public SearchFilterModeEnum DeleterId_FilterMode { get; set; } = SearchFilterModeEnum.模糊查询;
        /// <summary>
        ///
        /// </summary>
        //表示是 é«˜çº§æŸ¥è¯¢èŒƒå›´æŸ¥è¯¢ç‰¹æ€§
        [HighSearchRangeAttribute]
        public List<string> DeletionTime { get; set; }
    /// <summary>
    ///
    /// </summary>
    //表示是 é«˜çº§æŸ¥è¯¢èŒƒå›´æŸ¥è¯¢ç‰¹æ€§
    [HighSearchRangeAttribute]
    public List<string> DeletionTime { get; set; }
}
}
HIAWms/web/src/components/DyForm/DyForm.tsx
@@ -50,7 +50,7 @@
    },
    labelPosition: {
      type: String,
      default: 'left',
      default: 'right',
    },
    formData: {
      type: Object as PropType<{ [key: string]: any }>,
HIAWms/web/src/widgets/WmsInOutStockRecord/Controllers/WmsInOutStockRecordDrawer.tsx
@@ -1,275 +1,278 @@
import {
  ref,
  onMounted,
  reactive,
  computed,
  Ref,
  watch,
  SetupContext,
  h,
} from 'vue'
import { injectModel } from '@/libs/Provider/Provider'
import { WmsInOutStockRecordDrawer } from '../Models/WmsInOutStockRecordDrawer'
import { ElMessage } from 'element-plus'
import isEqual from 'lodash/isEqual'
import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox'
import { cloneDeep } from 'lodash'
export const useWmsInOutStockRecordDrawer = (props: any, ctx?: any) => {
  const wmsInOutStockRecordDrawer = injectModel<WmsInOutStockRecordDrawer>('wmsInOutStockRecordDrawer')
  /**
   * ç”¨æ¥å¯¹æ¯”的初始化数据
   */
  const initiateData: Ref<Record<string, any>> = ref({})
  const formData = ref<Record<string, any>>({})
  // ref
  const formRef = ref()
  const disabled = ref(false)
  const current = computed(() => {
    return props.row || null
  })
  const inputNumber = (attrs) => {
    return (
      <el-input-number
        min="1"
        step="1"
        precision="0"
        {...attrs}
      ></el-input-number>
    )
  }
  const visible = computed({
    get() {
      return props.modelValue
    },
    set(val) {
      ctx.emit('update:modelValue', val)
    },
  })
  /**
   * æ·»åŠ çš„form字段
   */
  const formItems = reactive([
                    {
                   label: '单据编号',
                   prop: 'orderNo',
                   el: 'input',
                   //disabled: disabled,
                   placeholder: '请输入单据编号',
              rules: [{required: true, message: '单据编号不能为空', trigger: 'blur' }],
                },
                {
                   label: '物料名称',
                   prop: 'materialName',
                   el: 'input',
                   //disabled: disabled,
                   placeholder: '请输入物料名称',
                },
                {
                   label: '物料件号',
                   prop: 'materialNo',
                   el: 'input',
                   //disabled: disabled,
                   placeholder: '请输入物料件号',
              rules: [{required: true, message: '物料件号不能为空', trigger: 'blur' }],
                },
                {
                   label: '操作类型',
                   prop: 'stockType',
                   el: 'select',
                   //disabled: disabled,
                   placeholder: '请输入操作类型',
              rules: [{required: true, message: '操作类型不能为空', trigger: 'blur' }],
                },
                {
                   label: '容器编号',
                   prop: 'containerNo',
                   el: 'input',
                   //disabled: disabled,
                   placeholder: '请输入容器编号',
                },
                {
                   label: '机型',
                   prop: 'materialModel',
                   el: 'input',
                   //disabled: disabled,
                   placeholder: '请输入机型',
                },
                {
                   label: '操作时间',
                   prop: 'operateTime',
                   type: 'datetimerange',
                   el: 'date-picker',
                   //disabled: disabled,
                   placeholder: '请输入操作时间',
                },
                {
                   label: '备注',
                   prop: 'remark',
                   el: 'input',
                   //disabled: disabled,
                   placeholder: '请输入备注',
                },
                {
                   label: '物料ID',
                   prop: 'materialId',
                   el: 'input',
                   //disabled: disabled,
                   placeholder: '请输入物料ID',
              rules: [{required: true, message: '物料ID不能为空', trigger: 'blur' }],
                },
                {
                   label: '任务号',
                   prop: 'taskNo',
                   el: 'input',
                   //disabled: disabled,
                   placeholder: '请输入任务号',
              rules: [{required: true, message: '任务号不能为空', trigger: 'blur' }],
                },
                {
                   label: '起始库位',
                   prop: 'sourcePlace',
                   el: 'input',
                   //disabled: disabled,
                   placeholder: '请输入起始库位',
                },
                {
                   label: '目标库位',
                   prop: 'toPlace',
                   el: 'input',
                   //disabled: disabled,
                   placeholder: '请输入目标库位',
                },
  ])
  /**
   * æ ¡éªŒæ˜¯å¦æœ‰æ•°æ®å˜åŒ–
   */
  const checkIsEqualObject = () => {
    const data = {
      formData: formData.value,
    }
    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(() => {
            onConfirm()
          })
          .catch(() => {
            visible.value = false
            done && done()
          })
      }
    }
  }
  /**
   * ä¿å­˜
   */
  const onConfirm = async () => {
    await formRef.value?.validate()
    const data = {
      orderNo: formData.value.orderNo,
materialName: formData.value.materialName,
materialNo: formData.value.materialNo,
stockType: formData.value.stockType,
containerNo: formData.value.containerNo,
materialModel: formData.value.materialModel,
operateTime: formData.value.operateTime,
remark: formData.value.remark,
materialId: formData.value.materialId,
taskNo: formData.value.taskNo,
sourcePlace: formData.value.sourcePlace,
toPlace: formData.value.toPlace,
    }
    if (!current.value) {
      await wmsInOutStockRecordDrawer.addWmsInOutStockRecord(data)
    } else {
      const id = current.value.id
      await wmsInOutStockRecordDrawer.updateWmsInOutStockRecord(id, data)
    }
    ElMessage.success('保存成功')
    ctx.emit('confirm')
  }
  const updateCheckData = () => {
    initiateData.value = {
      formData: {
        ...formData.value,
      },
    }
  }
  const updateFormItemOptions = (propName: string, enumData: any[]) => {
    const item = formItems.find((item) => item.prop === propName)
    if (item && enumData) {
      item.options = enumData.map((item) => ({
        label: item.description,
        value: item.value,
      }))
    }
  }
  /**
   * é€šç”¨æŸ¥è¯¢æžšä¸¾
   */
  const commonQueryEnumForFrom = async () => {
    const stockTypeEnumEnum = await wmsInOutStockRecordDrawer.getWmsEnumData({
 EnumName: 'StockTypeEnum',
})
updateFormItemOptions('stockType', stockTypeEnumEnum)
  }
  commonQueryEnumForFrom()
  /**
   * å¼¹çª—打开获取详情
   */
  const onOpen = async () => {
    if (current.value) {
      const res = await wmsInOutStockRecordDrawer.getWmsInOutStockRecordDetail(current.value)
      formData.value = {
        orderNo: res.orderNo,
materialName: res.materialName,
materialNo: res.materialNo,
stockType: res.stockType,
containerNo: res.containerNo,
materialModel: res.materialModel,
operateTime: res.operateTime,
remark: res.remark,
materialId: res.materialId,
taskNo: res.taskNo,
sourcePlace: res.sourcePlace,
toPlace: res.toPlace,
        id: res.id,
      }
      disabled.value = true
      updateCheckData()
    } else {
      formData.value = {}
      disabled.value = false
      updateCheckData()
    }
  }
  watch(() => current.value, onOpen)
  return {
    formItems,
    formData,
    visible,
    formRef,
    onOpen,
    onClose,
    onConfirm,
  }
}
import {
  ref,
  onMounted,
  reactive,
  computed,
  Ref,
  watch,
  SetupContext,
  h,
} from 'vue'
import { injectModel } from '@/libs/Provider/Provider'
import { WmsInOutStockRecordDrawer } from '../Models/WmsInOutStockRecordDrawer'
import { ElMessage } from 'element-plus'
import isEqual from 'lodash/isEqual'
import { ConfirmBox } from '@/components/ConfirmBox/ConfirmBox'
import { cloneDeep } from 'lodash'
export const useWmsInOutStockRecordDrawer = (props: any, ctx?: any) => {
  const wmsInOutStockRecordDrawer = injectModel<WmsInOutStockRecordDrawer>(
    'wmsInOutStockRecordDrawer'
  )
  /**
   * ç”¨æ¥å¯¹æ¯”的初始化数据
   */
  const initiateData: Ref<Record<string, any>> = ref({})
  const formData = ref<Record<string, any>>({})
  // ref
  const formRef = ref()
  const disabled = ref(false)
  const current = computed(() => {
    return props.row || null
  })
  const inputNumber = (attrs) => {
    return (
      <el-input-number
        min="1"
        step="1"
        precision="0"
        {...attrs}
      ></el-input-number>
    )
  }
  const visible = computed({
    get() {
      return props.modelValue
    },
    set(val) {
      ctx.emit('update:modelValue', val)
    },
  })
  /**
   * æ·»åŠ çš„form字段
   */
  const formItems = reactive([
    {
      label: '单据编号',
      prop: 'orderNo',
      el: 'input',
      //disabled: disabled,
      placeholder: '请输入单据编号',
      rules: [{ required: true, message: '单据编号不能为空', trigger: 'blur' }],
    },
    {
      label: '物料名称',
      prop: 'materialName',
      el: 'input',
      //disabled: disabled,
      placeholder: '请输入物料名称',
    },
    {
      label: '物料件号',
      prop: 'materialNo',
      el: 'input',
      //disabled: disabled,
      placeholder: '请输入物料件号',
      rules: [{ required: true, message: '物料件号不能为空', trigger: 'blur' }],
    },
    {
      label: '操作类型',
      prop: 'stockType',
      el: 'select',
      //disabled: disabled,
      placeholder: '请输入操作类型',
      rules: [{ required: true, message: '操作类型不能为空', trigger: 'blur' }],
    },
    {
      label: '容器编号',
      prop: 'containerNo',
      el: 'input',
      //disabled: disabled,
      placeholder: '请输入容器编号',
    },
    {
      label: '机型',
      prop: 'materialModel',
      el: 'input',
      //disabled: disabled,
      placeholder: '请输入机型',
    },
    {
      label: '操作时间',
      prop: 'operateTime',
      type: 'datetimerange',
      el: 'date-picker',
      //disabled: disabled,
      placeholder: '请输入操作时间',
    },
    {
      label: '备注',
      prop: 'remark',
      el: 'input',
      //disabled: disabled,
      placeholder: '请输入备注',
    },
    {
      label: '物料ID',
      prop: 'materialId',
      el: 'input',
      //disabled: disabled,
      placeholder: '请输入物料ID',
      rules: [{ required: true, message: '物料ID不能为空', trigger: 'blur' }],
    },
    {
      label: '任务号',
      prop: 'taskNo',
      el: 'input',
      //disabled: disabled,
      placeholder: '请输入任务号',
      rules: [{ required: true, message: '任务号不能为空', trigger: 'blur' }],
    },
    {
      label: '起始库位',
      prop: 'sourcePlace',
      el: 'input',
      //disabled: disabled,
      placeholder: '请输入起始库位',
    },
    {
      label: '目标库位',
      prop: 'toPlace',
      el: 'input',
      //disabled: disabled,
      placeholder: '请输入目标库位',
    },
  ])
  /**
   * æ ¡éªŒæ˜¯å¦æœ‰æ•°æ®å˜åŒ–
   */
  const checkIsEqualObject = () => {
    const data = {
      formData: formData.value,
    }
    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(() => {
            onConfirm()
          })
          .catch(() => {
            visible.value = false
            done && done()
          })
      }
    }
  }
  /**
   * ä¿å­˜
   */
  const onConfirm = async () => {
    await formRef.value?.validate()
    const data = {
      orderNo: formData.value.orderNo,
      materialName: formData.value.materialName,
      materialNo: formData.value.materialNo,
      stockType: formData.value.stockType,
      containerNo: formData.value.containerNo,
      materialModel: formData.value.materialModel,
      operateTime: formData.value.operateTime,
      remark: formData.value.remark,
      materialId: formData.value.materialId,
      taskNo: formData.value.taskNo,
      sourcePlace: formData.value.sourcePlace,
      toPlace: formData.value.toPlace,
    }
    if (!current.value) {
      await wmsInOutStockRecordDrawer.addWmsInOutStockRecord(data)
    } else {
      const id = current.value.id
      await wmsInOutStockRecordDrawer.updateWmsInOutStockRecord(id, data)
    }
    ElMessage.success('保存成功')
    ctx.emit('confirm')
  }
  const updateCheckData = () => {
    initiateData.value = {
      formData: {
        ...formData.value,
      },
    }
  }
  const updateFormItemOptions = (propName: string, enumData: any[]) => {
    const item = formItems.find((item) => item.prop === propName)
    if (item && enumData) {
      item.options = enumData.map((item) => ({
        label: item.description,
        value: item.value,
      }))
    }
  }
  /**
   * é€šç”¨æŸ¥è¯¢æžšä¸¾
   */
  const commonQueryEnumForFrom = async () => {
    const stockTypeEnumEnum = await wmsInOutStockRecordDrawer.getWmsEnumData({
      EnumName: 'StockTypeEnum',
    })
    updateFormItemOptions('stockType', stockTypeEnumEnum)
  }
  commonQueryEnumForFrom()
  /**
   * å¼¹çª—打开获取详情
   */
  const onOpen = async () => {
    if (current.value) {
      const res = await wmsInOutStockRecordDrawer.getWmsInOutStockRecordDetail(
        current.value
      )
      formData.value = {
        orderNo: res.orderNo,
        materialName: res.materialName,
        materialNo: res.materialNo,
        stockType: res.stockType,
        containerNo: res.containerNo,
        materialModel: res.materialModel,
        operateTime: res.operateTime,
        remark: res.remark,
        materialId: res.materialId,
        taskNo: res.taskNo,
        sourcePlace: res.sourcePlace,
        toPlace: res.toPlace,
        id: res.id,
      }
      disabled.value = true
      updateCheckData()
    } else {
      formData.value = {}
      disabled.value = false
      updateCheckData()
    }
  }
  watch(() => current.value, onOpen)
  return {
    formItems,
    formData,
    visible,
    formRef,
    onOpen,
    onClose,
    onConfirm,
  }
}
HIAWms/web/src/widgets/WmsStoreInfo/Views/Pages/WmsArea/WmsArea.module.scss
@@ -15,7 +15,7 @@
  .header {
    margin-bottom: 12px;
    display: flex;
    justify-content: flex-start;
    justify-content: flex-start !important;
    align-items: center;
  }
}
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/DataBaseFactory/Default/MySqlDataBaseServiceHandle.cs
@@ -15,7 +15,7 @@
            //string strSql = $"SELECT COLUMN_NAME as ColumnName, COLUMN_TYPE as DataType, IS_NULLABLE as IsNullable, CHARACTER_MAXIMUM_LENGTH as DataLength,COLUMN_COMMENT as Description " +
            //                       $"FROM INFORMATION_SCHEMA.COLUMNS " +
            //                       $"WHERE  TABLE_NAME = '{tableName}'";
            string strSql = $"SELECT c.COLUMN_NAME as ColumnName, c.DATA_TYPE as DataType, c.IS_NULLABLE as IsNullable, c.CHARACTER_MAXIMUM_LENGTH as DataLength, c.COLUMN_COMMENT as Description, " +
            string strSql = $"SELECT c.COLUMN_NAME as ColumnName, c.DATA_TYPE as DataType, c.IS_NULLABLE as IsNullable, c.CHARACTER_MAXIMUM_LENGTH as DataLength, c.COLUMN_COMMENT as Description,c.NUMERIC_SCALE as MyPrecision, " +
                $"CASE WHEN kcu.COLUMN_NAME IS NOT NULL THEN 'true' ELSE 'false' END AS IsPrimaryKey " +
                $"FROM INFORMATION_SCHEMA.COLUMNS c " +
                $"LEFT JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE kcu " +
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/DataBaseFactory/Default/SqlServerDataBaseServiceHandle.cs
@@ -28,7 +28,7 @@
    where ic.object_id=obj.object_id
    and ic.column_id=col.column_id
) as IsPrimaryKey,
col.Precision,
col.Precision as MyPrecision,
col.Scale 
from sys.objects obj
inner join sys.columns col
@@ -72,7 +72,7 @@
                        model = new ColumnModel();
                        if (dt.Rows[n]["Precision"].ToString() != "")
                        {
                            model.Precision = int.Parse(dt.Rows[n]["Precision"].ToString());
                            model.MyPrecision = int.Parse(dt.Rows[n]["Precision"].ToString());
                        }
                        if (dt.Rows[n]["Scale"].ToString() != "")
                        {
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Model/ColumnModell.cs
@@ -40,7 +40,7 @@
        /// </summary>
        public bool IsPrimaryKey { get; set; }
        public int Precision { get; set; }
        public int? MyPrecision { get; set; }
        public int Scale { get; set; }
    }
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Templete/Web/Views/Pages/EntityNameClass/EntityNameClass_moduleÄ£°å.txt
@@ -15,7 +15,7 @@
  .header {
    margin-bottom: 12px;
    display: flex;
    justify-content: flex-start;
    justify-content: flex-end;
    align-items: center;
  }
}
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Utility/StructStrHelper.cs
@@ -85,7 +85,7 @@
                        model = new ColumnModel();
                        if (dt.Rows[n]["Precision"].ToString() != "")
                        {
                            model.Precision = int.Parse(dt.Rows[n]["Precision"].ToString());
                            model.MyPrecision = int.Parse(dt.Rows[n]["Precision"].ToString());
                        }
                        if (dt.Rows[n]["Scale"].ToString() != "")
                        {
@@ -887,7 +887,7 @@
                    case DataTypeEnum.dt_decimal:
                    case DataTypeEnum.dt_float:
                        sql.Append("@" + attrColumnName + "  " + columnModel.DataType
                            + "(" + columnModel.Precision.ToString() + "," + columnModel.Scale.ToString() + ")  " + fuhao + "\n");
                            + "(" + columnModel.MyPrecision.ToString() + "," + columnModel.Scale.ToString() + ")  " + fuhao + "\n");
                        break;
                    default:
                        break;
@@ -949,7 +949,7 @@
                    case DataTypeEnum.dt_decimal:
                    case DataTypeEnum.dt_float:
                        sql.Append("@" + attrColumnName + "  " + columnModel.DataType
                            + "(" + columnModel.Precision.ToString() + "," + columnModel.Scale.ToString() + ")  " + fuhao + "\n");
                            + "(" + columnModel.MyPrecision.ToString() + "," + columnModel.Scale.ToString() + ")  " + fuhao + "\n");
                        break;
                    default:
                        break;
@@ -1010,7 +1010,7 @@
                    case DataTypeEnum.dt_decimal:
                    case DataTypeEnum.dt_float:
                        sql.Append("@" + attrColumnName + "  " + columnModel.DataType
                            + "(" + columnModel.Precision.ToString() + "," + columnModel.Scale.ToString() + ")  " + fuhao);
                            + "(" + columnModel.MyPrecision.ToString() + "," + columnModel.Scale.ToString() + ")  " + fuhao);
                        break;
                    default:
                        break;