Manage.js.vm 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. @{Dictionary<string, int> definedObjects = new Dictionary<string, int>();}
  2. import request from '/@@/utils/request';
  3. enum Api {
  4. Add@(@Model.ClassName) = '/api/@(@Model.LowerClassName)/add',
  5. Delete@(@Model.ClassName) = '/api/@(@Model.LowerClassName)/delete',
  6. Update@(@Model.ClassName) = '/api/@(@Model.LowerClassName)/update',
  7. Page@(@Model.ClassName) = '/api/@(@Model.LowerClassName)/page',
  8. Detail@(@Model.ClassName) = '/api/@(@Model.LowerClassName)/detail',
  9. @foreach (var column in Model.TableField){
  10. if(@column.EffectType == "fk" && (@column.WhetherAddUpdate == "Y" || column.QueryWhether == "Y")){
  11. @:Get@(@column.FkEntityName)@(@column.PropertyName)Dropdown = '/api/@(@Model.LowerClassName)/@(@column.FkEntityName)@(@column.PropertyName)Dropdown',
  12. }else if(@column.EffectType == "ApiTreeSelect" && !definedObjects.ContainsKey("Get@(@column.FkEntityName)Tree")){
  13. @{definedObjects.Add("Get@(@column.FkEntityName)Tree", 1);}
  14. @:Get@(@column.FkEntityName)Tree = '/api/@(@Model.LowerClassName)/@(@column.FkEntityName)Tree',
  15. }else if(@column.EffectType == "Upload"){
  16. @:Upload@(@column.PropertyName) = '/api/@(@Model.LowerClassName)/Upload@(@column.PropertyName)',
  17. }
  18. }
  19. }
  20. // 增加@(@Model.BusName)
  21. export const add@(@Model.ClassName) = (params?: any) =>
  22. request({
  23. url: Api.Add@(@Model.ClassName),
  24. method: 'post',
  25. data: params,
  26. });
  27. // 删除@(@Model.BusName)
  28. export const delete@(@Model.ClassName) = (params?: any) =>
  29. request({
  30. url: Api.Delete@(@Model.ClassName),
  31. method: 'post',
  32. data: params,
  33. });
  34. // 编辑@(@Model.BusName)
  35. export const update@(@Model.ClassName) = (params?: any) =>
  36. request({
  37. url: Api.Update@(@Model.ClassName),
  38. method: 'post',
  39. data: params,
  40. });
  41. // 分页查询@(@Model.BusName)
  42. export const page@(@Model.ClassName) = (params?: any) =>
  43. request({
  44. url: Api.Page@(@Model.ClassName),
  45. method: 'post',
  46. data: params,
  47. });
  48. // 详情@(@Model.BusName)
  49. export const detail@(@Model.ClassName) = (id: any) =>
  50. request({
  51. url: Api.Detail@(@Model.ClassName),
  52. method: 'get',
  53. data: { id },
  54. });
  55. @foreach (var column in Model.TableField){
  56. if(@column.EffectType == "fk" && (@column.WhetherAddUpdate == "Y" || column.QueryWhether == "Y")){
  57. @:export const get@(@column.FkEntityName)@(@column.PropertyName)Dropdown = () =>
  58. @:request({
  59. @:url: Api.Get@(@column.FkEntityName)@(@column.PropertyName)Dropdown,
  60. @:method: 'get'
  61. @:});
  62. }else if(@column.EffectType == "ApiTreeSelect" && !definedObjects.ContainsKey("get@(@column.FkEntityName)Tree")){
  63. @{definedObjects.Add("get@(@column.FkEntityName)Tree", 1);}
  64. @:export const get@(@column.FkEntityName)Tree = () =>
  65. @:request({
  66. @:url: Api.Get@(@column.FkEntityName)Tree,
  67. @:method: 'get'
  68. @:});
  69. }else if(@column.EffectType == "Upload"){
  70. @:/**
  71. @:* 上传@(@column.ColumnComment)
  72. @:*/
  73. @:export const upload@(@column.PropertyName) = (params: any) =>
  74. @:uploadFileHandle(params, Api.Upload@(@column.PropertyName))
  75. }
  76. }
  77. @foreach (var column in Model.TableField){
  78. if(@column.EffectType == "Upload"){
  79. @:export const uploadFileHandle = (params: any, url: string) => {
  80. @:const formData = new window.FormData();
  81. @:formData.append('file', params.file);
  82. @://自定义参数
  83. @:if (params.data) {
  84. @:Object.keys(params.data).forEach((key) => {
  85. @:const value = params.data![key];
  86. @:if (Array.isArray(value)) {
  87. @:value.forEach((item) => {
  88. @:formData.append(`${key}[]`, item);
  89. @:});
  90. @:return;
  91. @:}
  92. @:formData.append(key, params.data![key]);
  93. @:});
  94. @:}
  95. @:return request({
  96. @:url: url,
  97. @:method: 'POST',
  98. @:data: formData,
  99. @:headers: {
  100. @:'Content-type': 'multipart/form-data;charset=UTF-8',
  101. @:// ts-ignore
  102. @:ignoreCancelToken: true,
  103. @:},
  104. @:});
  105. @:};
  106. break;
  107. }
  108. }