@utogether/utils 1.0.0 → 1.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.
@@ -1,16 +1,42 @@
1
+ import { inject, createVNode, resolveComponent, mergeProps, isVNode } from "vue";
1
2
  import { useI18n } from "vue-i18n";
2
- import { inject } from "vue";
3
3
  import { isArray, toStringJSON } from "xe-utils";
4
4
  import { VXETable } from "vxe-table";
5
+ function _isSlot(s) {
6
+ return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
7
+ }
5
8
  const serviceApi = inject("serviceApi");
6
9
  VXETable.renderer.add("#SuSelect", {
7
10
  renderItemContent(renderOpts2, params2) {
8
- const { data, property } = params2;
9
- const { options: options2, props: props2, optionProps: optionProps2 = {}, events } = renderOpts2;
10
- const { label: label2 = "label", value: value2 = "value", extLabel: extLabel2 } = optionProps2;
11
- const { code, fetchField, extParam = {}, loading = false } = props2;
11
+ let _slot;
12
+ const {
13
+ data,
14
+ property
15
+ } = params2;
16
+ const {
17
+ options: options2,
18
+ props: props2,
19
+ optionProps: optionProps2 = {},
20
+ events
21
+ } = renderOpts2;
22
+ const {
23
+ label: label2 = "label",
24
+ value: value2 = "value",
25
+ extLabel: extLabel2
26
+ } = optionProps2;
27
+ const {
28
+ code,
29
+ fetchField,
30
+ extParam = {},
31
+ loading = false
32
+ } = props2;
12
33
  async function remoteMethod(query) {
13
- const param = Object.assign({}, { pageSize: 20, pageNum: 1 }, extParam, { [fetchField]: query });
34
+ const param = Object.assign({}, {
35
+ pageSize: 20,
36
+ pageNum: 1
37
+ }, extParam, {
38
+ [fetchField]: query
39
+ });
14
40
  let res;
15
41
  try {
16
42
  options2.length = 0;
@@ -22,7 +48,9 @@ VXETable.renderer.add("#SuSelect", {
22
48
  }
23
49
  }
24
50
  function onChange(val2) {
25
- const { fieldMap = {} } = props2;
51
+ const {
52
+ fieldMap = {}
53
+ } = props2;
26
54
  const item2 = options2.find((option) => val2 === option[value2]);
27
55
  const keys = Object.keys(fieldMap);
28
56
  if (keys.length) {
@@ -34,64 +62,96 @@ VXETable.renderer.add("#SuSelect", {
34
62
  (events == null ? void 0 : events.change) && events.change(val2, item2, data, property);
35
63
  }
36
64
  function onClear() {
37
- (events == null ? void 0 : events.clear) && events.clear({ data, property });
65
+ (events == null ? void 0 : events.clear) && events.clear({
66
+ data,
67
+ property
68
+ });
38
69
  }
39
70
  function onFocus() {
40
71
  !options2.length && remoteMethod("");
41
72
  }
42
- return [
43
- /* @__PURE__ */ React.createElement("el-select", {
44
- "v-model": data[property],
45
- ...props2,
46
- filterable: true,
47
- remote: true,
48
- clearable: true,
49
- size: "small",
50
- style: "width: 100%",
51
- placeholder: "\u8BF7\u5F55\u5165\u5173\u952E\u5B57\u641C\u7D22",
52
- "remote-method": remoteMethod,
53
- loading,
54
- onFocus: () => onFocus(),
55
- onChange: (v) => onChange(v),
56
- onClear: () => onClear()
57
- }, options2.map((item2) => {
58
- return /* @__PURE__ */ React.createElement("el-option", {
59
- key: item2[value2],
60
- label: item2[label2],
61
- value: item2[value2]
62
- }, /* @__PURE__ */ React.createElement("span", {
63
- style: "float: left"
64
- }, item2[extLabel2] ? `${item2[value2]}-${item2[extLabel2]}` : item2[value2]), value2 !== label2 && !item2[extLabel2] ? /* @__PURE__ */ React.createElement("span", {
65
- class: "su-coSelect-option"
66
- }, item2[label2]) : null);
67
- }))
68
- ];
73
+ return [createVNode(resolveComponent("el-select"), mergeProps({
74
+ "modelValue": data[property],
75
+ "onUpdate:modelValue": ($event) => data[property] = $event
76
+ }, props2, {
77
+ "filterable": true,
78
+ "remote": true,
79
+ "clearable": true,
80
+ "size": "small",
81
+ "style": "width: 100%",
82
+ "placeholder": "\u8BF7\u5F55\u5165\u5173\u952E\u5B57\u641C\u7D22",
83
+ "remote-method": remoteMethod,
84
+ "loading": loading,
85
+ "onFocus": () => onFocus(),
86
+ "onChange": (v) => onChange(v),
87
+ "onClear": () => onClear()
88
+ }), _isSlot(_slot = options2.map((item2) => {
89
+ return createVNode(resolveComponent("el-option"), {
90
+ "key": item2[value2],
91
+ "label": item2[label2],
92
+ "value": item2[value2]
93
+ }, {
94
+ default: () => [createVNode("span", {
95
+ "style": "float: left"
96
+ }, [item2[extLabel2] ? `${item2[value2]}-${item2[extLabel2]}` : item2[value2]]), value2 !== label2 && !item2[extLabel2] ? createVNode("span", {
97
+ "class": "su-coSelect-option"
98
+ }, [item2[label2]]) : null]
99
+ });
100
+ })) ? _slot : {
101
+ default: () => [_slot]
102
+ })];
69
103
  }
70
104
  });
71
105
  VXETable.renderer.add("#SuDateRange", {
72
106
  renderItemContent(renderOpts2, params2) {
73
- const { data, property } = params2;
74
- const { props: props2 } = renderOpts2;
75
- const { t } = useI18n();
76
- return [
77
- /* @__PURE__ */ React.createElement("el-date-picker", {
78
- "v-model": data[property],
79
- type: (props2 == null ? void 0 : props2.type) || "daterange",
80
- size: "small",
81
- style: "width: 100%",
82
- "range-separator": t("message.to"),
83
- "start-placeholder": t("message.startDate"),
84
- "end-placeholder": t("message.endDate")
85
- })
86
- ];
107
+ const {
108
+ data,
109
+ property
110
+ } = params2;
111
+ const {
112
+ props: props2
113
+ } = renderOpts2;
114
+ const {
115
+ t
116
+ } = useI18n();
117
+ return [createVNode(resolveComponent("el-date-picker"), {
118
+ "modelValue": data[property],
119
+ "onUpdate:modelValue": ($event) => data[property] = $event,
120
+ "type": (props2 == null ? void 0 : props2.type) || "daterange",
121
+ "size": "small",
122
+ "style": "width: 100%",
123
+ "range-separator": t("message.to"),
124
+ "start-placeholder": t("message.startDate"),
125
+ "end-placeholder": t("message.endDate")
126
+ }, null)];
87
127
  }
88
128
  });
89
129
  VXETable.renderer.add("#SuColSelect", {
90
130
  renderEdit(renderOpts2, params2) {
91
- const { row: row2, column: column2 } = params2;
92
- const { options: options2, props: props2, optionProps: optionProps2 = {}, events } = renderOpts2;
93
- const { label: label2 = "label", value: value2 = "value", extLabel: extLabel2 } = optionProps2;
94
- const { code, fetchField, extParam = {}, loading = false, multiple: multiple2, defaultValue } = props2;
131
+ let _slot2;
132
+ const {
133
+ row: row2,
134
+ column: column2
135
+ } = params2;
136
+ const {
137
+ options: options2,
138
+ props: props2,
139
+ optionProps: optionProps2 = {},
140
+ events
141
+ } = renderOpts2;
142
+ const {
143
+ label: label2 = "label",
144
+ value: value2 = "value",
145
+ extLabel: extLabel2
146
+ } = optionProps2;
147
+ const {
148
+ code,
149
+ fetchField,
150
+ extParam = {},
151
+ loading = false,
152
+ multiple: multiple2,
153
+ defaultValue
154
+ } = props2;
95
155
  if (defaultValue) {
96
156
  const keys = Object.keys(defaultValue);
97
157
  keys.forEach((key) => {
@@ -101,11 +161,17 @@ VXETable.renderer.add("#SuColSelect", {
101
161
  if (multiple2 && row2[column2.field]) {
102
162
  !isArray(row2[column2.field]) && row2[column2.field].split(",").forEach((ff) => {
103
163
  const isExit = options2.some((s) => s[label2] === ff);
104
- !isExit && options2.push({ [value2]: ff, [label2]: ff });
164
+ !isExit && options2.push({
165
+ [value2]: ff,
166
+ [label2]: ff
167
+ });
105
168
  });
106
169
  }
107
170
  async function remoteMethod(query) {
108
- const param = Object.assign({}, { pageSize: 20, pageNum: 1 }, extParam, {
171
+ const param = Object.assign({}, {
172
+ pageSize: 20,
173
+ pageNum: 1
174
+ }, extParam, {
109
175
  [fetchField || label2]: query
110
176
  });
111
177
  let res;
@@ -121,7 +187,9 @@ VXETable.renderer.add("#SuColSelect", {
121
187
  }
122
188
  }
123
189
  function onChange(val2) {
124
- const { fieldMap = {} } = props2;
190
+ const {
191
+ fieldMap = {}
192
+ } = props2;
125
193
  const item2 = val2 && options2.find((option) => val2 === option[value2]);
126
194
  const keys = Object.keys(fieldMap);
127
195
  if (keys.length) {
@@ -133,43 +201,57 @@ VXETable.renderer.add("#SuColSelect", {
133
201
  (events == null ? void 0 : events.change) && events.change(params2, val2, item2, column2.field);
134
202
  }
135
203
  function onClear() {
136
- (events == null ? void 0 : events.onClear) && events.onClear({ row: row2, field: column2.field });
204
+ (events == null ? void 0 : events.onClear) && events.onClear({
205
+ row: row2,
206
+ field: column2.field
207
+ });
137
208
  }
138
209
  function onFocus() {
139
210
  !options2.length && remoteMethod("");
140
211
  }
141
- return [
142
- /* @__PURE__ */ React.createElement("el-select", {
143
- "v-model": row2[column2.field],
144
- ...props2,
145
- filterable: true,
146
- remote: true,
147
- clearable: true,
148
- size: "small",
149
- placeholder: "\u8BF7\u5F55\u5165\u5173\u952E\u5B57\u641C\u7D22",
150
- style: "width: 100%",
151
- "remote-method": remoteMethod,
152
- loading,
153
- onFocus: () => onFocus(),
154
- onChange: (v) => onChange(v),
155
- onClear: () => onClear()
156
- }, options2.map((item2) => {
157
- return /* @__PURE__ */ React.createElement("el-option", {
158
- key: item2[value2],
159
- label: item2[label2],
160
- value: item2[value2]
161
- }, /* @__PURE__ */ React.createElement("span", {
162
- style: "float: left"
163
- }, item2[extLabel2] ? `${item2[value2]}-${item2[extLabel2]}` : item2[value2]), value2 !== label2 && !item2[extLabel2] ? /* @__PURE__ */ React.createElement("span", {
164
- class: "su-coSelect-option"
165
- }, item2[label2]) : null);
166
- }))
167
- ];
212
+ return [createVNode(resolveComponent("el-select"), mergeProps({
213
+ "modelValue": row2[column2.field],
214
+ "onUpdate:modelValue": ($event) => row2[column2.field] = $event
215
+ }, props2, {
216
+ "filterable": true,
217
+ "remote": true,
218
+ "clearable": true,
219
+ "size": "small",
220
+ "placeholder": "\u8BF7\u5F55\u5165\u5173\u952E\u5B57\u641C\u7D22",
221
+ "style": "width: 100%",
222
+ "remote-method": remoteMethod,
223
+ "loading": loading,
224
+ "onFocus": () => onFocus(),
225
+ "onChange": (v) => onChange(v),
226
+ "onClear": () => onClear()
227
+ }), _isSlot(_slot2 = options2.map((item2) => {
228
+ return createVNode(resolveComponent("el-option"), {
229
+ "key": item2[value2],
230
+ "label": item2[label2],
231
+ "value": item2[value2]
232
+ }, {
233
+ default: () => [createVNode("span", {
234
+ "style": "float: left"
235
+ }, [item2[extLabel2] ? `${item2[value2]}-${item2[extLabel2]}` : item2[value2]]), value2 !== label2 && !item2[extLabel2] ? createVNode("span", {
236
+ "class": "su-coSelect-option"
237
+ }, [item2[label2]]) : null]
238
+ });
239
+ })) ? _slot2 : {
240
+ default: () => [_slot2]
241
+ })];
168
242
  },
169
243
  renderCell(renderOpts, params) {
170
- const { row, column } = params;
171
- const { props } = renderOpts;
172
- const { textValue, multiple } = props;
244
+ const {
245
+ row,
246
+ column
247
+ } = params;
248
+ const {
249
+ props
250
+ } = renderOpts;
251
+ const {
252
+ textValue,
253
+ multiple
254
+ } = props;
173
255
  let val = row[column.field];
174
256
  if (textValue) {
175
257
  val = eval(`row.${textValue}`) || row[column.field];
@@ -177,15 +259,35 @@ VXETable.renderer.add("#SuColSelect", {
177
259
  if (val && multiple && isArray(val)) {
178
260
  val = val && val.join(",");
179
261
  }
180
- return [/* @__PURE__ */ React.createElement("span", null, val)];
262
+ return [createVNode("span", null, [val])];
181
263
  }
182
264
  });
183
265
  VXETable.renderer.add("#SuSelect", {
184
266
  renderEdit(renderOpts2, params2) {
185
- const { row: row2, column: column2 } = params2;
186
- const { options: options2, props: props2, optionProps: optionProps2 = {}, events } = renderOpts2;
187
- const { label: label2 = "label", value: value2 = "value", extLabel: extLabel2 } = optionProps2;
188
- const { code, fetchField, extParam = {}, loading = false, multiple: multiple2, defaultValue } = props2;
267
+ let _slot3;
268
+ const {
269
+ row: row2,
270
+ column: column2
271
+ } = params2;
272
+ const {
273
+ options: options2,
274
+ props: props2,
275
+ optionProps: optionProps2 = {},
276
+ events
277
+ } = renderOpts2;
278
+ const {
279
+ label: label2 = "label",
280
+ value: value2 = "value",
281
+ extLabel: extLabel2
282
+ } = optionProps2;
283
+ const {
284
+ code,
285
+ fetchField,
286
+ extParam = {},
287
+ loading = false,
288
+ multiple: multiple2,
289
+ defaultValue
290
+ } = props2;
189
291
  if (defaultValue) {
190
292
  const keys = Object.keys(defaultValue);
191
293
  keys.forEach((key) => {
@@ -195,11 +297,17 @@ VXETable.renderer.add("#SuSelect", {
195
297
  if (multiple2 && row2[column2.field]) {
196
298
  !isArray(row2[column2.field]) && row2[column2.field].split(",").forEach((ff) => {
197
299
  const isExit = options2.some((s) => s[label2] === ff);
198
- !isExit && options2.push({ [value2]: ff, [label2]: ff });
300
+ !isExit && options2.push({
301
+ [value2]: ff,
302
+ [label2]: ff
303
+ });
199
304
  });
200
305
  }
201
306
  async function remoteMethod(query) {
202
- const param = Object.assign({}, { pageSize: 20, pageNum: 1 }, extParam, {
307
+ const param = Object.assign({}, {
308
+ pageSize: 20,
309
+ pageNum: 1
310
+ }, extParam, {
203
311
  [fetchField || label2]: query
204
312
  });
205
313
  let res;
@@ -215,7 +323,9 @@ VXETable.renderer.add("#SuSelect", {
215
323
  }
216
324
  }
217
325
  function onChange(val2) {
218
- const { fieldMap = {} } = props2;
326
+ const {
327
+ fieldMap = {}
328
+ } = props2;
219
329
  const item2 = val2 && options2.find((option) => val2 === option[value2]);
220
330
  const keys = Object.keys(fieldMap);
221
331
  if (keys.length) {
@@ -227,43 +337,57 @@ VXETable.renderer.add("#SuSelect", {
227
337
  (events == null ? void 0 : events.change) && events.change(params2, val2, item2, column2.field);
228
338
  }
229
339
  function onClear() {
230
- (events == null ? void 0 : events.onClear) && events.onClear({ row: row2, field: column2.field });
340
+ (events == null ? void 0 : events.onClear) && events.onClear({
341
+ row: row2,
342
+ field: column2.field
343
+ });
231
344
  }
232
345
  function onFocus() {
233
346
  !options2.length && remoteMethod("");
234
347
  }
235
- return [
236
- /* @__PURE__ */ React.createElement("el-select", {
237
- "v-model": row2[column2.field],
238
- ...props2,
239
- filterable: true,
240
- remote: true,
241
- clearable: true,
242
- size: "small",
243
- placeholder: "\u8BF7\u5F55\u5165\u5173\u952E\u5B57\u641C\u7D22",
244
- style: "width: 100%",
245
- "remote-method": remoteMethod,
246
- loading,
247
- onFocus: () => onFocus(),
248
- onChange: (v) => onChange(v),
249
- onClear: () => onClear()
250
- }, options2.map((item2) => {
251
- return /* @__PURE__ */ React.createElement("el-option", {
252
- key: item2[value2],
253
- label: item2[label2],
254
- value: item2[value2]
255
- }, /* @__PURE__ */ React.createElement("span", {
256
- style: "float: left"
257
- }, item2[extLabel2] ? `${item2[value2]}-${item2[extLabel2]}` : item2[value2]), value2 !== label2 && !item2[extLabel2] ? /* @__PURE__ */ React.createElement("span", {
258
- class: "su-coSelect-option"
259
- }, item2[label2]) : null);
260
- }))
261
- ];
348
+ return [createVNode(resolveComponent("el-select"), mergeProps({
349
+ "modelValue": row2[column2.field],
350
+ "onUpdate:modelValue": ($event) => row2[column2.field] = $event
351
+ }, props2, {
352
+ "filterable": true,
353
+ "remote": true,
354
+ "clearable": true,
355
+ "size": "small",
356
+ "placeholder": "\u8BF7\u5F55\u5165\u5173\u952E\u5B57\u641C\u7D22",
357
+ "style": "width: 100%",
358
+ "remote-method": remoteMethod,
359
+ "loading": loading,
360
+ "onFocus": () => onFocus(),
361
+ "onChange": (v) => onChange(v),
362
+ "onClear": () => onClear()
363
+ }), _isSlot(_slot3 = options2.map((item2) => {
364
+ return createVNode(resolveComponent("el-option"), {
365
+ "key": item2[value2],
366
+ "label": item2[label2],
367
+ "value": item2[value2]
368
+ }, {
369
+ default: () => [createVNode("span", {
370
+ "style": "float: left"
371
+ }, [item2[extLabel2] ? `${item2[value2]}-${item2[extLabel2]}` : item2[value2]]), value2 !== label2 && !item2[extLabel2] ? createVNode("span", {
372
+ "class": "su-coSelect-option"
373
+ }, [item2[label2]]) : null]
374
+ });
375
+ })) ? _slot3 : {
376
+ default: () => [_slot3]
377
+ })];
262
378
  },
263
379
  renderCell(renderOpts, params) {
264
- const { row, column } = params;
265
- const { props } = renderOpts;
266
- const { textValue, multiple } = props;
380
+ const {
381
+ row,
382
+ column
383
+ } = params;
384
+ const {
385
+ props
386
+ } = renderOpts;
387
+ const {
388
+ textValue,
389
+ multiple
390
+ } = props;
267
391
  let val = row[column.field];
268
392
  if (textValue) {
269
393
  val = eval(`row.${textValue}`) || row[column.field];
@@ -271,18 +395,34 @@ VXETable.renderer.add("#SuSelect", {
271
395
  if (val && multiple && isArray(val)) {
272
396
  val = val && val.join(",");
273
397
  }
274
- return [/* @__PURE__ */ React.createElement("span", null, val)];
398
+ return [createVNode("span", null, [val])];
275
399
  }
276
400
  });
277
401
  VXETable.renderer.add("#select", {
278
402
  renderEdit(renderOpts2, params2) {
279
- const { row: row2, column: column2 } = params2;
280
- const { options: options2, props: props2, optionProps: optionProps2 = {}, events } = renderOpts2;
281
- const { label: label2 = "label", value: value2 = "value", extLabel: extLabel2 } = optionProps2;
403
+ let _slot4;
404
+ const {
405
+ row: row2,
406
+ column: column2
407
+ } = params2;
408
+ const {
409
+ options: options2,
410
+ props: props2,
411
+ optionProps: optionProps2 = {},
412
+ events
413
+ } = renderOpts2;
414
+ const {
415
+ label: label2 = "label",
416
+ value: value2 = "value",
417
+ extLabel: extLabel2
418
+ } = optionProps2;
282
419
  if (props2.multiple && row2[column2.field]) {
283
420
  !isArray(row2[column2.field]) && row2[column2.field].split(",").forEach((ff) => {
284
421
  const isExit = options2.some((s) => s[label2] === ff);
285
- !isExit && options2.push({ [value2]: ff, [label2]: ff });
422
+ !isExit && options2.push({
423
+ [value2]: ff,
424
+ [label2]: ff
425
+ });
286
426
  });
287
427
  }
288
428
  function onChange(val2) {
@@ -290,36 +430,55 @@ VXETable.renderer.add("#select", {
290
430
  (events == null ? void 0 : events.change) && events.change(params2, val2, item2, column2.field);
291
431
  }
292
432
  function onClear() {
293
- (events == null ? void 0 : events.onClear) && events.onClear({ row: row2, field: column2.field });
433
+ (events == null ? void 0 : events.onClear) && events.onClear({
434
+ row: row2,
435
+ field: column2.field
436
+ });
294
437
  }
295
- return [
296
- /* @__PURE__ */ React.createElement("el-select", {
297
- "v-model": row2[column2.field],
298
- filterable: true,
299
- clearable: true,
300
- ...props2,
301
- size: "small",
302
- style: "width: 100%",
303
- onChange: (v) => onChange(v),
304
- onClear: () => onClear()
305
- }, options2.map((item2) => {
306
- return /* @__PURE__ */ React.createElement("el-option", {
307
- key: item2[value2],
308
- label: item2[extLabel2] ? item2[value2] : item2[label2],
309
- value: item2[value2]
310
- }, /* @__PURE__ */ React.createElement("span", {
311
- style: "float: left"
312
- }, extLabel2 && item2[extLabel2] ? `${item2[value2]}-${item2[extLabel2]}` : item2[value2]), value2 !== label2 && !item2[extLabel2] ? /* @__PURE__ */ React.createElement("span", {
313
- class: "su-coSelect-option"
314
- }, item2[label2]) : null);
315
- }))
316
- ];
438
+ return [createVNode(resolveComponent("el-select"), mergeProps({
439
+ "modelValue": row2[column2.field],
440
+ "onUpdate:modelValue": ($event) => row2[column2.field] = $event,
441
+ "filterable": true,
442
+ "clearable": true
443
+ }, props2, {
444
+ "size": "small",
445
+ "style": "width: 100%",
446
+ "onChange": (v) => onChange(v),
447
+ "onClear": () => onClear()
448
+ }), _isSlot(_slot4 = options2.map((item2) => {
449
+ return createVNode(resolveComponent("el-option"), {
450
+ "key": item2[value2],
451
+ "label": item2[extLabel2] ? item2[value2] : item2[label2],
452
+ "value": item2[value2]
453
+ }, {
454
+ default: () => [createVNode("span", {
455
+ "style": "float: left"
456
+ }, [extLabel2 && item2[extLabel2] ? `${item2[value2]}-${item2[extLabel2]}` : item2[value2]]), value2 !== label2 && !item2[extLabel2] ? createVNode("span", {
457
+ "class": "su-coSelect-option"
458
+ }, [item2[label2]]) : null]
459
+ });
460
+ })) ? _slot4 : {
461
+ default: () => [_slot4]
462
+ })];
317
463
  },
318
464
  renderCell(renderOpts, params) {
319
- const { row, column } = params;
320
- const { props, options, optionProps } = renderOpts;
321
- const { label = "label", value = "value", extLabel } = optionProps;
322
- const { textValue } = props;
465
+ const {
466
+ row,
467
+ column
468
+ } = params;
469
+ const {
470
+ props,
471
+ options,
472
+ optionProps
473
+ } = renderOpts;
474
+ const {
475
+ label = "label",
476
+ value = "value",
477
+ extLabel
478
+ } = optionProps;
479
+ const {
480
+ textValue
481
+ } = props;
323
482
  let val = row[column.field];
324
483
  const item = options.find((opt) => opt[value] === val);
325
484
  if (textValue) {
@@ -331,20 +490,36 @@ VXETable.renderer.add("#select", {
331
490
  if (val && (props == null ? void 0 : props.multiple) && isArray(val)) {
332
491
  val = val && val.join(",");
333
492
  }
334
- return [/* @__PURE__ */ React.createElement("span", null, val)];
493
+ return [createVNode("span", null, [val])];
335
494
  }
336
495
  });
337
496
  VXETable.renderer.add("#select", {
338
497
  renderItemContent(renderOpts2, params2) {
339
- const { data, property } = params2;
340
- const { options: options2, props: props2, optionProps: optionProps2 = {}, events } = renderOpts2;
341
- const { label: label2 = "label", value: value2 = "value" } = optionProps2;
342
- const { defaultValues } = props2;
498
+ let _slot5;
499
+ const {
500
+ data,
501
+ property
502
+ } = params2;
503
+ const {
504
+ options: options2,
505
+ props: props2,
506
+ optionProps: optionProps2 = {},
507
+ events
508
+ } = renderOpts2;
509
+ const {
510
+ label: label2 = "label",
511
+ value: value2 = "value"
512
+ } = optionProps2;
513
+ const {
514
+ defaultValues
515
+ } = props2;
343
516
  if (defaultValues) {
344
517
  data[property] = defaultValues;
345
518
  }
346
519
  function onChange(val2) {
347
- const { fieldMap = {} } = props2;
520
+ const {
521
+ fieldMap = {}
522
+ } = props2;
348
523
  const item2 = options2.find((option) => val2 === option[value2]);
349
524
  const keys = Object.keys(fieldMap);
350
525
  if (keys.length) {
@@ -353,50 +528,67 @@ VXETable.renderer.add("#select", {
353
528
  data[key] = val2 ? item2[values[idx]] : "";
354
529
  });
355
530
  }
356
- const parm = { item: item2, row: data, property };
531
+ const parm = {
532
+ item: item2,
533
+ row: data,
534
+ property
535
+ };
357
536
  (events == null ? void 0 : events.change) && events.change(parm);
358
537
  }
359
538
  function onClear() {
360
- (events == null ? void 0 : events.onClear) && events.onClear({ data, field: property });
539
+ (events == null ? void 0 : events.onClear) && events.onClear({
540
+ data,
541
+ field: property
542
+ });
361
543
  }
362
- return [
363
- /* @__PURE__ */ React.createElement("el-select", {
364
- "v-model": data[property],
365
- ...props2,
366
- filterable: true,
367
- clearable: true,
368
- size: "small",
369
- style: "width: 100%",
370
- onChange: (v) => onChange(v),
371
- onClear: () => onClear()
372
- }, options2.map((item2) => {
373
- return /* @__PURE__ */ React.createElement("el-option", {
374
- key: item2[value2],
375
- label: item2[label2],
376
- value: item2[value2]
377
- }, /* @__PURE__ */ React.createElement("span", {
378
- style: "float: left"
379
- }, item2[label2]), /* @__PURE__ */ React.createElement("span", {
380
- class: "su-coSelect-option"
381
- }, item2[value2]));
382
- }))
383
- ];
544
+ return [createVNode(resolveComponent("el-select"), mergeProps({
545
+ "modelValue": data[property],
546
+ "onUpdate:modelValue": ($event) => data[property] = $event
547
+ }, props2, {
548
+ "filterable": true,
549
+ "clearable": true,
550
+ "size": "small",
551
+ "style": "width: 100%",
552
+ "onChange": (v) => onChange(v),
553
+ "onClear": () => onClear()
554
+ }), _isSlot(_slot5 = options2.map((item2) => {
555
+ return createVNode(resolveComponent("el-option"), {
556
+ "key": item2[value2],
557
+ "label": item2[label2],
558
+ "value": item2[value2]
559
+ }, {
560
+ default: () => [createVNode("span", {
561
+ "style": "float: left"
562
+ }, [item2[label2]]), createVNode("span", {
563
+ "class": "su-coSelect-option"
564
+ }, [item2[value2]])]
565
+ });
566
+ })) ? _slot5 : {
567
+ default: () => [_slot5]
568
+ })];
384
569
  }
385
570
  });
386
571
  VXETable.renderer.add("#tag", {
387
572
  renderDefault(renderOpts2, params2) {
388
- const { row: row2, column: column2 } = params2;
573
+ let _slot6;
574
+ const {
575
+ row: row2,
576
+ column: column2
577
+ } = params2;
389
578
  const {
390
- props: { code, tagMap }
579
+ props: {
580
+ code,
581
+ tagMap
582
+ }
391
583
  } = renderOpts2;
392
584
  function getTagType() {
393
585
  return row2[column2.field] ? tagMap[row2[column2.field]] : "";
394
586
  }
395
- return [
396
- row2[column2.field] ? /* @__PURE__ */ React.createElement("el-tag", {
397
- type: getTagType()
398
- }, getValue(code, row2[column2.field])) : null
399
- ];
587
+ return [row2[column2.field] ? createVNode(resolveComponent("el-tag"), {
588
+ "type": getTagType()
589
+ }, _isSlot(_slot6 = getValue(code, row2[column2.field])) ? _slot6 : {
590
+ default: () => [_slot6]
591
+ }) : null];
400
592
  }
401
593
  });
402
594
  const dictStr = sessionStorage.getItem("kLov");
@@ -1 +1 @@
1
- {"version":3,"file":"su-utils.es.js","sources":["../src/lib/render.tsx"],"sourcesContent":["/*\r\n * @Author: wei.li\r\n * @Date: 2021-12-01 09:18:50\r\n * @LastEditors: wei.li\r\n * @LastEditTime: 2022-06-30 10:08:46\r\n * @Description: file content\r\n */\r\n\r\nimport { useI18n } from 'vue-i18n';\r\nimport { inject } from 'vue';\r\n// import serviceApi from '/@/api';\r\n// import { useSystemStoreHook } from '/@/store/modules/system';\r\nimport { isArray, toStringJSON } from 'xe-utils';\r\nimport { VXETable, FormItemRenderOptions, FormItemContentRenderParams, VxeColumnPropTypes } from 'vxe-table';\r\n\r\n// const systemStoreHook = useSystemStoreHook();\r\n\r\nconst serviceApi: Function = inject('serviceApi')\r\n\r\n// form render\r\nVXETable.renderer.add('#SuSelect', {\r\n renderItemContent(renderOpts: FormItemRenderOptions, params: FormItemContentRenderParams) {\r\n const { data, property } = params;\r\n const { options, props, optionProps = {}, events } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value', extLabel } = optionProps;\r\n const { code, fetchField, extParam = {}, loading = false } = props;\r\n /**\r\n * @description: 远程搜索对应的函数\r\n * @param {*} val 录入的参数\r\n */\r\n async function remoteMethod(query) {\r\n const param = Object.assign({}, { pageSize: 20, pageNum: 1 }, extParam, { [fetchField]: query });\r\n let res;\r\n try {\r\n options.length = 0;\r\n props.loading = true;\r\n res = await serviceApi(code, param);\r\n res && options.push(...res.list);\r\n } finally {\r\n props.loading = false;\r\n }\r\n }\r\n\r\n /**\r\n * @description: 选中值发生变化时触发\r\n * @param {*} val 目前的选中值\r\n */\r\n function onChange(val) {\r\n const { fieldMap = {} } = props;\r\n const item = options.find(option => val === option[value]);\r\n const keys = Object.keys(fieldMap);\r\n if (keys.length) {\r\n const values: string[] = Object.values(fieldMap);\r\n keys.forEach((key, idx) => {\r\n data[key] = val ? item[values[idx]] : '';\r\n });\r\n }\r\n events?.change && events.change(val, item, data, property);\r\n }\r\n\r\n /**\r\n * @description: 可清空的单选模式下用户点击清空按钮时触发\r\n */\r\n function onClear() {\r\n events?.clear && events.clear({ data, property });\r\n }\r\n\r\n function onFocus() {\r\n !options.length && remoteMethod('');\r\n }\r\n\r\n return [\r\n <el-select\r\n v-model={data[property]}\r\n {...props}\r\n filterable\r\n remote\r\n clearable\r\n size=\"small\"\r\n style=\"width: 100%\"\r\n placeholder=\"请录入关键字搜索\"\r\n remote-method={remoteMethod}\r\n loading={loading}\r\n onFocus={() => onFocus()}\r\n onChange={v => onChange(v)}\r\n onClear={() => onClear()}\r\n >\r\n {options.map(item => {\r\n return (\r\n <el-option key={item[value]} label={item[label]} value={item[value]}>\r\n <span style=\"float: left\">\r\n {item[extLabel] ? `${item[value]}-${item[extLabel]}` : item[value]}\r\n </span>\r\n {value !== label && !item[extLabel] ? (\r\n <span class=\"su-coSelect-option\">{item[label]}</span>\r\n ) : null}\r\n </el-option>\r\n );\r\n })}\r\n </el-select>\r\n ];\r\n }\r\n});\r\n// 时间范围\r\nVXETable.renderer.add('#SuDateRange', {\r\n renderItemContent(renderOpts: FormItemRenderOptions, params: FormItemContentRenderParams) {\r\n const { data, property } = params;\r\n const { props } = renderOpts;\r\n const { t } = useI18n();\r\n return [\r\n <el-date-picker\r\n v-model={data[property]}\r\n type={props?.type || 'daterange'}\r\n size=\"small\"\r\n style=\"width: 100%\"\r\n range-separator={t('message.to')}\r\n start-placeholder={t('message.startDate')}\r\n end-placeholder={t('message.endDate')}\r\n />\r\n ];\r\n }\r\n});\r\n// table Col\r\nVXETable.renderer.add('#SuColSelect', {\r\n renderEdit(renderOpts: VxeColumnPropTypes.EditRender, params) {\r\n const { row, column } = params;\r\n const { options, props, optionProps = {}, events } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value', extLabel } = optionProps;\r\n const { code, fetchField, extParam = {}, loading = false, multiple, defaultValue } = props;\r\n if (defaultValue) {\r\n const keys = Object.keys(defaultValue);\r\n keys.forEach(key => {\r\n row[key] = row[key] || defaultValue[key];\r\n });\r\n }\r\n if (multiple && row[column.field]) {\r\n !isArray(row[column.field]) &&\r\n row[column.field].split(',').forEach(ff => {\r\n const isExit = options.some(s => s[label] === ff);\r\n !isExit && options.push({ [value]: ff, [label]: ff });\r\n });\r\n }\r\n /**\r\n * @description: 远程搜索对应的函数\r\n * @param {*} val 录入的参数\r\n */\r\n async function remoteMethod(query) {\r\n const param = Object.assign({}, { pageSize: 20, pageNum: 1 }, extParam, {\r\n [fetchField || label]: query\r\n });\r\n let res;\r\n try {\r\n options.length = 0;\r\n props.loading = true;\r\n res = await serviceApi(code, param);\r\n if (res) {\r\n res.list ? options.push(...res.list) : options.push(...res);\r\n }\r\n } finally {\r\n props.loading = false;\r\n }\r\n }\r\n\r\n /**\r\n * @description: 选中值发生变化时触发\r\n * @param {*} val 目前的选中值\r\n */\r\n function onChange(val) {\r\n const { fieldMap = {} } = props;\r\n const item = val && options.find(option => val === option[value]);\r\n const keys = Object.keys(fieldMap);\r\n if (keys.length) {\r\n const values: string[] = Object.values(fieldMap);\r\n keys.forEach((key, idx) => {\r\n row[key] = val ? item[values[idx]] : '';\r\n });\r\n }\r\n events?.change && events.change(params, val, item, column.field);\r\n }\r\n\r\n /**\r\n * @description: 可清空的单选模式下用户点击清空按钮时触发\r\n */\r\n function onClear() {\r\n // @ts-ignore\r\n events?.onClear && events.onClear({ row, field: column.field });\r\n }\r\n\r\n function onFocus() {\r\n !options.length && remoteMethod('');\r\n }\r\n\r\n return [\r\n <el-select\r\n v-model={row[column.field]}\r\n {...props}\r\n filterable\r\n remote\r\n clearable\r\n size=\"small\"\r\n placeholder=\"请录入关键字搜索\"\r\n style=\"width: 100%\"\r\n remote-method={remoteMethod}\r\n loading={loading}\r\n onFocus={() => onFocus()}\r\n onChange={v => onChange(v)}\r\n onClear={() => onClear()}\r\n >\r\n {options.map(item => {\r\n return (\r\n <el-option key={item[value]} label={item[label]} value={item[value]}>\r\n <span style=\"float: left\">\r\n {item[extLabel] ? `${item[value]}-${item[extLabel]}` : item[value]}\r\n </span>\r\n {value !== label && !item[extLabel] ? (\r\n <span class=\"su-coSelect-option\">{item[label]}</span>\r\n ) : null}\r\n </el-option>\r\n );\r\n })}\r\n </el-select>\r\n ];\r\n },\r\n // 可编辑显示模板\r\n renderCell(renderOpts, params) {\r\n const { row, column } = params;\r\n const { props } = renderOpts;\r\n const { textValue, multiple } = props;\r\n let val = row[column.field];\r\n if (textValue) {\r\n val = eval(`row.${textValue}`) || row[column.field];\r\n }\r\n if (val && multiple && isArray(val)) {\r\n val = val && val.join(',');\r\n }\r\n return [<span>{val}</span>];\r\n }\r\n});\r\nVXETable.renderer.add('#SuSelect', {\r\n renderEdit(renderOpts: VxeColumnPropTypes.EditRender, params) {\r\n const { row, column } = params;\r\n const { options, props, optionProps = {}, events } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value', extLabel } = optionProps;\r\n const { code, fetchField, extParam = {}, loading = false, multiple, defaultValue } = props;\r\n if (defaultValue) {\r\n const keys = Object.keys(defaultValue);\r\n keys.forEach(key => {\r\n row[key] = row[key] || defaultValue[key];\r\n });\r\n }\r\n if (multiple && row[column.field]) {\r\n !isArray(row[column.field]) &&\r\n row[column.field].split(',').forEach(ff => {\r\n const isExit = options.some(s => s[label] === ff);\r\n !isExit && options.push({ [value]: ff, [label]: ff });\r\n });\r\n }\r\n /**\r\n * @description: 远程搜索对应的函数\r\n * @param {*} val 录入的参数\r\n */\r\n async function remoteMethod(query) {\r\n const param = Object.assign({}, { pageSize: 20, pageNum: 1 }, extParam, {\r\n [fetchField || label]: query\r\n });\r\n let res;\r\n try {\r\n options.length = 0;\r\n props.loading = true;\r\n res = await serviceApi(code, param);\r\n if (res) {\r\n res.list ? options.push(...res.list) : options.push(...res);\r\n }\r\n } finally {\r\n props.loading = false;\r\n }\r\n }\r\n\r\n /**\r\n * @description: 选中值发生变化时触发\r\n * @param {*} val 目前的选中值\r\n */\r\n function onChange(val) {\r\n const { fieldMap = {} } = props;\r\n const item = val && options.find(option => val === option[value]);\r\n const keys = Object.keys(fieldMap);\r\n if (keys.length) {\r\n const values: string[] = Object.values(fieldMap);\r\n keys.forEach((key, idx) => {\r\n row[key] = val ? item[values[idx]] : '';\r\n });\r\n }\r\n events?.change && events.change(params, val, item, column.field);\r\n }\r\n\r\n /**\r\n * @description: 可清空的单选模式下用户点击清空按钮时触发\r\n */\r\n function onClear() {\r\n // @ts-ignore\r\n events?.onClear && events.onClear({ row, field: column.field });\r\n \r\n }\r\n\r\n function onFocus() {\r\n !options.length && remoteMethod('');\r\n }\r\n\r\n return [\r\n <el-select\r\n v-model={row[column.field]}\r\n {...props}\r\n filterable\r\n remote\r\n clearable\r\n size=\"small\"\r\n placeholder=\"请录入关键字搜索\"\r\n style=\"width: 100%\"\r\n remote-method={remoteMethod}\r\n loading={loading}\r\n onFocus={() => onFocus()}\r\n onChange={v => onChange(v)}\r\n onClear={() => onClear()}\r\n >\r\n {options.map(item => {\r\n return (\r\n <el-option key={item[value]} label={item[label]} value={item[value]}>\r\n <span style=\"float: left\">\r\n {item[extLabel] ? `${item[value]}-${item[extLabel]}` : item[value]}\r\n </span>\r\n {value !== label && !item[extLabel] ? (\r\n <span class=\"su-coSelect-option\">{item[label]}</span>\r\n ) : null}\r\n </el-option>\r\n );\r\n })}\r\n </el-select>\r\n ];\r\n },\r\n // 可编辑显示模板\r\n renderCell(renderOpts, params) {\r\n const { row, column } = params;\r\n const { props } = renderOpts;\r\n const { textValue, multiple } = props;\r\n let val = row[column.field];\r\n if (textValue) {\r\n val = eval(`row.${textValue}`) || row[column.field];\r\n }\r\n if (val && multiple && isArray(val)) {\r\n val = val && val.join(',');\r\n }\r\n return [<span>{val}</span>];\r\n }\r\n});\r\n\r\nVXETable.renderer.add('#select', {\r\n renderEdit(renderOpts: VxeColumnPropTypes.EditRender, params) {\r\n const { row, column } = params;\r\n const { options, props, optionProps = {}, events } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value', extLabel } = optionProps;\r\n if (props.multiple && row[column.field]) {\r\n !isArray(row[column.field]) &&\r\n row[column.field].split(',').forEach(ff => {\r\n const isExit = options.some(s => s[label] === ff);\r\n !isExit && options.push({ [value]: ff, [label]: ff });\r\n });\r\n }\r\n\r\n function onChange(val) {\r\n const item = val && options.find(option => val === option[value]);\r\n events?.change && events.change(params, val, item, column.field);\r\n }\r\n\r\n function onClear() {\r\n // @ts-ignore\r\n events?.onClear && events.onClear({ row, field: column.field });\r\n }\r\n\r\n return [\r\n <el-select\r\n v-model={row[column.field]}\r\n filterable\r\n clearable\r\n {...props}\r\n size=\"small\"\r\n style=\"width: 100%\"\r\n onChange={v => onChange(v)}\r\n onClear={() => onClear()}\r\n >\r\n {options.map(item => {\r\n return (\r\n <el-option\r\n key={item[value]}\r\n label={item[extLabel] ? item[value] : item[label]}\r\n value={item[value]}\r\n >\r\n <span style=\"float: left\">\r\n {extLabel && item[extLabel] ? `${item[value]}-${item[extLabel]}` : item[value]}\r\n </span>\r\n {value !== label && !item[extLabel] ? (\r\n <span class=\"su-coSelect-option\">{item[label]}</span>\r\n ) : null}\r\n </el-option>\r\n );\r\n })}\r\n </el-select>\r\n ];\r\n },\r\n // 可编辑显示模板\r\n renderCell(renderOpts, params) {\r\n const { row, column } = params;\r\n const { props, options, optionProps } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value', extLabel } = optionProps;\r\n const { textValue } = props;\r\n let val = row[column.field];\r\n const item = options.find(opt => opt[value] === val);\r\n if (textValue) {\r\n val = eval(`row.${textValue}`) || row[column.field];\r\n }\r\n if (item) {\r\n val = extLabel ? item[value] : item[label];\r\n }\r\n if (val && props?.multiple && isArray(val)) {\r\n val = val && val.join(',');\r\n }\r\n return [<span>{val}</span>];\r\n }\r\n});\r\n\r\nVXETable.renderer.add('#select', {\r\n renderItemContent(renderOpts: FormItemRenderOptions, params: FormItemContentRenderParams) {\r\n const { data, property } = params;\r\n const { options, props, optionProps = {}, events } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value' } = optionProps;\r\n // 默认值\r\n const { defaultValues } = props;\r\n if (defaultValues) {\r\n data[property] = defaultValues;\r\n }\r\n /**\r\n * @description: 选中值发生变化时触发\r\n * @param {*} val 目前的选中值\r\n */\r\n function onChange(val) {\r\n const { fieldMap = {} } = props;\r\n const item = options.find(option => val === option[value]);\r\n const keys = Object.keys(fieldMap);\r\n if (keys.length) {\r\n const values: string[] = Object.values(fieldMap);\r\n keys.forEach((key, idx) => {\r\n data[key] = val ? item[values[idx]] : '';\r\n });\r\n }\r\n const parm = { item, row: data, property };\r\n events?.change && events.change(parm);\r\n }\r\n\r\n /**\r\n * @description: 可清空的单选模式下用户点击清空按钮时触发\r\n */\r\n function onClear() {\r\n events?.onClear && events.onClear({ data, field: property });\r\n }\r\n\r\n return [\r\n <el-select\r\n v-model={data[property]}\r\n {...props}\r\n filterable\r\n clearable\r\n size=\"small\"\r\n style=\"width: 100%\"\r\n onChange={v => onChange(v)}\r\n onClear={() => onClear()}\r\n >\r\n {options.map(item => {\r\n return (\r\n <el-option key={item[value]} label={item[label]} value={item[value]}>\r\n <span style=\"float: left\">{item[label]}</span>\r\n <span class=\"su-coSelect-option\">{item[value]}</span>\r\n </el-option>\r\n );\r\n })}\r\n </el-select>\r\n ];\r\n }\r\n});\r\n// 创建一个简单的超链接渲染\r\nVXETable.renderer.add('#tag', {\r\n // 默认显示模板\r\n renderDefault(renderOpts, params) {\r\n const { row, column } = params;\r\n const {\r\n props: { code, tagMap }\r\n } = renderOpts;\r\n function getTagType() {\r\n return row[column.field] ? tagMap[row[column.field]] : '';\r\n }\r\n return [\r\n row[column.field] ? <el-tag type={getTagType()}>{getValue(code, row[column.field])}</el-tag> : null\r\n ];\r\n }\r\n});\r\n\r\nconst dictStr = sessionStorage.getItem('kLov')\r\nconst dataDict = dictStr && toStringJSON(dictStr)\r\n\r\nfunction getValue(code, value) {\r\n if (!value || !code) return value;\r\n return dataDict[code]?.children?.find(item => item.dictCode === value)?.dictName;\r\n}\r\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"su-utils.es.js","sources":["../src/lib/render.tsx"],"sourcesContent":["/*\r\n * @Author: wei.li\r\n * @Date: 2021-12-01 09:18:50\r\n * @LastEditors: wei.li\r\n * @LastEditTime: 2022-06-30 10:08:46\r\n * @Description: file content\r\n */\r\n\r\nimport { useI18n } from 'vue-i18n';\r\nimport { inject } from 'vue';\r\n// import serviceApi from '/@/api';\r\n// import { useSystemStoreHook } from '/@/store/modules/system';\r\nimport { isArray, toStringJSON } from 'xe-utils';\r\nimport { VXETable, FormItemRenderOptions, FormItemContentRenderParams, VxeColumnPropTypes } from 'vxe-table';\r\n\r\n// const systemStoreHook = useSystemStoreHook();\r\n\r\nconst serviceApi: Function = inject('serviceApi')\r\n\r\n// form render\r\nVXETable.renderer.add('#SuSelect', {\r\n renderItemContent(renderOpts: FormItemRenderOptions, params: FormItemContentRenderParams) {\r\n const { data, property } = params;\r\n const { options, props, optionProps = {}, events } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value', extLabel } = optionProps;\r\n const { code, fetchField, extParam = {}, loading = false } = props;\r\n /**\r\n * @description: 远程搜索对应的函数\r\n * @param {*} val 录入的参数\r\n */\r\n async function remoteMethod(query) {\r\n const param = Object.assign({}, { pageSize: 20, pageNum: 1 }, extParam, { [fetchField]: query });\r\n let res;\r\n try {\r\n options.length = 0;\r\n props.loading = true;\r\n res = await serviceApi(code, param);\r\n res && options.push(...res.list);\r\n } finally {\r\n props.loading = false;\r\n }\r\n }\r\n\r\n /**\r\n * @description: 选中值发生变化时触发\r\n * @param {*} val 目前的选中值\r\n */\r\n function onChange(val) {\r\n const { fieldMap = {} } = props;\r\n const item = options.find(option => val === option[value]);\r\n const keys = Object.keys(fieldMap);\r\n if (keys.length) {\r\n const values: string[] = Object.values(fieldMap);\r\n keys.forEach((key, idx) => {\r\n data[key] = val ? item[values[idx]] : '';\r\n });\r\n }\r\n events?.change && events.change(val, item, data, property);\r\n }\r\n\r\n /**\r\n * @description: 可清空的单选模式下用户点击清空按钮时触发\r\n */\r\n function onClear() {\r\n events?.clear && events.clear({ data, property });\r\n }\r\n\r\n function onFocus() {\r\n !options.length && remoteMethod('');\r\n }\r\n\r\n return [\r\n <el-select\r\n v-model={data[property]}\r\n {...props}\r\n filterable\r\n remote\r\n clearable\r\n size=\"small\"\r\n style=\"width: 100%\"\r\n placeholder=\"请录入关键字搜索\"\r\n remote-method={remoteMethod}\r\n loading={loading}\r\n onFocus={() => onFocus()}\r\n onChange={v => onChange(v)}\r\n onClear={() => onClear()}\r\n >\r\n {options.map(item => {\r\n return (\r\n <el-option key={item[value]} label={item[label]} value={item[value]}>\r\n <span style=\"float: left\">\r\n {item[extLabel] ? `${item[value]}-${item[extLabel]}` : item[value]}\r\n </span>\r\n {value !== label && !item[extLabel] ? (\r\n <span class=\"su-coSelect-option\">{item[label]}</span>\r\n ) : null}\r\n </el-option>\r\n );\r\n })}\r\n </el-select>\r\n ];\r\n }\r\n});\r\n// 时间范围\r\nVXETable.renderer.add('#SuDateRange', {\r\n renderItemContent(renderOpts: FormItemRenderOptions, params: FormItemContentRenderParams) {\r\n const { data, property } = params;\r\n const { props } = renderOpts;\r\n const { t } = useI18n();\r\n return [\r\n <el-date-picker\r\n v-model={data[property]}\r\n type={props?.type || 'daterange'}\r\n size=\"small\"\r\n style=\"width: 100%\"\r\n range-separator={t('message.to')}\r\n start-placeholder={t('message.startDate')}\r\n end-placeholder={t('message.endDate')}\r\n />\r\n ];\r\n }\r\n});\r\n// table Col\r\nVXETable.renderer.add('#SuColSelect', {\r\n renderEdit(renderOpts: VxeColumnPropTypes.EditRender, params) {\r\n const { row, column } = params;\r\n const { options, props, optionProps = {}, events } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value', extLabel } = optionProps;\r\n const { code, fetchField, extParam = {}, loading = false, multiple, defaultValue } = props;\r\n if (defaultValue) {\r\n const keys = Object.keys(defaultValue);\r\n keys.forEach(key => {\r\n row[key] = row[key] || defaultValue[key];\r\n });\r\n }\r\n if (multiple && row[column.field]) {\r\n !isArray(row[column.field]) &&\r\n row[column.field].split(',').forEach(ff => {\r\n const isExit = options.some(s => s[label] === ff);\r\n !isExit && options.push({ [value]: ff, [label]: ff });\r\n });\r\n }\r\n /**\r\n * @description: 远程搜索对应的函数\r\n * @param {*} val 录入的参数\r\n */\r\n async function remoteMethod(query) {\r\n const param = Object.assign({}, { pageSize: 20, pageNum: 1 }, extParam, {\r\n [fetchField || label]: query\r\n });\r\n let res;\r\n try {\r\n options.length = 0;\r\n props.loading = true;\r\n res = await serviceApi(code, param);\r\n if (res) {\r\n res.list ? options.push(...res.list) : options.push(...res);\r\n }\r\n } finally {\r\n props.loading = false;\r\n }\r\n }\r\n\r\n /**\r\n * @description: 选中值发生变化时触发\r\n * @param {*} val 目前的选中值\r\n */\r\n function onChange(val) {\r\n const { fieldMap = {} } = props;\r\n const item = val && options.find(option => val === option[value]);\r\n const keys = Object.keys(fieldMap);\r\n if (keys.length) {\r\n const values: string[] = Object.values(fieldMap);\r\n keys.forEach((key, idx) => {\r\n row[key] = val ? item[values[idx]] : '';\r\n });\r\n }\r\n events?.change && events.change(params, val, item, column.field);\r\n }\r\n\r\n /**\r\n * @description: 可清空的单选模式下用户点击清空按钮时触发\r\n */\r\n function onClear() {\r\n // @ts-ignore\r\n events?.onClear && events.onClear({ row, field: column.field });\r\n }\r\n\r\n function onFocus() {\r\n !options.length && remoteMethod('');\r\n }\r\n\r\n return [\r\n <el-select\r\n v-model={row[column.field]}\r\n {...props}\r\n filterable\r\n remote\r\n clearable\r\n size=\"small\"\r\n placeholder=\"请录入关键字搜索\"\r\n style=\"width: 100%\"\r\n remote-method={remoteMethod}\r\n loading={loading}\r\n onFocus={() => onFocus()}\r\n onChange={v => onChange(v)}\r\n onClear={() => onClear()}\r\n >\r\n {options.map(item => {\r\n return (\r\n <el-option key={item[value]} label={item[label]} value={item[value]}>\r\n <span style=\"float: left\">\r\n {item[extLabel] ? `${item[value]}-${item[extLabel]}` : item[value]}\r\n </span>\r\n {value !== label && !item[extLabel] ? (\r\n <span class=\"su-coSelect-option\">{item[label]}</span>\r\n ) : null}\r\n </el-option>\r\n );\r\n })}\r\n </el-select>\r\n ];\r\n },\r\n // 可编辑显示模板\r\n renderCell(renderOpts, params) {\r\n const { row, column } = params;\r\n const { props } = renderOpts;\r\n const { textValue, multiple } = props;\r\n let val = row[column.field];\r\n if (textValue) {\r\n val = eval(`row.${textValue}`) || row[column.field];\r\n }\r\n if (val && multiple && isArray(val)) {\r\n val = val && val.join(',');\r\n }\r\n return [<span>{val}</span>];\r\n }\r\n});\r\nVXETable.renderer.add('#SuSelect', {\r\n renderEdit(renderOpts: VxeColumnPropTypes.EditRender, params) {\r\n const { row, column } = params;\r\n const { options, props, optionProps = {}, events } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value', extLabel } = optionProps;\r\n const { code, fetchField, extParam = {}, loading = false, multiple, defaultValue } = props;\r\n if (defaultValue) {\r\n const keys = Object.keys(defaultValue);\r\n keys.forEach(key => {\r\n row[key] = row[key] || defaultValue[key];\r\n });\r\n }\r\n if (multiple && row[column.field]) {\r\n !isArray(row[column.field]) &&\r\n row[column.field].split(',').forEach(ff => {\r\n const isExit = options.some(s => s[label] === ff);\r\n !isExit && options.push({ [value]: ff, [label]: ff });\r\n });\r\n }\r\n /**\r\n * @description: 远程搜索对应的函数\r\n * @param {*} val 录入的参数\r\n */\r\n async function remoteMethod(query) {\r\n const param = Object.assign({}, { pageSize: 20, pageNum: 1 }, extParam, {\r\n [fetchField || label]: query\r\n });\r\n let res;\r\n try {\r\n options.length = 0;\r\n props.loading = true;\r\n res = await serviceApi(code, param);\r\n if (res) {\r\n res.list ? options.push(...res.list) : options.push(...res);\r\n }\r\n } finally {\r\n props.loading = false;\r\n }\r\n }\r\n\r\n /**\r\n * @description: 选中值发生变化时触发\r\n * @param {*} val 目前的选中值\r\n */\r\n function onChange(val) {\r\n const { fieldMap = {} } = props;\r\n const item = val && options.find(option => val === option[value]);\r\n const keys = Object.keys(fieldMap);\r\n if (keys.length) {\r\n const values: string[] = Object.values(fieldMap);\r\n keys.forEach((key, idx) => {\r\n row[key] = val ? item[values[idx]] : '';\r\n });\r\n }\r\n events?.change && events.change(params, val, item, column.field);\r\n }\r\n\r\n /**\r\n * @description: 可清空的单选模式下用户点击清空按钮时触发\r\n */\r\n function onClear() {\r\n // @ts-ignore\r\n events?.onClear && events.onClear({ row, field: column.field });\r\n \r\n }\r\n\r\n function onFocus() {\r\n !options.length && remoteMethod('');\r\n }\r\n\r\n return [\r\n <el-select\r\n v-model={row[column.field]}\r\n {...props}\r\n filterable\r\n remote\r\n clearable\r\n size=\"small\"\r\n placeholder=\"请录入关键字搜索\"\r\n style=\"width: 100%\"\r\n remote-method={remoteMethod}\r\n loading={loading}\r\n onFocus={() => onFocus()}\r\n onChange={v => onChange(v)}\r\n onClear={() => onClear()}\r\n >\r\n {options.map(item => {\r\n return (\r\n <el-option key={item[value]} label={item[label]} value={item[value]}>\r\n <span style=\"float: left\">\r\n {item[extLabel] ? `${item[value]}-${item[extLabel]}` : item[value]}\r\n </span>\r\n {value !== label && !item[extLabel] ? (\r\n <span class=\"su-coSelect-option\">{item[label]}</span>\r\n ) : null}\r\n </el-option>\r\n );\r\n })}\r\n </el-select>\r\n ];\r\n },\r\n // 可编辑显示模板\r\n renderCell(renderOpts, params) {\r\n const { row, column } = params;\r\n const { props } = renderOpts;\r\n const { textValue, multiple } = props;\r\n let val = row[column.field];\r\n if (textValue) {\r\n val = eval(`row.${textValue}`) || row[column.field];\r\n }\r\n if (val && multiple && isArray(val)) {\r\n val = val && val.join(',');\r\n }\r\n return [<span>{val}</span>];\r\n }\r\n});\r\n\r\nVXETable.renderer.add('#select', {\r\n renderEdit(renderOpts: VxeColumnPropTypes.EditRender, params) {\r\n const { row, column } = params;\r\n const { options, props, optionProps = {}, events } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value', extLabel } = optionProps;\r\n if (props.multiple && row[column.field]) {\r\n !isArray(row[column.field]) &&\r\n row[column.field].split(',').forEach(ff => {\r\n const isExit = options.some(s => s[label] === ff);\r\n !isExit && options.push({ [value]: ff, [label]: ff });\r\n });\r\n }\r\n\r\n function onChange(val) {\r\n const item = val && options.find(option => val === option[value]);\r\n events?.change && events.change(params, val, item, column.field);\r\n }\r\n\r\n function onClear() {\r\n // @ts-ignore\r\n events?.onClear && events.onClear({ row, field: column.field });\r\n }\r\n\r\n return [\r\n <el-select\r\n v-model={row[column.field]}\r\n filterable\r\n clearable\r\n {...props}\r\n size=\"small\"\r\n style=\"width: 100%\"\r\n onChange={v => onChange(v)}\r\n onClear={() => onClear()}\r\n >\r\n {options.map(item => {\r\n return (\r\n <el-option\r\n key={item[value]}\r\n label={item[extLabel] ? item[value] : item[label]}\r\n value={item[value]}\r\n >\r\n <span style=\"float: left\">\r\n {extLabel && item[extLabel] ? `${item[value]}-${item[extLabel]}` : item[value]}\r\n </span>\r\n {value !== label && !item[extLabel] ? (\r\n <span class=\"su-coSelect-option\">{item[label]}</span>\r\n ) : null}\r\n </el-option>\r\n );\r\n })}\r\n </el-select>\r\n ];\r\n },\r\n // 可编辑显示模板\r\n renderCell(renderOpts, params) {\r\n const { row, column } = params;\r\n const { props, options, optionProps } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value', extLabel } = optionProps;\r\n const { textValue } = props;\r\n let val = row[column.field];\r\n const item = options.find(opt => opt[value] === val);\r\n if (textValue) {\r\n val = eval(`row.${textValue}`) || row[column.field];\r\n }\r\n if (item) {\r\n val = extLabel ? item[value] : item[label];\r\n }\r\n if (val && props?.multiple && isArray(val)) {\r\n val = val && val.join(',');\r\n }\r\n return [<span>{val}</span>];\r\n }\r\n});\r\n\r\nVXETable.renderer.add('#select', {\r\n renderItemContent(renderOpts: FormItemRenderOptions, params: FormItemContentRenderParams) {\r\n const { data, property } = params;\r\n const { options, props, optionProps = {}, events } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value' } = optionProps;\r\n // 默认值\r\n const { defaultValues } = props;\r\n if (defaultValues) {\r\n data[property] = defaultValues;\r\n }\r\n /**\r\n * @description: 选中值发生变化时触发\r\n * @param {*} val 目前的选中值\r\n */\r\n function onChange(val) {\r\n const { fieldMap = {} } = props;\r\n const item = options.find(option => val === option[value]);\r\n const keys = Object.keys(fieldMap);\r\n if (keys.length) {\r\n const values: string[] = Object.values(fieldMap);\r\n keys.forEach((key, idx) => {\r\n data[key] = val ? item[values[idx]] : '';\r\n });\r\n }\r\n const parm = { item, row: data, property };\r\n events?.change && events.change(parm);\r\n }\r\n\r\n /**\r\n * @description: 可清空的单选模式下用户点击清空按钮时触发\r\n */\r\n function onClear() {\r\n events?.onClear && events.onClear({ data, field: property });\r\n }\r\n\r\n return [\r\n <el-select\r\n v-model={data[property]}\r\n {...props}\r\n filterable\r\n clearable\r\n size=\"small\"\r\n style=\"width: 100%\"\r\n onChange={v => onChange(v)}\r\n onClear={() => onClear()}\r\n >\r\n {options.map(item => {\r\n return (\r\n <el-option key={item[value]} label={item[label]} value={item[value]}>\r\n <span style=\"float: left\">{item[label]}</span>\r\n <span class=\"su-coSelect-option\">{item[value]}</span>\r\n </el-option>\r\n );\r\n })}\r\n </el-select>\r\n ];\r\n }\r\n});\r\n// 创建一个简单的超链接渲染\r\nVXETable.renderer.add('#tag', {\r\n // 默认显示模板\r\n renderDefault(renderOpts, params) {\r\n const { row, column } = params;\r\n const {\r\n props: { code, tagMap }\r\n } = renderOpts;\r\n function getTagType() {\r\n return row[column.field] ? tagMap[row[column.field]] : '';\r\n }\r\n return [\r\n row[column.field] ? <el-tag type={getTagType()}>{getValue(code, row[column.field])}</el-tag> : null\r\n ];\r\n }\r\n});\r\n\r\nconst dictStr = sessionStorage.getItem('kLov')\r\nconst dataDict = dictStr && toStringJSON(dictStr)\r\n\r\nfunction getValue(code, value) {\r\n if (!value || !code) return value;\r\n return dataDict[code]?.children?.find(item => item.dictCode === value)?.dictName;\r\n}\r\n"],"names":["serviceApi","inject","VXETable","renderer","add","renderItemContent","renderOpts","params","data","property","options","props","optionProps","events","label","value","extLabel","code","fetchField","extParam","loading","query","param","Object","assign","pageSize","pageNum","res","length","push","list","val","fieldMap","item","find","option","keys","values","forEach","key","idx","change","clear","remoteMethod","_createVNode","_resolveComponent","_mergeProps","onFocus","v","onChange","onClear","map","t","useI18n","type","renderEdit","row","column","multiple","defaultValue","field","isArray","split","ff","isExit","some","s","renderCell","textValue","eval","join","opt","defaultValues","parm","renderDefault","tagMap","getTagType","getValue","dictStr","sessionStorage","getItem","dataDict","toStringJSON","children","dictCode","dictName"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- (function(i,p){typeof exports=="object"&&typeof module!="undefined"?p(require("vue-i18n"),require("vue"),require("xe-utils"),require("vxe-table")):typeof define=="function"&&define.amd?define(["vue-i18n","vue","xe-utils","vxe-table"],p):(i=typeof globalThis!="undefined"?globalThis:i||self,p(i.vueI18n,i.Vue,i.xeUtils,i.vxeTable))})(this,function(vueI18n,vue,xeUtils,vxeTable){"use strict";const serviceApi=vue.inject("serviceApi");vxeTable.VXETable.renderer.add("#SuSelect",{renderItemContent(i,p){const{data:l,property:n}=p,{options:a,props:s,optionProps:v={},events:t}=i,{label:c="label",value:r="value",extLabel:m}=v,{code:x,fetchField:y,extParam:o={},loading:g=!1}=s;async function b(d){const E=Object.assign({},{pageSize:20,pageNum:1},o,{[y]:d});let e;try{a.length=0,s.loading=!0,e=await serviceApi(x,E),e&&a.push(...e.list)}finally{s.loading=!1}}function h(d){const{fieldMap:E={}}=s,e=a.find(u=>d===u[r]),f=Object.keys(E);if(f.length){const u=Object.values(E);f.forEach((V,R)=>{l[V]=d?e[u[R]]:""})}t!=null&&t.change&&t.change(d,e,l,n)}function C(){t!=null&&t.clear&&t.clear({data:l,property:n})}function w(){!a.length&&b("")}return[React.createElement("el-select",{"v-model":l[n],...s,filterable:!0,remote:!0,clearable:!0,size:"small",style:"width: 100%",placeholder:"\u8BF7\u5F55\u5165\u5173\u952E\u5B57\u641C\u7D22","remote-method":b,loading:g,onFocus:()=>w(),onChange:d=>h(d),onClear:()=>C()},a.map(d=>React.createElement("el-option",{key:d[r],label:d[c],value:d[r]},React.createElement("span",{style:"float: left"},d[m]?`${d[r]}-${d[m]}`:d[r]),r!==c&&!d[m]?React.createElement("span",{class:"su-coSelect-option"},d[c]):null)))]}}),vxeTable.VXETable.renderer.add("#SuDateRange",{renderItemContent(i,p){const{data:l,property:n}=p,{props:a}=i,{t:s}=vueI18n.useI18n();return[React.createElement("el-date-picker",{"v-model":l[n],type:(a==null?void 0:a.type)||"daterange",size:"small",style:"width: 100%","range-separator":s("message.to"),"start-placeholder":s("message.startDate"),"end-placeholder":s("message.endDate")})]}}),vxeTable.VXETable.renderer.add("#SuColSelect",{renderEdit(i,p){const{row:l,column:n}=p,{options:a,props:s,optionProps:v={},events:t}=i,{label:c="label",value:r="value",extLabel:m}=v,{code:x,fetchField:y,extParam:o={},loading:g=!1,multiple:b,defaultValue:h}=s;h&&Object.keys(h).forEach(f=>{l[f]=l[f]||h[f]}),b&&l[n.field]&&!xeUtils.isArray(l[n.field])&&l[n.field].split(",").forEach(e=>{!a.some(u=>u[c]===e)&&a.push({[r]:e,[c]:e})});async function C(e){const f=Object.assign({},{pageSize:20,pageNum:1},o,{[y||c]:e});let u;try{a.length=0,s.loading=!0,u=await serviceApi(x,f),u&&(u.list?a.push(...u.list):a.push(...u))}finally{s.loading=!1}}function w(e){const{fieldMap:f={}}=s,u=e&&a.find(R=>e===R[r]),V=Object.keys(f);if(V.length){const R=Object.values(f);V.forEach((S,O)=>{l[S]=e?u[R[O]]:""})}t!=null&&t.change&&t.change(p,e,u,n.field)}function d(){t!=null&&t.onClear&&t.onClear({row:l,field:n.field})}function E(){!a.length&&C("")}return[React.createElement("el-select",{"v-model":l[n.field],...s,filterable:!0,remote:!0,clearable:!0,size:"small",placeholder:"\u8BF7\u5F55\u5165\u5173\u952E\u5B57\u641C\u7D22",style:"width: 100%","remote-method":C,loading:g,onFocus:()=>E(),onChange:e=>w(e),onClear:()=>d()},a.map(e=>React.createElement("el-option",{key:e[r],label:e[c],value:e[r]},React.createElement("span",{style:"float: left"},e[m]?`${e[r]}-${e[m]}`:e[r]),r!==c&&!e[m]?React.createElement("span",{class:"su-coSelect-option"},e[c]):null)))]},renderCell(renderOpts,params){const{row,column}=params,{props}=renderOpts,{textValue,multiple}=props;let val=row[column.field];return textValue&&(val=eval(`row.${textValue}`)||row[column.field]),val&&multiple&&xeUtils.isArray(val)&&(val=val&&val.join(",")),[React.createElement("span",null,val)]}}),vxeTable.VXETable.renderer.add("#SuSelect",{renderEdit(i,p){const{row:l,column:n}=p,{options:a,props:s,optionProps:v={},events:t}=i,{label:c="label",value:r="value",extLabel:m}=v,{code:x,fetchField:y,extParam:o={},loading:g=!1,multiple:b,defaultValue:h}=s;h&&Object.keys(h).forEach(f=>{l[f]=l[f]||h[f]}),b&&l[n.field]&&!xeUtils.isArray(l[n.field])&&l[n.field].split(",").forEach(e=>{!a.some(u=>u[c]===e)&&a.push({[r]:e,[c]:e})});async function C(e){const f=Object.assign({},{pageSize:20,pageNum:1},o,{[y||c]:e});let u;try{a.length=0,s.loading=!0,u=await serviceApi(x,f),u&&(u.list?a.push(...u.list):a.push(...u))}finally{s.loading=!1}}function w(e){const{fieldMap:f={}}=s,u=e&&a.find(R=>e===R[r]),V=Object.keys(f);if(V.length){const R=Object.values(f);V.forEach((S,O)=>{l[S]=e?u[R[O]]:""})}t!=null&&t.change&&t.change(p,e,u,n.field)}function d(){t!=null&&t.onClear&&t.onClear({row:l,field:n.field})}function E(){!a.length&&C("")}return[React.createElement("el-select",{"v-model":l[n.field],...s,filterable:!0,remote:!0,clearable:!0,size:"small",placeholder:"\u8BF7\u5F55\u5165\u5173\u952E\u5B57\u641C\u7D22",style:"width: 100%","remote-method":C,loading:g,onFocus:()=>E(),onChange:e=>w(e),onClear:()=>d()},a.map(e=>React.createElement("el-option",{key:e[r],label:e[c],value:e[r]},React.createElement("span",{style:"float: left"},e[m]?`${e[r]}-${e[m]}`:e[r]),r!==c&&!e[m]?React.createElement("span",{class:"su-coSelect-option"},e[c]):null)))]},renderCell(renderOpts,params){const{row,column}=params,{props}=renderOpts,{textValue,multiple}=props;let val=row[column.field];return textValue&&(val=eval(`row.${textValue}`)||row[column.field]),val&&multiple&&xeUtils.isArray(val)&&(val=val&&val.join(",")),[React.createElement("span",null,val)]}}),vxeTable.VXETable.renderer.add("#select",{renderEdit(i,p){const{row:l,column:n}=p,{options:a,props:s,optionProps:v={},events:t}=i,{label:c="label",value:r="value",extLabel:m}=v;s.multiple&&l[n.field]&&!xeUtils.isArray(l[n.field])&&l[n.field].split(",").forEach(o=>{!a.some(b=>b[c]===o)&&a.push({[r]:o,[c]:o})});function x(o){const g=o&&a.find(b=>o===b[r]);t!=null&&t.change&&t.change(p,o,g,n.field)}function y(){t!=null&&t.onClear&&t.onClear({row:l,field:n.field})}return[React.createElement("el-select",{"v-model":l[n.field],filterable:!0,clearable:!0,...s,size:"small",style:"width: 100%",onChange:o=>x(o),onClear:()=>y()},a.map(o=>React.createElement("el-option",{key:o[r],label:o[m]?o[r]:o[c],value:o[r]},React.createElement("span",{style:"float: left"},m&&o[m]?`${o[r]}-${o[m]}`:o[r]),r!==c&&!o[m]?React.createElement("span",{class:"su-coSelect-option"},o[c]):null)))]},renderCell(renderOpts,params){const{row,column}=params,{props,options,optionProps}=renderOpts,{label="label",value="value",extLabel}=optionProps,{textValue}=props;let val=row[column.field];const item=options.find(i=>i[value]===val);return textValue&&(val=eval(`row.${textValue}`)||row[column.field]),item&&(val=extLabel?item[value]:item[label]),val&&(props==null?void 0:props.multiple)&&xeUtils.isArray(val)&&(val=val&&val.join(",")),[React.createElement("span",null,val)]}}),vxeTable.VXETable.renderer.add("#select",{renderItemContent(i,p){const{data:l,property:n}=p,{options:a,props:s,optionProps:v={},events:t}=i,{label:c="label",value:r="value"}=v,{defaultValues:m}=s;m&&(l[n]=m);function x(o){const{fieldMap:g={}}=s,b=a.find(w=>o===w[r]),h=Object.keys(g);if(h.length){const w=Object.values(g);h.forEach((d,E)=>{l[d]=o?b[w[E]]:""})}const C={item:b,row:l,property:n};t!=null&&t.change&&t.change(C)}function y(){t!=null&&t.onClear&&t.onClear({data:l,field:n})}return[React.createElement("el-select",{"v-model":l[n],...s,filterable:!0,clearable:!0,size:"small",style:"width: 100%",onChange:o=>x(o),onClear:()=>y()},a.map(o=>React.createElement("el-option",{key:o[r],label:o[c],value:o[r]},React.createElement("span",{style:"float: left"},o[c]),React.createElement("span",{class:"su-coSelect-option"},o[r]))))]}}),vxeTable.VXETable.renderer.add("#tag",{renderDefault(i,p){const{row:l,column:n}=p,{props:{code:a,tagMap:s}}=i;function v(){return l[n.field]?s[l[n.field]]:""}return[l[n.field]?React.createElement("el-tag",{type:v()},getValue(a,l[n.field])):null]}});const dictStr=sessionStorage.getItem("kLov"),dataDict=dictStr&&xeUtils.toStringJSON(dictStr);function getValue(i,p){var l,n,a;return!p||!i?p:(a=(n=(l=dataDict[i])==null?void 0:l.children)==null?void 0:n.find(s=>s.dictCode===p))==null?void 0:a.dictName}});
1
+ (function(s,f){typeof exports=="object"&&typeof module!="undefined"?f(require("vue"),require("vue-i18n"),require("xe-utils"),require("vxe-table")):typeof define=="function"&&define.amd?define(["vue","vue-i18n","xe-utils","vxe-table"],f):(s=typeof globalThis!="undefined"?globalThis:s||self,f(s.Vue,s.vueI18n,s.xeUtils,s.vxeTable))})(this,function(vue,vueI18n,xeUtils,vxeTable){"use strict";function _isSlot(s){return typeof s=="function"||Object.prototype.toString.call(s)==="[object Object]"&&!vue.isVNode(s)}const serviceApi=vue.inject("serviceApi");vxeTable.VXETable.renderer.add("#SuSelect",{renderItemContent(s,f){let u;const{data:l,property:t}=f,{options:n,props:c,optionProps:b={},events:o}=s,{label:i="label",value:r="value",extLabel:h}=b,{code:C,fetchField:x,extParam:a={},loading:V=!1}=c;async function g(d){const y=Object.assign({},{pageSize:20,pageNum:1},a,{[x]:d});let e;try{n.length=0,c.loading=!0,e=await serviceApi(C,y),e&&n.push(...e.list)}finally{c.loading=!1}}function m(d){const{fieldMap:y={}}=c,e=n.find(p=>d===p[r]),v=Object.keys(y);if(v.length){const p=Object.values(y);v.forEach((E,w)=>{l[E]=d?e[p[w]]:""})}o!=null&&o.change&&o.change(d,e,l,t)}function N(){o!=null&&o.clear&&o.clear({data:l,property:t})}function S(){!n.length&&g("")}return[vue.createVNode(vue.resolveComponent("el-select"),vue.mergeProps({modelValue:l[t],"onUpdate:modelValue":d=>l[t]=d},c,{filterable:!0,remote:!0,clearable:!0,size:"small",style:"width: 100%",placeholder:"\u8BF7\u5F55\u5165\u5173\u952E\u5B57\u641C\u7D22","remote-method":g,loading:V,onFocus:()=>S(),onChange:d=>m(d),onClear:()=>N()}),_isSlot(u=n.map(d=>vue.createVNode(vue.resolveComponent("el-option"),{key:d[r],label:d[i],value:d[r]},{default:()=>[vue.createVNode("span",{style:"float: left"},[d[h]?`${d[r]}-${d[h]}`:d[r]]),r!==i&&!d[h]?vue.createVNode("span",{class:"su-coSelect-option"},[d[i]]):null]})))?u:{default:()=>[u]})]}}),vxeTable.VXETable.renderer.add("#SuDateRange",{renderItemContent(s,f){const{data:u,property:l}=f,{props:t}=s,{t:n}=vueI18n.useI18n();return[vue.createVNode(vue.resolveComponent("el-date-picker"),{modelValue:u[l],"onUpdate:modelValue":c=>u[l]=c,type:(t==null?void 0:t.type)||"daterange",size:"small",style:"width: 100%","range-separator":n("message.to"),"start-placeholder":n("message.startDate"),"end-placeholder":n("message.endDate")},null)]}}),vxeTable.VXETable.renderer.add("#SuColSelect",{renderEdit(s,f){let u;const{row:l,column:t}=f,{options:n,props:c,optionProps:b={},events:o}=s,{label:i="label",value:r="value",extLabel:h}=b,{code:C,fetchField:x,extParam:a={},loading:V=!1,multiple:g,defaultValue:m}=c;m&&Object.keys(m).forEach(v=>{l[v]=l[v]||m[v]}),g&&l[t.field]&&!xeUtils.isArray(l[t.field])&&l[t.field].split(",").forEach(e=>{!n.some(p=>p[i]===e)&&n.push({[r]:e,[i]:e})});async function N(e){const v=Object.assign({},{pageSize:20,pageNum:1},a,{[x||i]:e});let p;try{n.length=0,c.loading=!0,p=await serviceApi(C,v),p&&(p.list?n.push(...p.list):n.push(...p))}finally{c.loading=!1}}function S(e){const{fieldMap:v={}}=c,p=e&&n.find(w=>e===w[r]),E=Object.keys(v);if(E.length){const w=Object.values(v);E.forEach((O,j)=>{l[O]=e?p[w[j]]:""})}o!=null&&o.change&&o.change(f,e,p,t.field)}function d(){o!=null&&o.onClear&&o.onClear({row:l,field:t.field})}function y(){!n.length&&N("")}return[vue.createVNode(vue.resolveComponent("el-select"),vue.mergeProps({modelValue:l[t.field],"onUpdate:modelValue":e=>l[t.field]=e},c,{filterable:!0,remote:!0,clearable:!0,size:"small",placeholder:"\u8BF7\u5F55\u5165\u5173\u952E\u5B57\u641C\u7D22",style:"width: 100%","remote-method":N,loading:V,onFocus:()=>y(),onChange:e=>S(e),onClear:()=>d()}),_isSlot(u=n.map(e=>vue.createVNode(vue.resolveComponent("el-option"),{key:e[r],label:e[i],value:e[r]},{default:()=>[vue.createVNode("span",{style:"float: left"},[e[h]?`${e[r]}-${e[h]}`:e[r]]),r!==i&&!e[h]?vue.createVNode("span",{class:"su-coSelect-option"},[e[i]]):null]})))?u:{default:()=>[u]})]},renderCell(renderOpts,params){const{row,column}=params,{props}=renderOpts,{textValue,multiple}=props;let val=row[column.field];return textValue&&(val=eval(`row.${textValue}`)||row[column.field]),val&&multiple&&xeUtils.isArray(val)&&(val=val&&val.join(",")),[vue.createVNode("span",null,[val])]}}),vxeTable.VXETable.renderer.add("#SuSelect",{renderEdit(s,f){let u;const{row:l,column:t}=f,{options:n,props:c,optionProps:b={},events:o}=s,{label:i="label",value:r="value",extLabel:h}=b,{code:C,fetchField:x,extParam:a={},loading:V=!1,multiple:g,defaultValue:m}=c;m&&Object.keys(m).forEach(v=>{l[v]=l[v]||m[v]}),g&&l[t.field]&&!xeUtils.isArray(l[t.field])&&l[t.field].split(",").forEach(e=>{!n.some(p=>p[i]===e)&&n.push({[r]:e,[i]:e})});async function N(e){const v=Object.assign({},{pageSize:20,pageNum:1},a,{[x||i]:e});let p;try{n.length=0,c.loading=!0,p=await serviceApi(C,v),p&&(p.list?n.push(...p.list):n.push(...p))}finally{c.loading=!1}}function S(e){const{fieldMap:v={}}=c,p=e&&n.find(w=>e===w[r]),E=Object.keys(v);if(E.length){const w=Object.values(v);E.forEach((O,j)=>{l[O]=e?p[w[j]]:""})}o!=null&&o.change&&o.change(f,e,p,t.field)}function d(){o!=null&&o.onClear&&o.onClear({row:l,field:t.field})}function y(){!n.length&&N("")}return[vue.createVNode(vue.resolveComponent("el-select"),vue.mergeProps({modelValue:l[t.field],"onUpdate:modelValue":e=>l[t.field]=e},c,{filterable:!0,remote:!0,clearable:!0,size:"small",placeholder:"\u8BF7\u5F55\u5165\u5173\u952E\u5B57\u641C\u7D22",style:"width: 100%","remote-method":N,loading:V,onFocus:()=>y(),onChange:e=>S(e),onClear:()=>d()}),_isSlot(u=n.map(e=>vue.createVNode(vue.resolveComponent("el-option"),{key:e[r],label:e[i],value:e[r]},{default:()=>[vue.createVNode("span",{style:"float: left"},[e[h]?`${e[r]}-${e[h]}`:e[r]]),r!==i&&!e[h]?vue.createVNode("span",{class:"su-coSelect-option"},[e[i]]):null]})))?u:{default:()=>[u]})]},renderCell(renderOpts,params){const{row,column}=params,{props}=renderOpts,{textValue,multiple}=props;let val=row[column.field];return textValue&&(val=eval(`row.${textValue}`)||row[column.field]),val&&multiple&&xeUtils.isArray(val)&&(val=val&&val.join(",")),[vue.createVNode("span",null,[val])]}}),vxeTable.VXETable.renderer.add("#select",{renderEdit(s,f){let u;const{row:l,column:t}=f,{options:n,props:c,optionProps:b={},events:o}=s,{label:i="label",value:r="value",extLabel:h}=b;c.multiple&&l[t.field]&&!xeUtils.isArray(l[t.field])&&l[t.field].split(",").forEach(a=>{!n.some(g=>g[i]===a)&&n.push({[r]:a,[i]:a})});function C(a){const V=a&&n.find(g=>a===g[r]);o!=null&&o.change&&o.change(f,a,V,t.field)}function x(){o!=null&&o.onClear&&o.onClear({row:l,field:t.field})}return[vue.createVNode(vue.resolveComponent("el-select"),vue.mergeProps({modelValue:l[t.field],"onUpdate:modelValue":a=>l[t.field]=a,filterable:!0,clearable:!0},c,{size:"small",style:"width: 100%",onChange:a=>C(a),onClear:()=>x()}),_isSlot(u=n.map(a=>vue.createVNode(vue.resolveComponent("el-option"),{key:a[r],label:a[h]?a[r]:a[i],value:a[r]},{default:()=>[vue.createVNode("span",{style:"float: left"},[h&&a[h]?`${a[r]}-${a[h]}`:a[r]]),r!==i&&!a[h]?vue.createVNode("span",{class:"su-coSelect-option"},[a[i]]):null]})))?u:{default:()=>[u]})]},renderCell(renderOpts,params){const{row,column}=params,{props,options,optionProps}=renderOpts,{label="label",value="value",extLabel}=optionProps,{textValue}=props;let val=row[column.field];const item=options.find(s=>s[value]===val);return textValue&&(val=eval(`row.${textValue}`)||row[column.field]),item&&(val=extLabel?item[value]:item[label]),val&&(props==null?void 0:props.multiple)&&xeUtils.isArray(val)&&(val=val&&val.join(",")),[vue.createVNode("span",null,[val])]}}),vxeTable.VXETable.renderer.add("#select",{renderItemContent(s,f){let u;const{data:l,property:t}=f,{options:n,props:c,optionProps:b={},events:o}=s,{label:i="label",value:r="value"}=b,{defaultValues:h}=c;h&&(l[t]=h);function C(a){const{fieldMap:V={}}=c,g=n.find(S=>a===S[r]),m=Object.keys(V);if(m.length){const S=Object.values(V);m.forEach((d,y)=>{l[d]=a?g[S[y]]:""})}const N={item:g,row:l,property:t};o!=null&&o.change&&o.change(N)}function x(){o!=null&&o.onClear&&o.onClear({data:l,field:t})}return[vue.createVNode(vue.resolveComponent("el-select"),vue.mergeProps({modelValue:l[t],"onUpdate:modelValue":a=>l[t]=a},c,{filterable:!0,clearable:!0,size:"small",style:"width: 100%",onChange:a=>C(a),onClear:()=>x()}),_isSlot(u=n.map(a=>vue.createVNode(vue.resolveComponent("el-option"),{key:a[r],label:a[i],value:a[r]},{default:()=>[vue.createVNode("span",{style:"float: left"},[a[i]]),vue.createVNode("span",{class:"su-coSelect-option"},[a[r]])]})))?u:{default:()=>[u]})]}}),vxeTable.VXETable.renderer.add("#tag",{renderDefault(s,f){let u;const{row:l,column:t}=f,{props:{code:n,tagMap:c}}=s;function b(){return l[t.field]?c[l[t.field]]:""}return[l[t.field]?vue.createVNode(vue.resolveComponent("el-tag"),{type:b()},_isSlot(u=getValue(n,l[t.field]))?u:{default:()=>[u]}):null]}});const dictStr=sessionStorage.getItem("kLov"),dataDict=dictStr&&xeUtils.toStringJSON(dictStr);function getValue(s,f){var u,l,t;return!f||!s?f:(t=(l=(u=dataDict[s])==null?void 0:u.children)==null?void 0:l.find(n=>n.dictCode===f))==null?void 0:t.dictName}});
2
2
  //# sourceMappingURL=su-utils.umd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"su-utils.umd.js","sources":["../src/lib/render.tsx"],"sourcesContent":["/*\r\n * @Author: wei.li\r\n * @Date: 2021-12-01 09:18:50\r\n * @LastEditors: wei.li\r\n * @LastEditTime: 2022-06-30 10:08:46\r\n * @Description: file content\r\n */\r\n\r\nimport { useI18n } from 'vue-i18n';\r\nimport { inject } from 'vue';\r\n// import serviceApi from '/@/api';\r\n// import { useSystemStoreHook } from '/@/store/modules/system';\r\nimport { isArray, toStringJSON } from 'xe-utils';\r\nimport { VXETable, FormItemRenderOptions, FormItemContentRenderParams, VxeColumnPropTypes } from 'vxe-table';\r\n\r\n// const systemStoreHook = useSystemStoreHook();\r\n\r\nconst serviceApi: Function = inject('serviceApi')\r\n\r\n// form render\r\nVXETable.renderer.add('#SuSelect', {\r\n renderItemContent(renderOpts: FormItemRenderOptions, params: FormItemContentRenderParams) {\r\n const { data, property } = params;\r\n const { options, props, optionProps = {}, events } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value', extLabel } = optionProps;\r\n const { code, fetchField, extParam = {}, loading = false } = props;\r\n /**\r\n * @description: 远程搜索对应的函数\r\n * @param {*} val 录入的参数\r\n */\r\n async function remoteMethod(query) {\r\n const param = Object.assign({}, { pageSize: 20, pageNum: 1 }, extParam, { [fetchField]: query });\r\n let res;\r\n try {\r\n options.length = 0;\r\n props.loading = true;\r\n res = await serviceApi(code, param);\r\n res && options.push(...res.list);\r\n } finally {\r\n props.loading = false;\r\n }\r\n }\r\n\r\n /**\r\n * @description: 选中值发生变化时触发\r\n * @param {*} val 目前的选中值\r\n */\r\n function onChange(val) {\r\n const { fieldMap = {} } = props;\r\n const item = options.find(option => val === option[value]);\r\n const keys = Object.keys(fieldMap);\r\n if (keys.length) {\r\n const values: string[] = Object.values(fieldMap);\r\n keys.forEach((key, idx) => {\r\n data[key] = val ? item[values[idx]] : '';\r\n });\r\n }\r\n events?.change && events.change(val, item, data, property);\r\n }\r\n\r\n /**\r\n * @description: 可清空的单选模式下用户点击清空按钮时触发\r\n */\r\n function onClear() {\r\n events?.clear && events.clear({ data, property });\r\n }\r\n\r\n function onFocus() {\r\n !options.length && remoteMethod('');\r\n }\r\n\r\n return [\r\n <el-select\r\n v-model={data[property]}\r\n {...props}\r\n filterable\r\n remote\r\n clearable\r\n size=\"small\"\r\n style=\"width: 100%\"\r\n placeholder=\"请录入关键字搜索\"\r\n remote-method={remoteMethod}\r\n loading={loading}\r\n onFocus={() => onFocus()}\r\n onChange={v => onChange(v)}\r\n onClear={() => onClear()}\r\n >\r\n {options.map(item => {\r\n return (\r\n <el-option key={item[value]} label={item[label]} value={item[value]}>\r\n <span style=\"float: left\">\r\n {item[extLabel] ? `${item[value]}-${item[extLabel]}` : item[value]}\r\n </span>\r\n {value !== label && !item[extLabel] ? (\r\n <span class=\"su-coSelect-option\">{item[label]}</span>\r\n ) : null}\r\n </el-option>\r\n );\r\n })}\r\n </el-select>\r\n ];\r\n }\r\n});\r\n// 时间范围\r\nVXETable.renderer.add('#SuDateRange', {\r\n renderItemContent(renderOpts: FormItemRenderOptions, params: FormItemContentRenderParams) {\r\n const { data, property } = params;\r\n const { props } = renderOpts;\r\n const { t } = useI18n();\r\n return [\r\n <el-date-picker\r\n v-model={data[property]}\r\n type={props?.type || 'daterange'}\r\n size=\"small\"\r\n style=\"width: 100%\"\r\n range-separator={t('message.to')}\r\n start-placeholder={t('message.startDate')}\r\n end-placeholder={t('message.endDate')}\r\n />\r\n ];\r\n }\r\n});\r\n// table Col\r\nVXETable.renderer.add('#SuColSelect', {\r\n renderEdit(renderOpts: VxeColumnPropTypes.EditRender, params) {\r\n const { row, column } = params;\r\n const { options, props, optionProps = {}, events } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value', extLabel } = optionProps;\r\n const { code, fetchField, extParam = {}, loading = false, multiple, defaultValue } = props;\r\n if (defaultValue) {\r\n const keys = Object.keys(defaultValue);\r\n keys.forEach(key => {\r\n row[key] = row[key] || defaultValue[key];\r\n });\r\n }\r\n if (multiple && row[column.field]) {\r\n !isArray(row[column.field]) &&\r\n row[column.field].split(',').forEach(ff => {\r\n const isExit = options.some(s => s[label] === ff);\r\n !isExit && options.push({ [value]: ff, [label]: ff });\r\n });\r\n }\r\n /**\r\n * @description: 远程搜索对应的函数\r\n * @param {*} val 录入的参数\r\n */\r\n async function remoteMethod(query) {\r\n const param = Object.assign({}, { pageSize: 20, pageNum: 1 }, extParam, {\r\n [fetchField || label]: query\r\n });\r\n let res;\r\n try {\r\n options.length = 0;\r\n props.loading = true;\r\n res = await serviceApi(code, param);\r\n if (res) {\r\n res.list ? options.push(...res.list) : options.push(...res);\r\n }\r\n } finally {\r\n props.loading = false;\r\n }\r\n }\r\n\r\n /**\r\n * @description: 选中值发生变化时触发\r\n * @param {*} val 目前的选中值\r\n */\r\n function onChange(val) {\r\n const { fieldMap = {} } = props;\r\n const item = val && options.find(option => val === option[value]);\r\n const keys = Object.keys(fieldMap);\r\n if (keys.length) {\r\n const values: string[] = Object.values(fieldMap);\r\n keys.forEach((key, idx) => {\r\n row[key] = val ? item[values[idx]] : '';\r\n });\r\n }\r\n events?.change && events.change(params, val, item, column.field);\r\n }\r\n\r\n /**\r\n * @description: 可清空的单选模式下用户点击清空按钮时触发\r\n */\r\n function onClear() {\r\n // @ts-ignore\r\n events?.onClear && events.onClear({ row, field: column.field });\r\n }\r\n\r\n function onFocus() {\r\n !options.length && remoteMethod('');\r\n }\r\n\r\n return [\r\n <el-select\r\n v-model={row[column.field]}\r\n {...props}\r\n filterable\r\n remote\r\n clearable\r\n size=\"small\"\r\n placeholder=\"请录入关键字搜索\"\r\n style=\"width: 100%\"\r\n remote-method={remoteMethod}\r\n loading={loading}\r\n onFocus={() => onFocus()}\r\n onChange={v => onChange(v)}\r\n onClear={() => onClear()}\r\n >\r\n {options.map(item => {\r\n return (\r\n <el-option key={item[value]} label={item[label]} value={item[value]}>\r\n <span style=\"float: left\">\r\n {item[extLabel] ? `${item[value]}-${item[extLabel]}` : item[value]}\r\n </span>\r\n {value !== label && !item[extLabel] ? (\r\n <span class=\"su-coSelect-option\">{item[label]}</span>\r\n ) : null}\r\n </el-option>\r\n );\r\n })}\r\n </el-select>\r\n ];\r\n },\r\n // 可编辑显示模板\r\n renderCell(renderOpts, params) {\r\n const { row, column } = params;\r\n const { props } = renderOpts;\r\n const { textValue, multiple } = props;\r\n let val = row[column.field];\r\n if (textValue) {\r\n val = eval(`row.${textValue}`) || row[column.field];\r\n }\r\n if (val && multiple && isArray(val)) {\r\n val = val && val.join(',');\r\n }\r\n return [<span>{val}</span>];\r\n }\r\n});\r\nVXETable.renderer.add('#SuSelect', {\r\n renderEdit(renderOpts: VxeColumnPropTypes.EditRender, params) {\r\n const { row, column } = params;\r\n const { options, props, optionProps = {}, events } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value', extLabel } = optionProps;\r\n const { code, fetchField, extParam = {}, loading = false, multiple, defaultValue } = props;\r\n if (defaultValue) {\r\n const keys = Object.keys(defaultValue);\r\n keys.forEach(key => {\r\n row[key] = row[key] || defaultValue[key];\r\n });\r\n }\r\n if (multiple && row[column.field]) {\r\n !isArray(row[column.field]) &&\r\n row[column.field].split(',').forEach(ff => {\r\n const isExit = options.some(s => s[label] === ff);\r\n !isExit && options.push({ [value]: ff, [label]: ff });\r\n });\r\n }\r\n /**\r\n * @description: 远程搜索对应的函数\r\n * @param {*} val 录入的参数\r\n */\r\n async function remoteMethod(query) {\r\n const param = Object.assign({}, { pageSize: 20, pageNum: 1 }, extParam, {\r\n [fetchField || label]: query\r\n });\r\n let res;\r\n try {\r\n options.length = 0;\r\n props.loading = true;\r\n res = await serviceApi(code, param);\r\n if (res) {\r\n res.list ? options.push(...res.list) : options.push(...res);\r\n }\r\n } finally {\r\n props.loading = false;\r\n }\r\n }\r\n\r\n /**\r\n * @description: 选中值发生变化时触发\r\n * @param {*} val 目前的选中值\r\n */\r\n function onChange(val) {\r\n const { fieldMap = {} } = props;\r\n const item = val && options.find(option => val === option[value]);\r\n const keys = Object.keys(fieldMap);\r\n if (keys.length) {\r\n const values: string[] = Object.values(fieldMap);\r\n keys.forEach((key, idx) => {\r\n row[key] = val ? item[values[idx]] : '';\r\n });\r\n }\r\n events?.change && events.change(params, val, item, column.field);\r\n }\r\n\r\n /**\r\n * @description: 可清空的单选模式下用户点击清空按钮时触发\r\n */\r\n function onClear() {\r\n // @ts-ignore\r\n events?.onClear && events.onClear({ row, field: column.field });\r\n \r\n }\r\n\r\n function onFocus() {\r\n !options.length && remoteMethod('');\r\n }\r\n\r\n return [\r\n <el-select\r\n v-model={row[column.field]}\r\n {...props}\r\n filterable\r\n remote\r\n clearable\r\n size=\"small\"\r\n placeholder=\"请录入关键字搜索\"\r\n style=\"width: 100%\"\r\n remote-method={remoteMethod}\r\n loading={loading}\r\n onFocus={() => onFocus()}\r\n onChange={v => onChange(v)}\r\n onClear={() => onClear()}\r\n >\r\n {options.map(item => {\r\n return (\r\n <el-option key={item[value]} label={item[label]} value={item[value]}>\r\n <span style=\"float: left\">\r\n {item[extLabel] ? `${item[value]}-${item[extLabel]}` : item[value]}\r\n </span>\r\n {value !== label && !item[extLabel] ? (\r\n <span class=\"su-coSelect-option\">{item[label]}</span>\r\n ) : null}\r\n </el-option>\r\n );\r\n })}\r\n </el-select>\r\n ];\r\n },\r\n // 可编辑显示模板\r\n renderCell(renderOpts, params) {\r\n const { row, column } = params;\r\n const { props } = renderOpts;\r\n const { textValue, multiple } = props;\r\n let val = row[column.field];\r\n if (textValue) {\r\n val = eval(`row.${textValue}`) || row[column.field];\r\n }\r\n if (val && multiple && isArray(val)) {\r\n val = val && val.join(',');\r\n }\r\n return [<span>{val}</span>];\r\n }\r\n});\r\n\r\nVXETable.renderer.add('#select', {\r\n renderEdit(renderOpts: VxeColumnPropTypes.EditRender, params) {\r\n const { row, column } = params;\r\n const { options, props, optionProps = {}, events } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value', extLabel } = optionProps;\r\n if (props.multiple && row[column.field]) {\r\n !isArray(row[column.field]) &&\r\n row[column.field].split(',').forEach(ff => {\r\n const isExit = options.some(s => s[label] === ff);\r\n !isExit && options.push({ [value]: ff, [label]: ff });\r\n });\r\n }\r\n\r\n function onChange(val) {\r\n const item = val && options.find(option => val === option[value]);\r\n events?.change && events.change(params, val, item, column.field);\r\n }\r\n\r\n function onClear() {\r\n // @ts-ignore\r\n events?.onClear && events.onClear({ row, field: column.field });\r\n }\r\n\r\n return [\r\n <el-select\r\n v-model={row[column.field]}\r\n filterable\r\n clearable\r\n {...props}\r\n size=\"small\"\r\n style=\"width: 100%\"\r\n onChange={v => onChange(v)}\r\n onClear={() => onClear()}\r\n >\r\n {options.map(item => {\r\n return (\r\n <el-option\r\n key={item[value]}\r\n label={item[extLabel] ? item[value] : item[label]}\r\n value={item[value]}\r\n >\r\n <span style=\"float: left\">\r\n {extLabel && item[extLabel] ? `${item[value]}-${item[extLabel]}` : item[value]}\r\n </span>\r\n {value !== label && !item[extLabel] ? (\r\n <span class=\"su-coSelect-option\">{item[label]}</span>\r\n ) : null}\r\n </el-option>\r\n );\r\n })}\r\n </el-select>\r\n ];\r\n },\r\n // 可编辑显示模板\r\n renderCell(renderOpts, params) {\r\n const { row, column } = params;\r\n const { props, options, optionProps } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value', extLabel } = optionProps;\r\n const { textValue } = props;\r\n let val = row[column.field];\r\n const item = options.find(opt => opt[value] === val);\r\n if (textValue) {\r\n val = eval(`row.${textValue}`) || row[column.field];\r\n }\r\n if (item) {\r\n val = extLabel ? item[value] : item[label];\r\n }\r\n if (val && props?.multiple && isArray(val)) {\r\n val = val && val.join(',');\r\n }\r\n return [<span>{val}</span>];\r\n }\r\n});\r\n\r\nVXETable.renderer.add('#select', {\r\n renderItemContent(renderOpts: FormItemRenderOptions, params: FormItemContentRenderParams) {\r\n const { data, property } = params;\r\n const { options, props, optionProps = {}, events } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value' } = optionProps;\r\n // 默认值\r\n const { defaultValues } = props;\r\n if (defaultValues) {\r\n data[property] = defaultValues;\r\n }\r\n /**\r\n * @description: 选中值发生变化时触发\r\n * @param {*} val 目前的选中值\r\n */\r\n function onChange(val) {\r\n const { fieldMap = {} } = props;\r\n const item = options.find(option => val === option[value]);\r\n const keys = Object.keys(fieldMap);\r\n if (keys.length) {\r\n const values: string[] = Object.values(fieldMap);\r\n keys.forEach((key, idx) => {\r\n data[key] = val ? item[values[idx]] : '';\r\n });\r\n }\r\n const parm = { item, row: data, property };\r\n events?.change && events.change(parm);\r\n }\r\n\r\n /**\r\n * @description: 可清空的单选模式下用户点击清空按钮时触发\r\n */\r\n function onClear() {\r\n events?.onClear && events.onClear({ data, field: property });\r\n }\r\n\r\n return [\r\n <el-select\r\n v-model={data[property]}\r\n {...props}\r\n filterable\r\n clearable\r\n size=\"small\"\r\n style=\"width: 100%\"\r\n onChange={v => onChange(v)}\r\n onClear={() => onClear()}\r\n >\r\n {options.map(item => {\r\n return (\r\n <el-option key={item[value]} label={item[label]} value={item[value]}>\r\n <span style=\"float: left\">{item[label]}</span>\r\n <span class=\"su-coSelect-option\">{item[value]}</span>\r\n </el-option>\r\n );\r\n })}\r\n </el-select>\r\n ];\r\n }\r\n});\r\n// 创建一个简单的超链接渲染\r\nVXETable.renderer.add('#tag', {\r\n // 默认显示模板\r\n renderDefault(renderOpts, params) {\r\n const { row, column } = params;\r\n const {\r\n props: { code, tagMap }\r\n } = renderOpts;\r\n function getTagType() {\r\n return row[column.field] ? tagMap[row[column.field]] : '';\r\n }\r\n return [\r\n row[column.field] ? <el-tag type={getTagType()}>{getValue(code, row[column.field])}</el-tag> : null\r\n ];\r\n }\r\n});\r\n\r\nconst dictStr = sessionStorage.getItem('kLov')\r\nconst dataDict = dictStr && toStringJSON(dictStr)\r\n\r\nfunction getValue(code, value) {\r\n if (!value || !code) return value;\r\n return dataDict[code]?.children?.find(item => item.dictCode === value)?.dictName;\r\n}\r\n"],"names":["inject","VXETable","useI18n","isArray","toStringJSON"],"mappings":"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"}
1
+ {"version":3,"file":"su-utils.umd.js","sources":["../src/lib/render.tsx"],"sourcesContent":["/*\r\n * @Author: wei.li\r\n * @Date: 2021-12-01 09:18:50\r\n * @LastEditors: wei.li\r\n * @LastEditTime: 2022-06-30 10:08:46\r\n * @Description: file content\r\n */\r\n\r\nimport { useI18n } from 'vue-i18n';\r\nimport { inject } from 'vue';\r\n// import serviceApi from '/@/api';\r\n// import { useSystemStoreHook } from '/@/store/modules/system';\r\nimport { isArray, toStringJSON } from 'xe-utils';\r\nimport { VXETable, FormItemRenderOptions, FormItemContentRenderParams, VxeColumnPropTypes } from 'vxe-table';\r\n\r\n// const systemStoreHook = useSystemStoreHook();\r\n\r\nconst serviceApi: Function = inject('serviceApi')\r\n\r\n// form render\r\nVXETable.renderer.add('#SuSelect', {\r\n renderItemContent(renderOpts: FormItemRenderOptions, params: FormItemContentRenderParams) {\r\n const { data, property } = params;\r\n const { options, props, optionProps = {}, events } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value', extLabel } = optionProps;\r\n const { code, fetchField, extParam = {}, loading = false } = props;\r\n /**\r\n * @description: 远程搜索对应的函数\r\n * @param {*} val 录入的参数\r\n */\r\n async function remoteMethod(query) {\r\n const param = Object.assign({}, { pageSize: 20, pageNum: 1 }, extParam, { [fetchField]: query });\r\n let res;\r\n try {\r\n options.length = 0;\r\n props.loading = true;\r\n res = await serviceApi(code, param);\r\n res && options.push(...res.list);\r\n } finally {\r\n props.loading = false;\r\n }\r\n }\r\n\r\n /**\r\n * @description: 选中值发生变化时触发\r\n * @param {*} val 目前的选中值\r\n */\r\n function onChange(val) {\r\n const { fieldMap = {} } = props;\r\n const item = options.find(option => val === option[value]);\r\n const keys = Object.keys(fieldMap);\r\n if (keys.length) {\r\n const values: string[] = Object.values(fieldMap);\r\n keys.forEach((key, idx) => {\r\n data[key] = val ? item[values[idx]] : '';\r\n });\r\n }\r\n events?.change && events.change(val, item, data, property);\r\n }\r\n\r\n /**\r\n * @description: 可清空的单选模式下用户点击清空按钮时触发\r\n */\r\n function onClear() {\r\n events?.clear && events.clear({ data, property });\r\n }\r\n\r\n function onFocus() {\r\n !options.length && remoteMethod('');\r\n }\r\n\r\n return [\r\n <el-select\r\n v-model={data[property]}\r\n {...props}\r\n filterable\r\n remote\r\n clearable\r\n size=\"small\"\r\n style=\"width: 100%\"\r\n placeholder=\"请录入关键字搜索\"\r\n remote-method={remoteMethod}\r\n loading={loading}\r\n onFocus={() => onFocus()}\r\n onChange={v => onChange(v)}\r\n onClear={() => onClear()}\r\n >\r\n {options.map(item => {\r\n return (\r\n <el-option key={item[value]} label={item[label]} value={item[value]}>\r\n <span style=\"float: left\">\r\n {item[extLabel] ? `${item[value]}-${item[extLabel]}` : item[value]}\r\n </span>\r\n {value !== label && !item[extLabel] ? (\r\n <span class=\"su-coSelect-option\">{item[label]}</span>\r\n ) : null}\r\n </el-option>\r\n );\r\n })}\r\n </el-select>\r\n ];\r\n }\r\n});\r\n// 时间范围\r\nVXETable.renderer.add('#SuDateRange', {\r\n renderItemContent(renderOpts: FormItemRenderOptions, params: FormItemContentRenderParams) {\r\n const { data, property } = params;\r\n const { props } = renderOpts;\r\n const { t } = useI18n();\r\n return [\r\n <el-date-picker\r\n v-model={data[property]}\r\n type={props?.type || 'daterange'}\r\n size=\"small\"\r\n style=\"width: 100%\"\r\n range-separator={t('message.to')}\r\n start-placeholder={t('message.startDate')}\r\n end-placeholder={t('message.endDate')}\r\n />\r\n ];\r\n }\r\n});\r\n// table Col\r\nVXETable.renderer.add('#SuColSelect', {\r\n renderEdit(renderOpts: VxeColumnPropTypes.EditRender, params) {\r\n const { row, column } = params;\r\n const { options, props, optionProps = {}, events } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value', extLabel } = optionProps;\r\n const { code, fetchField, extParam = {}, loading = false, multiple, defaultValue } = props;\r\n if (defaultValue) {\r\n const keys = Object.keys(defaultValue);\r\n keys.forEach(key => {\r\n row[key] = row[key] || defaultValue[key];\r\n });\r\n }\r\n if (multiple && row[column.field]) {\r\n !isArray(row[column.field]) &&\r\n row[column.field].split(',').forEach(ff => {\r\n const isExit = options.some(s => s[label] === ff);\r\n !isExit && options.push({ [value]: ff, [label]: ff });\r\n });\r\n }\r\n /**\r\n * @description: 远程搜索对应的函数\r\n * @param {*} val 录入的参数\r\n */\r\n async function remoteMethod(query) {\r\n const param = Object.assign({}, { pageSize: 20, pageNum: 1 }, extParam, {\r\n [fetchField || label]: query\r\n });\r\n let res;\r\n try {\r\n options.length = 0;\r\n props.loading = true;\r\n res = await serviceApi(code, param);\r\n if (res) {\r\n res.list ? options.push(...res.list) : options.push(...res);\r\n }\r\n } finally {\r\n props.loading = false;\r\n }\r\n }\r\n\r\n /**\r\n * @description: 选中值发生变化时触发\r\n * @param {*} val 目前的选中值\r\n */\r\n function onChange(val) {\r\n const { fieldMap = {} } = props;\r\n const item = val && options.find(option => val === option[value]);\r\n const keys = Object.keys(fieldMap);\r\n if (keys.length) {\r\n const values: string[] = Object.values(fieldMap);\r\n keys.forEach((key, idx) => {\r\n row[key] = val ? item[values[idx]] : '';\r\n });\r\n }\r\n events?.change && events.change(params, val, item, column.field);\r\n }\r\n\r\n /**\r\n * @description: 可清空的单选模式下用户点击清空按钮时触发\r\n */\r\n function onClear() {\r\n // @ts-ignore\r\n events?.onClear && events.onClear({ row, field: column.field });\r\n }\r\n\r\n function onFocus() {\r\n !options.length && remoteMethod('');\r\n }\r\n\r\n return [\r\n <el-select\r\n v-model={row[column.field]}\r\n {...props}\r\n filterable\r\n remote\r\n clearable\r\n size=\"small\"\r\n placeholder=\"请录入关键字搜索\"\r\n style=\"width: 100%\"\r\n remote-method={remoteMethod}\r\n loading={loading}\r\n onFocus={() => onFocus()}\r\n onChange={v => onChange(v)}\r\n onClear={() => onClear()}\r\n >\r\n {options.map(item => {\r\n return (\r\n <el-option key={item[value]} label={item[label]} value={item[value]}>\r\n <span style=\"float: left\">\r\n {item[extLabel] ? `${item[value]}-${item[extLabel]}` : item[value]}\r\n </span>\r\n {value !== label && !item[extLabel] ? (\r\n <span class=\"su-coSelect-option\">{item[label]}</span>\r\n ) : null}\r\n </el-option>\r\n );\r\n })}\r\n </el-select>\r\n ];\r\n },\r\n // 可编辑显示模板\r\n renderCell(renderOpts, params) {\r\n const { row, column } = params;\r\n const { props } = renderOpts;\r\n const { textValue, multiple } = props;\r\n let val = row[column.field];\r\n if (textValue) {\r\n val = eval(`row.${textValue}`) || row[column.field];\r\n }\r\n if (val && multiple && isArray(val)) {\r\n val = val && val.join(',');\r\n }\r\n return [<span>{val}</span>];\r\n }\r\n});\r\nVXETable.renderer.add('#SuSelect', {\r\n renderEdit(renderOpts: VxeColumnPropTypes.EditRender, params) {\r\n const { row, column } = params;\r\n const { options, props, optionProps = {}, events } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value', extLabel } = optionProps;\r\n const { code, fetchField, extParam = {}, loading = false, multiple, defaultValue } = props;\r\n if (defaultValue) {\r\n const keys = Object.keys(defaultValue);\r\n keys.forEach(key => {\r\n row[key] = row[key] || defaultValue[key];\r\n });\r\n }\r\n if (multiple && row[column.field]) {\r\n !isArray(row[column.field]) &&\r\n row[column.field].split(',').forEach(ff => {\r\n const isExit = options.some(s => s[label] === ff);\r\n !isExit && options.push({ [value]: ff, [label]: ff });\r\n });\r\n }\r\n /**\r\n * @description: 远程搜索对应的函数\r\n * @param {*} val 录入的参数\r\n */\r\n async function remoteMethod(query) {\r\n const param = Object.assign({}, { pageSize: 20, pageNum: 1 }, extParam, {\r\n [fetchField || label]: query\r\n });\r\n let res;\r\n try {\r\n options.length = 0;\r\n props.loading = true;\r\n res = await serviceApi(code, param);\r\n if (res) {\r\n res.list ? options.push(...res.list) : options.push(...res);\r\n }\r\n } finally {\r\n props.loading = false;\r\n }\r\n }\r\n\r\n /**\r\n * @description: 选中值发生变化时触发\r\n * @param {*} val 目前的选中值\r\n */\r\n function onChange(val) {\r\n const { fieldMap = {} } = props;\r\n const item = val && options.find(option => val === option[value]);\r\n const keys = Object.keys(fieldMap);\r\n if (keys.length) {\r\n const values: string[] = Object.values(fieldMap);\r\n keys.forEach((key, idx) => {\r\n row[key] = val ? item[values[idx]] : '';\r\n });\r\n }\r\n events?.change && events.change(params, val, item, column.field);\r\n }\r\n\r\n /**\r\n * @description: 可清空的单选模式下用户点击清空按钮时触发\r\n */\r\n function onClear() {\r\n // @ts-ignore\r\n events?.onClear && events.onClear({ row, field: column.field });\r\n \r\n }\r\n\r\n function onFocus() {\r\n !options.length && remoteMethod('');\r\n }\r\n\r\n return [\r\n <el-select\r\n v-model={row[column.field]}\r\n {...props}\r\n filterable\r\n remote\r\n clearable\r\n size=\"small\"\r\n placeholder=\"请录入关键字搜索\"\r\n style=\"width: 100%\"\r\n remote-method={remoteMethod}\r\n loading={loading}\r\n onFocus={() => onFocus()}\r\n onChange={v => onChange(v)}\r\n onClear={() => onClear()}\r\n >\r\n {options.map(item => {\r\n return (\r\n <el-option key={item[value]} label={item[label]} value={item[value]}>\r\n <span style=\"float: left\">\r\n {item[extLabel] ? `${item[value]}-${item[extLabel]}` : item[value]}\r\n </span>\r\n {value !== label && !item[extLabel] ? (\r\n <span class=\"su-coSelect-option\">{item[label]}</span>\r\n ) : null}\r\n </el-option>\r\n );\r\n })}\r\n </el-select>\r\n ];\r\n },\r\n // 可编辑显示模板\r\n renderCell(renderOpts, params) {\r\n const { row, column } = params;\r\n const { props } = renderOpts;\r\n const { textValue, multiple } = props;\r\n let val = row[column.field];\r\n if (textValue) {\r\n val = eval(`row.${textValue}`) || row[column.field];\r\n }\r\n if (val && multiple && isArray(val)) {\r\n val = val && val.join(',');\r\n }\r\n return [<span>{val}</span>];\r\n }\r\n});\r\n\r\nVXETable.renderer.add('#select', {\r\n renderEdit(renderOpts: VxeColumnPropTypes.EditRender, params) {\r\n const { row, column } = params;\r\n const { options, props, optionProps = {}, events } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value', extLabel } = optionProps;\r\n if (props.multiple && row[column.field]) {\r\n !isArray(row[column.field]) &&\r\n row[column.field].split(',').forEach(ff => {\r\n const isExit = options.some(s => s[label] === ff);\r\n !isExit && options.push({ [value]: ff, [label]: ff });\r\n });\r\n }\r\n\r\n function onChange(val) {\r\n const item = val && options.find(option => val === option[value]);\r\n events?.change && events.change(params, val, item, column.field);\r\n }\r\n\r\n function onClear() {\r\n // @ts-ignore\r\n events?.onClear && events.onClear({ row, field: column.field });\r\n }\r\n\r\n return [\r\n <el-select\r\n v-model={row[column.field]}\r\n filterable\r\n clearable\r\n {...props}\r\n size=\"small\"\r\n style=\"width: 100%\"\r\n onChange={v => onChange(v)}\r\n onClear={() => onClear()}\r\n >\r\n {options.map(item => {\r\n return (\r\n <el-option\r\n key={item[value]}\r\n label={item[extLabel] ? item[value] : item[label]}\r\n value={item[value]}\r\n >\r\n <span style=\"float: left\">\r\n {extLabel && item[extLabel] ? `${item[value]}-${item[extLabel]}` : item[value]}\r\n </span>\r\n {value !== label && !item[extLabel] ? (\r\n <span class=\"su-coSelect-option\">{item[label]}</span>\r\n ) : null}\r\n </el-option>\r\n );\r\n })}\r\n </el-select>\r\n ];\r\n },\r\n // 可编辑显示模板\r\n renderCell(renderOpts, params) {\r\n const { row, column } = params;\r\n const { props, options, optionProps } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value', extLabel } = optionProps;\r\n const { textValue } = props;\r\n let val = row[column.field];\r\n const item = options.find(opt => opt[value] === val);\r\n if (textValue) {\r\n val = eval(`row.${textValue}`) || row[column.field];\r\n }\r\n if (item) {\r\n val = extLabel ? item[value] : item[label];\r\n }\r\n if (val && props?.multiple && isArray(val)) {\r\n val = val && val.join(',');\r\n }\r\n return [<span>{val}</span>];\r\n }\r\n});\r\n\r\nVXETable.renderer.add('#select', {\r\n renderItemContent(renderOpts: FormItemRenderOptions, params: FormItemContentRenderParams) {\r\n const { data, property } = params;\r\n const { options, props, optionProps = {}, events } = renderOpts;\r\n // @ts-ignore\r\n const { label = 'label', value = 'value' } = optionProps;\r\n // 默认值\r\n const { defaultValues } = props;\r\n if (defaultValues) {\r\n data[property] = defaultValues;\r\n }\r\n /**\r\n * @description: 选中值发生变化时触发\r\n * @param {*} val 目前的选中值\r\n */\r\n function onChange(val) {\r\n const { fieldMap = {} } = props;\r\n const item = options.find(option => val === option[value]);\r\n const keys = Object.keys(fieldMap);\r\n if (keys.length) {\r\n const values: string[] = Object.values(fieldMap);\r\n keys.forEach((key, idx) => {\r\n data[key] = val ? item[values[idx]] : '';\r\n });\r\n }\r\n const parm = { item, row: data, property };\r\n events?.change && events.change(parm);\r\n }\r\n\r\n /**\r\n * @description: 可清空的单选模式下用户点击清空按钮时触发\r\n */\r\n function onClear() {\r\n events?.onClear && events.onClear({ data, field: property });\r\n }\r\n\r\n return [\r\n <el-select\r\n v-model={data[property]}\r\n {...props}\r\n filterable\r\n clearable\r\n size=\"small\"\r\n style=\"width: 100%\"\r\n onChange={v => onChange(v)}\r\n onClear={() => onClear()}\r\n >\r\n {options.map(item => {\r\n return (\r\n <el-option key={item[value]} label={item[label]} value={item[value]}>\r\n <span style=\"float: left\">{item[label]}</span>\r\n <span class=\"su-coSelect-option\">{item[value]}</span>\r\n </el-option>\r\n );\r\n })}\r\n </el-select>\r\n ];\r\n }\r\n});\r\n// 创建一个简单的超链接渲染\r\nVXETable.renderer.add('#tag', {\r\n // 默认显示模板\r\n renderDefault(renderOpts, params) {\r\n const { row, column } = params;\r\n const {\r\n props: { code, tagMap }\r\n } = renderOpts;\r\n function getTagType() {\r\n return row[column.field] ? tagMap[row[column.field]] : '';\r\n }\r\n return [\r\n row[column.field] ? <el-tag type={getTagType()}>{getValue(code, row[column.field])}</el-tag> : null\r\n ];\r\n }\r\n});\r\n\r\nconst dictStr = sessionStorage.getItem('kLov')\r\nconst dataDict = dictStr && toStringJSON(dictStr)\r\n\r\nfunction getValue(code, value) {\r\n if (!value || !code) return value;\r\n return dataDict[code]?.children?.find(item => item.dictCode === value)?.dictName;\r\n}\r\n"],"names":["serviceApi","inject","VXETable","renderer","add","renderItemContent","renderOpts","params","data","property","options","props","optionProps","events","label","value","extLabel","code","fetchField","extParam","loading","query","param","Object","assign","pageSize","pageNum","res","length","push","list","val","fieldMap","item","find","option","keys","values","forEach","key","idx","change","clear","remoteMethod","_createVNode","_resolveComponent","_mergeProps","onFocus","v","onChange","onClear","map","t","useI18n","type","renderEdit","row","column","multiple","defaultValue","field","isArray","split","ff","some","s","renderCell","textValue","eval","join","opt","defaultValues","parm","renderDefault","tagMap","getTagType","getValue","dictStr","sessionStorage","getItem","dataDict","toStringJSON","children","dictCode","dictName"],"mappings":"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"}
package/package.json CHANGED
@@ -1,8 +1,10 @@
1
1
  {
2
2
  "name": "@utogether/utils",
3
3
  "private": false,
4
- "version": "1.0.0",
5
- "files": ["dist"],
4
+ "version": "1.0.1",
5
+ "files": [
6
+ "dist"
7
+ ],
6
8
  "main": "./dist/su-utils.umd.js",
7
9
  "module": "./dist/su-utils.es.js",
8
10
  "exports": {
@@ -26,6 +28,7 @@
26
28
  },
27
29
  "devDependencies": {
28
30
  "@vitejs/plugin-vue": "^2.3.3",
31
+ "@vitejs/plugin-vue-jsx": "^1.3.10",
29
32
  "vite": "^2.9.9"
30
33
  }
31
34
  }