sh-view 1.7.6 → 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 (200) 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-vxe-form → sh-form}/js/methods.js +146 -157
  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 -310
  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 -142
  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 +33 -88
  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 -275
  69. package/packages/components/global-components/sh-water-fall/index.vue +87 -87
  70. package/packages/components/index.js +85 -59
  71. package/packages/components/other-components/sh-cron-modal/css/index.scss +2 -2
  72. package/packages/components/other-components/sh-menu-card/index.vue +224 -224
  73. package/packages/css/index.js +4 -6
  74. package/packages/directive/index.js +19 -19
  75. package/packages/directive/module/click-out.js +14 -0
  76. package/packages/directive/module/draggable.js +42 -42
  77. package/packages/directive/module/line-clamp.js +22 -0
  78. package/packages/directive/module/prevent-click.js +18 -0
  79. package/packages/directive/module/resize.js +19 -0
  80. package/packages/directive/module/ripple.js +166 -0
  81. package/packages/index.js +39 -40
  82. package/packages/utils/transfer-queue.js +12 -0
  83. package/packages/vxeTable/css/index.scss +12 -98
  84. package/packages/vxeTable/css/variable.scss +7 -265
  85. package/packages/vxeTable/index.js +184 -183
  86. package/packages/vxeTable/plugins/export.js +450 -0
  87. package/packages/vxeTable/render/cell/vxe-render-checkgroup.vue +36 -36
  88. package/packages/vxeTable/render/cell/vxe-render-goption.vue +94 -93
  89. package/packages/vxeTable/render/cell/vxe-render-img.vue +21 -28
  90. package/packages/vxeTable/render/cell/vxe-render-input.vue +51 -51
  91. package/packages/vxeTable/render/cell/vxe-render-progress.vue +19 -19
  92. package/packages/vxeTable/render/cell/vxe-render-radiogroup.vue +36 -36
  93. package/packages/vxeTable/render/cell/vxe-render-select.vue +36 -36
  94. package/packages/vxeTable/render/cell/vxe-render-tree.vue +59 -59
  95. package/packages/vxeTable/render/globalRenders.jsx +498 -491
  96. package/packages/assets/icons/demo.css +0 -539
  97. package/packages/assets/icons/iconfont.css +0 -415
  98. package/packages/assets/icons/iconfont.js +0 -1
  99. package/packages/assets/icons/iconfont.json +0 -709
  100. package/packages/assets/icons/iconfont.ttf +0 -0
  101. package/packages/assets/icons/iconfont.woff +0 -0
  102. package/packages/assets/icons/iconfont.woff2 +0 -0
  103. package/packages/assets/img/image-error.png +0 -0
  104. package/packages/assets/img/square-image.png +0 -0
  105. package/packages/components/global-components/sh-iv-form/components/iv-group-item.vue +0 -57
  106. package/packages/components/global-components/sh-iv-form/components/iv-single-item.vue +0 -76
  107. package/packages/components/global-components/sh-iv-form/index.vue +0 -255
  108. package/packages/components/global-components/sh-vxe-list/index.vue +0 -149
  109. package/packages/components/global-components/sh-vxe-table/components/importModal.vue +0 -377
  110. package/packages/components/global-components/sh-vxe-tree/components/table-tree.vue +0 -233
  111. package/packages/components/global-components/sh-vxe-tree/css/index.scss +0 -20
  112. package/packages/components/global-components/sh-vxe-tree/index.vue +0 -85
  113. package/packages/components/global-components/sh-vxe-tree/js/props.js +0 -120
  114. package/packages/components/global-components/sh-vxe-tree/js/treeMethods.js +0 -169
  115. package/packages/components/global-components/sh-vxe-tree/mixin/defaultData.js +0 -54
  116. package/packages/components/global-components/sh-vxe-tree/vxe-direct-tree.vue +0 -203
  117. package/packages/components/global-components/sh-vxe-tree/vxe-select-tree.vue +0 -291
  118. package/packages/components/other-components/sh-markdown/tinymce/langs/ar.js +0 -7
  119. package/packages/components/other-components/sh-markdown/tinymce/langs/az.js +0 -7
  120. package/packages/components/other-components/sh-markdown/tinymce/langs/bg_BG.js +0 -7
  121. package/packages/components/other-components/sh-markdown/tinymce/langs/bn_BD.js +0 -7
  122. package/packages/components/other-components/sh-markdown/tinymce/langs/ca.js +0 -7
  123. package/packages/components/other-components/sh-markdown/tinymce/langs/cs.js +0 -7
  124. package/packages/components/other-components/sh-markdown/tinymce/langs/cy.js +0 -7
  125. package/packages/components/other-components/sh-markdown/tinymce/langs/da.js +0 -7
  126. package/packages/components/other-components/sh-markdown/tinymce/langs/de.js +0 -7
  127. package/packages/components/other-components/sh-markdown/tinymce/langs/dv.js +0 -7
  128. package/packages/components/other-components/sh-markdown/tinymce/langs/el.js +0 -7
  129. package/packages/components/other-components/sh-markdown/tinymce/langs/eo.js +0 -7
  130. package/packages/components/other-components/sh-markdown/tinymce/langs/es.js +0 -7
  131. package/packages/components/other-components/sh-markdown/tinymce/langs/es_MX.js +0 -7
  132. package/packages/components/other-components/sh-markdown/tinymce/langs/et.js +0 -7
  133. package/packages/components/other-components/sh-markdown/tinymce/langs/eu.js +0 -7
  134. package/packages/components/other-components/sh-markdown/tinymce/langs/fa.js +0 -7
  135. package/packages/components/other-components/sh-markdown/tinymce/langs/fi.js +0 -7
  136. package/packages/components/other-components/sh-markdown/tinymce/langs/fr_FR.js +0 -7
  137. package/packages/components/other-components/sh-markdown/tinymce/langs/ga.js +0 -7
  138. package/packages/components/other-components/sh-markdown/tinymce/langs/gl.js +0 -7
  139. package/packages/components/other-components/sh-markdown/tinymce/langs/he_IL.js +0 -7
  140. package/packages/components/other-components/sh-markdown/tinymce/langs/hi.js +0 -7
  141. package/packages/components/other-components/sh-markdown/tinymce/langs/hr.js +0 -7
  142. package/packages/components/other-components/sh-markdown/tinymce/langs/hu_HU.js +0 -7
  143. package/packages/components/other-components/sh-markdown/tinymce/langs/hy.js +0 -7
  144. package/packages/components/other-components/sh-markdown/tinymce/langs/id.js +0 -7
  145. package/packages/components/other-components/sh-markdown/tinymce/langs/is_IS.js +0 -7
  146. package/packages/components/other-components/sh-markdown/tinymce/langs/it.js +0 -7
  147. package/packages/components/other-components/sh-markdown/tinymce/langs/ja.js +0 -7
  148. package/packages/components/other-components/sh-markdown/tinymce/langs/kab.js +0 -7
  149. package/packages/components/other-components/sh-markdown/tinymce/langs/kk.js +0 -7
  150. package/packages/components/other-components/sh-markdown/tinymce/langs/ko_KR.js +0 -7
  151. package/packages/components/other-components/sh-markdown/tinymce/langs/ku.js +0 -7
  152. package/packages/components/other-components/sh-markdown/tinymce/langs/lt.js +0 -7
  153. package/packages/components/other-components/sh-markdown/tinymce/langs/lv.js +0 -7
  154. package/packages/components/other-components/sh-markdown/tinymce/langs/nb_NO.js +0 -7
  155. package/packages/components/other-components/sh-markdown/tinymce/langs/ne.js +0 -7
  156. package/packages/components/other-components/sh-markdown/tinymce/langs/nl.js +0 -7
  157. package/packages/components/other-components/sh-markdown/tinymce/langs/nl_BE.js +0 -7
  158. package/packages/components/other-components/sh-markdown/tinymce/langs/oc.js +0 -7
  159. package/packages/components/other-components/sh-markdown/tinymce/langs/pl.js +0 -7
  160. package/packages/components/other-components/sh-markdown/tinymce/langs/pt_BR.js +0 -7
  161. package/packages/components/other-components/sh-markdown/tinymce/langs/ro.js +0 -7
  162. package/packages/components/other-components/sh-markdown/tinymce/langs/ru.js +0 -7
  163. package/packages/components/other-components/sh-markdown/tinymce/langs/sk.js +0 -7
  164. package/packages/components/other-components/sh-markdown/tinymce/langs/sl_SI.js +0 -7
  165. package/packages/components/other-components/sh-markdown/tinymce/langs/sq.js +0 -7
  166. package/packages/components/other-components/sh-markdown/tinymce/langs/sr.js +0 -7
  167. package/packages/components/other-components/sh-markdown/tinymce/langs/sv_SE.js +0 -7
  168. package/packages/components/other-components/sh-markdown/tinymce/langs/ta.js +0 -7
  169. package/packages/components/other-components/sh-markdown/tinymce/langs/tg.js +0 -7
  170. package/packages/components/other-components/sh-markdown/tinymce/langs/th_TH.js +0 -7
  171. package/packages/components/other-components/sh-markdown/tinymce/langs/tr.js +0 -7
  172. package/packages/components/other-components/sh-markdown/tinymce/langs/ug.js +0 -7
  173. package/packages/components/other-components/sh-markdown/tinymce/langs/uk.js +0 -7
  174. package/packages/components/other-components/sh-markdown/tinymce/langs/vi.js +0 -7
  175. package/packages/components/other-components/sh-markdown/tinymce/skins/content/dark/content.css +0 -72
  176. package/packages/components/other-components/sh-markdown/tinymce/skins/content/dark/content.min.css +0 -7
  177. package/packages/components/other-components/sh-markdown/tinymce/skins/content/default/content.min.css +0 -7
  178. package/packages/components/other-components/sh-markdown/tinymce/skins/content/document/content.css +0 -72
  179. package/packages/components/other-components/sh-markdown/tinymce/skins/content/document/content.min.css +0 -7
  180. package/packages/components/other-components/sh-markdown/tinymce/skins/content/writer/content.css +0 -68
  181. package/packages/components/other-components/sh-markdown/tinymce/skins/content/writer/content.min.css +0 -7
  182. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/content.css +0 -714
  183. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/content.inline.css +0 -726
  184. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/content.inline.min.css +0 -7
  185. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/content.min.css +0 -7
  186. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/content.mobile.css +0 -29
  187. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/content.mobile.min.css +0 -7
  188. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/fonts/tinymce-mobile.woff +0 -0
  189. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/skin.css +0 -3047
  190. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/skin.min.css +0 -7
  191. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/skin.mobile.css +0 -673
  192. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/skin.mobile.min.css +0 -7
  193. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/skin.shadowdom.css +0 -37
  194. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css +0 -7
  195. package/packages/directive/directives.js +0 -27
  196. package/packages/iview/css/index.scss +0 -32
  197. package/packages/iview/index.js +0 -25
  198. /package/packages/components/global-components/{sh-vxe-form → sh-form}/components/form-item.vue +0 -0
  199. /package/packages/components/global-components/{sh-vxe-form → sh-form}/js/props.js +0 -0
  200. /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 }