Procházet zdrojové kódy

Merge branch 'next' of https://gitee.com/zuohuaijun/Admin.NET into next

zuohuaijun před 3 roky
rodič
revize
89cf7b4e1e

+ 42 - 0
Admin.NET/Admin.NET.Web.Entry/wwwroot/Template/Manage.js.vm

@@ -9,6 +9,8 @@ if(@column.EffectType == "fk"){
   @:Get@(@column.FkEntityName)Dropdown = '/api/@(@Model.LowerClassName)/@(@column.FkEntityName)Dropdown',
 }else if(@column.EffectType == "ApiTreeSelect"){
   @:Get@(@column.FkEntityName)Tree = '/@(@Model.LowerClassName)/@(@column.FkEntityName)Tree',
+}else if(@column.EffectType == "Upload"){
+  @:Upload@(@column.ColumnName) = '/api/@(@Model.LowerClassName)/Upload@(@column.ColumnName)',
 }
 }
 }
@@ -58,5 +60,45 @@ export const get@(@Model.ClassName)PageList = (params?: any) =>
 		@:url: Api.Get@(@column.FkEntityName)Tree,
 		@:method: 'get'
 		@:});
+    }else if(@column.EffectType == "Upload"){
+	
+	@:/**
+	@:* 上传@(@column.ColumnComment) 
+	@:*/
+@:export const upload@(@column.ColumnName) = (params: any) =>
+		@:uploadFileHandle(params, Api.Upload@(@column.ColumnName))
+		}
+}
+
+@foreach (var column in Model.TableField){
+	if(@column.EffectType == "Upload"){
+	@:export const uploadFileHandle = (params: any, url: string) => { 
+	@:const formData = new window.FormData();
+	@:formData.append('file', params.file);
+	@://自定义参数
+	@:if (params.data) {
+		@:Object.keys(params.data).forEach((key) => {
+			@:const value = params.data![key];
+			@:if (Array.isArray(value)) {
+				@:value.forEach((item) => {
+					@:formData.append(`${key}[]`, item);
+				@:});
+				@:return;
+			@:}
+			@:formData.append(key, params.data![key]);
+		@:});
+	@:}
+	@:return request({
+		@:url: url,
+		@:method: 'POST',
+		@:data: formData,
+		@:headers: {
+			@:'Content-type': 'multipart/form-data;charset=UTF-8',
+			@:// ts-ignore
+			@:ignoreCancelToken: true,
+		@:},
+	@:});
+@:};
+		break;
 		}
 }

+ 23 - 8
Admin.NET/Admin.NET.Web.Entry/wwwroot/Template/Service.cs.vm

@@ -52,7 +52,7 @@ if (@column.QueryWhether == "Y"){
     if(@column.EffectType == "fk"){   
  
     }else if(@column.EffectType == "Upload"){
-                    @:.Mapper(c => c.@(@column.ColumnName)Attachment, c => c.@(@column.ColumnName))
+                    @://.Mapper(c => c.@(@column.ColumnName)Attachment, c => c.@(@column.ColumnName))
     }
 }
 }
@@ -150,13 +150,12 @@ if (@column.ColumnKey == "True"){
 
 @foreach (var column in Model.TableField){
 if(@column.EffectType == "fk"){  
-    /// <summary>
-    /// 获取@(@Model.ColumnComment)列表
-    /// </summary>
-    /// <param name="input"></param>
-    /// <returns></returns>
-    @:[HttpGet]
-    @:[ApiDescriptionSettings(Name = "@(@column.FkEntityName)Dropdown")]
+    @:/// <summary>
+    @:/// 获取@(@column.ColumnComment)列表
+    @:/// </summary>
+    @:/// <param name="input"></param>
+    @:/// <returns></returns>
+    @:[ApiDescriptionSettings(Name = "@(@column.FkEntityName)Dropdown"), HttpGet]
     @:public async Task<dynamic> @(@column.FkEntityName)Dropdown()
     @:{
         @:return await _rep.Context.Queryable<@(@column.FkEntityName)>()
@@ -170,6 +169,22 @@ if(@column.EffectType == "fk"){
 }
 }
 
+@foreach (var column in Model.TableField){
+if(@column.EffectType == "Upload"){  
+    @:/// <summary>
+    @:/// 上传@(@column.ColumnComment)
+    @:/// </summary>
+    @:/// <param name="file"></param>
+    @:/// <returns></returns>
+    @:[ApiDescriptionSettings(Name = "Upload@(@column.ColumnName)"), HttpPost]
+    @:public async Task<FileOutput> Upload@(@column.ColumnName)([Required] IFormFile file)
+    @:{
+            @:var service = App.GetService<SysFileService>();
+            @:return await service.UploadFile(file, "upload/@(@column.ColumnName)"); 
+    @:} 
+}
+}
+
 
 @foreach (var column in Model.TableField){
 if(@column.EffectType == "ApiTreeSelect"){