check.rule.data.ts 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. import { BasicColumn, FormSchema } from '/@/components/Table';
  2. import { render } from '/@/utils/common/renderUtils';
  3. import { duplicateCheck } from '/@/views/system/user/user.api';
  4. import { validateCheckRule } from '/@/views/system/checkRule/check.rule.api';
  5. import { array } from 'vue-types';
  6. export const columns: BasicColumn[] = [
  7. {
  8. title: '规则名称',
  9. dataIndex: 'ruleName',
  10. width: 200,
  11. align: 'center',
  12. },
  13. {
  14. title: '规则编码',
  15. dataIndex: 'ruleCode',
  16. width: 200,
  17. align: 'center',
  18. },
  19. {
  20. title: '规则描述',
  21. dataIndex: 'ruleDescription',
  22. width: 300,
  23. align: 'center',
  24. customRender: function ({ text }) {
  25. return render.renderTip(text, 30);
  26. },
  27. },
  28. ];
  29. export const searchFormSchema: FormSchema[] = [
  30. {
  31. field: 'ruleName',
  32. label: '规则名称',
  33. component: 'Input',
  34. colProps: { span: 6 },
  35. },
  36. {
  37. field: 'ruleCode',
  38. label: '规则编码',
  39. component: 'Input',
  40. colProps: { span: 6 },
  41. },
  42. ];
  43. export const formSchema: FormSchema[] = [
  44. {
  45. label: '',
  46. field: 'id',
  47. component: 'Input',
  48. show: false,
  49. },
  50. {
  51. field: 'ruleName',
  52. label: '规则名称',
  53. component: 'Input',
  54. required: true,
  55. colProps: { span: 24 },
  56. },
  57. {
  58. field: 'ruleCode',
  59. label: '规则编码',
  60. component: 'Input',
  61. colProps: { span: 24 },
  62. dynamicDisabled: ({ values }) => {
  63. return !!values.id;
  64. },
  65. dynamicRules: ({ model }) => {
  66. return [
  67. {
  68. required: true,
  69. validator: (_, value) => {
  70. return new Promise((resolve, reject) => {
  71. if (!value) {
  72. return reject('请输入规则编码!');
  73. }
  74. const params = {
  75. tableName: 'sys_check_rule',
  76. fieldName: 'rule_code',
  77. fieldVal: value,
  78. dataId: model.id,
  79. };
  80. duplicateCheck(params)
  81. .then((res) => {
  82. res.success ? resolve() : reject('规则编码已存在!');
  83. })
  84. .catch((err) => {
  85. reject(err.message || '校验失败');
  86. });
  87. });
  88. },
  89. },
  90. ];
  91. },
  92. },
  93. {
  94. field: 'ruleDescription',
  95. label: '规则描述',
  96. colProps: { span: 24 },
  97. component: 'InputTextArea',
  98. componentProps: {
  99. placeholder: '请输入规则描述',
  100. rows: 2,
  101. },
  102. },
  103. ];
  104. export const checkRuleInput: FormSchema[] = [
  105. {
  106. label: '123',
  107. field: 'ruleCode',
  108. component: 'Input',
  109. show: false,
  110. },
  111. {
  112. field: 'testValue',
  113. label: '需要测试的值:',
  114. component: 'Input',
  115. componentProps: ({ formModel }) => {
  116. return {
  117. onChange: (e) => {
  118. formModel.testValue = e.target.value;
  119. },
  120. };
  121. },
  122. dynamicRules: ({ model }) => {
  123. const { ruleCode } = model;
  124. return [
  125. {
  126. required: false,
  127. validator: (_, value) => {
  128. return new Promise((resolve, reject) => {
  129. if (ruleCode && value) {
  130. /*console.log({ruleCode,value})*/
  131. validateCheckRule(ruleCode, value)
  132. .then((res) => {
  133. //console.log(1233, res)
  134. res['success'] ? resolve() : reject(res['message']);
  135. })
  136. .catch((err) => {
  137. reject(err.message || err);
  138. });
  139. } else {
  140. resolve();
  141. }
  142. });
  143. },
  144. },
  145. ];
  146. },
  147. },
  148. ];