Manage.js.vm 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. @{
  2. var definedObjects = new Dictionary<string, int>();
  3. var hasSetStatus = Model.TableField.Any(col => col.NetType == "StatusEnum" && col.PropertyName == "Status");
  4. }
  5. import request from '/@@/utils/request';
  6. enum Api {
  7. Add@(@Model.ClassName) = '/api/@(@Model.LowerClassName)/add',
  8. Delete@(@Model.ClassName) = '/api/@(@Model.LowerClassName)/delete',
  9. Update@(@Model.ClassName) = '/api/@(@Model.LowerClassName)/update',
  10. Page@(@Model.ClassName) = '/api/@(@Model.LowerClassName)/page',
  11. Detail@(@Model.ClassName) = '/api/@(@Model.LowerClassName)/detail',
  12. @if (Model.TableField.Any(x => x.WhetherImport == "Y")) {
  13. @:Import@(@Model.ClassName)Data = '/api/@(@Model.LowerClassName)/import',
  14. @:Download@(@Model.ClassName)Template = '/api/@(@Model.LowerClassName)/import',
  15. }
  16. @if (hasSetStatus) @: Set@(@Model.ClassName)Status = '/api/@(@Model.LowerClassName)/setStatus',
  17. @foreach (var column in Model.TableField){
  18. if(@column.EffectType == "fk" && (@column.WhetherAddUpdate == "Y" || @column.QueryWhether == "Y")){
  19. @:Get@(@column.FkEntityName)@(@column.PropertyName)Dropdown = '/api/@(@Model.LowerClassName)/@(@column.FkEntityName)@(@column.PropertyName)Dropdown',
  20. }else if(@column.EffectType == "ApiTreeSelect" && !definedObjects.ContainsKey("Get@(@column.FkEntityName)Tree")){
  21. @{definedObjects.Add("Get@(@column.FkEntityName)Tree", 1);}
  22. @:Get@(@column.FkEntityName)Tree = '/api/@(@Model.LowerClassName)/@(@column.FkEntityName)Tree',
  23. }else if(@column.EffectType == "Upload"){
  24. @:Upload@(@column.PropertyName) = '/api/@(@Model.LowerClassName)/Upload@(@column.PropertyName)',
  25. }
  26. }
  27. }
  28. // 增加@(@Model.BusName)
  29. export const add@(@Model.ClassName) = (params?: any) =>
  30. request({
  31. url: Api.Add@(@Model.ClassName),
  32. method: 'post',
  33. data: params,
  34. });
  35. // 删除@(@Model.BusName)
  36. export const delete@(@Model.ClassName) = (params?: any) =>
  37. request({
  38. url: Api.Delete@(@Model.ClassName),
  39. method: 'post',
  40. data: params,
  41. });
  42. // 编辑@(@Model.BusName)
  43. export const update@(@Model.ClassName) = (params?: any) =>
  44. request({
  45. url: Api.Update@(@Model.ClassName),
  46. method: 'post',
  47. data: params,
  48. });
  49. @if (hasSetStatus) {
  50. @:
  51. @:// 设置@(@Model.BusName)状态
  52. @:export const set@(@Model.ClassName)Status = (params?: any) =>
  53. @:request({
  54. @:url: Api.Set@(@Model.ClassName)Status,
  55. @:method: 'post',
  56. @:data: params,
  57. @:});
  58. }
  59. // 分页查询@(@Model.BusName)
  60. export const page@(@Model.ClassName) = (params?: any) =>
  61. request({
  62. url: Api.Page@(@Model.ClassName),
  63. method: 'post',
  64. data: params,
  65. });
  66. // 详情@(@Model.BusName)
  67. export const detail@(@Model.ClassName) = (id: any) =>
  68. request({
  69. url: Api.Detail@(@Model.ClassName),
  70. method: 'get',
  71. data: { id },
  72. });
  73. @if (Model.TableField.Any(x => x.WhetherImport == "Y")) {
  74. @:// 下载@(@Model.BusName)数据导入模板
  75. @:export const download@(@Model.ClassName)Template = () =>
  76. @:request({
  77. @:url: Api.Download@(@Model.ClassName)Template,
  78. @:responseType: 'arraybuffer',
  79. @:method: 'get',
  80. @:});
  81. @:
  82. @:// 导入@(@Model.BusName)记录
  83. @:export const import@(@Model.ClassName)Data = (file: any) => {
  84. @:const formData = new FormData();
  85. @:formData.append('file', file);
  86. @:return request({
  87. @:headers: { 'Content-Type': 'multipart/form-data' },
  88. @:url: Api.Import@(@Model.ClassName)Data,
  89. @:responseType: 'arraybuffer',
  90. @:method: 'post',
  91. @:data: formData,
  92. @:});
  93. @:}
  94. }
  95. @foreach (var column in Model.TableField){
  96. if(@column.EffectType == "fk" && (@column.WhetherAddUpdate == "Y" || column.QueryWhether == "Y")){
  97. @:export const get@(@column.FkEntityName)@(@column.PropertyName)Dropdown = () =>
  98. @:request({
  99. @:url: Api.Get@(@column.FkEntityName)@(@column.PropertyName)Dropdown,
  100. @:method: 'get'
  101. @:});
  102. }else if(@column.EffectType == "ApiTreeSelect" && !definedObjects.ContainsKey("get@(@column.FkEntityName)Tree")){
  103. @{definedObjects.Add("get@(@column.FkEntityName)Tree", 1);}
  104. @:export const get@(@column.FkEntityName)Tree = () =>
  105. @:request({
  106. @:url: Api.Get@(@column.FkEntityName)Tree,
  107. @:method: 'get'
  108. @:});
  109. }else if(@column.EffectType == "Upload"){
  110. @:/**
  111. @:* 上传@(@column.ColumnComment)
  112. @:*/
  113. @:export const upload@(@column.PropertyName) = (params: any) =>
  114. @:uploadFileHandle(params, Api.Upload@(@column.PropertyName))
  115. }
  116. }
  117. @foreach (var column in Model.TableField){
  118. if(@column.EffectType == "Upload"){
  119. @:export const uploadFileHandle = (params: any, url: string) => {
  120. @:const formData = new window.FormData();
  121. @:formData.append('file', params.file);
  122. @://自定义参数
  123. @:if (params.data) {
  124. @:Object.keys(params.data).forEach((key) => {
  125. @:const value = params.data![key];
  126. @:if (Array.isArray(value)) {
  127. @:value.forEach((item) => {
  128. @:formData.append(`${key}[]`, item);
  129. @:});
  130. @:return;
  131. @:}
  132. @:formData.append(key, params.data![key]);
  133. @:});
  134. @:}
  135. @:return request({
  136. @:url: url,
  137. @:method: 'POST',
  138. @:data: formData,
  139. @:headers: {
  140. @:'Content-type': 'multipart/form-data;charset=UTF-8',
  141. @:// ts-ignore
  142. @:ignoreCancelToken: true,
  143. @:},
  144. @:});
  145. @:};
  146. break;
  147. }
  148. }