data.data.ts.vm 3.7 KB

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