sh-view 1.7.5 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. package/.eslintrc.js +20 -21
  2. package/package.json +10 -10
  3. package/packages/assets/css/animated.scss +167 -2
  4. package/packages/assets/css/loader.scss +42 -42
  5. package/packages/assets/css/main.scss +41 -21
  6. package/packages/assets/css/theme.scss +83 -44
  7. package/packages/components/global-components/sh-alert/index.vue +173 -0
  8. package/packages/components/global-components/sh-badge/index.vue +227 -0
  9. package/packages/components/global-components/sh-card/index.vue +140 -122
  10. package/packages/components/global-components/sh-code-editor/index.vue +260 -260
  11. package/packages/components/global-components/sh-col/css/index.scss +76 -0
  12. package/packages/components/global-components/sh-col/index.vue +83 -0
  13. package/packages/components/global-components/sh-corner/index.vue +1 -9
  14. package/packages/components/global-components/sh-count-to/index.vue +102 -46
  15. package/packages/components/global-components/sh-date/index.vue +40 -0
  16. package/packages/components/global-components/sh-drawer/index.vue +518 -0
  17. package/packages/components/global-components/sh-drawer/scrollbar.js +76 -0
  18. package/packages/components/global-components/sh-empty/index.vue +43 -43
  19. package/packages/components/global-components/{sh-vxe-form → sh-form}/css/index.scss +6 -6
  20. package/packages/components/global-components/{sh-vxe-form → sh-form}/index.vue +114 -115
  21. package/packages/components/global-components/sh-form/js/methods.js +146 -0
  22. package/packages/components/global-components/{sh-vxe-form → sh-form}/mixin/defaultData.js +32 -33
  23. package/packages/components/global-components/sh-header/index.vue +293 -269
  24. package/packages/components/global-components/sh-icon/css/default/fonts/ionicons.svg +870 -0
  25. package/packages/components/global-components/sh-icon/css/default/fonts/ionicons.ttf +0 -0
  26. package/packages/components/global-components/sh-icon/css/default/fonts/ionicons.woff +0 -0
  27. package/packages/components/global-components/sh-icon/css/default/fonts/ionicons.woff2 +0 -0
  28. package/packages/components/global-components/sh-icon/css/default/icons.scss +2583 -0
  29. package/packages/components/global-components/sh-icon/css/default/index.scss +27 -0
  30. package/packages/components/global-components/sh-icon/css/font/fonts/iconfont.js +1 -0
  31. package/packages/components/global-components/sh-icon/css/font/fonts/iconfont.json +247 -0
  32. package/packages/components/global-components/sh-icon/css/font/fonts/iconfont.ttf +0 -0
  33. package/packages/components/global-components/sh-icon/css/font/fonts/iconfont.woff +0 -0
  34. package/packages/components/global-components/sh-icon/css/font/fonts/iconfont.woff2 +0 -0
  35. package/packages/components/global-components/sh-icon/css/font/icons.scss +135 -0
  36. package/packages/components/global-components/sh-icon/css/font/index.scss +16 -0
  37. package/packages/components/global-components/sh-icon/icon-default.vue +32 -0
  38. package/packages/components/global-components/sh-icon/{icons.vue → icon-font.vue} +32 -32
  39. package/packages/components/global-components/sh-icon/index.vue +28 -27
  40. package/packages/components/global-components/sh-image/index.vue +123 -0
  41. package/packages/components/global-components/sh-list/index.vue +141 -0
  42. package/packages/components/global-components/sh-loading/index.vue +49 -42
  43. package/packages/components/global-components/{sh-vxe-modal → sh-modal}/index.vue +209 -209
  44. package/packages/components/global-components/sh-noticebar/index.vue +201 -201
  45. package/packages/components/global-components/sh-poptip/index.vue +479 -0
  46. package/packages/components/global-components/sh-poptip/popper.js +115 -0
  47. package/packages/components/global-components/sh-progress/index.vue +290 -0
  48. package/packages/components/global-components/sh-pull-refresh/index.vue +290 -290
  49. package/packages/components/global-components/{sh-vxe-query → sh-query}/index.vue +317 -286
  50. package/packages/components/global-components/sh-result/index.vue +110 -88
  51. package/packages/components/global-components/sh-row/css/index.scss +21 -0
  52. package/packages/components/global-components/sh-row/index.vue +63 -0
  53. package/packages/components/global-components/sh-split/components/trigger.vue +33 -0
  54. package/packages/components/global-components/sh-split/index.vue +334 -0
  55. package/packages/components/global-components/sh-table/components/importModal.vue +351 -0
  56. package/packages/components/global-components/{sh-vxe-table → sh-table}/css/index.scss +4 -22
  57. package/packages/components/global-components/{sh-vxe-table → sh-table}/index.vue +329 -351
  58. package/packages/components/global-components/{sh-vxe-table → sh-table}/js/methods.js +91 -153
  59. package/packages/components/global-components/{sh-vxe-table → sh-table}/js/props.js +304 -313
  60. package/packages/components/global-components/{sh-vxe-table → sh-table}/mixin/defaultData.js +94 -116
  61. package/packages/components/global-components/sh-tabs/index.vue +315 -0
  62. package/packages/components/global-components/sh-tag/index.vue +163 -0
  63. package/packages/components/global-components/{sh-vxe-toolbar → sh-toolbar}/index.vue +177 -172
  64. package/packages/components/global-components/sh-tree/components/table-tree.vue +280 -0
  65. package/packages/components/global-components/sh-tree/css/index.scss +54 -0
  66. package/packages/components/global-components/sh-tree/index.vue +195 -0
  67. package/packages/components/global-components/sh-tree/mixin/treeProps.js +124 -0
  68. package/packages/components/global-components/sh-upload/index.vue +278 -418
  69. package/packages/components/global-components/sh-upload/js/ajax.js +80 -0
  70. package/packages/components/global-components/sh-upload/js/mixin.js +257 -0
  71. package/packages/components/global-components/sh-water-fall/index.vue +87 -87
  72. package/packages/components/index.js +85 -59
  73. package/packages/components/other-components/sh-cron-modal/css/index.scss +2 -2
  74. package/packages/components/other-components/sh-menu-card/index.vue +224 -224
  75. package/packages/css/index.js +4 -6
  76. package/packages/directive/index.js +19 -19
  77. package/packages/directive/module/click-out.js +14 -0
  78. package/packages/directive/module/draggable.js +42 -42
  79. package/packages/directive/module/line-clamp.js +22 -0
  80. package/packages/directive/module/prevent-click.js +18 -0
  81. package/packages/directive/module/resize.js +19 -0
  82. package/packages/directive/module/ripple.js +166 -0
  83. package/packages/index.js +39 -40
  84. package/packages/utils/transfer-queue.js +12 -0
  85. package/packages/vxeTable/css/index.scss +12 -98
  86. package/packages/vxeTable/css/variable.scss +7 -265
  87. package/packages/vxeTable/index.js +184 -184
  88. package/packages/vxeTable/plugins/export.js +450 -0
  89. package/packages/vxeTable/render/cell/vxe-render-checkgroup.vue +36 -36
  90. package/packages/vxeTable/render/cell/vxe-render-goption.vue +94 -93
  91. package/packages/vxeTable/render/cell/vxe-render-img.vue +21 -28
  92. package/packages/vxeTable/render/cell/vxe-render-input.vue +51 -51
  93. package/packages/vxeTable/render/cell/vxe-render-progress.vue +19 -19
  94. package/packages/vxeTable/render/cell/vxe-render-radiogroup.vue +36 -36
  95. package/packages/vxeTable/render/cell/vxe-render-select.vue +36 -36
  96. package/packages/vxeTable/render/cell/vxe-render-tree.vue +59 -59
  97. package/packages/vxeTable/render/globalRenders.jsx +498 -491
  98. package/packages/assets/icons/demo.css +0 -539
  99. package/packages/assets/icons/iconfont.css +0 -415
  100. package/packages/assets/icons/iconfont.js +0 -1
  101. package/packages/assets/icons/iconfont.json +0 -709
  102. package/packages/assets/icons/iconfont.ttf +0 -0
  103. package/packages/assets/icons/iconfont.woff +0 -0
  104. package/packages/assets/icons/iconfont.woff2 +0 -0
  105. package/packages/assets/img/image-error.png +0 -0
  106. package/packages/assets/img/square-image.png +0 -0
  107. package/packages/components/global-components/sh-iv-form/components/iv-group-item.vue +0 -57
  108. package/packages/components/global-components/sh-iv-form/components/iv-single-item.vue +0 -76
  109. package/packages/components/global-components/sh-iv-form/index.vue +0 -255
  110. package/packages/components/global-components/sh-layout/index.vue +0 -142
  111. package/packages/components/global-components/sh-upload/components/u-img.vue +0 -63
  112. package/packages/components/global-components/sh-upload/components/u-list.vue +0 -100
  113. package/packages/components/global-components/sh-vxe-form/js/methods.js +0 -170
  114. package/packages/components/global-components/sh-vxe-list/index.vue +0 -129
  115. package/packages/components/global-components/sh-vxe-table/components/importModal.vue +0 -377
  116. package/packages/components/global-components/sh-vxe-tree/components/table-tree.vue +0 -233
  117. package/packages/components/global-components/sh-vxe-tree/css/index.scss +0 -20
  118. package/packages/components/global-components/sh-vxe-tree/index.vue +0 -85
  119. package/packages/components/global-components/sh-vxe-tree/js/props.js +0 -120
  120. package/packages/components/global-components/sh-vxe-tree/js/treeMethods.js +0 -169
  121. package/packages/components/global-components/sh-vxe-tree/mixin/defaultData.js +0 -54
  122. package/packages/components/global-components/sh-vxe-tree/vxe-direct-tree.vue +0 -203
  123. package/packages/components/global-components/sh-vxe-tree/vxe-select-tree.vue +0 -291
  124. package/packages/components/other-components/sh-markdown/tinymce/langs/ar.js +0 -7
  125. package/packages/components/other-components/sh-markdown/tinymce/langs/az.js +0 -7
  126. package/packages/components/other-components/sh-markdown/tinymce/langs/bg_BG.js +0 -7
  127. package/packages/components/other-components/sh-markdown/tinymce/langs/bn_BD.js +0 -7
  128. package/packages/components/other-components/sh-markdown/tinymce/langs/ca.js +0 -7
  129. package/packages/components/other-components/sh-markdown/tinymce/langs/cs.js +0 -7
  130. package/packages/components/other-components/sh-markdown/tinymce/langs/cy.js +0 -7
  131. package/packages/components/other-components/sh-markdown/tinymce/langs/da.js +0 -7
  132. package/packages/components/other-components/sh-markdown/tinymce/langs/de.js +0 -7
  133. package/packages/components/other-components/sh-markdown/tinymce/langs/dv.js +0 -7
  134. package/packages/components/other-components/sh-markdown/tinymce/langs/el.js +0 -7
  135. package/packages/components/other-components/sh-markdown/tinymce/langs/eo.js +0 -7
  136. package/packages/components/other-components/sh-markdown/tinymce/langs/es.js +0 -7
  137. package/packages/components/other-components/sh-markdown/tinymce/langs/es_MX.js +0 -7
  138. package/packages/components/other-components/sh-markdown/tinymce/langs/et.js +0 -7
  139. package/packages/components/other-components/sh-markdown/tinymce/langs/eu.js +0 -7
  140. package/packages/components/other-components/sh-markdown/tinymce/langs/fa.js +0 -7
  141. package/packages/components/other-components/sh-markdown/tinymce/langs/fi.js +0 -7
  142. package/packages/components/other-components/sh-markdown/tinymce/langs/fr_FR.js +0 -7
  143. package/packages/components/other-components/sh-markdown/tinymce/langs/ga.js +0 -7
  144. package/packages/components/other-components/sh-markdown/tinymce/langs/gl.js +0 -7
  145. package/packages/components/other-components/sh-markdown/tinymce/langs/he_IL.js +0 -7
  146. package/packages/components/other-components/sh-markdown/tinymce/langs/hi.js +0 -7
  147. package/packages/components/other-components/sh-markdown/tinymce/langs/hr.js +0 -7
  148. package/packages/components/other-components/sh-markdown/tinymce/langs/hu_HU.js +0 -7
  149. package/packages/components/other-components/sh-markdown/tinymce/langs/hy.js +0 -7
  150. package/packages/components/other-components/sh-markdown/tinymce/langs/id.js +0 -7
  151. package/packages/components/other-components/sh-markdown/tinymce/langs/is_IS.js +0 -7
  152. package/packages/components/other-components/sh-markdown/tinymce/langs/it.js +0 -7
  153. package/packages/components/other-components/sh-markdown/tinymce/langs/ja.js +0 -7
  154. package/packages/components/other-components/sh-markdown/tinymce/langs/kab.js +0 -7
  155. package/packages/components/other-components/sh-markdown/tinymce/langs/kk.js +0 -7
  156. package/packages/components/other-components/sh-markdown/tinymce/langs/ko_KR.js +0 -7
  157. package/packages/components/other-components/sh-markdown/tinymce/langs/ku.js +0 -7
  158. package/packages/components/other-components/sh-markdown/tinymce/langs/lt.js +0 -7
  159. package/packages/components/other-components/sh-markdown/tinymce/langs/lv.js +0 -7
  160. package/packages/components/other-components/sh-markdown/tinymce/langs/nb_NO.js +0 -7
  161. package/packages/components/other-components/sh-markdown/tinymce/langs/ne.js +0 -7
  162. package/packages/components/other-components/sh-markdown/tinymce/langs/nl.js +0 -7
  163. package/packages/components/other-components/sh-markdown/tinymce/langs/nl_BE.js +0 -7
  164. package/packages/components/other-components/sh-markdown/tinymce/langs/oc.js +0 -7
  165. package/packages/components/other-components/sh-markdown/tinymce/langs/pl.js +0 -7
  166. package/packages/components/other-components/sh-markdown/tinymce/langs/pt_BR.js +0 -7
  167. package/packages/components/other-components/sh-markdown/tinymce/langs/ro.js +0 -7
  168. package/packages/components/other-components/sh-markdown/tinymce/langs/ru.js +0 -7
  169. package/packages/components/other-components/sh-markdown/tinymce/langs/sk.js +0 -7
  170. package/packages/components/other-components/sh-markdown/tinymce/langs/sl_SI.js +0 -7
  171. package/packages/components/other-components/sh-markdown/tinymce/langs/sq.js +0 -7
  172. package/packages/components/other-components/sh-markdown/tinymce/langs/sr.js +0 -7
  173. package/packages/components/other-components/sh-markdown/tinymce/langs/sv_SE.js +0 -7
  174. package/packages/components/other-components/sh-markdown/tinymce/langs/ta.js +0 -7
  175. package/packages/components/other-components/sh-markdown/tinymce/langs/tg.js +0 -7
  176. package/packages/components/other-components/sh-markdown/tinymce/langs/th_TH.js +0 -7
  177. package/packages/components/other-components/sh-markdown/tinymce/langs/tr.js +0 -7
  178. package/packages/components/other-components/sh-markdown/tinymce/langs/ug.js +0 -7
  179. package/packages/components/other-components/sh-markdown/tinymce/langs/uk.js +0 -7
  180. package/packages/components/other-components/sh-markdown/tinymce/langs/vi.js +0 -7
  181. package/packages/components/other-components/sh-markdown/tinymce/skins/content/dark/content.css +0 -72
  182. package/packages/components/other-components/sh-markdown/tinymce/skins/content/dark/content.min.css +0 -7
  183. package/packages/components/other-components/sh-markdown/tinymce/skins/content/default/content.min.css +0 -7
  184. package/packages/components/other-components/sh-markdown/tinymce/skins/content/document/content.css +0 -72
  185. package/packages/components/other-components/sh-markdown/tinymce/skins/content/document/content.min.css +0 -7
  186. package/packages/components/other-components/sh-markdown/tinymce/skins/content/writer/content.css +0 -68
  187. package/packages/components/other-components/sh-markdown/tinymce/skins/content/writer/content.min.css +0 -7
  188. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/content.css +0 -714
  189. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/content.inline.css +0 -726
  190. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/content.inline.min.css +0 -7
  191. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/content.min.css +0 -7
  192. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/content.mobile.css +0 -29
  193. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/content.mobile.min.css +0 -7
  194. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/fonts/tinymce-mobile.woff +0 -0
  195. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/skin.css +0 -3047
  196. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/skin.min.css +0 -7
  197. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/skin.mobile.css +0 -673
  198. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/skin.mobile.min.css +0 -7
  199. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/skin.shadowdom.css +0 -37
  200. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css +0 -7
  201. package/packages/directive/directives.js +0 -27
  202. package/packages/iview/css/index.scss +0 -32
  203. package/packages/iview/index.js +0 -25
  204. /package/packages/components/global-components/{sh-vxe-form → sh-form}/components/form-item.vue +0 -0
  205. /package/packages/components/global-components/{sh-vxe-form → sh-form}/js/props.js +0 -0
  206. /package/packages/components/global-components/{sh-vxe-table → sh-table}/js/excel_to_json.js +0 -0
@@ -1,491 +1,498 @@
1
- // 渲染器组件封装
2
- import vxeRenderInput from './cell/vxe-render-input.vue'
3
- import vxeRenderTextarea from './cell/vxe-render-textarea.vue'
4
- import vxeRenderSelect from './cell/vxe-render-select.vue'
5
- import vxeRenderTree from './cell/vxe-render-tree.vue'
6
- import vxeRenderTime from './cell/vxe-render-time.vue'
7
- import vxeRenderProgress from './cell/vxe-render-progress.vue'
8
- import vxeRenderSwitch from './cell/vxe-render-switch.vue'
9
- import vxeRenderMoney from './cell/vxe-render-money.vue'
10
- import vxeRenderCheckbox from './cell/vxe-render-checkbox.vue'
11
- import vxeRenderCheckgroup from './cell/vxe-render-checkgroup.vue'
12
- import vxeRenderRadio from './cell/vxe-render-radio.vue'
13
- import vxeRenderRadiogroup from './cell/vxe-render-radiogroup.vue'
14
- import vxeRenderTable from './cell/vxe-render-table.vue'
15
- import vxeRenderImg from './cell/vxe-render-img.vue'
16
- import vxeRenderHref from './cell/vxe-render-href.vue'
17
- import vxeRenderUpload from './cell/vxe-render-upload.vue'
18
- import vxeRenderCode from './cell/vxe-render-code.vue'
19
- import vxeRenderGoption from './cell/vxe-render-goption.vue'
20
-
21
- // 头部渲染器封装
22
- import vxeHeaderMoney from './header/vxe-header-money.vue'
23
-
24
- // 底部渲染器封装
25
- import vxeFooterInput from './footer/vxe-footer-input.vue'
26
- import vxeFooterMoney from './footer/vxe-footer-money.vue'
27
-
28
- // 过滤器组件封装
29
- import vxeFilterInput from './filters/vxe-filter-input.vue'
30
-
31
- // 系统图片
32
- import imgPlaceholder from '../../assets/img/square-image.png'
33
- import imgError from '../../assets/img/image-error.png'
34
-
35
- // 渲染器通用默认配置
36
- let defaultPublicProps = {
37
- // 转视图字段扩展名字
38
- colExpendName: '_view'
39
- }
40
-
41
- // 渲染器个性化默认配置
42
- let defaultProps = {
43
- $vInput: { type: 'text', placeholder: '请输入', transfer: true, digits: 2, prefixType: 'text', suffixType: 'text' },
44
- $vTextArea: { placeholder: '请输入', rows: 2, transfer: true, resize: 'none', showWordCount: true },
45
- $vSelect: { placeholder: '请选择', filterable: true, transfer: true, showType: 'text', tagColor: 'default', split: ',', options: [] },
46
- $vTree: { placeholder: '请选择', transfer: true, split: ',', nodeKey: 'id', labelField: 'label' },
47
- $vTime: { type: 'date', placeholder: '请选择时间', transfer: true, editable: false, prefixType: 'text', suffixType: 'text' },
48
- $vProgress: { strokeWidth: 20, strokeColor: ['#108ee9', '#87d068'], textInside: true, min: 0, max: 100, digits: 2 },
49
- $vSwitch: { placeholder: '请选择', openLabel: '', openValue: '1', closeLabel: '否', closeValue: '0' },
50
- $vMoney: { type: 'number', placeholder: '请输入', transfer: true, commafy: true, digits: 2, moneyUnit: 1, min: 0, max: 1000000000000 },
51
- $vCheckbox: { placeholder: '请选择', uncheckedValue: '0', checkedValue: '1' },
52
- $vCheckgroup: { placeholder: '请选择', showType: 'text', tagColor: 'default', tagType: '', split: ',' },
53
- $vRadio: { placeholder: '请选择' },
54
- $vRadiogroup: { placeholder: '请选择', showType: 'text', tagColor: 'default', tagType: '' },
55
- $vImg: { square: false, preview: true, width: '100%', height: '34px', placeholder: imgPlaceholder, error: imgError },
56
- $vHref: { disabled: true, target: '_blank' },
57
- $vUpload: { split: ',' },
58
- $vFilterInput: { placeholder: '请输入关键词' },
59
- $vTable: { size: 'mini' },
60
- $vCode: { placeholder: '请输入', border: true, height: '100px' },
61
- $vGlobalOption: { type: 'text' }
62
- }
63
-
64
- // 统一处理传参boolean与配置String问题
65
- const getFixedProp = (renderOpts, params) => {
66
- let { name, props = {} } = renderOpts
67
- let { column, $table } = params
68
- let writeColumn = !!column
69
- if (name === '$vFilterInput') {
70
- writeColumn = false
71
- name = props.colRenderName
72
- }
73
- let rturnProps = Object.assign({}, defaultPublicProps, defaultProps[name], props)
74
- let transKeys = ['disabled', 'multiple', 'isLeaf', 'commafy', 'border', 'calculate']
75
- transKeys.forEach(key => {
76
- if (rturnProps[key] !== null && rturnProps[key] !== undefined && typeof rturnProps[key] === 'string') {
77
- rturnProps[key] = Boolean(+rturnProps[key])
78
- }
79
- })
80
- if (writeColumn) {
81
- column.rname = name
82
- column.rprops = rturnProps
83
- }
84
- return {
85
- rkey: $table ? column.property : params.property,
86
- rdata: $table ? params.row : params.data,
87
- rprops: rturnProps
88
- }
89
- }
90
-
91
- // 全局渲染器
92
- const defaultPublicRenders = {
93
- $vInput: {
94
- autofocus: '.td-render .vxe-input--inner',
95
- autoselect: true,
96
- renderDefault(renderOpts, params) {
97
- let props = getFixedProp(renderOpts, params)
98
- return [<vxeRenderInput redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
99
- },
100
- renderCell(renderOpts, params) {
101
- let props = getFixedProp(renderOpts, params)
102
- return [<vxeRenderInput redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
103
- },
104
- renderEdit(renderOpts, params) {
105
- let props = getFixedProp(renderOpts, params)
106
- return [<vxeRenderInput redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
107
- },
108
- renderItemContent(renderOpts, params) {
109
- let props = getFixedProp(renderOpts, params)
110
- return [<vxeRenderInput redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
111
- },
112
- renderFooter(renderOpts, params) {
113
- let props = getFixedProp(renderOpts, params)
114
- return [<vxeFooterInput redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
115
- }
116
- },
117
- $vTextArea: {
118
- autofocus: '.td-render .vxe-textarea--inner',
119
- autoselect: true,
120
- renderDefault(renderOpts, params) {
121
- let props = getFixedProp(renderOpts, params)
122
- return [<vxeRenderTextarea redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
123
- },
124
- renderCell(renderOpts, params) {
125
- let props = getFixedProp(renderOpts, params)
126
- return [<vxeRenderTextarea redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
127
- },
128
- renderEdit(renderOpts, params) {
129
- let props = getFixedProp(renderOpts, params)
130
- return [<vxeRenderTextarea redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
131
- },
132
- renderItemContent(renderOpts, params) {
133
- let props = getFixedProp(renderOpts, params)
134
- return [<vxeRenderTextarea redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
135
- }
136
- },
137
- $vSelect: {
138
- autofocus: '.td-render .vxe-input--inner',
139
- autoselect: true,
140
- renderDefault(renderOpts, params) {
141
- let props = getFixedProp(renderOpts, params)
142
- return [<vxeRenderSelect redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
143
- },
144
- renderCell(renderOpts, params) {
145
- let props = getFixedProp(renderOpts, params)
146
- return [<vxeRenderSelect redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
147
- },
148
- renderEdit(renderOpts, params) {
149
- let props = getFixedProp(renderOpts, params)
150
- return [<vxeRenderSelect redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
151
- },
152
- renderItemContent(renderOpts, params) {
153
- let props = getFixedProp(renderOpts, params)
154
- return [<vxeRenderSelect redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
155
- }
156
- },
157
- $vTree: {
158
- autofocus: '.td-render .vxe-input--inner',
159
- autoselect: true,
160
- renderDefault(renderOpts, params) {
161
- let props = getFixedProp(renderOpts, params)
162
- return [<vxeRenderTree redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
163
- },
164
- renderCell(renderOpts, params) {
165
- let props = getFixedProp(renderOpts, params)
166
- return [<vxeRenderTree redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
167
- },
168
- renderEdit(renderOpts, params) {
169
- let props = getFixedProp(renderOpts, params)
170
- return [<vxeRenderTree redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
171
- },
172
- renderItemContent(renderOpts, params) {
173
- let props = getFixedProp(renderOpts, params)
174
- return [<vxeRenderTree redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
175
- }
176
- },
177
- $vTime: {
178
- autofocus: '.td-render .vxe-input--inner',
179
- autoselect: true,
180
- renderDefault(renderOpts, params) {
181
- let props = getFixedProp(renderOpts, params)
182
- return [<vxeRenderTime redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
183
- },
184
- renderCell(renderOpts, params) {
185
- let props = getFixedProp(renderOpts, params)
186
- return [<vxeRenderTime redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
187
- },
188
- renderEdit(renderOpts, params) {
189
- let props = getFixedProp(renderOpts, params)
190
- return [<vxeRenderTime redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
191
- },
192
- renderItemContent(renderOpts, params) {
193
- let props = getFixedProp(renderOpts, params)
194
- return [<vxeRenderTime redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
195
- }
196
- },
197
- $vProgress: {
198
- autofocus: '.td-render .vxe-input--inner',
199
- autoselect: true,
200
- renderDefault(renderOpts, params) {
201
- let props = getFixedProp(renderOpts, params)
202
- return [<vxeRenderProgress redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
203
- },
204
- renderCell(renderOpts, params) {
205
- let props = getFixedProp(renderOpts, params)
206
- return [<vxeRenderProgress redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
207
- },
208
- renderEdit(renderOpts, params) {
209
- let props = getFixedProp(renderOpts, params)
210
- return [<vxeRenderProgress redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
211
- },
212
- renderItemContent(renderOpts, params) {
213
- let props = getFixedProp(renderOpts, params)
214
- return [<vxeRenderProgress redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
215
- }
216
- },
217
- $vSwitch: {
218
- autoselect: true,
219
- renderDefault(renderOpts, params) {
220
- let props = getFixedProp(renderOpts, params)
221
- return [<vxeRenderSwitch redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
222
- },
223
- renderCell(renderOpts, params) {
224
- let props = getFixedProp(renderOpts, params)
225
- return [<vxeRenderSwitch redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
226
- },
227
- renderEdit(renderOpts, params) {
228
- let props = getFixedProp(renderOpts, params)
229
- return [<vxeRenderSwitch redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
230
- },
231
- renderItemContent(renderOpts, params) {
232
- let props = getFixedProp(renderOpts, params)
233
- return [<vxeRenderSwitch redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
234
- }
235
- },
236
- $vMoney: {
237
- autofocus: '.td-render .vxe-input--inner',
238
- autoselect: true,
239
- renderDefault(renderOpts, params) {
240
- let props = getFixedProp(renderOpts, params)
241
- return [<vxeRenderMoney redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
242
- },
243
- renderCell(renderOpts, params) {
244
- let props = getFixedProp(renderOpts, params)
245
- return [<vxeRenderMoney redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
246
- },
247
- renderEdit(renderOpts, params) {
248
- let props = getFixedProp(renderOpts, params)
249
- return [<vxeRenderMoney redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
250
- },
251
- renderItemContent(renderOpts, params) {
252
- let props = getFixedProp(renderOpts, params)
253
- return [<vxeRenderMoney redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
254
- },
255
- renderHeader(renderOpts, params) {
256
- let props = getFixedProp(renderOpts, params)
257
- return [<vxeHeaderMoney redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
258
- },
259
- renderFooter(renderOpts, params) {
260
- let props = getFixedProp(renderOpts, params)
261
- return [<vxeFooterMoney redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
262
- }
263
- },
264
- $vCheckbox: {
265
- autoselect: true,
266
- renderDefault(renderOpts, params) {
267
- let props = getFixedProp(renderOpts, params)
268
- return [<vxeRenderCheckbox redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
269
- },
270
- renderCell(renderOpts, params) {
271
- let props = getFixedProp(renderOpts, params)
272
- return [<vxeRenderCheckbox redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
273
- },
274
- renderEdit(renderOpts, params) {
275
- let props = getFixedProp(renderOpts, params)
276
- return [<vxeRenderCheckbox redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
277
- },
278
- renderItemContent(renderOpts, params) {
279
- let props = getFixedProp(renderOpts, params)
280
- return [<vxeRenderCheckbox redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
281
- }
282
- },
283
- $vCheckgroup: {
284
- autoselect: true,
285
- renderDefault(renderOpts, params) {
286
- let props = getFixedProp(renderOpts, params)
287
- return [<vxeRenderCheckgroup redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
288
- },
289
- renderCell(renderOpts, params) {
290
- let props = getFixedProp(renderOpts, params)
291
- return [<vxeRenderCheckgroup redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
292
- },
293
- renderEdit(renderOpts, params) {
294
- let props = getFixedProp(renderOpts, params)
295
- return [<vxeRenderCheckgroup redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
296
- },
297
- renderItemContent(renderOpts, params) {
298
- let props = getFixedProp(renderOpts, params)
299
- return [<vxeRenderCheckgroup redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
300
- }
301
- },
302
- $vRadio: {
303
- autoselect: true,
304
- renderDefault(renderOpts, params) {
305
- let props = getFixedProp(renderOpts, params)
306
- return [<vxeRenderRadio redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
307
- },
308
- renderCell(renderOpts, params) {
309
- let props = getFixedProp(renderOpts, params)
310
- return [<vxeRenderRadio redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
311
- },
312
- renderEdit(renderOpts, params) {
313
- let props = getFixedProp(renderOpts, params)
314
- return [<vxeRenderRadio redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
315
- },
316
- renderItemContent(renderOpts, params) {
317
- let props = getFixedProp(renderOpts, params)
318
- return [<vxeRenderRadio redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
319
- }
320
- },
321
- $vRadiogroup: {
322
- autoselect: true,
323
- renderDefault(renderOpts, params) {
324
- let props = getFixedProp(renderOpts, params)
325
- return [<vxeRenderRadiogroup redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
326
- },
327
- renderCell(renderOpts, params) {
328
- let props = getFixedProp(renderOpts, params)
329
- return [<vxeRenderRadiogroup redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
330
- },
331
- renderEdit(renderOpts, params) {
332
- let props = getFixedProp(renderOpts, params)
333
- return [<vxeRenderRadiogroup redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
334
- },
335
- renderItemContent(renderOpts, params) {
336
- let props = getFixedProp(renderOpts, params)
337
- return [<vxeRenderRadiogroup redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
338
- }
339
- },
340
- $vTable: {
341
- renderExpand(renderOpts, params) {
342
- let props = getFixedProp(renderOpts, params)
343
- return [<vxeRenderTable redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
344
- },
345
- renderItemContent(renderOpts, params) {
346
- let props = getFixedProp(renderOpts, params)
347
- return [<vxeRenderTable redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
348
- }
349
- },
350
- $vImg: {
351
- renderDefault(renderOpts, params) {
352
- let props = getFixedProp(renderOpts, params)
353
- return [<vxeRenderImg redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
354
- },
355
- renderCell(renderOpts, params) {
356
- let props = getFixedProp(renderOpts, params)
357
- return [<vxeRenderImg redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
358
- },
359
- renderEdit(renderOpts, params) {
360
- let props = getFixedProp(renderOpts, params)
361
- return [<vxeRenderImg redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
362
- }
363
- },
364
- $vHref: {
365
- autoselect: true,
366
- renderDefault(renderOpts, params) {
367
- let props = getFixedProp(renderOpts, params)
368
- return [<vxeRenderHref redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
369
- },
370
- renderCell(renderOpts, params) {
371
- let props = getFixedProp(renderOpts, params)
372
- return [<vxeRenderHref redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
373
- },
374
- renderEdit(renderOpts, params) {
375
- let props = getFixedProp(renderOpts, params)
376
- return [<vxeRenderHref redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
377
- }
378
- },
379
- $vUpload: {
380
- autoselect: true,
381
- renderDefault(renderOpts, params) {
382
- let props = getFixedProp(renderOpts, params)
383
- return [<vxeRenderUpload redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
384
- },
385
- renderCell(renderOpts, params) {
386
- let props = getFixedProp(renderOpts, params)
387
- return [<vxeRenderUpload redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
388
- },
389
- renderEdit(renderOpts, params) {
390
- let props = getFixedProp(renderOpts, params)
391
- return [<vxeRenderUpload redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
392
- },
393
- renderItemContent(renderOpts, params) {
394
- let props = getFixedProp(renderOpts, params)
395
- return [<vxeRenderUpload redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
396
- }
397
- },
398
- $vGlobalOption: {
399
- renderDefault(renderOpts, params) {
400
- let props = getFixedProp(renderOpts, params)
401
- return [<vxeRenderGoption redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
402
- },
403
- renderCell(renderOpts, params) {
404
- let props = getFixedProp(renderOpts, params)
405
- return [<vxeRenderGoption redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
406
- },
407
- renderEdit(renderOpts, params) {
408
- let props = getFixedProp(renderOpts, params)
409
- return [<vxeRenderGoption redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
410
- }
411
- },
412
- $vCode: {
413
- autoselect: true,
414
- renderDefault(renderOpts, params) {
415
- let props = getFixedProp(renderOpts, params)
416
- return [<vxeRenderCode redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
417
- },
418
- renderCell(renderOpts, params) {
419
- let props = getFixedProp(renderOpts, params)
420
- return [<vxeRenderCode redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
421
- },
422
- renderEdit(renderOpts, params) {
423
- let props = getFixedProp(renderOpts, params)
424
- return [<vxeRenderCode redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
425
- },
426
- renderItemContent(renderOpts, params) {
427
- let props = getFixedProp(renderOpts, params)
428
- return [<vxeRenderCode redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
429
- }
430
- }
431
- }
432
-
433
- // 扩展渲染器
434
- const defaultExtraRenders = {
435
- $vRowCell: {
436
- renderDefault(renderOpts, params) {
437
- let field = params.row[params.column.property + 'field'] || params.column.property
438
- let renderName = params.row[field + 'RenderName'] || '$vInput'
439
- return defaultPublicRenders[renderName].renderDefault(renderOpts, params)
440
- },
441
- renderCell(renderOpts, params) {
442
- let field = params.row[params.column.property + 'field'] || params.column.property
443
- let renderName = params.row[field + 'RenderName'] || '$vInput'
444
- return defaultPublicRenders[renderName].renderCell(renderOpts, params)
445
- },
446
- renderEdit(renderOpts, params) {
447
- let field = params.row[params.column.property + 'field'] || params.column.property
448
- let renderName = params.row[field + 'RenderName'] || ''
449
- return renderName ? defaultPublicRenders[renderName].renderEdit(renderOpts, params) : defaultPublicRenders[renderName].renderDefault(renderOpts, params)
450
- },
451
- renderItemContent(renderOpts, params) {
452
- let field = params.data[params.property + 'field'] || params.property
453
- let renderName = params.data[field + 'RenderName'] || '$vInput'
454
- return defaultPublicRenders[renderName].renderItemContent(renderOpts, params)
455
- }
456
- }
457
- }
458
-
459
- // 过滤渲染器
460
- const defaultFilterRenders = {
461
- $vFilterInput: {
462
- renderFilter(renderOpts, params) {
463
- let props = getFixedProp(renderOpts, params)
464
- return [<vxeFilterInput rparams={params} rname={renderOpts.name} rprops={props.rprops} />]
465
- },
466
- filterResetMethod({ options, column }) {
467
- options.forEach(option => {
468
- option.data = option.resetValue || ''
469
- })
470
- },
471
- filterMethod({ value, option, cellValue, row, column, $table }) {
472
- const { data } = option
473
- const { rname, rprops, property } = column
474
- if (defaultPublicRendersNames.expendRenders.includes(rname)) {
475
- let { rtext } = $table.$vUtils.formatRender(cellValue, property, row, rname, rprops, $table)
476
- return String(rtext).toLowerCase().indexOf(data.toLowerCase()) > -1
477
- }
478
- return String(cellValue).toLowerCase().indexOf(data.toLowerCase()) > -1
479
- }
480
- }
481
- }
482
-
483
- // 全局渲染器名称
484
- const defaultPublicRendersNames = {
485
- allPlugins: Object.keys(defaultPublicRenders),
486
- expendRenders: ['$vSelect', '$vCheckgroup', '$vMoney', '$vRadiogroup', '$vSwitch', '$vTree', '$vTime'], // 需要转换视图字段的渲染器
487
- expendName: defaultPublicProps.colExpendName,
488
- sortByExpendName: defaultPublicProps.colExpendName
489
- }
490
-
491
- export { defaultPublicRenders, defaultExtraRenders, defaultFilterRenders, defaultPublicRendersNames }
1
+ import { utils } from 'sh-tools'
2
+
3
+ // 渲染器组件封装
4
+ import vxeRenderInput from './cell/vxe-render-input.vue'
5
+ import vxeRenderTextarea from './cell/vxe-render-textarea.vue'
6
+ import vxeRenderSelect from './cell/vxe-render-select.vue'
7
+ import vxeRenderTree from './cell/vxe-render-tree.vue'
8
+ import vxeRenderTime from './cell/vxe-render-time.vue'
9
+ import vxeRenderProgress from './cell/vxe-render-progress.vue'
10
+ import vxeRenderSwitch from './cell/vxe-render-switch.vue'
11
+ import vxeRenderMoney from './cell/vxe-render-money.vue'
12
+ import vxeRenderCheckbox from './cell/vxe-render-checkbox.vue'
13
+ import vxeRenderCheckgroup from './cell/vxe-render-checkgroup.vue'
14
+ import vxeRenderRadio from './cell/vxe-render-radio.vue'
15
+ import vxeRenderRadiogroup from './cell/vxe-render-radiogroup.vue'
16
+ import vxeRenderTable from './cell/vxe-render-table.vue'
17
+ import vxeRenderImg from './cell/vxe-render-img.vue'
18
+ import vxeRenderHref from './cell/vxe-render-href.vue'
19
+ import vxeRenderUpload from './cell/vxe-render-upload.vue'
20
+ import vxeRenderCode from './cell/vxe-render-code.vue'
21
+ import vxeRenderGoption from './cell/vxe-render-goption.vue'
22
+
23
+ // 头部渲染器封装
24
+ import vxeHeaderMoney from './header/vxe-header-money.vue'
25
+
26
+ // 底部渲染器封装
27
+ import vxeFooterInput from './footer/vxe-footer-input.vue'
28
+ import vxeFooterMoney from './footer/vxe-footer-money.vue'
29
+
30
+ // 过滤器组件封装
31
+ import vxeFilterInput from './filters/vxe-filter-input.vue'
32
+
33
+ // 渲染器通用默认配置
34
+ let defaultPublicProps = {
35
+ // 转视图字段扩展名字
36
+ colExpendName: '_view'
37
+ }
38
+
39
+ // 渲染器个性化默认配置
40
+ let defaultProps = {
41
+ $vInput: { type: 'text', placeholder: '请输入', transfer: true, digits: 2, prefixType: 'text', suffixType: 'text' },
42
+ $vTextArea: { placeholder: '请输入', rows: 2, transfer: true, resize: 'none', showWordCount: true },
43
+ $vSelect: { placeholder: '请选择', filterable: true, transfer: true, showType: 'text', tagColor: 'default', split: ',', options: [] },
44
+ $vTree: { placeholder: '请选择', transfer: true, split: ',', nodeKey: 'id', labelField: 'label' },
45
+ $vTime: { type: 'date', placeholder: '请选择时间', transfer: true, editable: false, prefixType: 'text', suffixType: 'text' },
46
+ $vProgress: { strokeWidth: 20, strokeColor: ['#108ee9', '#87d068'], textInside: true, min: 0, max: 100, digits: 2 },
47
+ $vSwitch: { placeholder: '请选择', openLabel: '', openValue: '1', closeLabel: '', closeValue: '0' },
48
+ $vMoney: { type: 'number', placeholder: '请输入', transfer: true, commafy: true, digits: 2, moneyUnit: 1, min: 0, max: 1000000000000 },
49
+ $vCheckbox: { placeholder: '请选择', uncheckedValue: '0', checkedValue: '1' },
50
+ $vCheckgroup: { placeholder: '请选择', showType: 'text', tagColor: 'default', tagType: '', split: ',' },
51
+ $vRadio: { placeholder: '请选择' },
52
+ $vRadiogroup: { placeholder: '请选择', showType: 'text', tagColor: 'default', tagType: '' },
53
+ $vImg: { square: false, preview: true, width: '100%', height: '34px', fit: 'scale-down' },
54
+ $vHref: { disabled: true, target: '_blank' },
55
+ $vUpload: { split: ',' },
56
+ $vFilterInput: { placeholder: '请输入关键词' },
57
+ $vTable: { size: 'mini' },
58
+ $vCode: { placeholder: '请输入', border: true, height: '100px' },
59
+ $vGlobalOption: { type: 'text' }
60
+ }
61
+
62
+ // 统一处理传参boolean与配置String问题
63
+ const getFixedProp = (renderOpts, params) => {
64
+ let { name, props = {} } = renderOpts
65
+ let { column, $table } = params
66
+ let writeColumn = !!column
67
+ if (name === '$vFilterInput') {
68
+ writeColumn = false
69
+ name = props.colRenderName
70
+ }
71
+ let rturnProps = Object.assign({}, defaultPublicProps, defaultProps[name], props)
72
+ let transKeys = ['disabled', 'multiple', 'isLeaf', 'commafy', 'border', 'calculate']
73
+ transKeys.forEach(key => {
74
+ if (rturnProps[key] !== null && rturnProps[key] !== undefined && typeof rturnProps[key] === 'string') {
75
+ rturnProps[key] = Boolean(+rturnProps[key])
76
+ }
77
+ })
78
+ if (writeColumn) {
79
+ column.rname = name
80
+ column.rprops = rturnProps
81
+ }
82
+ return {
83
+ rkey: $table ? column.property : params.property,
84
+ rdata: $table ? params.row : params.data,
85
+ rprops: rturnProps
86
+ }
87
+ }
88
+
89
+ // 全局渲染器
90
+ const publicRenders = {
91
+ $vInput: {
92
+ autofocus: '.td-render .vxe-input--inner',
93
+ autoselect: true,
94
+ renderDefault(renderOpts, params) {
95
+ let props = getFixedProp(renderOpts, params)
96
+ return [<vxeRenderInput redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
97
+ },
98
+ renderCell(renderOpts, params) {
99
+ let props = getFixedProp(renderOpts, params)
100
+ return [<vxeRenderInput redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
101
+ },
102
+ renderEdit(renderOpts, params) {
103
+ let props = getFixedProp(renderOpts, params)
104
+ return [<vxeRenderInput redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
105
+ },
106
+ renderItemContent(renderOpts, params) {
107
+ let props = getFixedProp(renderOpts, params)
108
+ return [<vxeRenderInput redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
109
+ },
110
+ renderFooter(renderOpts, params) {
111
+ let props = getFixedProp(renderOpts, params)
112
+ return [<vxeFooterInput redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
113
+ }
114
+ },
115
+ $vTextArea: {
116
+ autofocus: '.td-render .vxe-textarea--inner',
117
+ autoselect: true,
118
+ renderDefault(renderOpts, params) {
119
+ let props = getFixedProp(renderOpts, params)
120
+ return [<vxeRenderTextarea redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
121
+ },
122
+ renderCell(renderOpts, params) {
123
+ let props = getFixedProp(renderOpts, params)
124
+ return [<vxeRenderTextarea redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
125
+ },
126
+ renderEdit(renderOpts, params) {
127
+ let props = getFixedProp(renderOpts, params)
128
+ return [<vxeRenderTextarea redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
129
+ },
130
+ renderItemContent(renderOpts, params) {
131
+ let props = getFixedProp(renderOpts, params)
132
+ return [<vxeRenderTextarea redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
133
+ }
134
+ },
135
+ $vSelect: {
136
+ autofocus: '.td-render .vxe-input--inner',
137
+ autoselect: true,
138
+ renderDefault(renderOpts, params) {
139
+ let props = getFixedProp(renderOpts, params)
140
+ return [<vxeRenderSelect redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
141
+ },
142
+ renderCell(renderOpts, params) {
143
+ let props = getFixedProp(renderOpts, params)
144
+ return [<vxeRenderSelect redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
145
+ },
146
+ renderEdit(renderOpts, params) {
147
+ let props = getFixedProp(renderOpts, params)
148
+ return [<vxeRenderSelect redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
149
+ },
150
+ renderItemContent(renderOpts, params) {
151
+ let props = getFixedProp(renderOpts, params)
152
+ return [<vxeRenderSelect redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
153
+ }
154
+ },
155
+ $vTree: {
156
+ autofocus: '.td-render .vxe-input--inner',
157
+ autoselect: true,
158
+ renderDefault(renderOpts, params) {
159
+ let props = getFixedProp(renderOpts, params)
160
+ return [<vxeRenderTree redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
161
+ },
162
+ renderCell(renderOpts, params) {
163
+ let props = getFixedProp(renderOpts, params)
164
+ return [<vxeRenderTree redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
165
+ },
166
+ renderEdit(renderOpts, params) {
167
+ let props = getFixedProp(renderOpts, params)
168
+ return [<vxeRenderTree redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
169
+ },
170
+ renderItemContent(renderOpts, params) {
171
+ let props = getFixedProp(renderOpts, params)
172
+ return [<vxeRenderTree redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
173
+ }
174
+ },
175
+ $vTime: {
176
+ autofocus: '.td-render .vxe-input--inner',
177
+ autoselect: true,
178
+ renderDefault(renderOpts, params) {
179
+ let props = getFixedProp(renderOpts, params)
180
+ return [<vxeRenderTime redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
181
+ },
182
+ renderCell(renderOpts, params) {
183
+ let props = getFixedProp(renderOpts, params)
184
+ return [<vxeRenderTime redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
185
+ },
186
+ renderEdit(renderOpts, params) {
187
+ let props = getFixedProp(renderOpts, params)
188
+ return [<vxeRenderTime redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
189
+ },
190
+ renderItemContent(renderOpts, params) {
191
+ let props = getFixedProp(renderOpts, params)
192
+ return [<vxeRenderTime redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
193
+ }
194
+ },
195
+ $vProgress: {
196
+ autofocus: '.td-render .vxe-input--inner',
197
+ autoselect: true,
198
+ renderDefault(renderOpts, params) {
199
+ let props = getFixedProp(renderOpts, params)
200
+ return [<vxeRenderProgress redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
201
+ },
202
+ renderCell(renderOpts, params) {
203
+ let props = getFixedProp(renderOpts, params)
204
+ return [<vxeRenderProgress redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
205
+ },
206
+ renderEdit(renderOpts, params) {
207
+ let props = getFixedProp(renderOpts, params)
208
+ return [<vxeRenderProgress redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
209
+ },
210
+ renderItemContent(renderOpts, params) {
211
+ let props = getFixedProp(renderOpts, params)
212
+ return [<vxeRenderProgress redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
213
+ },
214
+ exportMethod({ row, column }) {
215
+ return utils.get(row, column.property)
216
+ }
217
+ },
218
+ $vSwitch: {
219
+ autoselect: true,
220
+ renderDefault(renderOpts, params) {
221
+ let props = getFixedProp(renderOpts, params)
222
+ return [<vxeRenderSwitch redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
223
+ },
224
+ renderCell(renderOpts, params) {
225
+ let props = getFixedProp(renderOpts, params)
226
+ return [<vxeRenderSwitch redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
227
+ },
228
+ renderEdit(renderOpts, params) {
229
+ let props = getFixedProp(renderOpts, params)
230
+ return [<vxeRenderSwitch redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
231
+ },
232
+ renderItemContent(renderOpts, params) {
233
+ let props = getFixedProp(renderOpts, params)
234
+ return [<vxeRenderSwitch redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
235
+ }
236
+ },
237
+ $vMoney: {
238
+ autofocus: '.td-render .vxe-input--inner',
239
+ autoselect: true,
240
+ renderDefault(renderOpts, params) {
241
+ let props = getFixedProp(renderOpts, params)
242
+ return [<vxeRenderMoney redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
243
+ },
244
+ renderCell(renderOpts, params) {
245
+ let props = getFixedProp(renderOpts, params)
246
+ return [<vxeRenderMoney redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
247
+ },
248
+ renderEdit(renderOpts, params) {
249
+ let props = getFixedProp(renderOpts, params)
250
+ return [<vxeRenderMoney redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
251
+ },
252
+ renderItemContent(renderOpts, params) {
253
+ let props = getFixedProp(renderOpts, params)
254
+ return [<vxeRenderMoney redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
255
+ },
256
+ renderHeader(renderOpts, params) {
257
+ let props = getFixedProp(renderOpts, params)
258
+ return [<vxeHeaderMoney redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
259
+ },
260
+ renderFooter(renderOpts, params) {
261
+ let props = getFixedProp(renderOpts, params)
262
+ return [<vxeFooterMoney redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
263
+ },
264
+ exportMethod({ row, column }) {
265
+ return utils.get(row, column.property)
266
+ }
267
+ },
268
+ $vCheckbox: {
269
+ autoselect: true,
270
+ renderDefault(renderOpts, params) {
271
+ let props = getFixedProp(renderOpts, params)
272
+ return [<vxeRenderCheckbox redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
273
+ },
274
+ renderCell(renderOpts, params) {
275
+ let props = getFixedProp(renderOpts, params)
276
+ return [<vxeRenderCheckbox redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
277
+ },
278
+ renderEdit(renderOpts, params) {
279
+ let props = getFixedProp(renderOpts, params)
280
+ return [<vxeRenderCheckbox redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
281
+ },
282
+ renderItemContent(renderOpts, params) {
283
+ let props = getFixedProp(renderOpts, params)
284
+ return [<vxeRenderCheckbox redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
285
+ }
286
+ },
287
+ $vCheckgroup: {
288
+ autoselect: true,
289
+ renderDefault(renderOpts, params) {
290
+ let props = getFixedProp(renderOpts, params)
291
+ return [<vxeRenderCheckgroup redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
292
+ },
293
+ renderCell(renderOpts, params) {
294
+ let props = getFixedProp(renderOpts, params)
295
+ return [<vxeRenderCheckgroup redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
296
+ },
297
+ renderEdit(renderOpts, params) {
298
+ let props = getFixedProp(renderOpts, params)
299
+ return [<vxeRenderCheckgroup redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
300
+ },
301
+ renderItemContent(renderOpts, params) {
302
+ let props = getFixedProp(renderOpts, params)
303
+ return [<vxeRenderCheckgroup redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
304
+ }
305
+ },
306
+ $vRadio: {
307
+ autoselect: true,
308
+ renderDefault(renderOpts, params) {
309
+ let props = getFixedProp(renderOpts, params)
310
+ return [<vxeRenderRadio redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
311
+ },
312
+ renderCell(renderOpts, params) {
313
+ let props = getFixedProp(renderOpts, params)
314
+ return [<vxeRenderRadio redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
315
+ },
316
+ renderEdit(renderOpts, params) {
317
+ let props = getFixedProp(renderOpts, params)
318
+ return [<vxeRenderRadio redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
319
+ },
320
+ renderItemContent(renderOpts, params) {
321
+ let props = getFixedProp(renderOpts, params)
322
+ return [<vxeRenderRadio redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
323
+ }
324
+ },
325
+ $vRadiogroup: {
326
+ autoselect: true,
327
+ renderDefault(renderOpts, params) {
328
+ let props = getFixedProp(renderOpts, params)
329
+ return [<vxeRenderRadiogroup redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
330
+ },
331
+ renderCell(renderOpts, params) {
332
+ let props = getFixedProp(renderOpts, params)
333
+ return [<vxeRenderRadiogroup redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
334
+ },
335
+ renderEdit(renderOpts, params) {
336
+ let props = getFixedProp(renderOpts, params)
337
+ return [<vxeRenderRadiogroup redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
338
+ },
339
+ renderItemContent(renderOpts, params) {
340
+ let props = getFixedProp(renderOpts, params)
341
+ return [<vxeRenderRadiogroup redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
342
+ }
343
+ },
344
+ $vTable: {
345
+ renderExpand(renderOpts, params) {
346
+ let props = getFixedProp(renderOpts, params)
347
+ return [<vxeRenderTable redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
348
+ },
349
+ renderItemContent(renderOpts, params) {
350
+ let props = getFixedProp(renderOpts, params)
351
+ return [<vxeRenderTable redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
352
+ }
353
+ },
354
+ $vImg: {
355
+ renderDefault(renderOpts, params) {
356
+ let props = getFixedProp(renderOpts, params)
357
+ return [<vxeRenderImg redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
358
+ },
359
+ renderCell(renderOpts, params) {
360
+ let props = getFixedProp(renderOpts, params)
361
+ return [<vxeRenderImg redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
362
+ },
363
+ renderEdit(renderOpts, params) {
364
+ let props = getFixedProp(renderOpts, params)
365
+ return [<vxeRenderImg redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
366
+ },
367
+ exportMethod({ row, column }) {
368
+ return utils.get(row, column.property)
369
+ }
370
+ },
371
+ $vHref: {
372
+ autoselect: true,
373
+ renderDefault(renderOpts, params) {
374
+ let props = getFixedProp(renderOpts, params)
375
+ return [<vxeRenderHref redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
376
+ },
377
+ renderCell(renderOpts, params) {
378
+ let props = getFixedProp(renderOpts, params)
379
+ return [<vxeRenderHref redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
380
+ },
381
+ renderEdit(renderOpts, params) {
382
+ let props = getFixedProp(renderOpts, params)
383
+ return [<vxeRenderHref redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
384
+ }
385
+ },
386
+ $vUpload: {
387
+ autoselect: true,
388
+ renderDefault(renderOpts, params) {
389
+ let props = getFixedProp(renderOpts, params)
390
+ return [<vxeRenderUpload redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
391
+ },
392
+ renderCell(renderOpts, params) {
393
+ let props = getFixedProp(renderOpts, params)
394
+ return [<vxeRenderUpload redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
395
+ },
396
+ renderEdit(renderOpts, params) {
397
+ let props = getFixedProp(renderOpts, params)
398
+ return [<vxeRenderUpload redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
399
+ },
400
+ renderItemContent(renderOpts, params) {
401
+ let props = getFixedProp(renderOpts, params)
402
+ return [<vxeRenderUpload redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
403
+ }
404
+ },
405
+ $vGlobalOption: {
406
+ renderDefault(renderOpts, params) {
407
+ let props = getFixedProp(renderOpts, params)
408
+ return [<vxeRenderGoption redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
409
+ },
410
+ renderCell(renderOpts, params) {
411
+ let props = getFixedProp(renderOpts, params)
412
+ return [<vxeRenderGoption redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
413
+ },
414
+ renderEdit(renderOpts, params) {
415
+ let props = getFixedProp(renderOpts, params)
416
+ return [<vxeRenderGoption redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
417
+ }
418
+ },
419
+ $vCode: {
420
+ autoselect: true,
421
+ renderDefault(renderOpts, params) {
422
+ let props = getFixedProp(renderOpts, params)
423
+ return [<vxeRenderCode redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
424
+ },
425
+ renderCell(renderOpts, params) {
426
+ let props = getFixedProp(renderOpts, params)
427
+ return [<vxeRenderCode redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
428
+ },
429
+ renderEdit(renderOpts, params) {
430
+ let props = getFixedProp(renderOpts, params)
431
+ return [<vxeRenderCode redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
432
+ },
433
+ renderItemContent(renderOpts, params) {
434
+ let props = getFixedProp(renderOpts, params)
435
+ return [<vxeRenderCode redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
436
+ }
437
+ }
438
+ }
439
+
440
+ // 扩展渲染器
441
+ const extraRenders = {
442
+ $vRowCell: {
443
+ renderDefault(renderOpts, params) {
444
+ let field = params.row[params.column.property + 'field'] || params.column.property
445
+ let renderName = params.row[field + 'RenderName'] || '$vInput'
446
+ return publicRenders[renderName].renderDefault(renderOpts, params)
447
+ },
448
+ renderCell(renderOpts, params) {
449
+ let field = params.row[params.column.property + 'field'] || params.column.property
450
+ let renderName = params.row[field + 'RenderName'] || '$vInput'
451
+ return publicRenders[renderName].renderCell(renderOpts, params)
452
+ },
453
+ renderEdit(renderOpts, params) {
454
+ let field = params.row[params.column.property + 'field'] || params.column.property
455
+ let renderName = params.row[field + 'RenderName'] || ''
456
+ return renderName ? publicRenders[renderName].renderEdit(renderOpts, params) : publicRenders[renderName].renderDefault(renderOpts, params)
457
+ },
458
+ renderItemContent(renderOpts, params) {
459
+ let field = params.data[params.property + 'field'] || params.property
460
+ let renderName = params.data[field + 'RenderName'] || '$vInput'
461
+ return publicRenders[renderName].renderItemContent(renderOpts, params)
462
+ }
463
+ }
464
+ }
465
+
466
+ // 过滤渲染器
467
+ const filterRenders = {
468
+ $vFilterInput: {
469
+ renderFilter(renderOpts, params) {
470
+ let props = getFixedProp(renderOpts, params)
471
+ return [<vxeFilterInput rparams={params} rname={renderOpts.name} rprops={props.rprops} />]
472
+ },
473
+ filterResetMethod({ options, column }) {
474
+ options.forEach(option => {
475
+ option.data = option.resetValue || ''
476
+ })
477
+ },
478
+ filterMethod({ value, option, cellValue, row, column, $table }) {
479
+ const { data } = option
480
+ const { rname, rprops, property } = column
481
+ if (publicRendersNames.expendRenders.includes(rname)) {
482
+ let { rtext } = $table.$vUtils.formatRender(cellValue, property, row, rname, rprops, $table)
483
+ return String(rtext).toLowerCase().indexOf(data.toLowerCase()) > -1
484
+ }
485
+ return String(cellValue).toLowerCase().indexOf(data.toLowerCase()) > -1
486
+ }
487
+ }
488
+ }
489
+
490
+ // 全局渲染器名称
491
+ const publicRendersNames = {
492
+ allPlugins: Object.keys(publicRenders),
493
+ expendRenders: ['$vSelect', '$vCheckgroup', '$vMoney', '$vRadiogroup', '$vSwitch', '$vTree', '$vTime'], // 需要转换视图字段的渲染器
494
+ expendName: defaultPublicProps.colExpendName,
495
+ sortByExpendName: defaultPublicProps.colExpendName
496
+ }
497
+
498
+ export { publicRenders, extraRenders, filterRenders, publicRendersNames }