data.data.ts.vm 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  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 == "Switch"){
  13. @:import { Switch } from 'ant-design-vue';
  14. }
  15. }
  16. export const columns: BasicColumn[] = [
  17. @foreach (var column in Model.TableField){
  18. if(@column.WhetherTable == "Y"){
  19. @:{
  20. @:title: '@column.ColumnComment',
  21. @:dataIndex: '@column.LowerColumnName',
  22. if(@column.EffectType == "Upload"){
  23. @:slots: { customRender: '@(@column.LowerColumnName)' },
  24. }else if(@column.EffectType == "fk"){
  25. @:customRender: ({ record }) => {
  26. @:return record.fk@(@column.ColumnName).@(@column.LowerFkColumnName);
  27. @:},
  28. }else if(@column.EffectType == "Switch"){
  29. @:customRender: ({ record }) => {
  30. @:return h(@(@column.EffectType), { checked: record.@(@column.LowerColumnName) });
  31. @:},
  32. }
  33. @:},
  34. }
  35. }
  36. ];
  37. export const searchFormSchema: FormSchema[] = [
  38. @foreach (var column in Model.QueryWhetherList){
  39. @:{
  40. @:field: '@column.LowerColumnName',
  41. @:label: '@column.ColumnComment',
  42. @:colProps: { span: 8 },
  43. if(@column.EffectType == "fk"){
  44. @:component: 'ApiSelect',
  45. @:componentProps: {
  46. @:api: get@(@column.FkEntityName)Dropdown,
  47. @:labelField: 'label',
  48. @:valueField: 'value',
  49. @:},
  50. }else if(@column.EffectType == "Select"){
  51. @:component: 'ApiSelect',
  52. @:componentProps: {
  53. @:api: getDictDataDropdown,
  54. @:params: '@(@column.DictTypeCode)',
  55. @:fieldNames: {
  56. @:label: 'label',
  57. @:value: 'value',
  58. @:},
  59. @:},
  60. }else if(@column.EffectType == "ApiTreeSelect"){
  61. @:component: '@(@column.EffectType)',
  62. @:componentProps: {
  63. @:api: get@(@column.FkEntityName)Tree,
  64. @:},
  65. }
  66. else if(@column.NetType == "DateTime" && @column.QueryType == "~"){
  67. @:component: 'RangePicker',
  68. @:componentProps: {
  69. @: valueFormat:"YYYY-MM-DD"
  70. @:},
  71. }
  72. else{
  73. @:component: 'Input',
  74. }
  75. @:},
  76. }
  77. ];
  78. export const formSchema: FormSchema[] = [
  79. @foreach (var column in Model.TableField){
  80. @:{
  81. @:label: '@column.ColumnComment',
  82. @:field: '@column.LowerColumnName',
  83. if(@column.EffectType == "fk"){
  84. @:component: 'ApiSelect',
  85. @:componentProps: {
  86. @:api: get@(@column.FkEntityName)Dropdown,
  87. @:labelField: 'label',
  88. @:valueField: 'value',
  89. @:},
  90. }else if(@column.EffectType == "Select"){
  91. @:component: 'ApiSelect',
  92. @:componentProps: {
  93. @:api: getDictDataDropdown,
  94. @:params: '@(@column.DictTypeCode)',
  95. @:fieldNames: {
  96. @:label: 'label',
  97. @:value: 'value',
  98. @:},
  99. @:},
  100. }else if(@column.EffectType == "ApiTreeSelect"){
  101. @:component: '@(@column.EffectType)',
  102. @:componentProps: {
  103. @:api: get@(@column.FkEntityName)Tree,
  104. @:},
  105. }else if(@column.EffectType == "Switch"){
  106. @:component: '@(@column.EffectType)',
  107. @:componentProps: {
  108. @:checkedChildren: '是',
  109. @:unCheckedChildren: '否',
  110. @:},
  111. }else{
  112. @:component: '@column.EffectType',
  113. }
  114. if(@column.WhetherRequired == "Y"){
  115. @:required: true,
  116. }else{
  117. @:required: false,
  118. }
  119. if(@column.EffectType == "Upload"){
  120. @:componentProps: {
  121. @:maxNumber: 1,
  122. @:api: uploadFile,
  123. @:},
  124. }
  125. if(@column.LowerColumnName == "id"){
  126. @:show: false,
  127. }
  128. @:},
  129. }
  130. ];