zs
2025-05-08 6fdc4532c471a6a9b88fb519931367649abfd491
Weben_CMSרÓôúÂëÉú³ÉÆ÷/Code/Utility/StructStrHelper.cs
@@ -1796,7 +1796,7 @@
                    {
                        case DataTypeEnum.dt_bit:
                        case DataTypeEnum.dt_tinyint:
                            sb.Append("                 options: [{label: '是',value: 'true'}, {label: '否',value: 'false'}] \n");
                            sb.Append("                 options: [{label: '是',value: true}, {label: '否',value: false}] \n");
                            break;
                        default:
                            break;
@@ -1845,9 +1845,9 @@
                    var elment = "input";
                    switch (enumDT)
                    {
                        case DataTypeEnum.dt_datetime:
                            elment = "date-picker";
                            break;
                        //case DataTypeEnum.dt_datetime:
                        //    elment = "date-picker";
                        //    break;
                        case DataTypeEnum.dt_bit:
                        case DataTypeEnum.dt_tinyint:
                            elment = "select";
@@ -1860,16 +1860,36 @@
                    sb.Append("                   prop: '" + low_prop_ColumnName + "', \n");
                    //添加类型
                    switch (enumDT)
                    //switch (enumDT)
                    //{
                    //    case DataTypeEnum.dt_datetime:
                    //        sb.Append("                   el: (props: any, { attrs }: SetupContext) => { \n");
                    //        sb.Append("                     return h(datePicker, {  \n");
                    //        sb.Append("                       ...props,  \n");
                    //        sb.Append("                       clearable: true,  \n");
                    //        sb.Append("                       ...attrs,  \n");
                    //        sb.Append("                     })  \n");
                    //        sb.Append("                   },\n");
                    //        sb.Append("                   width: '100%',\n");
                    //        break;
                    //    default:
                    //        break;
                    //}
                    if (enumDT == DataTypeEnum.dt_datetime)
                    {
                        case DataTypeEnum.dt_datetime:
                            sb.Append("                   type: 'datetimerange', \n");
                            break;
                        default:
                            break;
                        sb.Append("                   el: (props: any, { attrs }: SetupContext) => { \n");
                        sb.Append("                     return h(datePicker, {  \n");
                        sb.Append("                       ...props,  \n");
                        sb.Append("                       clearable: true,  \n");
                        sb.Append("                       ...attrs,  \n");
                        sb.Append("                     })  \n");
                        sb.Append("                   },\n");
                        sb.Append("                   width: '100%',\n");
                    }
                    if (enumDT == DataTypeEnum.dt_decimal)
                    else if (enumDT == DataTypeEnum.dt_decimal)
                    {
                        sb.Append("                   el: (props: any, { attrs }: SetupContext) => { \n");
                        sb.Append("                     return h(inputNumber, {  \n");
@@ -1879,12 +1899,14 @@
                        sb.Append("                     })  \n");
                        sb.Append("                   },\n");
                        sb.Append("                   width: '100%',\n");
                        //配置精度?这里需要获取数据库中的精度!!!TODO:
                        sb.Append("                   step: 0.01,\n");
                        sb.Append("                   precision: 2, \n");
                    }
                    else if (enumDT == DataTypeEnum.dt_int)
                    {
                        bool isWriteInt = true;
                        //判断是否是下拉类型
                        //增加对枚举类型的支持 
                        if (param.EnumList?.Count > 0)
@@ -1894,9 +1916,11 @@
                            {
                                elment = "select";
                                sb.Append("                   el: '" + elment + "', \n");
                                sb.Append("                   options: [], \n");
                                isWriteInt = false;
                            }
                        }
                        else
                        if (isWriteInt)
                        {
                            sb.Append("                   el: (props: any, { attrs }: SetupContext) => { \n");
                            sb.Append("                     return h(inputNumber, {  \n");
@@ -1905,7 +1929,7 @@
                            sb.Append("                       ...attrs,  \n");
                            sb.Append("                     })  \n");
                            sb.Append("                   },\n");
                            sb.Append("                   width: '100%',\n");
                            //配置精度?
                            sb.Append("                   step: 1,\n");
                            sb.Append("                   precision: 0, \n");
@@ -1923,15 +1947,15 @@
                        sb.Append("              rules: [{required: true, message: '" + columnModel.Description + "不能为空', trigger: 'blur' }], \n");
                    }
                    //添加类型
                    //switch (enumDT)
                    //{
                    //    case DataTypeEnum.dt_bit:
                    //    case DataTypeEnum.dt_tinyint:
                    //        sb.Append("                 options: [{label: '是',value: 'true'}, {label: '否',value: 'false'}] \n");
                    //        break;
                    //    default:
                    //        break;
                    //}
                    switch (enumDT)
                    {
                        case DataTypeEnum.dt_bit:
                        case DataTypeEnum.dt_tinyint:
                            sb.Append("                 options: [{label: '是',value: true}, {label: '否',value: false}] \n");
                            break;
                        default:
                            break;
                    }
                    sb.Append("                }, \n");
                }
                //去掉最后一个,
@@ -1964,8 +1988,8 @@
      placeholder: '请输入物料编码',
    },
                 */
                List<ColumnModel> newList = ListHelper.RemoveForPageAddFormAttributes(columnModelList);
                foreach (var columnModel in newList)
                //List<ColumnModel> newList = ListHelper.RemoveForPageAddFormAttributes(columnModelList);
                foreach (var columnModel in columnModelList)
                {
                    //首字母小写
                    var low_prop_ColumnName = CommonHelper.FirstLowercase(columnModel.ColumnName);
@@ -1973,9 +1997,9 @@
                    var elment = "input";
                    switch (enumDT)
                    {
                        case DataTypeEnum.dt_datetime:
                            elment = "date-picker";
                            break;
                        //case DataTypeEnum.dt_datetime:
                        //    elment = "date-picker";
                        //    break;
                        case DataTypeEnum.dt_bit:
                        case DataTypeEnum.dt_tinyint:
                            elment = "select";
@@ -1988,16 +2012,35 @@
                    sb.Append("                   prop: '" + low_prop_ColumnName + "', \n");
                    //添加类型
                    switch (enumDT)
                    {
                        case DataTypeEnum.dt_datetime:
                            sb.Append("                   type: 'datetimerange', \n");
                            break;
                        default:
                            break;
                    }
                    //switch (enumDT)
                    //{
                    //    case DataTypeEnum.dt_datetime:
                    //        sb.Append("                   el: (props: any, { attrs }: SetupContext) => { \n");
                    //        sb.Append("                     return h(dateTimePickerRange, {  \n");
                    //        sb.Append("                       ...props,\n");
                    //        sb.Append("                       clearable: true, \n");
                    //        sb.Append("                       ...attrs,  \n");
                    //        sb.Append("                     })  \n");
                    //        sb.Append("                   },\n");
                    if (enumDT == DataTypeEnum.dt_decimal)
                    //        sb.Append("                   width: '100%',\n");
                    //        break;
                    //    default:
                    //        break;
                    //}
                    if (enumDT == DataTypeEnum.dt_datetime)
                    {
                        sb.Append("                   el: (props: any, { attrs }: SetupContext) => { \n");
                        sb.Append("                     return h(dateTimePickerRange, {  \n");
                        sb.Append("                       ...props,\n");
                        sb.Append("                       clearable: true, \n");
                        sb.Append("                       ...attrs,  \n");
                        sb.Append("                     })  \n");
                        sb.Append("                   },\n");
                        sb.Append("                   width: '100%',\n");
                    }
                    else if (enumDT == DataTypeEnum.dt_decimal)
                    {
                        sb.Append("                   el: (props: any, { attrs }: SetupContext) => { \n");
                        sb.Append("                     return h(inputNumber, {  \n");
@@ -2007,12 +2050,14 @@
                        sb.Append("                     })  \n");
                        sb.Append("                   },\n");
                        sb.Append("                   width: '100%',\n");
                        //配置精度?这里需要获取数据库中的精度!!!TODO:
                        sb.Append("                   step: 0.01,\n");
                        sb.Append("                   precision: 2, \n");
                    }
                    else if (enumDT == DataTypeEnum.dt_int)
                    {
                        bool isWriteInt = true;
                        //判断是否是下拉类型
                        //增加对枚举类型的支持 
                        if (param.EnumList?.Count > 0)
@@ -2022,9 +2067,11 @@
                            {
                                elment = "select";
                                sb.Append("                   el: '" + elment + "', \n");
                                sb.Append("                   option: [], \n");
                                isWriteInt = false;
                            }
                        }
                        else
                        if (isWriteInt)
                        {
                            sb.Append("                   el: (props: any, { attrs }: SetupContext) => { \n");
                            sb.Append("                     return h(inputNumber, {  \n");
@@ -2034,6 +2081,7 @@
                            sb.Append("                     })  \n");
                            sb.Append("                   },\n");
                            sb.Append("                   width: '100%',\n");
                            //配置精度?
                            sb.Append("                   step: 1,\n");
                            sb.Append("                   precision: 0, \n");
@@ -2048,15 +2096,15 @@
                    sb.Append("                   placeholder: '请输入" + columnModel.Description + "', \n");
                    //添加类型
                    //switch (enumDT)
                    //{
                    //    case DataTypeEnum.dt_bit:
                    //    case DataTypeEnum.dt_tinyint:
                    //        sb.Append("                 options: [{label: '是',value: 'true'}, {label: '否',value: 'false'}] \n");
                    //        break;
                    //    default:
                    //        break;
                    //}
                    switch (enumDT)
                    {
                        case DataTypeEnum.dt_bit:
                        case DataTypeEnum.dt_tinyint:
                            sb.Append("                 options: [{label: '是',value: true}, {label: '否',value: false}] \n");
                            break;
                        default:
                            break;
                    }
                    sb.Append("                }, \n");
                }
                //去掉最后一个,
@@ -2192,10 +2240,15 @@
                /*
                  materialCode: formData.value.materialCode,
                 */
                List<ColumnModel> newList = ListHelper.RemoveForPageAddFormAttributes(columnModelList);
                List<ColumnModel> newList = ListHelper.RemoveAttrForQueryMode(columnModelList);
                foreach (var columnModel in newList)
                {
                    sb.Append($"{columnModel.ColumnName}: formData.value.{columnModel.ColumnName}, \n");
                    //首字母小写
                    var low_prop_ColumnName = CommonHelper.FirstLowercase(columnModel.ColumnName);
                    sb.Append($"{low_prop_ColumnName}: formData.value.{low_prop_ColumnName} || '', \n");
                }
                //去掉最后一个,
                var res = sb.ToString();
@@ -2319,6 +2372,81 @@
                        var _enumAttrName = CommonHelper.FirstLowercase(item.EnumAttrName);
                        sb.Append(_enumAttrName + ": [] as Array<{label: string; value: any }>, \n");
                    }
                    //去掉最后一个,
                    var res = sb.ToString();
                    res = res.Substring(0, res.Length - 1);
                    return res;
                }
                else
                {
                    return "";
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public static string GetVueFormOptionsStrForPageAdd_QueryTableListForBool(List<ColumnModel> columnModelList, GenerateCodeParam param)
        {
            StringBuilder sb = new StringBuilder();
            try
            {
                /*
                isRead: ({ row }: any) => {
                return (
                  <div>
                    {row.isRead != null ? (row.isRead ? '是' : '否') : '-'}
                  </div>
                )
              },
                creationTime: ({ row }: any) => {
                return (
                  <div>
                    {row.creationTime != null
                      ? dayjs(row.creationTime).format('YYYY-MM-DD HH:mm:ss')
                      : '-'}
                  </div>
                )
              },
                 */
                foreach (var columnModel in columnModelList)
                {
                    //属性小写
                    var instanceColumnName = CommonHelper.FirstLowercase(columnModel.ColumnName);
                    //获取数据类型
                    DataTypeEnum enumDT = (DataTypeEnum)Enum.Parse(typeof(DataTypeEnum), "dt_" + columnModel.DataType.ToString());
                    switch (enumDT)
                    {
                        case DataTypeEnum.dt_datetime:
                            sb.Append(instanceColumnName + ": ({ row }: any) => { \n");
                            sb.Append(" return ( \n");
                            sb.Append("   <div>  \n");
                            sb.Append("     {row." + instanceColumnName + " != null \n");
                            sb.Append("     ? dayjs(row." + instanceColumnName + ").format('YYYY-MM-DD HH:mm:ss') \n");
                            sb.Append("      : '-'} \n");
                            sb.Append("   </div>  \n");
                            sb.Append("  ) \n");
                            sb.Append("},\n");
                            break;
                        case DataTypeEnum.dt_bit:
                        case DataTypeEnum.dt_tinyint:
                            sb.Append(instanceColumnName + ": ({ row }: any) => { \n");
                            sb.Append(" return ( \n");
                            sb.Append("   <div>  \n");
                            sb.Append("     {row." + instanceColumnName + " != null ? (row." + instanceColumnName + " ? '是' : '否') : '-'} \n");
                            sb.Append("   </div>  \n");
                            sb.Append("  ) \n");
                            sb.Append("},\n");
                            break;
                    }
                }
                //去掉最后一个,