sh-view 2.8.1 → 2.8.2

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 (91) hide show
  1. package/.eslintrc.js +25 -20
  2. package/other.js +8 -8
  3. package/package.json +9 -6
  4. package/packages/components/index.js +91 -91
  5. package/packages/components/sh-alert/alert.ts +30 -0
  6. package/packages/components/sh-alert/index.vue +143 -168
  7. package/packages/components/sh-badge/index.vue +242 -242
  8. package/packages/components/sh-calendar/index.vue +650 -650
  9. package/packages/components/sh-card/index.vue +148 -148
  10. package/packages/components/sh-code-editor/index.vue +19 -19
  11. package/packages/components/sh-col/index.vue +92 -92
  12. package/packages/components/sh-corner/index.vue +230 -230
  13. package/packages/components/sh-count-to/index.vue +131 -131
  14. package/packages/components/sh-date/index.vue +301 -301
  15. package/packages/components/sh-drawer/index.vue +579 -579
  16. package/packages/components/sh-drawer/scrollbar.js +78 -78
  17. package/packages/components/sh-empty/index.vue +42 -42
  18. package/packages/components/sh-form/js/props.js +76 -76
  19. package/packages/components/sh-form/js/useForm.js +229 -229
  20. package/packages/components/sh-header/index.vue +261 -260
  21. package/packages/components/sh-icon/css/default/ionicons.svg +869 -869
  22. package/packages/components/sh-icon/css/font/iconfont.json +247 -247
  23. package/packages/components/sh-icon/index.vue +41 -41
  24. package/packages/components/sh-image/index.vue +133 -133
  25. package/packages/components/sh-list/index.vue +146 -146
  26. package/packages/components/sh-loading/index.vue +53 -53
  27. package/packages/components/sh-modal/index.vue +188 -188
  28. package/packages/components/sh-noticebar/index.vue +215 -215
  29. package/packages/components/sh-poptip/index.vue +597 -597
  30. package/packages/components/sh-progress/index.vue +276 -276
  31. package/packages/components/sh-pull-refresh/index.vue +289 -289
  32. package/packages/components/sh-result/index.vue +114 -114
  33. package/packages/components/sh-row/index.vue +66 -66
  34. package/packages/components/sh-split/components/trigger.vue +33 -33
  35. package/packages/components/sh-split/index.vue +342 -342
  36. package/packages/components/sh-table/components/importModal.vue +363 -363
  37. package/packages/components/sh-table/components/sh-column.vue +68 -68
  38. package/packages/components/sh-table/js/excel_to_json.js +313 -313
  39. package/packages/components/sh-table/js/props.js +305 -305
  40. package/packages/components/sh-table/js/tableMethods.js +167 -167
  41. package/packages/components/sh-table/js/useTable.js +636 -636
  42. package/packages/components/sh-table/table.vue +217 -217
  43. package/packages/components/sh-tabs/index.vue +426 -426
  44. package/packages/components/sh-tag/index.vue +168 -168
  45. package/packages/components/sh-toolbar/index.vue +182 -182
  46. package/packages/components/sh-tree/components/table-tree.vue +289 -289
  47. package/packages/components/sh-tree/mixin/treeProps.js +122 -122
  48. package/packages/components/sh-upload/index.vue +535 -535
  49. package/packages/components/sh-water-fall/index.vue +80 -80
  50. package/packages/components/sh-water-mark/index.vue +96 -96
  51. package/packages/css/index.js +4 -4
  52. package/packages/directive/index.js +19 -19
  53. package/packages/directive/module/click-out.js +14 -14
  54. package/packages/directive/module/draggable.js +42 -42
  55. package/packages/directive/module/line-clamp.js +22 -22
  56. package/packages/directive/module/prevent-click.js +18 -18
  57. package/packages/directive/module/resize.js +14 -14
  58. package/packages/directive/module/ripple.js +166 -166
  59. package/packages/index.js +39 -39
  60. package/packages/mixin/index.js +86 -86
  61. package/packages/other/sh-cron-modal/components/cron-content.vue +294 -294
  62. package/packages/other/sh-cron-modal/index.vue +81 -81
  63. package/packages/other/sh-cron-modal/mixin/cron-emits.js +1 -1
  64. package/packages/other/sh-cron-modal/mixin/cron-props.js +9 -9
  65. package/packages/other/sh-cron-modal/tabs/cron-week-box.vue +126 -126
  66. package/packages/other/sh-menu/index.vue +326 -326
  67. package/packages/other/sh-menu/menu-group-content.vue +136 -136
  68. package/packages/other/sh-menu/menu-item-content.vue +71 -71
  69. package/packages/other/sh-menu-card/index.vue +250 -250
  70. package/packages/other/sh-menu-card/menu-box.vue +87 -87
  71. package/packages/other/sh-preview/components/sh-excel.vue +163 -163
  72. package/packages/other/sh-preview/js/data-hook.js +41 -41
  73. package/packages/other/sh-preview/js/data-props.js +15 -15
  74. package/packages/other/sh-system-tip/index.vue +115 -115
  75. package/packages/utils/resize.js +69 -70
  76. package/packages/utils/transfer-queue.js +12 -12
  77. package/packages/vxeTable/index.js +193 -184
  78. package/packages/vxeTable/plugins/export.js +450 -450
  79. package/packages/vxeTable/render/cell/vxe-render-img.vue +27 -27
  80. package/packages/vxeTable/render/cell/vxe-render-table.vue +51 -51
  81. package/packages/vxeTable/render/cell/vxe-render-time.vue +44 -44
  82. package/packages/vxeTable/render/cell/vxe-render-tree.vue +70 -70
  83. package/packages/vxeTable/render/filters/vxe-filter-input.vue +26 -26
  84. package/packages/vxeTable/render/filters/vxe-filter-time.vue +26 -26
  85. package/packages/vxeTable/render/globalRenders.jsx +514 -514
  86. package/packages/vxeTable/render/mixin/cell-hooks.js +198 -198
  87. package/packages/vxeTable/render/mixin/cell-props.js +23 -23
  88. package/packages/vxeTable/render/mixin/filter-hooks.js +46 -46
  89. package/tsconfig.json +25 -0
  90. package/types/component.d.ts +1 -0
  91. package/types/index.ts +0 -0
@@ -1,514 +1,514 @@
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
- import vxeFilterTime from './filters/vxe-filter-time.vue'
33
-
34
- // 渲染器通用默认配置
35
- let defaultPublicProps = {
36
- // 转视图字段扩展名字
37
- colExpendName: '_view'
38
- }
39
-
40
- // 渲染器个性化默认配置
41
- let defaultProps = {
42
- $vInput: { type: 'text', placeholder: '请输入', transfer: true, digits: 2, prefixType: 'text', suffixType: 'text' },
43
- $vTextArea: { placeholder: '请输入', rows: 2, transfer: true, resize: 'none', showWordCount: true },
44
- $vSelect: { placeholder: '请选择', filterable: true, transfer: true, showType: 'text', tagColor: 'default', split: ',', options: [] },
45
- $vTree: { placeholder: '请选择', transfer: true, split: ',', nodeKey: 'id', labelField: 'label' },
46
- $vTime: { type: 'date', placeholder: '请选择时间', transfer: true, editable: false, prefixType: 'text', suffixType: 'text' },
47
- $vProgress: { strokeWidth: 20, strokeColor: ['#108ee9', '#87d068'], textInside: true, min: 0, max: 100, digits: 2 },
48
- $vSwitch: { placeholder: '请选择', openLabel: '是', openValue: '1', closeLabel: '否', closeValue: '0' },
49
- $vMoney: { type: 'number', placeholder: '请输入', transfer: true, commafy: true, digits: 2, moneyUnit: 1, min: 0, max: 1000000000000 },
50
- $vCheckbox: { placeholder: '请选择', uncheckedValue: '0', checkedValue: '1' },
51
- $vCheckgroup: { placeholder: '请选择', showType: 'text', tagColor: 'default', tagType: '', split: ',' },
52
- $vRadio: { placeholder: '请选择' },
53
- $vRadiogroup: { placeholder: '请选择', showType: 'text', tagColor: 'default', tagType: '' },
54
- $vImg: { square: false, preview: true, width: '100%', height: '34px', fit: 'scale-down' },
55
- $vHref: { disabled: true, target: '_blank' },
56
- $vUpload: { split: ',' },
57
- $vFilterInput: { placeholder: '请输入关键词' },
58
- $vFilterTime: { range: true },
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 rturnProps = Object.assign({}, defaultPublicProps, defaultProps[name], props)
69
- let transKeys = ['transfer', 'disabled', 'multiple', 'isLeaf', 'commafy', 'border', 'filterable', 'showWordCount', 'editable']
70
- transKeys.forEach(key => {
71
- if (rturnProps[key] !== null && rturnProps[key] !== undefined && typeof rturnProps[key] === 'string') {
72
- rturnProps[key] = Boolean(+rturnProps[key])
73
- }
74
- })
75
- if (column) {
76
- column.rname = name
77
- column.rprops = rturnProps
78
- }
79
- return {
80
- rkey: $table ? column.property : params.property,
81
- rdata: $table ? params.row : params.data,
82
- rprops: rturnProps
83
- }
84
- }
85
-
86
- // 全局渲染器
87
- const publicRenders = {
88
- $vInput: {
89
- autofocus: '.td-render .vxe-input--inner',
90
- autoselect: true,
91
- renderDefault(renderOpts, params) {
92
- let props = getFixedProp(renderOpts, params)
93
- return [<vxeRenderInput redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
94
- },
95
- renderCell(renderOpts, params) {
96
- let props = getFixedProp(renderOpts, params)
97
- return [<vxeRenderInput redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
98
- },
99
- renderEdit(renderOpts, params) {
100
- let props = getFixedProp(renderOpts, params)
101
- return [<vxeRenderInput redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
102
- },
103
- renderItemContent(renderOpts, params) {
104
- let props = getFixedProp(renderOpts, params)
105
- return [<vxeRenderInput redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
106
- },
107
- renderFooter(renderOpts, params) {
108
- let props = getFixedProp(renderOpts, params)
109
- return [<vxeFooterInput redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
110
- }
111
- },
112
- $vTextArea: {
113
- autofocus: '.td-render .vxe-textarea--inner',
114
- autoselect: true,
115
- renderDefault(renderOpts, params) {
116
- let props = getFixedProp(renderOpts, params)
117
- return [<vxeRenderTextarea redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
118
- },
119
- renderCell(renderOpts, params) {
120
- let props = getFixedProp(renderOpts, params)
121
- return [<vxeRenderTextarea redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
122
- },
123
- renderEdit(renderOpts, params) {
124
- let props = getFixedProp(renderOpts, params)
125
- return [<vxeRenderTextarea redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
126
- },
127
- renderItemContent(renderOpts, params) {
128
- let props = getFixedProp(renderOpts, params)
129
- return [<vxeRenderTextarea redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
130
- }
131
- },
132
- $vSelect: {
133
- autofocus: '.td-render .vxe-input--inner',
134
- autoselect: true,
135
- renderDefault(renderOpts, params) {
136
- let props = getFixedProp(renderOpts, params)
137
- return [<vxeRenderSelect redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
138
- },
139
- renderCell(renderOpts, params) {
140
- let props = getFixedProp(renderOpts, params)
141
- return [<vxeRenderSelect redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
142
- },
143
- renderEdit(renderOpts, params) {
144
- let props = getFixedProp(renderOpts, params)
145
- return [<vxeRenderSelect redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
146
- },
147
- renderItemContent(renderOpts, params) {
148
- let props = getFixedProp(renderOpts, params)
149
- return [<vxeRenderSelect redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
150
- }
151
- },
152
- $vTree: {
153
- autofocus: '.td-render .vxe-input--inner',
154
- autoselect: true,
155
- renderDefault(renderOpts, params) {
156
- let props = getFixedProp(renderOpts, params)
157
- return [<vxeRenderTree redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
158
- },
159
- renderCell(renderOpts, params) {
160
- let props = getFixedProp(renderOpts, params)
161
- return [<vxeRenderTree redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
162
- },
163
- renderEdit(renderOpts, params) {
164
- let props = getFixedProp(renderOpts, params)
165
- return [<vxeRenderTree redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
166
- },
167
- renderItemContent(renderOpts, params) {
168
- let props = getFixedProp(renderOpts, params)
169
- return [<vxeRenderTree redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
170
- }
171
- },
172
- $vTime: {
173
- autofocus: '.td-render .vxe-input--inner',
174
- autoselect: true,
175
- renderDefault(renderOpts, params) {
176
- let props = getFixedProp(renderOpts, params)
177
- return [<vxeRenderTime redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
178
- },
179
- renderCell(renderOpts, params) {
180
- let props = getFixedProp(renderOpts, params)
181
- return [<vxeRenderTime redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
182
- },
183
- renderEdit(renderOpts, params) {
184
- let props = getFixedProp(renderOpts, params)
185
- return [<vxeRenderTime redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
186
- },
187
- renderItemContent(renderOpts, params) {
188
- let props = getFixedProp(renderOpts, params)
189
- return [<vxeRenderTime redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
190
- }
191
- },
192
- $vProgress: {
193
- autofocus: '.td-render .vxe-input--inner',
194
- autoselect: true,
195
- renderDefault(renderOpts, params) {
196
- let props = getFixedProp(renderOpts, params)
197
- return [<vxeRenderProgress redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
198
- },
199
- renderCell(renderOpts, params) {
200
- let props = getFixedProp(renderOpts, params)
201
- return [<vxeRenderProgress redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
202
- },
203
- renderEdit(renderOpts, params) {
204
- let props = getFixedProp(renderOpts, params)
205
- return [<vxeRenderProgress redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
206
- },
207
- renderItemContent(renderOpts, params) {
208
- let props = getFixedProp(renderOpts, params)
209
- return [<vxeRenderProgress redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
210
- },
211
- exportMethod({ row, column }) {
212
- return utils.get(row, column.property)
213
- }
214
- },
215
- $vSwitch: {
216
- autoselect: true,
217
- renderDefault(renderOpts, params) {
218
- let props = getFixedProp(renderOpts, params)
219
- return [<vxeRenderSwitch redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
220
- },
221
- renderCell(renderOpts, params) {
222
- let props = getFixedProp(renderOpts, params)
223
- return [<vxeRenderSwitch redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
224
- },
225
- renderEdit(renderOpts, params) {
226
- let props = getFixedProp(renderOpts, params)
227
- return [<vxeRenderSwitch redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
228
- },
229
- renderItemContent(renderOpts, params) {
230
- let props = getFixedProp(renderOpts, params)
231
- return [<vxeRenderSwitch redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
232
- }
233
- },
234
- $vMoney: {
235
- autofocus: '.td-render .vxe-input--inner',
236
- autoselect: true,
237
- renderDefault(renderOpts, params) {
238
- let props = getFixedProp(renderOpts, params)
239
- return [<vxeRenderMoney redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
240
- },
241
- renderCell(renderOpts, params) {
242
- let props = getFixedProp(renderOpts, params)
243
- return [<vxeRenderMoney redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
244
- },
245
- renderEdit(renderOpts, params) {
246
- let props = getFixedProp(renderOpts, params)
247
- return [<vxeRenderMoney redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
248
- },
249
- renderItemContent(renderOpts, params) {
250
- let props = getFixedProp(renderOpts, params)
251
- return [<vxeRenderMoney redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
252
- },
253
- renderHeader(renderOpts, params) {
254
- let props = getFixedProp(renderOpts, params)
255
- return [<vxeHeaderMoney redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
256
- },
257
- renderFooter(renderOpts, params) {
258
- let props = getFixedProp(renderOpts, params)
259
- return [<vxeFooterMoney redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
260
- },
261
- exportMethod({ row, column }) {
262
- return utils.get(row, column.property)
263
- }
264
- },
265
- $vCheckbox: {
266
- autoselect: true,
267
- renderDefault(renderOpts, params) {
268
- let props = getFixedProp(renderOpts, params)
269
- return [<vxeRenderCheckbox redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
270
- },
271
- renderCell(renderOpts, params) {
272
- let props = getFixedProp(renderOpts, params)
273
- return [<vxeRenderCheckbox redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
274
- },
275
- renderEdit(renderOpts, params) {
276
- let props = getFixedProp(renderOpts, params)
277
- return [<vxeRenderCheckbox redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
278
- },
279
- renderItemContent(renderOpts, params) {
280
- let props = getFixedProp(renderOpts, params)
281
- return [<vxeRenderCheckbox redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
282
- }
283
- },
284
- $vCheckgroup: {
285
- autoselect: true,
286
- renderDefault(renderOpts, params) {
287
- let props = getFixedProp(renderOpts, params)
288
- return [<vxeRenderCheckgroup redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
289
- },
290
- renderCell(renderOpts, params) {
291
- let props = getFixedProp(renderOpts, params)
292
- return [<vxeRenderCheckgroup redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
293
- },
294
- renderEdit(renderOpts, params) {
295
- let props = getFixedProp(renderOpts, params)
296
- return [<vxeRenderCheckgroup redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
297
- },
298
- renderItemContent(renderOpts, params) {
299
- let props = getFixedProp(renderOpts, params)
300
- return [<vxeRenderCheckgroup redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
301
- }
302
- },
303
- $vRadio: {
304
- autoselect: true,
305
- renderDefault(renderOpts, params) {
306
- let props = getFixedProp(renderOpts, params)
307
- return [<vxeRenderRadio redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
308
- },
309
- renderCell(renderOpts, params) {
310
- let props = getFixedProp(renderOpts, params)
311
- return [<vxeRenderRadio redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
312
- },
313
- renderEdit(renderOpts, params) {
314
- let props = getFixedProp(renderOpts, params)
315
- return [<vxeRenderRadio redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
316
- },
317
- renderItemContent(renderOpts, params) {
318
- let props = getFixedProp(renderOpts, params)
319
- return [<vxeRenderRadio redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
320
- }
321
- },
322
- $vRadiogroup: {
323
- autoselect: true,
324
- renderDefault(renderOpts, params) {
325
- let props = getFixedProp(renderOpts, params)
326
- return [<vxeRenderRadiogroup redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
327
- },
328
- renderCell(renderOpts, params) {
329
- let props = getFixedProp(renderOpts, params)
330
- return [<vxeRenderRadiogroup redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
331
- },
332
- renderEdit(renderOpts, params) {
333
- let props = getFixedProp(renderOpts, params)
334
- return [<vxeRenderRadiogroup redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
335
- },
336
- renderItemContent(renderOpts, params) {
337
- let props = getFixedProp(renderOpts, params)
338
- return [<vxeRenderRadiogroup redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
339
- }
340
- },
341
- $vTable: {
342
- renderExpand(renderOpts, params) {
343
- let props = getFixedProp(renderOpts, params)
344
- return [<vxeRenderTable redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
345
- },
346
- renderItemContent(renderOpts, params) {
347
- let props = getFixedProp(renderOpts, params)
348
- return [<vxeRenderTable redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
349
- }
350
- },
351
- $vImg: {
352
- renderDefault(renderOpts, params) {
353
- let props = getFixedProp(renderOpts, params)
354
- return [<vxeRenderImg redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
355
- },
356
- renderCell(renderOpts, params) {
357
- let props = getFixedProp(renderOpts, params)
358
- return [<vxeRenderImg redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
359
- },
360
- renderEdit(renderOpts, params) {
361
- let props = getFixedProp(renderOpts, params)
362
- return [<vxeRenderImg redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
363
- },
364
- exportMethod({ row, column }) {
365
- return utils.get(row, column.property)
366
- }
367
- },
368
- $vHref: {
369
- autoselect: true,
370
- renderDefault(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
- renderCell(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
- renderEdit(renderOpts, params) {
379
- let props = getFixedProp(renderOpts, params)
380
- return [<vxeRenderHref redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
381
- }
382
- },
383
- $vUpload: {
384
- autoselect: true,
385
- renderDefault(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
- renderCell(renderOpts, params) {
390
- let props = getFixedProp(renderOpts, params)
391
- return [<vxeRenderUpload redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
392
- },
393
- renderEdit(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
- renderItemContent(renderOpts, params) {
398
- let props = getFixedProp(renderOpts, params)
399
- return [<vxeRenderUpload redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
400
- }
401
- },
402
- $vGlobalOption: {
403
- renderDefault(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
- renderCell(renderOpts, params) {
408
- let props = getFixedProp(renderOpts, params)
409
- return [<vxeRenderGoption redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
410
- },
411
- renderEdit(renderOpts, params) {
412
- let props = getFixedProp(renderOpts, params)
413
- return [<vxeRenderGoption redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
414
- }
415
- },
416
- $vCode: {
417
- autoselect: true,
418
- renderDefault(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
- renderCell(renderOpts, params) {
423
- let props = getFixedProp(renderOpts, params)
424
- return [<vxeRenderCode redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
425
- },
426
- renderEdit(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
- renderItemContent(renderOpts, params) {
431
- let props = getFixedProp(renderOpts, params)
432
- return [<vxeRenderCode redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
433
- }
434
- }
435
- }
436
-
437
- // 扩展渲染器
438
- const extraRenders = {
439
- $vRowCell: {
440
- renderDefault(renderOpts, params) {
441
- let field = params.row[params.column.property + 'field'] || params.column.property
442
- let renderName = params.row[field + 'RenderName'] || '$vInput'
443
- return publicRenders[renderName].renderDefault(renderOpts, params)
444
- },
445
- renderCell(renderOpts, params) {
446
- let field = params.row[params.column.property + 'field'] || params.column.property
447
- let renderName = params.row[field + 'RenderName'] || '$vInput'
448
- return publicRenders[renderName].renderCell(renderOpts, params)
449
- },
450
- renderEdit(renderOpts, params) {
451
- let field = params.row[params.column.property + 'field'] || params.column.property
452
- let renderName = params.row[field + 'RenderName'] || ''
453
- return renderName ? publicRenders[renderName].renderEdit(renderOpts, params) : publicRenders[renderName].renderDefault(renderOpts, params)
454
- },
455
- renderItemContent(renderOpts, params) {
456
- let field = params.data[params.property + 'field'] || params.property
457
- let renderName = params.data[field + 'RenderName'] || '$vInput'
458
- return publicRenders[renderName].renderItemContent(renderOpts, params)
459
- }
460
- }
461
- }
462
-
463
- // 过滤渲染器
464
- const filterRenders = {
465
- $vFilterInput: {
466
- renderFilter(renderOpts, params) {
467
- let props = getFixedProp(renderOpts, params)
468
- return [<vxeFilterInput rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} />]
469
- },
470
- filterResetMethod({ options, column }) {
471
- options.forEach(option => {
472
- option.data = option.resetValue || ''
473
- })
474
- },
475
- filterMethod({ value, option, cellValue, row, column, $table }) {
476
- const { data } = option
477
- const { rname, rprops, property } = column
478
- let { rtext } = utils.formatRender(cellValue, property, row, rname, rprops, { $vUtils: utils })
479
- return String(rtext).toLowerCase().indexOf(data.toLowerCase()) > -1
480
- }
481
- },
482
- $vFilterTime: {
483
- renderFilter(renderOpts, params) {
484
- let props = getFixedProp(renderOpts, params)
485
- return [<vxeFilterTime rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} />]
486
- },
487
- filterResetMethod({ options, column }) {
488
- options.forEach(option => {
489
- option.data = option.resetValue || []
490
- })
491
- },
492
- filterMethod({ value, option, cellValue, row, column, $table }) {
493
- const { data } = option
494
- const { rname, rprops, property } = column
495
- let { rtext } = utils.formatRender(cellValue, property, row, rname, rprops, { $vUtils: utils })
496
- if (rprops.range || rprops.range === undefined) {
497
- let startDiff = utils.getDateDiff(data[0], rtext)
498
- let endDiff = utils.getDateDiff(rtext, data[1])
499
- return startDiff.done && endDiff.done
500
- }
501
- return data === rtext
502
- }
503
- }
504
- }
505
-
506
- // 全局渲染器名称
507
- const publicRendersNames = {
508
- allPlugins: Object.keys(publicRenders),
509
- expendRenders: ['$vSelect', '$vCheckgroup', '$vMoney', '$vRadiogroup', '$vSwitch', '$vTree', '$vTime'], // 需要转换视图字段的渲染器
510
- expendName: defaultPublicProps.colExpendName,
511
- sortByExpendName: defaultPublicProps.colExpendName
512
- }
513
-
514
- export { publicRenders, extraRenders, filterRenders, publicRendersNames }
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
+ import vxeFilterTime from './filters/vxe-filter-time.vue'
33
+
34
+ // 渲染器通用默认配置
35
+ let defaultPublicProps = {
36
+ // 转视图字段扩展名字
37
+ colExpendName: '_view'
38
+ }
39
+
40
+ // 渲染器个性化默认配置
41
+ let defaultProps = {
42
+ $vInput: { type: 'text', placeholder: '请输入', transfer: true, digits: 2, prefixType: 'text', suffixType: 'text' },
43
+ $vTextArea: { placeholder: '请输入', rows: 2, transfer: true, resize: 'none', showWordCount: true },
44
+ $vSelect: { placeholder: '请选择', filterable: true, transfer: true, showType: 'text', tagColor: 'default', split: ',', options: [] },
45
+ $vTree: { placeholder: '请选择', transfer: true, split: ',', nodeKey: 'id', labelField: 'label' },
46
+ $vTime: { type: 'date', placeholder: '请选择时间', transfer: true, editable: false, prefixType: 'text', suffixType: 'text' },
47
+ $vProgress: { strokeWidth: 20, strokeColor: ['#108ee9', '#87d068'], textInside: true, min: 0, max: 100, digits: 2 },
48
+ $vSwitch: { placeholder: '请选择', openLabel: '是', openValue: '1', closeLabel: '否', closeValue: '0' },
49
+ $vMoney: { type: 'number', placeholder: '请输入', transfer: true, commafy: true, digits: 2, moneyUnit: 1, min: 0, max: 1000000000000 },
50
+ $vCheckbox: { placeholder: '请选择', uncheckedValue: '0', checkedValue: '1' },
51
+ $vCheckgroup: { placeholder: '请选择', showType: 'text', tagColor: 'default', tagType: '', split: ',' },
52
+ $vRadio: { placeholder: '请选择' },
53
+ $vRadiogroup: { placeholder: '请选择', showType: 'text', tagColor: 'default', tagType: '' },
54
+ $vImg: { square: false, preview: true, width: '100%', height: '34px', fit: 'scale-down' },
55
+ $vHref: { disabled: true, target: '_blank' },
56
+ $vUpload: { split: ',' },
57
+ $vFilterInput: { placeholder: '请输入关键词' },
58
+ $vFilterTime: { range: true },
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 rturnProps = Object.assign({}, defaultPublicProps, defaultProps[name], props)
69
+ let transKeys = ['transfer', 'disabled', 'multiple', 'isLeaf', 'commafy', 'border', 'filterable', 'showWordCount', 'editable']
70
+ transKeys.forEach(key => {
71
+ if (rturnProps[key] !== null && rturnProps[key] !== undefined && typeof rturnProps[key] === 'string') {
72
+ rturnProps[key] = Boolean(+rturnProps[key])
73
+ }
74
+ })
75
+ if (column) {
76
+ column.rname = name
77
+ column.rprops = rturnProps
78
+ }
79
+ return {
80
+ rkey: $table ? column.property : params.property,
81
+ rdata: $table ? params.row : params.data,
82
+ rprops: rturnProps
83
+ }
84
+ }
85
+
86
+ // 全局渲染器
87
+ const publicRenders = {
88
+ $vInput: {
89
+ autofocus: '.td-render .vxe-input--inner',
90
+ autoselect: true,
91
+ renderDefault(renderOpts, params) {
92
+ let props = getFixedProp(renderOpts, params)
93
+ return [<vxeRenderInput redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
94
+ },
95
+ renderCell(renderOpts, params) {
96
+ let props = getFixedProp(renderOpts, params)
97
+ return [<vxeRenderInput redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
98
+ },
99
+ renderEdit(renderOpts, params) {
100
+ let props = getFixedProp(renderOpts, params)
101
+ return [<vxeRenderInput redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
102
+ },
103
+ renderItemContent(renderOpts, params) {
104
+ let props = getFixedProp(renderOpts, params)
105
+ return [<vxeRenderInput redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
106
+ },
107
+ renderFooter(renderOpts, params) {
108
+ let props = getFixedProp(renderOpts, params)
109
+ return [<vxeFooterInput redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
110
+ }
111
+ },
112
+ $vTextArea: {
113
+ autofocus: '.td-render .vxe-textarea--inner',
114
+ autoselect: true,
115
+ renderDefault(renderOpts, params) {
116
+ let props = getFixedProp(renderOpts, params)
117
+ return [<vxeRenderTextarea redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
118
+ },
119
+ renderCell(renderOpts, params) {
120
+ let props = getFixedProp(renderOpts, params)
121
+ return [<vxeRenderTextarea redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
122
+ },
123
+ renderEdit(renderOpts, params) {
124
+ let props = getFixedProp(renderOpts, params)
125
+ return [<vxeRenderTextarea redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
126
+ },
127
+ renderItemContent(renderOpts, params) {
128
+ let props = getFixedProp(renderOpts, params)
129
+ return [<vxeRenderTextarea redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
130
+ }
131
+ },
132
+ $vSelect: {
133
+ autofocus: '.td-render .vxe-input--inner',
134
+ autoselect: true,
135
+ renderDefault(renderOpts, params) {
136
+ let props = getFixedProp(renderOpts, params)
137
+ return [<vxeRenderSelect redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
138
+ },
139
+ renderCell(renderOpts, params) {
140
+ let props = getFixedProp(renderOpts, params)
141
+ return [<vxeRenderSelect redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
142
+ },
143
+ renderEdit(renderOpts, params) {
144
+ let props = getFixedProp(renderOpts, params)
145
+ return [<vxeRenderSelect redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
146
+ },
147
+ renderItemContent(renderOpts, params) {
148
+ let props = getFixedProp(renderOpts, params)
149
+ return [<vxeRenderSelect redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
150
+ }
151
+ },
152
+ $vTree: {
153
+ autofocus: '.td-render .vxe-input--inner',
154
+ autoselect: true,
155
+ renderDefault(renderOpts, params) {
156
+ let props = getFixedProp(renderOpts, params)
157
+ return [<vxeRenderTree redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
158
+ },
159
+ renderCell(renderOpts, params) {
160
+ let props = getFixedProp(renderOpts, params)
161
+ return [<vxeRenderTree redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
162
+ },
163
+ renderEdit(renderOpts, params) {
164
+ let props = getFixedProp(renderOpts, params)
165
+ return [<vxeRenderTree redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
166
+ },
167
+ renderItemContent(renderOpts, params) {
168
+ let props = getFixedProp(renderOpts, params)
169
+ return [<vxeRenderTree redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
170
+ }
171
+ },
172
+ $vTime: {
173
+ autofocus: '.td-render .vxe-input--inner',
174
+ autoselect: true,
175
+ renderDefault(renderOpts, params) {
176
+ let props = getFixedProp(renderOpts, params)
177
+ return [<vxeRenderTime redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
178
+ },
179
+ renderCell(renderOpts, params) {
180
+ let props = getFixedProp(renderOpts, params)
181
+ return [<vxeRenderTime redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
182
+ },
183
+ renderEdit(renderOpts, params) {
184
+ let props = getFixedProp(renderOpts, params)
185
+ return [<vxeRenderTime redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
186
+ },
187
+ renderItemContent(renderOpts, params) {
188
+ let props = getFixedProp(renderOpts, params)
189
+ return [<vxeRenderTime redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
190
+ }
191
+ },
192
+ $vProgress: {
193
+ autofocus: '.td-render .vxe-input--inner',
194
+ autoselect: true,
195
+ renderDefault(renderOpts, params) {
196
+ let props = getFixedProp(renderOpts, params)
197
+ return [<vxeRenderProgress redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
198
+ },
199
+ renderCell(renderOpts, params) {
200
+ let props = getFixedProp(renderOpts, params)
201
+ return [<vxeRenderProgress redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
202
+ },
203
+ renderEdit(renderOpts, params) {
204
+ let props = getFixedProp(renderOpts, params)
205
+ return [<vxeRenderProgress redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
206
+ },
207
+ renderItemContent(renderOpts, params) {
208
+ let props = getFixedProp(renderOpts, params)
209
+ return [<vxeRenderProgress redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
210
+ },
211
+ exportMethod({ row, column }) {
212
+ return utils.get(row, column.property)
213
+ }
214
+ },
215
+ $vSwitch: {
216
+ autoselect: true,
217
+ renderDefault(renderOpts, params) {
218
+ let props = getFixedProp(renderOpts, params)
219
+ return [<vxeRenderSwitch redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
220
+ },
221
+ renderCell(renderOpts, params) {
222
+ let props = getFixedProp(renderOpts, params)
223
+ return [<vxeRenderSwitch redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
224
+ },
225
+ renderEdit(renderOpts, params) {
226
+ let props = getFixedProp(renderOpts, params)
227
+ return [<vxeRenderSwitch redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
228
+ },
229
+ renderItemContent(renderOpts, params) {
230
+ let props = getFixedProp(renderOpts, params)
231
+ return [<vxeRenderSwitch redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
232
+ }
233
+ },
234
+ $vMoney: {
235
+ autofocus: '.td-render .vxe-input--inner',
236
+ autoselect: true,
237
+ renderDefault(renderOpts, params) {
238
+ let props = getFixedProp(renderOpts, params)
239
+ return [<vxeRenderMoney redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
240
+ },
241
+ renderCell(renderOpts, params) {
242
+ let props = getFixedProp(renderOpts, params)
243
+ return [<vxeRenderMoney redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
244
+ },
245
+ renderEdit(renderOpts, params) {
246
+ let props = getFixedProp(renderOpts, params)
247
+ return [<vxeRenderMoney redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
248
+ },
249
+ renderItemContent(renderOpts, params) {
250
+ let props = getFixedProp(renderOpts, params)
251
+ return [<vxeRenderMoney redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
252
+ },
253
+ renderHeader(renderOpts, params) {
254
+ let props = getFixedProp(renderOpts, params)
255
+ return [<vxeHeaderMoney redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
256
+ },
257
+ renderFooter(renderOpts, params) {
258
+ let props = getFixedProp(renderOpts, params)
259
+ return [<vxeFooterMoney redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
260
+ },
261
+ exportMethod({ row, column }) {
262
+ return utils.get(row, column.property)
263
+ }
264
+ },
265
+ $vCheckbox: {
266
+ autoselect: true,
267
+ renderDefault(renderOpts, params) {
268
+ let props = getFixedProp(renderOpts, params)
269
+ return [<vxeRenderCheckbox redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
270
+ },
271
+ renderCell(renderOpts, params) {
272
+ let props = getFixedProp(renderOpts, params)
273
+ return [<vxeRenderCheckbox redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
274
+ },
275
+ renderEdit(renderOpts, params) {
276
+ let props = getFixedProp(renderOpts, params)
277
+ return [<vxeRenderCheckbox redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
278
+ },
279
+ renderItemContent(renderOpts, params) {
280
+ let props = getFixedProp(renderOpts, params)
281
+ return [<vxeRenderCheckbox redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
282
+ }
283
+ },
284
+ $vCheckgroup: {
285
+ autoselect: true,
286
+ renderDefault(renderOpts, params) {
287
+ let props = getFixedProp(renderOpts, params)
288
+ return [<vxeRenderCheckgroup redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
289
+ },
290
+ renderCell(renderOpts, params) {
291
+ let props = getFixedProp(renderOpts, params)
292
+ return [<vxeRenderCheckgroup redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
293
+ },
294
+ renderEdit(renderOpts, params) {
295
+ let props = getFixedProp(renderOpts, params)
296
+ return [<vxeRenderCheckgroup redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
297
+ },
298
+ renderItemContent(renderOpts, params) {
299
+ let props = getFixedProp(renderOpts, params)
300
+ return [<vxeRenderCheckgroup redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
301
+ }
302
+ },
303
+ $vRadio: {
304
+ autoselect: true,
305
+ renderDefault(renderOpts, params) {
306
+ let props = getFixedProp(renderOpts, params)
307
+ return [<vxeRenderRadio redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
308
+ },
309
+ renderCell(renderOpts, params) {
310
+ let props = getFixedProp(renderOpts, params)
311
+ return [<vxeRenderRadio redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
312
+ },
313
+ renderEdit(renderOpts, params) {
314
+ let props = getFixedProp(renderOpts, params)
315
+ return [<vxeRenderRadio redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
316
+ },
317
+ renderItemContent(renderOpts, params) {
318
+ let props = getFixedProp(renderOpts, params)
319
+ return [<vxeRenderRadio redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
320
+ }
321
+ },
322
+ $vRadiogroup: {
323
+ autoselect: true,
324
+ renderDefault(renderOpts, params) {
325
+ let props = getFixedProp(renderOpts, params)
326
+ return [<vxeRenderRadiogroup redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
327
+ },
328
+ renderCell(renderOpts, params) {
329
+ let props = getFixedProp(renderOpts, params)
330
+ return [<vxeRenderRadiogroup redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
331
+ },
332
+ renderEdit(renderOpts, params) {
333
+ let props = getFixedProp(renderOpts, params)
334
+ return [<vxeRenderRadiogroup redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
335
+ },
336
+ renderItemContent(renderOpts, params) {
337
+ let props = getFixedProp(renderOpts, params)
338
+ return [<vxeRenderRadiogroup redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
339
+ }
340
+ },
341
+ $vTable: {
342
+ renderExpand(renderOpts, params) {
343
+ let props = getFixedProp(renderOpts, params)
344
+ return [<vxeRenderTable redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
345
+ },
346
+ renderItemContent(renderOpts, params) {
347
+ let props = getFixedProp(renderOpts, params)
348
+ return [<vxeRenderTable redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
349
+ }
350
+ },
351
+ $vImg: {
352
+ renderDefault(renderOpts, params) {
353
+ let props = getFixedProp(renderOpts, params)
354
+ return [<vxeRenderImg redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
355
+ },
356
+ renderCell(renderOpts, params) {
357
+ let props = getFixedProp(renderOpts, params)
358
+ return [<vxeRenderImg redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
359
+ },
360
+ renderEdit(renderOpts, params) {
361
+ let props = getFixedProp(renderOpts, params)
362
+ return [<vxeRenderImg redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
363
+ },
364
+ exportMethod({ row, column }) {
365
+ return utils.get(row, column.property)
366
+ }
367
+ },
368
+ $vHref: {
369
+ autoselect: true,
370
+ renderDefault(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
+ renderCell(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
+ renderEdit(renderOpts, params) {
379
+ let props = getFixedProp(renderOpts, params)
380
+ return [<vxeRenderHref redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
381
+ }
382
+ },
383
+ $vUpload: {
384
+ autoselect: true,
385
+ renderDefault(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
+ renderCell(renderOpts, params) {
390
+ let props = getFixedProp(renderOpts, params)
391
+ return [<vxeRenderUpload redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
392
+ },
393
+ renderEdit(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
+ renderItemContent(renderOpts, params) {
398
+ let props = getFixedProp(renderOpts, params)
399
+ return [<vxeRenderUpload redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
400
+ }
401
+ },
402
+ $vGlobalOption: {
403
+ renderDefault(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
+ renderCell(renderOpts, params) {
408
+ let props = getFixedProp(renderOpts, params)
409
+ return [<vxeRenderGoption redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
410
+ },
411
+ renderEdit(renderOpts, params) {
412
+ let props = getFixedProp(renderOpts, params)
413
+ return [<vxeRenderGoption redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
414
+ }
415
+ },
416
+ $vCode: {
417
+ autoselect: true,
418
+ renderDefault(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
+ renderCell(renderOpts, params) {
423
+ let props = getFixedProp(renderOpts, params)
424
+ return [<vxeRenderCode redit={false} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
425
+ },
426
+ renderEdit(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
+ renderItemContent(renderOpts, params) {
431
+ let props = getFixedProp(renderOpts, params)
432
+ return [<vxeRenderCode redit={true} rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} rdata={props.rdata} />]
433
+ }
434
+ }
435
+ }
436
+
437
+ // 扩展渲染器
438
+ const extraRenders = {
439
+ $vRowCell: {
440
+ renderDefault(renderOpts, params) {
441
+ let field = params.row[params.column.property + 'field'] || params.column.property
442
+ let renderName = params.row[field + 'RenderName'] || '$vInput'
443
+ return publicRenders[renderName].renderDefault(renderOpts, params)
444
+ },
445
+ renderCell(renderOpts, params) {
446
+ let field = params.row[params.column.property + 'field'] || params.column.property
447
+ let renderName = params.row[field + 'RenderName'] || '$vInput'
448
+ return publicRenders[renderName].renderCell(renderOpts, params)
449
+ },
450
+ renderEdit(renderOpts, params) {
451
+ let field = params.row[params.column.property + 'field'] || params.column.property
452
+ let renderName = params.row[field + 'RenderName'] || ''
453
+ return renderName ? publicRenders[renderName].renderEdit(renderOpts, params) : publicRenders[renderName].renderDefault(renderOpts, params)
454
+ },
455
+ renderItemContent(renderOpts, params) {
456
+ let field = params.data[params.property + 'field'] || params.property
457
+ let renderName = params.data[field + 'RenderName'] || '$vInput'
458
+ return publicRenders[renderName].renderItemContent(renderOpts, params)
459
+ }
460
+ }
461
+ }
462
+
463
+ // 过滤渲染器
464
+ const filterRenders = {
465
+ $vFilterInput: {
466
+ renderFilter(renderOpts, params) {
467
+ let props = getFixedProp(renderOpts, params)
468
+ return [<vxeFilterInput rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} />]
469
+ },
470
+ filterResetMethod({ options, column }) {
471
+ options.forEach(option => {
472
+ option.data = option.resetValue || ''
473
+ })
474
+ },
475
+ filterMethod({ value, option, cellValue, row, column, $table }) {
476
+ const { data } = option
477
+ const { rname, rprops, property } = column
478
+ let { rtext } = utils.formatRender(cellValue, property, row, rname, rprops, { $vUtils: utils })
479
+ return String(rtext).toLowerCase().indexOf(data.toLowerCase()) > -1
480
+ }
481
+ },
482
+ $vFilterTime: {
483
+ renderFilter(renderOpts, params) {
484
+ let props = getFixedProp(renderOpts, params)
485
+ return [<vxeFilterTime rparams={params} rname={renderOpts.name} rprops={props.rprops} rkey={props.rkey} />]
486
+ },
487
+ filterResetMethod({ options, column }) {
488
+ options.forEach(option => {
489
+ option.data = option.resetValue || []
490
+ })
491
+ },
492
+ filterMethod({ value, option, cellValue, row, column, $table }) {
493
+ const { data } = option
494
+ const { rname, rprops, property } = column
495
+ let { rtext } = utils.formatRender(cellValue, property, row, rname, rprops, { $vUtils: utils })
496
+ if (rprops.range || rprops.range === undefined) {
497
+ let startDiff = utils.getDateDiff(data[0], rtext)
498
+ let endDiff = utils.getDateDiff(rtext, data[1])
499
+ return startDiff.done && endDiff.done
500
+ }
501
+ return data === rtext
502
+ }
503
+ }
504
+ }
505
+
506
+ // 全局渲染器名称
507
+ const publicRendersNames = {
508
+ allPlugins: Object.keys(publicRenders),
509
+ expendRenders: ['$vSelect', '$vCheckgroup', '$vMoney', '$vRadiogroup', '$vSwitch', '$vTree', '$vTime'], // 需要转换视图字段的渲染器
510
+ expendName: defaultPublicProps.colExpendName,
511
+ sortByExpendName: defaultPublicProps.colExpendName
512
+ }
513
+
514
+ export { publicRenders, extraRenders, filterRenders, publicRendersNames }