data.data.ts.vm 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  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 { getDataList } 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 { 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 == "fk"){
  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 == "fk"){
  51. @:component: 'ApiSelect',
  52. @:componentProps: {
  53. @:api: get@(@column.FkEntityName)Dropdown,
  54. @:labelField: 'label',
  55. @:valueField: 'value',
  56. @:},
  57. }else if(@column.EffectType == "Select"){
  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 == "ApiTreeSelect"){
  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. }
  88. else{
  89. @:component: 'Input',
  90. }
  91. @:},
  92. }
  93. ];
  94. export const formSchema: FormSchema[] = [
  95. @foreach (var column in Model.TableField){
  96. @:{
  97. @:label: '@column.ColumnComment',
  98. @:field: '@column.LowerPropertyName',
  99. if(@column.EffectType == "fk"){
  100. @:component: 'ApiSelect',
  101. @:componentProps: {
  102. @:api: get@(@column.FkEntityName)Dropdown,
  103. @:labelField: 'label',
  104. @:valueField: 'value',
  105. @:},
  106. }else if(@column.EffectType == "Select"){
  107. @:component: 'ApiSelect',
  108. @:componentProps: {
  109. @:api: getDataList,
  110. @:params: '@(@column.DictTypeCode)',
  111. @:fieldNames: {
  112. @:label: 'label',
  113. @:value: 'value',
  114. @:},
  115. @:},
  116. }else if(@column.EffectType == "ConstSelector"){
  117. @:component: 'Select',
  118. @:componentProps: {
  119. @:options: getSelector('@(@column.DictTypeCode)'),
  120. @:fieldNames: {
  121. @:label: 'name',
  122. @:value: 'code',
  123. @:},
  124. @:},
  125. }else if(@column.EffectType == "ApiTreeSelect"){
  126. @:component: '@(@column.EffectType)',
  127. @:componentProps: {
  128. @:api: get@(@column.FkEntityName)Tree,
  129. @:},
  130. }else if(@column.EffectType == "Switch"){
  131. @:component: '@(@column.EffectType)',
  132. @:componentProps: {
  133. @:checkedChildren: '是',
  134. @:unCheckedChildren: '否',
  135. @:},
  136. }else{
  137. @:component: '@column.EffectType',
  138. }
  139. if(@column.WhetherRequired == "Y"){
  140. @:required: true,
  141. }else{
  142. @:required: false,
  143. }
  144. if(@column.EffectType == "Upload"){
  145. @:componentProps: {
  146. @:maxNumber: 1,
  147. @:api: uploadFile,
  148. @:},
  149. }
  150. if(@column.LowerPropertyName == "id"){
  151. @:show: false,
  152. }
  153. @:colProps: { span: 12 },
  154. @:},
  155. }
  156. ];