diff --git a/ZR.Admin.WebApi/Template/InputDtoTemplate.txt b/ZR.Admin.WebApi/Template/InputDtoTemplate.txt index 0997795..656cdad 100644 --- a/ZR.Admin.WebApi/Template/InputDtoTemplate.txt +++ b/ZR.Admin.WebApi/Template/InputDtoTemplate.txt @@ -15,7 +15,7 @@ namespace {DtosNamespace}.Dto public class {ModelTypeName}QueryDto: PagerInfo { - - + public DateTime? BeginTime { get; set; } + public DateTime? EndTime { get; set; } } } diff --git a/ZR.Admin.WebApi/Template/VueTemplate.txt b/ZR.Admin.WebApi/Template/VueTemplate.txt index 421fa82..08a3ce8 100644 --- a/ZR.Admin.WebApi/Template/VueTemplate.txt +++ b/ZR.Admin.WebApi/Template/VueTemplate.txt @@ -1,38 +1,31 @@  - + - - + + {VueViewFormContent} @@ -89,6 +82,7 @@ export default { data() { return { labelWidth: "100px", + formLabelWidth:"100px", // 选中数组 ids: [], // 非单个禁用 @@ -161,6 +155,7 @@ export default { this.resetForm("queryForm"); this.queryParams = { pageNum: 1, + pageSize: 20, //TODO 重置字段 }; }, @@ -170,6 +165,12 @@ export default { this.single = selection.length!=1 this.multiple = !selection.length; }, + /** 选择每页显示数量*/ + handleSizeChange(val) { + this.queryParams.pageSize = val; + this.queryParams.pageNum = 1; + this.handleQuery(); + }, /** 搜索按钮操作 */ handleQuery() { this.getList(); @@ -179,8 +180,6 @@ export default { this.reset(); this.open = true; this.title = "添加"; - - //TODO 业务代码 }, /** 删除按钮操作 */ handleDelete(row) { @@ -201,6 +200,9 @@ export default { } }); }, + beforeFileUpload(file) { }, + //文件上传成功方法 + {vueJsMethod} /** 提交按钮 */ submitForm: function () { this.$refs["form"].validate((valid) => { @@ -230,4 +232,14 @@ export default { .table-td-thumb { width: 80px; } +.icon { + width: 100px; +} +.uploader-icon { + width: 50px; + height: 50px; + line-height: 50px; + border: 1px dashed #ccc; + margin-bottom: 10px; +} diff --git a/ZR.CodeGenerator/CodeGenerateTemplate.cs b/ZR.CodeGenerator/CodeGenerateTemplate.cs new file mode 100644 index 0000000..e8c1796 --- /dev/null +++ b/ZR.CodeGenerator/CodeGenerateTemplate.cs @@ -0,0 +1,152 @@ +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using ZR.CodeGenerator.CodeGenerator; + +namespace ZR.CodeGenerator +{ + public class CodeGenerateTemplate + { + #region Template + + public static string GetVueJsMethod(DbColumnInfo dbColumnInfo) + { + string columnName = CodeGeneratorTool.FirstLowerCase(dbColumnInfo.DbColumnName); + string js = ""; + if (CodeGeneratorTool.imageFiled.Any(f => columnName.Contains(f))) + { + js += $"handleUpload{columnName}Success(res, file) {{\n"; + js += $" this.form.{columnName} = URL.createObjectURL(file.raw);\n"; + js += " // this.$refs.upload.clearFiles();\n"; + js += "},\n"; + } + return js; + } + + //rules + public static string GetFormRules(DbColumnInfo dbFieldInfo) + { + string vueViewEditFromRuleContent = ""; + //Rule 规则验证 + if (!dbFieldInfo.IsNullable && !dbFieldInfo.IsIdentity) + { + vueViewEditFromRuleContent += $" {dbFieldInfo.DbColumnName}: [\n"; + vueViewEditFromRuleContent += $" {{ required: true, message:\"请输入{dbFieldInfo.ColumnDescription}\", trigger: \"blur\"}},\n"; + //vueViewEditFromRuleContent += " { min: 2, max: 50, message: \"长度在 2 到 50 个字符\", trigger:\"blur\" }\n"; + vueViewEditFromRuleContent += " ],\n"; + } + + return vueViewEditFromRuleContent; + } + + //model 属性 + public static string GetModelTemplate(DbColumnInfo dbFieldInfo) + { + string columnName = dbFieldInfo.DbColumnName.Substring(0, 1).ToUpper() + dbFieldInfo.DbColumnName[1..]; + var modelcontent = ""; + modelcontent += " /// \n"; + modelcontent += $" /// 描述 :{dbFieldInfo.ColumnDescription}\n"; + modelcontent += $" /// 空值 :{dbFieldInfo.IsNullable}\n"; + modelcontent += $" /// 默认 :{dbFieldInfo.DefaultValue}\n"; + modelcontent += " /// \n"; + if (dbFieldInfo.IsIdentity || dbFieldInfo.IsPrimarykey) + { + modelcontent += $" [SqlSugar.SugarColumn(IsPrimaryKey = {dbFieldInfo.IsPrimarykey.ToString().ToLower()}, IsIdentity = {dbFieldInfo.IsIdentity.ToString().ToLower()})]\n"; + } + modelcontent += $" public {TableMappingHelper.GetPropertyDatatype(dbFieldInfo.DataType)} {columnName} {{ get; set; }}\n\r"; + return modelcontent; + } + //DTO model + public static string GetDtoContent(DbColumnInfo dbFieldInfo) + { + string columnName = dbFieldInfo.DbColumnName.Substring(0, 1).ToUpper() + dbFieldInfo.DbColumnName[1..]; + string InputDtoContent = ""; + InputDtoContent += $" public {TableMappingHelper.GetPropertyDatatype(dbFieldInfo.DataType)} {columnName} {{ get; set; }}\n\r"; + + return InputDtoContent; + } + + //form-item + public static string GetVueViewFormContent(DbColumnInfo dbFieldInfo) + { + string columnName = CodeGeneratorTool.FirstLowerCase(dbFieldInfo.DbColumnName); + string labelName = CodeGeneratorTool.GetLabelName(dbFieldInfo.ColumnDescription, columnName); + string vueViewFromContent = ""; + string labelDisabled = dbFieldInfo.IsIdentity ? ":disabled=\"true\"" : ""; + string placeHolder = dbFieldInfo.IsIdentity ? "" : $"请输入{CodeGeneratorTool.GetLabelName(dbFieldInfo.ColumnDescription, columnName)}"; + + if (dbFieldInfo.DataType == "datetime") + { + //时间 + vueViewFromContent += $" \n"; + vueViewFromContent += $" \n"; + vueViewFromContent += " \n"; + } + else if (CodeGeneratorTool.imageFiled.Any(f => columnName.Contains(f))) + { + //图片 + vueViewFromContent += $" \n"; + vueViewFromContent += $" \n"; + vueViewFromContent += $" \n"; + vueViewFromContent += " \n"; + vueViewFromContent += " \n"; + vueViewFromContent += $" \n"; + vueViewFromContent += " \n"; + } + else if (CodeGeneratorTool.radioFiled.Any(f => columnName.Contains(f)) && (dbFieldInfo.DataType == "bool" || dbFieldInfo.DataType == "tinyint" || dbFieldInfo.DataType == "int")) + { + vueViewFromContent += $" "; + vueViewFromContent += $" \n"; + vueViewFromContent += " {{dict.dictLabel}}\n"; + vueViewFromContent += " \n"; + vueViewFromContent += " \n"; + } + else + { + vueViewFromContent += $" \n"; + vueViewFromContent += $" \n"; + vueViewFromContent += " \n"; + } + + return vueViewFromContent; + } + + //table-column + public static string GetTableColumn(DbColumnInfo dbFieldInfo) + { + string columnName = CodeGeneratorTool.FirstLowerCase(dbFieldInfo.DbColumnName); + string label = CodeGeneratorTool.GetLabelName(dbFieldInfo.ColumnDescription, columnName); + string vueViewListContent = ""; + string showToolTip = dbFieldInfo.DataType.Contains("varchar") ? ":show-overflow-tooltip=\"true\"" : ""; + + if (CodeGeneratorTool.imageFiled.Any(f => columnName.ToLower().Contains(f))) + { + vueViewListContent += $" \n"; + vueViewListContent += " \n"; + vueViewListContent += " \n"; + } + else if (dbFieldInfo.DataType == "bool" || dbFieldInfo.DataType == "tinyint") + { + vueViewListContent += $" \n"; + vueViewListContent += " \n"; + vueViewListContent += " \n"; + } + else + { + //table-column + vueViewListContent += $" \n"; + } + return vueViewListContent; + } + #endregion + + } +} diff --git a/ZR.CodeGenerator/CodeGeneratorTool.cs b/ZR.CodeGenerator/CodeGeneratorTool.cs index 3896d0d..8667eab 100644 --- a/ZR.CodeGenerator/CodeGeneratorTool.cs +++ b/ZR.CodeGenerator/CodeGeneratorTool.cs @@ -1,10 +1,8 @@ using SqlSugar; using System; -using System.Collections; using System.Collections.Generic; using System.IO; using System.Linq; -using ZR.CodeGenerator.CodeGenerator; using ZR.CodeGenerator.Model; using ZR.CodeGenerator.Service; @@ -25,10 +23,10 @@ namespace ZR.CodeGenerator /// /// InputDto输入实体是不包含字段 /// - private static string[] inputDtoNoField = new string[] { "DeleteMark", "CreateTime", "updateTime", "addtime" }; - private static string[] imageFiled = new string[] { "icon", "img", "image", "url", "pic" }; - private static string[] selectFiled = new string[] { "status", "type", "state" }; - private static string[] radioFiled = new string[] { "status", "state", "is" }; + public static readonly string[] inputDtoNoField = new string[] { "DeleteMark", "CreateTime", "updateTime", "addtime" }; + public static readonly string[] imageFiled = new string[] { "icon", "img", "image", "url", "pic", "photo" }; + public static readonly string[] selectFiled = new string[] { "status", "type", "state", "sex", "gender" }; + public static readonly string[] radioFiled = new string[] { "status", "state", "isShow", "isHidden", "ishide" }; /// /// 代码生成器入口方法 @@ -38,6 +36,8 @@ namespace ZR.CodeGenerator public static void Generate(DbTableInfo dbTableInfo, GenerateDto dto) { //_option.BaseNamespace = baseNamespace; + //_option.TableList = listTable; + _option.ReplaceTableNameStr = dto.replaceTableNameStr; _option.DtosNamespace = "ZR.Model"; _option.ModelsNamespace = "ZR.Model"; _option.RepositoriesNamespace = "ZR.Repository"; @@ -45,8 +45,6 @@ namespace ZR.CodeGenerator _option.IServicsNamespace = "ZR.Service"; _option.ServicesNamespace = "ZR.Service"; _option.ApiControllerNamespace = "ZR.Admin.WebApi"; - _option.ReplaceTableNameStr = dto.replaceTableNameStr; - //_option.TableList = listTable; CodeGeneraterService codeGeneraterService = new CodeGeneraterService(); @@ -72,7 +70,7 @@ namespace ZR.CodeGenerator string keyTypeName = "int";//主键数据类型 string modelContent = "";//数据库模型字段 string InputDtoContent = "";//输入模型 - string outputDtoContent = "";//输出模型 + //string outputDtoContent = "";//输出模型 string updateColumn = "";//修改数据映射字段 string vueViewListContent = string.Empty;//Vue列表输出内容 string vueViewFormContent = string.Empty;//Vue表单输出内容 @@ -80,6 +78,7 @@ namespace ZR.CodeGenerator string vueViewEditFromBindContent = string.Empty;//Vue显示初始化输出内容 string vueViewSaveBindContent = string.Empty;//Vue保存时输出内容 string vueViewEditFromRuleContent = string.Empty;//Vue数据校验 + string vueJsMethod = string.Empty;//Vue js自定义方法 foreach (DbColumnInfo dbFieldInfo in listField) { @@ -109,11 +108,12 @@ namespace ZR.CodeGenerator } dbFieldInfo.DbColumnName = columnName; - modelContent += GetModelTemplate(dbFieldInfo); - vueViewFormContent += GetVueViewFormContent(dbFieldInfo); - vueViewListContent += GetTableColumn(dbFieldInfo); - vueViewEditFromRuleContent += GetFormRules(dbFieldInfo); - InputDtoContent += GetDtoContent(dbFieldInfo); + modelContent += CodeGenerateTemplate.GetModelTemplate(dbFieldInfo); + vueViewFormContent += CodeGenerateTemplate.GetVueViewFormContent(dbFieldInfo); + vueJsMethod += CodeGenerateTemplate.GetVueJsMethod(dbFieldInfo); + vueViewListContent += CodeGenerateTemplate.GetTableColumn(dbFieldInfo); + vueViewEditFromRuleContent += CodeGenerateTemplate.GetFormRules(dbFieldInfo); + InputDtoContent += CodeGenerateTemplate.GetDtoContent(dbFieldInfo); } if (dto.genFiles.Contains(1)) { @@ -138,127 +138,12 @@ namespace ZR.CodeGenerator } if (dto.genFiles.Contains(6)) { - GenerateVueViews(modelTypeName, primaryKey, modelTypeDesc, vueViewListContent, vueViewFormContent, vueViewEditFromContent, vueViewEditFromBindContent, vueViewSaveBindContent, vueViewEditFromRuleContent, ifExsitedCovered); + GenerateVueViews(modelTypeName, primaryKey, modelTypeDesc, vueViewListContent, vueViewFormContent, vueViewEditFromContent, vueViewEditFromBindContent, vueViewSaveBindContent, vueViewEditFromRuleContent, vueJsMethod, ifExsitedCovered); } //GenerateIRepository(modelTypeName, modelTypeDesc, keyTypeName, ifExsitedCovered); //GenerateOutputDto(modelTypeName, modelTypeDesc, outputDtocontent, ifExsitedCovered); } - #region Template - - //rules - private static string GetFormRules(DbColumnInfo dbFieldInfo) - { - string vueViewEditFromRuleContent = ""; - //Rule 规则验证 - if (!dbFieldInfo.IsNullable && !dbFieldInfo.IsIdentity) - { - vueViewEditFromRuleContent += $" {dbFieldInfo.DbColumnName}: [\n"; - vueViewEditFromRuleContent += $" {{ required: true, message:\"请输入{dbFieldInfo.ColumnDescription}\", trigger: \"blur\"}},\n"; - //vueViewEditFromRuleContent += " { min: 2, max: 50, message: \"长度在 2 到 50 个字符\", trigger:\"blur\" }\n"; - vueViewEditFromRuleContent += " ],\n"; - } - - return vueViewEditFromRuleContent; - } - - //model 属性 - private static string GetModelTemplate(DbColumnInfo dbFieldInfo) - { - string columnName = dbFieldInfo.DbColumnName.Substring(0, 1).ToUpper() + dbFieldInfo.DbColumnName[1..]; - var modelcontent = ""; - modelcontent += " /// \n"; - modelcontent += $" /// 描述 :{dbFieldInfo.ColumnDescription}\n"; - modelcontent += $" /// 空值 :{dbFieldInfo.IsNullable}\n"; - modelcontent += $" /// 默认 :{dbFieldInfo.DefaultValue}\n"; - modelcontent += " /// \n"; - if (dbFieldInfo.IsIdentity || dbFieldInfo.IsPrimarykey) - { - modelcontent += $" [SqlSugar.SugarColumn(IsPrimaryKey = {dbFieldInfo.IsPrimarykey.ToString().ToLower()}, IsIdentity = {dbFieldInfo.IsIdentity.ToString().ToLower()})]\n"; - } - modelcontent += $" public {TableMappingHelper.GetPropertyDatatype(dbFieldInfo.DataType)} {columnName} {{ get; set; }}\n\r"; - return modelcontent; - } - //DTO model - private static string GetDtoContent(DbColumnInfo dbFieldInfo) - { - string columnName = dbFieldInfo.DbColumnName.Substring(0, 1).ToUpper() + dbFieldInfo.DbColumnName[1..]; - string InputDtoContent = ""; - InputDtoContent += $" public {TableMappingHelper.GetPropertyDatatype(dbFieldInfo.DataType)} {columnName} {{ get; set; }}\n\r"; - - return InputDtoContent; - } - - //form-item - private static string GetVueViewFormContent(DbColumnInfo dbFieldInfo) - { - string columnName = FirstLowerCase(dbFieldInfo.DbColumnName); - string labelName = GetLabelName(dbFieldInfo.ColumnDescription, columnName); - string vueViewFromContent = ""; - string labelDisabled = dbFieldInfo.IsIdentity ? ":disabled=\"true\"" : ""; - if (dbFieldInfo.DataType == "datetime") - { - vueViewFromContent += ""; - } - else if (((IList)imageFiled).Contains(columnName)) - { - //TODO 图片 - } - else if (radioFiled.Any(f => columnName.Contains(f)) && (dbFieldInfo.DataType == "bool" || dbFieldInfo.DataType == "tinyint" || dbFieldInfo.DataType == "int")) - { - vueViewFromContent += $" \n"; - vueViewFromContent += $" "; - vueViewFromContent += $" \n"; - vueViewFromContent += " {{dict.dictLabel}}\n"; - vueViewFromContent += " \n"; - vueViewFromContent += " \n"; - vueViewFromContent += " \n"; - } - else - { - vueViewFromContent += $" \n"; - vueViewFromContent += $" \n"; - vueViewFromContent += $" \n"; - vueViewFromContent += " \n"; - vueViewFromContent += " \n"; - } - - return vueViewFromContent; - } - - //table-column - private static string GetTableColumn(DbColumnInfo dbFieldInfo) - { - string columnName = FirstLowerCase(dbFieldInfo.DbColumnName); - string label = GetLabelName(dbFieldInfo.ColumnDescription, columnName); - string vueViewListContent = ""; - string showToolTip = dbFieldInfo.DataType.Contains("varchar") ? ":show-overflow-tooltip=\"true\"" : ""; - - if (imageFiled.Any(f => columnName.ToLower().Contains(f))) - { - vueViewListContent += $" \n"; - vueViewListContent += " \n"; - vueViewListContent += " \n"; - } - else if (dbFieldInfo.DataType == "bool" || dbFieldInfo.DataType == "tinyint") - { - vueViewListContent += $" \n"; - vueViewListContent += " \n"; - vueViewListContent += " \n"; - } - else - { - //table-column - vueViewListContent += $" \n"; - } - return vueViewListContent; - } - #endregion #region 生成Model @@ -320,7 +205,7 @@ namespace ZR.CodeGenerator var fullPath = servicesPath + modelTypeName + "Dto.cs"; Console.WriteLine(fullPath); if (File.Exists(fullPath) && !ifExsitedCovered) - return Tuple.Create(fullPath, ""); ; + return Tuple.Create(fullPath, ""); ; var content = ReadTemplate("InputDtoTemplate.txt"); content = content .Replace("{DtosNamespace}", _option.DtosNamespace) @@ -390,7 +275,7 @@ namespace ZR.CodeGenerator var fullPath = $"{iServicesPath}\\I{modelTypeName}Service.cs"; Console.WriteLine(fullPath); if (File.Exists(fullPath) && !ifExsitedCovered) - return Tuple.Create(fullPath, ""); + return Tuple.Create(fullPath, ""); var content = ReadTemplate("IServiceTemplate.txt"); content = content.Replace("{ModelsNamespace}", modelsNamespace) .Replace("{TableNameDesc}", modelTypeDesc) @@ -490,7 +375,7 @@ namespace ZR.CodeGenerator /// /// /// 如果目标文件存在,是否覆盖。默认为false - private static Tuple GenerateVueViews(string modelTypeName, string primaryKey, string modelTypeDesc, string vueViewListContent, string vueViewFromContent, string vueViewEditFromContent, string vueViewEditFromBindContent, string vueViewSaveBindContent, string vueViewEditFromRuleContent, bool ifExsitedCovered = false) + private static Tuple GenerateVueViews(string modelTypeName, string primaryKey, string modelTypeDesc, string vueViewListContent, string vueViewFromContent, string vueViewEditFromContent, string vueViewEditFromBindContent, string vueViewSaveBindContent, string vueViewEditFromRuleContent, string vueJsMethod, bool ifExsitedCovered = false) { //var parentPath = "..\\CodeGenerate";//若要生成到项目中将路径改成 “..\\ZR.Vue\\src” var parentPath = "..\\ZR.Vue\\src"; @@ -510,9 +395,10 @@ namespace ZR.CodeGenerator .Replace("{VueViewFormContent}", vueViewFromContent)//添加、修改表单 .Replace("{ModelTypeName}", modelTypeName) .Replace("{Permission}", modelTypeName.ToLower()) - .Replace("{VueViewEditFormContent}", vueViewEditFromContent)//重置表单 - //.Replace("{VueViewEditFromBindContent}", vueViewEditFromBindContent) - //.Replace("{VueViewSaveBindContent}", vueViewSaveBindContent) + .Replace("{VueViewEditFormContent}", vueViewEditFromContent) + .Replace("{vueJsMethod}", vueJsMethod) + //.Replace("{VueViewEditFromBindContent}", vueViewEditFromBindContent) + //.Replace("{VueViewSaveBindContent}", vueViewSaveBindContent) .Replace("{primaryKey}", FirstLowerCase(primaryKey)) .Replace("{VueViewEditFormRuleContent}", vueViewEditFromRuleContent);//添加、修改表单验证规则 WriteAndSave(fullPath, content); @@ -537,13 +423,12 @@ namespace ZR.CodeGenerator #region 帮助方法 - /// /// 如果有前缀替换将前缀替换成空,替换下划线"_"为空再将首字母大写 /// /// /// - private static string GetModelClassName(string modelTypeName) + public static string GetModelClassName(string modelTypeName) { if (!string.IsNullOrEmpty(_option.ReplaceTableNameStr)) { @@ -558,7 +443,7 @@ namespace ZR.CodeGenerator /// /// /// - private static string FirstLowerCase(string str) + public static string FirstLowerCase(string str) { return string.IsNullOrEmpty(str) ? str : str.Substring(0, 1).ToLower() + str[1..]; } @@ -569,7 +454,7 @@ namespace ZR.CodeGenerator /// /// /// - private static string GetLabelName(string columnDescription, string columnName) + public static string GetLabelName(string columnDescription, string columnName) { return string.IsNullOrEmpty(columnDescription) ? columnName : columnDescription; } diff --git a/ZR.CodeGenerator/Service/CodeGeneraterService.cs b/ZR.CodeGenerator/Service/CodeGeneraterService.cs index 50fd886..f22a3bf 100644 --- a/ZR.CodeGenerator/Service/CodeGeneraterService.cs +++ b/ZR.CodeGenerator/Service/CodeGeneraterService.cs @@ -31,7 +31,7 @@ namespace ZR.CodeGenerator.Service var tableList = GetSugarDbContext(dbName).DbMaintenance.GetTableInfoList(true); if (!string.IsNullOrEmpty(tableName)) { - tableList = tableList.Where(f => f.Name.Contains(tableName)).ToList(); + tableList = tableList.Where(f => f.Name.ToLower().Contains(tableName.ToLower())).ToList(); } pager.TotalNum = tableList.Count; return tableList.Skip(pager.PageSize * (pager.PageNum - 1)).Take(pager.PageSize).OrderBy(f => f.Name).ToList(); diff --git a/ZR.Vue/package.json b/ZR.Vue/package.json index 4b84f42..ed507b8 100644 --- a/ZR.Vue/package.json +++ b/ZR.Vue/package.json @@ -25,7 +25,7 @@ "clipboard": "2.0.4", "core-js": "3.6.5", "echarts": "^5.1.1", - "element-ui": "2.13.2", + "element-ui": "2.15.6", "file-saver": "2.0.1", "fuse.js": "3.4.4", "js-beautify": "1.10.2", diff --git a/ZR.Vue/src/assets/styles/index.scss b/ZR.Vue/src/assets/styles/index.scss index 4133f95..7fbd419 100644 --- a/ZR.Vue/src/assets/styles/index.scss +++ b/ZR.Vue/src/assets/styles/index.scss @@ -480,3 +480,17 @@ aside { position: relative; float: right; } +.icon { + width: 100px; +} +// 上传文件按钮样式 +.uploader-icon { + width: 50px; + height: 50px; + line-height: 50px; + border: 1px dashed #ccc; + margin-bottom: 10px; +} +.table-td-thumb { + width: 80px; +} diff --git a/ZR.Vue/src/router/index.js b/ZR.Vue/src/router/index.js index 3dd9d34..cd682e2 100644 --- a/ZR.Vue/src/router/index.js +++ b/ZR.Vue/src/router/index.js @@ -44,7 +44,7 @@ export const constantRoutes = [ }, { path: '/demo', - component: (resolve) => require(['@/views/gendemo/index'], resolve), + component: (resolve) => require(['@/views/userInfo/index'], resolve), hidden: true }, { diff --git a/ZR.Vue/src/views/demo.vue b/ZR.Vue/src/views/demo.vue index 51f7a1e..1355db5 100644 --- a/ZR.Vue/src/views/demo.vue +++ b/ZR.Vue/src/views/demo.vue @@ -87,35 +87,41 @@ - - - - - - - - - - - - - - - - - - - - {{dict.dictLabel}} - - - - - - - - - + + + + + + + + + + + + + + + + {{dict.dictLabel}} + + + + + + + + + + + + + + + + + + +