sh-view 1.7.6 → 2.0.1

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 (256) hide show
  1. package/.eslintrc.js +20 -21
  2. package/dist/css/227.45fab5b7.css +1 -0
  3. package/dist/css/291.e7facf7d.css +1 -0
  4. package/dist/css/299.e98df6ce.css +1 -0
  5. package/dist/css/358.e641c5d1.css +1 -0
  6. package/dist/css/534.726e6699.css +1 -0
  7. package/dist/css/769.8008ac6c.css +1 -0
  8. package/dist/css/index.2bd4fb37.css +1 -0
  9. package/dist/css/index.2bd4fb37.css.gz +0 -0
  10. package/dist/fonts/iconfont.03e5a9f9.ttf +0 -0
  11. package/dist/fonts/iconfont.03e5a9f9.ttf.gz +0 -0
  12. package/dist/fonts/ionicons.31fd4446.ttf +0 -0
  13. package/dist/fonts/ionicons.31fd4446.ttf.gz +0 -0
  14. package/dist/fonts/ionicons.d03f2836.woff2 +0 -0
  15. package/dist/fonts/ionicons.dacd136b.woff +0 -0
  16. package/dist/fonts/ionicons.dacd136b.woff.gz +0 -0
  17. package/dist/img/ionicons.6e8059e8.svg +870 -0
  18. package/dist/img/ionicons.6e8059e8.svg.gz +0 -0
  19. package/dist/js/152.588ca5b4.js +1 -0
  20. package/dist/js/165.f026fdcd.js +1 -0
  21. package/dist/js/227.6d340a71.js +1 -0
  22. package/dist/js/257.285f071f.js +1 -0
  23. package/dist/js/264.32b3a9a5.js +1 -0
  24. package/dist/js/291.e100da5e.js +1 -0
  25. package/dist/js/299.2062f9ff.js +1 -0
  26. package/dist/js/322.ff97ab5e.js +1 -0
  27. package/dist/js/333.da633859.js +1 -0
  28. package/dist/js/341.d4433549.js +1 -0
  29. package/dist/js/358.81429379.js +1 -0
  30. package/dist/js/387.7b1e3b8a.js +1 -0
  31. package/dist/js/392.c53bf6c9.js +1 -0
  32. package/dist/js/400.03e3be15.js +1 -0
  33. package/dist/js/41.fca2504e.js +1 -0
  34. package/dist/js/444.a0350517.js +1 -0
  35. package/dist/js/452.7f75d556.js +2 -0
  36. package/dist/js/452.7f75d556.js.gz +0 -0
  37. package/dist/js/497.06080ae1.js +1 -0
  38. package/dist/js/514.2ea0055a.js +1 -0
  39. package/dist/js/534.40a67536.js +1 -0
  40. package/dist/js/558.6175bf20.js +15 -0
  41. package/dist/js/558.6175bf20.js.gz +0 -0
  42. package/dist/js/586.098ab36d.js +1 -0
  43. package/dist/js/593.df7d7c2e.js +1 -0
  44. package/dist/js/601.abf6f256.js +1 -0
  45. package/dist/js/654.99b45cd4.js +18 -0
  46. package/dist/js/654.99b45cd4.js.gz +0 -0
  47. package/dist/js/668.a15a0058.js +1 -0
  48. package/dist/js/704.52e87fec.js +1 -0
  49. package/dist/js/720.aceca876.js +1 -0
  50. package/dist/js/769.1376ca7f.js +1 -0
  51. package/dist/js/875.975891f5.js +1 -0
  52. package/dist/js/89.c7317ccb.js +1 -0
  53. package/dist/js/94.d54e8b09.js +1 -0
  54. package/dist/js/chunk-vendors.e05ef0ac.js +438 -0
  55. package/dist/js/chunk-vendors.e05ef0ac.js.gz +0 -0
  56. package/dist/js/index.b31868df.js +1 -0
  57. package/dist/js/index.b31868df.js.gz +0 -0
  58. package/package.json +10 -10
  59. package/packages/assets/css/animated.scss +167 -2
  60. package/packages/assets/css/loader.scss +42 -42
  61. package/packages/assets/css/main.scss +41 -21
  62. package/packages/assets/css/theme.scss +83 -44
  63. package/packages/components/global-components/sh-alert/index.vue +173 -0
  64. package/packages/components/global-components/sh-badge/index.vue +227 -0
  65. package/packages/components/global-components/sh-card/index.vue +140 -122
  66. package/packages/components/global-components/sh-code-editor/index.vue +260 -260
  67. package/packages/components/global-components/sh-col/css/index.scss +76 -0
  68. package/packages/components/global-components/sh-col/index.vue +83 -0
  69. package/packages/components/global-components/sh-corner/index.vue +1 -9
  70. package/packages/components/global-components/sh-count-to/index.vue +102 -46
  71. package/packages/components/global-components/sh-date/index.vue +40 -0
  72. package/packages/components/global-components/sh-drawer/index.vue +518 -0
  73. package/packages/components/global-components/sh-drawer/scrollbar.js +76 -0
  74. package/packages/components/global-components/sh-empty/index.vue +43 -43
  75. package/packages/components/global-components/{sh-vxe-form → sh-form}/css/index.scss +6 -6
  76. package/packages/components/global-components/{sh-vxe-form → sh-form}/index.vue +114 -115
  77. package/packages/components/global-components/{sh-vxe-form → sh-form}/js/methods.js +146 -157
  78. package/packages/components/global-components/{sh-vxe-form → sh-form}/mixin/defaultData.js +32 -33
  79. package/packages/components/global-components/sh-header/index.vue +293 -269
  80. package/packages/components/global-components/sh-icon/css/default/fonts/ionicons.svg +870 -0
  81. package/packages/components/global-components/sh-icon/css/default/fonts/ionicons.ttf +0 -0
  82. package/packages/components/global-components/sh-icon/css/default/fonts/ionicons.woff +0 -0
  83. package/packages/components/global-components/sh-icon/css/default/fonts/ionicons.woff2 +0 -0
  84. package/packages/components/global-components/sh-icon/css/default/icons.scss +2583 -0
  85. package/packages/components/global-components/sh-icon/css/default/index.scss +27 -0
  86. package/packages/components/global-components/sh-icon/css/font/fonts/iconfont.js +1 -0
  87. package/packages/components/global-components/sh-icon/css/font/fonts/iconfont.json +247 -0
  88. package/packages/components/global-components/sh-icon/css/font/fonts/iconfont.ttf +0 -0
  89. package/packages/components/global-components/sh-icon/css/font/fonts/iconfont.woff +0 -0
  90. package/packages/components/global-components/sh-icon/css/font/fonts/iconfont.woff2 +0 -0
  91. package/packages/components/global-components/sh-icon/css/font/icons.scss +135 -0
  92. package/packages/components/global-components/sh-icon/css/font/index.scss +16 -0
  93. package/packages/components/global-components/sh-icon/icon-default.vue +32 -0
  94. package/packages/components/global-components/sh-icon/{icons.vue → icon-font.vue} +32 -32
  95. package/packages/components/global-components/sh-icon/index.vue +28 -27
  96. package/packages/components/global-components/sh-image/index.vue +123 -0
  97. package/packages/components/global-components/sh-list/index.vue +141 -0
  98. package/packages/components/global-components/sh-loading/index.vue +49 -42
  99. package/packages/components/global-components/{sh-vxe-modal → sh-modal}/index.vue +209 -209
  100. package/packages/components/global-components/sh-noticebar/index.vue +201 -201
  101. package/packages/components/global-components/sh-poptip/index.vue +479 -0
  102. package/packages/components/global-components/sh-poptip/popper.js +115 -0
  103. package/packages/components/global-components/sh-progress/index.vue +290 -0
  104. package/packages/components/global-components/sh-pull-refresh/index.vue +290 -290
  105. package/packages/components/global-components/{sh-vxe-query → sh-query}/index.vue +317 -310
  106. package/packages/components/global-components/sh-result/index.vue +110 -88
  107. package/packages/components/global-components/sh-row/css/index.scss +21 -0
  108. package/packages/components/global-components/sh-row/index.vue +63 -0
  109. package/packages/components/global-components/sh-split/components/trigger.vue +33 -0
  110. package/packages/components/global-components/sh-split/index.vue +334 -142
  111. package/packages/components/global-components/sh-table/components/importModal.vue +351 -0
  112. package/packages/components/global-components/{sh-vxe-table → sh-table}/css/index.scss +4 -22
  113. package/packages/components/global-components/{sh-vxe-table → sh-table}/index.vue +329 -351
  114. package/packages/components/global-components/{sh-vxe-table → sh-table}/js/methods.js +33 -88
  115. package/packages/components/global-components/{sh-vxe-table → sh-table}/js/props.js +304 -313
  116. package/packages/components/global-components/{sh-vxe-table → sh-table}/mixin/defaultData.js +94 -116
  117. package/packages/components/global-components/sh-tabs/index.vue +322 -0
  118. package/packages/components/global-components/sh-tag/index.vue +163 -0
  119. package/packages/components/global-components/{sh-vxe-toolbar → sh-toolbar}/index.vue +177 -172
  120. package/packages/components/global-components/sh-tree/components/table-tree.vue +280 -0
  121. package/packages/components/global-components/sh-tree/css/index.scss +54 -0
  122. package/packages/components/global-components/sh-tree/index.vue +195 -0
  123. package/packages/components/global-components/sh-tree/mixin/treeProps.js +124 -0
  124. package/packages/components/global-components/sh-upload/index.vue +278 -275
  125. package/packages/components/global-components/sh-water-fall/index.vue +87 -87
  126. package/packages/components/index.js +85 -59
  127. package/packages/components/other-components/sh-cron-modal/css/index.scss +2 -2
  128. package/packages/components/other-components/sh-menu-card/index.vue +224 -224
  129. package/packages/css/index.js +4 -6
  130. package/packages/directive/index.js +19 -19
  131. package/packages/directive/module/click-out.js +14 -0
  132. package/packages/directive/module/draggable.js +42 -42
  133. package/packages/directive/module/line-clamp.js +22 -0
  134. package/packages/directive/module/prevent-click.js +18 -0
  135. package/packages/directive/module/resize.js +19 -0
  136. package/packages/directive/module/ripple.js +166 -0
  137. package/packages/index.js +39 -40
  138. package/packages/utils/transfer-queue.js +12 -0
  139. package/packages/vxeTable/css/index.scss +12 -98
  140. package/packages/vxeTable/css/variable.scss +7 -265
  141. package/packages/vxeTable/index.js +184 -183
  142. package/packages/vxeTable/plugins/export.js +450 -0
  143. package/packages/vxeTable/render/cell/vxe-render-checkgroup.vue +36 -36
  144. package/packages/vxeTable/render/cell/vxe-render-goption.vue +94 -93
  145. package/packages/vxeTable/render/cell/vxe-render-img.vue +21 -28
  146. package/packages/vxeTable/render/cell/vxe-render-input.vue +51 -51
  147. package/packages/vxeTable/render/cell/vxe-render-progress.vue +19 -19
  148. package/packages/vxeTable/render/cell/vxe-render-radiogroup.vue +36 -36
  149. package/packages/vxeTable/render/cell/vxe-render-select.vue +36 -36
  150. package/packages/vxeTable/render/cell/vxe-render-tree.vue +59 -59
  151. package/packages/vxeTable/render/globalRenders.jsx +498 -491
  152. package/packages/assets/icons/demo.css +0 -539
  153. package/packages/assets/icons/iconfont.css +0 -415
  154. package/packages/assets/icons/iconfont.js +0 -1
  155. package/packages/assets/icons/iconfont.json +0 -709
  156. package/packages/assets/icons/iconfont.ttf +0 -0
  157. package/packages/assets/icons/iconfont.woff +0 -0
  158. package/packages/assets/icons/iconfont.woff2 +0 -0
  159. package/packages/assets/img/image-error.png +0 -0
  160. package/packages/assets/img/square-image.png +0 -0
  161. package/packages/components/global-components/sh-iv-form/components/iv-group-item.vue +0 -57
  162. package/packages/components/global-components/sh-iv-form/components/iv-single-item.vue +0 -76
  163. package/packages/components/global-components/sh-iv-form/index.vue +0 -255
  164. package/packages/components/global-components/sh-vxe-list/index.vue +0 -149
  165. package/packages/components/global-components/sh-vxe-table/components/importModal.vue +0 -377
  166. package/packages/components/global-components/sh-vxe-tree/components/table-tree.vue +0 -233
  167. package/packages/components/global-components/sh-vxe-tree/css/index.scss +0 -20
  168. package/packages/components/global-components/sh-vxe-tree/index.vue +0 -85
  169. package/packages/components/global-components/sh-vxe-tree/js/props.js +0 -120
  170. package/packages/components/global-components/sh-vxe-tree/js/treeMethods.js +0 -169
  171. package/packages/components/global-components/sh-vxe-tree/mixin/defaultData.js +0 -54
  172. package/packages/components/global-components/sh-vxe-tree/vxe-direct-tree.vue +0 -203
  173. package/packages/components/global-components/sh-vxe-tree/vxe-select-tree.vue +0 -291
  174. package/packages/components/other-components/sh-markdown/tinymce/langs/ar.js +0 -7
  175. package/packages/components/other-components/sh-markdown/tinymce/langs/az.js +0 -7
  176. package/packages/components/other-components/sh-markdown/tinymce/langs/bg_BG.js +0 -7
  177. package/packages/components/other-components/sh-markdown/tinymce/langs/bn_BD.js +0 -7
  178. package/packages/components/other-components/sh-markdown/tinymce/langs/ca.js +0 -7
  179. package/packages/components/other-components/sh-markdown/tinymce/langs/cs.js +0 -7
  180. package/packages/components/other-components/sh-markdown/tinymce/langs/cy.js +0 -7
  181. package/packages/components/other-components/sh-markdown/tinymce/langs/da.js +0 -7
  182. package/packages/components/other-components/sh-markdown/tinymce/langs/de.js +0 -7
  183. package/packages/components/other-components/sh-markdown/tinymce/langs/dv.js +0 -7
  184. package/packages/components/other-components/sh-markdown/tinymce/langs/el.js +0 -7
  185. package/packages/components/other-components/sh-markdown/tinymce/langs/eo.js +0 -7
  186. package/packages/components/other-components/sh-markdown/tinymce/langs/es.js +0 -7
  187. package/packages/components/other-components/sh-markdown/tinymce/langs/es_MX.js +0 -7
  188. package/packages/components/other-components/sh-markdown/tinymce/langs/et.js +0 -7
  189. package/packages/components/other-components/sh-markdown/tinymce/langs/eu.js +0 -7
  190. package/packages/components/other-components/sh-markdown/tinymce/langs/fa.js +0 -7
  191. package/packages/components/other-components/sh-markdown/tinymce/langs/fi.js +0 -7
  192. package/packages/components/other-components/sh-markdown/tinymce/langs/fr_FR.js +0 -7
  193. package/packages/components/other-components/sh-markdown/tinymce/langs/ga.js +0 -7
  194. package/packages/components/other-components/sh-markdown/tinymce/langs/gl.js +0 -7
  195. package/packages/components/other-components/sh-markdown/tinymce/langs/he_IL.js +0 -7
  196. package/packages/components/other-components/sh-markdown/tinymce/langs/hi.js +0 -7
  197. package/packages/components/other-components/sh-markdown/tinymce/langs/hr.js +0 -7
  198. package/packages/components/other-components/sh-markdown/tinymce/langs/hu_HU.js +0 -7
  199. package/packages/components/other-components/sh-markdown/tinymce/langs/hy.js +0 -7
  200. package/packages/components/other-components/sh-markdown/tinymce/langs/id.js +0 -7
  201. package/packages/components/other-components/sh-markdown/tinymce/langs/is_IS.js +0 -7
  202. package/packages/components/other-components/sh-markdown/tinymce/langs/it.js +0 -7
  203. package/packages/components/other-components/sh-markdown/tinymce/langs/ja.js +0 -7
  204. package/packages/components/other-components/sh-markdown/tinymce/langs/kab.js +0 -7
  205. package/packages/components/other-components/sh-markdown/tinymce/langs/kk.js +0 -7
  206. package/packages/components/other-components/sh-markdown/tinymce/langs/ko_KR.js +0 -7
  207. package/packages/components/other-components/sh-markdown/tinymce/langs/ku.js +0 -7
  208. package/packages/components/other-components/sh-markdown/tinymce/langs/lt.js +0 -7
  209. package/packages/components/other-components/sh-markdown/tinymce/langs/lv.js +0 -7
  210. package/packages/components/other-components/sh-markdown/tinymce/langs/nb_NO.js +0 -7
  211. package/packages/components/other-components/sh-markdown/tinymce/langs/ne.js +0 -7
  212. package/packages/components/other-components/sh-markdown/tinymce/langs/nl.js +0 -7
  213. package/packages/components/other-components/sh-markdown/tinymce/langs/nl_BE.js +0 -7
  214. package/packages/components/other-components/sh-markdown/tinymce/langs/oc.js +0 -7
  215. package/packages/components/other-components/sh-markdown/tinymce/langs/pl.js +0 -7
  216. package/packages/components/other-components/sh-markdown/tinymce/langs/pt_BR.js +0 -7
  217. package/packages/components/other-components/sh-markdown/tinymce/langs/ro.js +0 -7
  218. package/packages/components/other-components/sh-markdown/tinymce/langs/ru.js +0 -7
  219. package/packages/components/other-components/sh-markdown/tinymce/langs/sk.js +0 -7
  220. package/packages/components/other-components/sh-markdown/tinymce/langs/sl_SI.js +0 -7
  221. package/packages/components/other-components/sh-markdown/tinymce/langs/sq.js +0 -7
  222. package/packages/components/other-components/sh-markdown/tinymce/langs/sr.js +0 -7
  223. package/packages/components/other-components/sh-markdown/tinymce/langs/sv_SE.js +0 -7
  224. package/packages/components/other-components/sh-markdown/tinymce/langs/ta.js +0 -7
  225. package/packages/components/other-components/sh-markdown/tinymce/langs/tg.js +0 -7
  226. package/packages/components/other-components/sh-markdown/tinymce/langs/th_TH.js +0 -7
  227. package/packages/components/other-components/sh-markdown/tinymce/langs/tr.js +0 -7
  228. package/packages/components/other-components/sh-markdown/tinymce/langs/ug.js +0 -7
  229. package/packages/components/other-components/sh-markdown/tinymce/langs/uk.js +0 -7
  230. package/packages/components/other-components/sh-markdown/tinymce/langs/vi.js +0 -7
  231. package/packages/components/other-components/sh-markdown/tinymce/skins/content/dark/content.css +0 -72
  232. package/packages/components/other-components/sh-markdown/tinymce/skins/content/dark/content.min.css +0 -7
  233. package/packages/components/other-components/sh-markdown/tinymce/skins/content/default/content.min.css +0 -7
  234. package/packages/components/other-components/sh-markdown/tinymce/skins/content/document/content.css +0 -72
  235. package/packages/components/other-components/sh-markdown/tinymce/skins/content/document/content.min.css +0 -7
  236. package/packages/components/other-components/sh-markdown/tinymce/skins/content/writer/content.css +0 -68
  237. package/packages/components/other-components/sh-markdown/tinymce/skins/content/writer/content.min.css +0 -7
  238. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/content.css +0 -714
  239. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/content.inline.css +0 -726
  240. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/content.inline.min.css +0 -7
  241. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/content.min.css +0 -7
  242. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/content.mobile.css +0 -29
  243. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/content.mobile.min.css +0 -7
  244. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/fonts/tinymce-mobile.woff +0 -0
  245. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/skin.css +0 -3047
  246. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/skin.min.css +0 -7
  247. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/skin.mobile.css +0 -673
  248. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/skin.mobile.min.css +0 -7
  249. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/skin.shadowdom.css +0 -37
  250. package/packages/components/other-components/sh-markdown/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css +0 -7
  251. package/packages/directive/directives.js +0 -27
  252. package/packages/iview/css/index.scss +0 -32
  253. package/packages/iview/index.js +0 -25
  254. /package/packages/components/global-components/{sh-vxe-form → sh-form}/components/form-item.vue +0 -0
  255. /package/packages/components/global-components/{sh-vxe-form → sh-form}/js/props.js +0 -0
  256. /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 }