diff --git a/ZR.Admin.WebApi/Controllers/UploadController.cs b/ZR.Admin.WebApi/Controllers/UploadController.cs index f1dece4..3762e45 100644 --- a/ZR.Admin.WebApi/Controllers/UploadController.cs +++ b/ZR.Admin.WebApi/Controllers/UploadController.cs @@ -6,7 +6,6 @@ using Microsoft.Extensions.Options; using System; using System.IO; using ZR.Admin.WebApi.Filters; -using ZR.Common; namespace ZR.Admin.WebApi.Controllers { diff --git a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/VueTemplate.txt b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/VueTemplate.txt index 3c8781c..1542bd4 100644 --- a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/VueTemplate.txt +++ b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/VueTemplate.txt @@ -148,7 +148,7 @@ export default { // 多选框选中数据 handleSelectionChange(selection) { this.ids = selection.map((item) => item.{PrimaryKey}); - this.single = selection.length !=1 + this.single = selection.length != 1 this.multiple = !selection.length; }, /** 搜索按钮操作 */ @@ -174,14 +174,13 @@ export default { this.reset(); const {PrimaryKey} = row.{PrimaryKey} || this.ids; get{ModelTypeName}({PrimaryKey}).then((res) => { - if(res.code == 200){ + if (res.code == 200) { this.form = res.data; this.open = true; this.title = "修改数据"; } }); }, - beforeFileUpload(file) { }, {vueJsMethod} /** 提交按钮 */ submitForm: function () { diff --git a/ZR.CodeGenerator/CodeGenerateTemplate.cs b/ZR.CodeGenerator/CodeGenerateTemplate.cs index 1f6d2fe..ae4cc9e 100644 --- a/ZR.CodeGenerator/CodeGenerateTemplate.cs +++ b/ZR.CodeGenerator/CodeGenerateTemplate.cs @@ -87,8 +87,9 @@ namespace ZR.CodeGenerator /// 生成vuejs模板,目前只有上传文件方法 /// /// + /// /// - public static string GetVueJsMethod(GenTableColumn dbFieldInfo) + public static void TplVueJsMethod(GenTableColumn dbFieldInfo, ReplaceDto replaceDto) { string columnName = dbFieldInfo.ColumnName; var sb = new StringBuilder(); @@ -100,6 +101,8 @@ namespace ZR.CodeGenerator sb.AppendLine($" this.form.{columnName} = URL.createObjectURL(file.raw);"); sb.AppendLine($" // this.$refs.upload.clearFiles();"); sb.AppendLine($" }},"); + replaceDto.VueBeforeUpload = TplJsBeforeUpload(); + replaceDto.VueUploadUrl = TplJsUploadUrl(); } //有下拉框选项初列表查询数据 if ((dbFieldInfo.HtmlType == GenConstants.HTML_SELECT || dbFieldInfo.HtmlType == GenConstants.HTML_RADIO) && !string.IsNullOrEmpty(dbFieldInfo.DictType)) @@ -109,7 +112,7 @@ namespace ZR.CodeGenerator sb.AppendLine(@$" return this.selectDictLabel(this.{columnName}Options, row.{columnName});"); sb.AppendLine(@" },"); } - return sb.ToString(); + replaceDto.VueJsMethod += sb.ToString(); } /// @@ -117,7 +120,7 @@ namespace ZR.CodeGenerator /// /// /// - public static string GetFormRules(GenTableColumn dbFieldInfo) + public static string TplFormRules(GenTableColumn dbFieldInfo) { StringBuilder sbRule = new StringBuilder(); //Rule 规则验证 @@ -137,7 +140,7 @@ namespace ZR.CodeGenerator /// /// /// - public static string GetVueViewFormContent(GenTableColumn dbFieldInfo) + public static string TplVueFormContent(GenTableColumn dbFieldInfo) { string columnName = dbFieldInfo.ColumnName; string labelName = CodeGeneratorTool.GetLabelName(dbFieldInfo.ColumnComment, columnName); @@ -174,8 +177,8 @@ namespace ZR.CodeGenerator //图片 sb.AppendLine(" "); sb.AppendLine($" "); - sb.AppendLine($" "); - sb.AppendLine($" "); + sb.AppendLine($" "); + sb.AppendLine($" "); sb.AppendLine(" "); sb.AppendLine(" "); sb.AppendLine($" "); @@ -249,7 +252,7 @@ namespace ZR.CodeGenerator /// /// /// - public static string GetQueryFormHtml(GenTableColumn dbFieldInfo) + public static string TplQueryFormHtml(GenTableColumn dbFieldInfo) { StringBuilder sb = new(); string labelName = CodeGeneratorTool.GetLabelName(dbFieldInfo.ColumnComment, dbFieldInfo.ColumnName); @@ -276,7 +279,7 @@ namespace ZR.CodeGenerator /// /// /// - public static string GetTableColumn(GenTableColumn dbFieldInfo) + public static string TplTableColumn(GenTableColumn dbFieldInfo) { string columnName = dbFieldInfo.ColumnName; string label = CodeGeneratorTool.GetLabelName(dbFieldInfo.ColumnComment, columnName); @@ -307,6 +310,36 @@ namespace ZR.CodeGenerator return sb.ToString(); } + /// + /// 文件上传前方法判断 + /// + /// + public static string TplJsBeforeUpload() + { + StringBuilder sb = new StringBuilder(); + sb.AppendLine(@" //文件上传前判断方法"); + sb.AppendLine(@" beforeFileUpload(file) {"); + sb.AppendLine(@" const isJPG = file.type === ""image/jpeg"";"); + sb.AppendLine(@" const isLt2M = file.size / 1024 / 1024 < 2;"); + sb.AppendLine(@" if (!isJPG) {"); + sb.AppendLine(@" this.msgError(""上传图片只能是 JPG 格式!"");"); + sb.AppendLine(@" }"); + sb.AppendLine(@" if (!isLt2M) {"); + sb.AppendLine(@" this.msgError(""上传图片大小不能超过 2MB!"");"); + sb.AppendLine(@" }"); + sb.AppendLine(@" return isJPG && isLt2M;"); + sb.AppendLine(@" },"); + + return sb.ToString(); + } + public static string TplJsUploadUrl() + { + StringBuilder sb = new StringBuilder(); + sb.AppendLine(@" //文件上传前判断方法"); + sb.AppendLine(@" uploadUrl: process.env.VUE_APP_BASE_API + ""/upload/SaveFile/"","); + + return sb.ToString(); + } #endregion public static string QueryExp(string propertyName, string queryType) diff --git a/ZR.CodeGenerator/CodeGeneratorTool.cs b/ZR.CodeGenerator/CodeGeneratorTool.cs index 020d590..4baec86 100644 --- a/ZR.CodeGenerator/CodeGeneratorTool.cs +++ b/ZR.CodeGenerator/CodeGeneratorTool.cs @@ -102,15 +102,17 @@ namespace ZR.CodeGenerator CodeGenerateTemplate.GetQueryDtoProperty(dbFieldInfo, replaceDto); replaceDto.ModelProperty += CodeGenerateTemplate.GetModelTemplate(dbFieldInfo); - replaceDto.VueViewFormHtml += CodeGenerateTemplate.GetVueViewFormContent(dbFieldInfo); - replaceDto.VueJsMethod += CodeGenerateTemplate.GetVueJsMethod(dbFieldInfo); - replaceDto.VueViewListHtml += CodeGenerateTemplate.GetTableColumn(dbFieldInfo); - replaceDto.VueViewEditFormRuleContent += CodeGenerateTemplate.GetFormRules(dbFieldInfo); + replaceDto.VueViewFormHtml += CodeGenerateTemplate.TplVueFormContent(dbFieldInfo); + CodeGenerateTemplate.TplVueJsMethod(dbFieldInfo, replaceDto); + replaceDto.VueViewListHtml += CodeGenerateTemplate.TplTableColumn(dbFieldInfo); + replaceDto.VueViewEditFormRuleContent += CodeGenerateTemplate.TplFormRules(dbFieldInfo); replaceDto.InputDtoProperty += CodeGenerateTemplate.GetDtoProperty(dbFieldInfo); - replaceDto.VueQueryFormHtml += CodeGenerateTemplate.GetQueryFormHtml(dbFieldInfo); + replaceDto.VueQueryFormHtml += CodeGenerateTemplate.TplQueryFormHtml(dbFieldInfo); } replaceDto.VueDataContent = sb1.ToString(); replaceDto.MountedMethod = sb2.ToString(); + replaceDto.VueJsMethod += replaceDto.VueBeforeUpload; + replaceDto.VueDataContent += replaceDto.VueUploadUrl; replaceDto.PKName = PKName; replaceDto.PKType = PKType; @@ -526,7 +528,7 @@ namespace ZR.CodeGenerator genTableColumn.HtmlType = GenConstants.HTML_TEXTAREA; } //编辑字段 - if (column.IsIdentity || column.IsPrimarykey || GenConstants.COLUMNNAME_NOT_EDIT.Any(f => column.DbColumnName.Contains(f)) ) + if (column.IsIdentity || column.IsPrimarykey || GenConstants.COLUMNNAME_NOT_EDIT.Any(f => column.DbColumnName.Contains(f))) { genTableColumn.IsEdit = false; } diff --git a/ZR.CodeGenerator/Model/ReplaceDto.cs b/ZR.CodeGenerator/Model/ReplaceDto.cs index dfe538d..ca3ea07 100644 --- a/ZR.CodeGenerator/Model/ReplaceDto.cs +++ b/ZR.CodeGenerator/Model/ReplaceDto.cs @@ -97,6 +97,14 @@ namespace ZR.CodeGenerator.Model /// vue组件导入 /// public string VueComponentImport { get; set; } = ""; + /// + /// 上传前js + /// + public string VueBeforeUpload { get; set; } + /// + /// 上传URL data + /// + public string VueUploadUrl { get; set; } public string Author { get; set; } public string AddTime { get; set; } = DateTime.Now.ToString("yyyy-MM-dd"); } diff --git a/ZR.Model/System/Generate/GenTableColumn.cs b/ZR.Model/System/Generate/GenTableColumn.cs index 8c1c284..38ba31b 100644 --- a/ZR.Model/System/Generate/GenTableColumn.cs +++ b/ZR.Model/System/Generate/GenTableColumn.cs @@ -10,9 +10,9 @@ namespace ZR.Model.System.Generate /// [SqlSugar.SugarTable("gen_table_column")] [SqlSugar.Tenant("0")] - public class GenTableColumn: SysBase + public class GenTableColumn : SysBase { - [SqlSugar.SugarColumn(IsIdentity = true, IsPrimaryKey = true)] + [SqlSugar.SugarColumn(IsIdentity = true, IsPrimaryKey = true)] public int ColumnId { get; set; } public string ColumnName { get; set; } [SqlSugar.SugarColumn(IsOnlyIgnoreUpdate = true)] @@ -66,7 +66,7 @@ namespace ZR.Model.System.Generate /// /// 字典集合 /// - [SqlSugar.SugarColumn(IsIgnore = true)] - public List DictDatas { get; set; } + //[SqlSugar.SugarColumn(IsIgnore = true)] + //public List DictDatas { get; set; } } }