@idooel/components 0.0.1-beta.40 → 0.0.1-beta.41

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.
@@ -21,7 +21,7 @@ import Cropper from 'cropperjs';
21
21
  //
22
22
  //
23
23
 
24
- var script$z = {
24
+ var script$A = {
25
25
  name: 'ele-button',
26
26
  props: {
27
27
  record: {
@@ -142,10 +142,10 @@ function normalizeComponent(template, style, script, scopeId, isFunctionalTempla
142
142
  }
143
143
 
144
144
  /* script */
145
- const __vue_script__$z = script$z;
145
+ const __vue_script__$A = script$A;
146
146
 
147
147
  /* template */
148
- var __vue_render__$z = function () {
148
+ var __vue_render__$A = function () {
149
149
  var _vm = this;
150
150
  var _h = _vm.$createElement;
151
151
  var _c = _vm._self._c || _h;
@@ -191,17 +191,17 @@ var __vue_render__$z = function () {
191
191
  2
192
192
  )
193
193
  };
194
- var __vue_staticRenderFns__$z = [];
195
- __vue_render__$z._withStripped = true;
194
+ var __vue_staticRenderFns__$A = [];
195
+ __vue_render__$A._withStripped = true;
196
196
 
197
197
  /* style */
198
- const __vue_inject_styles__$z = undefined;
198
+ const __vue_inject_styles__$A = undefined;
199
199
  /* scoped */
200
- const __vue_scope_id__$z = undefined;
200
+ const __vue_scope_id__$A = undefined;
201
201
  /* module identifier */
202
- const __vue_module_identifier__$z = undefined;
202
+ const __vue_module_identifier__$A = undefined;
203
203
  /* functional template */
204
- const __vue_is_functional_template__$z = false;
204
+ const __vue_is_functional_template__$A = false;
205
205
  /* style inject */
206
206
 
207
207
  /* style inject SSR */
@@ -210,23 +210,23 @@ __vue_render__$z._withStripped = true;
210
210
 
211
211
 
212
212
 
213
- const __vue_component__$z = /*#__PURE__*/normalizeComponent(
214
- { render: __vue_render__$z, staticRenderFns: __vue_staticRenderFns__$z },
215
- __vue_inject_styles__$z,
216
- __vue_script__$z,
217
- __vue_scope_id__$z,
218
- __vue_is_functional_template__$z,
219
- __vue_module_identifier__$z,
213
+ const __vue_component__$A = /*#__PURE__*/normalizeComponent(
214
+ { render: __vue_render__$A, staticRenderFns: __vue_staticRenderFns__$A },
215
+ __vue_inject_styles__$A,
216
+ __vue_script__$A,
217
+ __vue_scope_id__$A,
218
+ __vue_is_functional_template__$A,
219
+ __vue_module_identifier__$A,
220
220
  false,
221
221
  undefined,
222
222
  undefined,
223
223
  undefined
224
224
  );
225
225
 
226
- __vue_component__$z.install = Vue => Vue.component(__vue_component__$z.name, __vue_component__$z);
226
+ __vue_component__$A.install = Vue => Vue.component(__vue_component__$A.name, __vue_component__$A);
227
227
 
228
228
  //
229
- var script$y = {
229
+ var script$z = {
230
230
  name: 'ele-date',
231
231
  model: {
232
232
  prop: 'value',
@@ -288,11 +288,64 @@ var script$y = {
288
288
  }
289
289
  };
290
290
 
291
+ const isOldIE = typeof navigator !== 'undefined' &&
292
+ /msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());
293
+ function createInjector(context) {
294
+ return (id, style) => addStyle(id, style);
295
+ }
296
+ let HEAD;
297
+ const styles = {};
298
+ function addStyle(id, css) {
299
+ const group = isOldIE ? css.media || 'default' : id;
300
+ const style = styles[group] || (styles[group] = { ids: new Set(), styles: [] });
301
+ if (!style.ids.has(id)) {
302
+ style.ids.add(id);
303
+ let code = css.source;
304
+ if (css.map) {
305
+ // https://developer.chrome.com/devtools/docs/javascript-debugging
306
+ // this makes source maps inside style tags work properly in Chrome
307
+ code += '\n/*# sourceURL=' + css.map.sources[0] + ' */';
308
+ // http://stackoverflow.com/a/26603875
309
+ code +=
310
+ '\n/*# sourceMappingURL=data:application/json;base64,' +
311
+ btoa(unescape(encodeURIComponent(JSON.stringify(css.map)))) +
312
+ ' */';
313
+ }
314
+ if (!style.element) {
315
+ style.element = document.createElement('style');
316
+ style.element.type = 'text/css';
317
+ if (css.media)
318
+ style.element.setAttribute('media', css.media);
319
+ if (HEAD === undefined) {
320
+ HEAD = document.head || document.getElementsByTagName('head')[0];
321
+ }
322
+ HEAD.appendChild(style.element);
323
+ }
324
+ if ('styleSheet' in style.element) {
325
+ style.styles.push(code);
326
+ style.element.styleSheet.cssText = style.styles
327
+ .filter(Boolean)
328
+ .join('\n');
329
+ }
330
+ else {
331
+ const index = style.ids.size - 1;
332
+ const textNode = document.createTextNode(code);
333
+ const nodes = style.element.childNodes;
334
+ if (nodes[index])
335
+ style.element.removeChild(nodes[index]);
336
+ if (nodes.length)
337
+ style.element.insertBefore(textNode, nodes[index]);
338
+ else
339
+ style.element.appendChild(textNode);
340
+ }
341
+ }
342
+ }
343
+
291
344
  /* script */
292
- const __vue_script__$y = script$y;
345
+ const __vue_script__$z = script$z;
293
346
 
294
347
  /* template */
295
- var __vue_render__$y = function () {
348
+ var __vue_render__$z = function () {
296
349
  var _vm = this;
297
350
  var _h = _vm.$createElement;
298
351
  var _c = _vm._self._c || _h;
@@ -338,46 +391,48 @@ var __vue_render__$y = function () {
338
391
  1
339
392
  )
340
393
  };
341
- var __vue_staticRenderFns__$y = [];
342
- __vue_render__$y._withStripped = true;
394
+ var __vue_staticRenderFns__$z = [];
395
+ __vue_render__$z._withStripped = true;
343
396
 
344
397
  /* style */
345
- const __vue_inject_styles__$y = undefined;
398
+ const __vue_inject_styles__$z = function (inject) {
399
+ if (!inject) return
400
+ inject("data-v-31acfdfd_0", { source: ".ele-date__wrapper[data-v-31acfdfd] {\n width: 100%;\n}\n\n/*# sourceMappingURL=index.vue.map */", map: {"version":3,"sources":["E:\\work\\code\\ganjiao\\ganjian-monorepo\\packages\\components\\packages\\date\\src\\index.vue","index.vue"],"names":[],"mappings":"AAiGA;EACA,WAAA;AChGA;;AAEA,oCAAoC","file":"index.vue","sourcesContent":["<template>\r\n <div class=\"ele-date__wrapper\">\r\n <a-date-picker \r\n style=\"width: 100%;\" \r\n :mode=\"modeValue\"\r\n v-if=\"modeValue == 'year'\"\r\n :open=\"open\"\r\n :value=\"value\"\r\n :show-time=\"showTime\"\r\n :show-today=\"showToday\"\r\n :valueFormat=\"innerValueFormat\"\r\n @panelChange=\"onPanelChange\"\r\n @openChange=\"openChange\"\r\n @change=\"onChange\"\r\n :format=\"format\">\r\n </a-date-picker>\r\n <a-date-picker \r\n v-else\r\n style=\"width: 100%;\" \r\n :open=\"open\"\r\n :value=\"value\"\r\n :show-time=\"showTime\"\r\n :show-today=\"showToday\"\r\n :valueFormat=\"innerValueFormat\"\r\n @panelChange=\"onPanelChange\"\r\n @openChange=\"openChange\"\r\n @change=\"onChange\"\r\n :format=\"format\">\r\n </a-date-picker>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport moment from 'moment'\r\nexport default {\r\n name: 'ele-date',\r\n model: {\r\n prop: 'value',\r\n event: 'change'\r\n },\r\n props: {\r\n value: {\r\n type: [String, Object]\r\n },\r\n format: {\r\n type: String,\r\n default: 'YYYY/MM/DD'\r\n },\r\n mode: {\r\n type: String\r\n },\r\n valueFormat: {\r\n type: String\r\n },\r\n showTime: {\r\n type: [Boolean, Object],\r\n default: true\r\n },\r\n showToday: {\r\n type: Boolean,\r\n default: true\r\n },\r\n },\r\n data () {\r\n return {\r\n open: false\r\n }\r\n },\r\n computed: {\r\n innerValueFormat () {\r\n if (this.valueFormat) return this.valueFormat\r\n return this.format\r\n },\r\n modeValue () {\r\n if (this.mode) return this.mode\r\n if (this.format === 'YYYY') return 'year'\r\n return 'date'\r\n }\r\n },\r\n methods: {\r\n onChange (_, dataString) {\r\n this.$emit('input', dataString)\r\n this.$emit('change', dataString)\r\n },\r\n onPanelChange (value, mode) {\r\n if (this.modeValue !== 'year') return\r\n this.$emit('input', moment(value).format(this.format))\r\n this.$emit('change', moment(value).format(this.format))\r\n this.open = false\r\n },\r\n openChange (open) {\r\n this.open = open\r\n }\r\n }\r\n}\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n.ele-date__wrapper {\r\n width: 100%;\r\n}\r\n</style>",".ele-date__wrapper {\n width: 100%;\n}\n\n/*# sourceMappingURL=index.vue.map */"]}, media: undefined });
401
+
402
+ };
346
403
  /* scoped */
347
- const __vue_scope_id__$y = undefined;
404
+ const __vue_scope_id__$z = "data-v-31acfdfd";
348
405
  /* module identifier */
349
- const __vue_module_identifier__$y = undefined;
406
+ const __vue_module_identifier__$z = undefined;
350
407
  /* functional template */
351
- const __vue_is_functional_template__$y = false;
352
- /* style inject */
353
-
408
+ const __vue_is_functional_template__$z = false;
354
409
  /* style inject SSR */
355
410
 
356
411
  /* style inject shadow dom */
357
412
 
358
413
 
359
414
 
360
- const __vue_component__$y = /*#__PURE__*/normalizeComponent(
361
- { render: __vue_render__$y, staticRenderFns: __vue_staticRenderFns__$y },
362
- __vue_inject_styles__$y,
363
- __vue_script__$y,
364
- __vue_scope_id__$y,
365
- __vue_is_functional_template__$y,
366
- __vue_module_identifier__$y,
415
+ const __vue_component__$z = /*#__PURE__*/normalizeComponent(
416
+ { render: __vue_render__$z, staticRenderFns: __vue_staticRenderFns__$z },
417
+ __vue_inject_styles__$z,
418
+ __vue_script__$z,
419
+ __vue_scope_id__$z,
420
+ __vue_is_functional_template__$z,
421
+ __vue_module_identifier__$z,
367
422
  false,
368
- undefined,
423
+ createInjector,
369
424
  undefined,
370
425
  undefined
371
426
  );
372
427
 
373
- __vue_component__$y.install = Vue => Vue.component(__vue_component__$y.name, __vue_component__$y);
428
+ __vue_component__$z.install = Vue => Vue.component(__vue_component__$z.name, __vue_component__$z);
374
429
 
375
430
  //
376
431
  //
377
432
  //
378
433
  //
379
434
 
380
- var script$x = {
435
+ var script$y = {
381
436
  name: 'ele-input',
382
437
  model: {
383
438
  prop: 'value',
@@ -404,64 +459,11 @@ var script$x = {
404
459
  }
405
460
  };
406
461
 
407
- const isOldIE = typeof navigator !== 'undefined' &&
408
- /msie [6-9]\\b/.test(navigator.userAgent.toLowerCase());
409
- function createInjector(context) {
410
- return (id, style) => addStyle(id, style);
411
- }
412
- let HEAD;
413
- const styles = {};
414
- function addStyle(id, css) {
415
- const group = isOldIE ? css.media || 'default' : id;
416
- const style = styles[group] || (styles[group] = { ids: new Set(), styles: [] });
417
- if (!style.ids.has(id)) {
418
- style.ids.add(id);
419
- let code = css.source;
420
- if (css.map) {
421
- // https://developer.chrome.com/devtools/docs/javascript-debugging
422
- // this makes source maps inside style tags work properly in Chrome
423
- code += '\n/*# sourceURL=' + css.map.sources[0] + ' */';
424
- // http://stackoverflow.com/a/26603875
425
- code +=
426
- '\n/*# sourceMappingURL=data:application/json;base64,' +
427
- btoa(unescape(encodeURIComponent(JSON.stringify(css.map)))) +
428
- ' */';
429
- }
430
- if (!style.element) {
431
- style.element = document.createElement('style');
432
- style.element.type = 'text/css';
433
- if (css.media)
434
- style.element.setAttribute('media', css.media);
435
- if (HEAD === undefined) {
436
- HEAD = document.head || document.getElementsByTagName('head')[0];
437
- }
438
- HEAD.appendChild(style.element);
439
- }
440
- if ('styleSheet' in style.element) {
441
- style.styles.push(code);
442
- style.element.styleSheet.cssText = style.styles
443
- .filter(Boolean)
444
- .join('\n');
445
- }
446
- else {
447
- const index = style.ids.size - 1;
448
- const textNode = document.createTextNode(code);
449
- const nodes = style.element.childNodes;
450
- if (nodes[index])
451
- style.element.removeChild(nodes[index]);
452
- if (nodes.length)
453
- style.element.insertBefore(textNode, nodes[index]);
454
- else
455
- style.element.appendChild(textNode);
456
- }
457
- }
458
- }
459
-
460
462
  /* script */
461
- const __vue_script__$x = script$x;
463
+ const __vue_script__$y = script$y;
462
464
 
463
465
  /* template */
464
- var __vue_render__$x = function () {
466
+ var __vue_render__$y = function () {
465
467
  var _vm = this;
466
468
  var _h = _vm.$createElement;
467
469
  var _c = _vm._self._c || _h;
@@ -474,44 +476,44 @@ var __vue_render__$x = function () {
474
476
  on: { change: _vm.onChange },
475
477
  })
476
478
  };
477
- var __vue_staticRenderFns__$x = [];
478
- __vue_render__$x._withStripped = true;
479
+ var __vue_staticRenderFns__$y = [];
480
+ __vue_render__$y._withStripped = true;
479
481
 
480
482
  /* style */
481
- const __vue_inject_styles__$x = function (inject) {
483
+ const __vue_inject_styles__$y = function (inject) {
482
484
  if (!inject) return
483
485
  inject("data-v-2dfc23ac_0", { source: "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n", map: {"version":3,"sources":[],"names":[],"mappings":"","file":"index.vue"}, media: undefined });
484
486
 
485
487
  };
486
488
  /* scoped */
487
- const __vue_scope_id__$x = "data-v-2dfc23ac";
489
+ const __vue_scope_id__$y = "data-v-2dfc23ac";
488
490
  /* module identifier */
489
- const __vue_module_identifier__$x = undefined;
491
+ const __vue_module_identifier__$y = undefined;
490
492
  /* functional template */
491
- const __vue_is_functional_template__$x = false;
493
+ const __vue_is_functional_template__$y = false;
492
494
  /* style inject SSR */
493
495
 
494
496
  /* style inject shadow dom */
495
497
 
496
498
 
497
499
 
498
- const __vue_component__$x = /*#__PURE__*/normalizeComponent(
499
- { render: __vue_render__$x, staticRenderFns: __vue_staticRenderFns__$x },
500
- __vue_inject_styles__$x,
501
- __vue_script__$x,
502
- __vue_scope_id__$x,
503
- __vue_is_functional_template__$x,
504
- __vue_module_identifier__$x,
500
+ const __vue_component__$y = /*#__PURE__*/normalizeComponent(
501
+ { render: __vue_render__$y, staticRenderFns: __vue_staticRenderFns__$y },
502
+ __vue_inject_styles__$y,
503
+ __vue_script__$y,
504
+ __vue_scope_id__$y,
505
+ __vue_is_functional_template__$y,
506
+ __vue_module_identifier__$y,
505
507
  false,
506
508
  createInjector,
507
509
  undefined,
508
510
  undefined
509
511
  );
510
512
 
511
- __vue_component__$x.install = Vue => Vue.component(__vue_component__$x.name, __vue_component__$x);
513
+ __vue_component__$y.install = Vue => Vue.component(__vue_component__$y.name, __vue_component__$y);
512
514
 
513
515
  //
514
- var script$w = {
516
+ var script$x = {
515
517
  name: 'ele-select',
516
518
  props: {
517
519
  disabled: {
@@ -596,10 +598,10 @@ var script$w = {
596
598
  };
597
599
 
598
600
  /* script */
599
- const __vue_script__$w = script$w;
601
+ const __vue_script__$x = script$x;
600
602
 
601
603
  /* template */
602
- var __vue_render__$w = function () {
604
+ var __vue_render__$x = function () {
603
605
  var _vm = this;
604
606
  var _h = _vm.$createElement;
605
607
  var _c = _vm._self._c || _h;
@@ -620,41 +622,41 @@ var __vue_render__$w = function () {
620
622
  1
621
623
  )
622
624
  };
623
- var __vue_staticRenderFns__$w = [];
624
- __vue_render__$w._withStripped = true;
625
+ var __vue_staticRenderFns__$x = [];
626
+ __vue_render__$x._withStripped = true;
625
627
 
626
628
  /* style */
627
- const __vue_inject_styles__$w = function (inject) {
629
+ const __vue_inject_styles__$x = function (inject) {
628
630
  if (!inject) return
629
631
  inject("data-v-ccfe5f1e_0", { source: "\n\n/*# sourceMappingURL=index.vue.map */", map: {"version":3,"sources":["index.vue"],"names":[],"mappings":";;AAEA,oCAAoC","file":"index.vue"}, media: undefined });
630
632
 
631
633
  };
632
634
  /* scoped */
633
- const __vue_scope_id__$w = "data-v-ccfe5f1e";
635
+ const __vue_scope_id__$x = "data-v-ccfe5f1e";
634
636
  /* module identifier */
635
- const __vue_module_identifier__$w = undefined;
637
+ const __vue_module_identifier__$x = undefined;
636
638
  /* functional template */
637
- const __vue_is_functional_template__$w = false;
639
+ const __vue_is_functional_template__$x = false;
638
640
  /* style inject SSR */
639
641
 
640
642
  /* style inject shadow dom */
641
643
 
642
644
 
643
645
 
644
- const __vue_component__$w = /*#__PURE__*/normalizeComponent(
645
- { render: __vue_render__$w, staticRenderFns: __vue_staticRenderFns__$w },
646
- __vue_inject_styles__$w,
647
- __vue_script__$w,
648
- __vue_scope_id__$w,
649
- __vue_is_functional_template__$w,
650
- __vue_module_identifier__$w,
646
+ const __vue_component__$x = /*#__PURE__*/normalizeComponent(
647
+ { render: __vue_render__$x, staticRenderFns: __vue_staticRenderFns__$x },
648
+ __vue_inject_styles__$x,
649
+ __vue_script__$x,
650
+ __vue_scope_id__$x,
651
+ __vue_is_functional_template__$x,
652
+ __vue_module_identifier__$x,
651
653
  false,
652
654
  createInjector,
653
655
  undefined,
654
656
  undefined
655
657
  );
656
658
 
657
- __vue_component__$w.install = Vue => Vue.component(__vue_component__$w.name, __vue_component__$w);
659
+ __vue_component__$x.install = Vue => Vue.component(__vue_component__$x.name, __vue_component__$x);
658
660
 
659
661
  // Unique ID creation requires a high quality random # generator. In the browser we therefore
660
662
  // require the crypto API and do not support built-in fallback to lower quality random number
@@ -1372,7 +1374,7 @@ const parseFieldMap = (fieldMap = {}, dataSource = {}) => {
1372
1374
 
1373
1375
  //
1374
1376
  const MENU_KEY_NAMESPACE = 'f7b3b8b0-1b7b-11ec-9621-0242ac130002';
1375
- var script$v = {
1377
+ var script$w = {
1376
1378
  props: {
1377
1379
  record: {
1378
1380
  type: Object
@@ -1498,10 +1500,10 @@ var script$v = {
1498
1500
  };
1499
1501
 
1500
1502
  /* script */
1501
- const __vue_script__$v = script$v;
1503
+ const __vue_script__$w = script$w;
1502
1504
 
1503
1505
  /* template */
1504
- var __vue_render__$v = function () {
1506
+ var __vue_render__$w = function () {
1505
1507
  var _vm = this;
1506
1508
  var _h = _vm.$createElement;
1507
1509
  var _c = _vm._self._c || _h;
@@ -1641,34 +1643,34 @@ var __vue_render__$v = function () {
1641
1643
  0
1642
1644
  )
1643
1645
  };
1644
- var __vue_staticRenderFns__$v = [];
1645
- __vue_render__$v._withStripped = true;
1646
+ var __vue_staticRenderFns__$w = [];
1647
+ __vue_render__$w._withStripped = true;
1646
1648
 
1647
1649
  /* style */
1648
- const __vue_inject_styles__$v = function (inject) {
1650
+ const __vue_inject_styles__$w = function (inject) {
1649
1651
  if (!inject) return
1650
1652
  inject("data-v-5ab9981e_0", { source: ".g-table__action[data-v-5ab9981e] {\n display: flex;\n flex-direction: row;\n}\n.g-table__action .table-action__item[data-v-5ab9981e] {\n font-size: 14px;\n color: #409EFF;\n margin-left: 16px;\n cursor: pointer;\n}\n.g-table__action .table-action__item[data-v-5ab9981e]:first-child {\n margin-left: 0;\n}\n\n/*# sourceMappingURL=action.vue.map */", map: {"version":3,"sources":["E:\\work\\code\\ganjiao\\ganjian-monorepo\\packages\\components\\packages\\table\\src\\action.vue","action.vue"],"names":[],"mappings":"AAuJA;EACA,aAAA;EACA,mBAAA;ACtJA;ADuJA;EACA,eAAA;EACA,cAAA;EACA,iBAAA;EACA,eAAA;ACrJA;ADsJA;EACA,cAAA;ACpJA;;AAEA,qCAAqC","file":"action.vue","sourcesContent":["<template>\r\n <div class=\"g-table__action\">\r\n <div class=\"table-action__item\" v-for=\"(item, idx) in execOperationExpression(dataSource)\" :key=\"idx\">\r\n <template v-if=\"item.type == 'text'\">\r\n <span @click=\"handleClickText(item)\">{{ item.label }}</span>\r\n </template>\r\n <template v-else-if=\"item.type == 'dropdown'\">\r\n <a-dropdown>\r\n <a-menu slot=\"overlay\" @click=\"handleDropdownClick\">\r\n <a-menu-item :key=\"`${item.key || ''}${menuKeyDelimiter}${opt.value || ''}`\" v-for=\"opt in execOperationExpression(item.optionList)\">\r\n <template v-if=\"opt.type == 'confirm'\">\r\n <a-popconfirm :title=\"opt.message\" @confirm=\"handleClickConfirm(opt)\">\r\n {{ opt.label }}\r\n </a-popconfirm>\r\n </template>\r\n <template v-if=\"opt.type == 'modal-confirm'\">\r\n <div style=\"width: 100%\" @click=\"handleClickModalConfirm(opt)\">{{ opt.label }}</div>\r\n <ele-modal-confirm v-bind=\"opt.modalConfirm\" v-on=\"$listeners\" v-model=\"showModalConfirm\"></ele-modal-confirm>\r\n </template>\r\n <template v-else>\r\n {{ opt.label }}\r\n </template>\r\n </a-menu-item>\r\n </a-menu>\r\n <span>{{ item.label }}</span>\r\n </a-dropdown>\r\n </template>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { v5 as uuidv5 } from 'uuid'\r\nimport { type, route } from '@idooel/shared'\r\nimport { parse } from '@idooel/expression'\r\nimport { CONTEXT } from '../../utils'\r\nconst MENU_KEY_NAMESPACE = 'f7b3b8b0-1b7b-11ec-9621-0242ac130002'\r\nexport default {\r\n props: {\r\n record: {\r\n type: Object\r\n },\r\n dataSource: {\r\n type: Array,\r\n default: () => []\r\n }\r\n },\r\n inject: {\r\n requestTreeData: {\r\n default: void 0\r\n },\r\n requestTableData: {\r\n default: void 0\r\n }\r\n },\r\n data() {\r\n return {\r\n showModalConfirm: false\r\n }\r\n },\r\n provide () {\r\n return {\r\n [CONTEXT]: () => {\r\n return {\r\n _route: this.$route.query,\r\n _routeMeta: this.$route.meta,\r\n exposed: this.builtInMethods,\r\n ...this.record\r\n }\r\n }\r\n }\r\n },\r\n computed: {\r\n menuKeyDelimiter () {\r\n return uuidv5('_', MENU_KEY_NAMESPACE)\r\n },\r\n builtInMethods () {\r\n return { \r\n requestTreeData: this.requestTreeData, \r\n requestTableData: this.requestTableData,\r\n closeModalConfirm: this.closeModalConfirm,\r\n showModalConfirm: this.handleClickModalConfirm\r\n }\r\n }\r\n },\r\n methods: {\r\n closeModalConfirm () {\r\n this.showModalConfirm = false\r\n },\r\n handleClickModalConfirm () {\r\n this.showModalConfirm = true\r\n },\r\n execOperationExpression (dataSource = []) {\r\n const ret = dataSource.map(item => {\r\n const { show } = item\r\n if (type.isUndefined(show)) {\r\n return item\r\n } else if (type.isBool(show)) {\r\n if (show) return item\r\n } else if (type.isStr(show)) {\r\n const parseRet = parse(show, { \r\n ...this.record, \r\n _route: route.searchToQueryParams(window.location.search) \r\n })\r\n if (parseRet) return item\r\n }\r\n }).filter(item => item)\r\n return ret\r\n },\r\n handleClickConfirm (props) {\r\n //TODO generate event by special rule\r\n const { eventName, value } = props\r\n this.$emit(eventName, { \r\n key: value, \r\n record: this.record,\r\n builtInMethods: this.builtInMethods,\r\n exposed: this.builtInMethods\r\n })\r\n },\r\n handleDropdownClick (props) {\r\n const { key } = props\r\n const [parent, child] = key.split(this.menuKeyDelimiter)\r\n if (!parent || !child) {\r\n throw new Error('key is required')\r\n }\r\n const currentDropdown = this.dataSource.find(item => item.key === parent)\r\n const currentClickTarget = currentDropdown.optionList.find(item => item.value === child)\r\n const { eventName, type } = currentClickTarget\r\n //TODO generate event by special rule\r\n if (type === 'confirm' || type === 'modal-confirm') return\r\n this.$emit(eventName, { \r\n key: child, \r\n record: this.record, \r\n builtInMethods: this.builtInMethods,\r\n exposed: this.builtInMethods\r\n })\r\n },\r\n handleClickText (props) {\r\n const { eventName, key } = props\r\n this.$emit(eventName, { \r\n key, \r\n record: this.record, \r\n builtInMethods: this.builtInMethods,\r\n exposed: this.builtInMethods\r\n })\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.g-table__action {\r\n display: flex;\r\n flex-direction: row;\r\n .table-action__item {\r\n font-size: 14px;\r\n color: #409EFF;\r\n margin-left: 16px;\r\n cursor: pointer;\r\n &:first-child {\r\n margin-left: 0;\r\n }\r\n }\r\n}\r\n</style>",".g-table__action {\n display: flex;\n flex-direction: row;\n}\n.g-table__action .table-action__item {\n font-size: 14px;\n color: #409EFF;\n margin-left: 16px;\n cursor: pointer;\n}\n.g-table__action .table-action__item:first-child {\n margin-left: 0;\n}\n\n/*# sourceMappingURL=action.vue.map */"]}, media: undefined });
1651
1653
 
1652
1654
  };
1653
1655
  /* scoped */
1654
- const __vue_scope_id__$v = "data-v-5ab9981e";
1656
+ const __vue_scope_id__$w = "data-v-5ab9981e";
1655
1657
  /* module identifier */
1656
- const __vue_module_identifier__$v = undefined;
1658
+ const __vue_module_identifier__$w = undefined;
1657
1659
  /* functional template */
1658
- const __vue_is_functional_template__$v = false;
1660
+ const __vue_is_functional_template__$w = false;
1659
1661
  /* style inject SSR */
1660
1662
 
1661
1663
  /* style inject shadow dom */
1662
1664
 
1663
1665
 
1664
1666
 
1665
- const __vue_component__$v = /*#__PURE__*/normalizeComponent(
1666
- { render: __vue_render__$v, staticRenderFns: __vue_staticRenderFns__$v },
1667
- __vue_inject_styles__$v,
1668
- __vue_script__$v,
1669
- __vue_scope_id__$v,
1670
- __vue_is_functional_template__$v,
1671
- __vue_module_identifier__$v,
1667
+ const __vue_component__$w = /*#__PURE__*/normalizeComponent(
1668
+ { render: __vue_render__$w, staticRenderFns: __vue_staticRenderFns__$w },
1669
+ __vue_inject_styles__$w,
1670
+ __vue_script__$w,
1671
+ __vue_scope_id__$w,
1672
+ __vue_is_functional_template__$w,
1673
+ __vue_module_identifier__$w,
1672
1674
  false,
1673
1675
  createInjector,
1674
1676
  undefined,
@@ -1676,10 +1678,10 @@ __vue_render__$v._withStripped = true;
1676
1678
  );
1677
1679
 
1678
1680
  //
1679
- var script$u = {
1681
+ var script$v = {
1680
1682
  name: 'ele-table',
1681
1683
  components: {
1682
- Actions: __vue_component__$v
1684
+ Actions: __vue_component__$w
1683
1685
  },
1684
1686
  props: {
1685
1687
  height: {
@@ -1737,6 +1739,9 @@ var script$u = {
1737
1739
  };
1738
1740
  },
1739
1741
  computed: {
1742
+ innerColumns() {
1743
+ return this.columns.filter(col => !Object.keys(col).includes('multiple'));
1744
+ },
1740
1745
  isNoData() {
1741
1746
  return !this.dataSource.length;
1742
1747
  },
@@ -1814,10 +1819,10 @@ var script$u = {
1814
1819
  };
1815
1820
 
1816
1821
  /* script */
1817
- const __vue_script__$u = script$u;
1822
+ const __vue_script__$v = script$v;
1818
1823
 
1819
1824
  /* template */
1820
- var __vue_render__$u = function () {
1825
+ var __vue_render__$v = function () {
1821
1826
  var _vm = this;
1822
1827
  var _h = _vm.$createElement;
1823
1828
  var _c = _vm._self._c || _h;
@@ -1831,7 +1836,7 @@ var __vue_render__$u = function () {
1831
1836
  attrs: {
1832
1837
  pagination: false,
1833
1838
  loading: _vm.loading,
1834
- columns: _vm.columns,
1839
+ columns: _vm.innerColumns,
1835
1840
  "row-selection": _vm.rowSelection,
1836
1841
  "row-class-name": _vm.setRowClassName,
1837
1842
  "data-source": _vm.dataSource,
@@ -1883,41 +1888,41 @@ var __vue_render__$u = function () {
1883
1888
  1
1884
1889
  )
1885
1890
  };
1886
- var __vue_staticRenderFns__$u = [];
1887
- __vue_render__$u._withStripped = true;
1891
+ var __vue_staticRenderFns__$v = [];
1892
+ __vue_render__$v._withStripped = true;
1888
1893
 
1889
1894
  /* style */
1890
- const __vue_inject_styles__$u = function (inject) {
1895
+ const __vue_inject_styles__$v = function (inject) {
1891
1896
  if (!inject) return
1892
- inject("data-v-e0870b20_0", { source: ".g-table__wrapper[data-v-e0870b20] {\n padding: 16px;\n padding-top: unset;\n}\n.g-table__wrapper[data-v-e0870b20] .ant-spin-nested-loading {\n height: inherit;\n}\n.g-table__wrapper[data-v-e0870b20] .ant-spin-nested-loading .ant-spin-container {\n height: inherit;\n}\n.g-table__wrapper[data-v-e0870b20] .ant-spin-nested-loading .ant-spin-container .ant-table {\n height: inherit;\n}\n.g-table__wrapper[data-v-e0870b20] .ant-table-wrapper .ant-table {\n border-width: calc(var(--idooel-border-width) * 1px);\n border-style: solid;\n border-color: var(--idooel-border-color);\n}\n.g-table__wrapper[data-v-e0870b20] .ant-table-wrapper .ant-table-header .ant-table-fixed {\n /* border-bottom: 2px solid #53a8ff !important; */\n}\n.g-table__wrapper[data-v-e0870b20] .ant-table-wrapper .ant-table-tbody tr td {\n border-color: var(--idooel-column-border-color);\n border-width: calc(var(--idooel-column-border-width) * 1px);\n border-style: solid;\n border-top: unset;\n border-left: unset;\n}\n.g-table__wrapper[data-v-e0870b20] .ant-table-wrapper .ant-table-body {\n border-top-width: calc(var(--idooel-border-width) * 1px);\n border-top-style: solid;\n border-top-color: var(--idooel-border-color);\n}\n.g-table__wrapper[data-v-e0870b20] .ant-table-wrapper .ant-table-fixed-left {\n border-bottom-width: calc(var(--idooel-border-width) * 1px);\n border-bottom-style: solid;\n border-bottom-color: var(--idooel-border-color);\n}\n.g-table__wrapper[data-v-e0870b20] .ant-table-wrapper .ant-table-fixed-left .ant-table-header {\n border-bottom-width: calc(var(--idooel-border-width) * 1px);\n border-bottom-style: solid;\n border-bottom-color: var(--idooel-border-color);\n}\n.g-table__wrapper[data-v-e0870b20] .ant-table-wrapper .ant-table-fixed-left .ant-table-body-inner {\n border-right-width: calc(var(--idooel-border-width) * 1px);\n border-right-style: solid;\n border-right-color: var(--idooel-border-color);\n}\n.g-table__wrapper[data-v-e0870b20] .ant-table-wrapper .ant-table-fixed-left .ant-table-fixed {\n border-right-width: calc(var(--idooel-border-width) * 1px);\n border-right-color: var(--idooel-border-color);\n border-right-style: solid;\n}\n.g-table__wrapper[data-v-e0870b20] .ant-table-wrapper .ant-table-fixed-right {\n border-bottom-width: calc(var(--idooel-border-width) * 1px);\n border-bottom-style: solid;\n border-bottom-color: var(--idooel-border-color);\n}\n.g-table__wrapper[data-v-e0870b20] .ant-table-wrapper .ant-table-fixed-right .ant-table-header {\n border-bottom-width: calc(var(--idooel-border-width) * 1px);\n border-bottom-color: var(--idooel-border-color);\n border-bottom-style: solid;\n}\n.g-table__wrapper[data-v-e0870b20] .ant-table-wrapper .ant-table-fixed-right .ant-table-fixed {\n border-left-width: calc(var(--idooel-border-width) * 1px);\n border-left-style: solid;\n border-left-color: var(--idooel-border-color);\n}\n.g-table__wrapper[data-v-e0870b20] .g-table__row--even {\n background: var(--idooel-row-even-color);\n}\n.g-table__wrapper .g-table__row--odd[data-v-e0870b20] {\n background: var(--idooel-row-odd-color);\n}\n.g-table__wrapper .g-table__pagination[data-v-e0870b20] {\n /* margin-top: 8px; */\n display: flex;\n flex-direction: row;\n justify-content: end;\n border-width: calc(var(--idooel-border-width) * 1px);\n border-color: var(--idooel-border-color);\n border-style: solid;\n border-top: unset;\n padding-top: 8px;\n padding-bottom: 8px;\n}\n\n/*# sourceMappingURL=index.vue.map */", map: {"version":3,"sources":["E:\\work\\code\\ganjiao\\ganjian-monorepo\\packages\\components\\packages\\table\\src\\index.vue","index.vue"],"names":[],"mappings":"AAmKA;EAyEA,aAAA;EACA,kBAAA;AC1OA;ADiKA;EACA,eAAA;AC/JA;ADgKA;EACA,eAAA;AC9JA;AD+JA;EACA,eAAA;AC7JA;ADkKA;EACA,oDAAA;EACA,mBAAA;EACA,wCAAA;AChKA;ADmKA;EACA,iDAAA;ACjKA;ADsKA;EACA,+CAAA;EACA,2DAAA;EACA,mBAAA;EACA,iBAAA;EACA,kBAAA;ACpKA;ADwKA;EACA,wDAAA;EACA,uBAAA;EACA,4CAAA;ACtKA;ADwKA;EACA,2DAAA;EACA,0BAAA;EACA,+CAAA;ACtKA;ADuKA;EACA,2DAAA;EACA,0BAAA;EACA,+CAAA;ACrKA;ADuKA;EACA,0DAAA;EACA,yBAAA;EACA,8CAAA;ACrKA;ADuKA;EACA,0DAAA;EACA,8CAAA;EACA,yBAAA;ACrKA;ADwKA;EAMA,2DAAA;EACA,0BAAA;EACA,+CAAA;AC3KA;ADoKA;EACA,2DAAA;EACA,+CAAA;EACA,0BAAA;AClKA;ADuKA;EACA,yDAAA;EACA,wBAAA;EACA,6CAAA;ACrKA;AD2KA;EACA,wCAAA;ACzKA;AD2KA;EACA,uCAAA;ACzKA;AD2KA;EACA,qBAAA;EACA,aAAA;EACA,mBAAA;EACA,oBAAA;EACA,oDAAA;EACA,wCAAA;EACA,mBAAA;EACA,iBAAA;EACA,gBAAA;EACA,mBAAA;ACzKA;;AAEA,oCAAoC","file":"index.vue","sourcesContent":["<template>\r\n <div class=\"g-table__wrapper\" :style=\"{ height: `${height}px` }\">\r\n <a-table\r\n :class=\"[isNoData && 'g-table__no-data']\"\r\n :style=\"{ height: noDataAntTableHeight }\"\r\n :pagination=\"false\"\r\n :loading=\"loading\"\r\n :columns=\"columns\"\r\n :row-selection=\"rowSelection\"\r\n :row-class-name=\"setRowClassName\"\r\n :data-source=\"dataSource\"\r\n :scroll=\"getScroll\">\r\n <template slot=\"action\" slot-scope=\"record\">\r\n <Actions v-on=\"$listeners\" :data-source=\"actions\" :record=\"record\"></Actions>\r\n </template>\r\n </a-table>\r\n <div class=\"g-table__pagination\">\r\n <a-pagination\r\n :show-total=\"all => `共 ${all} 条数据`\"\r\n show-size-changer \r\n show-quick-jumper\r\n :pageSize=\"innerPageSize\"\r\n :current=\"innerCurrentPage\"\r\n :pageSizeOptions=\"pageSizeOptions\"\r\n @change=\"onChangePagination\"\r\n @showSizeChange=\"onShowSizeChange\"\r\n :total=\"total\">\r\n </a-pagination>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport Actions from './action.vue'\r\nexport default {\r\n name: 'ele-table',\r\n components: {\r\n Actions\r\n },\r\n props: {\r\n height: {\r\n type: Number\r\n },\r\n x: {\r\n type: Number,\r\n default: 1500\r\n },\r\n y: {\r\n type: Number,\r\n default: 200\r\n },\r\n scroll: {\r\n type: Object\r\n },\r\n rowSelection: {\r\n type: Object\r\n },\r\n actions: {\r\n type: Array,\r\n default: () => []\r\n },\r\n total: {\r\n type: Number,\r\n default: 0\r\n },\r\n loading: {\r\n type: Boolean,\r\n default: false\r\n },\r\n columns: {\r\n type: Array,\r\n default: () => []\r\n },\r\n dataSource: {\r\n type: Array,\r\n default: () => []\r\n },\r\n pageSize: {\r\n type: Number,\r\n default: 10\r\n },\r\n pageSizeOptions: {\r\n type: Array,\r\n default: () => ['10', '20', '30', '40']\r\n }\r\n },\r\n data() {\r\n return {\r\n tableHeaderHeight: 0,\r\n paginationHeight: 0,\r\n innerPageSize: 10,\r\n innerCurrentPage: 1\r\n }\r\n },\r\n computed: {\r\n isNoData () {\r\n return !this.dataSource.length\r\n },\r\n noDataAntTableHeight () {\r\n //TODO\r\n if (this.dataSource.length) {\r\n // return 'auto'\r\n return `${this.height - this.paginationHeight - 16}px` \r\n }\r\n return `${this.height - this.paginationHeight - 16}px` \r\n },\r\n getScrollHeightByHeight () {\r\n return this.height - this.tableHeaderHeight - this.paginationHeight\r\n },\r\n getScroll () {\r\n if (this.scroll) {\r\n return this.scroll\r\n } else {\r\n if (this.height) {\r\n return { x: this.x, y: this.getScrollHeightByHeight }\r\n }\r\n return { x: this.x, y: this.y }\r\n }\r\n }\r\n },\r\n watch: {\r\n pageSize: {\r\n handler (pageSize) {\r\n this.innerPageSize = pageSize\r\n },\r\n immediate: true\r\n }\r\n },\r\n methods: {\r\n onShowSizeChange (current, pageSize) {\r\n this.innerCurrentPage = current\r\n this.innerPageSize = pageSize\r\n this.$emit('change-page', current, pageSize)\r\n },\r\n setPaginationHeight () {\r\n this.$nextTick(() => {\r\n const { height } = document.querySelector('.g-table__pagination').getBoundingClientRect()\r\n this.paginationHeight = height\r\n })\r\n },\r\n setTableHeaderHeight () {\r\n this.$nextTick(() => {\r\n const { height } = document.querySelector('.ant-table-header').getBoundingClientRect()\r\n this.tableHeaderHeight = height\r\n })\r\n },\r\n setRowClassName (record, idx) {\r\n return idx % 2 === 0 ? 'g-table__row--even' : 'g-table__row--odd'\r\n },\r\n onChangePagination (page, pageSize) {\r\n this.innerCurrentPage = page\r\n this.innerPageSize = pageSize\r\n this.$emit('change-page', page, pageSize)\r\n }\r\n },\r\n mounted() {\r\n this.setTableHeaderHeight()\r\n this.setPaginationHeight()\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.g-table__wrapper {\r\n ::v-deep .ant-spin-nested-loading {\r\n height: inherit;\r\n .ant-spin-container {\r\n height: inherit;\r\n .ant-table {\r\n height: inherit;\r\n }\r\n }\r\n }\r\n ::v-deep .ant-table-wrapper {\r\n .ant-table {\r\n border-width: calc(var(--idooel-border-width) * 1px);\r\n border-style: solid;\r\n border-color: var(--idooel-border-color);\r\n }\r\n .ant-table-header {\r\n .ant-table-fixed {\r\n /* border-bottom: 2px solid #53a8ff !important; */\r\n }\r\n }\r\n .ant-table-tbody {\r\n tr {\r\n td {\r\n border-color: var(--idooel-column-border-color);\r\n border-width: calc(var(--idooel-column-border-width) * 1px);;\r\n border-style: solid;\r\n border-top: unset;\r\n border-left: unset;\r\n }\r\n }\r\n }\r\n .ant-table-body {\r\n border-top-width: calc(var(--idooel-border-width) * 1px);\r\n border-top-style: solid;\r\n border-top-color: var(--idooel-border-color);\r\n }\r\n .ant-table-fixed-left {\r\n border-bottom-width: calc(var(--idooel-border-width) * 1px);\r\n border-bottom-style: solid;\r\n border-bottom-color: var(--idooel-border-color);\r\n .ant-table-header {\r\n border-bottom-width: calc(var(--idooel-border-width) * 1px);\r\n border-bottom-style: solid;\r\n border-bottom-color: var(--idooel-border-color);\r\n }\r\n .ant-table-body-inner {\r\n border-right-width: calc(var(--idooel-border-width) * 1px);\r\n border-right-style: solid;\r\n border-right-color: var(--idooel-border-color);\r\n }\r\n .ant-table-fixed {\r\n border-right-width: calc(var(--idooel-border-width) * 1px);\r\n border-right-color: var(--idooel-border-color);\r\n border-right-style: solid;\r\n }\r\n }\r\n .ant-table-fixed-right {\r\n .ant-table-header {\r\n border-bottom-width: calc(var(--idooel-border-width) * 1px);\r\n border-bottom-color: var(--idooel-border-color);\r\n border-bottom-style: solid;\r\n }\r\n border-bottom-width: calc(var(--idooel-border-width) * 1px);\r\n border-bottom-style: solid;\r\n border-bottom-color: var(--idooel-border-color);\r\n .ant-table-fixed {\r\n border-left-width: calc(var(--idooel-border-width) * 1px);\r\n border-left-style: solid;\r\n border-left-color: var(--idooel-border-color);\r\n }\r\n }\r\n }\r\n padding: 16px;\r\n padding-top: unset;\r\n ::v-deep .g-table__row--even {\r\n background: var(--idooel-row-even-color);\r\n }\r\n .g-table__row--odd {\r\n background: var(--idooel-row-odd-color);\r\n }\r\n .g-table__pagination {\r\n /* margin-top: 8px; */\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: end;\r\n border-width: calc(var(--idooel-border-width) * 1px);\r\n border-color: var(--idooel-border-color);\r\n border-style: solid;\r\n border-top: unset;\r\n padding-top: 8px;\r\n padding-bottom: 8px;\r\n }\r\n}\r\n</style>",".g-table__wrapper {\n padding: 16px;\n padding-top: unset;\n}\n.g-table__wrapper ::v-deep .ant-spin-nested-loading {\n height: inherit;\n}\n.g-table__wrapper ::v-deep .ant-spin-nested-loading .ant-spin-container {\n height: inherit;\n}\n.g-table__wrapper ::v-deep .ant-spin-nested-loading .ant-spin-container .ant-table {\n height: inherit;\n}\n.g-table__wrapper ::v-deep .ant-table-wrapper .ant-table {\n border-width: calc(var(--idooel-border-width) * 1px);\n border-style: solid;\n border-color: var(--idooel-border-color);\n}\n.g-table__wrapper ::v-deep .ant-table-wrapper .ant-table-header .ant-table-fixed {\n /* border-bottom: 2px solid #53a8ff !important; */\n}\n.g-table__wrapper ::v-deep .ant-table-wrapper .ant-table-tbody tr td {\n border-color: var(--idooel-column-border-color);\n border-width: calc(var(--idooel-column-border-width) * 1px);\n border-style: solid;\n border-top: unset;\n border-left: unset;\n}\n.g-table__wrapper ::v-deep .ant-table-wrapper .ant-table-body {\n border-top-width: calc(var(--idooel-border-width) * 1px);\n border-top-style: solid;\n border-top-color: var(--idooel-border-color);\n}\n.g-table__wrapper ::v-deep .ant-table-wrapper .ant-table-fixed-left {\n border-bottom-width: calc(var(--idooel-border-width) * 1px);\n border-bottom-style: solid;\n border-bottom-color: var(--idooel-border-color);\n}\n.g-table__wrapper ::v-deep .ant-table-wrapper .ant-table-fixed-left .ant-table-header {\n border-bottom-width: calc(var(--idooel-border-width) * 1px);\n border-bottom-style: solid;\n border-bottom-color: var(--idooel-border-color);\n}\n.g-table__wrapper ::v-deep .ant-table-wrapper .ant-table-fixed-left .ant-table-body-inner {\n border-right-width: calc(var(--idooel-border-width) * 1px);\n border-right-style: solid;\n border-right-color: var(--idooel-border-color);\n}\n.g-table__wrapper ::v-deep .ant-table-wrapper .ant-table-fixed-left .ant-table-fixed {\n border-right-width: calc(var(--idooel-border-width) * 1px);\n border-right-color: var(--idooel-border-color);\n border-right-style: solid;\n}\n.g-table__wrapper ::v-deep .ant-table-wrapper .ant-table-fixed-right {\n border-bottom-width: calc(var(--idooel-border-width) * 1px);\n border-bottom-style: solid;\n border-bottom-color: var(--idooel-border-color);\n}\n.g-table__wrapper ::v-deep .ant-table-wrapper .ant-table-fixed-right .ant-table-header {\n border-bottom-width: calc(var(--idooel-border-width) * 1px);\n border-bottom-color: var(--idooel-border-color);\n border-bottom-style: solid;\n}\n.g-table__wrapper ::v-deep .ant-table-wrapper .ant-table-fixed-right .ant-table-fixed {\n border-left-width: calc(var(--idooel-border-width) * 1px);\n border-left-style: solid;\n border-left-color: var(--idooel-border-color);\n}\n.g-table__wrapper ::v-deep .g-table__row--even {\n background: var(--idooel-row-even-color);\n}\n.g-table__wrapper .g-table__row--odd {\n background: var(--idooel-row-odd-color);\n}\n.g-table__wrapper .g-table__pagination {\n /* margin-top: 8px; */\n display: flex;\n flex-direction: row;\n justify-content: end;\n border-width: calc(var(--idooel-border-width) * 1px);\n border-color: var(--idooel-border-color);\n border-style: solid;\n border-top: unset;\n padding-top: 8px;\n padding-bottom: 8px;\n}\n\n/*# sourceMappingURL=index.vue.map */"]}, media: undefined });
1897
+ inject("data-v-745bb9f3_0", { source: ".g-table__wrapper[data-v-745bb9f3] {\n padding: 16px;\n padding-top: unset;\n}\n.g-table__wrapper[data-v-745bb9f3] .ant-spin-nested-loading {\n height: inherit;\n}\n.g-table__wrapper[data-v-745bb9f3] .ant-spin-nested-loading .ant-spin-container {\n height: inherit;\n}\n.g-table__wrapper[data-v-745bb9f3] .ant-spin-nested-loading .ant-spin-container .ant-table {\n height: inherit;\n}\n.g-table__wrapper[data-v-745bb9f3] .ant-table-wrapper .ant-table {\n border-width: calc(var(--idooel-border-width) * 1px);\n border-style: solid;\n border-color: var(--idooel-border-color);\n}\n.g-table__wrapper[data-v-745bb9f3] .ant-table-wrapper .ant-table-header .ant-table-fixed {\n /* border-bottom: 2px solid #53a8ff !important; */\n}\n.g-table__wrapper[data-v-745bb9f3] .ant-table-wrapper .ant-table-tbody tr td {\n border-color: var(--idooel-column-border-color);\n border-width: calc(var(--idooel-column-border-width) * 1px);\n border-style: solid;\n border-top: unset;\n border-left: unset;\n}\n.g-table__wrapper[data-v-745bb9f3] .ant-table-wrapper .ant-table-body {\n border-top-width: calc(var(--idooel-border-width) * 1px);\n border-top-style: solid;\n border-top-color: var(--idooel-border-color);\n}\n.g-table__wrapper[data-v-745bb9f3] .ant-table-wrapper .ant-table-fixed-left {\n border-bottom-width: calc(var(--idooel-border-width) * 1px);\n border-bottom-style: solid;\n border-bottom-color: var(--idooel-border-color);\n}\n.g-table__wrapper[data-v-745bb9f3] .ant-table-wrapper .ant-table-fixed-left .ant-table-header {\n border-bottom-width: calc(var(--idooel-border-width) * 1px);\n border-bottom-style: solid;\n border-bottom-color: var(--idooel-border-color);\n}\n.g-table__wrapper[data-v-745bb9f3] .ant-table-wrapper .ant-table-fixed-left .ant-table-body-inner {\n border-right-width: calc(var(--idooel-border-width) * 1px);\n border-right-style: solid;\n border-right-color: var(--idooel-border-color);\n}\n.g-table__wrapper[data-v-745bb9f3] .ant-table-wrapper .ant-table-fixed-left .ant-table-fixed {\n border-right-width: calc(var(--idooel-border-width) * 1px);\n border-right-color: var(--idooel-border-color);\n border-right-style: solid;\n}\n.g-table__wrapper[data-v-745bb9f3] .ant-table-wrapper .ant-table-fixed-right {\n border-bottom-width: calc(var(--idooel-border-width) * 1px);\n border-bottom-style: solid;\n border-bottom-color: var(--idooel-border-color);\n}\n.g-table__wrapper[data-v-745bb9f3] .ant-table-wrapper .ant-table-fixed-right .ant-table-header {\n border-bottom-width: calc(var(--idooel-border-width) * 1px);\n border-bottom-color: var(--idooel-border-color);\n border-bottom-style: solid;\n}\n.g-table__wrapper[data-v-745bb9f3] .ant-table-wrapper .ant-table-fixed-right .ant-table-fixed {\n border-left-width: calc(var(--idooel-border-width) * 1px);\n border-left-style: solid;\n border-left-color: var(--idooel-border-color);\n}\n.g-table__wrapper[data-v-745bb9f3] .g-table__row--even {\n background: var(--idooel-row-even-color);\n}\n.g-table__wrapper .g-table__row--odd[data-v-745bb9f3] {\n background: var(--idooel-row-odd-color);\n}\n.g-table__wrapper .g-table__pagination[data-v-745bb9f3] {\n /* margin-top: 8px; */\n display: flex;\n flex-direction: row;\n justify-content: end;\n border-width: calc(var(--idooel-border-width) * 1px);\n border-color: var(--idooel-border-color);\n border-style: solid;\n border-top: unset;\n padding-top: 8px;\n padding-bottom: 8px;\n}\n\n/*# sourceMappingURL=index.vue.map */", map: {"version":3,"sources":["E:\\work\\code\\ganjiao\\ganjian-monorepo\\packages\\components\\packages\\table\\src\\index.vue","index.vue"],"names":[],"mappings":"AAsKA;EAyEA,aAAA;EACA,kBAAA;AC7OA;ADoKA;EACA,eAAA;AClKA;ADmKA;EACA,eAAA;ACjKA;ADkKA;EACA,eAAA;AChKA;ADqKA;EACA,oDAAA;EACA,mBAAA;EACA,wCAAA;ACnKA;ADsKA;EACA,iDAAA;ACpKA;ADyKA;EACA,+CAAA;EACA,2DAAA;EACA,mBAAA;EACA,iBAAA;EACA,kBAAA;ACvKA;AD2KA;EACA,wDAAA;EACA,uBAAA;EACA,4CAAA;ACzKA;AD2KA;EACA,2DAAA;EACA,0BAAA;EACA,+CAAA;ACzKA;AD0KA;EACA,2DAAA;EACA,0BAAA;EACA,+CAAA;ACxKA;AD0KA;EACA,0DAAA;EACA,yBAAA;EACA,8CAAA;ACxKA;AD0KA;EACA,0DAAA;EACA,8CAAA;EACA,yBAAA;ACxKA;AD2KA;EAMA,2DAAA;EACA,0BAAA;EACA,+CAAA;AC9KA;ADuKA;EACA,2DAAA;EACA,+CAAA;EACA,0BAAA;ACrKA;AD0KA;EACA,yDAAA;EACA,wBAAA;EACA,6CAAA;ACxKA;AD8KA;EACA,wCAAA;AC5KA;AD8KA;EACA,uCAAA;AC5KA;AD8KA;EACA,qBAAA;EACA,aAAA;EACA,mBAAA;EACA,oBAAA;EACA,oDAAA;EACA,wCAAA;EACA,mBAAA;EACA,iBAAA;EACA,gBAAA;EACA,mBAAA;AC5KA;;AAEA,oCAAoC","file":"index.vue","sourcesContent":["<template>\r\n <div class=\"g-table__wrapper\" :style=\"{ height: `${height}px` }\">\r\n <a-table\r\n :class=\"[isNoData && 'g-table__no-data']\"\r\n :style=\"{ height: noDataAntTableHeight }\"\r\n :pagination=\"false\"\r\n :loading=\"loading\"\r\n :columns=\"innerColumns\"\r\n :row-selection=\"rowSelection\"\r\n :row-class-name=\"setRowClassName\"\r\n :data-source=\"dataSource\"\r\n :scroll=\"getScroll\">\r\n <template slot=\"action\" slot-scope=\"record\">\r\n <Actions v-on=\"$listeners\" :data-source=\"actions\" :record=\"record\"></Actions>\r\n </template>\r\n </a-table>\r\n <div class=\"g-table__pagination\">\r\n <a-pagination\r\n :show-total=\"all => `共 ${all} 条数据`\"\r\n show-size-changer \r\n show-quick-jumper\r\n :pageSize=\"innerPageSize\"\r\n :current=\"innerCurrentPage\"\r\n :pageSizeOptions=\"pageSizeOptions\"\r\n @change=\"onChangePagination\"\r\n @showSizeChange=\"onShowSizeChange\"\r\n :total=\"total\">\r\n </a-pagination>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport Actions from './action.vue'\r\nexport default {\r\n name: 'ele-table',\r\n components: {\r\n Actions\r\n },\r\n props: {\r\n height: {\r\n type: Number\r\n },\r\n x: {\r\n type: Number,\r\n default: 1500\r\n },\r\n y: {\r\n type: Number,\r\n default: 200\r\n },\r\n scroll: {\r\n type: Object\r\n },\r\n rowSelection: {\r\n type: Object\r\n },\r\n actions: {\r\n type: Array,\r\n default: () => []\r\n },\r\n total: {\r\n type: Number,\r\n default: 0\r\n },\r\n loading: {\r\n type: Boolean,\r\n default: false\r\n },\r\n columns: {\r\n type: Array,\r\n default: () => []\r\n },\r\n dataSource: {\r\n type: Array,\r\n default: () => []\r\n },\r\n pageSize: {\r\n type: Number,\r\n default: 10\r\n },\r\n pageSizeOptions: {\r\n type: Array,\r\n default: () => ['10', '20', '30', '40']\r\n }\r\n },\r\n data() {\r\n return {\r\n tableHeaderHeight: 0,\r\n paginationHeight: 0,\r\n innerPageSize: 10,\r\n innerCurrentPage: 1\r\n }\r\n },\r\n computed: {\r\n innerColumns () {\r\n return this.columns.filter(col => !Object.keys(col).includes('multiple'))\r\n },\r\n isNoData () {\r\n return !this.dataSource.length\r\n },\r\n noDataAntTableHeight () {\r\n //TODO\r\n if (this.dataSource.length) {\r\n // return 'auto'\r\n return `${this.height - this.paginationHeight - 16}px` \r\n }\r\n return `${this.height - this.paginationHeight - 16}px` \r\n },\r\n getScrollHeightByHeight () {\r\n return this.height - this.tableHeaderHeight - this.paginationHeight\r\n },\r\n getScroll () {\r\n if (this.scroll) {\r\n return this.scroll\r\n } else {\r\n if (this.height) {\r\n return { x: this.x, y: this.getScrollHeightByHeight }\r\n }\r\n return { x: this.x, y: this.y }\r\n }\r\n }\r\n },\r\n watch: {\r\n pageSize: {\r\n handler (pageSize) {\r\n this.innerPageSize = pageSize\r\n },\r\n immediate: true\r\n }\r\n },\r\n methods: {\r\n onShowSizeChange (current, pageSize) {\r\n this.innerCurrentPage = current\r\n this.innerPageSize = pageSize\r\n this.$emit('change-page', current, pageSize)\r\n },\r\n setPaginationHeight () {\r\n this.$nextTick(() => {\r\n const { height } = document.querySelector('.g-table__pagination').getBoundingClientRect()\r\n this.paginationHeight = height\r\n })\r\n },\r\n setTableHeaderHeight () {\r\n this.$nextTick(() => {\r\n const { height } = document.querySelector('.ant-table-header').getBoundingClientRect()\r\n this.tableHeaderHeight = height\r\n })\r\n },\r\n setRowClassName (record, idx) {\r\n return idx % 2 === 0 ? 'g-table__row--even' : 'g-table__row--odd'\r\n },\r\n onChangePagination (page, pageSize) {\r\n this.innerCurrentPage = page\r\n this.innerPageSize = pageSize\r\n this.$emit('change-page', page, pageSize)\r\n }\r\n },\r\n mounted() {\r\n this.setTableHeaderHeight()\r\n this.setPaginationHeight()\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.g-table__wrapper {\r\n ::v-deep .ant-spin-nested-loading {\r\n height: inherit;\r\n .ant-spin-container {\r\n height: inherit;\r\n .ant-table {\r\n height: inherit;\r\n }\r\n }\r\n }\r\n ::v-deep .ant-table-wrapper {\r\n .ant-table {\r\n border-width: calc(var(--idooel-border-width) * 1px);\r\n border-style: solid;\r\n border-color: var(--idooel-border-color);\r\n }\r\n .ant-table-header {\r\n .ant-table-fixed {\r\n /* border-bottom: 2px solid #53a8ff !important; */\r\n }\r\n }\r\n .ant-table-tbody {\r\n tr {\r\n td {\r\n border-color: var(--idooel-column-border-color);\r\n border-width: calc(var(--idooel-column-border-width) * 1px);;\r\n border-style: solid;\r\n border-top: unset;\r\n border-left: unset;\r\n }\r\n }\r\n }\r\n .ant-table-body {\r\n border-top-width: calc(var(--idooel-border-width) * 1px);\r\n border-top-style: solid;\r\n border-top-color: var(--idooel-border-color);\r\n }\r\n .ant-table-fixed-left {\r\n border-bottom-width: calc(var(--idooel-border-width) * 1px);\r\n border-bottom-style: solid;\r\n border-bottom-color: var(--idooel-border-color);\r\n .ant-table-header {\r\n border-bottom-width: calc(var(--idooel-border-width) * 1px);\r\n border-bottom-style: solid;\r\n border-bottom-color: var(--idooel-border-color);\r\n }\r\n .ant-table-body-inner {\r\n border-right-width: calc(var(--idooel-border-width) * 1px);\r\n border-right-style: solid;\r\n border-right-color: var(--idooel-border-color);\r\n }\r\n .ant-table-fixed {\r\n border-right-width: calc(var(--idooel-border-width) * 1px);\r\n border-right-color: var(--idooel-border-color);\r\n border-right-style: solid;\r\n }\r\n }\r\n .ant-table-fixed-right {\r\n .ant-table-header {\r\n border-bottom-width: calc(var(--idooel-border-width) * 1px);\r\n border-bottom-color: var(--idooel-border-color);\r\n border-bottom-style: solid;\r\n }\r\n border-bottom-width: calc(var(--idooel-border-width) * 1px);\r\n border-bottom-style: solid;\r\n border-bottom-color: var(--idooel-border-color);\r\n .ant-table-fixed {\r\n border-left-width: calc(var(--idooel-border-width) * 1px);\r\n border-left-style: solid;\r\n border-left-color: var(--idooel-border-color);\r\n }\r\n }\r\n }\r\n padding: 16px;\r\n padding-top: unset;\r\n ::v-deep .g-table__row--even {\r\n background: var(--idooel-row-even-color);\r\n }\r\n .g-table__row--odd {\r\n background: var(--idooel-row-odd-color);\r\n }\r\n .g-table__pagination {\r\n /* margin-top: 8px; */\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: end;\r\n border-width: calc(var(--idooel-border-width) * 1px);\r\n border-color: var(--idooel-border-color);\r\n border-style: solid;\r\n border-top: unset;\r\n padding-top: 8px;\r\n padding-bottom: 8px;\r\n }\r\n}\r\n</style>",".g-table__wrapper {\n padding: 16px;\n padding-top: unset;\n}\n.g-table__wrapper ::v-deep .ant-spin-nested-loading {\n height: inherit;\n}\n.g-table__wrapper ::v-deep .ant-spin-nested-loading .ant-spin-container {\n height: inherit;\n}\n.g-table__wrapper ::v-deep .ant-spin-nested-loading .ant-spin-container .ant-table {\n height: inherit;\n}\n.g-table__wrapper ::v-deep .ant-table-wrapper .ant-table {\n border-width: calc(var(--idooel-border-width) * 1px);\n border-style: solid;\n border-color: var(--idooel-border-color);\n}\n.g-table__wrapper ::v-deep .ant-table-wrapper .ant-table-header .ant-table-fixed {\n /* border-bottom: 2px solid #53a8ff !important; */\n}\n.g-table__wrapper ::v-deep .ant-table-wrapper .ant-table-tbody tr td {\n border-color: var(--idooel-column-border-color);\n border-width: calc(var(--idooel-column-border-width) * 1px);\n border-style: solid;\n border-top: unset;\n border-left: unset;\n}\n.g-table__wrapper ::v-deep .ant-table-wrapper .ant-table-body {\n border-top-width: calc(var(--idooel-border-width) * 1px);\n border-top-style: solid;\n border-top-color: var(--idooel-border-color);\n}\n.g-table__wrapper ::v-deep .ant-table-wrapper .ant-table-fixed-left {\n border-bottom-width: calc(var(--idooel-border-width) * 1px);\n border-bottom-style: solid;\n border-bottom-color: var(--idooel-border-color);\n}\n.g-table__wrapper ::v-deep .ant-table-wrapper .ant-table-fixed-left .ant-table-header {\n border-bottom-width: calc(var(--idooel-border-width) * 1px);\n border-bottom-style: solid;\n border-bottom-color: var(--idooel-border-color);\n}\n.g-table__wrapper ::v-deep .ant-table-wrapper .ant-table-fixed-left .ant-table-body-inner {\n border-right-width: calc(var(--idooel-border-width) * 1px);\n border-right-style: solid;\n border-right-color: var(--idooel-border-color);\n}\n.g-table__wrapper ::v-deep .ant-table-wrapper .ant-table-fixed-left .ant-table-fixed {\n border-right-width: calc(var(--idooel-border-width) * 1px);\n border-right-color: var(--idooel-border-color);\n border-right-style: solid;\n}\n.g-table__wrapper ::v-deep .ant-table-wrapper .ant-table-fixed-right {\n border-bottom-width: calc(var(--idooel-border-width) * 1px);\n border-bottom-style: solid;\n border-bottom-color: var(--idooel-border-color);\n}\n.g-table__wrapper ::v-deep .ant-table-wrapper .ant-table-fixed-right .ant-table-header {\n border-bottom-width: calc(var(--idooel-border-width) * 1px);\n border-bottom-color: var(--idooel-border-color);\n border-bottom-style: solid;\n}\n.g-table__wrapper ::v-deep .ant-table-wrapper .ant-table-fixed-right .ant-table-fixed {\n border-left-width: calc(var(--idooel-border-width) * 1px);\n border-left-style: solid;\n border-left-color: var(--idooel-border-color);\n}\n.g-table__wrapper ::v-deep .g-table__row--even {\n background: var(--idooel-row-even-color);\n}\n.g-table__wrapper .g-table__row--odd {\n background: var(--idooel-row-odd-color);\n}\n.g-table__wrapper .g-table__pagination {\n /* margin-top: 8px; */\n display: flex;\n flex-direction: row;\n justify-content: end;\n border-width: calc(var(--idooel-border-width) * 1px);\n border-color: var(--idooel-border-color);\n border-style: solid;\n border-top: unset;\n padding-top: 8px;\n padding-bottom: 8px;\n}\n\n/*# sourceMappingURL=index.vue.map */"]}, media: undefined });
1893
1898
 
1894
1899
  };
1895
1900
  /* scoped */
1896
- const __vue_scope_id__$u = "data-v-e0870b20";
1901
+ const __vue_scope_id__$v = "data-v-745bb9f3";
1897
1902
  /* module identifier */
1898
- const __vue_module_identifier__$u = undefined;
1903
+ const __vue_module_identifier__$v = undefined;
1899
1904
  /* functional template */
1900
- const __vue_is_functional_template__$u = false;
1905
+ const __vue_is_functional_template__$v = false;
1901
1906
  /* style inject SSR */
1902
1907
 
1903
1908
  /* style inject shadow dom */
1904
1909
 
1905
1910
 
1906
1911
 
1907
- const __vue_component__$u = /*#__PURE__*/normalizeComponent(
1908
- { render: __vue_render__$u, staticRenderFns: __vue_staticRenderFns__$u },
1909
- __vue_inject_styles__$u,
1910
- __vue_script__$u,
1911
- __vue_scope_id__$u,
1912
- __vue_is_functional_template__$u,
1913
- __vue_module_identifier__$u,
1912
+ const __vue_component__$v = /*#__PURE__*/normalizeComponent(
1913
+ { render: __vue_render__$v, staticRenderFns: __vue_staticRenderFns__$v },
1914
+ __vue_inject_styles__$v,
1915
+ __vue_script__$v,
1916
+ __vue_scope_id__$v,
1917
+ __vue_is_functional_template__$v,
1918
+ __vue_module_identifier__$v,
1914
1919
  false,
1915
1920
  createInjector,
1916
1921
  undefined,
1917
1922
  undefined
1918
1923
  );
1919
1924
 
1920
- __vue_component__$u.install = Vue => Vue.component(__vue_component__$u.name, __vue_component__$u);
1925
+ __vue_component__$v.install = Vue => Vue.component(__vue_component__$v.name, __vue_component__$v);
1921
1926
 
1922
1927
  //
1923
1928
  //
@@ -1947,7 +1952,7 @@ __vue_component__$u.install = Vue => Vue.component(__vue_component__$u.name, __v
1947
1952
  //
1948
1953
  //
1949
1954
 
1950
- var script$t = {
1955
+ var script$u = {
1951
1956
  name: 'ele-tree',
1952
1957
  props: {
1953
1958
  treeData: {
@@ -2008,10 +2013,10 @@ var script$t = {
2008
2013
  };
2009
2014
 
2010
2015
  /* script */
2011
- const __vue_script__$t = script$t;
2016
+ const __vue_script__$u = script$u;
2012
2017
 
2013
2018
  /* template */
2014
- var __vue_render__$t = function () {
2019
+ var __vue_render__$u = function () {
2015
2020
  var _vm = this;
2016
2021
  var _h = _vm.$createElement;
2017
2022
  var _c = _vm._self._c || _h;
@@ -2082,44 +2087,44 @@ var __vue_render__$t = function () {
2082
2087
  1
2083
2088
  )
2084
2089
  };
2085
- var __vue_staticRenderFns__$t = [];
2086
- __vue_render__$t._withStripped = true;
2090
+ var __vue_staticRenderFns__$u = [];
2091
+ __vue_render__$u._withStripped = true;
2087
2092
 
2088
2093
  /* style */
2089
- const __vue_inject_styles__$t = function (inject) {
2094
+ const __vue_inject_styles__$u = function (inject) {
2090
2095
  if (!inject) return
2091
2096
  inject("data-v-377885e2_0", { source: ".g-tree__wrapper[data-v-377885e2] {\n overflow: hidden;\n}\n.g-tree__wrapper[data-v-377885e2] .ant-tree .ant-tree-node-content-wrapper {\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n}\n.g-tree__wrapper[data-v-377885e2] .ant-tree .ant-tree-node-selected {\n color: #fff;\n}\n\n/*# sourceMappingURL=index.vue.map */", map: {"version":3,"sources":["E:\\work\\code\\ganjiao\\ganjian-monorepo\\packages\\components\\packages\\tree\\src\\index.vue","index.vue"],"names":[],"mappings":"AAwFA;EACA,gBAAA;ACvFA;ADyFA;EACA,uBAAA;EACA,gBAAA;EACA,mBAAA;ACvFA;ADyFA;EACA,WAAA;ACvFA;;AAEA,oCAAoC","file":"index.vue","sourcesContent":["<template>\r\n <div class=\"g-tree__wrapper\">\r\n <a-tree\r\n v-if=\"innerTreeData.length\"\r\n :tree-data=\"innerTreeData\"\r\n :checkable=\"checkable\"\r\n @select=\"selectTreeNode\"\r\n @check=\"checkTreeNode\"\r\n :replaceFields=\"replaceFields\"\r\n :default-expanded-keys=\"defaultExpandedKeys\"\r\n :default-selected-keys=\"defaultSelectedKeys\"\r\n :show-line=\"showLine\"\r\n blockNode \r\n :show-icon=\"showIcon\">\r\n <a-icon v-if=\"switcherIcon\" slot=\"switcherIcon\" :type=\"switcherIcon\" />\r\n <template #title=\"{ title }\">\r\n <span :title=\"title\" class=\"tree-node__title\">\r\n {{ title }}\r\n </span>\r\n </template>\r\n <template slot=\"custom\" slot-scope=\"{ scopedSlots }\">\r\n <a-icon :type=\"scopedSlots.iconName\"></a-icon>\r\n </template>\r\n </a-tree>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: 'ele-tree',\r\n props: {\r\n treeData: {\r\n type: Array,\r\n default: () => []\r\n },\r\n showLine: {\r\n type: Boolean,\r\n default: false\r\n },\r\n switcherIcon: {\r\n type: String\r\n },\r\n checkable: {\r\n type: Boolean,\r\n default: false\r\n },\r\n replaceFields: {\r\n type: Object,\r\n default: () => ({\r\n title: 'title',\r\n key: 'id',\r\n children: 'children'\r\n })\r\n },\r\n defaultExpandedKeys: {\r\n type: Array\r\n },\r\n defaultSelectedKeys: {\r\n type: Array\r\n },\r\n showIcon: {\r\n type: Boolean,\r\n default: true\r\n }\r\n },\r\n data () {\r\n return {}\r\n },\r\n computed: {\r\n innerTreeData () {\r\n return this.treeData\r\n }\r\n },\r\n methods: {\r\n checkTreeNode (checkedKeys, e) {\r\n const { checkedNodes } = e\r\n const nodeDatas = checkedNodes.map(item => item.data.props.dataRef)\r\n this.$emit('check', checkedKeys, nodeDatas)\r\n },\r\n refreshTreeStatus (props = {}) {},\r\n selectTreeNode (selectedKeys, e) {\r\n this.$emit('select', selectedKeys, e)\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.g-tree__wrapper {\r\n overflow: hidden;\r\n ::v-deep .ant-tree {\r\n .ant-tree-node-content-wrapper {\r\n text-overflow: ellipsis;\r\n overflow: hidden;\r\n white-space: nowrap;\r\n }\r\n .ant-tree-node-selected {\r\n color: #fff;\r\n }\r\n }\r\n}\r\n</style>",".g-tree__wrapper {\n overflow: hidden;\n}\n.g-tree__wrapper ::v-deep .ant-tree .ant-tree-node-content-wrapper {\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n}\n.g-tree__wrapper ::v-deep .ant-tree .ant-tree-node-selected {\n color: #fff;\n}\n\n/*# sourceMappingURL=index.vue.map */"]}, media: undefined });
2092
2097
 
2093
2098
  };
2094
2099
  /* scoped */
2095
- const __vue_scope_id__$t = "data-v-377885e2";
2100
+ const __vue_scope_id__$u = "data-v-377885e2";
2096
2101
  /* module identifier */
2097
- const __vue_module_identifier__$t = undefined;
2102
+ const __vue_module_identifier__$u = undefined;
2098
2103
  /* functional template */
2099
- const __vue_is_functional_template__$t = false;
2104
+ const __vue_is_functional_template__$u = false;
2100
2105
  /* style inject SSR */
2101
2106
 
2102
2107
  /* style inject shadow dom */
2103
2108
 
2104
2109
 
2105
2110
 
2106
- const __vue_component__$t = /*#__PURE__*/normalizeComponent(
2107
- { render: __vue_render__$t, staticRenderFns: __vue_staticRenderFns__$t },
2108
- __vue_inject_styles__$t,
2109
- __vue_script__$t,
2110
- __vue_scope_id__$t,
2111
- __vue_is_functional_template__$t,
2112
- __vue_module_identifier__$t,
2111
+ const __vue_component__$u = /*#__PURE__*/normalizeComponent(
2112
+ { render: __vue_render__$u, staticRenderFns: __vue_staticRenderFns__$u },
2113
+ __vue_inject_styles__$u,
2114
+ __vue_script__$u,
2115
+ __vue_scope_id__$u,
2116
+ __vue_is_functional_template__$u,
2117
+ __vue_module_identifier__$u,
2113
2118
  false,
2114
2119
  createInjector,
2115
2120
  undefined,
2116
2121
  undefined
2117
2122
  );
2118
2123
 
2119
- __vue_component__$t.install = Vue => Vue.component(__vue_component__$t.name, __vue_component__$t);
2124
+ __vue_component__$u.install = Vue => Vue.component(__vue_component__$u.name, __vue_component__$u);
2120
2125
 
2121
2126
  //
2122
- var script$s = {
2127
+ var script$t = {
2123
2128
  name: 'ele-tree-table-model',
2124
2129
  props: {
2125
2130
  title: {
@@ -2192,7 +2197,19 @@ var script$s = {
2192
2197
  };
2193
2198
  },
2194
2199
  currentSelectionColumn() {
2195
- return this.columns.find(item => Object.keys(item).includes('multiple'));
2200
+ const {
2201
+ multiple
2202
+ } = this.tableMeta;
2203
+ const target = this.columns.find(item => Object.keys(item).includes('multiple'));
2204
+ const isGlobalExistMultiple = Object.keys(this.tableMeta).includes('multiple');
2205
+ if (target) {
2206
+ return target;
2207
+ } else if (isGlobalExistMultiple) {
2208
+ return {
2209
+ multiple
2210
+ };
2211
+ }
2212
+ return void 0;
2196
2213
  },
2197
2214
  currentTableMode() {
2198
2215
  if (!this.currentSelectionColumn) return void 0;
@@ -2583,10 +2600,10 @@ var script$s = {
2583
2600
  };
2584
2601
 
2585
2602
  /* script */
2586
- const __vue_script__$s = script$s;
2603
+ const __vue_script__$t = script$t;
2587
2604
 
2588
2605
  /* template */
2589
- var __vue_render__$s = function () {
2606
+ var __vue_render__$t = function () {
2590
2607
  var _vm = this;
2591
2608
  var _h = _vm.$createElement;
2592
2609
  var _c = _vm._self._c || _h;
@@ -2738,34 +2755,34 @@ var __vue_render__$s = function () {
2738
2755
  1
2739
2756
  )
2740
2757
  };
2741
- var __vue_staticRenderFns__$s = [];
2742
- __vue_render__$s._withStripped = true;
2758
+ var __vue_staticRenderFns__$t = [];
2759
+ __vue_render__$t._withStripped = true;
2743
2760
 
2744
2761
  /* style */
2745
- const __vue_inject_styles__$s = function (inject) {
2762
+ const __vue_inject_styles__$t = function (inject) {
2746
2763
  if (!inject) return
2747
- inject("data-v-7c7eb4d0_0", { source: ".ele.model__tree-table[data-v-7c7eb4d0] {\n background: transparent;\n display: flex;\n flex-direction: row;\n width: 100%;\n}\n.ele.model__tree-table .model__tree-table--container .model__tree--wrapper[data-v-7c7eb4d0] {\n width: 240px;\n background: #fff;\n flex-shrink: 0;\n padding: 16px;\n box-sizing: border-box;\n margin-right: 16px;\n overflow-y: auto;\n}\n.ele.model__tree-table .model__table--container[data-v-7c7eb4d0] {\n width: 100%;\n min-width: 0;\n background: #fff;\n}\n.ele.model__tree-table .model__table--container .model__table--title .model__table-title--bar[data-v-7c7eb4d0] {\n width: 100%;\n height: 8px;\n background: var(--idooel-primary-color);\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n}\n.ele.model__tree-table .model__table--container .model__table--title .model__table-title--text[data-v-7c7eb4d0] {\n text-align: left;\n padding: 16px;\n font-size: 16px;\n font-weight: bold;\n background: #fff;\n border-bottom: 1px solid;\n border-color: var(--idoole-black-016);\n}\n.ele.model__tree-table .model__table--container .model__table--wrapper[data-v-7c7eb4d0] {\n background: #fff;\n}\n.ele.model__tree-table .model__table--container .model__table--wrapper .button-row__area[data-v-7c7eb4d0] {\n width: 100%;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n padding-top: 16px;\n padding-bottom: 8px;\n padding-right: 16px;\n}\n.ele.model__tree-table .model__table--container .model__table--wrapper .g-table__wrapper .fsm[data-v-7c7eb4d0] {\n cursor: pointer;\n color: var(--idooel-primary-color);\n}\n\n/*# sourceMappingURL=index.vue.map */", map: {"version":3,"sources":["E:\\work\\code\\ganjiao\\ganjian-monorepo\\packages\\components\\packages\\models\\tree-table-model\\src\\index.vue","index.vue"],"names":[],"mappings":"AAibA;EACA,uBAAA;EACA,aAAA;EACA,mBAAA;EACA,WAAA;AChbA;ADkbA;EACA,YAAA;EACA,gBAAA;EACA,cAAA;EACA,aAAA;EACA,sBAAA;EACA,kBAAA;EACA,gBAAA;AChbA;ADmbA;EACA,WAAA;EACA,YAAA;EACA,gBAAA;ACjbA;ADmbA;EACA,WAAA;EACA,WAAA;EACA,uCAAA;EACA,2BAAA;EACA,4BAAA;ACjbA;ADmbA;EACA,gBAAA;EACA,aAAA;EACA,eAAA;EACA,iBAAA;EACA,gBAAA;EACA,wBAAA;EACA,qCAAA;ACjbA;ADobA;EACA,gBAAA;AClbA;ADmbA;EACA,WAAA;EACA,aAAA;EACA,mBAAA;EACA,mBAAA;EACA,8BAAA;EACA,iBAAA;EACA,mBAAA;EACA,mBAAA;ACjbA;ADobA;EACA,eAAA;EACA,kCAAA;AClbA;;AAEA,oCAAoC","file":"index.vue","sourcesContent":["<template>\r\n <section class=\"ele model__tree-table\">\r\n <section class=\"model__tree-table--container\" v-if=\"showTree\">\r\n <div class=\"model__tree--title\"></div>\r\n <section :ref=\"modelTreeWrapper\" class=\"model__tree--wrapper\" :style=\"{height: `${treeWrapperHeight}px`}\">\r\n <ele-tree\r\n :tree-data=\"treeData\"\r\n :defaultExpandedKeys=\"defaultExpandedKeys\"\r\n :defaultSelectedKeys=\"defaultSelectedKeys\"\r\n @select=\"selectTreeNode\"\r\n :replace-fields=\"treeMeta.replaceFields || replaceFields\">\r\n </ele-tree>\r\n </section>\r\n </section>\r\n <section class=\"model__table--container\" :ref=\"modelTableContainerRef\">\r\n <div class=\"model__table--title\" v-if=\"title\">\r\n <template v-if=\"titleMode\">\r\n <div :class=\"[`model__table-title--${titleMode}`]\"></div>\r\n </template>\r\n <template v-else>\r\n <div class=\"model__table-title--text\">{{ title }}</div>\r\n </template>\r\n </div>\r\n <section :ref=\"modelTableWrapper\" class=\"model__table--wrapper\">\r\n <ele-search-area :ref=\"searchArea\" @search=\"onSearch\" :data-source=\"searchMeta.elements\"></ele-search-area>\r\n <div class=\"button-row__area\">\r\n <ele-button-group class=\"model-table__button-group\" v-on=\"overrideButtonGroupEvent\" :ref=\"buttonGroup\" @click=\"handleClickButtonGroup\" :data-source=\"getButtonGroupElements\"></ele-button-group>\r\n <slot name=\"tags\"></slot>\r\n </div>\r\n <ele-table\r\n v-on=\"overrideTableEvent\"\r\n :ref=\"tableRef\"\r\n :row-selection=\"rowSelection\"\r\n :loading=\"loading\" \r\n :columns=\"columns\"\r\n :total=\"total\"\r\n :height=\"tableHeight\"\r\n :actions=\"actions\"\r\n :pageSize=\"pageSize\"\r\n :pageSizeOptions=\"pageSizeOptions\"\r\n :data-source=\"tableData\"\r\n @change-page=\"onChangePage\"\r\n ></ele-table>\r\n </section>\r\n </section>\r\n <ele-modal-form v-model=\"modalFormValue\" :meta=\"modalFormMeta\"></ele-modal-form>\r\n <ele-modal-fsm v-model=\"showFsmModal\" :contextProp=\"fsmContextProp\" :meta=\"fsmMeta\" @cancel=\"handleCloseFsmModal\"></ele-modal-fsm>\r\n </section>\r\n</template>\r\n\r\n<script>\r\nimport { type, net } from '@idooel/shared'\r\nimport { v4 as uuidv4 } from 'uuid'\r\nimport { BUILT_IN_EVENT_NAMES, RESERVE_EVENT_NAMES, parseFieldMap, BUILT_IN_TRIGGER } from '../../../utils'\r\nexport default {\r\n name: 'ele-tree-table-model',\r\n props: {\r\n title: {\r\n type: [Object, String]\r\n },\r\n treeMeta: {\r\n type: Object,\r\n default: () => ({})\r\n },\r\n searchMeta: {\r\n type: Object,\r\n default: () => ({})\r\n },\r\n buttonGroupMeta: {\r\n typeof: Object,\r\n default: () => ({})\r\n },\r\n tableMeta: {\r\n type: Object,\r\n default: () => ({})\r\n },\r\n createMeta: {\r\n type: Object\r\n },\r\n editMeta: {\r\n type: Object\r\n }\r\n },\r\n provide () {\r\n return {\r\n requestTreeData: this.requestTreeData,\r\n requestTableData: this.requestTableData\r\n }\r\n },\r\n data () {\r\n return {\r\n tableHeight: 0,\r\n modalFormMeta: {},\r\n modalFormValue: false,\r\n treeData: [],\r\n tableData: [],\r\n defaultExpandedKeys: [],\r\n defaultSelectedKeys: [],\r\n replaceFields: {\r\n title: 'title',\r\n children: 'children',\r\n key: 'id'\r\n },\r\n loading: false,\r\n total: 0,\r\n tableQuerys: {},\r\n resizeObserverModelTableWrapper: null,\r\n modelTableWrapperHeight: 0,\r\n currentTreeNodeData: {},\r\n treeWrapperHeight: 0,\r\n currentTableSelection: {},\r\n showFsmModal: false,\r\n fsmMeta: {},\r\n fsmContextProp: {}\r\n }\r\n },\r\n computed: {\r\n rowSelection () {\r\n if (!this.currentTableMode) return void 0\r\n return {\r\n columnTitle: this.currentSelectionColumn.columnTitle,\r\n fixed: true,\r\n type: this.currentTableMode,\r\n onChange: this.onChangeTableSelection\r\n }\r\n },\r\n currentSelectionColumn () {\r\n return this.columns.find(item => Object.keys(item).includes('multiple'))\r\n },\r\n currentTableMode () {\r\n if (!this.currentSelectionColumn) return void 0\r\n const { multiple } = this.currentSelectionColumn\r\n if (type.isBool(multiple)) {\r\n if (multiple) {\r\n return 'checkbox'\r\n } else {\r\n return 'radio'\r\n }\r\n } else {\r\n return void 0\r\n }\r\n },\r\n modelTableContainerRef () {\r\n return uuidv4()\r\n },\r\n titleMode () {\r\n if (type.isObject(this.title)) {\r\n const { mode = '' } = this.title\r\n return mode\r\n }\r\n return void 0\r\n },\r\n tableRef () {\r\n return uuidv4()\r\n },\r\n exposed () {\r\n return {\r\n currentTableSelection: this.currentTableSelection,\r\n currentTreeNode: this.currentTreeNodeData,\r\n requestTableData: this.requestTableData\r\n }\r\n },\r\n overrideTableEvent () {\r\n const events = this.actions.reduce((ret, action) => {\r\n ret[action.eventName] = (e) => {\r\n this.$emit(action.eventName || 'click', { ...e, currentTreeNode: this.currentTreeNodeData, exposed: this.exposed })\r\n }\r\n return ret\r\n }, {})\r\n return {\r\n ...this.$listeners,\r\n ...events,\r\n [BUILT_IN_EVENT_NAMES.EDIT]: this[BUILT_IN_EVENT_NAMES.EDIT]\r\n }\r\n },\r\n overrideButtonGroupEvent () {\r\n const events = this.getButtonGroupElements.reduce((ret, ele) => {\r\n ret[ele.eventName] = (e) => {\r\n this.$emit(ele.eventName || 'click', { ...e, currentTreeNode: this.currentTreeNodeData, exposed: this.exposed })\r\n }\r\n return ret\r\n }, {})\r\n return {\r\n ...this.$listeners,\r\n ...events,\r\n [BUILT_IN_EVENT_NAMES.CREATE]: this[BUILT_IN_EVENT_NAMES.CREATE]\r\n }\r\n },\r\n showTree () {\r\n return !!Object.keys(this.treeMeta).length\r\n },\r\n buttonGroup () {\r\n return uuidv4()\r\n },\r\n searchArea () {\r\n return uuidv4()\r\n },\r\n modelTreeWrapper () {\r\n return uuidv4()\r\n },\r\n modelTableWrapper () {\r\n return uuidv4()\r\n },\r\n actions () {\r\n const { operations } = this.tableMeta\r\n if (operations) {\r\n return operations.elements\r\n } else {\r\n return []\r\n }\r\n },\r\n pageSize () {\r\n const { page = {} } = this.tableMeta\r\n return page.pageSize || 10\r\n },\r\n pageSizeOptions () {\r\n const { page = {} } = this.tableMeta\r\n return page.pageSizeOptions || ['10', '20', '30', '40']\r\n },\r\n columns () {\r\n const { columns, operations } = this.tableMeta\r\n if (type.get(columns) === 'array') {\r\n const columnsOptions = columns.map(item => {\r\n const { mode = 'text' } = item\r\n if (item.render) {\r\n return {\r\n ...item,\r\n customRender: (text, record, index) => {\r\n const { $createElement } = this\r\n return item.render.call(this, { h: $createElement, ctx: this }, typeof text == 'string' ? text : text[item.dataIndex], record, index)\r\n }\r\n }\r\n } else if (mode !== BUILT_IN_TRIGGER.TEXT) {\r\n const { [`${mode}Meta`]: modeMeta } = item\r\n return {\r\n ...item,\r\n customRender: (text, record, index) => {\r\n return <span onClick={() => this.dispatchTrigger({ mode, record, modeMeta, index })} class={ mode }>{ text }</span>\r\n }\r\n }\r\n }\r\n return {\r\n ...item\r\n }\r\n })\r\n if (operations) {\r\n return [\r\n ...columnsOptions,\r\n {\r\n title: '操作',\r\n width: operations.width,\r\n key: 'action',\r\n fixed: 'right',\r\n scopedSlots: { customRender: 'action' }\r\n }\r\n ]\r\n }\r\n return columnsOptions\r\n } else {\r\n console.error('Error: columns is invalid, please check it')\r\n return []\r\n }\r\n },\r\n getButtonGroupElements () {\r\n const { elements } = this.buttonGroupMeta\r\n if (type.get(elements) === 'function') {\r\n return elements.call(this)\r\n } else if (type.get(elements) === 'array') {\r\n return elements\r\n } else {\r\n return []\r\n }\r\n }\r\n },\r\n async created () {\r\n if (this.showTree) {\r\n this.treeData = await this.requestTreeData()\r\n const [defaultTreeNode = {}] = this.treeData\r\n this.defaultExpandedKeys = [defaultTreeNode[this.replaceFields.key]]\r\n this.defaultSelectedKeys = [defaultTreeNode[this.replaceFields.key]]\r\n this.currentTreeNodeData = defaultTreeNode\r\n }\r\n const { params = {}, fieldMap = {}, overrideInit = false } = this.tableMeta\r\n const ctx = { ...this.currentTreeNodeData, _route: this.$route.query }\r\n const initQuerys = Object.assign({}, params, parseFieldMap(fieldMap, ctx))\r\n if (overrideInit) {\r\n this.$emit(RESERVE_EVENT_NAMES.INIT, { ...this.exposed })\r\n } else {\r\n this.tableData = await this.requestTableData(initQuerys)\r\n }\r\n },\r\n methods: {\r\n dispatchTrigger ({ mode, record = {}, modeMeta = { } }) {\r\n switch (mode) {\r\n case BUILT_IN_TRIGGER.FSM:\r\n this[`${BUILT_IN_TRIGGER.FSM}Trigger`](record, modeMeta = { \r\n url: 'api-fsm/workbench/fsm/auditFlow',\r\n requestType: 'GET',\r\n fieldMap: {\r\n modelCode: 'modelCode',\r\n businessId: 'businessId'\r\n }\r\n })\r\n break\r\n default:\r\n break\r\n }\r\n },\r\n handleCloseFsmModal () {\r\n this.showFsmModal = false\r\n },\r\n [`${BUILT_IN_TRIGGER.FSM}Trigger`] (record, meta) {\r\n this.fsmMeta = meta\r\n this.fsmContextProp = record\r\n this.showFsmModal = true\r\n },\r\n onChangeTableSelection (_, selectedRows) {\r\n if (this.currentTableMode === 'radio') {\r\n this.currentTableSelection = selectedRows[0]\r\n } else {\r\n this.currentTableSelection = selectedRows\r\n }\r\n },\r\n [BUILT_IN_EVENT_NAMES.EDIT] () {\r\n this.modalFormMeta = this.editMeta\r\n this.modalFormValue = true\r\n },\r\n [BUILT_IN_EVENT_NAMES.CREATE] () {\r\n this.modalFormMeta = this.createMeta\r\n this.modalFormValue = true\r\n },\r\n handleClickButtonGroup (props) {\r\n const { eventName } = props\r\n this.$emit(eventName, { currentTreeNode: this.currentTreeNodeData })\r\n },\r\n watchViewPort () {\r\n const modelTableWrapper = this.$refs[this.modelTableWrapper]\r\n console.log(modelTableWrapper.getBoundingClientRect())\r\n const { top } = modelTableWrapper.getBoundingClientRect()\r\n this.$refs[this.modelTreeWrapper].style.height = `calc(100vh - ${top}px)`\r\n },\r\n async onSearch (props) {\r\n this.tableQuerys = Object.assign(this.tableQuerys, props)\r\n this.tableData = await this.requestTableData()\r\n },\r\n execTableFieldMap (fieldMap = {}, props) {\r\n let ret = {}\r\n const keys = Object.keys(fieldMap)\r\n keys.forEach(key => {\r\n const field = fieldMap[key]\r\n ret[field] = props[key]\r\n })\r\n return ret\r\n },\r\n async selectTreeNode (selectedKeys, e) {\r\n const { fieldMap } = this.tableMeta\r\n this.currentTreeNodeData = e.node.$vnode.data.props.dataRef\r\n const execFieldMapRet = this.execTableFieldMap(fieldMap, e.node.$vnode.data.props.dataRef)\r\n this.tableData = await this.requestTableData(execFieldMapRet)\r\n },\r\n async requestTreeData () {\r\n const { url, requestType = 'GET', params = {}, fieldMap = {} } = this.treeMeta\r\n const fieldMapRet = parseFieldMap(fieldMap, { ...this.currentTreeNodeData, _route: this.$route.query })\r\n const ret = await net[requestType.toLowerCase()](\r\n url,\r\n { ...params, ...fieldMapRet }\r\n ).then(resp => {\r\n const { data } = resp || {}\r\n return data\r\n })\r\n return ret\r\n },\r\n async onChangePage (page, pageSize) {\r\n this.tableData = await this.requestTableData({ currentPage: page, pageSize })\r\n },\r\n async requestTableData (props = {}) {\r\n const { url, requestType = 'GET', page = {} } = this.tableMeta\r\n const { pageSize = 10 } = page\r\n this.tableQuerys = Object.assign(this.tableQuerys, { currentPage: 1, pageSize }, props)\r\n this.loading = true\r\n const ret = await net[requestType.toLowerCase()](\r\n url,\r\n this.tableQuerys\r\n ).then(resp => {\r\n const { data = [], count } = resp || {}\r\n this.total = count\r\n this.loading = false\r\n return data.map(item => {\r\n delete item.children\r\n return {\r\n key: uuidv4(),\r\n ...item\r\n }\r\n })\r\n })\r\n return ret\r\n },\r\n refreshTreeStatus (props = {}) {},\r\n refreshTableStatus (props = {}) {},\r\n calculateTableHeight () {\r\n const currentViewportHeight = window.innerHeight\r\n const tableRef = this.$refs[this.tableRef]\r\n const { top: tableToTop } = tableRef.$el.getBoundingClientRect()\r\n this.tableHeight = currentViewportHeight - tableToTop\r\n },\r\n calculateTreeHeight () {\r\n const modelTableContainerRef = this.$refs[this.modelTableContainerRef]\r\n const { height } = modelTableContainerRef.getBoundingClientRect()\r\n this.treeWrapperHeight = height\r\n }\r\n },\r\n mounted () {\r\n this.calculateTableHeight()\r\n this.$nextTick(() => {\r\n this.calculateTreeHeight()\r\n })\r\n this.resizeObserverModelTableWrapper = new ResizeObserver(entries => {\r\n for (const _ of entries) {\r\n requestAnimationFrame(() => {\r\n this.calculateTableHeight()\r\n })\r\n }\r\n })\r\n this.resizeObserverModelTableWrapper.observe(this.$refs[this.modelTableWrapper])\r\n },\r\n destroyed () {\r\n this.resizeObserverModelTableWrapper.disconnect()\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.ele {\r\n &.model__tree-table {\r\n background: transparent; \r\n display: flex;\r\n flex-direction: row;\r\n width: 100%;\r\n .model__tree-table--container {\r\n .model__tree--wrapper {\r\n width: 240px;\r\n background: #fff;\r\n flex-shrink: 0;\r\n padding: 16px;\r\n box-sizing: border-box;\r\n margin-right: 16px;\r\n overflow-y: auto;\r\n }\r\n }\r\n .model__table--container {\r\n width: 100%;\r\n min-width: 0;\r\n background: #fff;\r\n .model__table--title {\r\n .model__table-title--bar {\r\n width: 100%;\r\n height: 8px;\r\n background: var(--idooel-primary-color);\r\n border-top-left-radius: 4px;\r\n border-top-right-radius: 4px;\r\n }\r\n .model__table-title--text {\r\n text-align: left;\r\n padding: 16px;\r\n font-size: 16px;\r\n font-weight: bold;\r\n background: #fff;\r\n border-bottom: 1px solid;\r\n border-color: var(--idoole-black-016);\r\n }\r\n }\r\n .model__table--wrapper {\r\n background: #fff;\r\n .button-row__area {\r\n width: 100%;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n justify-content: space-between;\r\n padding-top: 16px;\r\n padding-bottom: 8px;\r\n padding-right: 16px;\r\n }\r\n .g-table__wrapper {\r\n .fsm {\r\n cursor: pointer;\r\n color: var(--idooel-primary-color);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n</style>\r\n",".ele.model__tree-table {\n background: transparent;\n display: flex;\n flex-direction: row;\n width: 100%;\n}\n.ele.model__tree-table .model__tree-table--container .model__tree--wrapper {\n width: 240px;\n background: #fff;\n flex-shrink: 0;\n padding: 16px;\n box-sizing: border-box;\n margin-right: 16px;\n overflow-y: auto;\n}\n.ele.model__tree-table .model__table--container {\n width: 100%;\n min-width: 0;\n background: #fff;\n}\n.ele.model__tree-table .model__table--container .model__table--title .model__table-title--bar {\n width: 100%;\n height: 8px;\n background: var(--idooel-primary-color);\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n}\n.ele.model__tree-table .model__table--container .model__table--title .model__table-title--text {\n text-align: left;\n padding: 16px;\n font-size: 16px;\n font-weight: bold;\n background: #fff;\n border-bottom: 1px solid;\n border-color: var(--idoole-black-016);\n}\n.ele.model__tree-table .model__table--container .model__table--wrapper {\n background: #fff;\n}\n.ele.model__tree-table .model__table--container .model__table--wrapper .button-row__area {\n width: 100%;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n padding-top: 16px;\n padding-bottom: 8px;\n padding-right: 16px;\n}\n.ele.model__tree-table .model__table--container .model__table--wrapper .g-table__wrapper .fsm {\n cursor: pointer;\n color: var(--idooel-primary-color);\n}\n\n/*# sourceMappingURL=index.vue.map */"]}, media: undefined });
2764
+ inject("data-v-845ecb50_0", { source: ".ele.model__tree-table[data-v-845ecb50] {\n background: transparent;\n display: flex;\n flex-direction: row;\n width: 100%;\n}\n.ele.model__tree-table .model__tree-table--container .model__tree--wrapper[data-v-845ecb50] {\n width: 240px;\n background: #fff;\n flex-shrink: 0;\n padding: 16px;\n box-sizing: border-box;\n margin-right: 16px;\n overflow-y: auto;\n}\n.ele.model__tree-table .model__table--container[data-v-845ecb50] {\n width: 100%;\n min-width: 0;\n background: #fff;\n}\n.ele.model__tree-table .model__table--container .model__table--title .model__table-title--bar[data-v-845ecb50] {\n width: 100%;\n height: 8px;\n background: var(--idooel-primary-color);\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n}\n.ele.model__tree-table .model__table--container .model__table--title .model__table-title--text[data-v-845ecb50] {\n text-align: left;\n padding: 16px;\n font-size: 16px;\n font-weight: bold;\n background: #fff;\n border-bottom: 1px solid;\n border-color: var(--idoole-black-016);\n}\n.ele.model__tree-table .model__table--container .model__table--wrapper[data-v-845ecb50] {\n background: #fff;\n}\n.ele.model__tree-table .model__table--container .model__table--wrapper .button-row__area[data-v-845ecb50] {\n width: 100%;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n padding-top: 16px;\n padding-bottom: 8px;\n padding-right: 16px;\n}\n.ele.model__tree-table .model__table--container .model__table--wrapper .g-table__wrapper .fsm[data-v-845ecb50] {\n cursor: pointer;\n color: var(--idooel-primary-color);\n}\n\n/*# sourceMappingURL=index.vue.map */", map: {"version":3,"sources":["E:\\work\\code\\ganjiao\\ganjian-monorepo\\packages\\components\\packages\\models\\tree-table-model\\src\\index.vue","index.vue"],"names":[],"mappings":"AAybA;EACA,uBAAA;EACA,aAAA;EACA,mBAAA;EACA,WAAA;ACxbA;AD0bA;EACA,YAAA;EACA,gBAAA;EACA,cAAA;EACA,aAAA;EACA,sBAAA;EACA,kBAAA;EACA,gBAAA;ACxbA;AD2bA;EACA,WAAA;EACA,YAAA;EACA,gBAAA;ACzbA;AD2bA;EACA,WAAA;EACA,WAAA;EACA,uCAAA;EACA,2BAAA;EACA,4BAAA;ACzbA;AD2bA;EACA,gBAAA;EACA,aAAA;EACA,eAAA;EACA,iBAAA;EACA,gBAAA;EACA,wBAAA;EACA,qCAAA;ACzbA;AD4bA;EACA,gBAAA;AC1bA;AD2bA;EACA,WAAA;EACA,aAAA;EACA,mBAAA;EACA,mBAAA;EACA,8BAAA;EACA,iBAAA;EACA,mBAAA;EACA,mBAAA;ACzbA;AD4bA;EACA,eAAA;EACA,kCAAA;AC1bA;;AAEA,oCAAoC","file":"index.vue","sourcesContent":["<template>\r\n <section class=\"ele model__tree-table\">\r\n <section class=\"model__tree-table--container\" v-if=\"showTree\">\r\n <div class=\"model__tree--title\"></div>\r\n <section :ref=\"modelTreeWrapper\" class=\"model__tree--wrapper\" :style=\"{height: `${treeWrapperHeight}px`}\">\r\n <ele-tree\r\n :tree-data=\"treeData\"\r\n :defaultExpandedKeys=\"defaultExpandedKeys\"\r\n :defaultSelectedKeys=\"defaultSelectedKeys\"\r\n @select=\"selectTreeNode\"\r\n :replace-fields=\"treeMeta.replaceFields || replaceFields\">\r\n </ele-tree>\r\n </section>\r\n </section>\r\n <section class=\"model__table--container\" :ref=\"modelTableContainerRef\">\r\n <div class=\"model__table--title\" v-if=\"title\">\r\n <template v-if=\"titleMode\">\r\n <div :class=\"[`model__table-title--${titleMode}`]\"></div>\r\n </template>\r\n <template v-else>\r\n <div class=\"model__table-title--text\">{{ title }}</div>\r\n </template>\r\n </div>\r\n <section :ref=\"modelTableWrapper\" class=\"model__table--wrapper\">\r\n <ele-search-area :ref=\"searchArea\" @search=\"onSearch\" :data-source=\"searchMeta.elements\"></ele-search-area>\r\n <div class=\"button-row__area\">\r\n <ele-button-group class=\"model-table__button-group\" v-on=\"overrideButtonGroupEvent\" :ref=\"buttonGroup\" @click=\"handleClickButtonGroup\" :data-source=\"getButtonGroupElements\"></ele-button-group>\r\n <slot name=\"tags\"></slot>\r\n </div>\r\n <ele-table\r\n v-on=\"overrideTableEvent\"\r\n :ref=\"tableRef\"\r\n :row-selection=\"rowSelection\"\r\n :loading=\"loading\" \r\n :columns=\"columns\"\r\n :total=\"total\"\r\n :height=\"tableHeight\"\r\n :actions=\"actions\"\r\n :pageSize=\"pageSize\"\r\n :pageSizeOptions=\"pageSizeOptions\"\r\n :data-source=\"tableData\"\r\n @change-page=\"onChangePage\"\r\n ></ele-table>\r\n </section>\r\n </section>\r\n <ele-modal-form v-model=\"modalFormValue\" :meta=\"modalFormMeta\"></ele-modal-form>\r\n <ele-modal-fsm v-model=\"showFsmModal\" :contextProp=\"fsmContextProp\" :meta=\"fsmMeta\" @cancel=\"handleCloseFsmModal\"></ele-modal-fsm>\r\n </section>\r\n</template>\r\n\r\n<script>\r\nimport { type, net } from '@idooel/shared'\r\nimport { v4 as uuidv4 } from 'uuid'\r\nimport { BUILT_IN_EVENT_NAMES, RESERVE_EVENT_NAMES, parseFieldMap, BUILT_IN_TRIGGER } from '../../../utils'\r\nexport default {\r\n name: 'ele-tree-table-model',\r\n props: {\r\n title: {\r\n type: [Object, String]\r\n },\r\n treeMeta: {\r\n type: Object,\r\n default: () => ({})\r\n },\r\n searchMeta: {\r\n type: Object,\r\n default: () => ({})\r\n },\r\n buttonGroupMeta: {\r\n typeof: Object,\r\n default: () => ({})\r\n },\r\n tableMeta: {\r\n type: Object,\r\n default: () => ({})\r\n },\r\n createMeta: {\r\n type: Object\r\n },\r\n editMeta: {\r\n type: Object\r\n }\r\n },\r\n provide () {\r\n return {\r\n requestTreeData: this.requestTreeData,\r\n requestTableData: this.requestTableData\r\n }\r\n },\r\n data () {\r\n return {\r\n tableHeight: 0,\r\n modalFormMeta: {},\r\n modalFormValue: false,\r\n treeData: [],\r\n tableData: [],\r\n defaultExpandedKeys: [],\r\n defaultSelectedKeys: [],\r\n replaceFields: {\r\n title: 'title',\r\n children: 'children',\r\n key: 'id'\r\n },\r\n loading: false,\r\n total: 0,\r\n tableQuerys: {},\r\n resizeObserverModelTableWrapper: null,\r\n modelTableWrapperHeight: 0,\r\n currentTreeNodeData: {},\r\n treeWrapperHeight: 0,\r\n currentTableSelection: {},\r\n showFsmModal: false,\r\n fsmMeta: {},\r\n fsmContextProp: {}\r\n }\r\n },\r\n computed: {\r\n rowSelection () {\r\n if (!this.currentTableMode) return void 0\r\n return {\r\n columnTitle: this.currentSelectionColumn.columnTitle,\r\n fixed: true,\r\n type: this.currentTableMode,\r\n onChange: this.onChangeTableSelection\r\n }\r\n },\r\n currentSelectionColumn () {\r\n const { multiple } = this.tableMeta\r\n const target = this.columns.find(item => Object.keys(item).includes('multiple'))\r\n const isGlobalExistMultiple = Object.keys(this.tableMeta).includes('multiple')\r\n if (target) {\r\n return target\r\n } else if (isGlobalExistMultiple) {\r\n return { multiple }\r\n }\r\n return void 0\r\n },\r\n currentTableMode () {\r\n if (!this.currentSelectionColumn) return void 0\r\n const { multiple } = this.currentSelectionColumn\r\n if (type.isBool(multiple)) {\r\n if (multiple) {\r\n return 'checkbox'\r\n } else {\r\n return 'radio'\r\n }\r\n } else {\r\n return void 0\r\n }\r\n },\r\n modelTableContainerRef () {\r\n return uuidv4()\r\n },\r\n titleMode () {\r\n if (type.isObject(this.title)) {\r\n const { mode = '' } = this.title\r\n return mode\r\n }\r\n return void 0\r\n },\r\n tableRef () {\r\n return uuidv4()\r\n },\r\n exposed () {\r\n return {\r\n currentTableSelection: this.currentTableSelection,\r\n currentTreeNode: this.currentTreeNodeData,\r\n requestTableData: this.requestTableData\r\n }\r\n },\r\n overrideTableEvent () {\r\n const events = this.actions.reduce((ret, action) => {\r\n ret[action.eventName] = (e) => {\r\n this.$emit(action.eventName || 'click', { ...e, currentTreeNode: this.currentTreeNodeData, exposed: this.exposed })\r\n }\r\n return ret\r\n }, {})\r\n return {\r\n ...this.$listeners,\r\n ...events,\r\n [BUILT_IN_EVENT_NAMES.EDIT]: this[BUILT_IN_EVENT_NAMES.EDIT]\r\n }\r\n },\r\n overrideButtonGroupEvent () {\r\n const events = this.getButtonGroupElements.reduce((ret, ele) => {\r\n ret[ele.eventName] = (e) => {\r\n this.$emit(ele.eventName || 'click', { ...e, currentTreeNode: this.currentTreeNodeData, exposed: this.exposed })\r\n }\r\n return ret\r\n }, {})\r\n return {\r\n ...this.$listeners,\r\n ...events,\r\n [BUILT_IN_EVENT_NAMES.CREATE]: this[BUILT_IN_EVENT_NAMES.CREATE]\r\n }\r\n },\r\n showTree () {\r\n return !!Object.keys(this.treeMeta).length\r\n },\r\n buttonGroup () {\r\n return uuidv4()\r\n },\r\n searchArea () {\r\n return uuidv4()\r\n },\r\n modelTreeWrapper () {\r\n return uuidv4()\r\n },\r\n modelTableWrapper () {\r\n return uuidv4()\r\n },\r\n actions () {\r\n const { operations } = this.tableMeta\r\n if (operations) {\r\n return operations.elements\r\n } else {\r\n return []\r\n }\r\n },\r\n pageSize () {\r\n const { page = {} } = this.tableMeta\r\n return page.pageSize || 10\r\n },\r\n pageSizeOptions () {\r\n const { page = {} } = this.tableMeta\r\n return page.pageSizeOptions || ['10', '20', '30', '40']\r\n },\r\n columns () {\r\n const { columns, operations } = this.tableMeta\r\n if (type.get(columns) === 'array') {\r\n const columnsOptions = columns.map(item => {\r\n const { mode = 'text' } = item\r\n if (item.render) {\r\n return {\r\n ...item,\r\n customRender: (text, record, index) => {\r\n const { $createElement } = this\r\n return item.render.call(this, { h: $createElement, ctx: this }, typeof text == 'string' ? text : text[item.dataIndex], record, index)\r\n }\r\n }\r\n } else if (mode !== BUILT_IN_TRIGGER.TEXT) {\r\n const { [`${mode}Meta`]: modeMeta } = item\r\n return {\r\n ...item,\r\n customRender: (text, record, index) => {\r\n return <span onClick={() => this.dispatchTrigger({ mode, record, modeMeta, index })} class={ mode }>{ text }</span>\r\n }\r\n }\r\n }\r\n return {\r\n ...item\r\n }\r\n })\r\n if (operations) {\r\n return [\r\n ...columnsOptions,\r\n {\r\n title: '操作',\r\n width: operations.width,\r\n key: 'action',\r\n fixed: 'right',\r\n scopedSlots: { customRender: 'action' }\r\n }\r\n ]\r\n }\r\n return columnsOptions\r\n } else {\r\n console.error('Error: columns is invalid, please check it')\r\n return []\r\n }\r\n },\r\n getButtonGroupElements () {\r\n const { elements } = this.buttonGroupMeta\r\n if (type.get(elements) === 'function') {\r\n return elements.call(this)\r\n } else if (type.get(elements) === 'array') {\r\n return elements\r\n } else {\r\n return []\r\n }\r\n }\r\n },\r\n async created () {\r\n if (this.showTree) {\r\n this.treeData = await this.requestTreeData()\r\n const [defaultTreeNode = {}] = this.treeData\r\n this.defaultExpandedKeys = [defaultTreeNode[this.replaceFields.key]]\r\n this.defaultSelectedKeys = [defaultTreeNode[this.replaceFields.key]]\r\n this.currentTreeNodeData = defaultTreeNode\r\n }\r\n const { params = {}, fieldMap = {}, overrideInit = false } = this.tableMeta\r\n const ctx = { ...this.currentTreeNodeData, _route: this.$route.query }\r\n const initQuerys = Object.assign({}, params, parseFieldMap(fieldMap, ctx))\r\n if (overrideInit) {\r\n this.$emit(RESERVE_EVENT_NAMES.INIT, { ...this.exposed })\r\n } else {\r\n this.tableData = await this.requestTableData(initQuerys)\r\n }\r\n },\r\n methods: {\r\n dispatchTrigger ({ mode, record = {}, modeMeta = { } }) {\r\n switch (mode) {\r\n case BUILT_IN_TRIGGER.FSM:\r\n this[`${BUILT_IN_TRIGGER.FSM}Trigger`](record, modeMeta = { \r\n url: 'api-fsm/workbench/fsm/auditFlow',\r\n requestType: 'GET',\r\n fieldMap: {\r\n modelCode: 'modelCode',\r\n businessId: 'businessId'\r\n }\r\n })\r\n break\r\n default:\r\n break\r\n }\r\n },\r\n handleCloseFsmModal () {\r\n this.showFsmModal = false\r\n },\r\n [`${BUILT_IN_TRIGGER.FSM}Trigger`] (record, meta) {\r\n this.fsmMeta = meta\r\n this.fsmContextProp = record\r\n this.showFsmModal = true\r\n },\r\n onChangeTableSelection (_, selectedRows) {\r\n if (this.currentTableMode === 'radio') {\r\n this.currentTableSelection = selectedRows[0]\r\n } else {\r\n this.currentTableSelection = selectedRows\r\n }\r\n },\r\n [BUILT_IN_EVENT_NAMES.EDIT] () {\r\n this.modalFormMeta = this.editMeta\r\n this.modalFormValue = true\r\n },\r\n [BUILT_IN_EVENT_NAMES.CREATE] () {\r\n this.modalFormMeta = this.createMeta\r\n this.modalFormValue = true\r\n },\r\n handleClickButtonGroup (props) {\r\n const { eventName } = props\r\n this.$emit(eventName, { currentTreeNode: this.currentTreeNodeData })\r\n },\r\n watchViewPort () {\r\n const modelTableWrapper = this.$refs[this.modelTableWrapper]\r\n console.log(modelTableWrapper.getBoundingClientRect())\r\n const { top } = modelTableWrapper.getBoundingClientRect()\r\n this.$refs[this.modelTreeWrapper].style.height = `calc(100vh - ${top}px)`\r\n },\r\n async onSearch (props) {\r\n this.tableQuerys = Object.assign(this.tableQuerys, props)\r\n this.tableData = await this.requestTableData()\r\n },\r\n execTableFieldMap (fieldMap = {}, props) {\r\n let ret = {}\r\n const keys = Object.keys(fieldMap)\r\n keys.forEach(key => {\r\n const field = fieldMap[key]\r\n ret[field] = props[key]\r\n })\r\n return ret\r\n },\r\n async selectTreeNode (selectedKeys, e) {\r\n const { fieldMap } = this.tableMeta\r\n this.currentTreeNodeData = e.node.$vnode.data.props.dataRef\r\n const execFieldMapRet = this.execTableFieldMap(fieldMap, e.node.$vnode.data.props.dataRef)\r\n this.tableData = await this.requestTableData(execFieldMapRet)\r\n },\r\n async requestTreeData () {\r\n const { url, requestType = 'GET', params = {}, fieldMap = {} } = this.treeMeta\r\n const fieldMapRet = parseFieldMap(fieldMap, { ...this.currentTreeNodeData, _route: this.$route.query })\r\n const ret = await net[requestType.toLowerCase()](\r\n url,\r\n { ...params, ...fieldMapRet }\r\n ).then(resp => {\r\n const { data } = resp || {}\r\n return data\r\n })\r\n return ret\r\n },\r\n async onChangePage (page, pageSize) {\r\n this.tableData = await this.requestTableData({ currentPage: page, pageSize })\r\n },\r\n async requestTableData (props = {}) {\r\n const { url, requestType = 'GET', page = {} } = this.tableMeta\r\n const { pageSize = 10 } = page\r\n this.tableQuerys = Object.assign(this.tableQuerys, { currentPage: 1, pageSize }, props)\r\n this.loading = true\r\n const ret = await net[requestType.toLowerCase()](\r\n url,\r\n this.tableQuerys\r\n ).then(resp => {\r\n const { data = [], count } = resp || {}\r\n this.total = count\r\n this.loading = false\r\n return data.map(item => {\r\n delete item.children\r\n return {\r\n key: uuidv4(),\r\n ...item\r\n }\r\n })\r\n })\r\n return ret\r\n },\r\n refreshTreeStatus (props = {}) {},\r\n refreshTableStatus (props = {}) {},\r\n calculateTableHeight () {\r\n const currentViewportHeight = window.innerHeight\r\n const tableRef = this.$refs[this.tableRef]\r\n const { top: tableToTop } = tableRef.$el.getBoundingClientRect()\r\n this.tableHeight = currentViewportHeight - tableToTop\r\n },\r\n calculateTreeHeight () {\r\n const modelTableContainerRef = this.$refs[this.modelTableContainerRef]\r\n const { height } = modelTableContainerRef.getBoundingClientRect()\r\n this.treeWrapperHeight = height\r\n }\r\n },\r\n mounted () {\r\n this.calculateTableHeight()\r\n this.$nextTick(() => {\r\n this.calculateTreeHeight()\r\n })\r\n this.resizeObserverModelTableWrapper = new ResizeObserver(entries => {\r\n for (const _ of entries) {\r\n requestAnimationFrame(() => {\r\n this.calculateTableHeight()\r\n })\r\n }\r\n })\r\n this.resizeObserverModelTableWrapper.observe(this.$refs[this.modelTableWrapper])\r\n },\r\n destroyed () {\r\n this.resizeObserverModelTableWrapper.disconnect()\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.ele {\r\n &.model__tree-table {\r\n background: transparent; \r\n display: flex;\r\n flex-direction: row;\r\n width: 100%;\r\n .model__tree-table--container {\r\n .model__tree--wrapper {\r\n width: 240px;\r\n background: #fff;\r\n flex-shrink: 0;\r\n padding: 16px;\r\n box-sizing: border-box;\r\n margin-right: 16px;\r\n overflow-y: auto;\r\n }\r\n }\r\n .model__table--container {\r\n width: 100%;\r\n min-width: 0;\r\n background: #fff;\r\n .model__table--title {\r\n .model__table-title--bar {\r\n width: 100%;\r\n height: 8px;\r\n background: var(--idooel-primary-color);\r\n border-top-left-radius: 4px;\r\n border-top-right-radius: 4px;\r\n }\r\n .model__table-title--text {\r\n text-align: left;\r\n padding: 16px;\r\n font-size: 16px;\r\n font-weight: bold;\r\n background: #fff;\r\n border-bottom: 1px solid;\r\n border-color: var(--idoole-black-016);\r\n }\r\n }\r\n .model__table--wrapper {\r\n background: #fff;\r\n .button-row__area {\r\n width: 100%;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n justify-content: space-between;\r\n padding-top: 16px;\r\n padding-bottom: 8px;\r\n padding-right: 16px;\r\n }\r\n .g-table__wrapper {\r\n .fsm {\r\n cursor: pointer;\r\n color: var(--idooel-primary-color);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n</style>\r\n",".ele.model__tree-table {\n background: transparent;\n display: flex;\n flex-direction: row;\n width: 100%;\n}\n.ele.model__tree-table .model__tree-table--container .model__tree--wrapper {\n width: 240px;\n background: #fff;\n flex-shrink: 0;\n padding: 16px;\n box-sizing: border-box;\n margin-right: 16px;\n overflow-y: auto;\n}\n.ele.model__tree-table .model__table--container {\n width: 100%;\n min-width: 0;\n background: #fff;\n}\n.ele.model__tree-table .model__table--container .model__table--title .model__table-title--bar {\n width: 100%;\n height: 8px;\n background: var(--idooel-primary-color);\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n}\n.ele.model__tree-table .model__table--container .model__table--title .model__table-title--text {\n text-align: left;\n padding: 16px;\n font-size: 16px;\n font-weight: bold;\n background: #fff;\n border-bottom: 1px solid;\n border-color: var(--idoole-black-016);\n}\n.ele.model__tree-table .model__table--container .model__table--wrapper {\n background: #fff;\n}\n.ele.model__tree-table .model__table--container .model__table--wrapper .button-row__area {\n width: 100%;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n padding-top: 16px;\n padding-bottom: 8px;\n padding-right: 16px;\n}\n.ele.model__tree-table .model__table--container .model__table--wrapper .g-table__wrapper .fsm {\n cursor: pointer;\n color: var(--idooel-primary-color);\n}\n\n/*# sourceMappingURL=index.vue.map */"]}, media: undefined });
2748
2765
 
2749
2766
  };
2750
2767
  /* scoped */
2751
- const __vue_scope_id__$s = "data-v-7c7eb4d0";
2768
+ const __vue_scope_id__$t = "data-v-845ecb50";
2752
2769
  /* module identifier */
2753
- const __vue_module_identifier__$s = undefined;
2770
+ const __vue_module_identifier__$t = undefined;
2754
2771
  /* functional template */
2755
- const __vue_is_functional_template__$s = false;
2772
+ const __vue_is_functional_template__$t = false;
2756
2773
  /* style inject SSR */
2757
2774
 
2758
2775
  /* style inject shadow dom */
2759
2776
 
2760
2777
 
2761
2778
 
2762
- const __vue_component__$s = /*#__PURE__*/normalizeComponent(
2763
- { render: __vue_render__$s, staticRenderFns: __vue_staticRenderFns__$s },
2764
- __vue_inject_styles__$s,
2765
- __vue_script__$s,
2766
- __vue_scope_id__$s,
2767
- __vue_is_functional_template__$s,
2768
- __vue_module_identifier__$s,
2779
+ const __vue_component__$t = /*#__PURE__*/normalizeComponent(
2780
+ { render: __vue_render__$t, staticRenderFns: __vue_staticRenderFns__$t },
2781
+ __vue_inject_styles__$t,
2782
+ __vue_script__$t,
2783
+ __vue_scope_id__$t,
2784
+ __vue_is_functional_template__$t,
2785
+ __vue_module_identifier__$t,
2769
2786
  false,
2770
2787
  createInjector,
2771
2788
  undefined,
@@ -2773,7 +2790,7 @@ __vue_render__$s._withStripped = true;
2773
2790
  );
2774
2791
 
2775
2792
  //
2776
- var script$r = {
2793
+ var script$s = {
2777
2794
  name: 'ele-form-group-model',
2778
2795
  props: {
2779
2796
  mode: {
@@ -3053,10 +3070,10 @@ var script$r = {
3053
3070
  };
3054
3071
 
3055
3072
  /* script */
3056
- const __vue_script__$r = script$r;
3073
+ const __vue_script__$s = script$s;
3057
3074
 
3058
3075
  /* template */
3059
- var __vue_render__$r = function () {
3076
+ var __vue_render__$s = function () {
3060
3077
  var _vm = this;
3061
3078
  var _h = _vm.$createElement;
3062
3079
  var _c = _vm._self._c || _h;
@@ -3158,34 +3175,34 @@ var __vue_render__$r = function () {
3158
3175
  2
3159
3176
  )
3160
3177
  };
3161
- var __vue_staticRenderFns__$r = [];
3162
- __vue_render__$r._withStripped = true;
3178
+ var __vue_staticRenderFns__$s = [];
3179
+ __vue_render__$s._withStripped = true;
3163
3180
 
3164
3181
  /* style */
3165
- const __vue_inject_styles__$r = function (inject) {
3182
+ const __vue_inject_styles__$s = function (inject) {
3166
3183
  if (!inject) return
3167
3184
  inject("data-v-1c3b4af2_0", { source: ".ele.form-group-model__wrapper[data-v-1c3b4af2] {\n background: unset;\n padding-bottom: 80px;\n}\n.ele.form-group-model__wrapper .form-group-model__from[data-v-1c3b4af2] {\n background: #fff;\n margin-top: 16px;\n}\n.ele.form-group-model__wrapper .form-group-model__from[data-v-1c3b4af2]:first-child {\n margin-top: unset;\n}\n.ele.form-group-model__wrapper .form-group-model__from .form-group-model__form--title[data-v-1c3b4af2] {\n width: 100%;\n height: 56px;\n padding: 0 16px;\n border-bottom: 1px solid;\n border-color: var(--idooel-form-title-border-color);\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n}\n.ele.form-group-model__wrapper .form-group-model__from .form-group-model__form--content[data-v-1c3b4af2] {\n padding: 16px;\n}\n.ele.form-group-model__wrapper .form-group-model__form--footer[data-v-1c3b4af2] {\n width: 100%;\n height: 64px;\n background: #fff;\n position: fixed;\n bottom: 0;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: end;\n}\n\n/*# sourceMappingURL=index.vue.map */", map: {"version":3,"sources":["E:\\work\\code\\ganjiao\\ganjian-monorepo\\packages\\components\\packages\\models\\form-group-model\\src\\index.vue","index.vue"],"names":[],"mappings":"AA4OA;EACA,iBAAA;EACA,oBAAA;AC3OA;AD4OA;EACA,gBAAA;EACA,gBAAA;AC1OA;AD2OA;EACA,iBAAA;ACzOA;AD2OA;EACA,WAAA;EACA,YAAA;EACA,eAAA;EACA,wBAAA;EACA,mDAAA;EACA,aAAA;EACA,mBAAA;EACA,mBAAA;EACA,8BAAA;ACzOA;AD2OA;EACA,aAAA;ACzOA;AD4OA;EACA,WAAA;EACA,YAAA;EACA,gBAAA;EACA,eAAA;EACA,SAAA;EACA,aAAA;EACA,mBAAA;EACA,mBAAA;EACA,oBAAA;AC1OA;;AAEA,oCAAoC","file":"index.vue","sourcesContent":["<template>\r\n <div class=\"ele form-group-model__wrapper\">\r\n <template v-for=\"(group, idx) in innerGroupMeta\">\r\n <div \r\n class=\"form-group-model__from\"\r\n v-if=\"!group.isGenTpl\"\r\n :key=\"group.key || idx\">\r\n <div class=\"form-group-model__form--title\">\r\n <div>{{ group.title }}</div>\r\n <div class=\"form-group-model__form--buttons\">\r\n <ele-button-group v-if=\"group.buttonGroupMeta\" v-on=\"assignAttrForEvents\" @delete=\"handleClickDelete($event, group, idx)\" :data-source=\"group.buttonGroupMeta.elements.call(this)\"></ele-button-group>\r\n </div>\r\n </div>\r\n <div class=\"form-group-model__form--content\">\r\n <ele-form @change=\"onChangeFormStatus($event, group.key || idx)\" :form-name=\"group.key || idx\" :ref=\"group.key || `${formRefBase}__${idx}`\" :elements=\"group.elements\"></ele-form>\r\n </div>\r\n </div>\r\n </template>\r\n <div v-if=\"showFooterMeta\" class=\"form-group-model__form--footer\">\r\n <ele-button-group v-on=\"assignAttrForEvents\" :data-source=\"footerElements\"></ele-button-group>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { BUILT_IN_EVENT_NAMES, RESERVE_EVENT_NAMES, parseFieldMap, PAGE_STATUS } from '../../../utils'\r\nimport { v4 as uuidv4 } from 'uuid'\r\nimport { type, net } from '@idooel/shared'\r\nexport default {\r\n name: 'ele-form-group-model',\r\n props: {\r\n mode: {\r\n type: String\r\n },\r\n fieldName: {\r\n type: String,\r\n default: 'formGroup'\r\n },\r\n groupMeta: {\r\n type: Function,\r\n default: () => []\r\n },\r\n footerMeta: {\r\n type: Object,\r\n default: () => {}\r\n },\r\n preRequest: {\r\n type: Object,\r\n default: () => {}\r\n },\r\n infoRequest: {\r\n type: Object,\r\n default: () => {}\r\n },\r\n submitRequest: {\r\n type: Object,\r\n default: () => {}\r\n }\r\n },\r\n data () {\r\n return {\r\n increaseCount: 1,\r\n innerGroupMeta: []\r\n }\r\n },\r\n watch: {\r\n readOnlyGroupMeta: {\r\n handler (meta) {\r\n this.innerGroupMeta = meta\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n routeMetaMode () {\r\n return this.$route.meta.mode\r\n },\r\n readOnlyGroupMeta () {\r\n return this.groupMeta.call(this)\r\n },\r\n showFooterMeta () {\r\n return !type.isEmpty(this.footerMeta)\r\n },\r\n formRefBase () {\r\n return uuidv4()\r\n },\r\n footerElements () {\r\n const { elements } = this.footerMeta\r\n return elements.call(this)\r\n },\r\n assignAttrForEvents () {\r\n const events = this.footerElements.reduce((ret, ele) => {\r\n ret[ele.eventName] = (e) => {\r\n this.$emit(ele.eventName || 'click', { ...e })\r\n }\r\n return ret\r\n }, {})\r\n return {\r\n ...this.$listeners,\r\n ...events,\r\n [BUILT_IN_EVENT_NAMES.SUBMIT]: this[BUILT_IN_EVENT_NAMES.SUBMIT],\r\n [BUILT_IN_EVENT_NAMES.CANCEL]: this[BUILT_IN_EVENT_NAMES.CANCEL],\r\n [BUILT_IN_EVENT_NAMES.INCREASE]: this[BUILT_IN_EVENT_NAMES.INCREASE]\r\n }\r\n },\r\n getFormRefs () {\r\n return this.innerGroupMeta.map((group, idx) => {\r\n if (!group.isGenTpl) {\r\n return this.$refs[group.key || `${this.formRefBase}__${idx}`]\r\n }\r\n return void 0\r\n }).filter(item => !!item).flat()\r\n },\r\n formModels () {\r\n if (this.mode === 'increase') {\r\n //TODO increase mode to return formModels\r\n return this.getFormRefs.map(form => {\r\n return form.getFieldsValue()\r\n })\r\n } else {\r\n return this.getFormRefs.map(form => {\r\n const { $vnode: { data: { ref } } } = form\r\n return {\r\n key: ref,\r\n value: form.getFieldsValue()\r\n }\r\n }).reduce((ret, props) => {\r\n ret[props.key] = props.value\r\n return ret\r\n }, {})\r\n }\r\n }\r\n },\r\n methods: {\r\n execFieldMap (fieldMap = {}, dataSource = {}) {\r\n const ret = parseFieldMap(fieldMap, { _route: this.$route.query, ...dataSource})\r\n return ret\r\n },\r\n onChangeFormStatus (props, key) {\r\n this.$emit(RESERVE_EVENT_NAMES.WATCH_FORM_STATUS, { key, ...props })\r\n },\r\n async infoRequestTrigger () {\r\n if (!this.infoRequest || this.routeMetaMode == PAGE_STATUS.CREATE) return\r\n const { url, requestType, params = {}, fieldMap = {}, headers = {} } = this.infoRequest\r\n if (!url) return\r\n net[requestType.toLowerCase()](url, { ...params, ...this.execFieldMap(fieldMap) }, { ...headers }).then(resp => {\r\n const { data = {} } = resp\r\n if (this.mode === 'increase') {\r\n this.renderIncreaseForm(data)\r\n }\r\n this.$emit(RESERVE_EVENT_NAMES.INIT_FORM, { ...data })\r\n })\r\n },\r\n async preRequestTrigger () {\r\n if (!this.preRequest) return\r\n const { url, requestType = 'GET', params = {}, fieldMap = {}, headers = {} } = this.preRequest\r\n if (!url) return\r\n net[requestType.toLowerCase()](url, { ...params, ...fieldMap }, { ...headers }).then(resp => {\r\n const { data = {} } = resp\r\n if (this.mode === 'increase') {\r\n this.renderIncreaseForm(data)\r\n }\r\n this.$emit(RESERVE_EVENT_NAMES.INIT_FORM, { ...data })\r\n })\r\n },\r\n renderIncreaseForm (data = {}) {\r\n const formGroupValuesLength = data[this.fieldName].length\r\n const genTplTarget = this.readOnlyGroupMeta.find(item => item.isGenTpl)\r\n const notGenTplPoolLength = this.readOnlyGroupMeta.filter(item => !item.isGenTpl).length\r\n const genNum = formGroupValuesLength - notGenTplPoolLength\r\n new Array(genNum).fill().forEach(() => {\r\n const form = this.genForm(genTplTarget)\r\n this.innerGroupMeta.push(form)\r\n })\r\n const formGroupValues = data[this.fieldName]\r\n this.$nextTick(() => {\r\n this.setFieldsValue(formGroupValues)\r\n })\r\n },\r\n async submitRequestTrigger (props = {}) {\r\n const { url, requestType, headers = {}, params = {}, fieldMap = {} } = this.submitRequest\r\n if (!url) return\r\n const ret = await net[requestType.toLowerCase()](url, { ...params, ...this.execFieldMap(fieldMap, { ...this.formModels }), [this.fieldName]: this.formModels }, { headers }).then(resp => {\r\n this.$emit(BUILT_IN_EVENT_NAMES.SUBMIT, { ...props, formModel: { ...this.formModels, ...resp.data || {} } })\r\n return resp.data\r\n })\r\n return ret\r\n },\r\n setFieldsValue (data = []) {\r\n this.getFormRefs.forEach((form, idx) => {\r\n form.setFieldsValue(data[idx])\r\n form.evalDisabledExpression(data[idx])\r\n })\r\n },\r\n [BUILT_IN_EVENT_NAMES.SUBMIT] (props = {}) {\r\n const status = this.getFormRefs.map(form => {\r\n const status = form.validateFields()\r\n return status\r\n }).every(item => item)\r\n if (status) {\r\n return this.submitRequestTrigger(props)\r\n } else {\r\n return false\r\n }\r\n },\r\n [BUILT_IN_EVENT_NAMES.CANCEL] (props = {}) {\r\n this.$emit(BUILT_IN_EVENT_NAMES.CANCEL, { ...props })\r\n },\r\n genForm (base) {\r\n const { elements, title, buttonGroupMeta } = base\r\n return {\r\n elements: JSON.parse(JSON.stringify(elements)),\r\n buttonGroupMeta,\r\n title: `${title}${this.increaseCount++}`,\r\n _gen: true\r\n }\r\n },\r\n handleClickDelete (props = {}, attr = {}, idx) {\r\n this.innerGroupMeta.splice(idx, 1)\r\n this.$emit(BUILT_IN_EVENT_NAMES.DELETE, { ...props })\r\n },\r\n [BUILT_IN_EVENT_NAMES.INCREASE] (props) {\r\n const genTplTarget = this.readOnlyGroupMeta.find(item => item.isGenTpl)\r\n const form = this.genForm(genTplTarget)\r\n this.innerGroupMeta.push(form)\r\n }\r\n },\r\n async mounted() {\r\n await this.preRequestTrigger()\r\n await this.infoRequestTrigger()\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.ele {\r\n &.form-group-model__wrapper {\r\n background: unset;\r\n padding-bottom: 80px;\r\n .form-group-model__from {\r\n background: #fff;\r\n margin-top: 16px;\r\n &:first-child {\r\n margin-top: unset;\r\n }\r\n .form-group-model__form--title {\r\n width: 100%;\r\n height: 56px;\r\n padding: 0 16px;\r\n border-bottom: 1px solid;\r\n border-color: var(--idooel-form-title-border-color);\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n justify-content: space-between;\r\n }\r\n .form-group-model__form--content {\r\n padding: 16px;\r\n }\r\n }\r\n .form-group-model__form--footer {\r\n width: 100%;\r\n height: 64px;\r\n background: #fff;\r\n position: fixed;\r\n bottom: 0;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n justify-content: end;\r\n }\r\n }\r\n}\r\n</style>",".ele.form-group-model__wrapper {\n background: unset;\n padding-bottom: 80px;\n}\n.ele.form-group-model__wrapper .form-group-model__from {\n background: #fff;\n margin-top: 16px;\n}\n.ele.form-group-model__wrapper .form-group-model__from:first-child {\n margin-top: unset;\n}\n.ele.form-group-model__wrapper .form-group-model__from .form-group-model__form--title {\n width: 100%;\n height: 56px;\n padding: 0 16px;\n border-bottom: 1px solid;\n border-color: var(--idooel-form-title-border-color);\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n}\n.ele.form-group-model__wrapper .form-group-model__from .form-group-model__form--content {\n padding: 16px;\n}\n.ele.form-group-model__wrapper .form-group-model__form--footer {\n width: 100%;\n height: 64px;\n background: #fff;\n position: fixed;\n bottom: 0;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: end;\n}\n\n/*# sourceMappingURL=index.vue.map */"]}, media: undefined });
3168
3185
 
3169
3186
  };
3170
3187
  /* scoped */
3171
- const __vue_scope_id__$r = "data-v-1c3b4af2";
3188
+ const __vue_scope_id__$s = "data-v-1c3b4af2";
3172
3189
  /* module identifier */
3173
- const __vue_module_identifier__$r = undefined;
3190
+ const __vue_module_identifier__$s = undefined;
3174
3191
  /* functional template */
3175
- const __vue_is_functional_template__$r = false;
3192
+ const __vue_is_functional_template__$s = false;
3176
3193
  /* style inject SSR */
3177
3194
 
3178
3195
  /* style inject shadow dom */
3179
3196
 
3180
3197
 
3181
3198
 
3182
- const __vue_component__$r = /*#__PURE__*/normalizeComponent(
3183
- { render: __vue_render__$r, staticRenderFns: __vue_staticRenderFns__$r },
3184
- __vue_inject_styles__$r,
3185
- __vue_script__$r,
3186
- __vue_scope_id__$r,
3187
- __vue_is_functional_template__$r,
3188
- __vue_module_identifier__$r,
3199
+ const __vue_component__$s = /*#__PURE__*/normalizeComponent(
3200
+ { render: __vue_render__$s, staticRenderFns: __vue_staticRenderFns__$s },
3201
+ __vue_inject_styles__$s,
3202
+ __vue_script__$s,
3203
+ __vue_scope_id__$s,
3204
+ __vue_is_functional_template__$s,
3205
+ __vue_module_identifier__$s,
3189
3206
  false,
3190
3207
  createInjector,
3191
3208
  undefined,
@@ -3193,7 +3210,7 @@ __vue_render__$r._withStripped = true;
3193
3210
  );
3194
3211
 
3195
3212
  //
3196
- var script$q = {
3213
+ var script$r = {
3197
3214
  name: 'ele-form-model',
3198
3215
  props: {
3199
3216
  disabled: {
@@ -3420,10 +3437,10 @@ var script$q = {
3420
3437
  };
3421
3438
 
3422
3439
  /* script */
3423
- const __vue_script__$q = script$q;
3440
+ const __vue_script__$r = script$r;
3424
3441
 
3425
3442
  /* template */
3426
- var __vue_render__$q = function () {
3443
+ var __vue_render__$r = function () {
3427
3444
  var _vm = this;
3428
3445
  var _h = _vm.$createElement;
3429
3446
  var _c = _vm._self._c || _h;
@@ -3476,34 +3493,34 @@ var __vue_render__$q = function () {
3476
3493
  : _vm._e(),
3477
3494
  ])
3478
3495
  };
3479
- var __vue_staticRenderFns__$q = [];
3480
- __vue_render__$q._withStripped = true;
3496
+ var __vue_staticRenderFns__$r = [];
3497
+ __vue_render__$r._withStripped = true;
3481
3498
 
3482
3499
  /* style */
3483
- const __vue_inject_styles__$q = function (inject) {
3500
+ const __vue_inject_styles__$r = function (inject) {
3484
3501
  if (!inject) return
3485
3502
  inject("data-v-752b7ee9_0", { source: ".form__model--wrapper[data-v-752b7ee9] {\n width: 100%;\n height: 100%;\n overflow: auto;\n background: #fff;\n}\n.form__model--wrapper .form-model__title[data-v-752b7ee9] {\n height: 56px;\n padding: 0 16px;\n display: flex;\n flex-direction: row;\n align-items: center;\n border-bottom: 1px solid var(--idooel-form-title-border-color);\n}\n.form__model--wrapper .form-model__content[data-v-752b7ee9] {\n padding: 16px;\n}\n.form__model--wrapper .form-model__footer[data-v-752b7ee9] {\n /* width: 100%; */\n height: 64px;\n position: fixed;\n bottom: 0;\n display: flex;\n float: right;\n flex-direction: row;\n align-items: center;\n justify-content: end;\n}\n\n/*# sourceMappingURL=index.vue.map */", map: {"version":3,"sources":["E:\\work\\code\\ganjiao\\ganjian-monorepo\\packages\\components\\packages\\models\\form-model\\src\\index.vue","index.vue"],"names":[],"mappings":"AA6KA;EACA,WAAA;EACA,YAAA;EACA,cAAA;EACA,gBAAA;AC5KA;AD6KA;EACA,YAAA;EACA,eAAA;EACA,aAAA;EACA,mBAAA;EACA,mBAAA;EACA,8DAAA;AC3KA;AD6KA;EACA,aAAA;AC3KA;AD6KA;EACA,iBAAA;EACA,YAAA;EACA,eAAA;EACA,SAAA;EACA,aAAA;EACA,YAAA;EACA,mBAAA;EACA,mBAAA;EACA,oBAAA;AC3KA;;AAEA,oCAAoC","file":"index.vue","sourcesContent":["<template>\r\n <div class=\"form__model--wrapper\">\r\n <div class=\"form-model__title\" v-if=\"title\">\r\n {{ title }}\r\n </div>\r\n <div class=\"form-model__content\">\r\n <ele-alert style=\"margin-bottom: 16px;\" v-if=\"alertMeta\" v-bind=\"alertMeta\"></ele-alert>\r\n <ele-form :ref=\"formRef\" :elements=\"elements\" :disabled=\"globalDisabled\"></ele-form>\r\n </div>\r\n <div class=\"form-model__footer\" v-if=\"footerMeta\">\r\n <ele-button-group v-on=\"assignAttrForEvents\" :data-source=\"footerElements\"></ele-button-group>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { BUILT_IN_EVENT_NAMES, parseFieldMap, RESERVE_EVENT_NAMES, PAGE_STATUS, CONTEXT } from '../../../utils'\r\nimport { v4 as uuidv4 } from 'uuid'\r\nimport { net, type } from '@idooel/shared'\r\nimport { parse } from '@idooel/expression'\r\nexport default {\r\n name: 'ele-form-model',\r\n props: {\r\n disabled: {\r\n type: [Boolean, String],\r\n default: '_routeMeta.disabled'\r\n },\r\n title: {\r\n type: String\r\n },\r\n formMeta: {\r\n type: Object\r\n },\r\n footerMeta: {\r\n type: Object\r\n }\r\n },\r\n data() {\r\n return {}\r\n },\r\n computed: {\r\n globalDisabled () {\r\n return this.executeExpression(this.disabled)\r\n },\r\n formRef () {\r\n return uuidv4()\r\n },\r\n exposed () {\r\n return {\r\n setFieldsValue: this.setFieldsValue,\r\n validateFields: this.validateFields\r\n }\r\n },\r\n assignAttrForEvents () {\r\n const events = this.footerElements.reduce((ret, ele) => {\r\n ret[ele.eventName] = (e) => {\r\n this.$emit(ele.eventName || 'click', { ...e, formModel: this.formModels(), exposed: this.exposed })\r\n }\r\n return ret\r\n }, {})\r\n return {\r\n ...this.$listeners,\r\n ...events,\r\n [BUILT_IN_EVENT_NAMES.SUBMIT]: this[BUILT_IN_EVENT_NAMES.SUBMIT],\r\n [BUILT_IN_EVENT_NAMES.CANCEL]: this[BUILT_IN_EVENT_NAMES.CANCEL]\r\n }\r\n },\r\n elements () {\r\n const { elements } = this.formMeta\r\n return elements\r\n },\r\n preRequest () {\r\n const { preRequest = {} } = this.formMeta\r\n return preRequest\r\n },\r\n infoRequest () {\r\n const { infoRequest = {} } = this.formMeta\r\n return infoRequest\r\n },\r\n alertMeta () {\r\n const { alert = {} } = this.formMeta\r\n return type.isEmpty(alert) ? null : alert\r\n },\r\n submitRequest () {\r\n const { submitRequest = {} } = this.formMeta\r\n return submitRequest\r\n },\r\n footerElements () {\r\n const { elements } = this.footerMeta\r\n return elements.call(this)\r\n },\r\n expressionData () {\r\n return {\r\n _route: this.$route.query,\r\n _routeMeta: this.$route.meta\r\n }\r\n },\r\n routeMetaMode () {\r\n return this.$route.meta.mode\r\n }\r\n },\r\n methods: {\r\n formModels () {\r\n return this.$refs[this.formRef] ? this.$refs[this.formRef].getFieldsValue() : {}\r\n },\r\n executeExpression (expression, dataSource = {}) {\r\n if (type.isBool(expression)) return expression\r\n if (type.isEmpty(expression)) return false\r\n return parse(expression, { ...this.expressionData, ...this.formModels(), ...dataSource })\r\n },\r\n execFieldMap (fieldMap = {}, dataSource = {}) {\r\n const ret = parseFieldMap(fieldMap, { _route: this.$route.query, ...dataSource})\r\n return ret\r\n },\r\n async submitRequestTrigger (props = {}) {\r\n const { url, requestType, headers = {}, params = {}, fieldMap = {} } = this.submitRequest\r\n const currentUrl = this.executeExpressionForUrl(url)\r\n if (!currentUrl) return\r\n const ret = await net[requestType.toLowerCase()](currentUrl, { ...params, ...this.execFieldMap(fieldMap, { ...this.formModels() }), ...this.formModels() }, { headers }).then(resp => {\r\n this.$emit(BUILT_IN_EVENT_NAMES.SUBMIT, { ...props, formModel: { ...this.formModels(), ...resp.data || {} } })\r\n return resp.data\r\n })\r\n return ret\r\n },\r\n async infoRequestTrigger () {\r\n if (PAGE_STATUS.CREATE == this.routeMetaMode) return\r\n const { url, requestType, params = {}, fieldMap = {}, headers = {} } = this.infoRequest\r\n const currentUrl = this.executeExpressionForUrl(url)\r\n if (!currentUrl) return\r\n net[requestType.toLowerCase()](currentUrl, { ...params, ...this.execFieldMap(fieldMap) }, { ...headers }).then(resp => {\r\n const { data = {} } = resp\r\n this.setFieldsValue(data)\r\n this.$emit(RESERVE_EVENT_NAMES.INIT_FORM, { ...data })\r\n })\r\n },\r\n async preRequestTrigger () {\r\n const { url, requestType = 'GET', params = {}, fieldMap = {}, headers = {} } = this.preRequest\r\n const currentUrl = this.executeExpressionForUrl(url)\r\n if (!currentUrl) return\r\n const { data } = await net[requestType.toLowerCase()](currentUrl, { ...params, ...fieldMap }, { ...headers })\r\n this.$emit(RESERVE_EVENT_NAMES.INIT_FORM, { ...data })\r\n },\r\n executeExpressionForUrl (url) {\r\n return this.executeExpression(url) ? this.executeExpression(url) : url\r\n },\r\n setFieldsValue (props) {\r\n this.$refs[this.formRef].setFieldsValue(props)\r\n },\r\n validateFields () {\r\n return this.$refs[this.formRef].validateFields()\r\n },\r\n [BUILT_IN_EVENT_NAMES.SUBMIT] (props = {}) {\r\n if (this.globalDisabled) return\r\n const status = this.$refs[this.formRef].validateFields()\r\n if (status) {\r\n //TODO fieldMap\r\n return this.submitRequestTrigger(props)\r\n } else {\r\n return false\r\n }\r\n },\r\n [BUILT_IN_EVENT_NAMES.CANCEL] (props = {}) {\r\n this.$emit(BUILT_IN_EVENT_NAMES.CANCEL, { ...props })\r\n }\r\n },\r\n async mounted() {\r\n await this.preRequestTrigger()\r\n await this.infoRequestTrigger()\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.form__model--wrapper {\r\n width: 100%;\r\n height: 100%;\r\n overflow: auto;\r\n background: #fff;\r\n .form-model__title {\r\n height: 56px;\r\n padding: 0 16px;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n border-bottom: 1px solid var(--idooel-form-title-border-color);\r\n }\r\n .form-model__content {\r\n padding: 16px;\r\n }\r\n .form-model__footer {\r\n /* width: 100%; */\r\n height: 64px;\r\n position: fixed;\r\n bottom: 0;\r\n display: flex;\r\n float: right;\r\n flex-direction: row;\r\n align-items: center;\r\n justify-content: end;\r\n }\r\n}\r\n</style>",".form__model--wrapper {\n width: 100%;\n height: 100%;\n overflow: auto;\n background: #fff;\n}\n.form__model--wrapper .form-model__title {\n height: 56px;\n padding: 0 16px;\n display: flex;\n flex-direction: row;\n align-items: center;\n border-bottom: 1px solid var(--idooel-form-title-border-color);\n}\n.form__model--wrapper .form-model__content {\n padding: 16px;\n}\n.form__model--wrapper .form-model__footer {\n /* width: 100%; */\n height: 64px;\n position: fixed;\n bottom: 0;\n display: flex;\n float: right;\n flex-direction: row;\n align-items: center;\n justify-content: end;\n}\n\n/*# sourceMappingURL=index.vue.map */"]}, media: undefined });
3486
3503
 
3487
3504
  };
3488
3505
  /* scoped */
3489
- const __vue_scope_id__$q = "data-v-752b7ee9";
3506
+ const __vue_scope_id__$r = "data-v-752b7ee9";
3490
3507
  /* module identifier */
3491
- const __vue_module_identifier__$q = undefined;
3508
+ const __vue_module_identifier__$r = undefined;
3492
3509
  /* functional template */
3493
- const __vue_is_functional_template__$q = false;
3510
+ const __vue_is_functional_template__$r = false;
3494
3511
  /* style inject SSR */
3495
3512
 
3496
3513
  /* style inject shadow dom */
3497
3514
 
3498
3515
 
3499
3516
 
3500
- const __vue_component__$q = /*#__PURE__*/normalizeComponent(
3501
- { render: __vue_render__$q, staticRenderFns: __vue_staticRenderFns__$q },
3502
- __vue_inject_styles__$q,
3503
- __vue_script__$q,
3504
- __vue_scope_id__$q,
3505
- __vue_is_functional_template__$q,
3506
- __vue_module_identifier__$q,
3517
+ const __vue_component__$r = /*#__PURE__*/normalizeComponent(
3518
+ { render: __vue_render__$r, staticRenderFns: __vue_staticRenderFns__$r },
3519
+ __vue_inject_styles__$r,
3520
+ __vue_script__$r,
3521
+ __vue_scope_id__$r,
3522
+ __vue_is_functional_template__$r,
3523
+ __vue_module_identifier__$r,
3507
3524
  false,
3508
3525
  createInjector,
3509
3526
  undefined,
@@ -3511,7 +3528,7 @@ __vue_render__$q._withStripped = true;
3511
3528
  );
3512
3529
 
3513
3530
  //
3514
- var script$p = {
3531
+ var script$q = {
3515
3532
  name: 'ele-step-model',
3516
3533
  props: {
3517
3534
  stepMeta: {
@@ -3693,10 +3710,10 @@ var script$p = {
3693
3710
  };
3694
3711
 
3695
3712
  /* script */
3696
- const __vue_script__$p = script$p;
3713
+ const __vue_script__$q = script$q;
3697
3714
 
3698
3715
  /* template */
3699
- var __vue_render__$p = function () {
3716
+ var __vue_render__$q = function () {
3700
3717
  var _vm = this;
3701
3718
  var _h = _vm.$createElement;
3702
3719
  var _c = _vm._self._c || _h;
@@ -3762,34 +3779,34 @@ var __vue_render__$p = function () {
3762
3779
  ),
3763
3780
  ])
3764
3781
  };
3765
- var __vue_staticRenderFns__$p = [];
3766
- __vue_render__$p._withStripped = true;
3782
+ var __vue_staticRenderFns__$q = [];
3783
+ __vue_render__$q._withStripped = true;
3767
3784
 
3768
3785
  /* style */
3769
- const __vue_inject_styles__$p = function (inject) {
3786
+ const __vue_inject_styles__$q = function (inject) {
3770
3787
  if (!inject) return
3771
3788
  inject("data-v-6dcfdd30_0", { source: ".ele-step-model__wrapper[data-v-6dcfdd30] {\n width: 100%;\n height: 100vh;\n position: relative;\n}\n.ele-step-model__wrapper .ele-step-model__step--wrapper[data-v-6dcfdd30] {\n width: 100%;\n height: 64px;\n padding: 16px;\n display: flex;\n flex-direction: row;\n align-items: center;\n background: #fff;\n}\n.ele-step-model__wrapper .ele-step-model__step--wrapper .ele-steps .ant-steps-item[data-v-6dcfdd30] {\n text-align: left;\n}\n.ele-step-model__wrapper .ele-step-model__content--wrapper[data-v-6dcfdd30] {\n width: 100%;\n width: 100%;\n margin-top: 16px;\n margin-bottom: 16px;\n height: calc(100vh - 64px - 64px - 16px - 16px);\n overflow: auto;\n}\n.ele-step-model__wrapper .ele-step-model__footer--wrapper[data-v-6dcfdd30] {\n width: 100%;\n height: 64px;\n background: #fff;\n position: absolute;\n bottom: 0;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: end;\n}\n\n/*# sourceMappingURL=index.vue.map */", map: {"version":3,"sources":["E:\\work\\code\\ganjiao\\ganjian-monorepo\\packages\\components\\packages\\models\\step-model\\src\\index.vue","index.vue"],"names":[],"mappings":"AA+KA;EACA,WAAA;EACA,aAAA;EACA,kBAAA;AC9KA;AD+KA;EACA,WAAA;EACA,YAAA;EACA,aAAA;EACA,aAAA;EACA,mBAAA;EACA,mBAAA;EACA,gBAAA;AC7KA;AD+KA;EACA,gBAAA;AC7KA;ADiLA;EACA,WAAA;EACA,WAAA;EACA,gBAAA;EACA,mBAAA;EACA,+CAAA;EACA,cAAA;AC/KA;ADiLA;EACA,WAAA;EACA,YAAA;EACA,gBAAA;EACA,kBAAA;EACA,SAAA;EACA,aAAA;EACA,mBAAA;EACA,mBAAA;EACA,oBAAA;AC/KA;;AAEA,oCAAoC","file":"index.vue","sourcesContent":["<template>\r\n <div class=\"ele-step-model__wrapper\">\r\n <div class=\"ele-step-model__step--wrapper\">\r\n <a-steps class=\"ele-steps\" :current=\"current\" size=\"small\">\r\n <a-step v-for=\"step in elements\" :title=\"step.title\" :key=\"step.key\" />\r\n </a-steps>\r\n </div>\r\n <div class=\"ele-step-model__content--wrapper\">\r\n <template v-for=\"name in scopedSlotsNames\">\r\n <div :key=\"name\" v-if=\"currentSlotName == name\" :class=\"['ele-step-model__slot', `ele-step-model__slot--${name}`]\">\r\n <slot :name=\"name\"></slot>\r\n </div>\r\n </template>\r\n </div>\r\n <div class=\"ele-step-model__footer--wrapper\">\r\n <ele-button-group v-on=\"assignAttrForEvents\" :data-source=\"footerElements\"></ele-button-group>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { BUILT_IN_EVENT_NAMES } from '../../../utils'\r\nimport { parse } from '@idooel/expression'\r\nimport { type } from '@idooel/shared'\r\nexport default {\r\n name: 'ele-step-model',\r\n props: {\r\n stepMeta: {\r\n type: Object,\r\n default: () => ({})\r\n },\r\n footerMeta: {\r\n type: Object,\r\n default: () => ({})\r\n }\r\n },\r\n data() {\r\n return {\r\n current: 0,\r\n currentSlotComponentRef: null,\r\n innerFooterElements: []\r\n }\r\n },\r\n computed: {\r\n routeMetaDisabled () {\r\n return this.executeMetaDisabledExpression(this.$route.meta.disabled)\r\n },\r\n expressionData () {\r\n return {\r\n current: this.current,\r\n _route: this.$route.query,\r\n _routeMeta: this.$route.meta\r\n }\r\n },\r\n currentSlotName () {\r\n return this.scopedSlotsNames[this.current]\r\n },\r\n footerElements () {\r\n return this.innerFooterElements\r\n },\r\n assignAttrForEvents () {\r\n const events = this.footerElements.reduce((ret, ele) => {\r\n ret[ele.eventName] = (e) => {\r\n this.evalShowExpressionForFooterElements()\r\n this.$emit(ele.eventName || 'click', { ...e, exposed: this.exposedMethods })\r\n }\r\n return ret\r\n }, {})\r\n return {\r\n ...this.$listeners,\r\n ...events,\r\n [BUILT_IN_EVENT_NAMES.NEXT]: this[BUILT_IN_EVENT_NAMES.NEXT],\r\n [BUILT_IN_EVENT_NAMES.PREVIOUS]: this[BUILT_IN_EVENT_NAMES.PREVIOUS],\r\n [BUILT_IN_EVENT_NAMES.SUBMIT]: this[BUILT_IN_EVENT_NAMES.SUBMIT]\r\n }\r\n },\r\n activeIndex () {\r\n const { activeIndex } = this.stepMeta\r\n return activeIndex\r\n },\r\n elements () {\r\n const { elements } = this.stepMeta\r\n return elements\r\n },\r\n scopedSlotsNames () {\r\n const slotNames = this.elements.map(item => item.key)\r\n return slotNames\r\n },\r\n exposedMethods () {\r\n return {\r\n slotRef: this.currentSlotComponentRef,\r\n setCurrentStep: this.setCurrentStep,\r\n next: this.nextStep,\r\n prev: this.prevStep,\r\n current: this.current\r\n }\r\n }\r\n },\r\n watch: {\r\n activeIndex: {\r\n handler (idx) {\r\n this.current = idx\r\n },\r\n immediate: true\r\n },\r\n current: {\r\n handler () {\r\n this.$nextTick(() => {\r\n this.currentSlotComponentRef = this.getCurrentSlotComponentRef()\r\n })\r\n },\r\n immediate: true\r\n }\r\n },\r\n created () {\r\n const { elements } = this.footerMeta\r\n this.innerFooterElements = elements.call(this)\r\n this.evalShowExpressionForFooterElements()\r\n },\r\n methods: {\r\n executeMetaDisabledExpression (expression) {\r\n if (type.isBool(expression)) return expression\r\n if (type.isEmpty(expression)) return false\r\n return parse(expression, { ...this.expressionData })\r\n },\r\n evalShowExpressionForFooterElements () {\r\n this.innerFooterElements = this.innerFooterElements.map(element => {\r\n const { show, key, eventName } = element\r\n if(key == BUILT_IN_EVENT_NAMES.SUBMIT || eventName == BUILT_IN_EVENT_NAMES.SUBMIT) {\r\n // built in submit button should according to the route meta disabled\r\n this.$set(element, '_show', parse(show, this.expressionData) && !this.routeMetaDisabled)\r\n return element\r\n }\r\n show && this.$set(element, '_show', parse(show, this.expressionData))\r\n return element\r\n })\r\n },\r\n getCurrentSlotComponentRef () {\r\n const includeMetaCmp = this.$children.find(child => child.meta)\r\n if (!includeMetaCmp) return null\r\n const { $children: components } = includeMetaCmp\r\n const target = components.find(cmp => cmp.$options._componentTag === 'ele-tpl')\r\n return target.getModel ? target.getModel() : null\r\n },\r\n setCurrentStep (index) {\r\n this.current = index\r\n this.evalShowExpressionForFooterElements()\r\n },\r\n nextStep () {\r\n if (this.current >= this.elements.length - 1) return\r\n this.current ++\r\n this.evalShowExpressionForFooterElements()\r\n },\r\n prevStep () {\r\n if (this.current <= 0) return\r\n this.current --\r\n this.evalShowExpressionForFooterElements()\r\n },\r\n [BUILT_IN_EVENT_NAMES.NEXT] (props) {\r\n this.$emit(BUILT_IN_EVENT_NAMES.NEXT, { ...props, exposed: { ...this.exposedMethods } })\r\n },\r\n [BUILT_IN_EVENT_NAMES.PREVIOUS] (props) {\r\n this.$emit(BUILT_IN_EVENT_NAMES.PREVIOUS, { ...props, exposed: { ...this.exposedMethods } })\r\n },\r\n [BUILT_IN_EVENT_NAMES.SUBMIT] (props) {\r\n const currentComponent = this.getCurrentSlotComponentRef() || {}\r\n const hasSubmitMethod = currentComponent.hasOwnProperty(BUILT_IN_EVENT_NAMES.SUBMIT)\r\n hasSubmitMethod && currentComponent[BUILT_IN_EVENT_NAMES.SUBMIT]()\r\n this.$emit(BUILT_IN_EVENT_NAMES.SUBMIT, { ...props, exposed: { ...this.exposedMethods } })\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.ele-step-model__wrapper {\r\n width: 100%;\r\n height: 100vh;\r\n position: relative;\r\n .ele-step-model__step--wrapper {\r\n width: 100%;\r\n height: 64px;\r\n padding: 16px;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n background: #fff;\r\n .ele-steps {\r\n .ant-steps-item {\r\n text-align: left;\r\n }\r\n }\r\n }\r\n .ele-step-model__content--wrapper {\r\n width: 100%;\r\n width: 100%;\r\n margin-top: 16px;\r\n margin-bottom: 16px;\r\n height: calc(100vh - 64px - 64px - 16px - 16px);\r\n overflow: auto;\r\n }\r\n .ele-step-model__footer--wrapper {\r\n width: 100%;\r\n height: 64px;\r\n background: #fff;\r\n position: absolute;\r\n bottom: 0;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n justify-content: end;\r\n }\r\n}\r\n</style>import meta from '@/views/tree-table-page/meta'import meta from '@/views/tree-table-page/meta'\r\n\r\n",".ele-step-model__wrapper {\n width: 100%;\n height: 100vh;\n position: relative;\n}\n.ele-step-model__wrapper .ele-step-model__step--wrapper {\n width: 100%;\n height: 64px;\n padding: 16px;\n display: flex;\n flex-direction: row;\n align-items: center;\n background: #fff;\n}\n.ele-step-model__wrapper .ele-step-model__step--wrapper .ele-steps .ant-steps-item {\n text-align: left;\n}\n.ele-step-model__wrapper .ele-step-model__content--wrapper {\n width: 100%;\n width: 100%;\n margin-top: 16px;\n margin-bottom: 16px;\n height: calc(100vh - 64px - 64px - 16px - 16px);\n overflow: auto;\n}\n.ele-step-model__wrapper .ele-step-model__footer--wrapper {\n width: 100%;\n height: 64px;\n background: #fff;\n position: absolute;\n bottom: 0;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: end;\n}\n\n/*# sourceMappingURL=index.vue.map */"]}, media: undefined });
3772
3789
 
3773
3790
  };
3774
3791
  /* scoped */
3775
- const __vue_scope_id__$p = "data-v-6dcfdd30";
3792
+ const __vue_scope_id__$q = "data-v-6dcfdd30";
3776
3793
  /* module identifier */
3777
- const __vue_module_identifier__$p = undefined;
3794
+ const __vue_module_identifier__$q = undefined;
3778
3795
  /* functional template */
3779
- const __vue_is_functional_template__$p = false;
3796
+ const __vue_is_functional_template__$q = false;
3780
3797
  /* style inject SSR */
3781
3798
 
3782
3799
  /* style inject shadow dom */
3783
3800
 
3784
3801
 
3785
3802
 
3786
- const __vue_component__$p = /*#__PURE__*/normalizeComponent(
3787
- { render: __vue_render__$p, staticRenderFns: __vue_staticRenderFns__$p },
3788
- __vue_inject_styles__$p,
3789
- __vue_script__$p,
3790
- __vue_scope_id__$p,
3791
- __vue_is_functional_template__$p,
3792
- __vue_module_identifier__$p,
3803
+ const __vue_component__$q = /*#__PURE__*/normalizeComponent(
3804
+ { render: __vue_render__$q, staticRenderFns: __vue_staticRenderFns__$q },
3805
+ __vue_inject_styles__$q,
3806
+ __vue_script__$q,
3807
+ __vue_scope_id__$q,
3808
+ __vue_is_functional_template__$q,
3809
+ __vue_module_identifier__$q,
3793
3810
  false,
3794
3811
  createInjector,
3795
3812
  undefined,
@@ -3797,7 +3814,7 @@ __vue_render__$p._withStripped = true;
3797
3814
  );
3798
3815
 
3799
3816
  //
3800
- var script$o = {
3817
+ var script$p = {
3801
3818
  name: 'ele-tpl',
3802
3819
  props: {
3803
3820
  modelName: {
@@ -3805,10 +3822,10 @@ var script$o = {
3805
3822
  }
3806
3823
  },
3807
3824
  components: {
3825
+ [__vue_component__$t.name]: __vue_component__$t,
3808
3826
  [__vue_component__$s.name]: __vue_component__$s,
3809
- [__vue_component__$r.name]: __vue_component__$r,
3810
- [__vue_component__$p.name]: __vue_component__$p,
3811
- [__vue_component__$q.name]: __vue_component__$q
3827
+ [__vue_component__$q.name]: __vue_component__$q,
3828
+ [__vue_component__$r.name]: __vue_component__$r
3812
3829
  },
3813
3830
  computed: {
3814
3831
  modelNameValidator() {
@@ -3830,10 +3847,10 @@ var script$o = {
3830
3847
  };
3831
3848
 
3832
3849
  /* script */
3833
- const __vue_script__$o = script$o;
3850
+ const __vue_script__$p = script$p;
3834
3851
 
3835
3852
  /* template */
3836
- var __vue_render__$o = function () {
3853
+ var __vue_render__$p = function () {
3837
3854
  var _vm = this;
3838
3855
  var _h = _vm.$createElement;
3839
3856
  var _c = _vm._self._c || _h;
@@ -3871,44 +3888,44 @@ var __vue_render__$o = function () {
3871
3888
  domProps: { innerHTML: _vm._s(_vm.modelNameValidator.message) },
3872
3889
  })
3873
3890
  };
3874
- var __vue_staticRenderFns__$o = [];
3875
- __vue_render__$o._withStripped = true;
3891
+ var __vue_staticRenderFns__$p = [];
3892
+ __vue_render__$p._withStripped = true;
3876
3893
 
3877
3894
  /* style */
3878
- const __vue_inject_styles__$o = function (inject) {
3895
+ const __vue_inject_styles__$p = function (inject) {
3879
3896
  if (!inject) return
3880
3897
  inject("data-v-24bbf2fd_0", { source: ".has-error .ele-upload__wrapper .ele-upload__inner {\n border-color: #F5222D;\n}\n.has-error .ele-upload__wrapper .ele-upload__inner .ele-upload__area .ele-upload__area--icon .anticon-cloud-upload {\n color: #F5222D;\n}\n.has-error .ele-upload__wrapper .ele-upload__inner .ele-upload__area .ele-upload__area--text .ele-upload__message {\n color: #F5222D;\n}\n.has-error .ele-upload__wrapper .ele-upload__inner .ele-upload__area .ele-upload__area--text .ele-upload__ext {\n color: #FFA39E;\n}\n.margin-t-8 {\n margin-top: 8px;\n}\n:root {\n --idooel-primary-color: #1890FF;\n --idoole-black-02: rgba(0, 0, 0, 0.04);\n --idoole-black-06: rgba(0, 0, 0, 0.44);\n --idoole-black-07: rgba(0, 0, 0, 0.64);\n --idoole-black-064: rgba(0, 0, 0, 0.64);\n --idoole-black-088: rgba(0, 0, 0, 0.88);\n --idoole-black-016: rgba(0, 0, 0, 0.16);\n --idooel-disabled-border-color: rgba(0, 0, 0, 0.16);\n --idoole-success-06: #52C41A;\n --idoole-warning-06: #FAAD14;\n --idoole-error-06: #F5222D;\n --idooel-border-width: 2;\n --idooel-border-color: #53a8ff;\n --idooel-column-border-width: 1;\n --idooel-column-border-color: #d9ecff;\n --idooel-row-even-color: #F0FAFF;\n --idooel-row-odd-color: #FFF;\n --idooel-form-title-border-color: rgba(0, 0, 0, 0.16);\n --idooel-form-upload-bg-color: rgba(0, 0, 0, 0.02);\n --idooel-form-upload-border-hover-color: #40A9FF;\n --idooel-form-border-radius: 2px;\n --idooel-form-border-err-color: #F5222D;\n --idooel-link-06: #1890FF;\n --idooel-link-03: #91D5FF;\n --idooel-img-crop-err-color: #FFA39E;\n}\n.ant-input-disabled {\n border-color: var(--idooel-disabled-border-color) !important;\n}\n.ant-select-disabled .ant-select-selection {\n border-color: var(--idooel-disabled-border-color) !important;\n}\n\n/*# sourceMappingURL=index.vue.map */", map: {"version":3,"sources":["index.vue"],"names":[],"mappings":"AAAA;EACE,qBAAqB;AACvB;AACA;EACE,cAAc;AAChB;AACA;EACE,cAAc;AAChB;AACA;EACE,cAAc;AAChB;AAEA;EACE,eAAe;AACjB;AAEA;EACE,+BAA+B;EAC/B,sCAAsC;EACtC,sCAAsC;EACtC,sCAAsC;EACtC,uCAAuC;EACvC,uCAAuC;EACvC,uCAAuC;EACvC,mDAAmD;EACnD,4BAA4B;EAC5B,4BAA4B;EAC5B,0BAA0B;EAC1B,wBAAwB;EACxB,8BAA8B;EAC9B,+BAA+B;EAC/B,qCAAqC;EACrC,gCAAgC;EAChC,4BAA4B;EAC5B,qDAAqD;EACrD,kDAAkD;EAClD,gDAAgD;EAChD,gCAAgC;EAChC,uCAAuC;EACvC,yBAAyB;EACzB,yBAAyB;EACzB,oCAAoC;AACtC;AAEA;EACE,4DAA4D;AAC9D;AAEA;EACE,4DAA4D;AAC9D;;AAEA,oCAAoC","file":"index.vue","sourcesContent":[".has-error .ele-upload__wrapper .ele-upload__inner {\n border-color: #F5222D;\n}\n.has-error .ele-upload__wrapper .ele-upload__inner .ele-upload__area .ele-upload__area--icon .anticon-cloud-upload {\n color: #F5222D;\n}\n.has-error .ele-upload__wrapper .ele-upload__inner .ele-upload__area .ele-upload__area--text .ele-upload__message {\n color: #F5222D;\n}\n.has-error .ele-upload__wrapper .ele-upload__inner .ele-upload__area .ele-upload__area--text .ele-upload__ext {\n color: #FFA39E;\n}\n\n.margin-t-8 {\n margin-top: 8px;\n}\n\n:root {\n --idooel-primary-color: #1890FF;\n --idoole-black-02: rgba(0, 0, 0, 0.04);\n --idoole-black-06: rgba(0, 0, 0, 0.44);\n --idoole-black-07: rgba(0, 0, 0, 0.64);\n --idoole-black-064: rgba(0, 0, 0, 0.64);\n --idoole-black-088: rgba(0, 0, 0, 0.88);\n --idoole-black-016: rgba(0, 0, 0, 0.16);\n --idooel-disabled-border-color: rgba(0, 0, 0, 0.16);\n --idoole-success-06: #52C41A;\n --idoole-warning-06: #FAAD14;\n --idoole-error-06: #F5222D;\n --idooel-border-width: 2;\n --idooel-border-color: #53a8ff;\n --idooel-column-border-width: 1;\n --idooel-column-border-color: #d9ecff;\n --idooel-row-even-color: #F0FAFF;\n --idooel-row-odd-color: #FFF;\n --idooel-form-title-border-color: rgba(0, 0, 0, 0.16);\n --idooel-form-upload-bg-color: rgba(0, 0, 0, 0.02);\n --idooel-form-upload-border-hover-color: #40A9FF;\n --idooel-form-border-radius: 2px;\n --idooel-form-border-err-color: #F5222D;\n --idooel-link-06: #1890FF;\n --idooel-link-03: #91D5FF;\n --idooel-img-crop-err-color: #FFA39E;\n}\n\n.ant-input-disabled {\n border-color: var(--idooel-disabled-border-color) !important;\n}\n\n.ant-select-disabled .ant-select-selection {\n border-color: var(--idooel-disabled-border-color) !important;\n}\n\n/*# sourceMappingURL=index.vue.map */"]}, media: undefined });
3881
3898
 
3882
3899
  };
3883
3900
  /* scoped */
3884
- const __vue_scope_id__$o = undefined;
3901
+ const __vue_scope_id__$p = undefined;
3885
3902
  /* module identifier */
3886
- const __vue_module_identifier__$o = undefined;
3903
+ const __vue_module_identifier__$p = undefined;
3887
3904
  /* functional template */
3888
- const __vue_is_functional_template__$o = false;
3905
+ const __vue_is_functional_template__$p = false;
3889
3906
  /* style inject SSR */
3890
3907
 
3891
3908
  /* style inject shadow dom */
3892
3909
 
3893
3910
 
3894
3911
 
3895
- const __vue_component__$o = /*#__PURE__*/normalizeComponent(
3896
- { render: __vue_render__$o, staticRenderFns: __vue_staticRenderFns__$o },
3897
- __vue_inject_styles__$o,
3898
- __vue_script__$o,
3899
- __vue_scope_id__$o,
3900
- __vue_is_functional_template__$o,
3901
- __vue_module_identifier__$o,
3912
+ const __vue_component__$p = /*#__PURE__*/normalizeComponent(
3913
+ { render: __vue_render__$p, staticRenderFns: __vue_staticRenderFns__$p },
3914
+ __vue_inject_styles__$p,
3915
+ __vue_script__$p,
3916
+ __vue_scope_id__$p,
3917
+ __vue_is_functional_template__$p,
3918
+ __vue_module_identifier__$p,
3902
3919
  false,
3903
3920
  createInjector,
3904
3921
  undefined,
3905
3922
  undefined
3906
3923
  );
3907
3924
 
3908
- __vue_component__$o.install = Vue => Vue.component(__vue_component__$o.name, __vue_component__$o);
3925
+ __vue_component__$p.install = Vue => Vue.component(__vue_component__$p.name, __vue_component__$p);
3909
3926
 
3910
3927
  //
3911
- var script$n = {
3928
+ var script$o = {
3912
3929
  name: 'ele-form',
3913
3930
  props: {
3914
3931
  disabled: {
@@ -4032,10 +4049,10 @@ var script$n = {
4032
4049
  };
4033
4050
 
4034
4051
  /* script */
4035
- const __vue_script__$n = script$n;
4052
+ const __vue_script__$o = script$o;
4036
4053
 
4037
4054
  /* template */
4038
- var __vue_render__$n = function () {
4055
+ var __vue_render__$o = function () {
4039
4056
  var _vm = this;
4040
4057
  var _h = _vm.$createElement;
4041
4058
  var _c = _vm._self._c || _h;
@@ -4423,41 +4440,41 @@ var __vue_render__$n = function () {
4423
4440
  1
4424
4441
  )
4425
4442
  };
4426
- var __vue_staticRenderFns__$n = [];
4427
- __vue_render__$n._withStripped = true;
4443
+ var __vue_staticRenderFns__$o = [];
4444
+ __vue_render__$o._withStripped = true;
4428
4445
 
4429
4446
  /* style */
4430
- const __vue_inject_styles__$n = function (inject) {
4447
+ const __vue_inject_styles__$o = function (inject) {
4431
4448
  if (!inject) return
4432
4449
  inject("data-v-6c14100d_0", { source: ".ele__form--wrapper[data-v-6c14100d] {\n background: #fff;\n}\n\n/*# sourceMappingURL=index.vue.map */", map: {"version":3,"sources":["E:\\work\\code\\ganjiao\\ganjian-monorepo\\packages\\components\\packages\\form\\src\\index.vue","index.vue"],"names":[],"mappings":"AAuOA;EACA,gBAAA;ACtOA;;AAEA,oCAAoC","file":"index.vue","sourcesContent":["<template>\r\n <div class=\"ele__form--wrapper\">\r\n <a-form :form=\"form\" layout=\"vertical\" class=\"ant-advanced-search-form\">\r\n <a-row :gutter=\"24\">\r\n <template v-for=\"ele in elements\">\r\n <a-col v-if=\"executeExpression(ele._show)\" :span=\"ele.span\" :key=\"ele.name\">\r\n <template v-if=\"ele.type == 'Input'\">\r\n <a-form-item :label=\"`${ele.label}:`\">\r\n <ele-input \r\n @change=\"onChange($event, ele)\" \r\n :disabled=\"executeExpression(ele._disabled)\" \r\n :max-length=\"ele.maxLength\" \r\n v-decorator=\"[ele.name, { rules: ele.rules }]\" \r\n style=\"width:100%;\">\r\n </ele-input>\r\n </a-form-item>\r\n </template>\r\n <template v-else-if=\"ele.type == 'Textarea'\">\r\n <a-form-item :label=\"`${ele.label}:`\">\r\n <ele-textarea \r\n @change=\"onChange($event, ele)\"\r\n :max-length=\"ele.maxLength\"\r\n :autosize=\"ele.autosize\"\r\n :disabled=\"executeExpression(ele._disabled)\"\r\n :allow-clear=\"ele.allowClear\"\r\n :placeholder=\"ele.placeholder\"\r\n v-decorator=\"[ele.name, { rules: ele.rules }]\"\r\n style=\"width:100%;\">\r\n </ele-textarea>\r\n </a-form-item>\r\n </template>\r\n <template v-else-if=\"ele.type == 'Select'\">\r\n <a-form-item :label=\"`${ele.label}:`\">\r\n <ele-select \r\n :data-source=\"ele.optionList\" \r\n :disabled=\"executeExpression(ele._disabled)\"\r\n :multiple=\"ele.multiple\"\r\n :mode=\"ele.mode\"\r\n :code=\"ele.code\" \r\n :params=\"ele.params\" \r\n @change=\"onChange($event, ele)\"\r\n v-decorator=\"[ele.name, { rules: ele.rules }]\" \r\n style=\"width:100%;\">\r\n </ele-select>\r\n </a-form-item>\r\n </template>\r\n <template v-else-if=\"ele.type == 'ele-upload'\">\r\n <a-form-item :label=\"`${ele.label}:`\">\r\n <ele-upload v-decorator=\"[ele.name, { rules: ele.rules }]\" \r\n :ext=\"ele.ext\" \r\n :message=\"ele.message\" \r\n style=\"width:100%;\">\r\n </ele-upload>\r\n </a-form-item>\r\n </template>\r\n <template v-else-if=\"ele.type == 'ele-date-range'\">\r\n <a-form-item :label=\"`${ele.label}:`\">\r\n <ele-date-range \r\n :disabled=\"executeExpression(ele._disabled)\" \r\n v-decorator=\"[ele.name, { rules: ele.rules }]\" \r\n style=\"width:100%;\">\r\n </ele-date-range>\r\n </a-form-item>\r\n </template>\r\n <template v-else-if=\"ele.type == 'ele-date'\">\r\n <a-form-item :label=\"`${ele.label}:`\">\r\n <ele-date\r\n :format=\"ele.format\"\r\n :mode=\"ele.mode\"\r\n :show-time=\"ele.showTime\"\r\n :show-today=\"ele.showToday\"\r\n :value-format=\"ele.valueFormat\"\r\n :disabled=\"executeExpression(ele._disabled)\" \r\n v-decorator=\"[ele.name, { rules: ele.rules }]\" \r\n style=\"width:100%;\">\r\n </ele-date>\r\n </a-form-item>\r\n </template>\r\n <template v-else-if=\"ele.type == 'SelectEntity'\">\r\n <a-form-item :label=\"`${ele.label}:`\">\r\n <ele-select-entity \r\n v-decorator=\"[ele.name, { rules: ele.rules }]\" \r\n style=\"width:100%;\">\r\n </ele-select-entity>\r\n </a-form-item>\r\n </template>\r\n <template v-else-if=\"ele.type == 'InputNumber'\">\r\n <a-form-item :label=\"`${ele.label}:`\">\r\n <ele-input-number \r\n @change=\"onChange($event, ele)\" \r\n :precision=\"ele.precision\" \r\n :disabled=\"executeExpression(ele._disabled)\" \r\n v-decorator=\"[ele.name, { rules: ele.rules }]\" \r\n v-bind=\"ele.props\" \r\n style=\"width:100%;\">\r\n </ele-input-number>\r\n </a-form-item>\r\n </template>\r\n <template v-else-if=\"ele.type == 'Checkbox'\">\r\n <a-form-item :label=\"`${ele.label}:`\">\r\n <ele-checkbox \r\n :data-source=\"ele.optionList\" \r\n :disabled=\"executeExpression(ele._disabled)\" \r\n v-decorator=\"[ele.name, { rules: ele.rules }]\" \r\n style=\"width:100%;\">\r\n </ele-checkbox>\r\n </a-form-item>\r\n </template>\r\n <template v-else-if=\"ele.type == 'Radio'\">\r\n <a-form-item :label=\"`${ele.label}:`\">\r\n <ele-radio \r\n @change=\"onChange($event, ele)\" \r\n :disabled=\"executeExpression(ele._disabled)\" \r\n :data-source=\"ele.optionList\" \r\n v-decorator=\"[ele.name, { rules: ele.rules }]\" \r\n style=\"width:100%;\">\r\n </ele-radio>\r\n </a-form-item>\r\n </template>\r\n </a-col>\r\n </template>\r\n </a-row>\r\n </a-form>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { parse } from '@idooel/expression'\r\nimport { type } from '@idooel/shared'\r\nexport default {\r\n name: 'ele-form',\r\n props: {\r\n disabled: {\r\n type: [Boolean, String],\r\n default: '_routeMeta.disabled'\r\n },\r\n formName: {\r\n type: [Number, String],\r\n default: 'coordinated'\r\n },\r\n elements: {\r\n type: Array,\r\n default: () => []\r\n }\r\n },\r\n data () {\r\n return {}\r\n },\r\n computed: {\r\n globalDisabled () {\r\n return this.executeExpression(this.disabled)\r\n },\r\n form () {\r\n return this.$form.createForm(this, { name: this.formName })\r\n },\r\n exposedMethods () {\r\n return {\r\n setFieldsValue: this.setFieldsValue,\r\n getFieldsValue: this.getFieldsValue\r\n }\r\n }\r\n },\r\n methods: {\r\n dispatchExpression () {\r\n this.evalDisabledExpression()\r\n this.evalShowExpression()\r\n },\r\n evalDisabledExpression () {\r\n this.elements.forEach(ele => {\r\n if (this.globalDisabled) return this.$set(ele, '_disabled', true)\r\n const { disabled } = ele\r\n const ret = this.executeExpression(disabled)\r\n this.$set(ele, '_disabled', ret)\r\n })\r\n },\r\n evalShowExpression () {\r\n this.elements.forEach(ele => {\r\n const { show = true } = ele\r\n const ret = this.executeExpression(show)\r\n this.$set(ele, '_show', ret)\r\n })\r\n },\r\n executeExpression (expression) {\r\n if (type.isBool(expression)) return expression\r\n if (type.isEmpty(expression)) return false\r\n return parse(expression, { ...this.getFieldsValue(), _route: this.$route.query, _routeMeta: this.$route.meta })\r\n },\r\n onChange (value, props) {\r\n const { name } = props\r\n this.setFieldsValue({ [name]: value })\r\n this.dispatchExpression()\r\n this.$emit('change', { value, props, exposed: { ...this.exposedMethods } })\r\n },\r\n collectDefaultValues () {\r\n const ret = this.elements.reduce((ret, props) => {\r\n const { name, defaultValue } = props\r\n if (defaultValue) {\r\n ret[name] = defaultValue\r\n }\r\n return ret\r\n }, {})\r\n return ret\r\n },\r\n setDefaultValues () {\r\n const defaultValues = this.collectDefaultValues()\r\n this.setFieldsValue(defaultValues)\r\n },\r\n validateFields () {\r\n let ret = false\r\n this.form.validateFields((error, values) => {\r\n ret = !error\r\n })\r\n return ret\r\n },\r\n setFieldsValue (props = {}) {\r\n this.form.setFieldsValue(props)\r\n },\r\n getFieldsValue () {\r\n return this.form.getFieldsValue()\r\n }\r\n },\r\n mounted() {\r\n this.dispatchExpression()\r\n this.$nextTick(() => {\r\n this.setDefaultValues()\r\n })\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.ele__form--wrapper {\r\n background: #fff;\r\n .ant-form-item {\r\n }\r\n}\r\n</style>",".ele__form--wrapper {\n background: #fff;\n}\n\n/*# sourceMappingURL=index.vue.map */"]}, media: undefined });
4433
4450
 
4434
4451
  };
4435
4452
  /* scoped */
4436
- const __vue_scope_id__$n = "data-v-6c14100d";
4453
+ const __vue_scope_id__$o = "data-v-6c14100d";
4437
4454
  /* module identifier */
4438
- const __vue_module_identifier__$n = undefined;
4455
+ const __vue_module_identifier__$o = undefined;
4439
4456
  /* functional template */
4440
- const __vue_is_functional_template__$n = false;
4457
+ const __vue_is_functional_template__$o = false;
4441
4458
  /* style inject SSR */
4442
4459
 
4443
4460
  /* style inject shadow dom */
4444
4461
 
4445
4462
 
4446
4463
 
4447
- const __vue_component__$n = /*#__PURE__*/normalizeComponent(
4448
- { render: __vue_render__$n, staticRenderFns: __vue_staticRenderFns__$n },
4449
- __vue_inject_styles__$n,
4450
- __vue_script__$n,
4451
- __vue_scope_id__$n,
4452
- __vue_is_functional_template__$n,
4453
- __vue_module_identifier__$n,
4464
+ const __vue_component__$o = /*#__PURE__*/normalizeComponent(
4465
+ { render: __vue_render__$o, staticRenderFns: __vue_staticRenderFns__$o },
4466
+ __vue_inject_styles__$o,
4467
+ __vue_script__$o,
4468
+ __vue_scope_id__$o,
4469
+ __vue_is_functional_template__$o,
4470
+ __vue_module_identifier__$o,
4454
4471
  false,
4455
4472
  createInjector,
4456
4473
  undefined,
4457
4474
  undefined
4458
4475
  );
4459
4476
 
4460
- __vue_component__$n.install = Vue => Vue.component(__vue_component__$n.name, __vue_component__$n);
4477
+ __vue_component__$o.install = Vue => Vue.component(__vue_component__$o.name, __vue_component__$o);
4461
4478
 
4462
4479
  //
4463
4480
  //
@@ -4471,7 +4488,7 @@ __vue_component__$n.install = Vue => Vue.component(__vue_component__$n.name, __v
4471
4488
  //
4472
4489
  //
4473
4490
 
4474
- var script$m = {
4491
+ var script$n = {
4475
4492
  name: 'ele-alert',
4476
4493
  props: {
4477
4494
  type: {
@@ -4500,10 +4517,10 @@ var script$m = {
4500
4517
  };
4501
4518
 
4502
4519
  /* script */
4503
- const __vue_script__$m = script$m;
4520
+ const __vue_script__$n = script$n;
4504
4521
 
4505
4522
  /* template */
4506
- var __vue_render__$m = function () {
4523
+ var __vue_render__$n = function () {
4507
4524
  var _vm = this;
4508
4525
  var _h = _vm.$createElement;
4509
4526
  var _c = _vm._self._c || _h;
@@ -4519,44 +4536,44 @@ var __vue_render__$m = function () {
4519
4536
  },
4520
4537
  })
4521
4538
  };
4522
- var __vue_staticRenderFns__$m = [];
4523
- __vue_render__$m._withStripped = true;
4539
+ var __vue_staticRenderFns__$n = [];
4540
+ __vue_render__$n._withStripped = true;
4524
4541
 
4525
4542
  /* style */
4526
- const __vue_inject_styles__$m = function (inject) {
4543
+ const __vue_inject_styles__$n = function (inject) {
4527
4544
  if (!inject) return
4528
4545
  inject("data-v-5f94c62c_0", { source: ".ele-alert[data-v-5f94c62c] {\n text-align: left !important;\n}\n\n/*# sourceMappingURL=index.vue.map */", map: {"version":3,"sources":["E:\\work\\code\\ganjiao\\ganjian-monorepo\\packages\\components\\packages\\alert\\src\\index.vue","index.vue"],"names":[],"mappings":"AA0CA;EACA,2BAAA;ACzCA;;AAEA,oCAAoC","file":"index.vue","sourcesContent":["<template>\r\n <a-alert\r\n class=\"ele-alert\"\r\n :message=\"message\" \r\n :description=\"description\" \r\n :type=\"type\"\r\n :closable=\"closable\"\r\n :closeText=\"closeText\"\r\n :show-icon=\"showIcon\" />\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: 'ele-alert',\r\n props: {\r\n type: {\r\n type: String,\r\n default: 'success'\r\n },\r\n showIcon: {\r\n type: Boolean,\r\n default: true\r\n },\r\n message: {\r\n type: String,\r\n default: 'Success Tips'\r\n },\r\n description: {\r\n type: String\r\n },\r\n closable: {\r\n type: Boolean,\r\n default: true\r\n },\r\n closeText: {\r\n type: String\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.ele-alert {\r\n text-align: left !important;\r\n}\r\n</style>",".ele-alert {\n text-align: left !important;\n}\n\n/*# sourceMappingURL=index.vue.map */"]}, media: undefined });
4529
4546
 
4530
4547
  };
4531
4548
  /* scoped */
4532
- const __vue_scope_id__$m = "data-v-5f94c62c";
4549
+ const __vue_scope_id__$n = "data-v-5f94c62c";
4533
4550
  /* module identifier */
4534
- const __vue_module_identifier__$m = undefined;
4551
+ const __vue_module_identifier__$n = undefined;
4535
4552
  /* functional template */
4536
- const __vue_is_functional_template__$m = false;
4553
+ const __vue_is_functional_template__$n = false;
4537
4554
  /* style inject SSR */
4538
4555
 
4539
4556
  /* style inject shadow dom */
4540
4557
 
4541
4558
 
4542
4559
 
4543
- const __vue_component__$m = /*#__PURE__*/normalizeComponent(
4544
- { render: __vue_render__$m, staticRenderFns: __vue_staticRenderFns__$m },
4545
- __vue_inject_styles__$m,
4546
- __vue_script__$m,
4547
- __vue_scope_id__$m,
4548
- __vue_is_functional_template__$m,
4549
- __vue_module_identifier__$m,
4560
+ const __vue_component__$n = /*#__PURE__*/normalizeComponent(
4561
+ { render: __vue_render__$n, staticRenderFns: __vue_staticRenderFns__$n },
4562
+ __vue_inject_styles__$n,
4563
+ __vue_script__$n,
4564
+ __vue_scope_id__$n,
4565
+ __vue_is_functional_template__$n,
4566
+ __vue_module_identifier__$n,
4550
4567
  false,
4551
4568
  createInjector,
4552
4569
  undefined,
4553
4570
  undefined
4554
4571
  );
4555
4572
 
4556
- __vue_component__$m.install = Vue => Vue.component(__vue_component__$m.name, __vue_component__$m);
4573
+ __vue_component__$n.install = Vue => Vue.component(__vue_component__$n.name, __vue_component__$n);
4557
4574
 
4558
4575
  //
4559
- var script$l = {
4576
+ var script$m = {
4560
4577
  name: 'ele-upload',
4561
4578
  components: {
4562
4579
  FileUpload
@@ -4894,10 +4911,10 @@ var script$l = {
4894
4911
  };
4895
4912
 
4896
4913
  /* script */
4897
- const __vue_script__$l = script$l;
4914
+ const __vue_script__$m = script$m;
4898
4915
 
4899
4916
  /* template */
4900
- var __vue_render__$l = function () {
4917
+ var __vue_render__$m = function () {
4901
4918
  var _vm = this;
4902
4919
  var _h = _vm.$createElement;
4903
4920
  var _c = _vm._self._c || _h;
@@ -5058,41 +5075,41 @@ var __vue_render__$l = function () {
5058
5075
  1
5059
5076
  )
5060
5077
  };
5061
- var __vue_staticRenderFns__$l = [];
5062
- __vue_render__$l._withStripped = true;
5078
+ var __vue_staticRenderFns__$m = [];
5079
+ __vue_render__$m._withStripped = true;
5063
5080
 
5064
5081
  /* style */
5065
- const __vue_inject_styles__$l = function (inject) {
5082
+ const __vue_inject_styles__$m = function (inject) {
5066
5083
  if (!inject) return
5067
5084
  inject("data-v-424e9c01_0", { source: "[data-v-424e9c01] .ele-upload__inner {\n opacity: 1 !important;\n cursor: pointer;\n border: 1px dashed var(--idooel-form-title-border-color);\n background: var(--idooel-form-upload-bg-color) !important;\n border-radius: var(--idooel-form-border-radius);\n}\n[data-v-424e9c01] .ele-upload__inner:hover {\n border-color: var(--idooel-form-upload-border-hover-color);\n}\n.ele-upload__wrapper[data-v-424e9c01] {\n width: 100%;\n}\n.ele-upload__wrapper .ele-upload__area[data-v-424e9c01] {\n padding: 16px;\n width: 100%;\n height: 80px;\n display: flex;\n flex-direction: row;\n}\n.ele-upload__wrapper .ele-upload__area .ele-upload__area--icon[data-v-424e9c01] {\n color: var(--idooel-primary-color);\n display: flex;\n flex-direction: row;\n align-items: center;\n font-size: 16x;\n}\n.ele-upload__wrapper .ele-upload__area .ele-upload__area--icon .anticon-cloud-upload[data-v-424e9c01] {\n font-size: 48px;\n color: var(--idooel-primary-color);\n}\n.ele-upload__wrapper .ele-upload__area .ele-upload__area--icon .anticon[data-v-424e9c01] {\n font-size: 48px;\n color: var(--idooel-primary-color);\n}\n.ele-upload__wrapper .ele-upload__area .ele-upload__area--text[data-v-424e9c01] {\n margin-left: 16px;\n}\n.ele-upload__wrapper .ele-upload__area .ele-upload__area--text .ele-upload__message[data-v-424e9c01] {\n font-size: 16px;\n color: var(--idoole-black-088);\n text-align: left;\n}\n.ele-upload__wrapper .ele-upload__area .ele-upload__area--text .ele-upload__ext[data-v-424e9c01] {\n text-align: left;\n font-size: 14px;\n color: var(--idoole-black-06);\n}\n.ele-upload__wrapper .ele-files__wrapper .ele-file__item[data-v-424e9c01] {\n width: 100%;\n margin-top: 8px;\n padding: 8px 12px;\n border-radius: var(--idooel-form-border-radius);\n background: var(--idooel-form-upload-bg-color);\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n.ele-upload__wrapper .ele-files__wrapper .ele-file__item .ele-file__name[data-v-424e9c01] {\n flex: 1;\n text-align: left;\n white-space: nowrap;\n overflow: hidden;\n font-size: 14px;\n margin-left: 8px;\n cursor: pointer;\n}\n.ele-upload__wrapper .ele-files__wrapper .ele-file__item .ele-file__name .ele-file__inner[data-v-424e9c01] {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.ele-upload__wrapper .ele-files__wrapper .ele-file__item .ele-file__delete[data-v-424e9c01] {\n margin-left: 8px;\n}\n.ele-upload__wrapper .ele-files__wrapper .ele-file__item .ele-file__delete .ele-file__delete--icon[data-v-424e9c01] {\n margin-left: 8px;\n cursor: pointer;\n}\n\n/*# sourceMappingURL=index.vue.map */", map: {"version":3,"sources":["E:\\work\\code\\ganjiao\\ganjian-monorepo\\packages\\components\\packages\\upload\\src\\index.vue","index.vue"],"names":[],"mappings":"AAuWA;EACA,qBAAA;EACA,eAAA;EACA,wDAAA;EACA,yDAAA;EAIA,+CAAA;ACzWA;ADsWA;EACA,0DAAA;ACpWA;ADwWA;EACA,WAAA;ACrWA;ADsWA;EACA,aAAA;EACA,WAAA;EACA,YAAA;EACA,aAAA;EACA,mBAAA;ACpWA;ADqWA;EACA,kCAAA;EACA,aAAA;EACA,mBAAA;EACA,mBAAA;EACA,cAAA;ACnWA;ADoWA;EACA,eAAA;EACA,kCAAA;AClWA;ADoWA;EACA,eAAA;EACA,kCAAA;AClWA;ADqWA;EACA,iBAAA;ACnWA;ADoWA;EACA,eAAA;EACA,8BAAA;EACA,gBAAA;AClWA;ADoWA;EACA,gBAAA;EACA,eAAA;EACA,6BAAA;AClWA;ADuWA;EACA,WAAA;EACA,eAAA;EACA,iBAAA;EACA,+CAAA;EACA,8CAAA;EACA,aAAA;EACA,mBAAA;EACA,mBAAA;ACrWA;ADuWA;EACA,OAAA;EACA,gBAAA;EACA,mBAAA;EACA,gBAAA;EACA,eAAA;EACA,gBAAA;EACA,eAAA;ACrWA;ADsWA;EACA,gBAAA;EACA,uBAAA;ACpWA;ADuWA;EACA,gBAAA;ACrWA;ADsWA;EACA,gBAAA;EACA,eAAA;ACpWA;;AAEA,oCAAoC","file":"index.vue","sourcesContent":["<template>\r\n <div class=\"ele-upload__wrapper\">\r\n <FileUpload\r\n class=\"ele-upload__inner\"\r\n v-show=\"isShowUploadContainer\"\r\n v-model=\"files\"\r\n :ref=\"uploadRef\"\r\n :drop=\"drop\"\r\n :chunk-enabled=\"chunkEnabled\"\r\n :chunk=\"chunkConfig\"\r\n :accept=\"accept\"\r\n :size=\"fileSizeLimit\"\r\n :post-action=\"postAction\"\r\n :multiple=\"multiple\"\r\n :headers=\"headers\"\r\n :maximum=\"getMaximum\"\r\n @input-file=\"onWatchInputFiles\"\r\n @input=\"onWatchFiles\"\r\n style=\"width: 100%;\">\r\n <section class=\"ele-upload__area\">\r\n <div class=\"ele-upload__area--icon\">\r\n <template v-if=\"iconIsZhWrod\">\r\n {{ icon }}\r\n </template>\r\n <template v-else>\r\n <ele-icon :type=\"icon\"></ele-icon>\r\n </template>\r\n </div>\r\n <div class=\"ele-upload__area--text\">\r\n <div class=\"ele-upload__message\" v-if=\"message\" v-html=\"message\"></div>\r\n <div class=\"ele-upload__message\" v-else>单击或拖动文件到该区域以上传</div>\r\n <div class=\"ele-upload__ext\" v-if=\"ext\" v-html=\"ext\"></div>\r\n <div class=\"ele-upload__ext\" v-else>文件小于{{ size }}M</div>\r\n </div>\r\n </section>\r\n </FileUpload>\r\n <section class=\"ele-files__wrapper\">\r\n <div class=\"ele-file__item\" v-for=\"(file, idx) in buildedFiles\" :key=\"idx\">\r\n <div class=\"ele-file__suffix--icon\">\r\n <ele-icon :type=\"fileSuffixIcon[file.suffix] ? fileSuffixIcon[file.suffix].name : 'icon-file'\"></ele-icon>\r\n </div>\r\n <div class=\"ele-file__name\">\r\n <div class=\"ele-file__inner\" @click=\"handleClickDownload(file)\">{{ file.name }}</div>\r\n <div v-if=\"(!file.success && file.progress)\" class=\"ele-uplpad__progress\">\r\n <a-progress :strokeWidth=\"2\" :percent=\"Number(file.progress)\" size=\"small\" />\r\n </div>\r\n </div>\r\n <div class=\"ele-file__delete\" v-if=\"file.success || file.error || !file.response\">\r\n <span class=\"ele-file__size\">{{ (file.size / byteConversion).toFixed(2) }}M</span>\r\n <span class=\"ele-file__delete--icon\" @click=\"handleClickDelete(file)\">\r\n <ele-icon type=\"delete\"></ele-icon>\r\n </span>\r\n </div>\r\n </div>\r\n </section>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport FileUpload from 'vue-upload-component'\r\nimport { v4 as uuidv4 } from 'uuid'\r\nimport { route, net, type } from '@idooel/shared'\r\nexport default {\r\n name: 'ele-upload',\r\n components: {\r\n FileUpload\r\n },\r\n model: {\r\n prop: 'value',\r\n event: 'change'\r\n },\r\n props: {\r\n url: {\r\n type: String,\r\n //TODO\r\n default: `zuul/api-file/workbench/file`\r\n },\r\n icon: {\r\n type: String,\r\n default: '上传'\r\n },\r\n size: {\r\n type: Number,\r\n default: 100\r\n },\r\n message: {\r\n type: String,\r\n default: '单击或拖动文件到该区域以上传'\r\n },\r\n ext: {\r\n type: String\r\n },\r\n accept: {\r\n type: String\r\n },\r\n maximum: {\r\n type: Number,\r\n default: 10\r\n },\r\n multiple: {\r\n type: Boolean,\r\n default: false\r\n },\r\n drop: {\r\n type: Boolean,\r\n default: true\r\n },\r\n value: {\r\n type: [String, Array]\r\n },\r\n querys: {\r\n type: Object,\r\n default: () => ({\r\n _csrf: localStorage.getItem('token'),\r\n _t: new Date().valueOf()\r\n })\r\n },\r\n headers: {\r\n type: Object,\r\n default: () => ({\r\n 'X-XSRF-TOKEN': localStorage.getItem('token')\r\n })\r\n },\r\n byteConversion: {\r\n type: Number,\r\n default: 1024 * 1024\r\n },\r\n chunkEnabled: {\r\n type: Boolean,\r\n default: true\r\n }\r\n },\r\n data() {\r\n return {\r\n files: [],\r\n buildedFiles: [],\r\n saveToServerAsyncPageTimer: null\r\n }\r\n },\r\n watch: {\r\n value: {\r\n async handler (value) {\r\n if (type.isArray(value)) {\r\n // multiple\r\n } else if (type.isEmpty(value)) {\r\n this.files = []\r\n this.buildedFiles = []\r\n } else {\r\n // single\r\n this.fetchFileWithFileId()\r\n }\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n prefixPath () {\r\n return window.prefixPath\r\n },\r\n iconIsZhWrod () {\r\n return type.isZhWord(this.icon)\r\n },\r\n getPayloads () {\r\n return {\r\n override: false\r\n }\r\n },\r\n chunkConfig () {\r\n return {\r\n action: `${this.prefixPath}zuul/api-file/workbench/file/temp/chunk/vue`,\r\n headers: {\r\n ...this.headers\r\n },\r\n minSize: 3 * this.byteConversion,\r\n maxActive: 3,\r\n maxRetries: 5,\r\n startBody: {\r\n override: true,\r\n path: '/cw'\r\n },\r\n uploadBody: {\r\n override: true,\r\n path: '/cw'\r\n },\r\n finishBody: {\r\n override: true,\r\n path: '/cw'\r\n }\r\n }\r\n },\r\n isFileUploadSuccessed () {\r\n return this.files.every(file => file.success)\r\n },\r\n isShowUploadContainer () {\r\n if (this.multiple) {\r\n if (this.isFileUploadSuccessed && this.buildedFiles.length >= this.maximum) {\r\n return false\r\n } else {\r\n return true\r\n }\r\n } else {\r\n const [file = {}] = this.buildedFiles\r\n if (this.buildedFiles.length < 1) {\r\n return true\r\n }\r\n if ((this.isFileUploadSuccessed && this.buildedFiles.length >= 1) || !file.response) {\r\n return false\r\n } else {\r\n return true\r\n }\r\n }\r\n },\r\n getMaximum () {\r\n return this.multiple ? this.maximum : 1\r\n },\r\n fileSizeLimit () {\r\n return this.size * this.byteConversion\r\n },\r\n postAction () {\r\n const ret = route.toQueryString(this.querys)\r\n return `${this.prefixPath}${this.url}?${ret}`\r\n },\r\n uploadRef () {\r\n return uuidv4()\r\n },\r\n fileSuffixIcon () {\r\n return {\r\n 'doc': { name: 'icon-doc' },\r\n 'html': { name: 'icon-html' },\r\n 'mp4': { name: 'icon-mp' },\r\n 'pdf': { name: 'icon-pdf' },\r\n 'ppt': { name: 'icon-ppt' },\r\n 'psd': { name: 'icon-psd' },\r\n 'rtf': { name: 'icon-rtf' },\r\n 'txt': { name: 'icon-txt' },\r\n 'vis': { name: 'icon-vis' },\r\n 'xls': { name: 'icon-xls' },\r\n 'xml': { name: 'icon-xml' },\r\n 'zip': { name: 'icon-zip' },\r\n 'jpg': { name: 'icon-img' },\r\n 'mp3': { name: 'icon-mp1' },\r\n }\r\n },\r\n fileIds () {\r\n const fileIds = this.buildedFiles.map(file => {\r\n return file.fileID\r\n })\r\n return this.multiple ? fileIds : fileIds[0]\r\n },\r\n fileResponseData () {\r\n return this.multiple ? this.buildedFiles : this.buildedFiles[0]\r\n }\r\n },\r\n methods: {\r\n async fetchFileWithFileId () {\r\n if (!this.value) return\r\n await net.get(\r\n `/api-file/file/${this.value}`\r\n ).then(resp => {\r\n const { data } = resp\r\n this.buildedFiles = [data]\r\n this.files = [data]\r\n })\r\n },\r\n handleClickDownload (file) {\r\n const { fileID: fileId } = file\r\n window.open(`api-file/workbench/file/stream/${fileId}?origin=true`)\r\n },\r\n handleClickDelete (file) {\r\n this.$refs[this.uploadRef].remove(file)\r\n const { fileID } = file\r\n this.files = this.files.filter(file => file.fileID !== fileID)\r\n this.buildedFiles = this.buildedFiles.filter(file => file.fileID !== fileID)\r\n this.$emit('change', this.fileIds)\r\n },\r\n onWatchFiles (files) {\r\n this.files = files\r\n this.buildedFiles = this.files.map(file => {\r\n return {\r\n ...file.response.data,\r\n ...file\r\n }\r\n })\r\n if (this.isFileUploadSuccessed) {\r\n this.$emit('change', this.fileIds)\r\n this.$emit('on-success', this.fileResponseData)\r\n }\r\n },\r\n async saveToServerAsyncPage (payloads = {}) {\r\n net.post('zuul/api-file/workbench/file/temp/saveToServerAsyncPage', payloads, { \r\n headers: {\r\n 'Content-Type': 'multipart/form-data'\r\n }\r\n }).then(resp =>{\r\n const { data } = resp\r\n if (data !== 'saveToServerAsyncPage') {\r\n clearInterval(this.saveToServerAsyncPageTimer)\r\n }\r\n })\r\n // const ret = await net.post({\r\n // url: 'zuul/api-file/workbench/file/temp/saveToServerAsyncPage',\r\n // method: 'POST',\r\n // data: { ...payloads }\r\n // }).then(resp => {\r\n // const { data: { data, code, message } } = resp\r\n // if (code !== '2000') {\r\n // this.$Message.error(message)\r\n // return\r\n // }\r\n // if (data !== 'saveToServerAsyncPage') {\r\n // clearInterval(timer)\r\n // const { fileID, size } = data\r\n // this.$emit('on-success', { ...data, fileId: fileID })\r\n // this.$Message.success('同步成功')\r\n // return { fileId: fileID, size }\r\n // }\r\n // })\r\n // return ret\r\n },\r\n onWatchInputFiles (newFile, oldFile) {\r\n if (newFile && !oldFile) {\r\n // add file\r\n console.log('add', newFile)\r\n }\r\n if (newFile && oldFile) {\r\n // update file\r\n console.log('update', newFile)\r\n const { success, active, chunk, response } = newFile\r\n if (chunk && success && !active) {\r\n console.log('chunk end')\r\n const { data: { file, type } } = response\r\n const payloads = {\r\n filePath: file.match(/\\/cw(.*)/)[0],\r\n asyncID: uuidv4(),\r\n isDeleteOrigin: false,\r\n toImage: type === 'pdf' ? true : false,\r\n unzip: type === 'zip' ? true : false,\r\n _csrf: localStorage.getItem('token')\r\n }\r\n this.saveToServerAsyncPageTimer = setInterval(() => {\r\n this.saveToServerAsyncPage(payloads)\r\n }, 2000)\r\n }\r\n }\r\n if (!newFile && oldFile) {\r\n // delete file\r\n console.log('delete')\r\n }\r\n if (Boolean(newFile) !== Boolean(oldFile) || oldFile.error !== newFile.error) {\r\n if (!this.$refs[this.uploadRef].active) {\r\n this.$refs[this.uploadRef].active = true\r\n }\r\n }\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n::v-deep .ele-upload__inner {\r\n opacity: 1 !important;\r\n cursor: pointer;\r\n border: 1px dashed var(--idooel-form-title-border-color);\r\n background: var(--idooel-form-upload-bg-color) !important;\r\n &:hover {\r\n border-color: var(--idooel-form-upload-border-hover-color);\r\n }\r\n border-radius: var(--idooel-form-border-radius);\r\n}\r\n.ele-upload__wrapper {\r\n width: 100%;\r\n .ele-upload__area {\r\n padding: 16px;\r\n width: 100%;\r\n height: 80px;\r\n display: flex;\r\n flex-direction: row;\r\n .ele-upload__area--icon {\r\n color: var(--idooel-primary-color);\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n font-size: 16x;\r\n .anticon-cloud-upload {\r\n font-size: 48px;\r\n color: var(--idooel-primary-color);\r\n }\r\n .anticon {\r\n font-size: 48px;\r\n color: var(--idooel-primary-color);\r\n }\r\n }\r\n .ele-upload__area--text {\r\n margin-left: 16px;\r\n .ele-upload__message {\r\n font-size: 16px;\r\n color: var(--idoole-black-088);\r\n text-align: left;\r\n }\r\n .ele-upload__ext {\r\n text-align: left;\r\n font-size: 14px;\r\n color: var(--idoole-black-06);\r\n }\r\n }\r\n }\r\n .ele-files__wrapper {\r\n .ele-file__item {\r\n width: 100%;\r\n margin-top: 8px;\r\n padding: 8px 12px;\r\n border-radius: var(--idooel-form-border-radius);\r\n background: var(--idooel-form-upload-bg-color);\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n .ele-file__suffix--icon {}\r\n .ele-file__name {\r\n flex: 1;\r\n text-align: left;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n font-size: 14px;\r\n margin-left: 8px;\r\n cursor: pointer;\r\n .ele-file__inner {\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n }\r\n }\r\n .ele-file__delete {\r\n margin-left: 8px;\r\n .ele-file__delete--icon {\r\n margin-left: 8px;\r\n cursor: pointer;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n</style>","::v-deep .ele-upload__inner {\n opacity: 1 !important;\n cursor: pointer;\n border: 1px dashed var(--idooel-form-title-border-color);\n background: var(--idooel-form-upload-bg-color) !important;\n border-radius: var(--idooel-form-border-radius);\n}\n::v-deep .ele-upload__inner:hover {\n border-color: var(--idooel-form-upload-border-hover-color);\n}\n\n.ele-upload__wrapper {\n width: 100%;\n}\n.ele-upload__wrapper .ele-upload__area {\n padding: 16px;\n width: 100%;\n height: 80px;\n display: flex;\n flex-direction: row;\n}\n.ele-upload__wrapper .ele-upload__area .ele-upload__area--icon {\n color: var(--idooel-primary-color);\n display: flex;\n flex-direction: row;\n align-items: center;\n font-size: 16x;\n}\n.ele-upload__wrapper .ele-upload__area .ele-upload__area--icon .anticon-cloud-upload {\n font-size: 48px;\n color: var(--idooel-primary-color);\n}\n.ele-upload__wrapper .ele-upload__area .ele-upload__area--icon .anticon {\n font-size: 48px;\n color: var(--idooel-primary-color);\n}\n.ele-upload__wrapper .ele-upload__area .ele-upload__area--text {\n margin-left: 16px;\n}\n.ele-upload__wrapper .ele-upload__area .ele-upload__area--text .ele-upload__message {\n font-size: 16px;\n color: var(--idoole-black-088);\n text-align: left;\n}\n.ele-upload__wrapper .ele-upload__area .ele-upload__area--text .ele-upload__ext {\n text-align: left;\n font-size: 14px;\n color: var(--idoole-black-06);\n}\n.ele-upload__wrapper .ele-files__wrapper .ele-file__item {\n width: 100%;\n margin-top: 8px;\n padding: 8px 12px;\n border-radius: var(--idooel-form-border-radius);\n background: var(--idooel-form-upload-bg-color);\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n.ele-upload__wrapper .ele-files__wrapper .ele-file__item .ele-file__name {\n flex: 1;\n text-align: left;\n white-space: nowrap;\n overflow: hidden;\n font-size: 14px;\n margin-left: 8px;\n cursor: pointer;\n}\n.ele-upload__wrapper .ele-files__wrapper .ele-file__item .ele-file__name .ele-file__inner {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.ele-upload__wrapper .ele-files__wrapper .ele-file__item .ele-file__delete {\n margin-left: 8px;\n}\n.ele-upload__wrapper .ele-files__wrapper .ele-file__item .ele-file__delete .ele-file__delete--icon {\n margin-left: 8px;\n cursor: pointer;\n}\n\n/*# sourceMappingURL=index.vue.map */"]}, media: undefined });
5068
5085
 
5069
5086
  };
5070
5087
  /* scoped */
5071
- const __vue_scope_id__$l = "data-v-424e9c01";
5088
+ const __vue_scope_id__$m = "data-v-424e9c01";
5072
5089
  /* module identifier */
5073
- const __vue_module_identifier__$l = undefined;
5090
+ const __vue_module_identifier__$m = undefined;
5074
5091
  /* functional template */
5075
- const __vue_is_functional_template__$l = false;
5092
+ const __vue_is_functional_template__$m = false;
5076
5093
  /* style inject SSR */
5077
5094
 
5078
5095
  /* style inject shadow dom */
5079
5096
 
5080
5097
 
5081
5098
 
5082
- const __vue_component__$l = /*#__PURE__*/normalizeComponent(
5083
- { render: __vue_render__$l, staticRenderFns: __vue_staticRenderFns__$l },
5084
- __vue_inject_styles__$l,
5085
- __vue_script__$l,
5086
- __vue_scope_id__$l,
5087
- __vue_is_functional_template__$l,
5088
- __vue_module_identifier__$l,
5099
+ const __vue_component__$m = /*#__PURE__*/normalizeComponent(
5100
+ { render: __vue_render__$m, staticRenderFns: __vue_staticRenderFns__$m },
5101
+ __vue_inject_styles__$m,
5102
+ __vue_script__$m,
5103
+ __vue_scope_id__$m,
5104
+ __vue_is_functional_template__$m,
5105
+ __vue_module_identifier__$m,
5089
5106
  false,
5090
5107
  createInjector,
5091
5108
  undefined,
5092
5109
  undefined
5093
5110
  );
5094
5111
 
5095
- __vue_component__$l.install = Vue => Vue.component(__vue_component__$l.name, __vue_component__$l);
5112
+ __vue_component__$m.install = Vue => Vue.component(__vue_component__$m.name, __vue_component__$m);
5096
5113
 
5097
5114
  //
5098
5115
  //
@@ -5113,7 +5130,7 @@ __vue_component__$l.install = Vue => Vue.component(__vue_component__$l.name, __v
5113
5130
  //
5114
5131
  //
5115
5132
 
5116
- var script$k = {
5133
+ var script$l = {
5117
5134
  name: 'ele-select-entity',
5118
5135
  props: {
5119
5136
  value: {
@@ -5170,10 +5187,10 @@ var script$k = {
5170
5187
  };
5171
5188
 
5172
5189
  /* script */
5173
- const __vue_script__$k = script$k;
5190
+ const __vue_script__$l = script$l;
5174
5191
 
5175
5192
  /* template */
5176
- var __vue_render__$k = function () {
5193
+ var __vue_render__$l = function () {
5177
5194
  var _vm = this;
5178
5195
  var _h = _vm.$createElement;
5179
5196
  var _c = _vm._self._c || _h;
@@ -5223,41 +5240,41 @@ var __vue_render__$k = function () {
5223
5240
  2
5224
5241
  )
5225
5242
  };
5226
- var __vue_staticRenderFns__$k = [];
5227
- __vue_render__$k._withStripped = true;
5243
+ var __vue_staticRenderFns__$l = [];
5244
+ __vue_render__$l._withStripped = true;
5228
5245
 
5229
5246
  /* style */
5230
- const __vue_inject_styles__$k = function (inject) {
5247
+ const __vue_inject_styles__$l = function (inject) {
5231
5248
  if (!inject) return
5232
5249
  inject("data-v-328544bb_0", { source: ".g-select-entity__wrapper[data-v-328544bb] {\n font-size: 14px;\n line-height: 30px;\n position: relative;\n width: 100%;\n display: flex;\n color: var(--idoole-black-07);\n border-radius: 4px;\n border: 1px solid var(--idooel-form-title-border-color);\n}\n.g-select-entity__wrapper[data-v-328544bb]:hover {\n border-color: var(--idooel-primary-color);\n}\n.g-select-entity__wrapper .select-entity__input[data-v-328544bb] {\n padding: 0 11px;\n background-color: #fff;\n border-radius: 4px;\n flex-grow: 1;\n min-height: 30px;\n text-align: left;\n}\n.g-select-entity__wrapper .select-entity__addon[data-v-328544bb] {\n padding: 0 11px;\n color: var(--idoole-black-07);\n background-color: var(--idoole-black-02);\n border-left: 1px solid var(--idooel-form-title-border-color);\n cursor: pointer;\n min-height: 30px;\n white-space: nowrap;\n}\n.has-error .g-select-entity__wrapper[data-v-328544bb] {\n border-color: var(--idooel-form-border-err-color);\n}\n.g-select-entity__disabled .select-entity__input[data-v-328544bb] {\n background-color: var(--idoole-black-02);\n}\n\n/*# sourceMappingURL=index.vue.map */", map: {"version":3,"sources":["E:\\work\\code\\ganjiao\\ganjian-monorepo\\packages\\components\\packages\\select-entity\\src\\index.vue","index.vue"],"names":[],"mappings":"AA6EA;EACA,eAAA;EACA,iBAAA;EACA,kBAAA;EACA,WAAA;EACA,aAAA;EACA,6BAAA;EACA,kBAAA;EACA,uDAAA;AC5EA;AD6EA;EACA,yCAAA;AC3EA;AD6EA;EACA,eAAA;EACA,sBAAA;EACA,kBAAA;EACA,YAAA;EACA,gBAAA;EACA,gBAAA;AC3EA;AD6EA;EACA,eAAA;EACA,6BAAA;EACA,wCAAA;EACA,4DAAA;EACA,eAAA;EACA,gBAAA;EACA,mBAAA;AC3EA;AD8EA;EACA,iDAAA;AC3EA;AD6EA;EACA,wCAAA;AC1EA;;AAEA,oCAAoC","file":"index.vue","sourcesContent":["<template>\r\n <div class=\"g-select-entity__wrapper\" :class=\"disabled ? 'g-select-entity__disabled' : ''\">\r\n <span class=\"select-entity__input\">\r\n <a-tag\r\n v-for=\"(item, inx) in getValueList()\"\r\n :key=\"item.value\"\r\n :closable=\"!disabled && !getIsMaxCount()\"\r\n @close=\"onClose(...arguments, inx)\"\r\n >\r\n {{ item.label }}\r\n </a-tag>\r\n <a-tag v-if=\"getIsMaxCount()\">......</a-tag>\r\n </span>\r\n <span class=\"select-entity__addon\" @click=\"onChange\">{{ addonAfter }}</span>\r\n <slot></slot>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: 'ele-select-entity',\r\n props: {\r\n value: {\r\n type: [Array, Object]\r\n },\r\n multiple: {\r\n type: Boolean,\r\n default: true\r\n },\r\n maxCount: {\r\n type: Number,\r\n default: 7\r\n },\r\n disabled: {\r\n type: Boolean,\r\n default: false\r\n },\r\n addonAfter: {\r\n type: String,\r\n default: '选择'\r\n }\r\n },\r\n methods: {\r\n getValueList () {\r\n if (this.value) {\r\n if (this.multiple) {\r\n return this.getIsMaxCount() ? this.value.slice(0, this.maxCount) : this.value\r\n }\r\n return [this.value]\r\n }\r\n return []\r\n },\r\n getIsMaxCount () {\r\n if (this.value && this.multiple) {\r\n return this.value.length >= this.maxCount\r\n }\r\n return false\r\n },\r\n onChange () {\r\n if (this.disabled) return\r\n this.$emit('change', this.value)\r\n },\r\n onClose (e, inx) {\r\n e = window.event || e\r\n e.preventDefault()\r\n if (!this.multiple) {\r\n this.$emit('change', null)\r\n return\r\n }\r\n this.value.splice(inx, 1)\r\n this.$emit('change', this.value)\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.g-select-entity__wrapper {\r\n font-size: 14px;\r\n line-height: 30px;\r\n position: relative;\r\n width: 100%;\r\n display: flex;\r\n color: var(--idoole-black-07);\r\n border-radius: 4px;\r\n border: 1px solid var(--idooel-form-title-border-color);\r\n &:hover {\r\n border-color: var(--idooel-primary-color);\r\n }\r\n .select-entity__input {\r\n padding: 0 11px;\r\n background-color: #fff;\r\n border-radius: 4px;\r\n flex-grow: 1;\r\n min-height: 30px;\r\n text-align: left;\r\n }\r\n .select-entity__addon {\r\n padding: 0 11px;\r\n color: var(--idoole-black-07);\r\n background-color: var(--idoole-black-02);\r\n border-left: 1px solid var(--idooel-form-title-border-color);\r\n cursor: pointer;\r\n min-height: 30px;\r\n white-space: nowrap;\r\n }\r\n}\r\n.has-error .g-select-entity__wrapper {\r\n border-color: var(--idooel-form-border-err-color);\r\n}\r\n.g-select-entity__disabled .select-entity__input {\r\n background-color: var(--idoole-black-02);\r\n}\r\n</style>",".g-select-entity__wrapper {\n font-size: 14px;\n line-height: 30px;\n position: relative;\n width: 100%;\n display: flex;\n color: var(--idoole-black-07);\n border-radius: 4px;\n border: 1px solid var(--idooel-form-title-border-color);\n}\n.g-select-entity__wrapper:hover {\n border-color: var(--idooel-primary-color);\n}\n.g-select-entity__wrapper .select-entity__input {\n padding: 0 11px;\n background-color: #fff;\n border-radius: 4px;\n flex-grow: 1;\n min-height: 30px;\n text-align: left;\n}\n.g-select-entity__wrapper .select-entity__addon {\n padding: 0 11px;\n color: var(--idoole-black-07);\n background-color: var(--idoole-black-02);\n border-left: 1px solid var(--idooel-form-title-border-color);\n cursor: pointer;\n min-height: 30px;\n white-space: nowrap;\n}\n\n.has-error .g-select-entity__wrapper {\n border-color: var(--idooel-form-border-err-color);\n}\n\n.g-select-entity__disabled .select-entity__input {\n background-color: var(--idoole-black-02);\n}\n\n/*# sourceMappingURL=index.vue.map */"]}, media: undefined });
5233
5250
 
5234
5251
  };
5235
5252
  /* scoped */
5236
- const __vue_scope_id__$k = "data-v-328544bb";
5253
+ const __vue_scope_id__$l = "data-v-328544bb";
5237
5254
  /* module identifier */
5238
- const __vue_module_identifier__$k = undefined;
5255
+ const __vue_module_identifier__$l = undefined;
5239
5256
  /* functional template */
5240
- const __vue_is_functional_template__$k = false;
5257
+ const __vue_is_functional_template__$l = false;
5241
5258
  /* style inject SSR */
5242
5259
 
5243
5260
  /* style inject shadow dom */
5244
5261
 
5245
5262
 
5246
5263
 
5247
- const __vue_component__$k = /*#__PURE__*/normalizeComponent(
5248
- { render: __vue_render__$k, staticRenderFns: __vue_staticRenderFns__$k },
5249
- __vue_inject_styles__$k,
5250
- __vue_script__$k,
5251
- __vue_scope_id__$k,
5252
- __vue_is_functional_template__$k,
5253
- __vue_module_identifier__$k,
5264
+ const __vue_component__$l = /*#__PURE__*/normalizeComponent(
5265
+ { render: __vue_render__$l, staticRenderFns: __vue_staticRenderFns__$l },
5266
+ __vue_inject_styles__$l,
5267
+ __vue_script__$l,
5268
+ __vue_scope_id__$l,
5269
+ __vue_is_functional_template__$l,
5270
+ __vue_module_identifier__$l,
5254
5271
  false,
5255
5272
  createInjector,
5256
5273
  undefined,
5257
5274
  undefined
5258
5275
  );
5259
5276
 
5260
- __vue_component__$k.install = Vue => Vue.component(__vue_component__$k.name, __vue_component__$k);
5277
+ __vue_component__$l.install = Vue => Vue.component(__vue_component__$l.name, __vue_component__$l);
5261
5278
 
5262
5279
  //
5263
5280
  //
@@ -5269,7 +5286,7 @@ __vue_component__$k.install = Vue => Vue.component(__vue_component__$k.name, __v
5269
5286
  //
5270
5287
  //
5271
5288
 
5272
- var script$j = {
5289
+ var script$k = {
5273
5290
  name: 'ele-icon',
5274
5291
  props: {
5275
5292
  type: {
@@ -5292,10 +5309,10 @@ var script$j = {
5292
5309
  };
5293
5310
 
5294
5311
  /* script */
5295
- const __vue_script__$j = script$j;
5312
+ const __vue_script__$k = script$k;
5296
5313
 
5297
5314
  /* template */
5298
- var __vue_render__$j = function () {
5315
+ var __vue_render__$k = function () {
5299
5316
  var _vm = this;
5300
5317
  var _h = _vm.$createElement;
5301
5318
  var _c = _vm._self._c || _h;
@@ -5303,17 +5320,17 @@ var __vue_render__$j = function () {
5303
5320
  ? _c("a-icon", { attrs: { type: _vm.type, theme: _vm.theme } })
5304
5321
  : _c("i", { class: ["iconfont", _vm.type] })
5305
5322
  };
5306
- var __vue_staticRenderFns__$j = [];
5307
- __vue_render__$j._withStripped = true;
5323
+ var __vue_staticRenderFns__$k = [];
5324
+ __vue_render__$k._withStripped = true;
5308
5325
 
5309
5326
  /* style */
5310
- const __vue_inject_styles__$j = undefined;
5327
+ const __vue_inject_styles__$k = undefined;
5311
5328
  /* scoped */
5312
- const __vue_scope_id__$j = undefined;
5329
+ const __vue_scope_id__$k = undefined;
5313
5330
  /* module identifier */
5314
- const __vue_module_identifier__$j = undefined;
5331
+ const __vue_module_identifier__$k = undefined;
5315
5332
  /* functional template */
5316
- const __vue_is_functional_template__$j = false;
5333
+ const __vue_is_functional_template__$k = false;
5317
5334
  /* style inject */
5318
5335
 
5319
5336
  /* style inject SSR */
@@ -5322,20 +5339,20 @@ __vue_render__$j._withStripped = true;
5322
5339
 
5323
5340
 
5324
5341
 
5325
- const __vue_component__$j = /*#__PURE__*/normalizeComponent(
5326
- { render: __vue_render__$j, staticRenderFns: __vue_staticRenderFns__$j },
5327
- __vue_inject_styles__$j,
5328
- __vue_script__$j,
5329
- __vue_scope_id__$j,
5330
- __vue_is_functional_template__$j,
5331
- __vue_module_identifier__$j,
5342
+ const __vue_component__$k = /*#__PURE__*/normalizeComponent(
5343
+ { render: __vue_render__$k, staticRenderFns: __vue_staticRenderFns__$k },
5344
+ __vue_inject_styles__$k,
5345
+ __vue_script__$k,
5346
+ __vue_scope_id__$k,
5347
+ __vue_is_functional_template__$k,
5348
+ __vue_module_identifier__$k,
5332
5349
  false,
5333
5350
  undefined,
5334
5351
  undefined,
5335
5352
  undefined
5336
5353
  );
5337
5354
 
5338
- __vue_component__$j.install = Vue => Vue.component(__vue_component__$j.name, __vue_component__$j);
5355
+ __vue_component__$k.install = Vue => Vue.component(__vue_component__$k.name, __vue_component__$k);
5339
5356
 
5340
5357
  //
5341
5358
  //
@@ -5344,7 +5361,7 @@ __vue_component__$j.install = Vue => Vue.component(__vue_component__$j.name, __v
5344
5361
  //
5345
5362
  //
5346
5363
 
5347
- var script$i = {
5364
+ var script$j = {
5348
5365
  name: 'ele-input-number',
5349
5366
  props: {
5350
5367
  precision: {
@@ -5362,10 +5379,10 @@ var script$i = {
5362
5379
  };
5363
5380
 
5364
5381
  /* script */
5365
- const __vue_script__$i = script$i;
5382
+ const __vue_script__$j = script$j;
5366
5383
 
5367
5384
  /* template */
5368
- var __vue_render__$i = function () {
5385
+ var __vue_render__$j = function () {
5369
5386
  var _vm = this;
5370
5387
  var _h = _vm.$createElement;
5371
5388
  var _c = _vm._self._c || _h;
@@ -5389,17 +5406,17 @@ var __vue_render__$i = function () {
5389
5406
  1
5390
5407
  )
5391
5408
  };
5392
- var __vue_staticRenderFns__$i = [];
5393
- __vue_render__$i._withStripped = true;
5409
+ var __vue_staticRenderFns__$j = [];
5410
+ __vue_render__$j._withStripped = true;
5394
5411
 
5395
5412
  /* style */
5396
- const __vue_inject_styles__$i = undefined;
5413
+ const __vue_inject_styles__$j = undefined;
5397
5414
  /* scoped */
5398
- const __vue_scope_id__$i = undefined;
5415
+ const __vue_scope_id__$j = undefined;
5399
5416
  /* module identifier */
5400
- const __vue_module_identifier__$i = undefined;
5417
+ const __vue_module_identifier__$j = undefined;
5401
5418
  /* functional template */
5402
- const __vue_is_functional_template__$i = false;
5419
+ const __vue_is_functional_template__$j = false;
5403
5420
  /* style inject */
5404
5421
 
5405
5422
  /* style inject SSR */
@@ -5408,23 +5425,23 @@ __vue_render__$i._withStripped = true;
5408
5425
 
5409
5426
 
5410
5427
 
5411
- const __vue_component__$i = /*#__PURE__*/normalizeComponent(
5412
- { render: __vue_render__$i, staticRenderFns: __vue_staticRenderFns__$i },
5413
- __vue_inject_styles__$i,
5414
- __vue_script__$i,
5415
- __vue_scope_id__$i,
5416
- __vue_is_functional_template__$i,
5417
- __vue_module_identifier__$i,
5428
+ const __vue_component__$j = /*#__PURE__*/normalizeComponent(
5429
+ { render: __vue_render__$j, staticRenderFns: __vue_staticRenderFns__$j },
5430
+ __vue_inject_styles__$j,
5431
+ __vue_script__$j,
5432
+ __vue_scope_id__$j,
5433
+ __vue_is_functional_template__$j,
5434
+ __vue_module_identifier__$j,
5418
5435
  false,
5419
5436
  undefined,
5420
5437
  undefined,
5421
5438
  undefined
5422
5439
  );
5423
5440
 
5424
- __vue_component__$i.install = Vue => Vue.component(__vue_component__$i.name, __vue_component__$i);
5441
+ __vue_component__$j.install = Vue => Vue.component(__vue_component__$j.name, __vue_component__$j);
5425
5442
 
5426
5443
  //
5427
- var script$h = {
5444
+ var script$i = {
5428
5445
  name: 'ele-modal',
5429
5446
  props: {
5430
5447
  value: {
@@ -5568,10 +5585,10 @@ var script$h = {
5568
5585
  };
5569
5586
 
5570
5587
  /* script */
5571
- const __vue_script__$h = script$h;
5588
+ const __vue_script__$i = script$i;
5572
5589
 
5573
5590
  /* template */
5574
- var __vue_render__$h = function () {
5591
+ var __vue_render__$i = function () {
5575
5592
  var _vm = this;
5576
5593
  var _h = _vm.$createElement;
5577
5594
  var _c = _vm._self._c || _h;
@@ -5644,41 +5661,41 @@ var __vue_render__$h = function () {
5644
5661
  2
5645
5662
  )
5646
5663
  };
5647
- var __vue_staticRenderFns__$h = [];
5648
- __vue_render__$h._withStripped = true;
5664
+ var __vue_staticRenderFns__$i = [];
5665
+ __vue_render__$i._withStripped = true;
5649
5666
 
5650
5667
  /* style */
5651
- const __vue_inject_styles__$h = function (inject) {
5668
+ const __vue_inject_styles__$i = function (inject) {
5652
5669
  if (!inject) return
5653
5670
  inject("data-v-93d01e22_0", { source: ".ele-modal__footer[data-v-93d01e22] {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n}\n.ele-modal__footer .footer-btn__wrapper[data-v-93d01e22] {\n flex: 1;\n}\n\n/*# sourceMappingURL=index.vue.map */", map: {"version":3,"sources":["E:\\work\\code\\ganjiao\\ganjian-monorepo\\packages\\components\\packages\\modal\\src\\index.vue","index.vue"],"names":[],"mappings":"AA+KA;EACA,aAAA;EACA,mBAAA;EACA,8BAAA;EACA,mBAAA;AC9KA;AD+KA;EACA,OAAA;AC7KA;;AAEA,oCAAoC","file":"index.vue","sourcesContent":["<template>\r\n <a-modal\r\n :title=\"title\"\r\n :cancelText=\"cancelText\"\r\n :okText=\"okText\"\r\n :closable=\"closable\"\r\n v-model:visible=\"showModal\"\r\n :width=\"width\"\r\n :keyboard=\"false\"\r\n :maskClosable=\"maskClosable\"\r\n :dialogStyle=\"{ top: `${upDownDistance[size]}px` }\"\r\n :bodyStyle=\"{ maxHeight: maxheight, overflowY: 'auto' }\"\r\n :footer=\"showFooter ? undefined : null\"\r\n @cancel=\"handleCancel\"\r\n @ok=\"handleOk\"\r\n >\r\n <slot v-if=\"showModal\"></slot>\r\n <template slot=\"footer\" v-if=\"!showDefaultFooter\">\r\n <div class=\"ele-modal__footer\">\r\n <slot name=\"footer-text\"></slot>\r\n <div class=\"footer-btn__wrapper\">\r\n <ele-button\r\n v-for=\"btn in buttonGroupMeta.elements\"\r\n :type=\"btn.type\"\r\n v-on=\"assignAttrEvents\"\r\n :event-name=\"btn.eventName\"\r\n :key=\"btn.key\">\r\n {{ btn.label }}\r\n </ele-button>\r\n </div>\r\n </div>\r\n </template>\r\n </a-modal>\r\n</template>\r\n<script>\r\nimport { CONTEXT } from '../../utils'\r\nexport default {\r\n name: 'ele-modal',\r\n props: {\r\n value: {\r\n type: Boolean,\r\n default: false\r\n },\r\n title: {\r\n type: String,\r\n default: '标题'\r\n },\r\n cancelText: {\r\n type: String,\r\n default: '关闭'\r\n },\r\n okText: {\r\n type: String,\r\n default: '确定'\r\n },\r\n size: {\r\n type: String,\r\n default: 'middle'\r\n },\r\n map: {\r\n type: Object,\r\n default () {\r\n return {}\r\n }\r\n },\r\n closable: {\r\n type: Boolean,\r\n default: true\r\n },\r\n maskClosable: {\r\n type: Boolean,\r\n default: false\r\n },\r\n showFooter: {\r\n type: Boolean,\r\n default: true\r\n },\r\n footer: {\r\n type: Function,\r\n default: null\r\n },\r\n onlyClose: {\r\n type: Boolean,\r\n default: false\r\n },\r\n buttonGroupMeta: {\r\n type: Object,\r\n default: () => ({})\r\n },\r\n // 是否展示组件默认底部按钮\r\n showDefaultFooter: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n watch: {\r\n value: {\r\n handler (value) {\r\n this.$nextTick(() => {\r\n this.showModal = value\r\n })\r\n },\r\n immediate: true\r\n }\r\n },\r\n inject: {\r\n [CONTEXT]: {\r\n default: () => (() => ({}))\r\n }\r\n },\r\n computed: {\r\n assignAttrEvents () {\r\n const events = this.buttons.reduce((ret, btn) => {\r\n ret[btn.eventName] = (e) => {\r\n this.$emit(btn.eventName || 'click', { ...e, ...this[CONTEXT]() })\r\n }\r\n return ret\r\n }, {})\r\n return {\r\n ...this.$listeners,\r\n ...events\r\n }\r\n },\r\n buttons () {\r\n const { elements = [] } = this.buttonGroupMeta\r\n return elements\r\n },\r\n width () {\r\n return this.map[this.size]\r\n },\r\n maxheight () {\r\n return `calc(100vh - ${this.upDownDistance[this.size] * 2 + (this.title ? 55 : 0) + (this.showFooter ? 53 : 0) }px`\r\n }\r\n },\r\n data () {\r\n return {\r\n showModal: false\r\n }\r\n },\r\n created () {\r\n let defaultMap = {\r\n small: 480,\r\n middle: 768,\r\n big: 1200\r\n }\r\n this.upDownDistance = {\r\n small: 80,\r\n middle: 80,\r\n big: 40\r\n }\r\n this.map = Object.assign(this.map, defaultMap)\r\n },\r\n methods: {\r\n openModal () {\r\n this.showModal = true\r\n this.removeHidden()\r\n },\r\n handleCancel () {\r\n this.showModal = false\r\n this.$emit('input', this.showModal)\r\n this.$emit('change', this.showModal)\r\n this.removeHidden()\r\n this.$emit('cancel')\r\n },\r\n handleOk () {\r\n this.$emit('ok')\r\n },\r\n removeHidden () {\r\n let ishidden = document.body.style.overflow === 'hidden'\r\n ishidden && (document.body.style.overflow = 'initial')\r\n }\r\n }\r\n}\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n.ele-modal__footer {\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: space-between;\r\n align-items: center;\r\n .footer-btn__wrapper {\r\n flex: 1;\r\n }\r\n}\r\n</style>",".ele-modal__footer {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n}\n.ele-modal__footer .footer-btn__wrapper {\n flex: 1;\n}\n\n/*# sourceMappingURL=index.vue.map */"]}, media: undefined });
5654
5671
 
5655
5672
  };
5656
5673
  /* scoped */
5657
- const __vue_scope_id__$h = "data-v-93d01e22";
5674
+ const __vue_scope_id__$i = "data-v-93d01e22";
5658
5675
  /* module identifier */
5659
- const __vue_module_identifier__$h = undefined;
5676
+ const __vue_module_identifier__$i = undefined;
5660
5677
  /* functional template */
5661
- const __vue_is_functional_template__$h = false;
5678
+ const __vue_is_functional_template__$i = false;
5662
5679
  /* style inject SSR */
5663
5680
 
5664
5681
  /* style inject shadow dom */
5665
5682
 
5666
5683
 
5667
5684
 
5668
- const __vue_component__$h = /*#__PURE__*/normalizeComponent(
5669
- { render: __vue_render__$h, staticRenderFns: __vue_staticRenderFns__$h },
5670
- __vue_inject_styles__$h,
5671
- __vue_script__$h,
5672
- __vue_scope_id__$h,
5673
- __vue_is_functional_template__$h,
5674
- __vue_module_identifier__$h,
5685
+ const __vue_component__$i = /*#__PURE__*/normalizeComponent(
5686
+ { render: __vue_render__$i, staticRenderFns: __vue_staticRenderFns__$i },
5687
+ __vue_inject_styles__$i,
5688
+ __vue_script__$i,
5689
+ __vue_scope_id__$i,
5690
+ __vue_is_functional_template__$i,
5691
+ __vue_module_identifier__$i,
5675
5692
  false,
5676
5693
  createInjector,
5677
5694
  undefined,
5678
5695
  undefined
5679
5696
  );
5680
5697
 
5681
- __vue_component__$h.install = Vue => Vue.component(__vue_component__$h.name, __vue_component__$h);
5698
+ __vue_component__$i.install = Vue => Vue.component(__vue_component__$i.name, __vue_component__$i);
5682
5699
 
5683
5700
  //
5684
5701
  //
@@ -5690,7 +5707,7 @@ __vue_component__$h.install = Vue => Vue.component(__vue_component__$h.name, __v
5690
5707
  //
5691
5708
  //
5692
5709
 
5693
- var script$g = {
5710
+ var script$h = {
5694
5711
  name: 'ele-checkbox',
5695
5712
  model: {
5696
5713
  prop: 'value',
@@ -5718,10 +5735,10 @@ var script$g = {
5718
5735
  };
5719
5736
 
5720
5737
  /* script */
5721
- const __vue_script__$g = script$g;
5738
+ const __vue_script__$h = script$h;
5722
5739
 
5723
5740
  /* template */
5724
- var __vue_render__$g = function () {
5741
+ var __vue_render__$h = function () {
5725
5742
  var _vm = this;
5726
5743
  var _h = _vm.$createElement;
5727
5744
  var _c = _vm._self._c || _h;
@@ -5734,41 +5751,41 @@ var __vue_render__$g = function () {
5734
5751
  on: { change: _vm.onChange },
5735
5752
  })
5736
5753
  };
5737
- var __vue_staticRenderFns__$g = [];
5738
- __vue_render__$g._withStripped = true;
5754
+ var __vue_staticRenderFns__$h = [];
5755
+ __vue_render__$h._withStripped = true;
5739
5756
 
5740
5757
  /* style */
5741
- const __vue_inject_styles__$g = function (inject) {
5758
+ const __vue_inject_styles__$h = function (inject) {
5742
5759
  if (!inject) return
5743
5760
  inject("data-v-f2369106_0", { source: ".ant-checkbox-group[data-v-f2369106] {\n text-align: left;\n line-height: 32px;\n}\n.has-error .ant-checkbox-group[data-v-f2369106] .ant-checkbox-wrapper {\n color: var(--idooel-form-border-err-color);\n}\n.has-error .ant-checkbox-group[data-v-f2369106] .ant-checkbox-inner {\n border-color: var(--idooel-form-border-err-color);\n}\n\n/*# sourceMappingURL=index.vue.map */", map: {"version":3,"sources":["E:\\work\\code\\ganjiao\\ganjian-monorepo\\packages\\components\\packages\\checkbox\\src\\index.vue","index.vue"],"names":[],"mappings":"AAsCA;EACA,gBAAA;EACA,iBAAA;ACrCA;ADyCA;EACA,0CAAA;ACtCA;ADwCA;EACA,iDAAA;ACtCA;;AAEA,oCAAoC","file":"index.vue","sourcesContent":["<template>\r\n <a-checkbox-group\r\n :value=\"value\"\r\n :options=\"dataSource\" \r\n :disabled=\"disabled\" \r\n @change=\"onChange\">\r\n </a-checkbox-group>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: 'ele-checkbox',\r\n model: {\r\n prop: 'value',\r\n event: 'change'\r\n },\r\n props: {\r\n value: {\r\n type: Array\r\n },\r\n dataSource: {\r\n type: Array,\r\n default: () => []\r\n },\r\n disabled: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n methods: {\r\n onChange (value) {\r\n this.$emit('change', value)\r\n this.$emit('input', value)\r\n }\r\n }\r\n}\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n.ant-checkbox-group {\r\n text-align: left;\r\n line-height: 32px;\r\n}\r\n.has-error {\r\n .ant-checkbox-group {\r\n ::v-deep .ant-checkbox-wrapper {\r\n color: var(--idooel-form-border-err-color);\r\n }\r\n ::v-deep .ant-checkbox-inner {\r\n border-color: var(--idooel-form-border-err-color);\r\n }\r\n }\r\n}\r\n</style>",".ant-checkbox-group {\n text-align: left;\n line-height: 32px;\n}\n\n.has-error .ant-checkbox-group ::v-deep .ant-checkbox-wrapper {\n color: var(--idooel-form-border-err-color);\n}\n.has-error .ant-checkbox-group ::v-deep .ant-checkbox-inner {\n border-color: var(--idooel-form-border-err-color);\n}\n\n/*# sourceMappingURL=index.vue.map */"]}, media: undefined });
5744
5761
 
5745
5762
  };
5746
5763
  /* scoped */
5747
- const __vue_scope_id__$g = "data-v-f2369106";
5764
+ const __vue_scope_id__$h = "data-v-f2369106";
5748
5765
  /* module identifier */
5749
- const __vue_module_identifier__$g = undefined;
5766
+ const __vue_module_identifier__$h = undefined;
5750
5767
  /* functional template */
5751
- const __vue_is_functional_template__$g = false;
5768
+ const __vue_is_functional_template__$h = false;
5752
5769
  /* style inject SSR */
5753
5770
 
5754
5771
  /* style inject shadow dom */
5755
5772
 
5756
5773
 
5757
5774
 
5758
- const __vue_component__$g = /*#__PURE__*/normalizeComponent(
5759
- { render: __vue_render__$g, staticRenderFns: __vue_staticRenderFns__$g },
5760
- __vue_inject_styles__$g,
5761
- __vue_script__$g,
5762
- __vue_scope_id__$g,
5763
- __vue_is_functional_template__$g,
5764
- __vue_module_identifier__$g,
5775
+ const __vue_component__$h = /*#__PURE__*/normalizeComponent(
5776
+ { render: __vue_render__$h, staticRenderFns: __vue_staticRenderFns__$h },
5777
+ __vue_inject_styles__$h,
5778
+ __vue_script__$h,
5779
+ __vue_scope_id__$h,
5780
+ __vue_is_functional_template__$h,
5781
+ __vue_module_identifier__$h,
5765
5782
  false,
5766
5783
  createInjector,
5767
5784
  undefined,
5768
5785
  undefined
5769
5786
  );
5770
5787
 
5771
- __vue_component__$g.install = Vue => Vue.component(__vue_component__$g.name, __vue_component__$g);
5788
+ __vue_component__$h.install = Vue => Vue.component(__vue_component__$h.name, __vue_component__$h);
5772
5789
 
5773
5790
  //
5774
5791
  //
@@ -5779,7 +5796,7 @@ __vue_component__$g.install = Vue => Vue.component(__vue_component__$g.name, __v
5779
5796
  //
5780
5797
  //
5781
5798
 
5782
- var script$f = {
5799
+ var script$g = {
5783
5800
  name: 'ele-radio',
5784
5801
  model: {
5785
5802
  prop: 'value',
@@ -5812,10 +5829,10 @@ var script$f = {
5812
5829
  };
5813
5830
 
5814
5831
  /* script */
5815
- const __vue_script__$f = script$f;
5832
+ const __vue_script__$g = script$g;
5816
5833
 
5817
5834
  /* template */
5818
- var __vue_render__$f = function () {
5835
+ var __vue_render__$g = function () {
5819
5836
  var _vm = this;
5820
5837
  var _h = _vm.$createElement;
5821
5838
  var _c = _vm._self._c || _h;
@@ -5833,41 +5850,41 @@ var __vue_render__$f = function () {
5833
5850
  1
5834
5851
  )
5835
5852
  };
5836
- var __vue_staticRenderFns__$f = [];
5837
- __vue_render__$f._withStripped = true;
5853
+ var __vue_staticRenderFns__$g = [];
5854
+ __vue_render__$g._withStripped = true;
5838
5855
 
5839
5856
  /* style */
5840
- const __vue_inject_styles__$f = function (inject) {
5857
+ const __vue_inject_styles__$g = function (inject) {
5841
5858
  if (!inject) return
5842
5859
  inject("data-v-5eaf331b_0", { source: ".ant-radio-group[data-v-5eaf331b] {\n text-align: left;\n line-height: 32px;\n}\n.has-error .ant-radio-group[data-v-5eaf331b] .ant-radio-wrapper {\n color: var(--idooel-form-border-err-color);\n}\n.has-error .ant-radio-group[data-v-5eaf331b] .ant-radio-inner {\n border-color: var(--idooel-form-border-err-color);\n}\n\n/*# sourceMappingURL=index.vue.map */", map: {"version":3,"sources":["E:\\work\\code\\ganjiao\\ganjian-monorepo\\packages\\components\\packages\\radio\\src\\index.vue","index.vue"],"names":[],"mappings":"AA0CA;EACA,gBAAA;EACA,iBAAA;ACzCA;AD6CA;EACA,0CAAA;AC1CA;AD4CA;EACA,iDAAA;AC1CA;;AAEA,oCAAoC","file":"index.vue","sourcesContent":["<template>\r\n <a-radio-group :value=\"value\" @change=\"onChange\" :disabled=\"disabled\">\r\n <a-radio v-for=\"item in dataSource\" :key=\"item.value\" :value=\"item.value\">\r\n {{ item.label }}\r\n </a-radio>\r\n </a-radio-group>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: 'ele-radio',\r\n model: {\r\n prop: 'value',\r\n event: 'change'\r\n },\r\n props: {\r\n value: {\r\n type: [String, Array, Number]\r\n },\r\n dataSource: {\r\n type: Array,\r\n default: () => []\r\n },\r\n disabled: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n watch: {\r\n value (val) {\r\n console.log('valvalval', val)\r\n }\r\n },\r\n methods: {\r\n onChange (e) {\r\n this.$emit('change', e.target.value)\r\n this.$emit('input', e.target.value)\r\n }\r\n }\r\n}\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n.ant-radio-group {\r\n text-align: left;\r\n line-height: 32px;\r\n}\r\n.has-error {\r\n .ant-radio-group {\r\n ::v-deep .ant-radio-wrapper {\r\n color: var(--idooel-form-border-err-color);\r\n }\r\n ::v-deep .ant-radio-inner {\r\n border-color: var(--idooel-form-border-err-color);\r\n }\r\n }\r\n}\r\n</style>",".ant-radio-group {\n text-align: left;\n line-height: 32px;\n}\n\n.has-error .ant-radio-group ::v-deep .ant-radio-wrapper {\n color: var(--idooel-form-border-err-color);\n}\n.has-error .ant-radio-group ::v-deep .ant-radio-inner {\n border-color: var(--idooel-form-border-err-color);\n}\n\n/*# sourceMappingURL=index.vue.map */"]}, media: undefined });
5843
5860
 
5844
5861
  };
5845
5862
  /* scoped */
5846
- const __vue_scope_id__$f = "data-v-5eaf331b";
5863
+ const __vue_scope_id__$g = "data-v-5eaf331b";
5847
5864
  /* module identifier */
5848
- const __vue_module_identifier__$f = undefined;
5865
+ const __vue_module_identifier__$g = undefined;
5849
5866
  /* functional template */
5850
- const __vue_is_functional_template__$f = false;
5867
+ const __vue_is_functional_template__$g = false;
5851
5868
  /* style inject SSR */
5852
5869
 
5853
5870
  /* style inject shadow dom */
5854
5871
 
5855
5872
 
5856
5873
 
5857
- const __vue_component__$f = /*#__PURE__*/normalizeComponent(
5858
- { render: __vue_render__$f, staticRenderFns: __vue_staticRenderFns__$f },
5859
- __vue_inject_styles__$f,
5860
- __vue_script__$f,
5861
- __vue_scope_id__$f,
5862
- __vue_is_functional_template__$f,
5863
- __vue_module_identifier__$f,
5874
+ const __vue_component__$g = /*#__PURE__*/normalizeComponent(
5875
+ { render: __vue_render__$g, staticRenderFns: __vue_staticRenderFns__$g },
5876
+ __vue_inject_styles__$g,
5877
+ __vue_script__$g,
5878
+ __vue_scope_id__$g,
5879
+ __vue_is_functional_template__$g,
5880
+ __vue_module_identifier__$g,
5864
5881
  false,
5865
5882
  createInjector,
5866
5883
  undefined,
5867
5884
  undefined
5868
5885
  );
5869
5886
 
5870
- __vue_component__$f.install = Vue => Vue.component(__vue_component__$f.name, __vue_component__$f);
5887
+ __vue_component__$g.install = Vue => Vue.component(__vue_component__$g.name, __vue_component__$g);
5871
5888
 
5872
5889
  //
5873
5890
  //
@@ -5891,7 +5908,7 @@ __vue_component__$f.install = Vue => Vue.component(__vue_component__$f.name, __v
5891
5908
  //
5892
5909
  //
5893
5910
 
5894
- var script$e = {
5911
+ var script$f = {
5895
5912
  name: 'ele-batch-export',
5896
5913
  props: {
5897
5914
  value: {
@@ -5935,10 +5952,10 @@ var script$e = {
5935
5952
  };
5936
5953
 
5937
5954
  /* script */
5938
- const __vue_script__$e = script$e;
5955
+ const __vue_script__$f = script$f;
5939
5956
 
5940
5957
  /* template */
5941
- var __vue_render__$e = function () {
5958
+ var __vue_render__$f = function () {
5942
5959
  var _vm = this;
5943
5960
  var _h = _vm.$createElement;
5944
5961
  var _c = _vm._self._c || _h;
@@ -5997,42 +6014,42 @@ var __vue_render__$e = function () {
5997
6014
  ]
5998
6015
  )
5999
6016
  };
6000
- var __vue_staticRenderFns__$e = [];
6001
- __vue_render__$e._withStripped = true;
6017
+ var __vue_staticRenderFns__$f = [];
6018
+ __vue_render__$f._withStripped = true;
6002
6019
 
6003
6020
  /* style */
6004
- const __vue_inject_styles__$e = function (inject) {
6021
+ const __vue_inject_styles__$f = function (inject) {
6005
6022
  if (!inject) return
6006
6023
  inject("data-v-7250fd6a_0", { source: ".has-error .ele-upload__wrapper .ele-upload__inner {\n border-color: #F5222D;\n}\n.has-error .ele-upload__wrapper .ele-upload__inner .ele-upload__area .ele-upload__area--icon .anticon-cloud-upload {\n color: #F5222D;\n}\n.has-error .ele-upload__wrapper .ele-upload__inner .ele-upload__area .ele-upload__area--text .ele-upload__message {\n color: #F5222D;\n}\n.has-error .ele-upload__wrapper .ele-upload__inner .ele-upload__area .ele-upload__area--text .ele-upload__ext {\n color: #FFA39E;\n}\n.margin-t-8 {\n margin-top: 8px;\n}\n:root {\n --idooel-primary-color: #1890FF;\n --idoole-black-02: rgba(0, 0, 0, 0.04);\n --idoole-black-06: rgba(0, 0, 0, 0.44);\n --idoole-black-07: rgba(0, 0, 0, 0.64);\n --idoole-black-064: rgba(0, 0, 0, 0.64);\n --idoole-black-088: rgba(0, 0, 0, 0.88);\n --idoole-black-016: rgba(0, 0, 0, 0.16);\n --idooel-disabled-border-color: rgba(0, 0, 0, 0.16);\n --idoole-success-06: #52C41A;\n --idoole-warning-06: #FAAD14;\n --idoole-error-06: #F5222D;\n --idooel-border-width: 2;\n --idooel-border-color: #53a8ff;\n --idooel-column-border-width: 1;\n --idooel-column-border-color: #d9ecff;\n --idooel-row-even-color: #F0FAFF;\n --idooel-row-odd-color: #FFF;\n --idooel-form-title-border-color: rgba(0, 0, 0, 0.16);\n --idooel-form-upload-bg-color: rgba(0, 0, 0, 0.02);\n --idooel-form-upload-border-hover-color: #40A9FF;\n --idooel-form-border-radius: 2px;\n --idooel-form-border-err-color: #F5222D;\n --idooel-link-06: #1890FF;\n --idooel-link-03: #91D5FF;\n --idooel-img-crop-err-color: #FFA39E;\n}\n.ant-input-disabled {\n border-color: var(--idooel-disabled-border-color) !important;\n}\n.ant-select-disabled .ant-select-selection {\n border-color: var(--idooel-disabled-border-color) !important;\n}\n\n/*# sourceMappingURL=index.vue.map */", map: {"version":3,"sources":["index.vue"],"names":[],"mappings":"AAAA;EACE,qBAAqB;AACvB;AACA;EACE,cAAc;AAChB;AACA;EACE,cAAc;AAChB;AACA;EACE,cAAc;AAChB;AAEA;EACE,eAAe;AACjB;AAEA;EACE,+BAA+B;EAC/B,sCAAsC;EACtC,sCAAsC;EACtC,sCAAsC;EACtC,uCAAuC;EACvC,uCAAuC;EACvC,uCAAuC;EACvC,mDAAmD;EACnD,4BAA4B;EAC5B,4BAA4B;EAC5B,0BAA0B;EAC1B,wBAAwB;EACxB,8BAA8B;EAC9B,+BAA+B;EAC/B,qCAAqC;EACrC,gCAAgC;EAChC,4BAA4B;EAC5B,qDAAqD;EACrD,kDAAkD;EAClD,gDAAgD;EAChD,gCAAgC;EAChC,uCAAuC;EACvC,yBAAyB;EACzB,yBAAyB;EACzB,oCAAoC;AACtC;AAEA;EACE,4DAA4D;AAC9D;AAEA;EACE,4DAA4D;AAC9D;;AAEA,oCAAoC","file":"index.vue","sourcesContent":[".has-error .ele-upload__wrapper .ele-upload__inner {\n border-color: #F5222D;\n}\n.has-error .ele-upload__wrapper .ele-upload__inner .ele-upload__area .ele-upload__area--icon .anticon-cloud-upload {\n color: #F5222D;\n}\n.has-error .ele-upload__wrapper .ele-upload__inner .ele-upload__area .ele-upload__area--text .ele-upload__message {\n color: #F5222D;\n}\n.has-error .ele-upload__wrapper .ele-upload__inner .ele-upload__area .ele-upload__area--text .ele-upload__ext {\n color: #FFA39E;\n}\n\n.margin-t-8 {\n margin-top: 8px;\n}\n\n:root {\n --idooel-primary-color: #1890FF;\n --idoole-black-02: rgba(0, 0, 0, 0.04);\n --idoole-black-06: rgba(0, 0, 0, 0.44);\n --idoole-black-07: rgba(0, 0, 0, 0.64);\n --idoole-black-064: rgba(0, 0, 0, 0.64);\n --idoole-black-088: rgba(0, 0, 0, 0.88);\n --idoole-black-016: rgba(0, 0, 0, 0.16);\n --idooel-disabled-border-color: rgba(0, 0, 0, 0.16);\n --idoole-success-06: #52C41A;\n --idoole-warning-06: #FAAD14;\n --idoole-error-06: #F5222D;\n --idooel-border-width: 2;\n --idooel-border-color: #53a8ff;\n --idooel-column-border-width: 1;\n --idooel-column-border-color: #d9ecff;\n --idooel-row-even-color: #F0FAFF;\n --idooel-row-odd-color: #FFF;\n --idooel-form-title-border-color: rgba(0, 0, 0, 0.16);\n --idooel-form-upload-bg-color: rgba(0, 0, 0, 0.02);\n --idooel-form-upload-border-hover-color: #40A9FF;\n --idooel-form-border-radius: 2px;\n --idooel-form-border-err-color: #F5222D;\n --idooel-link-06: #1890FF;\n --idooel-link-03: #91D5FF;\n --idooel-img-crop-err-color: #FFA39E;\n}\n\n.ant-input-disabled {\n border-color: var(--idooel-disabled-border-color) !important;\n}\n\n.ant-select-disabled .ant-select-selection {\n border-color: var(--idooel-disabled-border-color) !important;\n}\n\n/*# sourceMappingURL=index.vue.map */"]}, media: undefined })
6007
6024
  ,inject("data-v-7250fd6a_1", { source: ".ele-batch-export__content[data-v-7250fd6a] {\n height: 106px;\n}\n.ele-batch-export__content .ele-batch-export__container[data-v-7250fd6a] {\n border-width: 1px;\n border-style: dashed;\n height: 80px;\n border-color: var(--idooel-link-06);\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 0 16px;\n}\n.ele-batch-export__content .ele-batch-export__container .ele-batch-export__icon[data-v-7250fd6a] {\n font-size: 48px;\n color: var(--idooel-link-06);\n}\n.ele-batch-export__content .ele-batch-export__container .ele-batch-export__handle[data-v-7250fd6a] {\n margin-left: 16px;\n}\n.ele-batch-export__content .ele-batch-export__container .ele-batch-export__handle .ele-batch-export__btn[data-v-7250fd6a] {\n color: var(--idooel-link-06);\n font-size: 16px;\n cursor: pointer;\n}\n.ele-batch-export__content .ele-batch-export__container .ele-batch-export__handle .ele-batch-export__btn--hint[data-v-7250fd6a] {\n color: var(--idooel-link-03);\n font-size: 14px;\n}\n.ele-batch-export__content .ele-batch-export__message[data-v-7250fd6a] {\n color: var(--idooel-link-06);\n font-size: 14px;\n}\n\n/*# sourceMappingURL=index.vue.map */", map: {"version":3,"sources":["E:\\work\\code\\ganjiao\\ganjian-monorepo\\packages\\components\\packages\\batch-export\\src\\index.vue","index.vue"],"names":[],"mappings":"AAuEA;EACA,aAAA;ACtEA;ADuEA;EACA,iBAAA;EACA,oBAAA;EACA,YAAA;EACA,mCAAA;EACA,aAAA;EACA,mBAAA;EACA,mBAAA;EACA,eAAA;ACrEA;ADsEA;EACA,eAAA;EACA,4BAAA;ACpEA;ADsEA;EACA,iBAAA;ACpEA;ADqEA;EACA,4BAAA;EACA,eAAA;EACA,eAAA;ACnEA;ADqEA;EACA,4BAAA;EACA,eAAA;ACnEA;ADuEA;EACA,4BAAA;EACA,eAAA;ACrEA;;AAEA,oCAAoC","file":"index.vue","sourcesContent":["<template>\r\n <ele-modal \r\n v-model=\"innerValue\" \r\n v-on=\"$listeners\"\r\n :buttonGroupMeta=\"buttonGroupMeta\" \r\n title=\"批量导出\">\r\n <div class=\"ele-batch-export__content\">\r\n <div class=\"ele-batch-export__container\">\r\n <ele-icon class=\"ele-batch-export__icon\" type=\"download\"></ele-icon>\r\n <div class=\"ele-batch-export__handle\">\r\n <div class=\"ele-batch-export__btn\" @click=\"handleClick\">导出任务处理中..... 请点击此按钮跳转到“批处理管理”菜单查看任务进度</div>\r\n <div class=\"ele-batch-export__btn--hint\">批处理任务的准备工作会在后台运行</div>\r\n </div>\r\n </div>\r\n <div class=\"ele-batch-export__message\">\r\n 您可以请点击上方按钮查看任务进度或关闭弹框\r\n </div>\r\n </div>\r\n </ele-modal>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: 'ele-batch-export',\r\n props: {\r\n value: {\r\n type: Boolean,\r\n default: false\r\n },\r\n buttonGroupMeta: {\r\n type: Object,\r\n default: () => {\r\n return {\r\n elements: [\r\n {\r\n label: '关闭',\r\n key: 'close',\r\n type: 'primary',\r\n eventName: 'handleClose'\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n },\r\n data() {\r\n return {\r\n innerValue: false\r\n }\r\n },\r\n watch: {\r\n value: {\r\n handler (value) {\r\n this.$nextTick(() => {\r\n this.innerValue = value\r\n })\r\n },\r\n immediate: true\r\n }\r\n },\r\n methods: {\r\n handleClick () {\r\n this.$emit('on-batch-export')\r\n }\r\n }\r\n}\r\n</script>\r\n<style lang=\"scss\">\r\n@import '../../theme/index';\r\n</style>\r\n<style lang=\"scss\" scoped>\r\n.ele-batch-export__content {\r\n height: 106px;\r\n .ele-batch-export__container {\r\n border-width: 1px;\r\n border-style: dashed;\r\n height: 80px;\r\n border-color: var(--idooel-link-06);\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n padding: 0 16px;\r\n .ele-batch-export__icon {\r\n font-size: 48px;\r\n color: var(--idooel-link-06);\r\n }\r\n .ele-batch-export__handle {\r\n margin-left: 16px;\r\n .ele-batch-export__btn {\r\n color: var(--idooel-link-06);\r\n font-size: 16px;\r\n cursor: pointer;\r\n }\r\n .ele-batch-export__btn--hint {\r\n color: var(--idooel-link-03);\r\n font-size: 14px;\r\n }\r\n }\r\n }\r\n .ele-batch-export__message {\r\n color: var(--idooel-link-06);\r\n font-size: 14px;\r\n }\r\n}\r\n</style>",".ele-batch-export__content {\n height: 106px;\n}\n.ele-batch-export__content .ele-batch-export__container {\n border-width: 1px;\n border-style: dashed;\n height: 80px;\n border-color: var(--idooel-link-06);\n display: flex;\n flex-direction: row;\n align-items: center;\n padding: 0 16px;\n}\n.ele-batch-export__content .ele-batch-export__container .ele-batch-export__icon {\n font-size: 48px;\n color: var(--idooel-link-06);\n}\n.ele-batch-export__content .ele-batch-export__container .ele-batch-export__handle {\n margin-left: 16px;\n}\n.ele-batch-export__content .ele-batch-export__container .ele-batch-export__handle .ele-batch-export__btn {\n color: var(--idooel-link-06);\n font-size: 16px;\n cursor: pointer;\n}\n.ele-batch-export__content .ele-batch-export__container .ele-batch-export__handle .ele-batch-export__btn--hint {\n color: var(--idooel-link-03);\n font-size: 14px;\n}\n.ele-batch-export__content .ele-batch-export__message {\n color: var(--idooel-link-06);\n font-size: 14px;\n}\n\n/*# sourceMappingURL=index.vue.map */"]}, media: undefined });
6008
6025
 
6009
6026
  };
6010
6027
  /* scoped */
6011
- const __vue_scope_id__$e = "data-v-7250fd6a";
6028
+ const __vue_scope_id__$f = "data-v-7250fd6a";
6012
6029
  /* module identifier */
6013
- const __vue_module_identifier__$e = undefined;
6030
+ const __vue_module_identifier__$f = undefined;
6014
6031
  /* functional template */
6015
- const __vue_is_functional_template__$e = false;
6032
+ const __vue_is_functional_template__$f = false;
6016
6033
  /* style inject SSR */
6017
6034
 
6018
6035
  /* style inject shadow dom */
6019
6036
 
6020
6037
 
6021
6038
 
6022
- const __vue_component__$e = /*#__PURE__*/normalizeComponent(
6023
- { render: __vue_render__$e, staticRenderFns: __vue_staticRenderFns__$e },
6024
- __vue_inject_styles__$e,
6025
- __vue_script__$e,
6026
- __vue_scope_id__$e,
6027
- __vue_is_functional_template__$e,
6028
- __vue_module_identifier__$e,
6039
+ const __vue_component__$f = /*#__PURE__*/normalizeComponent(
6040
+ { render: __vue_render__$f, staticRenderFns: __vue_staticRenderFns__$f },
6041
+ __vue_inject_styles__$f,
6042
+ __vue_script__$f,
6043
+ __vue_scope_id__$f,
6044
+ __vue_is_functional_template__$f,
6045
+ __vue_module_identifier__$f,
6029
6046
  false,
6030
6047
  createInjector,
6031
6048
  undefined,
6032
6049
  undefined
6033
6050
  );
6034
6051
 
6035
- __vue_component__$e.install = Vue => Vue.component(__vue_component__$e.name, __vue_component__$e);
6052
+ __vue_component__$f.install = Vue => Vue.component(__vue_component__$f.name, __vue_component__$f);
6036
6053
 
6037
6054
  //
6038
6055
  //
@@ -6046,7 +6063,7 @@ __vue_component__$e.install = Vue => Vue.component(__vue_component__$e.name, __v
6046
6063
  //
6047
6064
  //
6048
6065
 
6049
- var script$d = {
6066
+ var script$e = {
6050
6067
  name: 'ele-date-range',
6051
6068
  model: {
6052
6069
  prop: 'value',
@@ -6077,10 +6094,10 @@ var script$d = {
6077
6094
  };
6078
6095
 
6079
6096
  /* script */
6080
- const __vue_script__$d = script$d;
6097
+ const __vue_script__$e = script$e;
6081
6098
 
6082
6099
  /* template */
6083
- var __vue_render__$d = function () {
6100
+ var __vue_render__$e = function () {
6084
6101
  var _vm = this;
6085
6102
  var _h = _vm.$createElement;
6086
6103
  var _c = _vm._self._c || _h;
@@ -6095,44 +6112,44 @@ var __vue_render__$d = function () {
6095
6112
  on: { change: _vm.onChange },
6096
6113
  })
6097
6114
  };
6098
- var __vue_staticRenderFns__$d = [];
6099
- __vue_render__$d._withStripped = true;
6115
+ var __vue_staticRenderFns__$e = [];
6116
+ __vue_render__$e._withStripped = true;
6100
6117
 
6101
6118
  /* style */
6102
- const __vue_inject_styles__$d = function (inject) {
6119
+ const __vue_inject_styles__$e = function (inject) {
6103
6120
  if (!inject) return
6104
6121
  inject("data-v-547e029c_0", { source: "\n\n/*# sourceMappingURL=index.vue.map */", map: {"version":3,"sources":["index.vue"],"names":[],"mappings":";;AAEA,oCAAoC","file":"index.vue"}, media: undefined });
6105
6122
 
6106
6123
  };
6107
6124
  /* scoped */
6108
- const __vue_scope_id__$d = "data-v-547e029c";
6125
+ const __vue_scope_id__$e = "data-v-547e029c";
6109
6126
  /* module identifier */
6110
- const __vue_module_identifier__$d = undefined;
6127
+ const __vue_module_identifier__$e = undefined;
6111
6128
  /* functional template */
6112
- const __vue_is_functional_template__$d = false;
6129
+ const __vue_is_functional_template__$e = false;
6113
6130
  /* style inject SSR */
6114
6131
 
6115
6132
  /* style inject shadow dom */
6116
6133
 
6117
6134
 
6118
6135
 
6119
- const __vue_component__$d = /*#__PURE__*/normalizeComponent(
6120
- { render: __vue_render__$d, staticRenderFns: __vue_staticRenderFns__$d },
6121
- __vue_inject_styles__$d,
6122
- __vue_script__$d,
6123
- __vue_scope_id__$d,
6124
- __vue_is_functional_template__$d,
6125
- __vue_module_identifier__$d,
6136
+ const __vue_component__$e = /*#__PURE__*/normalizeComponent(
6137
+ { render: __vue_render__$e, staticRenderFns: __vue_staticRenderFns__$e },
6138
+ __vue_inject_styles__$e,
6139
+ __vue_script__$e,
6140
+ __vue_scope_id__$e,
6141
+ __vue_is_functional_template__$e,
6142
+ __vue_module_identifier__$e,
6126
6143
  false,
6127
6144
  createInjector,
6128
6145
  undefined,
6129
6146
  undefined
6130
6147
  );
6131
6148
 
6132
- __vue_component__$d.install = Vue => Vue.component(__vue_component__$d.name, __vue_component__$d);
6149
+ __vue_component__$e.install = Vue => Vue.component(__vue_component__$e.name, __vue_component__$e);
6133
6150
 
6134
6151
  //
6135
- var script$c = {
6152
+ var script$d = {
6136
6153
  name: 'ele-timeline',
6137
6154
  props: {
6138
6155
  url: {
@@ -6220,10 +6237,10 @@ var script$c = {
6220
6237
  };
6221
6238
 
6222
6239
  /* script */
6223
- const __vue_script__$c = script$c;
6240
+ const __vue_script__$d = script$d;
6224
6241
 
6225
6242
  /* template */
6226
- var __vue_render__$c = function () {
6243
+ var __vue_render__$d = function () {
6227
6244
  var _vm = this;
6228
6245
  var _h = _vm.$createElement;
6229
6246
  var _c = _vm._self._c || _h;
@@ -6301,7 +6318,7 @@ var __vue_render__$c = function () {
6301
6318
  0
6302
6319
  )
6303
6320
  };
6304
- var __vue_staticRenderFns__$c = [
6321
+ var __vue_staticRenderFns__$d = [
6305
6322
  function () {
6306
6323
  var _vm = this;
6307
6324
  var _h = _vm.$createElement;
@@ -6313,41 +6330,41 @@ var __vue_staticRenderFns__$c = [
6313
6330
  ])
6314
6331
  },
6315
6332
  ];
6316
- __vue_render__$c._withStripped = true;
6333
+ __vue_render__$d._withStripped = true;
6317
6334
 
6318
6335
  /* style */
6319
- const __vue_inject_styles__$c = function (inject) {
6336
+ const __vue_inject_styles__$d = function (inject) {
6320
6337
  if (!inject) return
6321
6338
  inject("data-v-216aed60_0", { source: ".has-error .ele-upload__wrapper .ele-upload__inner {\n border-color: #F5222D;\n}\n.has-error .ele-upload__wrapper .ele-upload__inner .ele-upload__area .ele-upload__area--icon .anticon-cloud-upload {\n color: #F5222D;\n}\n.has-error .ele-upload__wrapper .ele-upload__inner .ele-upload__area .ele-upload__area--text .ele-upload__message {\n color: #F5222D;\n}\n.has-error .ele-upload__wrapper .ele-upload__inner .ele-upload__area .ele-upload__area--text .ele-upload__ext {\n color: #FFA39E;\n}\n.margin-t-8 {\n margin-top: 8px;\n}\n:root {\n --idooel-primary-color: #1890FF;\n --idoole-black-02: rgba(0, 0, 0, 0.04);\n --idoole-black-06: rgba(0, 0, 0, 0.44);\n --idoole-black-07: rgba(0, 0, 0, 0.64);\n --idoole-black-064: rgba(0, 0, 0, 0.64);\n --idoole-black-088: rgba(0, 0, 0, 0.88);\n --idoole-black-016: rgba(0, 0, 0, 0.16);\n --idooel-disabled-border-color: rgba(0, 0, 0, 0.16);\n --idoole-success-06: #52C41A;\n --idoole-warning-06: #FAAD14;\n --idoole-error-06: #F5222D;\n --idooel-border-width: 2;\n --idooel-border-color: #53a8ff;\n --idooel-column-border-width: 1;\n --idooel-column-border-color: #d9ecff;\n --idooel-row-even-color: #F0FAFF;\n --idooel-row-odd-color: #FFF;\n --idooel-form-title-border-color: rgba(0, 0, 0, 0.16);\n --idooel-form-upload-bg-color: rgba(0, 0, 0, 0.02);\n --idooel-form-upload-border-hover-color: #40A9FF;\n --idooel-form-border-radius: 2px;\n --idooel-form-border-err-color: #F5222D;\n --idooel-link-06: #1890FF;\n --idooel-link-03: #91D5FF;\n --idooel-img-crop-err-color: #FFA39E;\n}\n.ant-input-disabled {\n border-color: var(--idooel-disabled-border-color) !important;\n}\n.ant-select-disabled .ant-select-selection {\n border-color: var(--idooel-disabled-border-color) !important;\n}\n\n/*# sourceMappingURL=index.vue.map */", map: {"version":3,"sources":["index.vue"],"names":[],"mappings":"AAAA;EACE,qBAAqB;AACvB;AACA;EACE,cAAc;AAChB;AACA;EACE,cAAc;AAChB;AACA;EACE,cAAc;AAChB;AAEA;EACE,eAAe;AACjB;AAEA;EACE,+BAA+B;EAC/B,sCAAsC;EACtC,sCAAsC;EACtC,sCAAsC;EACtC,uCAAuC;EACvC,uCAAuC;EACvC,uCAAuC;EACvC,mDAAmD;EACnD,4BAA4B;EAC5B,4BAA4B;EAC5B,0BAA0B;EAC1B,wBAAwB;EACxB,8BAA8B;EAC9B,+BAA+B;EAC/B,qCAAqC;EACrC,gCAAgC;EAChC,4BAA4B;EAC5B,qDAAqD;EACrD,kDAAkD;EAClD,gDAAgD;EAChD,gCAAgC;EAChC,uCAAuC;EACvC,yBAAyB;EACzB,yBAAyB;EACzB,oCAAoC;AACtC;AAEA;EACE,4DAA4D;AAC9D;AAEA;EACE,4DAA4D;AAC9D;;AAEA,oCAAoC","file":"index.vue","sourcesContent":[".has-error .ele-upload__wrapper .ele-upload__inner {\n border-color: #F5222D;\n}\n.has-error .ele-upload__wrapper .ele-upload__inner .ele-upload__area .ele-upload__area--icon .anticon-cloud-upload {\n color: #F5222D;\n}\n.has-error .ele-upload__wrapper .ele-upload__inner .ele-upload__area .ele-upload__area--text .ele-upload__message {\n color: #F5222D;\n}\n.has-error .ele-upload__wrapper .ele-upload__inner .ele-upload__area .ele-upload__area--text .ele-upload__ext {\n color: #FFA39E;\n}\n\n.margin-t-8 {\n margin-top: 8px;\n}\n\n:root {\n --idooel-primary-color: #1890FF;\n --idoole-black-02: rgba(0, 0, 0, 0.04);\n --idoole-black-06: rgba(0, 0, 0, 0.44);\n --idoole-black-07: rgba(0, 0, 0, 0.64);\n --idoole-black-064: rgba(0, 0, 0, 0.64);\n --idoole-black-088: rgba(0, 0, 0, 0.88);\n --idoole-black-016: rgba(0, 0, 0, 0.16);\n --idooel-disabled-border-color: rgba(0, 0, 0, 0.16);\n --idoole-success-06: #52C41A;\n --idoole-warning-06: #FAAD14;\n --idoole-error-06: #F5222D;\n --idooel-border-width: 2;\n --idooel-border-color: #53a8ff;\n --idooel-column-border-width: 1;\n --idooel-column-border-color: #d9ecff;\n --idooel-row-even-color: #F0FAFF;\n --idooel-row-odd-color: #FFF;\n --idooel-form-title-border-color: rgba(0, 0, 0, 0.16);\n --idooel-form-upload-bg-color: rgba(0, 0, 0, 0.02);\n --idooel-form-upload-border-hover-color: #40A9FF;\n --idooel-form-border-radius: 2px;\n --idooel-form-border-err-color: #F5222D;\n --idooel-link-06: #1890FF;\n --idooel-link-03: #91D5FF;\n --idooel-img-crop-err-color: #FFA39E;\n}\n\n.ant-input-disabled {\n border-color: var(--idooel-disabled-border-color) !important;\n}\n\n.ant-select-disabled .ant-select-selection {\n border-color: var(--idooel-disabled-border-color) !important;\n}\n\n/*# sourceMappingURL=index.vue.map */"]}, media: undefined })
6322
6339
  ,inject("data-v-216aed60_1", { source: ".ele-timeline__wrapper[data-v-216aed60] {\n width: 100%;\n height: 100%;\n}\n.ele-timeline__wrapper .ele-timeline__item[data-v-216aed60] {\n display: flex;\n flex-direction: row;\n}\n.ele-timeline__wrapper .ele-timeline__item:last-child .ele-timeline__middle .ele-timeline__traline[data-v-216aed60] {\n display: none;\n}\n.ele-timeline__wrapper .ele-timeline__item .ele-timeline__left[data-v-216aed60] {\n flex: 1;\n padding-right: 12px;\n padding-top: 16px;\n padding-bottom: 16px;\n text-align: right;\n display: flex;\n flex-direction: row;\n justify-content: end;\n}\n.ele-timeline__wrapper .ele-timeline__item .ele-timeline__left .titleline-left__date[data-v-216aed60] {\n width: 100px;\n font-size: 14px;\n color: var(--idoole-black-064);\n}\n.ele-timeline__wrapper .ele-timeline__item .ele-timeline__middle[data-v-216aed60] {\n width: 10px;\n display: flex;\n flex-direction: column;\n align-items: center;\n transform: translate(0, 20px);\n}\n.ele-timeline__wrapper .ele-timeline__item .ele-timeline__middle .ele-timeline__circle[data-v-216aed60] {\n width: 100%;\n height: 10px;\n border-radius: 50%;\n border-width: 2px;\n border-style: solid;\n border-color: var(--idooel-primary-color);\n}\n.ele-timeline__wrapper .ele-timeline__item .ele-timeline__middle .ele-timeline__traline[data-v-216aed60] {\n width: 1px;\n height: calc(100% - 10px);\n border-width: 1px;\n border-style: solid;\n border-color: var(--idoole-black-016);\n}\n.ele-timeline__wrapper .ele-timeline__item .ele-timeline__right[data-v-216aed60] {\n text-align: left;\n flex: 2;\n padding-left: 12px;\n padding-top: 16px;\n padding-bottom: 16px;\n}\n.ele-timeline__wrapper .ele-timeline__item .ele-timeline__right .timeline-right__title[data-v-216aed60] {\n line-height: 22px;\n display: flex;\n flex-direction: row;\n}\n.ele-timeline__wrapper .ele-timeline__item .ele-timeline__right .timeline-right__title .title[data-v-216aed60] {\n color: var(--idoole-black-088);\n font-size: 14px;\n font-weight: bold;\n}\n.ele-timeline__wrapper .ele-timeline__item .ele-timeline__right .timeline-right__title .title-info[data-v-216aed60] {\n font-size: 14px;\n color: var(--idoole-black-064);\n margin-left: 16px;\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n.ele-timeline__wrapper .ele-timeline__item .ele-timeline__right .timeline-right__title .title-info[data-v-216aed60]::before {\n content: \"\";\n display: inline-block;\n width: 6px;\n height: 6px;\n border-radius: 50%;\n margin-right: 8px;\n}\n.ele-timeline__wrapper .ele-timeline__item .ele-timeline__right .timeline-right__title .title-info.success[data-v-216aed60]::before {\n background: var(--idoole-success-06);\n}\n.ele-timeline__wrapper .ele-timeline__item .ele-timeline__right .timeline-right__title .title-info.warning[data-v-216aed60]::before {\n background: var(--idoole-warning-06);\n}\n.ele-timeline__wrapper .ele-timeline__item .ele-timeline__right .timeline-right__title .title-info.error[data-v-216aed60]::before {\n background: var(--idoole-error-06);\n}\n.ele-timeline__wrapper .ele-timeline__item .ele-timeline__right .timeline-right__oper[data-v-216aed60] {\n line-height: 22px;\n margin-top: 8px;\n margin-left: 12px;\n}\n.ele-timeline__wrapper .ele-timeline__item .ele-timeline__right .timeline-right__oper .oper-name[data-v-216aed60] {\n color: var(--idoole-black-088);\n font-size: 14px;\n font-weight: bold;\n}\n.ele-timeline__wrapper .ele-timeline__item .ele-timeline__right .timeline-right__subtitle[data-v-216aed60] {\n margin-left: 12px;\n display: flex;\n flex-direction: row;\n line-height: 22px;\n margin-top: 4px;\n}\n.ele-timeline__wrapper .ele-timeline__item .ele-timeline__right .timeline-right__subtitle .right-subtitle__field[data-v-216aed60] {\n flex-shrink: 0;\n font-size: 14px;\n color: var(--idoole-black-064);\n}\n.ele-timeline__wrapper .ele-timeline__item .ele-timeline__right .timeline-right__subtitle .right-subtitle__content[data-v-216aed60] {\n font-size: 14px;\n color: var(--idoole-black-088);\n font-weight: bold;\n margin-left: 4px;\n}\n\n/*# sourceMappingURL=index.vue.map */", map: {"version":3,"sources":["E:\\work\\code\\ganjiao\\ganjian-monorepo\\packages\\components\\packages\\timeline\\src\\index.vue","index.vue"],"names":[],"mappings":"AA6HA;EACA,WAAA;EACA,YAAA;AC5HA;AD6HA;EACA,aAAA;EACA,mBAAA;AC3HA;AD8HA;EACA,aAAA;AC5HA;ADgIA;EACA,OAAA;EACA,mBAAA;EACA,iBAAA;EACA,oBAAA;EACA,iBAAA;EACA,aAAA;EACA,mBAAA;EACA,oBAAA;AC9HA;AD+HA;EACA,YAAA;EACA,eAAA;EACA,8BAAA;AC7HA;ADgIA;EACA,WAAA;EACA,aAAA;EACA,sBAAA;EACA,mBAAA;EACA,6BAAA;AC9HA;AD+HA;EACA,WAAA;EACA,YAAA;EACA,kBAAA;EACA,iBAAA;EACA,mBAAA;EACA,yCAAA;AC7HA;AD+HA;EACA,UAAA;EACA,yBAAA;EACA,iBAAA;EACA,mBAAA;EACA,qCAAA;AC7HA;ADgIA;EACA,gBAAA;EACA,OAAA;EACA,kBAAA;EACA,iBAAA;EACA,oBAAA;AC9HA;AD+HA;EACA,iBAAA;EACA,aAAA;EACA,mBAAA;AC7HA;AD8HA;EACA,8BAAA;EACA,eAAA;EACA,iBAAA;AC5HA;AD8HA;EACA,eAAA;EACA,8BAAA;EACA,iBAAA;EACA,aAAA;EACA,mBAAA;EACA,mBAAA;AC5HA;AD6HA;EACA,WAAA;EACA,qBAAA;EACA,UAAA;EACA,WAAA;EACA,kBAAA;EACA,iBAAA;AC3HA;AD8HA;EACA,oCAAA;AC5HA;ADgIA;EACA,oCAAA;AC9HA;ADkIA;EACA,kCAAA;AChIA;ADqIA;EACA,iBAAA;EACA,eAAA;EACA,iBAAA;ACnIA;ADoIA;EACA,8BAAA;EACA,eAAA;EACA,iBAAA;AClIA;ADqIA;EACA,iBAAA;EACA,aAAA;EACA,mBAAA;EACA,iBAAA;EACA,eAAA;ACnIA;ADoIA;EACA,cAAA;EACA,eAAA;EACA,8BAAA;AClIA;ADoIA;EACA,eAAA;EACA,8BAAA;EACA,iBAAA;EACA,gBAAA;AClIA;;AAEA,oCAAoC","file":"index.vue","sourcesContent":["<template>\r\n <div class=\"ele-timeline__wrapper\">\r\n <div class=\"ele-timeline__item\" v-for=\"item in innerDataSource\" :key=\"item.key\">\r\n <div class=\"ele-timeline__left\">\r\n <div class=\"titleline-left__date\">{{ item.date }}</div>\r\n </div>\r\n <div class=\"ele-timeline__middle\">\r\n <div class=\"ele-timeline__circle\"></div>\r\n <div class=\"ele-timeline__traline\"></div>\r\n </div>\r\n <div class=\"ele-timeline__right\">\r\n <slot v-if=\"$scopedSlots.right\" name=\"right\" :data=\"item\"></slot>\r\n <template v-else>\r\n <div class=\"timeline-right__title\">\r\n <span class=\"title\">{{ item.title }}</span>\r\n <span :class=\"['title-info', item.state == 1 && 'success', item.state == 2 && 'warning', item.state == 3 && 'error']\">{{ item.stateName }}</span>\r\n </div>\r\n <div class=\"timeline-right__oper\">\r\n 由\r\n <span class=\"oper-name\">{{ item.userName }}</span>\r\n 操作\r\n </div>\r\n <div class=\"timeline-right__subtitle\" v-for=\"label in item.labelList\" :key=\"label.value\">\r\n <div class=\"right-subtitle__field\">{{ label.label }}:</div>\r\n <div class=\"right-subtitle__content\">{{ label.value }}</div>\r\n </div>\r\n </template>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { net, type } from '@idooel/shared'\r\nimport { v4 as uuidv4 } from 'uuid'\r\nimport { CONTEXT, parseFieldMap } from '../../utils'\r\nexport default {\r\n name: 'ele-timeline',\r\n props: {\r\n url: {\r\n type: String\r\n },\r\n params: {\r\n type: Object,\r\n default: () => ({})\r\n },\r\n requestType: {\r\n type: String,\r\n default: 'GET'\r\n },\r\n fieldMap: {\r\n type: Object,\r\n default: () => ({})\r\n },\r\n dataSource: {\r\n type: Array,\r\n default: () => ([\r\n // {\r\n // date: '2023/05/09 03:34:56',\r\n // title: 123,\r\n // state: 1,\r\n // stateName: '成功',\r\n // userName: 'Name',\r\n // labelList: [\r\n // {\r\n // label: 'label',\r\n // value: 'value'\r\n // }\r\n // ],\r\n // action: '结班',\r\n // opinion: '意见'\r\n // }\r\n ])\r\n }\r\n },\r\n data () {\r\n return {\r\n innerDataSource: []\r\n }\r\n },\r\n inject: {\r\n [CONTEXT]: {\r\n default: () => (() => ({}))\r\n }\r\n },\r\n computed: {\r\n expressionData () {\r\n return {\r\n _route: this.$route.query,\r\n ...this[CONTEXT]()\r\n }\r\n }\r\n },\r\n async created() {\r\n if (this.url) {\r\n this.innerDataSource = await this.requestData()\r\n } else if (!type.isEmpty(this.dataSource)) {\r\n this.innerDataSource = this.dataSource\r\n } else {\r\n console.warn('ele-timeline: 请传入数据源')\r\n }\r\n },\r\n methods: {\r\n async requestData () {\r\n const ret = await net[this.requestType.toLowerCase()](\r\n this.url,\r\n { ...this.params, ...parseFieldMap(this.fieldMap, this.expressionData) }\r\n ).then(resp => {\r\n const { data } = resp || {}\r\n return data.map(item => {\r\n return {\r\n key: uuidv4(),\r\n ...item\r\n }\r\n })\r\n })\r\n return ret\r\n }\r\n }\r\n}\r\n</script>\r\n<style lang=\"scss\">\r\n@import '../../theme/index';\r\n</style>\r\n<style lang=\"scss\" scoped>\r\n.ele-timeline__wrapper {\r\n width: 100%;\r\n height: 100%;\r\n .ele-timeline__item {\r\n display: flex;\r\n flex-direction: row;\r\n &:last-child {\r\n .ele-timeline__middle {\r\n .ele-timeline__traline {\r\n display: none;\r\n }\r\n }\r\n }\r\n .ele-timeline__left {\r\n flex: 1;\r\n padding-right: 12px;\r\n padding-top: 16px;\r\n padding-bottom: 16px;\r\n text-align: right;\r\n display: flex;\r\n flex-direction: row;\r\n justify-content: end;\r\n .titleline-left__date {\r\n width: 100px;\r\n font-size: 14px;\r\n color: var(--idoole-black-064);\r\n }\r\n }\r\n .ele-timeline__middle {\r\n width: 10px;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n transform: translate(0, 20px);\r\n .ele-timeline__circle {\r\n width: 100%;\r\n height: 10px;\r\n border-radius: 50%;\r\n border-width: 2px;\r\n border-style: solid;\r\n border-color: var(--idooel-primary-color);\r\n }\r\n .ele-timeline__traline {\r\n width: 1px;\r\n height: calc(100% - 10px);\r\n border-width: 1px;\r\n border-style: solid;\r\n border-color: var(--idoole-black-016);\r\n }\r\n }\r\n .ele-timeline__right {\r\n text-align: left;\r\n flex: 2;\r\n padding-left: 12px;\r\n padding-top: 16px;\r\n padding-bottom: 16px;\r\n .timeline-right__title {\r\n line-height: 22px;\r\n display: flex;\r\n flex-direction: row;\r\n .title {\r\n color: var(--idoole-black-088);\r\n font-size: 14px;\r\n font-weight: bold;\r\n }\r\n .title-info {\r\n font-size: 14px;\r\n color: var(--idoole-black-064);\r\n margin-left: 16px;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n &::before {\r\n content: '';\r\n display: inline-block;\r\n width: 6px;\r\n height: 6px;\r\n border-radius: 50%;\r\n margin-right: 8px;\r\n }\r\n &.success {\r\n &::before {\r\n background: var(--idoole-success-06);\r\n }\r\n }\r\n &.warning {\r\n &::before {\r\n background: var(--idoole-warning-06);\r\n }\r\n }\r\n &.error {\r\n &::before {\r\n background: var(--idoole-error-06);\r\n }\r\n }\r\n }\r\n }\r\n .timeline-right__oper {\r\n line-height: 22px;\r\n margin-top: 8px;\r\n margin-left: 12px;\r\n .oper-name {\r\n color: var(--idoole-black-088);\r\n font-size: 14px;\r\n font-weight: bold;\r\n }\r\n }\r\n .timeline-right__subtitle {\r\n margin-left: 12px;\r\n display: flex;\r\n flex-direction: row;\r\n line-height: 22px;\r\n margin-top: 4px;\r\n .right-subtitle__field {\r\n flex-shrink: 0;\r\n font-size: 14px;\r\n color: var(--idoole-black-064);\r\n }\r\n .right-subtitle__content {\r\n font-size: 14px;\r\n color: var(--idoole-black-088);\r\n font-weight: bold;\r\n margin-left: 4px;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n</style>",".ele-timeline__wrapper {\n width: 100%;\n height: 100%;\n}\n.ele-timeline__wrapper .ele-timeline__item {\n display: flex;\n flex-direction: row;\n}\n.ele-timeline__wrapper .ele-timeline__item:last-child .ele-timeline__middle .ele-timeline__traline {\n display: none;\n}\n.ele-timeline__wrapper .ele-timeline__item .ele-timeline__left {\n flex: 1;\n padding-right: 12px;\n padding-top: 16px;\n padding-bottom: 16px;\n text-align: right;\n display: flex;\n flex-direction: row;\n justify-content: end;\n}\n.ele-timeline__wrapper .ele-timeline__item .ele-timeline__left .titleline-left__date {\n width: 100px;\n font-size: 14px;\n color: var(--idoole-black-064);\n}\n.ele-timeline__wrapper .ele-timeline__item .ele-timeline__middle {\n width: 10px;\n display: flex;\n flex-direction: column;\n align-items: center;\n transform: translate(0, 20px);\n}\n.ele-timeline__wrapper .ele-timeline__item .ele-timeline__middle .ele-timeline__circle {\n width: 100%;\n height: 10px;\n border-radius: 50%;\n border-width: 2px;\n border-style: solid;\n border-color: var(--idooel-primary-color);\n}\n.ele-timeline__wrapper .ele-timeline__item .ele-timeline__middle .ele-timeline__traline {\n width: 1px;\n height: calc(100% - 10px);\n border-width: 1px;\n border-style: solid;\n border-color: var(--idoole-black-016);\n}\n.ele-timeline__wrapper .ele-timeline__item .ele-timeline__right {\n text-align: left;\n flex: 2;\n padding-left: 12px;\n padding-top: 16px;\n padding-bottom: 16px;\n}\n.ele-timeline__wrapper .ele-timeline__item .ele-timeline__right .timeline-right__title {\n line-height: 22px;\n display: flex;\n flex-direction: row;\n}\n.ele-timeline__wrapper .ele-timeline__item .ele-timeline__right .timeline-right__title .title {\n color: var(--idoole-black-088);\n font-size: 14px;\n font-weight: bold;\n}\n.ele-timeline__wrapper .ele-timeline__item .ele-timeline__right .timeline-right__title .title-info {\n font-size: 14px;\n color: var(--idoole-black-064);\n margin-left: 16px;\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n.ele-timeline__wrapper .ele-timeline__item .ele-timeline__right .timeline-right__title .title-info::before {\n content: \"\";\n display: inline-block;\n width: 6px;\n height: 6px;\n border-radius: 50%;\n margin-right: 8px;\n}\n.ele-timeline__wrapper .ele-timeline__item .ele-timeline__right .timeline-right__title .title-info.success::before {\n background: var(--idoole-success-06);\n}\n.ele-timeline__wrapper .ele-timeline__item .ele-timeline__right .timeline-right__title .title-info.warning::before {\n background: var(--idoole-warning-06);\n}\n.ele-timeline__wrapper .ele-timeline__item .ele-timeline__right .timeline-right__title .title-info.error::before {\n background: var(--idoole-error-06);\n}\n.ele-timeline__wrapper .ele-timeline__item .ele-timeline__right .timeline-right__oper {\n line-height: 22px;\n margin-top: 8px;\n margin-left: 12px;\n}\n.ele-timeline__wrapper .ele-timeline__item .ele-timeline__right .timeline-right__oper .oper-name {\n color: var(--idoole-black-088);\n font-size: 14px;\n font-weight: bold;\n}\n.ele-timeline__wrapper .ele-timeline__item .ele-timeline__right .timeline-right__subtitle {\n margin-left: 12px;\n display: flex;\n flex-direction: row;\n line-height: 22px;\n margin-top: 4px;\n}\n.ele-timeline__wrapper .ele-timeline__item .ele-timeline__right .timeline-right__subtitle .right-subtitle__field {\n flex-shrink: 0;\n font-size: 14px;\n color: var(--idoole-black-064);\n}\n.ele-timeline__wrapper .ele-timeline__item .ele-timeline__right .timeline-right__subtitle .right-subtitle__content {\n font-size: 14px;\n color: var(--idoole-black-088);\n font-weight: bold;\n margin-left: 4px;\n}\n\n/*# sourceMappingURL=index.vue.map */"]}, media: undefined });
6323
6340
 
6324
6341
  };
6325
6342
  /* scoped */
6326
- const __vue_scope_id__$c = "data-v-216aed60";
6343
+ const __vue_scope_id__$d = "data-v-216aed60";
6327
6344
  /* module identifier */
6328
- const __vue_module_identifier__$c = undefined;
6345
+ const __vue_module_identifier__$d = undefined;
6329
6346
  /* functional template */
6330
- const __vue_is_functional_template__$c = false;
6347
+ const __vue_is_functional_template__$d = false;
6331
6348
  /* style inject SSR */
6332
6349
 
6333
6350
  /* style inject shadow dom */
6334
6351
 
6335
6352
 
6336
6353
 
6337
- const __vue_component__$c = /*#__PURE__*/normalizeComponent(
6338
- { render: __vue_render__$c, staticRenderFns: __vue_staticRenderFns__$c },
6339
- __vue_inject_styles__$c,
6340
- __vue_script__$c,
6341
- __vue_scope_id__$c,
6342
- __vue_is_functional_template__$c,
6343
- __vue_module_identifier__$c,
6354
+ const __vue_component__$d = /*#__PURE__*/normalizeComponent(
6355
+ { render: __vue_render__$d, staticRenderFns: __vue_staticRenderFns__$d },
6356
+ __vue_inject_styles__$d,
6357
+ __vue_script__$d,
6358
+ __vue_scope_id__$d,
6359
+ __vue_is_functional_template__$d,
6360
+ __vue_module_identifier__$d,
6344
6361
  false,
6345
6362
  createInjector,
6346
6363
  undefined,
6347
6364
  undefined
6348
6365
  );
6349
6366
 
6350
- __vue_component__$c.install = Vue => Vue.component(__vue_component__$c.name, __vue_component__$c);
6367
+ __vue_component__$d.install = Vue => Vue.component(__vue_component__$d.name, __vue_component__$d);
6351
6368
 
6352
6369
  //
6353
6370
  //
@@ -6357,7 +6374,7 @@ __vue_component__$c.install = Vue => Vue.component(__vue_component__$c.name, __v
6357
6374
  //
6358
6375
  //
6359
6376
 
6360
- var script$b = {
6377
+ var script$c = {
6361
6378
  name: 'ele-text',
6362
6379
  props: {
6363
6380
  type: {
@@ -6377,10 +6394,10 @@ var script$b = {
6377
6394
  };
6378
6395
 
6379
6396
  /* script */
6380
- const __vue_script__$b = script$b;
6397
+ const __vue_script__$c = script$c;
6381
6398
 
6382
6399
  /* template */
6383
- var __vue_render__$b = function () {
6400
+ var __vue_render__$c = function () {
6384
6401
  var _vm = this;
6385
6402
  var _h = _vm.$createElement;
6386
6403
  var _c = _vm._self._c || _h;
@@ -6395,41 +6412,41 @@ var __vue_render__$b = function () {
6395
6412
  1
6396
6413
  )
6397
6414
  };
6398
- var __vue_staticRenderFns__$b = [];
6399
- __vue_render__$b._withStripped = true;
6415
+ var __vue_staticRenderFns__$c = [];
6416
+ __vue_render__$c._withStripped = true;
6400
6417
 
6401
6418
  /* style */
6402
- const __vue_inject_styles__$b = function (inject) {
6419
+ const __vue_inject_styles__$c = function (inject) {
6403
6420
  if (!inject) return
6404
6421
  inject("data-v-7a33ee3f_0", { source: ".ele-text__wrapper[data-v-7a33ee3f] {\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n.ele-text__wrapper.default .anticon[data-v-7a33ee3f], .ele-text__wrapper.default .message[data-v-7a33ee3f] {\n color: var(--idoole-black-064);\n}\n.ele-text__wrapper .anticon[data-v-7a33ee3f] {\n font-size: 16px;\n}\n.ele-text__wrapper .message[data-v-7a33ee3f] {\n font-size: 14px;\n margin-left: 4px;\n}\n\n/*# sourceMappingURL=index.vue.map */", map: {"version":3,"sources":["E:\\work\\code\\ganjiao\\ganjian-monorepo\\packages\\components\\packages\\text\\src\\index.vue","index.vue"],"names":[],"mappings":"AA8BA;EACA,aAAA;EACA,mBAAA;EACA,mBAAA;AC7BA;AD+BA;EACA,8BAAA;AC7BA;ADgCA;EACA,eAAA;AC9BA;ADgCA;EACA,eAAA;EACA,gBAAA;AC9BA;;AAEA,oCAAoC","file":"index.vue","sourcesContent":["<template>\r\n <div :class=\"['ele-text__wrapper', type]\">\r\n <ele-icon theme=\"filled\" :type=\"icon\"></ele-icon>\r\n <span class=\"message\">{{ message }}</span>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: 'ele-text',\r\n props: {\r\n type: {\r\n String,\r\n // default success error warning info\r\n default: 'default'\r\n },\r\n message: {\r\n type: String\r\n }\r\n },\r\n computed: {\r\n icon() {\r\n return 'info-circle'\r\n }\r\n },\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n//\r\n.ele-text__wrapper {\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n &.default {\r\n .anticon, .message {\r\n color: var(--idoole-black-064);\r\n }\r\n }\r\n .anticon {\r\n font-size: 16px;\r\n }\r\n .message {\r\n font-size: 14px;\r\n margin-left: 4px;\r\n }\r\n}\r\n</style>",".ele-text__wrapper {\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n.ele-text__wrapper.default .anticon, .ele-text__wrapper.default .message {\n color: var(--idoole-black-064);\n}\n.ele-text__wrapper .anticon {\n font-size: 16px;\n}\n.ele-text__wrapper .message {\n font-size: 14px;\n margin-left: 4px;\n}\n\n/*# sourceMappingURL=index.vue.map */"]}, media: undefined });
6405
6422
 
6406
6423
  };
6407
6424
  /* scoped */
6408
- const __vue_scope_id__$b = "data-v-7a33ee3f";
6425
+ const __vue_scope_id__$c = "data-v-7a33ee3f";
6409
6426
  /* module identifier */
6410
- const __vue_module_identifier__$b = undefined;
6427
+ const __vue_module_identifier__$c = undefined;
6411
6428
  /* functional template */
6412
- const __vue_is_functional_template__$b = false;
6429
+ const __vue_is_functional_template__$c = false;
6413
6430
  /* style inject SSR */
6414
6431
 
6415
6432
  /* style inject shadow dom */
6416
6433
 
6417
6434
 
6418
6435
 
6419
- const __vue_component__$b = /*#__PURE__*/normalizeComponent(
6420
- { render: __vue_render__$b, staticRenderFns: __vue_staticRenderFns__$b },
6421
- __vue_inject_styles__$b,
6422
- __vue_script__$b,
6423
- __vue_scope_id__$b,
6424
- __vue_is_functional_template__$b,
6425
- __vue_module_identifier__$b,
6436
+ const __vue_component__$c = /*#__PURE__*/normalizeComponent(
6437
+ { render: __vue_render__$c, staticRenderFns: __vue_staticRenderFns__$c },
6438
+ __vue_inject_styles__$c,
6439
+ __vue_script__$c,
6440
+ __vue_scope_id__$c,
6441
+ __vue_is_functional_template__$c,
6442
+ __vue_module_identifier__$c,
6426
6443
  false,
6427
6444
  createInjector,
6428
6445
  undefined,
6429
6446
  undefined
6430
6447
  );
6431
6448
 
6432
- __vue_component__$b.install = Vue => Vue.component(__vue_component__$b.name, __vue_component__$b);
6449
+ __vue_component__$c.install = Vue => Vue.component(__vue_component__$c.name, __vue_component__$c);
6433
6450
 
6434
6451
  //
6435
6452
  //
@@ -6446,7 +6463,7 @@ __vue_component__$b.install = Vue => Vue.component(__vue_component__$b.name, __v
6446
6463
  //
6447
6464
  //
6448
6465
 
6449
- var script$a = {
6466
+ var script$b = {
6450
6467
  name: 'ele-tabs',
6451
6468
  components: {},
6452
6469
  model: {
@@ -6482,10 +6499,10 @@ var script$a = {
6482
6499
  };
6483
6500
 
6484
6501
  /* script */
6485
- const __vue_script__$a = script$a;
6502
+ const __vue_script__$b = script$b;
6486
6503
 
6487
6504
  /* template */
6488
- var __vue_render__$a = function () {
6505
+ var __vue_render__$b = function () {
6489
6506
  var _vm = this;
6490
6507
  var _h = _vm.$createElement;
6491
6508
  var _c = _vm._self._c || _h;
@@ -6536,44 +6553,44 @@ var __vue_render__$a = function () {
6536
6553
  1
6537
6554
  )
6538
6555
  };
6539
- var __vue_staticRenderFns__$a = [];
6540
- __vue_render__$a._withStripped = true;
6556
+ var __vue_staticRenderFns__$b = [];
6557
+ __vue_render__$b._withStripped = true;
6541
6558
 
6542
6559
  /* style */
6543
- const __vue_inject_styles__$a = function (inject) {
6560
+ const __vue_inject_styles__$b = function (inject) {
6544
6561
  if (!inject) return
6545
6562
  inject("data-v-20aeece4_0", { source: "[data-v-20aeece4] .ant-tabs-nav-scroll {\n float: left !important;\n}\n\n/*# sourceMappingURL=index.vue.map */", map: {"version":3,"sources":["E:\\work\\code\\ganjiao\\ganjian-monorepo\\packages\\components\\packages\\tabs\\src\\index.vue","index.vue"],"names":[],"mappings":"AAoDA;EACA,sBAAA;ACnDA;;AAEA,oCAAoC","file":"index.vue","sourcesContent":["<template>\r\n <div>\r\n <a-tabs :default-active-key=\"activeKey\" :tabBarGutter=\"tabBarGutter\" :tabBarStyle=\"tabBarStyle\" @change=\"changeHandle\">\r\n <a-tab-pane v-for=\"(item, index) in tabsList\" :key=\"index\" :tab=\"item.tabName\" :disabled=\"item.disabled\">\r\n <template #tab>\r\n <component v-if=\"item.renderHeader\" :is=\"item.renderHeader\" ></component>\r\n <span v-else>{{ item.tabName }}</span>\r\n </template>\r\n <component :is=\"item.content\"></component>\r\n </a-tab-pane>\r\n </a-tabs>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: 'ele-tabs',\r\n components: {},\r\n model: {\r\n prop: 'value',\r\n event: 'change'\r\n },\r\n props: {\r\n activeKey: {\r\n type: Number,\r\n default: 0\r\n },\r\n tabsList: {\r\n type: Array,\r\n default () {\r\n return []\r\n }\r\n },\r\n tabBarStyle: {\r\n type: Object,\r\n default () {\r\n return {}\r\n }\r\n },\r\n tabBarGutter: {\r\n type: Number\r\n }\r\n },\r\n methods: {\r\n changeHandle (key) {\r\n this.$emit('changeActiveKey', key)\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n::v-deep .ant-tabs-nav-scroll {\r\n float: left !important;\r\n}\r\n</style>","::v-deep .ant-tabs-nav-scroll {\n float: left !important;\n}\n\n/*# sourceMappingURL=index.vue.map */"]}, media: undefined });
6546
6563
 
6547
6564
  };
6548
6565
  /* scoped */
6549
- const __vue_scope_id__$a = "data-v-20aeece4";
6566
+ const __vue_scope_id__$b = "data-v-20aeece4";
6550
6567
  /* module identifier */
6551
- const __vue_module_identifier__$a = undefined;
6568
+ const __vue_module_identifier__$b = undefined;
6552
6569
  /* functional template */
6553
- const __vue_is_functional_template__$a = false;
6570
+ const __vue_is_functional_template__$b = false;
6554
6571
  /* style inject SSR */
6555
6572
 
6556
6573
  /* style inject shadow dom */
6557
6574
 
6558
6575
 
6559
6576
 
6560
- const __vue_component__$a = /*#__PURE__*/normalizeComponent(
6561
- { render: __vue_render__$a, staticRenderFns: __vue_staticRenderFns__$a },
6562
- __vue_inject_styles__$a,
6563
- __vue_script__$a,
6564
- __vue_scope_id__$a,
6565
- __vue_is_functional_template__$a,
6566
- __vue_module_identifier__$a,
6577
+ const __vue_component__$b = /*#__PURE__*/normalizeComponent(
6578
+ { render: __vue_render__$b, staticRenderFns: __vue_staticRenderFns__$b },
6579
+ __vue_inject_styles__$b,
6580
+ __vue_script__$b,
6581
+ __vue_scope_id__$b,
6582
+ __vue_is_functional_template__$b,
6583
+ __vue_module_identifier__$b,
6567
6584
  false,
6568
6585
  createInjector,
6569
6586
  undefined,
6570
6587
  undefined
6571
6588
  );
6572
6589
 
6573
- __vue_component__$a.install = Vue => Vue.component(__vue_component__$a.name, __vue_component__$a);
6590
+ __vue_component__$b.install = Vue => Vue.component(__vue_component__$b.name, __vue_component__$b);
6574
6591
 
6575
6592
  //
6576
- var script$9 = {
6593
+ var script$a = {
6577
6594
  name: 'ele-modal-img-crop',
6578
6595
  model: {
6579
6596
  event: 'input',
@@ -6714,10 +6731,10 @@ var script$9 = {
6714
6731
  };
6715
6732
 
6716
6733
  /* script */
6717
- const __vue_script__$9 = script$9;
6734
+ const __vue_script__$a = script$a;
6718
6735
 
6719
6736
  /* template */
6720
- var __vue_render__$9 = function () {
6737
+ var __vue_render__$a = function () {
6721
6738
  var _vm = this;
6722
6739
  var _h = _vm.$createElement;
6723
6740
  var _c = _vm._self._c || _h;
@@ -6835,44 +6852,44 @@ var __vue_render__$9 = function () {
6835
6852
  1
6836
6853
  )
6837
6854
  };
6838
- var __vue_staticRenderFns__$9 = [];
6839
- __vue_render__$9._withStripped = true;
6855
+ var __vue_staticRenderFns__$a = [];
6856
+ __vue_render__$a._withStripped = true;
6840
6857
 
6841
6858
  /* style */
6842
- const __vue_inject_styles__$9 = function (inject) {
6859
+ const __vue_inject_styles__$a = function (inject) {
6843
6860
  if (!inject) return
6844
6861
  inject("data-v-668ad5bc_0", { source: "[data-v-668ad5bc] .ant-modal-body {\n padding: 16px;\n}\n[data-v-668ad5bc] .ant-modal-header {\n padding: 16px;\n}\n.ele-imgCrop__wrapper[data-v-668ad5bc] {\n display: flex;\n gap: 16px;\n justify-content: center;\n margin-bottom: 30px;\n}\n.ele-imgCrop__wrapper .ele-imgCrop__left .ele-imgCrop__noImg[data-v-668ad5bc] {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 100%;\n position: relative;\n}\n.ele-imgCrop__wrapper .ele-imgCrop__left .ele-imgCrop__noImg .img-crop-left__image[data-v-668ad5bc] {\n width: 100%;\n height: 100%;\n}\n.ele-imgCrop__wrapper .ele-imgCrop__left .ele-imgCrop__noImg .ele-img-crop__upload[data-v-668ad5bc] {\n width: 100%;\n height: 100%;\n}\n.ele-imgCrop__wrapper .ele-imgCrop__left .ele-imgCrop__noImg .ele-img-crop__upload[data-v-668ad5bc] .ele-upload__inner {\n height: 100%;\n border: unset;\n background: transparent !important;\n}\n.ele-imgCrop__wrapper .ele-imgCrop__left .ele-imgCrop__noImg .ele-img-crop__upload[data-v-668ad5bc] .ele-upload__inner .ele-upload__area {\n display: flex;\n flex-direction: column;\n height: 100%;\n align-items: center;\n justify-content: center;\n}\n.ele-imgCrop__wrapper .ele-imgCrop__left .ele-imgCrop__noImg .ele-img-crop__upload[data-v-668ad5bc] .ele-upload__inner .ele-upload__area .ele-upload__area--text {\n margin-top: 16px;\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n.ele-imgCrop__wrapper .ele-imgCrop__left .ele-imgCrop__noImg .ele-imgCrop__font1[data-v-668ad5bc] {\n color: var(--idoole-black-088);\n font-size: 16px;\n line-height: 24px !important;\n}\n.ele-imgCrop__wrapper .ele-imgCrop__left .ele-imgCrop__noImg .ele-imgCrop__font2[data-v-668ad5bc] {\n color: var(--idoole-black-06);\n font-size: 14px;\n line-height: 22px;\n}\n.ele-imgCrop__wrapper .ele-imgCrop__left .ele-imgCrop__update[data-v-668ad5bc] {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n cursor: pointer;\n}\n.ele-imgCrop__wrapper .ele-imgCrop__right[data-v-668ad5bc] {\n position: relative;\n}\n.ele-imgCrop__wrapper .ele-imgCrop__right span[data-v-668ad5bc] {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n}\n.ele-imgCrop__wrapper .ele-imgCrop__right .img-crop-right__image[data-v-668ad5bc] {\n width: 100%;\n height: 100%;\n}\n.ele-imgCrop__wrapper .ele-imgCrop__item[data-v-668ad5bc] {\n width: 480px;\n height: 300px;\n border-radius: 2px;\n border: 1px dashed var(--idooel-form-title-border-color);\n background: var(--idooel-form-upload-bg-color);\n}\n.ele-imgCrop__tips[data-v-668ad5bc] {\n float: left;\n width: 80%;\n}\n.ele-imgCrop__error[data-v-668ad5bc] {\n color: var(--idooel-form-border-err-color) !important;\n}\n.ele-imgCrop__error2[data-v-668ad5bc] {\n color: var(--idooel-img-crop-err-color) !important;\n}\n.ele-imgCrop__icon[data-v-668ad5bc] {\n font-size: 48px;\n color: var(--idooel-link-06);\n}\n\n/*# sourceMappingURL=index.vue.map */", map: {"version":3,"sources":["E:\\work\\code\\ganjiao\\ganjian-monorepo\\packages\\components\\packages\\composite-components\\modal-img-crop\\src\\index.vue","index.vue"],"names":[],"mappings":"AAsLA;EACA,aAAA;ACrLA;ADuLA;EACA,aAAA;ACpLA;ADsLA;EACA,aAAA;EACA,SAAA;EACA,uBAAA;EACA,mBAAA;ACnLA;ADqLA;EACA,aAAA;EACA,sBAAA;EACA,uBAAA;EACA,mBAAA;EACA,WAAA;EACA,YAAA;EACA,kBAAA;ACnLA;ADoLA;EACA,WAAA;EACA,YAAA;AClLA;ADoLA;EACA,WAAA;EACA,YAAA;AClLA;ADmLA;EACA,YAAA;EACA,aAAA;EACA,kCAAA;ACjLA;ADkLA;EACA,aAAA;EACA,sBAAA;EACA,YAAA;EACA,mBAAA;EACA,uBAAA;AChLA;ADiLA;EACA,gBAAA;EACA,aAAA;EACA,sBAAA;EACA,mBAAA;AC/KA;ADoLA;EACA,8BAAA;EACA,eAAA;EACA,4BAAA;AClLA;ADoLA;EACA,6BAAA;EACA,eAAA;EACA,iBAAA;AClLA;ADqLA;EACA,kBAAA;EACA,MAAA;EACA,OAAA;EACA,WAAA;EACA,YAAA;EACA,UAAA;EACA,eAAA;ACnLA;ADsLA;EACA,kBAAA;ACpLA;ADqLA;EACA,kBAAA;EACA,QAAA;EACA,SAAA;EACA,gCAAA;ACnLA;ADqLA;EACA,WAAA;EACA,YAAA;ACnLA;ADsLA;EACA,YAAA;EACA,aAAA;EACA,kBAAA;EACA,wDAAA;EACA,8CAAA;ACpLA;ADuLA;EACA,WAAA;EACA,UAAA;ACpLA;ADsLA;EACA,qDAAA;ACnLA;ADqLA;EACA,kDAAA;AClLA;ADoLA;EACA,eAAA;EACA,4BAAA;ACjLA;;AAEA,oCAAoC","file":"index.vue","sourcesContent":["<template>\r\n <div>\r\n <ele-modal\r\n :ref=\"getEleModal\"\r\n :title=\"title\"\r\n :cancelText=\"cancelText\"\r\n :maskClosable=\"maskClosable\"\r\n v-on=\"$listeners\"\r\n :size=\"size\"\r\n :value=\"value\"\r\n @ok=\"handleOk\"\r\n :showDefaultFooter=\"true\"\r\n >\r\n <div class=\"ele-imgCrop__wrapper\">\r\n <div class=\"ele-imgCrop__left ele-imgCrop__item\">\r\n <div class=\"ele-imgCrop__noImg\">\r\n <ele-upload v-if=\"!fileId\" v-bind=\"uploadFileConfig\" class=\"ele-img-crop__upload\" @on-success=\"onUploadFileSuccess\" icon=\"inbox\" url=\"api/zuul/api-file/workbench/file\"></ele-upload>\r\n <template v-else>\r\n <img :ref=\"leftImage\" class=\"img-crop-left__image\" :src=\"imageUrl\" alt=\"\">\r\n </template>\r\n </div>\r\n <div class=\"margin-t-8\">\r\n <span v-if=\"imgtips\" class=\"ele-imgCrop__font1 ele-imgCrop__tips\" :class=\"isFail? 'ele-imgCrop__error' : ''\">{{ imgtips }}</span>\r\n <template v-else>\r\n <span class=\"ele-imgCrop__font1\">{{ fileName }}</span>\r\n <a-icon v-if=\"fileName\" @click=\"handleClickDeleteFile\" type=\"close\" style=\"cursor: pointer;float: right; line-height: 24px;\"/>\r\n </template>\r\n </div>\r\n </div>\r\n <div class=\"ele-imgCrop__right ele-imgCrop__item\">\r\n <span v-if=\"!fileId\" class=\"ele-imgCrop__font2\">左侧上传图片后可预览</span>\r\n <template v-else>\r\n <img class=\"img-crop-right__image\" :src=\"previewBase\" alt=\"\">\r\n </template>\r\n </div>\r\n </div>\r\n </ele-modal>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { v4 as uuidv4 } from 'uuid'\r\nimport Cropper from 'cropperjs'\r\nimport { util, net } from '@idooel/shared'\r\nexport default {\r\n name: 'ele-modal-img-crop',\r\n model: {\r\n event: 'input',\r\n prop: 'value'\r\n },\r\n props: {\r\n title: {\r\n type: String,\r\n default: '图像裁剪'\r\n },\r\n uploadFileConfig: {\r\n type: Object,\r\n default: () => {\r\n return {\r\n size: 10,\r\n accept: '*',\r\n byteConversion: 1024 * 1024\r\n }\r\n }\r\n },\r\n imageId: {\r\n type: String\r\n },\r\n maskClosable: {\r\n type: Boolean,\r\n default () {\r\n return false\r\n }\r\n },\r\n size: {\r\n type: String,\r\n default () {\r\n return 'big'\r\n }\r\n },\r\n value: {\r\n type: Boolean,\r\n default () {\r\n return false\r\n }\r\n },\r\n cropperConfig: {\r\n type: Object,\r\n default: () => {\r\n return {\r\n aspectRatio: 16 / 9\r\n }\r\n }\r\n }\r\n },\r\n data () {\r\n return {\r\n haveImg: false,\r\n imgtips: null,\r\n isFail: false,\r\n cancelText: '取消',\r\n fileName: null,\r\n fileId: null,\r\n previewBase: null,\r\n cropper: null\r\n }\r\n },\r\n computed: {\r\n leftImage () {\r\n return uuidv4()\r\n },\r\n imageUrl () {\r\n return `api-file/workbench/file/stream/${this.fileId}?origin=true`\r\n },\r\n getEleModal () {\r\n return uuidv4()\r\n }\r\n },\r\n watch: {\r\n value: {\r\n handler (value) {\r\n this.fileId = this.imageId\r\n if (value && this.fileId) {\r\n setTimeout(() => {\r\n this.initCropper()\r\n })\r\n }\r\n },\r\n immediate: true\r\n }\r\n },\r\n methods: {\r\n handleClickDeleteFile () {\r\n this.fileId = null\r\n this.fileName = null\r\n },\r\n handleOk () {\r\n this.cropper.getCroppedCanvas().toBlob(async (blob) => {\r\n await this.uploadFile(blob)\r\n this.$emit('input', false)\r\n this.$emit('change', this.fileId)\r\n })\r\n },\r\n async uploadFile (file) {\r\n const formData = new FormData()\r\n formData.append('serviceCode', 'cover-image')\r\n formData.append('_t', Math.random())\r\n formData.append('file', file)\r\n await net.post(\r\n 'zuul/api-file/workbench/file' + '?_csrf=' + localStorage.getItem('token'),\r\n formData\r\n ).then(() => {})\r\n },\r\n initCropper () {\r\n let previewReady = false\r\n console.log('this.$refs[this.leftImage', this.$refs[this.leftImage])\r\n this.cropper = new Cropper(this.$refs[this.leftImage], {\r\n aspectRatio: this.cropperConfig.aspectRatio,\r\n ready: () => {\r\n previewReady = true\r\n },\r\n crop: util.debounce(() => {\r\n if (!previewReady) {\r\n return\r\n }\r\n this.previewBase = this.cropper.getCroppedCanvas().toDataURL()\r\n }, 200)\r\n })\r\n },\r\n onUploadFileSuccess (props) {\r\n const { response: { data: { fileID } }, name } = props\r\n this.fileId = fileID\r\n this.fileName = name\r\n this.$nextTick(() => {\r\n this.initCropper()\r\n })\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n::v-deep .ant-modal-body {\r\n padding: 16px;\r\n}\r\n::v-deep .ant-modal-header {\r\n padding: 16px;\r\n}\r\n.ele-imgCrop__wrapper {\r\n display: flex;\r\n gap: 16px;\r\n justify-content: center;\r\n margin-bottom: 30px;\r\n .ele-imgCrop__left {\r\n .ele-imgCrop__noImg {\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n width: 100%;\r\n height: 100%;\r\n position: relative;\r\n .img-crop-left__image {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n .ele-img-crop__upload {\r\n width: 100%;\r\n height: 100%;\r\n ::v-deep .ele-upload__inner {\r\n height: 100%;\r\n border: unset;\r\n background: transparent !important;\r\n .ele-upload__area {\r\n display: flex;\r\n flex-direction: column;\r\n height: 100%;\r\n align-items: center;\r\n justify-content: center;\r\n .ele-upload__area--text {\r\n margin-top: 16px;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n }\r\n }\r\n }\r\n }\r\n .ele-imgCrop__font1 {\r\n color: var(--idoole-black-088);\r\n font-size: 16px;\r\n line-height: 24px !important;\r\n }\r\n .ele-imgCrop__font2 {\r\n color: var(--idoole-black-06);\r\n font-size: 14px;\r\n line-height: 22px; \r\n }\r\n }\r\n .ele-imgCrop__update {\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n opacity: 0;\r\n cursor: pointer;\r\n }\r\n }\r\n .ele-imgCrop__right {\r\n position: relative;\r\n span {\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n transform: translate(-50%, -50%);\r\n }\r\n .img-crop-right__image {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n }\r\n .ele-imgCrop__item {\r\n width: 480px;\r\n height: 300px;\r\n border-radius: 2px;\r\n border: 1px dashed var(--idooel-form-title-border-color);\r\n background: var(--idooel-form-upload-bg-color);\r\n }\r\n}\r\n.ele-imgCrop__tips {\r\n float: left;\r\n width: 80%;\r\n}\r\n.ele-imgCrop__error {\r\n color: var(--idooel-form-border-err-color) !important;\r\n}\r\n.ele-imgCrop__error2 {\r\n color: var(--idooel-img-crop-err-color) !important;\r\n}\r\n.ele-imgCrop__icon {\r\n font-size: 48px;\r\n color: var(--idooel-link-06);\r\n}\r\n</style>","::v-deep .ant-modal-body {\n padding: 16px;\n}\n\n::v-deep .ant-modal-header {\n padding: 16px;\n}\n\n.ele-imgCrop__wrapper {\n display: flex;\n gap: 16px;\n justify-content: center;\n margin-bottom: 30px;\n}\n.ele-imgCrop__wrapper .ele-imgCrop__left .ele-imgCrop__noImg {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 100%;\n position: relative;\n}\n.ele-imgCrop__wrapper .ele-imgCrop__left .ele-imgCrop__noImg .img-crop-left__image {\n width: 100%;\n height: 100%;\n}\n.ele-imgCrop__wrapper .ele-imgCrop__left .ele-imgCrop__noImg .ele-img-crop__upload {\n width: 100%;\n height: 100%;\n}\n.ele-imgCrop__wrapper .ele-imgCrop__left .ele-imgCrop__noImg .ele-img-crop__upload ::v-deep .ele-upload__inner {\n height: 100%;\n border: unset;\n background: transparent !important;\n}\n.ele-imgCrop__wrapper .ele-imgCrop__left .ele-imgCrop__noImg .ele-img-crop__upload ::v-deep .ele-upload__inner .ele-upload__area {\n display: flex;\n flex-direction: column;\n height: 100%;\n align-items: center;\n justify-content: center;\n}\n.ele-imgCrop__wrapper .ele-imgCrop__left .ele-imgCrop__noImg .ele-img-crop__upload ::v-deep .ele-upload__inner .ele-upload__area .ele-upload__area--text {\n margin-top: 16px;\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n.ele-imgCrop__wrapper .ele-imgCrop__left .ele-imgCrop__noImg .ele-imgCrop__font1 {\n color: var(--idoole-black-088);\n font-size: 16px;\n line-height: 24px !important;\n}\n.ele-imgCrop__wrapper .ele-imgCrop__left .ele-imgCrop__noImg .ele-imgCrop__font2 {\n color: var(--idoole-black-06);\n font-size: 14px;\n line-height: 22px;\n}\n.ele-imgCrop__wrapper .ele-imgCrop__left .ele-imgCrop__update {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n cursor: pointer;\n}\n.ele-imgCrop__wrapper .ele-imgCrop__right {\n position: relative;\n}\n.ele-imgCrop__wrapper .ele-imgCrop__right span {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n}\n.ele-imgCrop__wrapper .ele-imgCrop__right .img-crop-right__image {\n width: 100%;\n height: 100%;\n}\n.ele-imgCrop__wrapper .ele-imgCrop__item {\n width: 480px;\n height: 300px;\n border-radius: 2px;\n border: 1px dashed var(--idooel-form-title-border-color);\n background: var(--idooel-form-upload-bg-color);\n}\n\n.ele-imgCrop__tips {\n float: left;\n width: 80%;\n}\n\n.ele-imgCrop__error {\n color: var(--idooel-form-border-err-color) !important;\n}\n\n.ele-imgCrop__error2 {\n color: var(--idooel-img-crop-err-color) !important;\n}\n\n.ele-imgCrop__icon {\n font-size: 48px;\n color: var(--idooel-link-06);\n}\n\n/*# sourceMappingURL=index.vue.map */"]}, media: undefined });
6845
6862
 
6846
6863
  };
6847
6864
  /* scoped */
6848
- const __vue_scope_id__$9 = "data-v-668ad5bc";
6865
+ const __vue_scope_id__$a = "data-v-668ad5bc";
6849
6866
  /* module identifier */
6850
- const __vue_module_identifier__$9 = undefined;
6867
+ const __vue_module_identifier__$a = undefined;
6851
6868
  /* functional template */
6852
- const __vue_is_functional_template__$9 = false;
6869
+ const __vue_is_functional_template__$a = false;
6853
6870
  /* style inject SSR */
6854
6871
 
6855
6872
  /* style inject shadow dom */
6856
6873
 
6857
6874
 
6858
6875
 
6859
- const __vue_component__$9 = /*#__PURE__*/normalizeComponent(
6860
- { render: __vue_render__$9, staticRenderFns: __vue_staticRenderFns__$9 },
6861
- __vue_inject_styles__$9,
6862
- __vue_script__$9,
6863
- __vue_scope_id__$9,
6864
- __vue_is_functional_template__$9,
6865
- __vue_module_identifier__$9,
6876
+ const __vue_component__$a = /*#__PURE__*/normalizeComponent(
6877
+ { render: __vue_render__$a, staticRenderFns: __vue_staticRenderFns__$a },
6878
+ __vue_inject_styles__$a,
6879
+ __vue_script__$a,
6880
+ __vue_scope_id__$a,
6881
+ __vue_is_functional_template__$a,
6882
+ __vue_module_identifier__$a,
6866
6883
  false,
6867
6884
  createInjector,
6868
6885
  undefined,
6869
6886
  undefined
6870
6887
  );
6871
6888
 
6872
- __vue_component__$9.install = Vue => Vue.component(__vue_component__$9.name, __vue_component__$9);
6889
+ __vue_component__$a.install = Vue => Vue.component(__vue_component__$a.name, __vue_component__$a);
6873
6890
 
6874
6891
  //
6875
- var script$8 = {
6892
+ var script$9 = {
6876
6893
  name: 'ele-text-editor',
6877
6894
  props: {
6878
6895
  editorWidth: {
@@ -6918,10 +6935,10 @@ var script$8 = {
6918
6935
  };
6919
6936
 
6920
6937
  /* script */
6921
- const __vue_script__$8 = script$8;
6938
+ const __vue_script__$9 = script$9;
6922
6939
 
6923
6940
  /* template */
6924
- var __vue_render__$8 = function () {
6941
+ var __vue_render__$9 = function () {
6925
6942
  var _vm = this;
6926
6943
  var _h = _vm.$createElement;
6927
6944
  var _c = _vm._self._c || _h;
@@ -6944,17 +6961,83 @@ var __vue_render__$8 = function () {
6944
6961
  1
6945
6962
  )
6946
6963
  };
6964
+ var __vue_staticRenderFns__$9 = [];
6965
+ __vue_render__$9._withStripped = true;
6966
+
6967
+ /* style */
6968
+ const __vue_inject_styles__$9 = function (inject) {
6969
+ if (!inject) return
6970
+ inject("data-v-3b9e7dd9_0", { source: ".ele-editor__bottom[data-v-3b9e7dd9] {\n height: 40px;\n padding: 8px 20px 8px 8px;\n border: 1px solid var(--idooel-form-title-border-color);\n border-top: 0px;\n}\n.ele-editor__bottom span[data-v-3b9e7dd9] {\n color: var(--idoole-black-088);\n text-align: right;\n font-size: 12px;\n line-height: 20px;\n width: 100%;\n display: inline-block;\n}\n\n/*# sourceMappingURL=index.vue.map */", map: {"version":3,"sources":["E:\\work\\code\\ganjiao\\ganjian-monorepo\\packages\\components\\packages\\text-editor\\src\\index.vue","index.vue"],"names":[],"mappings":"AA0DA;EACA,YAAA;EACA,yBAAA;EACA,uDAAA;EACA,eAAA;ACzDA;AD0DA;EACA,8BAAA;EACA,iBAAA;EACA,eAAA;EACA,iBAAA;EACA,WAAA;EACA,qBAAA;ACxDA;;AAEA,oCAAoC","file":"index.vue","sourcesContent":["<template>\r\n <div class=\"ele-editor__wrapper\" :style=\"{width: editorWidth, height: editorHeight}\">\r\n <Vueditor :ref=\"getVueditor\" :style=\"{width: editorWidth, height: editorHeight}\"></Vueditor>\r\n <div class=\"ele-editor__bottom\">\r\n <span>{{ innerContent.length }}字</span>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { v4 as uuidv4 } from 'uuid'\r\nexport default {\r\n name: 'ele-text-editor',\r\n props: {\r\n editorWidth: {\r\n type: String\r\n },\r\n editorHeight: {\r\n type: String\r\n },\r\n maxLength: {\r\n type: Number,\r\n default () {\r\n return 10\r\n }\r\n }\r\n },\r\n data() {\r\n return {\r\n editorConfig: {},\r\n textEditorRef: null\r\n }\r\n },\r\n computed: {\r\n innerContent () {\r\n let content = this.textEditorRef ? this.textEditorRef.getContent() : ''\r\n if (this.textEditorRef && content.length > this.maxLength) {\r\n content = content.substring(0, this.maxLength)\r\n this.$nextTick(() => {\r\n this.textEditorRef.setContent(content)\r\n })\r\n }\r\n this.$emit('input', content)\r\n return content\r\n },\r\n getVueditor () {\r\n return uuidv4()\r\n }\r\n },\r\n watch: {},\r\n methods: {},\r\n mounted () {\r\n this.textEditorRef = this.$refs[this.getVueditor]\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.ele-editor__bottom {\r\n height: 40px;\r\n padding: 8px 20px 8px 8px;\r\n border: 1px solid var(--idooel-form-title-border-color);\r\n border-top: 0px;\r\n span {\r\n color: var(--idoole-black-088);\r\n text-align: right;\r\n font-size: 12px;\r\n line-height: 20px;\r\n width: 100%;\r\n display: inline-block;\r\n }\r\n}\r\n</style>",".ele-editor__bottom {\n height: 40px;\n padding: 8px 20px 8px 8px;\n border: 1px solid var(--idooel-form-title-border-color);\n border-top: 0px;\n}\n.ele-editor__bottom span {\n color: var(--idoole-black-088);\n text-align: right;\n font-size: 12px;\n line-height: 20px;\n width: 100%;\n display: inline-block;\n}\n\n/*# sourceMappingURL=index.vue.map */"]}, media: undefined });
6971
+
6972
+ };
6973
+ /* scoped */
6974
+ const __vue_scope_id__$9 = "data-v-3b9e7dd9";
6975
+ /* module identifier */
6976
+ const __vue_module_identifier__$9 = undefined;
6977
+ /* functional template */
6978
+ const __vue_is_functional_template__$9 = false;
6979
+ /* style inject SSR */
6980
+
6981
+ /* style inject shadow dom */
6982
+
6983
+
6984
+
6985
+ const __vue_component__$9 = /*#__PURE__*/normalizeComponent(
6986
+ { render: __vue_render__$9, staticRenderFns: __vue_staticRenderFns__$9 },
6987
+ __vue_inject_styles__$9,
6988
+ __vue_script__$9,
6989
+ __vue_scope_id__$9,
6990
+ __vue_is_functional_template__$9,
6991
+ __vue_module_identifier__$9,
6992
+ false,
6993
+ createInjector,
6994
+ undefined,
6995
+ undefined
6996
+ );
6997
+
6998
+ __vue_component__$9.install = Vue => Vue.component(__vue_component__$9.name, __vue_component__$9);
6999
+
7000
+ //
7001
+ //
7002
+ //
7003
+ //
7004
+ //
7005
+ //
7006
+ //
7007
+
7008
+ var script$8 = {
7009
+ props: {
7010
+ label: {
7011
+ type: String
7012
+ }
7013
+ }
7014
+ };
7015
+
7016
+ /* script */
7017
+ const __vue_script__$8 = script$8;
7018
+
7019
+ /* template */
7020
+ var __vue_render__$8 = function () {
7021
+ var _vm = this;
7022
+ var _h = _vm.$createElement;
7023
+ var _c = _vm._self._c || _h;
7024
+ return _c("div", { staticClass: "g-search__label" }, [
7025
+ _c("span", { staticClass: "label__title" }, [_vm._v(_vm._s(_vm.label))]),
7026
+ _vm._v(" "),
7027
+ _c("span", { staticClass: "label__suffix" }, [_vm._v(":")]),
7028
+ ])
7029
+ };
6947
7030
  var __vue_staticRenderFns__$8 = [];
6948
7031
  __vue_render__$8._withStripped = true;
6949
7032
 
6950
7033
  /* style */
6951
7034
  const __vue_inject_styles__$8 = function (inject) {
6952
7035
  if (!inject) return
6953
- inject("data-v-3b9e7dd9_0", { source: ".ele-editor__bottom[data-v-3b9e7dd9] {\n height: 40px;\n padding: 8px 20px 8px 8px;\n border: 1px solid var(--idooel-form-title-border-color);\n border-top: 0px;\n}\n.ele-editor__bottom span[data-v-3b9e7dd9] {\n color: var(--idoole-black-088);\n text-align: right;\n font-size: 12px;\n line-height: 20px;\n width: 100%;\n display: inline-block;\n}\n\n/*# sourceMappingURL=index.vue.map */", map: {"version":3,"sources":["E:\\work\\code\\ganjiao\\ganjian-monorepo\\packages\\components\\packages\\text-editor\\src\\index.vue","index.vue"],"names":[],"mappings":"AA0DA;EACA,YAAA;EACA,yBAAA;EACA,uDAAA;EACA,eAAA;ACzDA;AD0DA;EACA,8BAAA;EACA,iBAAA;EACA,eAAA;EACA,iBAAA;EACA,WAAA;EACA,qBAAA;ACxDA;;AAEA,oCAAoC","file":"index.vue","sourcesContent":["<template>\r\n <div class=\"ele-editor__wrapper\" :style=\"{width: editorWidth, height: editorHeight}\">\r\n <Vueditor :ref=\"getVueditor\" :style=\"{width: editorWidth, height: editorHeight}\"></Vueditor>\r\n <div class=\"ele-editor__bottom\">\r\n <span>{{ innerContent.length }}字</span>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { v4 as uuidv4 } from 'uuid'\r\nexport default {\r\n name: 'ele-text-editor',\r\n props: {\r\n editorWidth: {\r\n type: String\r\n },\r\n editorHeight: {\r\n type: String\r\n },\r\n maxLength: {\r\n type: Number,\r\n default () {\r\n return 10\r\n }\r\n }\r\n },\r\n data() {\r\n return {\r\n editorConfig: {},\r\n textEditorRef: null\r\n }\r\n },\r\n computed: {\r\n innerContent () {\r\n let content = this.textEditorRef ? this.textEditorRef.getContent() : ''\r\n if (this.textEditorRef && content.length > this.maxLength) {\r\n content = content.substring(0, this.maxLength)\r\n this.$nextTick(() => {\r\n this.textEditorRef.setContent(content)\r\n })\r\n }\r\n this.$emit('input', content)\r\n return content\r\n },\r\n getVueditor () {\r\n return uuidv4()\r\n }\r\n },\r\n watch: {},\r\n methods: {},\r\n mounted () {\r\n this.textEditorRef = this.$refs[this.getVueditor]\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.ele-editor__bottom {\r\n height: 40px;\r\n padding: 8px 20px 8px 8px;\r\n border: 1px solid var(--idooel-form-title-border-color);\r\n border-top: 0px;\r\n span {\r\n color: var(--idoole-black-088);\r\n text-align: right;\r\n font-size: 12px;\r\n line-height: 20px;\r\n width: 100%;\r\n display: inline-block;\r\n }\r\n}\r\n</style>",".ele-editor__bottom {\n height: 40px;\n padding: 8px 20px 8px 8px;\n border: 1px solid var(--idooel-form-title-border-color);\n border-top: 0px;\n}\n.ele-editor__bottom span {\n color: var(--idoole-black-088);\n text-align: right;\n font-size: 12px;\n line-height: 20px;\n width: 100%;\n display: inline-block;\n}\n\n/*# sourceMappingURL=index.vue.map */"]}, media: undefined });
7036
+ inject("data-v-40e71716_0", { source: ".g-search__label[data-v-40e71716] {\n /* width: 69px; */\n flex-basis: 69px;\n height: 32px;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n}\n.g-search__label .label__title[data-v-40e71716], .g-search__label .label__suffix[data-v-40e71716] {\n font-size: 14px;\n color: rgba(0, 0, 0, 0.88);\n white-space: nowrap;\n}\n.g-search__label .label__suffix[data-v-40e71716] {\n margin-left: 4px;\n}\n\n/*# sourceMappingURL=label.vue.map */", map: {"version":3,"sources":["E:\\work\\code\\ganjiao\\ganjian-monorepo\\packages\\components\\packages\\composite-components\\search-area\\src\\label.vue","label.vue"],"names":[],"mappings":"AAkBA;EACA,iBAAA;EACA,gBAAA;EACA,YAAA;EACA,aAAA;EACA,mBAAA;EACA,mBAAA;EACA,8BAAA;ACjBA;ADkBA;EACA,eAAA;EACA,0BAAA;EACA,mBAAA;AChBA;ADkBA;EACA,gBAAA;AChBA;;AAEA,oCAAoC","file":"label.vue","sourcesContent":["<template>\r\n <div class=\"g-search__label\">\r\n <span class=\"label__title\">{{ label }}</span>\r\n <span class=\"label__suffix\">:</span>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n props: {\r\n label: {\r\n type: String\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.g-search__label {\r\n /* width: 69px; */\r\n flex-basis: 69px;\r\n height: 32px;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n justify-content: space-between;\r\n .label__title, .label__suffix {\r\n font-size: 14px;\r\n color: rgba(0, 0, 0, 0.88);\r\n white-space: nowrap;\r\n }\r\n .label__suffix {\r\n margin-left: 4px;\r\n }\r\n}\r\n</style>",".g-search__label {\n /* width: 69px; */\n flex-basis: 69px;\n height: 32px;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n}\n.g-search__label .label__title, .g-search__label .label__suffix {\n font-size: 14px;\n color: rgba(0, 0, 0, 0.88);\n white-space: nowrap;\n}\n.g-search__label .label__suffix {\n margin-left: 4px;\n}\n\n/*# sourceMappingURL=label.vue.map */"]}, media: undefined });
6954
7037
 
6955
7038
  };
6956
7039
  /* scoped */
6957
- const __vue_scope_id__$8 = "data-v-3b9e7dd9";
7040
+ const __vue_scope_id__$8 = "data-v-40e71716";
6958
7041
  /* module identifier */
6959
7042
  const __vue_module_identifier__$8 = undefined;
6960
7043
  /* functional template */
@@ -6978,11 +7061,12 @@ __vue_render__$8._withStripped = true;
6978
7061
  undefined
6979
7062
  );
6980
7063
 
6981
- __vue_component__$8.install = Vue => Vue.component(__vue_component__$8.name, __vue_component__$8);
6982
-
6983
7064
  //
6984
7065
  var script$7 = {
6985
7066
  name: 'ele-search-area',
7067
+ components: {
7068
+ Label: __vue_component__$8
7069
+ },
6986
7070
  props: {
6987
7071
  gutter: {
6988
7072
  type: [Number, Array, Object],
@@ -7301,11 +7385,11 @@ __vue_render__$7._withStripped = true;
7301
7385
  /* style */
7302
7386
  const __vue_inject_styles__$7 = function (inject) {
7303
7387
  if (!inject) return
7304
- inject("data-v-9f02c73e_0", { source: ".search-area__wrapper[data-v-9f02c73e] {\n padding-top: 16px;\n padding-left: 16px;\n padding-right: 16px;\n}\n.search-area__wrapper[data-v-9f02c73e] .ant-col:last-child {\n float: right;\n}\n.search-area__wrapper .search-area__item[data-v-9f02c73e] {\n height: 32px;\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n.search-area__wrapper .search-area__item.search-area--action[data-v-9f02c73e] {\n justify-content: end;\n}\n.search-area__wrapper .search-area__item .expand-collapse[data-v-9f02c73e] {\n margin-left: 8px;\n height: 32px;\n padding: 4px 16px;\n color: var(--idooel-primary-color);\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n}\n.search-area__wrapper .search-area__item .expand-collapse .expand-collapse__text[data-v-9f02c73e] {\n font-size: 14px;\n}\n.search-area__wrapper .search-area__item .expand-collapse .expand-collapse__icon[data-v-9f02c73e] {\n font-size: 16px;\n margin-left: 8px;\n}\n\n/*# sourceMappingURL=index.vue.map */", map: {"version":3,"sources":["E:\\work\\code\\ganjiao\\ganjian-monorepo\\packages\\components\\packages\\composite-components\\search-area\\src\\index.vue","index.vue"],"names":[],"mappings":"AAqLA;EACA,iBAAA;EACA,kBAAA;EACA,mBAAA;ACpLA;ADsLA;EACA,YAAA;ACpLA;ADuLA;EACA,YAAA;EACA,aAAA;EACA,mBAAA;EACA,mBAAA;ACrLA;ADsLA;EACA,oBAAA;ACpLA;ADsLA;EACA,gBAAA;EACA,YAAA;EACA,iBAAA;EACA,kCAAA;EACA,aAAA;EACA,mBAAA;EACA,mBAAA;EACA,uBAAA;EACA,eAAA;ACpLA;ADqLA;EACA,eAAA;ACnLA;ADqLA;EACA,eAAA;EACA,gBAAA;ACnLA;;AAEA,oCAAoC","file":"index.vue","sourcesContent":["<template>\r\n <div class=\"search-area__wrapper\">\r\n <a-row :gutter=\"gutter\">\r\n <template v-for=\"(item, idx) in innerDataSource\">\r\n <a-col v-if=\"item._show\" :span=\"item.span || span\" :key=\"idx\">\r\n <div v-if=\"item.type == '_action'\" class=\"search-area__item search-area--action\">\r\n <ele-button icon=\"search\" type=\"primary\" @click=\"handleClickSearch\">查询</ele-button>\r\n <ele-button style=\"margin-left:8px;\" icon=\"reload\" @click=\"handleClickReset\">重置</ele-button>\r\n <div class=\"expand-collapse\" @click=\"handleClickExpandCollapse\">\r\n <span class=\"expand-collapse__text\">{{ isExpand ? '收起' : '展开' }}</span>\r\n <span class=\"expand-collapse__icon\">\r\n <a-icon v-if=\"isExpand\" type=\"up\" />\r\n <a-icon v-else type=\"down\" />\r\n </span>\r\n </div>\r\n </div>\r\n <div v-else class=\"search-area__item\">\r\n <template v-if=\"item.type == 'Input'\">\r\n <Label :label=\"item.label\"></Label>\r\n <ele-input v-model=\"item._value\"></ele-input>\r\n </template>\r\n <template v-else-if=\"item.type == 'Select'\">\r\n <Label :label=\"item.label\"></Label>\r\n <ele-select v-model=\"item._value\" :data-source=\"item.optionList\"></ele-select>\r\n </template>\r\n <template v-else-if=\"item.type == 'DatePicker'\">\r\n <Label :label=\"item.label\"></Label>\r\n <ele-date v-model=\"item._value\" :format=\"item.format\"></ele-date>\r\n </template>\r\n <template v-else-if=\"item.type == 'ele-date-range'\">\r\n <Label :label=\"item.label\"></Label>\r\n <ele-date-range v-model=\"item._value\" :format=\"item.format\" :show-time=\"item.showTime\"></ele-date-range>\r\n </template>\r\n </div>\r\n </a-col>\r\n </template>\r\n </a-row>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport Label from './label.vue'\r\nimport moment from 'moment'\r\nimport { parse } from '@idooel/expression'\r\nexport default {\r\n name: 'ele-search-area',\r\n props: {\r\n gutter: {\r\n type: [Number, Array, Object],\r\n default: () => ([\r\n 16, 8\r\n ])\r\n },\r\n span: {\r\n type: Number,\r\n default: 8\r\n },\r\n dataSource: {\r\n type: Array,\r\n required: true\r\n }\r\n },\r\n data() {\r\n return {\r\n isExpand: false\r\n }\r\n },\r\n computed: {\r\n cuttingFormula () {\r\n return (24 / this.span - 1)\r\n },\r\n buildDataSource () {\r\n return this.controlDisplayByFormula(this.mapDefaultValueToValue())\r\n },\r\n innerDataSource () {\r\n return [ ...this.buildDataSource, { type: '_action', _show: true }]\r\n }\r\n },\r\n created() {},\r\n methods: {\r\n controlDisplayByFormula (dataSource = []) {\r\n if (this.isExpand) {\r\n dataSource.forEach(item => {\r\n this.$set(item, '_show', true)\r\n })\r\n } else {\r\n dataSource.forEach((item, idx) => {\r\n if (idx < this.cuttingFormula) {\r\n this.$set(item, '_show', true)\r\n } else {\r\n this.$set(item, '_show', false)\r\n }\r\n })\r\n }\r\n return dataSource\r\n },\r\n buildDefaultValue (arg) {\r\n if (!arg || arg.charAt(0) !== '_') return arg\r\n return parse(arg, {\r\n _route: this.$route.query\r\n })\r\n },\r\n mapDefaultValueToValue () {\r\n this.dataSource.forEach(props => {\r\n this.$set(props, '_show', this.isExpand)\r\n if (props.defaultValue) {\r\n this.$set(props, '_value', this.buildDefaultValue(props.defaultValue))\r\n }\r\n })\r\n return this.dataSource\r\n },\r\n handleClickExpandCollapse () {\r\n this.isExpand = !this.isExpand\r\n },\r\n handleClickSearch () {\r\n const querys = this.extractValues()\r\n this.$emit('search', querys)\r\n },\r\n buildMapto (mapTo = [], dataSource) {\r\n const [ startField, endField ] = mapTo\r\n const [ startValue, endValue ] = dataSource || [null, null]\r\n return {\r\n [startField]: startValue,\r\n [endField]: endValue\r\n }\r\n },\r\n extractValues () {\r\n let ret = {}\r\n this.innerDataSource.filter(item => item.type !== '_action').forEach(item => {\r\n switch (item.type) {\r\n case 'DatePicker':\r\n ret[item.name] = typeof item._value == 'undefined' ? undefined : moment(item._value).format(item.format)\r\n break\r\n case 'ele-date-range':\r\n if (item.mapTo) {\r\n Object.assign(ret, this.buildMapto(item.mapTo, item._value))\r\n } else {\r\n ret[item.name] = (item._value || []).join(',')\r\n }\r\n break\r\n default:\r\n ret[item.name] = item._value\r\n break\r\n }\r\n })\r\n return ret\r\n },\r\n handleClickReset () {\r\n this.innerDataSource.filter(item => item.type !== '_action').forEach(item => {\r\n const { defaultValue } = item\r\n switch (item.type) {\r\n case 'Select':\r\n defaultValue && this.$set(item, '_value', this.buildDefaultValue(defaultValue))\r\n !defaultValue && this.$set(item, '_value', null)\r\n break\r\n case 'DatePicker':\r\n defaultValue && this.$set(item, '_value', this.buildDefaultValue(defaultValue))\r\n !defaultValue && this.$set(item, '_value', undefined)\r\n break\r\n case 'ele-date-range':\r\n defaultValue && this.$set(item, '_value', this.buildDefaultValue(defaultValue))\r\n !defaultValue && this.$set(item, '_value', [])\r\n break\r\n default:\r\n defaultValue && this.$set(item, '_value', this.buildDefaultValue(defaultValue))\r\n !defaultValue && this.$set(item, '_value', null)\r\n break\r\n }\r\n })\r\n //TODO defaultValue\r\n const querys = this.extractValues()\r\n this.$emit('search', querys)\r\n },\r\n onChangeSelect (value, props) {\r\n this.$set(props, '_value', value)\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.search-area__wrapper {\r\n padding-top: 16px;\r\n padding-left: 16px;\r\n padding-right: 16px;\r\n ::v-deep .ant-col {\r\n &:last-child {\r\n float: right;\r\n }\r\n }\r\n .search-area__item {\r\n height: 32px;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n &.search-area--action {\r\n justify-content: end;\r\n }\r\n .expand-collapse {\r\n margin-left: 8px;\r\n height: 32px;\r\n padding: 4px 16px;\r\n color: var(--idooel-primary-color);\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n justify-content: center;\r\n cursor: pointer;\r\n .expand-collapse__text {\r\n font-size: 14px;\r\n }\r\n .expand-collapse__icon {\r\n font-size: 16px;\r\n margin-left: 8px;\r\n }\r\n }\r\n }\r\n}\r\n</style>",".search-area__wrapper {\n padding-top: 16px;\n padding-left: 16px;\n padding-right: 16px;\n}\n.search-area__wrapper ::v-deep .ant-col:last-child {\n float: right;\n}\n.search-area__wrapper .search-area__item {\n height: 32px;\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n.search-area__wrapper .search-area__item.search-area--action {\n justify-content: end;\n}\n.search-area__wrapper .search-area__item .expand-collapse {\n margin-left: 8px;\n height: 32px;\n padding: 4px 16px;\n color: var(--idooel-primary-color);\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n}\n.search-area__wrapper .search-area__item .expand-collapse .expand-collapse__text {\n font-size: 14px;\n}\n.search-area__wrapper .search-area__item .expand-collapse .expand-collapse__icon {\n font-size: 16px;\n margin-left: 8px;\n}\n\n/*# sourceMappingURL=index.vue.map */"]}, media: undefined });
7388
+ inject("data-v-41aa83a2_0", { source: ".search-area__wrapper[data-v-41aa83a2] {\n padding-top: 16px;\n padding-left: 16px;\n padding-right: 16px;\n}\n.search-area__wrapper[data-v-41aa83a2] .ant-col:last-child {\n float: right;\n}\n.search-area__wrapper .search-area__item[data-v-41aa83a2] {\n height: 32px;\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n.search-area__wrapper .search-area__item.search-area--action[data-v-41aa83a2] {\n justify-content: end;\n}\n.search-area__wrapper .search-area__item .expand-collapse[data-v-41aa83a2] {\n margin-left: 8px;\n height: 32px;\n padding: 4px 16px;\n color: var(--idooel-primary-color);\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n}\n.search-area__wrapper .search-area__item .expand-collapse .expand-collapse__text[data-v-41aa83a2] {\n font-size: 14px;\n}\n.search-area__wrapper .search-area__item .expand-collapse .expand-collapse__icon[data-v-41aa83a2] {\n font-size: 16px;\n margin-left: 8px;\n}\n\n/*# sourceMappingURL=index.vue.map */", map: {"version":3,"sources":["E:\\work\\code\\ganjiao\\ganjian-monorepo\\packages\\components\\packages\\composite-components\\search-area\\src\\index.vue","index.vue"],"names":[],"mappings":"AAwLA;EACA,iBAAA;EACA,kBAAA;EACA,mBAAA;ACvLA;ADyLA;EACA,YAAA;ACvLA;AD0LA;EACA,YAAA;EACA,aAAA;EACA,mBAAA;EACA,mBAAA;ACxLA;ADyLA;EACA,oBAAA;ACvLA;ADyLA;EACA,gBAAA;EACA,YAAA;EACA,iBAAA;EACA,kCAAA;EACA,aAAA;EACA,mBAAA;EACA,mBAAA;EACA,uBAAA;EACA,eAAA;ACvLA;ADwLA;EACA,eAAA;ACtLA;ADwLA;EACA,eAAA;EACA,gBAAA;ACtLA;;AAEA,oCAAoC","file":"index.vue","sourcesContent":["<template>\r\n <div class=\"search-area__wrapper\">\r\n <a-row :gutter=\"gutter\">\r\n <template v-for=\"(item, idx) in innerDataSource\">\r\n <a-col v-if=\"item._show\" :span=\"item.span || span\" :key=\"idx\">\r\n <div v-if=\"item.type == '_action'\" class=\"search-area__item search-area--action\">\r\n <ele-button icon=\"search\" type=\"primary\" @click=\"handleClickSearch\">查询</ele-button>\r\n <ele-button style=\"margin-left:8px;\" icon=\"reload\" @click=\"handleClickReset\">重置</ele-button>\r\n <div class=\"expand-collapse\" @click=\"handleClickExpandCollapse\">\r\n <span class=\"expand-collapse__text\">{{ isExpand ? '收起' : '展开' }}</span>\r\n <span class=\"expand-collapse__icon\">\r\n <a-icon v-if=\"isExpand\" type=\"up\" />\r\n <a-icon v-else type=\"down\" />\r\n </span>\r\n </div>\r\n </div>\r\n <div v-else class=\"search-area__item\">\r\n <template v-if=\"item.type == 'Input'\">\r\n <Label :label=\"item.label\"></Label>\r\n <ele-input v-model=\"item._value\"></ele-input>\r\n </template>\r\n <template v-else-if=\"item.type == 'Select'\">\r\n <Label :label=\"item.label\"></Label>\r\n <ele-select v-model=\"item._value\" :data-source=\"item.optionList\"></ele-select>\r\n </template>\r\n <template v-else-if=\"item.type == 'DatePicker'\">\r\n <Label :label=\"item.label\"></Label>\r\n <ele-date v-model=\"item._value\" :format=\"item.format\"></ele-date>\r\n </template>\r\n <template v-else-if=\"item.type == 'ele-date-range'\">\r\n <Label :label=\"item.label\"></Label>\r\n <ele-date-range v-model=\"item._value\" :format=\"item.format\" :show-time=\"item.showTime\"></ele-date-range>\r\n </template>\r\n </div>\r\n </a-col>\r\n </template>\r\n </a-row>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport Label from './label.vue'\r\nimport moment from 'moment'\r\nimport { parse } from '@idooel/expression'\r\nexport default {\r\n name: 'ele-search-area',\r\n components: {\r\n Label\r\n },\r\n props: {\r\n gutter: {\r\n type: [Number, Array, Object],\r\n default: () => ([\r\n 16, 8\r\n ])\r\n },\r\n span: {\r\n type: Number,\r\n default: 8\r\n },\r\n dataSource: {\r\n type: Array,\r\n required: true\r\n }\r\n },\r\n data() {\r\n return {\r\n isExpand: false\r\n }\r\n },\r\n computed: {\r\n cuttingFormula () {\r\n return (24 / this.span - 1)\r\n },\r\n buildDataSource () {\r\n return this.controlDisplayByFormula(this.mapDefaultValueToValue())\r\n },\r\n innerDataSource () {\r\n return [ ...this.buildDataSource, { type: '_action', _show: true }]\r\n }\r\n },\r\n created() {},\r\n methods: {\r\n controlDisplayByFormula (dataSource = []) {\r\n if (this.isExpand) {\r\n dataSource.forEach(item => {\r\n this.$set(item, '_show', true)\r\n })\r\n } else {\r\n dataSource.forEach((item, idx) => {\r\n if (idx < this.cuttingFormula) {\r\n this.$set(item, '_show', true)\r\n } else {\r\n this.$set(item, '_show', false)\r\n }\r\n })\r\n }\r\n return dataSource\r\n },\r\n buildDefaultValue (arg) {\r\n if (!arg || arg.charAt(0) !== '_') return arg\r\n return parse(arg, {\r\n _route: this.$route.query\r\n })\r\n },\r\n mapDefaultValueToValue () {\r\n this.dataSource.forEach(props => {\r\n this.$set(props, '_show', this.isExpand)\r\n if (props.defaultValue) {\r\n this.$set(props, '_value', this.buildDefaultValue(props.defaultValue))\r\n }\r\n })\r\n return this.dataSource\r\n },\r\n handleClickExpandCollapse () {\r\n this.isExpand = !this.isExpand\r\n },\r\n handleClickSearch () {\r\n const querys = this.extractValues()\r\n this.$emit('search', querys)\r\n },\r\n buildMapto (mapTo = [], dataSource) {\r\n const [ startField, endField ] = mapTo\r\n const [ startValue, endValue ] = dataSource || [null, null]\r\n return {\r\n [startField]: startValue,\r\n [endField]: endValue\r\n }\r\n },\r\n extractValues () {\r\n let ret = {}\r\n this.innerDataSource.filter(item => item.type !== '_action').forEach(item => {\r\n switch (item.type) {\r\n case 'DatePicker':\r\n ret[item.name] = typeof item._value == 'undefined' ? undefined : moment(item._value).format(item.format)\r\n break\r\n case 'ele-date-range':\r\n if (item.mapTo) {\r\n Object.assign(ret, this.buildMapto(item.mapTo, item._value))\r\n } else {\r\n ret[item.name] = (item._value || []).join(',')\r\n }\r\n break\r\n default:\r\n ret[item.name] = item._value\r\n break\r\n }\r\n })\r\n return ret\r\n },\r\n handleClickReset () {\r\n this.innerDataSource.filter(item => item.type !== '_action').forEach(item => {\r\n const { defaultValue } = item\r\n switch (item.type) {\r\n case 'Select':\r\n defaultValue && this.$set(item, '_value', this.buildDefaultValue(defaultValue))\r\n !defaultValue && this.$set(item, '_value', null)\r\n break\r\n case 'DatePicker':\r\n defaultValue && this.$set(item, '_value', this.buildDefaultValue(defaultValue))\r\n !defaultValue && this.$set(item, '_value', undefined)\r\n break\r\n case 'ele-date-range':\r\n defaultValue && this.$set(item, '_value', this.buildDefaultValue(defaultValue))\r\n !defaultValue && this.$set(item, '_value', [])\r\n break\r\n default:\r\n defaultValue && this.$set(item, '_value', this.buildDefaultValue(defaultValue))\r\n !defaultValue && this.$set(item, '_value', null)\r\n break\r\n }\r\n })\r\n //TODO defaultValue\r\n const querys = this.extractValues()\r\n this.$emit('search', querys)\r\n },\r\n onChangeSelect (value, props) {\r\n this.$set(props, '_value', value)\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.search-area__wrapper {\r\n padding-top: 16px;\r\n padding-left: 16px;\r\n padding-right: 16px;\r\n ::v-deep .ant-col {\r\n &:last-child {\r\n float: right;\r\n }\r\n }\r\n .search-area__item {\r\n height: 32px;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n &.search-area--action {\r\n justify-content: end;\r\n }\r\n .expand-collapse {\r\n margin-left: 8px;\r\n height: 32px;\r\n padding: 4px 16px;\r\n color: var(--idooel-primary-color);\r\n display: flex;\r\n flex-direction: row;\r\n align-items: center;\r\n justify-content: center;\r\n cursor: pointer;\r\n .expand-collapse__text {\r\n font-size: 14px;\r\n }\r\n .expand-collapse__icon {\r\n font-size: 16px;\r\n margin-left: 8px;\r\n }\r\n }\r\n }\r\n}\r\n</style>",".search-area__wrapper {\n padding-top: 16px;\n padding-left: 16px;\n padding-right: 16px;\n}\n.search-area__wrapper ::v-deep .ant-col:last-child {\n float: right;\n}\n.search-area__wrapper .search-area__item {\n height: 32px;\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n.search-area__wrapper .search-area__item.search-area--action {\n justify-content: end;\n}\n.search-area__wrapper .search-area__item .expand-collapse {\n margin-left: 8px;\n height: 32px;\n padding: 4px 16px;\n color: var(--idooel-primary-color);\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n}\n.search-area__wrapper .search-area__item .expand-collapse .expand-collapse__text {\n font-size: 14px;\n}\n.search-area__wrapper .search-area__item .expand-collapse .expand-collapse__icon {\n font-size: 16px;\n margin-left: 8px;\n}\n\n/*# sourceMappingURL=index.vue.map */"]}, media: undefined });
7305
7389
 
7306
7390
  };
7307
7391
  /* scoped */
7308
- const __vue_scope_id__$7 = "data-v-9f02c73e";
7392
+ const __vue_scope_id__$7 = "data-v-41aa83a2";
7309
7393
  /* module identifier */
7310
7394
  const __vue_module_identifier__$7 = undefined;
7311
7395
  /* functional template */
@@ -8607,18 +8691,18 @@ __vue_render__._withStripped = true;
8607
8691
 
8608
8692
  __vue_component__.install = Vue => Vue.component(__vue_component__.name, __vue_component__);
8609
8693
 
8610
- __vue_component__$s.install = Vue => Vue.component(__vue_component__$s.name, __vue_component__$s);
8611
-
8612
- __vue_component__$q.install = Vue => Vue.component(__vue_component__$q.name, __vue_component__$q);
8694
+ __vue_component__$t.install = Vue => Vue.component(__vue_component__$t.name, __vue_component__$t);
8613
8695
 
8614
8696
  __vue_component__$r.install = Vue => Vue.component(__vue_component__$r.name, __vue_component__$r);
8615
8697
 
8616
- __vue_component__$p.install = Vue => Vue.component(__vue_component__$p.name, __vue_component__$p);
8698
+ __vue_component__$s.install = Vue => Vue.component(__vue_component__$s.name, __vue_component__$s);
8699
+
8700
+ __vue_component__$q.install = Vue => Vue.component(__vue_component__$q.name, __vue_component__$q);
8617
8701
 
8618
- const compositeComponents = [__vue_component__$6, __vue_component__$7, __vue_component__$5, __vue_component__$4, __vue_component__$9, __vue_component__$3];
8702
+ const compositeComponents = [__vue_component__$6, __vue_component__$7, __vue_component__$5, __vue_component__$4, __vue_component__$a, __vue_component__$3];
8619
8703
  const businessComponents = [__vue_component__$2, __vue_component__$1, __vue_component__];
8620
- const models = [__vue_component__$s, __vue_component__$q, __vue_component__$r, __vue_component__$p];
8621
- const components = [__vue_component__$z, __vue_component__$y, __vue_component__$x, __vue_component__$w, __vue_component__$u, __vue_component__$t, __vue_component__$o, __vue_component__$n, __vue_component__$m, __vue_component__$l, __vue_component__$k, __vue_component__$j, __vue_component__$i, __vue_component__$h, __vue_component__$g, __vue_component__$f, __vue_component__$e, __vue_component__$d, __vue_component__$c, __vue_component__$b, __vue_component__$a, __vue_component__$8, ...compositeComponents, ...businessComponents, ...models];
8704
+ const models = [__vue_component__$t, __vue_component__$r, __vue_component__$s, __vue_component__$q];
8705
+ const components = [__vue_component__$A, __vue_component__$z, __vue_component__$y, __vue_component__$x, __vue_component__$v, __vue_component__$u, __vue_component__$p, __vue_component__$o, __vue_component__$n, __vue_component__$m, __vue_component__$l, __vue_component__$k, __vue_component__$j, __vue_component__$i, __vue_component__$h, __vue_component__$g, __vue_component__$f, __vue_component__$e, __vue_component__$d, __vue_component__$c, __vue_component__$b, __vue_component__$9, ...compositeComponents, ...businessComponents, ...models];
8622
8706
  const install = Vue => {
8623
8707
  if (install.installed) return;
8624
8708
  install.installed = true;
@@ -8627,4 +8711,4 @@ const install = Vue => {
8627
8711
  });
8628
8712
  };
8629
8713
 
8630
- export { __vue_component__$m as EleAlert, __vue_component__$e as EleBatchExport, __vue_component__$z as EleButton, __vue_component__$6 as EleButtonGroup, __vue_component__$g as EleCheckbox, __vue_component__$y as EleDate, __vue_component__$d as EleDateRange, __vue_component__$n as EleForm, __vue_component__$r as EleFormGroupModel, __vue_component__$q as EleFormPageModel, __vue_component__$j as EleIcon, __vue_component__$x as EleInput, __vue_component__$i as EleInputNumber, __vue_component__$h as EleModal, __vue_component__$3 as EleModalConfirm, __vue_component__$5 as EleModalForm, __vue_component__ as EleModalFsm, __vue_component__$9 as EleModalImgCrop, __vue_component__$2 as EleModalImport, __vue_component__$1 as EleModalTimeline, __vue_component__$4 as EleModalTree, __vue_component__$f as EleRadio, __vue_component__$7 as EleSearchArea, __vue_component__$w as EleSelect, __vue_component__$k as EleSelectEntity, __vue_component__$p as EleStepModel, __vue_component__$u as EleTable, __vue_component__$a as EleTabs, __vue_component__$b as EleText, __vue_component__$8 as EleTextEditor, __vue_component__$c as EleTimeline, __vue_component__$o as EleTpl, __vue_component__$t as EleTree, __vue_component__$s as EleTreeTableModel, __vue_component__$l as EleUpload, install as default, models };
8714
+ export { __vue_component__$n as EleAlert, __vue_component__$f as EleBatchExport, __vue_component__$A as EleButton, __vue_component__$6 as EleButtonGroup, __vue_component__$h as EleCheckbox, __vue_component__$z as EleDate, __vue_component__$e as EleDateRange, __vue_component__$o as EleForm, __vue_component__$s as EleFormGroupModel, __vue_component__$r as EleFormPageModel, __vue_component__$k as EleIcon, __vue_component__$y as EleInput, __vue_component__$j as EleInputNumber, __vue_component__$i as EleModal, __vue_component__$3 as EleModalConfirm, __vue_component__$5 as EleModalForm, __vue_component__ as EleModalFsm, __vue_component__$a as EleModalImgCrop, __vue_component__$2 as EleModalImport, __vue_component__$1 as EleModalTimeline, __vue_component__$4 as EleModalTree, __vue_component__$g as EleRadio, __vue_component__$7 as EleSearchArea, __vue_component__$x as EleSelect, __vue_component__$l as EleSelectEntity, __vue_component__$q as EleStepModel, __vue_component__$v as EleTable, __vue_component__$b as EleTabs, __vue_component__$c as EleText, __vue_component__$9 as EleTextEditor, __vue_component__$d as EleTimeline, __vue_component__$p as EleTpl, __vue_component__$u as EleTree, __vue_component__$t as EleTreeTableModel, __vue_component__$m as EleUpload, install as default, models };