Manage.js.vm 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  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. @if (Model.TableField.Any(col => col.EffectType == "Upload")) {
  7. @:import uploadFile from '/@/api/system/uploadFile';
  8. }
  9. enum Api {
  10. Add@(Model.ClassName) = '/api/@(Model.LowerClassName)/add',
  11. Delete@(Model.ClassName) = '/api/@(Model.LowerClassName)/delete',
  12. BatchDelete@(Model.ClassName) = '/api/@(Model.LowerClassName)/batchDelete',
  13. Update@(Model.ClassName) = '/api/@(Model.LowerClassName)/update',
  14. Page@(Model.ClassName) = '/api/@(Model.LowerClassName)/page',
  15. Detail@(Model.ClassName) = '/api/@(Model.LowerClassName)/detail',
  16. @if (Model.TableField.Any(x => x.WhetherImport == "Y")) {
  17. @:Import@(Model.ClassName)Data = '/api/@(Model.LowerClassName)/import',
  18. @:Download@(Model.ClassName)Template = '/api/@(Model.LowerClassName)/import',
  19. }
  20. @if (hasSetStatus) {
  21. @:Set@(Model.ClassName)Status = '/api/@(Model.LowerClassName)/setStatus',
  22. }
  23. @foreach (var column in Model.TableField){
  24. if(column.EffectType == "fk" && (column.WhetherAddUpdate == "Y" || column.QueryWhether == "Y")){
  25. @:Get@(column.FkEntityName)@(column.PropertyName)Dropdown = '/api/@(Model.LowerClassName)/@(column.FkEntityName)@(column.PropertyName)Dropdown',
  26. }else if(column.EffectType == "ApiTreeSelect" && !definedObjects.ContainsKey("Get@(column.FkEntityName)Tree")){
  27. @{definedObjects.Add("Get@(column.FkEntityName)Tree", 1);}
  28. @:Get@(column.FkEntityName)Tree = '/api/@(Model.LowerClassName)/@(column.FkEntityName)Tree',
  29. }else if(column.EffectType == "Upload"){
  30. @:Upload@(column.PropertyName) = '/api/@(Model.LowerClassName)/Upload@(column.PropertyName)',
  31. }
  32. }
  33. }
  34. // 增加@(Model.BusName)
  35. export const add@(Model.ClassName) = (params?: any) =>
  36. request({
  37. url: Api.Add@(Model.ClassName),
  38. method: 'post',
  39. data: params,
  40. });
  41. // 删除@(Model.BusName)
  42. export const delete@(Model.ClassName) = (params?: any) =>
  43. request({
  44. url: Api.Delete@(Model.ClassName),
  45. method: 'post',
  46. data: params,
  47. });
  48. // 批量删除@(Model.BusName)
  49. export const batchDelete@(Model.ClassName) = (params?: any) =>
  50. request({
  51. url: Api.BatchDelete@(Model.ClassName),
  52. method: 'post',
  53. data: params,
  54. });
  55. // 编辑@(Model.BusName)
  56. export const update@(Model.ClassName) = (params?: any) =>
  57. request({
  58. url: Api.Update@(Model.ClassName),
  59. method: 'post',
  60. data: params,
  61. });
  62. @if (hasSetStatus) {
  63. @:
  64. @:// 设置@(Model.BusName)状态
  65. @:export const set@(Model.ClassName)Status = (params?: any) =>
  66. @:request({
  67. @:url: Api.Set@(Model.ClassName)Status,
  68. @:method: 'post',
  69. @:data: params,
  70. @:});
  71. }
  72. // 分页查询@(Model.BusName)
  73. export const page@(Model.ClassName) = (params?: any) =>
  74. request({
  75. url: Api.Page@(Model.ClassName),
  76. method: 'post',
  77. data: params,
  78. });
  79. // 详情@(Model.BusName)
  80. export const detail@(Model.ClassName) = (id: any) =>
  81. request({
  82. url: Api.Detail@(Model.ClassName),
  83. method: 'get',
  84. data: { id },
  85. });
  86. @if (Model.TableField.Any(x => x.WhetherImport == "Y")) {
  87. @:// 下载@(Model.BusName)数据导入模板
  88. @:export const download@(Model.ClassName)Template = () =>
  89. @:request({
  90. @:url: Api.Download@(Model.ClassName)Template,
  91. @:responseType: 'arraybuffer',
  92. @:method: 'get',
  93. @:});
  94. @:
  95. @:// 导入@(Model.BusName)记录
  96. @:export const import@(Model.ClassName)Data = (file: any) => {
  97. @:const formData = new FormData();
  98. @:formData.append('file', file);
  99. @:return request({
  100. @:headers: { 'Content-Type': 'multipart/form-data' },
  101. @:url: Api.Import@(Model.ClassName)Data,
  102. @:responseType: 'arraybuffer',
  103. @:method: 'post',
  104. @:data: formData,
  105. @:});
  106. @:}
  107. }
  108. @foreach (var column in Model.TableField){
  109. if(column.EffectType == "fk" && (column.WhetherAddUpdate == "Y" || column.QueryWhether == "Y")){
  110. @:export const get@(column.FkEntityName)@(column.PropertyName)Dropdown = () =>
  111. @:request({
  112. @:url: Api.Get@(column.FkEntityName)@(column.PropertyName)Dropdown,
  113. @:method: 'get'
  114. @:});
  115. }else if(column.EffectType == "ApiTreeSelect" && !definedObjects.ContainsKey("get@(column.FkEntityName)Tree")){
  116. @{definedObjects.Add("get@(column.FkEntityName)Tree", 1);}
  117. @:export const get@(column.FkEntityName)Tree = () =>
  118. @:request({
  119. @:url: Api.Get@(column.FkEntityName)Tree,
  120. @:method: 'get'
  121. @:});
  122. } else if (column.EffectType == "Upload") {
  123. @:// 上传@(column.ColumnComment)
  124. @:export const upload@(column.PropertyName) = (params: any) =>
  125. @:uploadFile(params, Api.Upload@(column.PropertyName));
  126. }
  127. }