data.data.ts.vm 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. import { h } from 'vue';
  2. import { BasicColumn, FormSchema } from '/@@/components/Table';
  3. @foreach (var column in Model.TableField){
  4. if(column.EffectType == "Upload"){
  5. @:import { uploadFile } from '/@@/api/sys/admin';
  6. }else if(column.EffectType == "ForeignKey"){
  7. @:import { get@(column.FkEntityName)Dropdown } from '/@@/api/main/@(Model.ClassName)';
  8. }else if(column.EffectType == "DictSelector"){
  9. @:import { getDataList } from '/@@/api/sys/admin';
  10. }else if(column.EffectType == "ApiTreeSelector"){
  11. @:import { get@(column.FkEntityName)Tree } from '/@@/api/main/@(Model.ClassName)';
  12. }else if(column.EffectType == "ConstSelector"){
  13. @:import { codeToName, getSelector } from '/@@/utils/helper/constSelectorHelper';
  14. }else if(column.EffectType == "Switch"){
  15. @:import { Switch } from 'ant-design-vue';
  16. }
  17. }
  18. export const columns: BasicColumn[] = [
  19. @foreach (var column in Model.TableField){
  20. if(column.WhetherTable == "Y"){
  21. @:{
  22. @:title: '@column.ColumnComment',
  23. @:dataIndex: '@column.LowerPropertyName',
  24. @:sorter: true,
  25. if(column.EffectType == "Upload"){
  26. @:slots: { customRender: '@(column.LowerPropertyName)' },
  27. }else if(column.EffectType == "ForeignKey"){
  28. @:customRender: ({ record }) => {
  29. @:return record.fk@(column.PropertyName).@(column.LowerFkColumnName);
  30. @:},
  31. }else if(column.EffectType == "Switch"){
  32. @:customRender: ({ record }) => {
  33. @:return h(@(column.EffectType), { checked: record.@(column.LowerPropertyName) });
  34. @:},
  35. }else if(column.EffectType == "ConstSelector"){
  36. @:customRender: ({ record }) => {
  37. @:return codeToName(record.@(column.LowerPropertyName), '@(column.DictTypeCode)');
  38. @:},
  39. }
  40. @:},
  41. }
  42. }
  43. ];
  44. export const searchFormSchema: FormSchema[] = [
  45. @foreach (var column in Model.QueryWhetherList){
  46. @:{
  47. @:field: '@column.LowerPropertyName',
  48. @:label: '@column.ColumnComment',
  49. @:colProps: { span: 8 },
  50. if(column.EffectType == "ForeignKey"){
  51. @:component: 'ApiSelect',
  52. @:componentProps: {
  53. @:api: get@(column.FkEntityName)Dropdown,
  54. @:labelField: 'label',
  55. @:valueField: 'value',
  56. @:},
  57. }else if(column.EffectType == "DictSelector"){
  58. @:component: 'ApiSelect',
  59. @:componentProps: {
  60. @:api: getDataList,
  61. @:params: '@(column.DictTypeCode)',
  62. @:fieldNames: {
  63. @:label: 'label',
  64. @:value: 'value',
  65. @:},
  66. @:},
  67. }else if(column.EffectType == "ConstSelector"){
  68. @:component: 'Select',
  69. @:componentProps: {
  70. @:options: getSelector('@(column.DictTypeCode)'),
  71. @:fieldNames: {
  72. @:label: 'name',
  73. @:value: 'code',
  74. @:},
  75. @:},
  76. }else if(column.EffectType == "ApiTreeSelector"){
  77. @:component: '@(column.EffectType)',
  78. @:componentProps: {
  79. @:api: get@(column.FkEntityName)Tree,
  80. @:},
  81. }
  82. else if(column.NetType?.TrimEnd('?') == "DateTime" && column.QueryType == "~"){
  83. @:component: 'RangePicker',
  84. @:componentProps: {
  85. @: valueFormat:"YYYY-MM-DD"
  86. @:},
  87. } else {
  88. @:component: 'Input',
  89. }
  90. @:},
  91. }
  92. ];
  93. export const formSchema: FormSchema[] = [
  94. @foreach (var column in Model.TableField){
  95. @:{
  96. @:label: '@column.ColumnComment',
  97. @:field: '@column.LowerPropertyName',
  98. if(column.EffectType == "ForeignKey"){
  99. @:component: 'ApiSelect',
  100. @:componentProps: {
  101. @:api: get@(column.FkEntityName)Dropdown,
  102. @:labelField: 'label',
  103. @:valueField: 'value',
  104. @:},
  105. }else if(column.EffectType == "DictSelector"){
  106. @:component: 'ApiSelect',
  107. @:componentProps: {
  108. @:api: getDataList,
  109. @:params: '@(column.DictTypeCode)',
  110. @:fieldNames: {
  111. @:label: 'label',
  112. @:value: 'value',
  113. @:},
  114. @:},
  115. }else if(column.EffectType == "ConstSelector"){
  116. @:component: 'Select',
  117. @:componentProps: {
  118. @:options: getSelector('@(column.DictTypeCode)'),
  119. @:fieldNames: {
  120. @:label: 'name',
  121. @:value: 'code',
  122. @:},
  123. @:},
  124. }else if(column.EffectType == "ApiTreeSelector"){
  125. @:component: '@(column.EffectType)',
  126. @:componentProps: {
  127. @:api: get@(column.FkEntityName)Tree,
  128. @:},
  129. }else if(column.EffectType == "Switch"){
  130. @:component: '@(column.EffectType)',
  131. @:componentProps: {
  132. @:checkedChildren: '是',
  133. @:unCheckedChildren: '否',
  134. @:},
  135. }else{
  136. @:component: '@column.EffectType',
  137. }
  138. if(column.WhetherRequired == "Y"){
  139. @:required: true,
  140. }else{
  141. @:required: false,
  142. }
  143. if(column.EffectType == "Upload"){
  144. @:componentProps: {
  145. @:maxNumber: 1,
  146. @:api: uploadFile,
  147. @:},
  148. }
  149. if(column.LowerPropertyName == "id"){
  150. @:show: false,
  151. }
  152. @:colProps: { span: 12 },
  153. @:},
  154. }
  155. ];