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