@panpanzhao/component-ui 0.0.8 → 0.0.10

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.
@@ -82,7 +82,7 @@ module.exports =
82
82
  /******/
83
83
  /******/
84
84
  /******/ // Load entry module and return exports
85
- /******/ return __webpack_require__(__webpack_require__.s = 57);
85
+ /******/ return __webpack_require__(__webpack_require__.s = 58);
86
86
  /******/ })
87
87
  /************************************************************************/
88
88
  /******/ ([
@@ -167,312 +167,318 @@ module.exports = require("@panpanzhao/component-ui/lib/components/table-column")
167
167
  /* 13 */
168
168
  /***/ (function(module, exports) {
169
169
 
170
- module.exports = require("element-ui/lib/radio");
170
+ module.exports = require("@panpanzhao/component-ui/lib/components/table-search");
171
171
 
172
172
  /***/ }),
173
173
  /* 14 */
174
174
  /***/ (function(module, exports) {
175
175
 
176
- module.exports = require("element-ui/lib/table");
176
+ module.exports = require("element-ui/lib/radio");
177
177
 
178
178
  /***/ }),
179
179
  /* 15 */
180
180
  /***/ (function(module, exports) {
181
181
 
182
- module.exports = require("codemirror");
182
+ module.exports = require("element-ui/lib/table");
183
183
 
184
184
  /***/ }),
185
185
  /* 16 */
186
186
  /***/ (function(module, exports) {
187
187
 
188
- module.exports = require("dayjs");
188
+ module.exports = require("element-ui/lib/message-box");
189
189
 
190
190
  /***/ }),
191
191
  /* 17 */
192
192
  /***/ (function(module, exports) {
193
193
 
194
- module.exports = require("element-ui/lib/link");
194
+ module.exports = require("element-ui/src/utils/popup");
195
195
 
196
196
  /***/ }),
197
197
  /* 18 */
198
198
  /***/ (function(module, exports) {
199
199
 
200
- module.exports = require("element-ui/lib/form");
200
+ module.exports = require("element-ui/src/mixins/emitter");
201
201
 
202
202
  /***/ }),
203
203
  /* 19 */
204
204
  /***/ (function(module, exports) {
205
205
 
206
- module.exports = require("element-ui/lib/row");
206
+ module.exports = require("codemirror");
207
207
 
208
208
  /***/ }),
209
209
  /* 20 */
210
210
  /***/ (function(module, exports) {
211
211
 
212
- module.exports = require("element-ui/lib/col");
212
+ module.exports = require("@panpanzhao/component-ui/lib/components/drawer");
213
213
 
214
214
  /***/ }),
215
215
  /* 21 */
216
216
  /***/ (function(module, exports) {
217
217
 
218
- module.exports = require("@panpanzhao/component-ui/lib/components/form-item");
218
+ module.exports = require("dayjs");
219
219
 
220
220
  /***/ }),
221
221
  /* 22 */
222
222
  /***/ (function(module, exports) {
223
223
 
224
- module.exports = require("element-ui/lib/input-number");
224
+ module.exports = require("element-ui/lib/link");
225
225
 
226
226
  /***/ }),
227
227
  /* 23 */
228
228
  /***/ (function(module, exports) {
229
229
 
230
- module.exports = require("element-ui/lib/select");
230
+ module.exports = require("element-ui/lib/form");
231
231
 
232
232
  /***/ }),
233
233
  /* 24 */
234
234
  /***/ (function(module, exports) {
235
235
 
236
- module.exports = require("element-ui/lib/option");
236
+ module.exports = require("element-ui/lib/row");
237
237
 
238
238
  /***/ }),
239
239
  /* 25 */
240
240
  /***/ (function(module, exports) {
241
241
 
242
- module.exports = require("element-ui/lib/option-group");
242
+ module.exports = require("element-ui/lib/col");
243
243
 
244
244
  /***/ }),
245
245
  /* 26 */
246
246
  /***/ (function(module, exports) {
247
247
 
248
- module.exports = require("element-ui/lib/radio-group");
248
+ module.exports = require("@panpanzhao/component-ui/lib/components/form-item");
249
249
 
250
250
  /***/ }),
251
251
  /* 27 */
252
252
  /***/ (function(module, exports) {
253
253
 
254
- module.exports = require("element-ui/lib/radio-button");
254
+ module.exports = require("element-ui/lib/input-number");
255
255
 
256
256
  /***/ }),
257
257
  /* 28 */
258
258
  /***/ (function(module, exports) {
259
259
 
260
- module.exports = require("element-ui/lib/checkbox-group");
260
+ module.exports = require("element-ui/lib/select");
261
261
 
262
262
  /***/ }),
263
263
  /* 29 */
264
264
  /***/ (function(module, exports) {
265
265
 
266
- module.exports = require("element-ui/lib/checkbox");
266
+ module.exports = require("element-ui/lib/option");
267
267
 
268
268
  /***/ }),
269
269
  /* 30 */
270
270
  /***/ (function(module, exports) {
271
271
 
272
- module.exports = require("element-ui/lib/checkbox-button");
272
+ module.exports = require("element-ui/lib/option-group");
273
273
 
274
274
  /***/ }),
275
275
  /* 31 */
276
276
  /***/ (function(module, exports) {
277
277
 
278
- module.exports = require("element-ui/lib/switch");
278
+ module.exports = require("element-ui/lib/radio-group");
279
279
 
280
280
  /***/ }),
281
281
  /* 32 */
282
282
  /***/ (function(module, exports) {
283
283
 
284
- module.exports = require("element-ui/lib/cascader");
284
+ module.exports = require("element-ui/lib/radio-button");
285
285
 
286
286
  /***/ }),
287
287
  /* 33 */
288
288
  /***/ (function(module, exports) {
289
289
 
290
- module.exports = require("element-ui/lib/slider");
290
+ module.exports = require("element-ui/lib/checkbox-group");
291
291
 
292
292
  /***/ }),
293
293
  /* 34 */
294
294
  /***/ (function(module, exports) {
295
295
 
296
- module.exports = require("element-ui/lib/transfer");
296
+ module.exports = require("element-ui/lib/checkbox");
297
297
 
298
298
  /***/ }),
299
299
  /* 35 */
300
300
  /***/ (function(module, exports) {
301
301
 
302
- module.exports = require("element-ui/lib/time-picker");
302
+ module.exports = require("element-ui/lib/checkbox-button");
303
303
 
304
304
  /***/ }),
305
305
  /* 36 */
306
306
  /***/ (function(module, exports) {
307
307
 
308
- module.exports = require("element-ui/lib/date-picker");
308
+ module.exports = require("element-ui/lib/switch");
309
309
 
310
310
  /***/ }),
311
311
  /* 37 */
312
312
  /***/ (function(module, exports) {
313
313
 
314
- module.exports = require("element-ui/lib/upload");
314
+ module.exports = require("element-ui/lib/cascader");
315
315
 
316
316
  /***/ }),
317
317
  /* 38 */
318
318
  /***/ (function(module, exports) {
319
319
 
320
- module.exports = require("element-ui/lib/form-item");
320
+ module.exports = require("element-ui/lib/slider");
321
321
 
322
322
  /***/ }),
323
323
  /* 39 */
324
324
  /***/ (function(module, exports) {
325
325
 
326
- module.exports = require("element-ui/lib/descriptions");
326
+ module.exports = require("element-ui/lib/transfer");
327
327
 
328
328
  /***/ }),
329
329
  /* 40 */
330
330
  /***/ (function(module, exports) {
331
331
 
332
- module.exports = require("element-ui/lib/descriptions-item");
332
+ module.exports = require("element-ui/lib/time-picker");
333
333
 
334
334
  /***/ }),
335
335
  /* 41 */
336
336
  /***/ (function(module, exports) {
337
337
 
338
- module.exports = require("element-ui/lib/pagination");
338
+ module.exports = require("element-ui/lib/date-picker");
339
339
 
340
340
  /***/ }),
341
341
  /* 42 */
342
342
  /***/ (function(module, exports) {
343
343
 
344
- module.exports = require("element-ui/lib/dropdown");
344
+ module.exports = require("element-ui/lib/upload");
345
345
 
346
346
  /***/ }),
347
347
  /* 43 */
348
348
  /***/ (function(module, exports) {
349
349
 
350
- module.exports = require("element-ui/lib/dropdown-item");
350
+ module.exports = require("element-ui/lib/form-item");
351
351
 
352
352
  /***/ }),
353
353
  /* 44 */
354
354
  /***/ (function(module, exports) {
355
355
 
356
- module.exports = require("element-ui/lib/dropdown-menu");
356
+ module.exports = require("element-ui/lib/descriptions");
357
357
 
358
358
  /***/ }),
359
359
  /* 45 */
360
360
  /***/ (function(module, exports) {
361
361
 
362
- module.exports = require("@panpanzhao/component-ui/lib/components/form");
362
+ module.exports = require("element-ui/lib/descriptions-item");
363
363
 
364
364
  /***/ }),
365
365
  /* 46 */
366
366
  /***/ (function(module, exports) {
367
367
 
368
- module.exports = require("@panpanzhao/component-ui/lib/components/table");
368
+ module.exports = require("element-ui/lib/pagination");
369
369
 
370
370
  /***/ }),
371
371
  /* 47 */
372
372
  /***/ (function(module, exports) {
373
373
 
374
- module.exports = require("element-ui/lib/popover");
374
+ module.exports = require("element-ui/lib/dropdown");
375
375
 
376
376
  /***/ }),
377
377
  /* 48 */
378
378
  /***/ (function(module, exports) {
379
379
 
380
- module.exports = require("async-validator");
380
+ module.exports = require("element-ui/lib/dropdown-item");
381
381
 
382
382
  /***/ }),
383
383
  /* 49 */
384
384
  /***/ (function(module, exports) {
385
385
 
386
- module.exports = require("@panpanzhao/component-ui/lib/components/table-search");
386
+ module.exports = require("element-ui/lib/dropdown-menu");
387
387
 
388
388
  /***/ }),
389
389
  /* 50 */
390
390
  /***/ (function(module, exports) {
391
391
 
392
- module.exports = require("element-ui/lib/message-box");
392
+ module.exports = require("@panpanzhao/component-ui/lib/components/form");
393
393
 
394
394
  /***/ }),
395
395
  /* 51 */
396
396
  /***/ (function(module, exports) {
397
397
 
398
- module.exports = require("element-ui/lib/tree");
398
+ module.exports = require("@panpanzhao/component-ui/lib/components/table");
399
399
 
400
400
  /***/ }),
401
401
  /* 52 */
402
402
  /***/ (function(module, exports) {
403
403
 
404
- module.exports = require("element-ui/lib/badge");
404
+ module.exports = require("element-ui/lib/popover");
405
405
 
406
406
  /***/ }),
407
407
  /* 53 */
408
408
  /***/ (function(module, exports) {
409
409
 
410
- module.exports = require("element-ui/lib/message");
410
+ module.exports = require("async-validator");
411
411
 
412
412
  /***/ }),
413
413
  /* 54 */
414
414
  /***/ (function(module, exports) {
415
415
 
416
- module.exports = require("element-ui/src/utils/popup");
416
+ module.exports = require("element-ui/lib/tree");
417
417
 
418
418
  /***/ }),
419
419
  /* 55 */
420
420
  /***/ (function(module, exports) {
421
421
 
422
- module.exports = require("element-ui/src/mixins/migrating");
422
+ module.exports = require("element-ui/lib/badge");
423
423
 
424
424
  /***/ }),
425
425
  /* 56 */
426
426
  /***/ (function(module, exports) {
427
427
 
428
- module.exports = require("element-ui/src/mixins/emitter");
428
+ module.exports = require("element-ui/lib/message");
429
429
 
430
430
  /***/ }),
431
431
  /* 57 */
432
+ /***/ (function(module, exports) {
433
+
434
+ module.exports = require("element-ui/src/mixins/migrating");
435
+
436
+ /***/ }),
437
+ /* 58 */
432
438
  /***/ (function(module, exports, __webpack_require__) {
433
439
 
434
- module.exports = __webpack_require__(62);
440
+ module.exports = __webpack_require__(63);
435
441
 
436
442
 
437
443
  /***/ }),
438
- /* 58 */
444
+ /* 59 */
439
445
  /***/ (function(module, exports) {
440
446
 
441
447
  module.exports = require("codemirror/mode/javascript/javascript");
442
448
 
443
449
  /***/ }),
444
- /* 59 */
450
+ /* 60 */
445
451
  /***/ (function(module, exports) {
446
452
 
447
453
  module.exports = require("codemirror/mode/htmlmixed/htmlmixed");
448
454
 
449
455
  /***/ }),
450
- /* 60 */
456
+ /* 61 */
451
457
  /***/ (function(module, exports) {
452
458
 
453
459
  module.exports = require("codemirror/addon/mode/simple");
454
460
 
455
461
  /***/ }),
456
- /* 61 */
462
+ /* 62 */
457
463
  /***/ (function(module, exports) {
458
464
 
459
465
  module.exports = require("codemirror/addon/mode/multiplex");
460
466
 
461
467
  /***/ }),
462
- /* 62 */
468
+ /* 63 */
463
469
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
464
470
 
465
471
  "use strict";
466
472
  // ESM COMPAT FLAG
467
473
  __webpack_require__.r(__webpack_exports__);
468
474
 
469
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--5!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form/src/form.vue?vue&type=template&id=42f43bc0&
470
- var formvue_type_template_id_42f43bc0_render = function render() {
475
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--5!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form/src/form.vue?vue&type=template&id=26d7095f&
476
+ var formvue_type_template_id_26d7095f_render = function render() {
471
477
  var _vm = this,
472
478
  _c = _vm._self._c
473
479
  return _c(
474
480
  "div",
475
- { staticClass: "form" },
481
+ { class: ["form", { "is-full": _vm.isFull }] },
476
482
  [
477
483
  _vm._t("default", function () {
478
484
  return [
@@ -491,7 +497,10 @@ var formvue_type_template_id_42f43bc0_render = function render() {
491
497
  return [
492
498
  _c(
493
499
  "el-col",
494
- { key: item.prop, attrs: { span: item.span } },
500
+ {
501
+ key: item.prop,
502
+ attrs: { span: item.span || _vm.span },
503
+ },
495
504
  [
496
505
  _c(
497
506
  "form-item",
@@ -531,36 +540,40 @@ var formvue_type_template_id_42f43bc0_render = function render() {
531
540
  )
532
541
  }
533
542
  var staticRenderFns = []
534
- formvue_type_template_id_42f43bc0_render._withStripped = true
543
+ formvue_type_template_id_26d7095f_render._withStripped = true
535
544
 
536
545
 
537
- // CONCATENATED MODULE: ./src/components/form/src/form.vue?vue&type=template&id=42f43bc0&
546
+ // CONCATENATED MODULE: ./src/components/form/src/form.vue?vue&type=template&id=26d7095f&
538
547
 
539
548
  // EXTERNAL MODULE: external "element-ui/lib/form"
540
- var form_ = __webpack_require__(18);
549
+ var form_ = __webpack_require__(23);
541
550
  var form_default = /*#__PURE__*/__webpack_require__.n(form_);
542
551
 
543
552
  // EXTERNAL MODULE: external "element-ui/lib/row"
544
- var row_ = __webpack_require__(19);
553
+ var row_ = __webpack_require__(24);
545
554
  var row_default = /*#__PURE__*/__webpack_require__.n(row_);
546
555
 
547
556
  // EXTERNAL MODULE: external "element-ui/lib/col"
548
- var col_ = __webpack_require__(20);
557
+ var col_ = __webpack_require__(25);
549
558
  var col_default = /*#__PURE__*/__webpack_require__.n(col_);
550
559
 
551
560
  // EXTERNAL MODULE: external "@panpanzhao/component-ui/lib/components/form-item"
552
- var form_item_ = __webpack_require__(21);
561
+ var form_item_ = __webpack_require__(26);
553
562
  var form_item_default = /*#__PURE__*/__webpack_require__.n(form_item_);
554
563
 
555
564
  // EXTERNAL MODULE: external "@panpanzhao/component-ui/lib/utils/formula"
556
565
  var formula_ = __webpack_require__(2);
557
566
 
567
+ // EXTERNAL MODULE: external "lodash"
568
+ var external_lodash_ = __webpack_require__(1);
569
+
558
570
  // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form/src/form.vue?vue&type=script&lang=js&
559
571
 
560
572
 
561
573
 
562
574
 
563
575
 
576
+
564
577
  /* harmony default export */ var formvue_type_script_lang_js_ = ({
565
578
  name: "Form",
566
579
  componentName: "Form",
@@ -576,7 +589,12 @@ var formula_ = __webpack_require__(2);
576
589
  };
577
590
  },
578
591
  props: {
592
+ isFull: {
593
+ type: Boolean,
594
+ default: true
595
+ },
579
596
  prop: String,
597
+ span: Number,
580
598
  formItems: {
581
599
  type: Array,
582
600
  default: function _default() {
@@ -623,11 +641,14 @@ var formula_ = __webpack_require__(2);
623
641
  }
624
642
  if (typeof item.show === "function" && !item.show.call(_this, {
625
643
  form: _this,
644
+ formModel: _this.formModel,
626
645
  config: item
627
646
  })) {
628
647
  return false;
629
648
  }
630
- if (typeof item.show === "string" && !Object(formula_["evaluate"])(item.show, _this.formModel)) {
649
+ if (typeof item.show === "string" && !Object(formula_["evaluate"])(item.show, _this.formModel, {
650
+ evalMode: true
651
+ })) {
631
652
  return false;
632
653
  }
633
654
  return true;
@@ -647,6 +668,7 @@ var formula_ = __webpack_require__(2);
647
668
  data: function data() {
648
669
  return {
649
670
  defaultModel: {},
671
+ //默认值存储
650
672
  formItemLayout: {}
651
673
  };
652
674
  },
@@ -655,8 +677,30 @@ var formula_ = __webpack_require__(2);
655
677
  this.formItems.forEach(function (item) {
656
678
  _this2.formItemLayout[item.prop] = item;
657
679
  _this2.defaultModel[item.prop] = item.value;
658
- //初始化数据值
659
- _this2.$set(_this2.formModel, item.prop, item.value || null);
680
+ //初始化值处理
681
+ var formVal = Object(external_lodash_["get"])(_this2.formModel, item.prop);
682
+ if (typeof formVal === 'undefined') {
683
+ //初始化数据值
684
+ if (item.prop && item.prop.indexOf(".") != -1) {
685
+ //循环设置值
686
+ var keyArr = item.prop.split('.');
687
+ var tempObj = _this2.formModel;
688
+ keyArr.forEach(function (key, index) {
689
+ if (index < keyArr.length - 1) {
690
+ if (typeof tempObj[key] === 'undefined') {
691
+ _this2.$set(tempObj, key, {});
692
+ }
693
+ tempObj = tempObj[key];
694
+ } else {
695
+ _this2.$set(tempObj, key, item.value || null);
696
+ }
697
+ });
698
+ } else {
699
+ _this2.$set(_this2.formModel, item.prop, item.value || null);
700
+ }
701
+ } else {
702
+ item.value = formVal;
703
+ }
660
704
  });
661
705
  },
662
706
  methods: {
@@ -666,6 +710,9 @@ var formula_ = __webpack_require__(2);
666
710
  validateField: function validateField(props, callback) {
667
711
  return this.$refs.form.validateField(props, callback);
668
712
  },
713
+ reset: function reset() {
714
+ this.resetFields();
715
+ },
669
716
  resetFields: function resetFields() {
670
717
  for (var key in this.defaultModel) {
671
718
  if (this.formItemLayout[key]) {
@@ -799,7 +846,7 @@ function normalizeComponent(
799
846
 
800
847
  var component = normalizeComponent(
801
848
  src_formvue_type_script_lang_js_,
802
- formvue_type_template_id_42f43bc0_render,
849
+ formvue_type_template_id_26d7095f_render,
803
850
  staticRenderFns,
804
851
  false,
805
852
  null,
@@ -976,7 +1023,7 @@ InputNumbervue_type_template_id_7a2f5f6e_render._withStripped = true
976
1023
  // CONCATENATED MODULE: ./src/components/form/src/item/InputNumber.vue?vue&type=template&id=7a2f5f6e&
977
1024
 
978
1025
  // EXTERNAL MODULE: external "element-ui/lib/input-number"
979
- var input_number_ = __webpack_require__(22);
1026
+ var input_number_ = __webpack_require__(27);
980
1027
  var input_number_default = /*#__PURE__*/__webpack_require__.n(input_number_);
981
1028
 
982
1029
  // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form/src/item/InputNumber.vue?vue&type=script&lang=js&
@@ -1016,15 +1063,15 @@ var InputNumber_component = normalizeComponent(
1016
1063
 
1017
1064
  /* harmony default export */ var InputNumber = (InputNumber_component.exports);
1018
1065
  // EXTERNAL MODULE: external "element-ui/lib/select"
1019
- var select_ = __webpack_require__(23);
1066
+ var select_ = __webpack_require__(28);
1020
1067
  var select_default = /*#__PURE__*/__webpack_require__.n(select_);
1021
1068
 
1022
1069
  // EXTERNAL MODULE: external "element-ui/lib/option"
1023
- var option_ = __webpack_require__(24);
1070
+ var option_ = __webpack_require__(29);
1024
1071
  var option_default = /*#__PURE__*/__webpack_require__.n(option_);
1025
1072
 
1026
1073
  // EXTERNAL MODULE: external "element-ui/lib/option-group"
1027
- var option_group_ = __webpack_require__(25);
1074
+ var option_group_ = __webpack_require__(30);
1028
1075
  var option_group_default = /*#__PURE__*/__webpack_require__.n(option_group_);
1029
1076
 
1030
1077
  // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--5!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form/src/item/SelectTree.vue?vue&type=template&id=626a2185&
@@ -1348,9 +1395,6 @@ var SelectTree_component = normalizeComponent(
1348
1395
  )
1349
1396
 
1350
1397
  /* harmony default export */ var SelectTree = (SelectTree_component.exports);
1351
- // EXTERNAL MODULE: external "lodash"
1352
- var external_lodash_ = __webpack_require__(1);
1353
-
1354
1398
  // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form/src/item/Select.vue?vue&type=script&lang=js&
1355
1399
 
1356
1400
 
@@ -1559,15 +1603,15 @@ var Select_component = normalizeComponent(
1559
1603
 
1560
1604
  /* harmony default export */ var Select = (Select_component.exports);
1561
1605
  // EXTERNAL MODULE: external "element-ui/lib/radio-group"
1562
- var radio_group_ = __webpack_require__(26);
1606
+ var radio_group_ = __webpack_require__(31);
1563
1607
  var radio_group_default = /*#__PURE__*/__webpack_require__.n(radio_group_);
1564
1608
 
1565
1609
  // EXTERNAL MODULE: external "element-ui/lib/radio"
1566
- var radio_ = __webpack_require__(13);
1610
+ var radio_ = __webpack_require__(14);
1567
1611
  var radio_default = /*#__PURE__*/__webpack_require__.n(radio_);
1568
1612
 
1569
1613
  // EXTERNAL MODULE: external "element-ui/lib/radio-button"
1570
- var radio_button_ = __webpack_require__(27);
1614
+ var radio_button_ = __webpack_require__(32);
1571
1615
  var radio_button_default = /*#__PURE__*/__webpack_require__.n(radio_button_);
1572
1616
 
1573
1617
  // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form/src/item/Radio.vue?vue&type=script&lang=js&
@@ -1754,15 +1798,15 @@ var Radio_component = normalizeComponent(
1754
1798
 
1755
1799
  /* harmony default export */ var Radio = (Radio_component.exports);
1756
1800
  // EXTERNAL MODULE: external "element-ui/lib/checkbox-group"
1757
- var checkbox_group_ = __webpack_require__(28);
1801
+ var checkbox_group_ = __webpack_require__(33);
1758
1802
  var checkbox_group_default = /*#__PURE__*/__webpack_require__.n(checkbox_group_);
1759
1803
 
1760
1804
  // EXTERNAL MODULE: external "element-ui/lib/checkbox"
1761
- var checkbox_ = __webpack_require__(29);
1805
+ var checkbox_ = __webpack_require__(34);
1762
1806
  var checkbox_default = /*#__PURE__*/__webpack_require__.n(checkbox_);
1763
1807
 
1764
1808
  // EXTERNAL MODULE: external "element-ui/lib/checkbox-button"
1765
- var checkbox_button_ = __webpack_require__(30);
1809
+ var checkbox_button_ = __webpack_require__(35);
1766
1810
  var checkbox_button_default = /*#__PURE__*/__webpack_require__.n(checkbox_button_);
1767
1811
 
1768
1812
  // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form/src/item/Checkbox.vue?vue&type=script&lang=js&
@@ -2004,31 +2048,31 @@ var InputText_component = normalizeComponent(
2004
2048
 
2005
2049
  /* harmony default export */ var InputText = (InputText_component.exports);
2006
2050
  // EXTERNAL MODULE: external "element-ui/lib/switch"
2007
- var switch_ = __webpack_require__(31);
2051
+ var switch_ = __webpack_require__(36);
2008
2052
  var switch_default = /*#__PURE__*/__webpack_require__.n(switch_);
2009
2053
 
2010
2054
  // EXTERNAL MODULE: external "element-ui/lib/cascader"
2011
- var cascader_ = __webpack_require__(32);
2055
+ var cascader_ = __webpack_require__(37);
2012
2056
  var cascader_default = /*#__PURE__*/__webpack_require__.n(cascader_);
2013
2057
 
2014
2058
  // EXTERNAL MODULE: external "element-ui/lib/slider"
2015
- var slider_ = __webpack_require__(33);
2059
+ var slider_ = __webpack_require__(38);
2016
2060
  var slider_default = /*#__PURE__*/__webpack_require__.n(slider_);
2017
2061
 
2018
2062
  // EXTERNAL MODULE: external "element-ui/lib/transfer"
2019
- var transfer_ = __webpack_require__(34);
2063
+ var transfer_ = __webpack_require__(39);
2020
2064
  var transfer_default = /*#__PURE__*/__webpack_require__.n(transfer_);
2021
2065
 
2022
2066
  // EXTERNAL MODULE: external "element-ui/lib/time-picker"
2023
- var time_picker_ = __webpack_require__(35);
2067
+ var time_picker_ = __webpack_require__(40);
2024
2068
  var time_picker_default = /*#__PURE__*/__webpack_require__.n(time_picker_);
2025
2069
 
2026
2070
  // EXTERNAL MODULE: external "element-ui/lib/date-picker"
2027
- var date_picker_ = __webpack_require__(36);
2071
+ var date_picker_ = __webpack_require__(41);
2028
2072
  var date_picker_default = /*#__PURE__*/__webpack_require__.n(date_picker_);
2029
2073
 
2030
2074
  // EXTERNAL MODULE: external "element-ui/lib/upload"
2031
- var upload_ = __webpack_require__(37);
2075
+ var upload_ = __webpack_require__(42);
2032
2076
  var upload_default = /*#__PURE__*/__webpack_require__.n(upload_);
2033
2077
 
2034
2078
  // CONCATENATED MODULE: ./src/components/form/src/form-input.js
@@ -2046,6 +2090,7 @@ var upload_default = /*#__PURE__*/__webpack_require__.n(upload_);
2046
2090
 
2047
2091
 
2048
2092
 
2093
+
2049
2094
  /* harmony default export */ var form_input = ({
2050
2095
  name: "FormInput",
2051
2096
  inheritAttrs: false,
@@ -2060,18 +2105,23 @@ var upload_default = /*#__PURE__*/__webpack_require__.n(upload_);
2060
2105
  Input: Input,
2061
2106
  InputNumber: InputNumber,
2062
2107
  Select: Select,
2108
+ SelectTree: SelectTree,
2063
2109
  Radio: Radio,
2064
2110
  Checkbox: Checkbox,
2065
2111
  InputText: InputText
2066
2112
  },
2067
2113
  props: {
2068
2114
  control: String,
2115
+ render: Function,
2069
2116
  slots: {
2070
2117
  type: Object
2071
2118
  }
2072
2119
  },
2073
2120
  render: function render(h) {
2074
2121
  var _this = this;
2122
+ if (typeof this.render === "function") {
2123
+ return this.render.call(this, h, this.$attrs);
2124
+ }
2075
2125
  var param = {
2076
2126
  attrs: Object.assign({}, this.$attrs),
2077
2127
  on: this.$listeners,
@@ -2105,7 +2155,7 @@ form_input.install = function (Vue) {
2105
2155
  };
2106
2156
  /* harmony default export */ var components_form_input = (form_input);
2107
2157
  // EXTERNAL MODULE: external "element-ui/lib/form-item"
2108
- var lib_form_item_ = __webpack_require__(38);
2158
+ var lib_form_item_ = __webpack_require__(43);
2109
2159
  var lib_form_item_default = /*#__PURE__*/__webpack_require__.n(lib_form_item_);
2110
2160
 
2111
2161
  // EXTERNAL MODULE: external "@panpanzhao/component-ui/lib/components/form-input"
@@ -2116,6 +2166,7 @@ var form_input_default = /*#__PURE__*/__webpack_require__.n(form_input_);
2116
2166
 
2117
2167
 
2118
2168
 
2169
+
2119
2170
  /* harmony default export */ var form_item = ({
2120
2171
  name: "FormItem",
2121
2172
  components: {
@@ -2128,6 +2179,10 @@ var form_input_default = /*#__PURE__*/__webpack_require__.n(form_input_);
2128
2179
  prop: String,
2129
2180
  value: [String, Number, Boolean, Object, Array, Date],
2130
2181
  label: String,
2182
+ labelWidth: String,
2183
+ showMessage: Boolean,
2184
+ inlineMessage: Boolean,
2185
+ size: String,
2131
2186
  rules: [Object, Array],
2132
2187
  actions: Array,
2133
2188
  on: Object,
@@ -2227,6 +2282,7 @@ var form_input_default = /*#__PURE__*/__webpack_require__.n(form_input_);
2227
2282
  if (typeof this.render === "function") {
2228
2283
  return this.render(h, {
2229
2284
  form: this.form,
2285
+ formModel: this.form.formModel,
2230
2286
  config: this.config
2231
2287
  });
2232
2288
  }
@@ -2236,14 +2292,24 @@ var form_input_default = /*#__PURE__*/__webpack_require__.n(form_input_);
2236
2292
  input: function input(val) {
2237
2293
  _this2.execEvent("input", val);
2238
2294
  if (_this2.form) {
2239
- _this2.form.formModel[_this2.prop] = val;
2295
+ if (_this2.prop && _this2.prop.indexOf(".") != -1) {
2296
+ Object(external_lodash_["set"])(_this2.form.formModel, _this2.prop, val);
2297
+ } else {
2298
+ _this2.form.formModel[_this2.prop] = val;
2299
+ }
2240
2300
  }
2301
+ _this2.config.value = val;
2241
2302
  },
2242
2303
  change: function change(val, selectOption) {
2243
2304
  _this2.execEvent("change", val, selectOption);
2244
2305
  if (_this2.form) {
2245
- _this2.form.formModel[_this2.prop] = val;
2306
+ if (_this2.prop && _this2.prop.indexOf(".") != -1) {
2307
+ Object(external_lodash_["set"])(_this2.form.formModel, _this2.prop, val);
2308
+ } else {
2309
+ _this2.form.formModel[_this2.prop] = val;
2310
+ }
2246
2311
  }
2312
+ _this2.config.value = val;
2247
2313
  }
2248
2314
  })
2249
2315
  };
@@ -2251,7 +2317,9 @@ var form_input_default = /*#__PURE__*/__webpack_require__.n(form_input_);
2251
2317
  "attrs": {
2252
2318
  "label": this.label,
2253
2319
  "prop": this.prop,
2254
- "rules": this.rules
2320
+ "rules": this.rules,
2321
+ "labelWidth": this.labelWidth,
2322
+ "size": this.size
2255
2323
  }
2256
2324
  }, [h("form-input", babel_helper_vue_jsx_merge_props_default()([{}, itemProp]))]);
2257
2325
  }
@@ -2266,7 +2334,7 @@ form_item.install = function (Vue) {
2266
2334
  // CONCATENATED MODULE: ./src/components/form-group/src/content.js
2267
2335
 
2268
2336
 
2269
- /* harmony default export */ var content = ({
2337
+ /* harmony default export */ var src_content = ({
2270
2338
  name: "Content",
2271
2339
  inheritAttrs: false,
2272
2340
  components: {
@@ -2324,7 +2392,7 @@ form_item.install = function (Vue) {
2324
2392
  }
2325
2393
  },
2326
2394
  render: function render(h) {
2327
- if (this.slots.form) {
2395
+ if (this.slots && this.slots.form) {
2328
2396
  var vForm = typeof this.slots.form === "function" ? this.slots.form.call(this, h) : this.slots.form;
2329
2397
  return vForm;
2330
2398
  }
@@ -2512,7 +2580,7 @@ var collapse_item_default = /*#__PURE__*/__webpack_require__.n(collapse_item_);
2512
2580
  }, form),
2513
2581
  on: form.on
2514
2582
  };
2515
- return h(content, babel_helper_vue_jsx_merge_props_default()([{
2583
+ return h(src_content, babel_helper_vue_jsx_merge_props_default()([{
2516
2584
  "ref": form.prop,
2517
2585
  "key": form.prop,
2518
2586
  "attrs": {
@@ -2691,6 +2759,7 @@ var button_default = /*#__PURE__*/__webpack_require__.n(button_);
2691
2759
  }
2692
2760
  },
2693
2761
  props: {
2762
+ request: Function,
2694
2763
  dialog: {
2695
2764
  type: Object,
2696
2765
  default: function _default() {
@@ -2751,13 +2820,16 @@ var button_default = /*#__PURE__*/__webpack_require__.n(button_);
2751
2820
  };
2752
2821
  },
2753
2822
  computed: {
2754
- request: function request() {
2755
- return this.api.request || (this.$COMPONENT || {}).request;
2823
+ requester: function requester() {
2824
+ return this.api.request || this.request || (this.$COMPONENT || {}).request;
2756
2825
  }
2757
2826
  },
2758
2827
  methods: {
2759
- open: function open() {
2828
+ open: function open(model) {
2760
2829
  this.show = true;
2830
+ if (model) {
2831
+ this.setFormModel(model);
2832
+ }
2761
2833
  },
2762
2834
  close: function close() {
2763
2835
  this.show = false;
@@ -2765,28 +2837,49 @@ var button_default = /*#__PURE__*/__webpack_require__.n(button_);
2765
2837
  setFormModel: function setFormModel(model) {
2766
2838
  Object(external_lodash_["merge"])(this.formModel, model);
2767
2839
  },
2840
+ reset: function reset() {
2841
+ this.$refs.form && this.$refs.form.reset();
2842
+ },
2768
2843
  submit: function submit(button) {
2769
2844
  var _this2 = this;
2770
- if (!(this.api && this.request)) {
2771
- return false;
2772
- }
2773
2845
  this.$refs.form.validate(function (isValidate, errorMessage) {
2774
2846
  if (!isValidate) {
2775
2847
  return false;
2776
2848
  }
2849
+ var reqData = Object(external_lodash_["merge"])(_this2.api.data || {}, _this2.formModel);
2850
+ if (typeof _this2.api.before === "function") {
2851
+ reqData = _this2.api.before.call(_this2, reqData);
2852
+ }
2853
+ if (!(_this2.api.url && _this2.requester)) {
2854
+ _this2.close();
2855
+ _this2.reset();
2856
+ _this2.$emit("success", {
2857
+ request: _this2.requester,
2858
+ reqData: reqData
2859
+ });
2860
+ return false;
2861
+ }
2777
2862
  button.loading = true;
2778
- var reqData = Object.assign(_this2.api.data, _this2.formModel);
2779
- _this2.request({
2863
+ _this2.requester({
2780
2864
  url: Object(formula_["evaluate"])(_this2.api.url, reqData),
2781
2865
  method: _this2.api.method || "POST",
2782
2866
  data: reqData
2783
2867
  }).then(function (res) {
2784
2868
  button.loading = false;
2785
2869
  _this2.close();
2786
- _this2.$emit("success", res);
2870
+ _this2.reset();
2871
+ _this2.$emit("success", {
2872
+ request: _this2.requester,
2873
+ reqData: reqData,
2874
+ resData: res
2875
+ });
2787
2876
  }).catch(function (error) {
2788
2877
  button.loading = false;
2789
- _this2.$emit("error", error);
2878
+ _this2.$emit("error", {
2879
+ request: _this2.requester,
2880
+ reqData: reqData,
2881
+ resError: error
2882
+ });
2790
2883
  });
2791
2884
  });
2792
2885
  },
@@ -2875,119 +2968,396 @@ form_dialog_src.install = function (Vue) {
2875
2968
  Vue.component(form_dialog_src.name, form_dialog_src);
2876
2969
  };
2877
2970
  /* harmony default export */ var form_dialog = (form_dialog_src);
2878
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--5!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-view/src/index.vue?vue&type=template&id=1df6f53d&
2879
- var srcvue_type_template_id_1df6f53d_render = function render() {
2880
- var _vm = this,
2881
- _c = _vm._self._c
2882
- return _c(
2883
- "div",
2884
- { staticClass: "form-view" },
2885
- [
2886
- _vm._t("default", function () {
2887
- return [
2888
- _c(
2889
- "el-descriptions",
2890
- _vm._g(
2891
- _vm._b({ ref: "form" }, "el-descriptions", _vm.formProps, false),
2892
- _vm.formListeners
2893
- ),
2894
- _vm._l(_vm.filterFormItems, function (item) {
2895
- return _c(
2896
- "el-descriptions-item",
2897
- _vm._g(
2898
- _vm._b(
2899
- { key: item.prop },
2900
- "el-descriptions-item",
2901
- item,
2902
- false
2903
- ),
2904
- item.on
2905
- ),
2906
- [
2907
- _vm._v(
2908
- "\n " + _vm._s(_vm.formModel[item.prop]) + "\n "
2909
- ),
2910
- ]
2911
- )
2912
- }),
2913
- 1
2914
- ),
2915
- ]
2916
- }),
2917
- ],
2918
- 2
2919
- )
2920
- }
2921
- var srcvue_type_template_id_1df6f53d_staticRenderFns = []
2922
- srcvue_type_template_id_1df6f53d_render._withStripped = true
2971
+ // EXTERNAL MODULE: external "@panpanzhao/component-ui/lib/components/drawer"
2972
+ var drawer_ = __webpack_require__(20);
2973
+ var drawer_default = /*#__PURE__*/__webpack_require__.n(drawer_);
2923
2974
 
2975
+ // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-drawer/src/index.vue?vue&type=script&lang=js&
2924
2976
 
2925
- // CONCATENATED MODULE: ./src/components/form-view/src/index.vue?vue&type=template&id=1df6f53d&
2926
2977
 
2927
- // EXTERNAL MODULE: external "element-ui/lib/descriptions"
2928
- var descriptions_ = __webpack_require__(39);
2929
- var descriptions_default = /*#__PURE__*/__webpack_require__.n(descriptions_);
2930
2978
 
2931
- // EXTERNAL MODULE: external "element-ui/lib/descriptions-item"
2932
- var descriptions_item_ = __webpack_require__(40);
2933
- var descriptions_item_default = /*#__PURE__*/__webpack_require__.n(descriptions_item_);
2934
2979
 
2935
- // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-view/src/index.vue?vue&type=script&lang=js&
2936
2980
 
2937
2981
 
2938
2982
 
2939
2983
 
2940
- /* harmony default export */ var form_view_srcvue_type_script_lang_js_ = ({
2941
- name: "FormView",
2942
- componentName: "FormView",
2984
+
2985
+
2986
+
2987
+ /* harmony default export */ var form_drawer_srcvue_type_script_lang_js_ = ({
2988
+ name: "FormDrawer",
2989
+ componentName: "FormDrawer",
2943
2990
  components: {
2944
- elDescriptions: descriptions_default.a,
2945
- elDescriptionsItem: descriptions_item_default.a
2946
- },
2947
- props: {
2948
- prop: String,
2949
- labelWidth: String,
2950
- formItems: {
2951
- type: Array,
2952
- default: function _default() {
2953
- return [];
2954
- }
2955
- },
2956
- formModel: {
2957
- type: Object,
2958
- default: function _default() {
2959
- return {};
2960
- }
2961
- }
2962
- },
2963
- computed: {
2964
- formProps: function formProps() {
2965
- return Object.assign({
2966
- border: true,
2967
- labelStyle: {
2968
- width: this.labelWidth
2969
- }
2970
- }, this.$attrs);
2971
- },
2972
- formListeners: function formListeners() {
2973
- return Object.assign({}, this.$listeners);
2974
- },
2975
- rowProps: function rowProps() {
2976
- return Object.assign({}, this.$attrs);
2977
- },
2978
- filterFormItems: function filterFormItems() {
2979
- var _this = this;
2980
- return this.formItems.filter(function (item) {
2981
- if (item.show === false) {
2982
- return false;
2983
- }
2984
- if (typeof item.show === "function" && !item.show.call(_this, {
2985
- form: _this,
2986
- config: item
2987
- })) {
2988
- return false;
2989
- }
2990
- if (typeof item.show === "string" && !Object(formula_["evaluate"])(item.show, _this.formModel)) {
2991
+ Form: components_form,
2992
+ FormGroup: form_group,
2993
+ Drawer: drawer_default.a,
2994
+ Tool: {
2995
+ components: {
2996
+ elButton: button_default.a
2997
+ },
2998
+ props: {
2999
+ label: String,
3000
+ show: {
3001
+ type: [Boolean, Function],
3002
+ default: true
3003
+ },
3004
+ on: {
3005
+ type: Object,
3006
+ default: function _default() {
3007
+ return {};
3008
+ }
3009
+ },
3010
+ render: Function
3011
+ },
3012
+ computed: {
3013
+ attrs: function attrs() {
3014
+ return Object.assign({
3015
+ size: "mini"
3016
+ }, this.$attrs);
3017
+ }
3018
+ },
3019
+ data: function data() {
3020
+ return {
3021
+ loading: this.$attrs.loading
3022
+ };
3023
+ },
3024
+ render: function render(h) {
3025
+ var _this = this;
3026
+ if (this.show === false) {
3027
+ return null;
3028
+ }
3029
+ if (typeof this.render === "function") {
3030
+ return this.render(h, this);
3031
+ }
3032
+ var param = {
3033
+ attrs: this.attrs,
3034
+ on: {
3035
+ click: function click(event) {
3036
+ if (typeof _this.$listeners.click === "function") {
3037
+ _this.$listeners.click.call(event, _this);
3038
+ }
3039
+ }
3040
+ }
3041
+ };
3042
+ return h("el-button", babel_helper_vue_jsx_merge_props_default()([{}, param, {
3043
+ "attrs": {
3044
+ "loading": this.loading
3045
+ }
3046
+ }]), [this.label]);
3047
+ }
3048
+ }
3049
+ },
3050
+ props: {
3051
+ drawer: {
3052
+ type: Object,
3053
+ default: function _default() {
3054
+ return {
3055
+ confirmButtonText: "确认",
3056
+ confirmButtonType: "Primary",
3057
+ cancelButtonText: "取消",
3058
+ cancelButtonType: "Primary"
3059
+ };
3060
+ }
3061
+ },
3062
+ formMode: String,
3063
+ api: {
3064
+ type: Object,
3065
+ default: function _default() {
3066
+ return {};
3067
+ }
3068
+ },
3069
+ form: {
3070
+ type: Object,
3071
+ default: function _default() {
3072
+ return {};
3073
+ }
3074
+ },
3075
+ tools: Array,
3076
+ on: {
3077
+ type: Object,
3078
+ default: function _default() {
3079
+ return {};
3080
+ }
3081
+ },
3082
+ slots: {
3083
+ type: Object,
3084
+ default: function _default() {
3085
+ return {};
3086
+ }
3087
+ }
3088
+ },
3089
+ data: function data() {
3090
+ return {
3091
+ show: false,
3092
+ formModel: {},
3093
+ defaultTools: [{
3094
+ label: this.drawer.cancelButtonText || "取消",
3095
+ type: this.confirmButtonType,
3096
+ loading: false,
3097
+ on: {
3098
+ click: this.close
3099
+ }
3100
+ }, {
3101
+ label: this.drawer.confirmButtonText || "确认",
3102
+ type: this.confirmButtonType || "primary",
3103
+ loading: false,
3104
+ on: {
3105
+ click: this.submit
3106
+ }
3107
+ }]
3108
+ };
3109
+ },
3110
+ computed: {
3111
+ request: function request() {
3112
+ return this.api.request || (this.$COMPONENT || {}).request;
3113
+ }
3114
+ },
3115
+ methods: {
3116
+ open: function open(model) {
3117
+ this.show = true;
3118
+ if (model) {
3119
+ this.setFormModel(model);
3120
+ }
3121
+ },
3122
+ close: function close() {
3123
+ this.show = false;
3124
+ this.$emit("close");
3125
+ },
3126
+ setFormModel: function setFormModel(model) {
3127
+ Object(external_lodash_["merge"])(this.formModel, model);
3128
+ },
3129
+ reset: function reset() {
3130
+ this.$refs.form && this.$refs.form.reset();
3131
+ },
3132
+ submit: function submit(button) {
3133
+ var _this2 = this;
3134
+ this.$refs.form.validate(function (isValidate, errorMessage) {
3135
+ if (!isValidate) {
3136
+ return false;
3137
+ }
3138
+ var reqData = Object(external_lodash_["merge"])(_this2.api.data || {}, _this2.formModel);
3139
+ if (!(_this2.api.url && _this2.request)) {
3140
+ _this2.$emit("success", null, reqData);
3141
+ _this2.reset();
3142
+ _this2.close();
3143
+ return false;
3144
+ }
3145
+ button.loading = true;
3146
+ _this2.request({
3147
+ url: Object(formula_["evaluate"])(_this2.api.url, reqData),
3148
+ method: _this2.api.method || "POST",
3149
+ data: reqData
3150
+ }).then(function (res) {
3151
+ button.loading = false;
3152
+ _this2.$emit("success", res, reqData);
3153
+ _this2.reset();
3154
+ _this2.close();
3155
+ }).catch(function (error) {
3156
+ button.loading = false;
3157
+ _this2.$emit("error", error, reqData);
3158
+ });
3159
+ });
3160
+ },
3161
+ renderForm: function renderForm(h) {
3162
+ var param = {
3163
+ attrs: Object.assign({
3164
+ formModel: this.formModel
3165
+ }, this.form)
3166
+ };
3167
+ if (this.formMode === "group") {
3168
+ return h(form_group, babel_helper_vue_jsx_merge_props_default()([{
3169
+ "ref": "form"
3170
+ }, param]));
3171
+ }
3172
+ return h(components_form, babel_helper_vue_jsx_merge_props_default()([{
3173
+ "ref": "form"
3174
+ }, param]));
3175
+ },
3176
+ renderTitle: function renderTitle(h) {
3177
+ if (typeof this.slots.title === "function") {
3178
+ return this.slots.title.call(this, this.formModel);
3179
+ }
3180
+ return this.slots.title || this.drawer.title;
3181
+ },
3182
+ renderTools: function renderTools(h) {
3183
+ if (typeof this.slots.footer === "function") {
3184
+ return this.slots.footer.call(this, this.formModel);
3185
+ }
3186
+ return h("div", [(this.tools || this.defaultTools).map(function (item) {
3187
+ var toolParam = {
3188
+ attrs: Object.assign({}, item),
3189
+ on: item.on
3190
+ };
3191
+ return h("Tool", babel_helper_vue_jsx_merge_props_default()([{}, toolParam]));
3192
+ })]);
3193
+ }
3194
+ },
3195
+ render: function render(h) {
3196
+ var _this3 = this;
3197
+ var param = {
3198
+ attrs: Object.assign({
3199
+ visible: this.show,
3200
+ closeOnClickModal: false,
3201
+ "customClass": "form-drawer"
3202
+ }, this.drawer),
3203
+ on: Object.assign(this.on, {
3204
+ close: function close() {
3205
+ _this3.close();
3206
+ }
3207
+ })
3208
+ };
3209
+ return h(drawer_default.a, babel_helper_vue_jsx_merge_props_default()([{}, param]), [h("template", {
3210
+ "slot": "title",
3211
+ "class": "drawer-title"
3212
+ }, [h("span", [this.renderTitle(h)])]), h("template", {
3213
+ "slot": "footer",
3214
+ "class": "drawer-footer"
3215
+ }, [this.renderTools(h)]), this.renderForm(h)]);
3216
+ }
3217
+ });
3218
+ // CONCATENATED MODULE: ./src/components/form-drawer/src/index.vue?vue&type=script&lang=js&
3219
+ /* harmony default export */ var components_form_drawer_srcvue_type_script_lang_js_ = (form_drawer_srcvue_type_script_lang_js_);
3220
+ // CONCATENATED MODULE: ./src/components/form-drawer/src/index.vue
3221
+ var form_drawer_src_render, form_drawer_src_staticRenderFns
3222
+
3223
+
3224
+
3225
+
3226
+ /* normalize component */
3227
+
3228
+ var form_drawer_src_component = normalizeComponent(
3229
+ components_form_drawer_srcvue_type_script_lang_js_,
3230
+ form_drawer_src_render,
3231
+ form_drawer_src_staticRenderFns,
3232
+ false,
3233
+ null,
3234
+ null,
3235
+ null
3236
+
3237
+ )
3238
+
3239
+ /* harmony default export */ var form_drawer_src = (form_drawer_src_component.exports);
3240
+ // CONCATENATED MODULE: ./src/components/form-drawer/index.js
3241
+
3242
+ form_drawer_src.install = function (Vue) {
3243
+ Vue.component(form_drawer_src.name, form_drawer_src);
3244
+ };
3245
+ /* harmony default export */ var form_drawer = (form_drawer_src);
3246
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--5!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-view/src/index.vue?vue&type=template&id=720bd4fc&
3247
+ var srcvue_type_template_id_720bd4fc_render = function render() {
3248
+ var _vm = this,
3249
+ _c = _vm._self._c
3250
+ return _c(
3251
+ "div",
3252
+ { staticClass: "form-view" },
3253
+ [
3254
+ _vm._t("default", function () {
3255
+ return [
3256
+ _c(
3257
+ "el-descriptions",
3258
+ _vm._g(
3259
+ _vm._b({ ref: "form" }, "el-descriptions", _vm.formProps, false),
3260
+ _vm.formListeners
3261
+ ),
3262
+ _vm._l(_vm.filterFormItems, function (item) {
3263
+ return _c(
3264
+ "el-descriptions-item",
3265
+ _vm._g(
3266
+ _vm._b(
3267
+ { key: item.prop },
3268
+ "el-descriptions-item",
3269
+ item,
3270
+ false
3271
+ ),
3272
+ item.on
3273
+ ),
3274
+ [
3275
+ _vm._v(
3276
+ "\n " + _vm._s(_vm.formModel[item.prop]) + "\n "
3277
+ ),
3278
+ ]
3279
+ )
3280
+ }),
3281
+ 1
3282
+ ),
3283
+ ]
3284
+ }),
3285
+ ],
3286
+ 2
3287
+ )
3288
+ }
3289
+ var srcvue_type_template_id_720bd4fc_staticRenderFns = []
3290
+ srcvue_type_template_id_720bd4fc_render._withStripped = true
3291
+
3292
+
3293
+ // CONCATENATED MODULE: ./src/components/form-view/src/index.vue?vue&type=template&id=720bd4fc&
3294
+
3295
+ // EXTERNAL MODULE: external "element-ui/lib/descriptions"
3296
+ var descriptions_ = __webpack_require__(44);
3297
+ var descriptions_default = /*#__PURE__*/__webpack_require__.n(descriptions_);
3298
+
3299
+ // EXTERNAL MODULE: external "element-ui/lib/descriptions-item"
3300
+ var descriptions_item_ = __webpack_require__(45);
3301
+ var descriptions_item_default = /*#__PURE__*/__webpack_require__.n(descriptions_item_);
3302
+
3303
+ // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-view/src/index.vue?vue&type=script&lang=js&
3304
+
3305
+
3306
+
3307
+
3308
+ /* harmony default export */ var form_view_srcvue_type_script_lang_js_ = ({
3309
+ name: "FormView",
3310
+ componentName: "FormView",
3311
+ components: {
3312
+ elDescriptions: descriptions_default.a,
3313
+ elDescriptionsItem: descriptions_item_default.a
3314
+ },
3315
+ props: {
3316
+ prop: String,
3317
+ labelWidth: String,
3318
+ formItems: {
3319
+ type: Array,
3320
+ default: function _default() {
3321
+ return [];
3322
+ }
3323
+ },
3324
+ formModel: {
3325
+ type: Object,
3326
+ default: function _default() {
3327
+ return {};
3328
+ }
3329
+ }
3330
+ },
3331
+ computed: {
3332
+ formProps: function formProps() {
3333
+ return Object.assign({
3334
+ border: true,
3335
+ labelStyle: {
3336
+ width: this.labelWidth
3337
+ }
3338
+ }, this.$attrs);
3339
+ },
3340
+ formListeners: function formListeners() {
3341
+ return Object.assign({}, this.$listeners);
3342
+ },
3343
+ rowProps: function rowProps() {
3344
+ return Object.assign({}, this.$attrs);
3345
+ },
3346
+ filterFormItems: function filterFormItems() {
3347
+ var _this = this;
3348
+ return this.formItems.filter(function (item) {
3349
+ if (item.show === false) {
3350
+ return false;
3351
+ }
3352
+ if (typeof item.show === "function" && !item.show.call(_this, {
3353
+ form: _this,
3354
+ config: item
3355
+ })) {
3356
+ return false;
3357
+ }
3358
+ if (typeof item.show === "string" && !Object(formula_["evaluate"])(item.show, _this.formModel, {
3359
+ evalMode: true
3360
+ })) {
2991
3361
  return false;
2992
3362
  }
2993
3363
  return true;
@@ -3025,8 +3395,8 @@ var descriptions_item_default = /*#__PURE__*/__webpack_require__.n(descriptions_
3025
3395
 
3026
3396
  var form_view_src_component = normalizeComponent(
3027
3397
  components_form_view_srcvue_type_script_lang_js_,
3028
- srcvue_type_template_id_1df6f53d_render,
3029
- srcvue_type_template_id_1df6f53d_staticRenderFns,
3398
+ srcvue_type_template_id_720bd4fc_render,
3399
+ srcvue_type_template_id_720bd4fc_staticRenderFns,
3030
3400
  false,
3031
3401
  null,
3032
3402
  null,
@@ -3044,7 +3414,7 @@ form_view_src.install = function (Vue) {
3044
3414
  // CONCATENATED MODULE: ./src/components/form-view-group/src/content.js
3045
3415
 
3046
3416
 
3047
- /* harmony default export */ var src_content = ({
3417
+ /* harmony default export */ var form_view_group_src_content = ({
3048
3418
  name: "Content",
3049
3419
  inheritAttrs: false,
3050
3420
  components: {
@@ -3162,7 +3532,7 @@ form_view_src.install = function (Vue) {
3162
3532
  attrs: Object.assign({}, form),
3163
3533
  on: form.on
3164
3534
  };
3165
- return h(src_content, babel_helper_vue_jsx_merge_props_default()([{
3535
+ return h(form_view_group_src_content, babel_helper_vue_jsx_merge_props_default()([{
3166
3536
  "ref": form.prop,
3167
3537
  "key": form.prop,
3168
3538
  "attrs": {
@@ -3268,7 +3638,6 @@ form_view_group_src.install = function (Vue) {
3268
3638
 
3269
3639
 
3270
3640
 
3271
-
3272
3641
  /* harmony default export */ var form_view_dialog_srcvue_type_script_lang_js_ = ({
3273
3642
  name: "FormViewDialog",
3274
3643
  componentName: "FormViewDialog",
@@ -3482,8 +3851,8 @@ form_view_dialog_src.install = function (Vue) {
3482
3851
  Vue.component(form_view_dialog_src.name, form_view_dialog_src);
3483
3852
  };
3484
3853
  /* harmony default export */ var form_view_dialog = (form_view_dialog_src);
3485
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--5!./node_modules/vue-loader/lib??vue-loader-options!./src/components/table/src/table.vue?vue&type=template&id=f8ac923e&
3486
- var tablevue_type_template_id_f8ac923e_render = function render() {
3854
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--5!./node_modules/vue-loader/lib??vue-loader-options!./src/components/table/src/table.vue?vue&type=template&id=189ef3b0&
3855
+ var tablevue_type_template_id_189ef3b0_render = function render() {
3487
3856
  var _vm = this,
3488
3857
  _c = _vm._self._c
3489
3858
  return _c("div", { staticClass: "table" }, [
@@ -3561,14 +3930,14 @@ var tablevue_type_template_id_f8ac923e_render = function render() {
3561
3930
  : _vm._e(),
3562
3931
  ])
3563
3932
  }
3564
- var tablevue_type_template_id_f8ac923e_staticRenderFns = []
3565
- tablevue_type_template_id_f8ac923e_render._withStripped = true
3933
+ var tablevue_type_template_id_189ef3b0_staticRenderFns = []
3934
+ tablevue_type_template_id_189ef3b0_render._withStripped = true
3566
3935
 
3567
3936
 
3568
- // CONCATENATED MODULE: ./src/components/table/src/table.vue?vue&type=template&id=f8ac923e&
3937
+ // CONCATENATED MODULE: ./src/components/table/src/table.vue?vue&type=template&id=189ef3b0&
3569
3938
 
3570
3939
  // EXTERNAL MODULE: external "element-ui/lib/table"
3571
- var table_ = __webpack_require__(14);
3940
+ var table_ = __webpack_require__(15);
3572
3941
  var table_default = /*#__PURE__*/__webpack_require__.n(table_);
3573
3942
 
3574
3943
  // EXTERNAL MODULE: external "element-ui/lib/table-column"
@@ -3576,7 +3945,7 @@ var table_column_ = __webpack_require__(3);
3576
3945
  var table_column_default = /*#__PURE__*/__webpack_require__.n(table_column_);
3577
3946
 
3578
3947
  // EXTERNAL MODULE: external "element-ui/lib/pagination"
3579
- var pagination_ = __webpack_require__(41);
3948
+ var pagination_ = __webpack_require__(46);
3580
3949
  var pagination_default = /*#__PURE__*/__webpack_require__.n(pagination_);
3581
3950
 
3582
3951
  // EXTERNAL MODULE: external "@panpanzhao/component-ui/lib/components/table-column"
@@ -3662,22 +4031,24 @@ var components_table_column_default = /*#__PURE__*/__webpack_require__.n(compone
3662
4031
  };
3663
4032
  },
3664
4033
  props: {
4034
+ request: Function,
3665
4035
  data: {
3666
4036
  type: Array,
3667
4037
  default: function _default() {
3668
4038
  return null;
3669
4039
  }
3670
4040
  },
3671
- api: Object,
4041
+ api: {
4042
+ type: Object,
4043
+ default: function _default() {
4044
+ return {};
4045
+ }
4046
+ },
4047
+ hasInit: Boolean,
3672
4048
  remoteProp: {
3673
4049
  type: Object,
3674
4050
  default: function _default() {
3675
- return {
3676
- data: "list",
3677
- currentPage: "page",
3678
- pageSize: "pageSize",
3679
- total: "total"
3680
- };
4051
+ return {};
3681
4052
  }
3682
4053
  },
3683
4054
  dataSource: Object,
@@ -3687,7 +4058,6 @@ var components_table_column_default = /*#__PURE__*/__webpack_require__.n(compone
3687
4058
  return [];
3688
4059
  }
3689
4060
  },
3690
- beforeSearch: Function,
3691
4061
  pagination: {
3692
4062
  type: [Boolean, Object],
3693
4063
  default: function _default() {
@@ -3730,6 +4100,17 @@ var components_table_column_default = /*#__PURE__*/__webpack_require__.n(compone
3730
4100
  }
3731
4101
  },
3732
4102
  computed: {
4103
+ requester: function requester() {
4104
+ return this.api.request || this.request || (this.$COMPONENT || {}).request;
4105
+ },
4106
+ remoteDataProp: function remoteDataProp() {
4107
+ return Object.assign({
4108
+ data: "list",
4109
+ currentPage: "page",
4110
+ pageSize: "pageSize",
4111
+ total: "total"
4112
+ }, this.remoteProp);
4113
+ },
3733
4114
  tableSource: function tableSource() {
3734
4115
  return this.data || this.remoteData || [];
3735
4116
  },
@@ -3802,40 +4183,59 @@ var components_table_column_default = /*#__PURE__*/__webpack_require__.n(compone
3802
4183
  }
3803
4184
  },
3804
4185
  mounted: function mounted() {
3805
- //this.reset()
4186
+ if (this.hasInit) {
4187
+ this.reset();
4188
+ }
3806
4189
  },
3807
4190
  methods: {
3808
4191
  reset: function reset() {
3809
4192
  this.currentPage = 1;
3810
4193
  this.search();
3811
4194
  },
4195
+ reload: function reload() {
4196
+ this.search();
4197
+ },
3812
4198
  search: function search() {
3813
4199
  var _this4 = this;
3814
- if (!(this.api && this.api.url && this.api.request)) {
4200
+ if (!this.requester) {
3815
4201
  return false;
3816
4202
  }
3817
- var requestData = Object.assign({}, this.api.data);
4203
+ var reqData = Object.assign({}, this.api.data);
3818
4204
  if (this.pagination) {
3819
- Object(external_lodash_["set"])(requestData, this.remoteProp.currentPage, this.currentPage);
3820
- Object(external_lodash_["set"])(requestData, this.remoteProp.pageSize, this.pageSize);
4205
+ Object(external_lodash_["set"])(reqData, this.remoteDataProp.currentPage, this.currentPage);
4206
+ Object(external_lodash_["set"])(reqData, this.remoteDataProp.pageSize, this.pageSize);
3821
4207
  }
3822
- if (typeof this.beforeSearch === "function") {
3823
- requestData = this.beforeSearch.call(this, requestData);
4208
+ if (typeof this.api.before === "function") {
4209
+ reqData = this.api.before.call(this, reqData);
3824
4210
  }
3825
- this.$emit("loadingChange", true);
3826
- this.api.request({
3827
- url: Object(formula_["evaluate"])(this.api.url, requestData),
4211
+ this.$emit("request", {
4212
+ request: this.requester,
4213
+ reqData: reqData
4214
+ });
4215
+ this.requester({
4216
+ url: Object(formula_["evaluate"])(this.api.url, reqData),
3828
4217
  method: this.api.method || "POST",
3829
- data: requestData
4218
+ data: reqData
3830
4219
  }).then(function (res) {
3831
- _this4.$emit("loadingChange", false);
3832
- _this4.remoteData = Object(external_lodash_["get"])(res, _this4.remoteProp.data, []);
4220
+ if (typeof _this4.api.after === "function") {
4221
+ res = _this4.api.after.call(_this4, res);
4222
+ }
4223
+ _this4.remoteData = _this4.remoteDataProp.data ? Object(external_lodash_["get"])(res, _this4.remoteDataProp.data, []) : res;
3833
4224
  if (_this4.pagination) {
3834
- _this4.total = Object(external_lodash_["get"])(res, _this4.remoteProp.total, []);
4225
+ _this4.total = Object(external_lodash_["get"])(res, _this4.remoteDataProp.total, 0);
3835
4226
  }
4227
+ _this4.$emit("success", {
4228
+ request: _this4.requester,
4229
+ reqData: reqData,
4230
+ resData: res
4231
+ });
3836
4232
  }).catch(function (error) {
3837
- _this4.$emit("loadingChange", false);
3838
4233
  _this4.remoteData = [], _this4.total = 0;
4234
+ _this4.$emit("error", {
4235
+ request: _this4.requester,
4236
+ reqData: reqData,
4237
+ resError: error
4238
+ });
3839
4239
  });
3840
4240
  }
3841
4241
  }
@@ -3852,8 +4252,8 @@ var components_table_column_default = /*#__PURE__*/__webpack_require__.n(compone
3852
4252
 
3853
4253
  var table_component = normalizeComponent(
3854
4254
  src_tablevue_type_script_lang_js_,
3855
- tablevue_type_template_id_f8ac923e_render,
3856
- tablevue_type_template_id_f8ac923e_staticRenderFns,
4255
+ tablevue_type_template_id_189ef3b0_render,
4256
+ tablevue_type_template_id_189ef3b0_staticRenderFns,
3857
4257
  false,
3858
4258
  null,
3859
4259
  null,
@@ -4117,7 +4517,7 @@ datevue_type_template_id_3d682315_render._withStripped = true
4117
4517
  // CONCATENATED MODULE: ./src/components/table/src/column/date.vue?vue&type=template&id=3d682315&
4118
4518
 
4119
4519
  // EXTERNAL MODULE: external "dayjs"
4120
- var external_dayjs_ = __webpack_require__(16);
4520
+ var external_dayjs_ = __webpack_require__(21);
4121
4521
  var external_dayjs_default = /*#__PURE__*/__webpack_require__.n(external_dayjs_);
4122
4522
 
4123
4523
  // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/table/src/column/date.vue?vue&type=script&lang=js&
@@ -4304,19 +4704,19 @@ var dict_component = normalizeComponent(
4304
4704
 
4305
4705
  /* harmony default export */ var dict = (dict_component.exports);
4306
4706
  // EXTERNAL MODULE: external "element-ui/lib/dropdown"
4307
- var dropdown_ = __webpack_require__(42);
4707
+ var dropdown_ = __webpack_require__(47);
4308
4708
  var dropdown_default = /*#__PURE__*/__webpack_require__.n(dropdown_);
4309
4709
 
4310
4710
  // EXTERNAL MODULE: external "element-ui/lib/dropdown-item"
4311
- var dropdown_item_ = __webpack_require__(43);
4711
+ var dropdown_item_ = __webpack_require__(48);
4312
4712
  var dropdown_item_default = /*#__PURE__*/__webpack_require__.n(dropdown_item_);
4313
4713
 
4314
4714
  // EXTERNAL MODULE: external "element-ui/lib/dropdown-menu"
4315
- var dropdown_menu_ = __webpack_require__(44);
4715
+ var dropdown_menu_ = __webpack_require__(49);
4316
4716
  var dropdown_menu_default = /*#__PURE__*/__webpack_require__.n(dropdown_menu_);
4317
4717
 
4318
4718
  // EXTERNAL MODULE: external "element-ui/lib/link"
4319
- var link_ = __webpack_require__(17);
4719
+ var link_ = __webpack_require__(22);
4320
4720
  var link_default = /*#__PURE__*/__webpack_require__.n(link_);
4321
4721
 
4322
4722
  // CONCATENATED MODULE: ./src/utils/helper.js
@@ -4665,6 +5065,7 @@ function spliceTreeSelf(tree, idx, deleteCount) {
4665
5065
 
4666
5066
 
4667
5067
 
5068
+
4668
5069
  /* harmony default export */ var operatevue_type_script_lang_js_ = ({
4669
5070
  name: "Operate",
4670
5071
  props: {
@@ -4677,7 +5078,6 @@ function spliceTreeSelf(tree, idx, deleteCount) {
4677
5078
  },
4678
5079
  items: {
4679
5080
  type: Array,
4680
- required: true,
4681
5081
  default: function _default() {
4682
5082
  return [];
4683
5083
  }
@@ -4701,7 +5101,7 @@ function spliceTreeSelf(tree, idx, deleteCount) {
4701
5101
  }
4702
5102
  },
4703
5103
  created: function created() {
4704
- this.items.filter(function (row) {
5104
+ this.items.forEach(function (row) {
4705
5105
  if (!row.key) {
4706
5106
  row.key = uuid();
4707
5107
  }
@@ -4710,7 +5110,7 @@ function spliceTreeSelf(tree, idx, deleteCount) {
4710
5110
  methods: {
4711
5111
  renderItems: function renderItems(h, scoped) {
4712
5112
  var _this = this;
4713
- var filterItems = this.items.filter(function (row) {
5113
+ var filterItems = Object(external_lodash_["sortBy"])(this.items, ['sort']).filter(function (row) {
4714
5114
  if (typeof row.show === "function") {
4715
5115
  return row.show.call(_this, scoped, row);
4716
5116
  }
@@ -4938,12 +5338,19 @@ function table_column_extends() { table_column_extends = Object.assign ? Object.
4938
5338
  required: false,
4939
5339
  default: "Default"
4940
5340
  },
5341
+ show: {
5342
+ type: Boolean,
5343
+ default: true
5344
+ },
4941
5345
  slots: {
4942
5346
  type: Object
4943
5347
  }
4944
5348
  },
4945
5349
  render: function render(h) {
4946
5350
  var _this = this;
5351
+ if (this.show === false) {
5352
+ return;
5353
+ }
4947
5354
  var param = {
4948
5355
  attrs: Object.assign({}, this.$attrs),
4949
5356
  on: this.$listeners,
@@ -4976,8 +5383,8 @@ table_column.install = function (Vue) {
4976
5383
  Vue.component(table_column.name, table_column);
4977
5384
  };
4978
5385
  /* harmony default export */ var components_table_column = (table_column);
4979
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--5!./node_modules/vue-loader/lib??vue-loader-options!./src/components/table-search/src/index.vue?vue&type=template&id=d82821d8&
4980
- var srcvue_type_template_id_d82821d8_render = function render() {
5386
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--5!./node_modules/vue-loader/lib??vue-loader-options!./src/components/table-search/src/index.vue?vue&type=template&id=08925b81&
5387
+ var srcvue_type_template_id_08925b81_render = function render() {
4981
5388
  var _vm = this,
4982
5389
  _c = _vm._self._c
4983
5390
  return _c("div", { staticClass: "table-search" }, [
@@ -5026,23 +5433,33 @@ var srcvue_type_template_id_d82821d8_render = function render() {
5026
5433
  _c(
5027
5434
  "div",
5028
5435
  { staticClass: "table-search-table" },
5029
- [_c("Table", _vm._b({ ref: "table" }, "Table", _vm.tableProps, false))],
5436
+ [
5437
+ _c(
5438
+ "Table",
5439
+ _vm._b(
5440
+ { ref: "table", attrs: { request: _vm.request } },
5441
+ "Table",
5442
+ _vm.tableProps,
5443
+ false
5444
+ )
5445
+ ),
5446
+ ],
5030
5447
  1
5031
5448
  ),
5032
5449
  ])
5033
5450
  }
5034
- var srcvue_type_template_id_d82821d8_staticRenderFns = []
5035
- srcvue_type_template_id_d82821d8_render._withStripped = true
5451
+ var srcvue_type_template_id_08925b81_staticRenderFns = []
5452
+ srcvue_type_template_id_08925b81_render._withStripped = true
5036
5453
 
5037
5454
 
5038
- // CONCATENATED MODULE: ./src/components/table-search/src/index.vue?vue&type=template&id=d82821d8&
5455
+ // CONCATENATED MODULE: ./src/components/table-search/src/index.vue?vue&type=template&id=08925b81&
5039
5456
 
5040
5457
  // EXTERNAL MODULE: external "@panpanzhao/component-ui/lib/components/form"
5041
- var components_form_ = __webpack_require__(45);
5458
+ var components_form_ = __webpack_require__(50);
5042
5459
  var components_form_default = /*#__PURE__*/__webpack_require__.n(components_form_);
5043
5460
 
5044
5461
  // EXTERNAL MODULE: external "@panpanzhao/component-ui/lib/components/table"
5045
- var components_table_ = __webpack_require__(46);
5462
+ var components_table_ = __webpack_require__(51);
5046
5463
  var components_table_default = /*#__PURE__*/__webpack_require__.n(components_table_);
5047
5464
 
5048
5465
  // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/table-search/src/index.vue?vue&type=script&lang=js&
@@ -5070,11 +5487,7 @@ var components_table_default = /*#__PURE__*/__webpack_require__.n(components_tab
5070
5487
  }, this.search.form);
5071
5488
  },
5072
5489
  tableProps: function tableProps() {
5073
- return Object(external_lodash_["merge"])({
5074
- api: {
5075
- request: this.request
5076
- }
5077
- }, this.table, {
5490
+ return Object(external_lodash_["merge"])(this.table, {
5078
5491
  api: {
5079
5492
  data: this.searchData
5080
5493
  }
@@ -5091,23 +5504,29 @@ var components_table_default = /*#__PURE__*/__webpack_require__.n(components_tab
5091
5504
  },
5092
5505
  mounted: function mounted() {
5093
5506
  var _this = this;
5094
- if (this.search.hasInit) {
5507
+ if (this.search && this.search.hasInit) {
5095
5508
  this.$nextTick(function () {
5096
5509
  _this.searchSubmit();
5097
5510
  });
5098
5511
  }
5099
5512
  },
5100
5513
  methods: {
5101
- reset: function reset() {
5514
+ resetForm: function resetForm() {
5102
5515
  this.$refs.form.resetFields();
5103
5516
  },
5517
+ resetTable: function resetTable() {
5518
+ this.$refs.table.reset();
5519
+ },
5520
+ reloadTable: function reloadTable() {
5521
+ this.$refs.table.reload();
5522
+ },
5104
5523
  searchSubmit: function searchSubmit() {
5105
5524
  var _this2 = this;
5106
5525
  this.$refs.form.validate(function (isValidate, errorMessage) {
5107
5526
  if (!isValidate) {
5108
5527
  return false;
5109
5528
  }
5110
- _this2.$refs.table.reset();
5529
+ _this2.resetTable();
5111
5530
  });
5112
5531
  }
5113
5532
  }
@@ -5124,8 +5543,8 @@ var components_table_default = /*#__PURE__*/__webpack_require__.n(components_tab
5124
5543
 
5125
5544
  var table_search_src_component = normalizeComponent(
5126
5545
  components_table_search_srcvue_type_script_lang_js_,
5127
- srcvue_type_template_id_d82821d8_render,
5128
- srcvue_type_template_id_d82821d8_staticRenderFns,
5546
+ srcvue_type_template_id_08925b81_render,
5547
+ srcvue_type_template_id_08925b81_staticRenderFns,
5129
5548
  false,
5130
5549
  null,
5131
5550
  null,
@@ -5142,8 +5561,8 @@ table_search_src.install = function (Vue) {
5142
5561
  Vue.component(table_search_src.name, table_search_src);
5143
5562
  };
5144
5563
  /* harmony default export */ var table_search = (table_search_src);
5145
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--5!./node_modules/vue-loader/lib??vue-loader-options!./src/components/table-editable/src/index.vue?vue&type=template&id=6b872934&
5146
- var srcvue_type_template_id_6b872934_render = function render() {
5564
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--5!./node_modules/vue-loader/lib??vue-loader-options!./src/components/table-editable/src/index.vue?vue&type=template&id=2cd18efc&
5565
+ var srcvue_type_template_id_2cd18efc_render = function render() {
5147
5566
  var _vm = this,
5148
5567
  _c = _vm._self._c
5149
5568
  return _c(
@@ -5164,7 +5583,9 @@ var srcvue_type_template_id_6b872934_render = function render() {
5164
5583
  _vm._g(
5165
5584
  _vm._b(
5166
5585
  {
5167
- key: `${column.control}_${column.prop}`,
5586
+ key: `${column.config && column.config.control}_${
5587
+ column.prop
5588
+ }`,
5168
5589
  attrs: { actions: _vm.actionItem[column.prop] },
5169
5590
  },
5170
5591
  "ColumnItem",
@@ -5183,18 +5604,18 @@ var srcvue_type_template_id_6b872934_render = function render() {
5183
5604
  1
5184
5605
  )
5185
5606
  }
5186
- var srcvue_type_template_id_6b872934_staticRenderFns = []
5187
- srcvue_type_template_id_6b872934_render._withStripped = true
5607
+ var srcvue_type_template_id_2cd18efc_staticRenderFns = []
5608
+ srcvue_type_template_id_2cd18efc_render._withStripped = true
5188
5609
 
5189
5610
 
5190
- // CONCATENATED MODULE: ./src/components/table-editable/src/index.vue?vue&type=template&id=6b872934&
5611
+ // CONCATENATED MODULE: ./src/components/table-editable/src/index.vue?vue&type=template&id=2cd18efc&
5191
5612
 
5192
5613
  // EXTERNAL MODULE: external "element-ui/lib/popover"
5193
- var popover_ = __webpack_require__(47);
5614
+ var popover_ = __webpack_require__(52);
5194
5615
  var popover_default = /*#__PURE__*/__webpack_require__.n(popover_);
5195
5616
 
5196
5617
  // EXTERNAL MODULE: external "async-validator"
5197
- var external_async_validator_ = __webpack_require__(48);
5618
+ var external_async_validator_ = __webpack_require__(53);
5198
5619
  var external_async_validator_default = /*#__PURE__*/__webpack_require__.n(external_async_validator_);
5199
5620
 
5200
5621
  // CONCATENATED MODULE: ./src/components/table-editable/src/form-item.js
@@ -5437,8 +5858,11 @@ var external_async_validator_default = /*#__PURE__*/__webpack_require__.n(extern
5437
5858
  render: function render(h) {
5438
5859
  var _this2 = this;
5439
5860
  var param = {
5440
- attrs: Object.assign({}, this.inputConfig, {
5441
- value: this.value
5861
+ attrs: Object.assign({
5862
+ render: this.render
5863
+ }, this.inputConfig, {
5864
+ value: this.value,
5865
+ rowData: this.rowData
5442
5866
  }),
5443
5867
  on: Object.assign({}, this.eventOn, this.actionEventOn, {
5444
5868
  focus: function focus() {
@@ -5755,95 +6179,394 @@ var external_async_validator_default = /*#__PURE__*/__webpack_require__.n(extern
5755
6179
  if (message) {
5756
6180
  valid = false;
5757
6181
  }
5758
- Object.assign(invalidFields, fieldMsg);
5759
- if (typeof callback === 'function' && ++count === fields.length) {
5760
- callback(valid, invalidFields);
6182
+ Object.assign(invalidFields, fieldMsg);
6183
+ if (typeof callback === 'function' && ++count === fields.length) {
6184
+ callback(valid, invalidFields);
6185
+ }
6186
+ });
6187
+ });
6188
+ if (promise) {
6189
+ return promise;
6190
+ }
6191
+ },
6192
+ validateField: function validateField(rowIndex, props, cb) {
6193
+ props = [].concat(props);
6194
+ var fields = this.fields.filter(function (item) {
6195
+ return item.row && item.row.$index === rowIndex && props.indexOf(item.prop) !== -1;
6196
+ });
6197
+ if (!fields.length) {
6198
+ console.warn('[Element Warn]please pass correct props!');
6199
+ return;
6200
+ }
6201
+ fields.forEach(function (field) {
6202
+ field.validate('', cb);
6203
+ });
6204
+ },
6205
+ clearValidate: function clearValidate(rowIndex, props) {
6206
+ if (props === void 0) {
6207
+ props = [];
6208
+ }
6209
+ var fields = this.fields;
6210
+ if (typeof rowIndex === "number") {
6211
+ fields = props.length ? this.fields.filter(function (item) {
6212
+ return item.row && item.row.$index === rowIndex && props.indexOf(item.prop) !== -1;
6213
+ }) : this.fields.filter(function (item) {
6214
+ return item.row && item.row.$index === rowIndex;
6215
+ });
6216
+ }
6217
+ fields.forEach(function (field) {
6218
+ field.clearValidate();
6219
+ });
6220
+ },
6221
+ getRowField: function getRowField(row) {
6222
+ var fieldMap = {};
6223
+ var fields = this.fields.filter(function (item) {
6224
+ return item.row && item.row.$index === row.$index;
6225
+ });
6226
+ fields.forEach(function (item) {
6227
+ fieldMap[item.prop] = item;
6228
+ });
6229
+ return fieldMap;
6230
+ },
6231
+ addRow: function addRow(data, parentRow) {
6232
+ var _Object$assign;
6233
+ var rowData = Object.assign((_Object$assign = {}, _Object$assign[this.rowKey] = uuid(), _Object$assign), this.rowData, data);
6234
+ if (this.hasChildren && !rowData.children) {
6235
+ rowData.children = [];
6236
+ }
6237
+ if (parentRow) {
6238
+ if (!parentRow.children) {
6239
+ this.$set(parentRow, "children", []);
6240
+ }
6241
+ parentRow.children.push(rowData);
6242
+ } else {
6243
+ this.data.push(rowData);
6244
+ }
6245
+ },
6246
+ deleteByIndex: function deleteByIndex(index) {
6247
+ this.data && this.data.splice(index, 1);
6248
+ },
6249
+ deleteByRow: function deleteByRow(row) {
6250
+ var _this4 = this;
6251
+ spliceTreeSelf(this.data, findTreeIndex(this.data, function (item) {
6252
+ return item[_this4.rowKey] === row[_this4.rowKey];
6253
+ }), 1);
6254
+ }
6255
+ }
6256
+ });
6257
+ // CONCATENATED MODULE: ./src/components/table-editable/src/index.vue?vue&type=script&lang=js&
6258
+ /* harmony default export */ var components_table_editable_srcvue_type_script_lang_js_ = (table_editable_srcvue_type_script_lang_js_);
6259
+ // CONCATENATED MODULE: ./src/components/table-editable/src/index.vue
6260
+
6261
+
6262
+
6263
+
6264
+
6265
+ /* normalize component */
6266
+
6267
+ var table_editable_src_component = normalizeComponent(
6268
+ components_table_editable_srcvue_type_script_lang_js_,
6269
+ srcvue_type_template_id_2cd18efc_render,
6270
+ srcvue_type_template_id_2cd18efc_staticRenderFns,
6271
+ false,
6272
+ null,
6273
+ null,
6274
+ null
6275
+
6276
+ )
6277
+
6278
+ /* harmony default export */ var table_editable_src = (table_editable_src_component.exports);
6279
+ // CONCATENATED MODULE: ./src/components/table-editable/index.js
6280
+
6281
+ table_editable_src.install = function (Vue) {
6282
+ Vue.component(table_editable_src.name, table_editable_src);
6283
+ };
6284
+ /* harmony default export */ var table_editable = (table_editable_src);
6285
+ // EXTERNAL MODULE: external "@panpanzhao/component-ui/lib/components/table-search"
6286
+ var table_search_ = __webpack_require__(13);
6287
+ var table_search_default = /*#__PURE__*/__webpack_require__.n(table_search_);
6288
+
6289
+ // EXTERNAL MODULE: external "element-ui/lib/message-box"
6290
+ var message_box_ = __webpack_require__(16);
6291
+ var message_box_default = /*#__PURE__*/__webpack_require__.n(message_box_);
6292
+
6293
+ // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/table-operate/src/index.vue?vue&type=script&lang=js&
6294
+
6295
+
6296
+
6297
+
6298
+
6299
+ /* harmony default export */ var table_operate_srcvue_type_script_lang_js_ = ({
6300
+ name: "TableOperate",
6301
+ componentName: "TableOperate",
6302
+ components: {
6303
+ TableSearch: table_search_default.a,
6304
+ FormDialog: form_dialog,
6305
+ FormViewDialog: form_view_dialog
6306
+ },
6307
+ computed: {
6308
+ tableProps: function tableProps() {
6309
+ return {
6310
+ request: this.request,
6311
+ search: this.search,
6312
+ table: this.table
6313
+ };
6314
+ },
6315
+ createProps: function createProps() {
6316
+ return Object.assign({
6317
+ dialog: {
6318
+ title: "添加"
6319
+ }
6320
+ }, this.create);
6321
+ },
6322
+ updateProps: function updateProps() {
6323
+ return Object.assign({
6324
+ dialog: {
6325
+ title: "修改"
6326
+ }
6327
+ }, this.update);
6328
+ },
6329
+ viewProps: function viewProps() {
6330
+ return Object.assign({
6331
+ dialog: {
6332
+ title: "查看"
6333
+ }
6334
+ }, this.view);
6335
+ }
6336
+ },
6337
+ props: {
6338
+ request: Function,
6339
+ search: {
6340
+ type: Object,
6341
+ default: function _default() {
6342
+ return {};
6343
+ }
6344
+ },
6345
+ table: {
6346
+ type: Object,
6347
+ default: function _default() {
6348
+ return {};
6349
+ }
6350
+ },
6351
+ create: {
6352
+ type: Object,
6353
+ default: function _default() {
6354
+ return null;
6355
+ }
6356
+ },
6357
+ update: {
6358
+ type: Object,
6359
+ default: function _default() {
6360
+ return null;
6361
+ }
6362
+ },
6363
+ delete: {
6364
+ type: Object,
6365
+ default: function _default() {
6366
+ return null;
6367
+ }
6368
+ },
6369
+ view: {
6370
+ type: Object,
6371
+ default: function _default() {
6372
+ return null;
6373
+ }
6374
+ },
6375
+ on: {
6376
+ type: Object,
6377
+ default: function _default() {
6378
+ return {};
6379
+ }
6380
+ },
6381
+ slots: {
6382
+ type: Object,
6383
+ default: function _default() {
6384
+ return {};
6385
+ }
6386
+ }
6387
+ },
6388
+ data: function data() {
6389
+ return {};
6390
+ },
6391
+ mounted: function mounted() {
6392
+ this.addTools();
6393
+ },
6394
+ methods: {
6395
+ addTools: function addTools() {
6396
+ // 添加按钮处理
6397
+ if (this.create) {
6398
+ var tools = this.table && this.table.tools || [];
6399
+ tools.unshift(Object.assign({
6400
+ label: "添加",
6401
+ loading: false,
6402
+ on: {
6403
+ click: this.handleCreate
6404
+ }
6405
+ }, this.create.tool));
6406
+ this.table.tools = tools;
6407
+ }
6408
+ //修改和删除按钮处理
6409
+ if (!(this.update || this.delete || this.view)) {
6410
+ return false;
6411
+ }
6412
+ var filterColumns = this.table.columns.filter(function (item) {
6413
+ return item.control === "Operate";
6414
+ });
6415
+ var optColumn = filterColumns && filterColumns[0];
6416
+ var items = optColumn && optColumn.items || [];
6417
+ if (this.delete) {
6418
+ items.unshift(Object.assign({
6419
+ label: "删除",
6420
+ loading: false,
6421
+ on: {
6422
+ click: this.handleDelete
6423
+ }
6424
+ }, this.delete.tool));
6425
+ }
6426
+ if (this.update) {
6427
+ items.unshift(Object.assign({
6428
+ label: "修改",
6429
+ loading: false,
6430
+ on: {
6431
+ click: this.handleUpdate
6432
+ }
6433
+ }, this.update.tool));
6434
+ }
6435
+ if (this.view) {
6436
+ items.unshift(Object.assign({
6437
+ label: "查看",
6438
+ loading: false,
6439
+ on: {
6440
+ click: this.handleView
5761
6441
  }
6442
+ }, this.view.tool));
6443
+ }
6444
+ if (optColumn) {
6445
+ optColumn.items = items;
6446
+ } else {
6447
+ this.table.columns.push({
6448
+ control: "Operate",
6449
+ label: "操作",
6450
+ align: "center",
6451
+ items: items
5762
6452
  });
5763
- });
5764
- if (promise) {
5765
- return promise;
5766
6453
  }
5767
6454
  },
5768
- validateField: function validateField(rowIndex, props, cb) {
5769
- props = [].concat(props);
5770
- var fields = this.fields.filter(function (item) {
5771
- return item.row && item.row.$index === rowIndex && props.indexOf(item.prop) !== -1;
5772
- });
5773
- if (!fields.length) {
5774
- console.warn('[Element Warn]please pass correct props!');
5775
- return;
5776
- }
5777
- fields.forEach(function (field) {
5778
- field.validate('', cb);
5779
- });
6455
+ handleCreate: function handleCreate() {
6456
+ this.$refs.createFormDialog.open();
5780
6457
  },
5781
- clearValidate: function clearValidate(rowIndex, props) {
5782
- if (props === void 0) {
5783
- props = [];
5784
- }
5785
- var fields = this.fields;
5786
- if (typeof rowIndex === "number") {
5787
- fields = props.length ? this.fields.filter(function (item) {
5788
- return item.row && item.row.$index === rowIndex && props.indexOf(item.prop) !== -1;
5789
- }) : this.fields.filter(function (item) {
5790
- return item.row && item.row.$index === rowIndex;
6458
+ handleUpdate: function handleUpdate(rowProps, that) {
6459
+ var _this = this;
6460
+ var rowData = rowProps.row;
6461
+ this.$refs.updateFormDialog.open();
6462
+ if (this.update.detail) {
6463
+ var request = this.update.detail.request || this.request;
6464
+ request({
6465
+ url: Object(formula_["evaluate"])(this.update.detail.url, rowData),
6466
+ method: this.update.detail.method || "GET",
6467
+ data: rowData
6468
+ }).then(function (res) {
6469
+ _this.$refs.updateFormDialog.setFormModel(res);
6470
+ }).catch(function (error) {});
6471
+ } else {
6472
+ this.$nextTick(function () {
6473
+ _this.$refs.updateFormDialog.setFormModel(rowData);
5791
6474
  });
5792
6475
  }
5793
- fields.forEach(function (field) {
5794
- field.clearValidate();
5795
- });
5796
6476
  },
5797
- getRowField: function getRowField(row) {
5798
- var fieldMap = {};
5799
- var fields = this.fields.filter(function (item) {
5800
- return item.row && item.row.$index === row.$index;
5801
- });
5802
- fields.forEach(function (item) {
5803
- fieldMap[item.prop] = item;
5804
- });
5805
- return fieldMap;
6477
+ handleDelete: function handleDelete(rowProps, that) {
6478
+ var _this2 = this;
6479
+ message_box_default.a.confirm("是否确定删除", '提示', {
6480
+ confirmButtonText: '确定',
6481
+ cancelButtonText: '取消',
6482
+ type: 'warning'
6483
+ }).then(function () {
6484
+ var request = _this2.delete.api.request || _this2.request;
6485
+ var rowData = rowProps.row;
6486
+ that.loading = true;
6487
+ request({
6488
+ url: Object(formula_["evaluate"])(_this2.delete.api.url, rowData),
6489
+ method: _this2.delete.api.method || "GET",
6490
+ data: rowData
6491
+ }).then(function (res) {
6492
+ that.loading = false;
6493
+ }).catch(function (error) {
6494
+ that.loading = false;
6495
+ });
6496
+ }).catch(function () {});
5806
6497
  },
5807
- addRow: function addRow(data, parentRow) {
5808
- var _Object$assign;
5809
- var rowData = Object.assign((_Object$assign = {}, _Object$assign[this.rowKey] = uuid(), _Object$assign), this.rowData, data);
5810
- if (this.hasChildren && !rowData.children) {
5811
- rowData.children = [];
5812
- }
5813
- if (parentRow) {
5814
- if (!parentRow.children) {
5815
- this.$set(parentRow, "children", []);
5816
- }
5817
- parentRow.children.push(rowData);
6498
+ handleView: function handleView(rowProps, that) {
6499
+ var _this3 = this;
6500
+ var rowData = rowProps.row;
6501
+ this.$refs.viewFormDialog.open();
6502
+ if (this.view.api) {
6503
+ var request = this.view.api.request || this.request;
6504
+ request({
6505
+ url: Object(formula_["evaluate"])(this.view.api.url, rowData),
6506
+ method: this.view.api.method || "GET",
6507
+ data: rowData
6508
+ }).then(function (res) {
6509
+ _this3.$refs.viewFormDialog.setFormModel(res);
6510
+ }).catch(function (error) {});
5818
6511
  } else {
5819
- this.data.push(rowData);
6512
+ this.$nextTick(function () {
6513
+ _this3.$refs.viewFormDialog.setFormModel(rowData);
6514
+ });
5820
6515
  }
5821
- },
5822
- deleteByIndex: function deleteByIndex(index) {
5823
- this.data && this.data.splice(index, 1);
5824
- },
5825
- deleteByRow: function deleteByRow(row) {
5826
- var _this4 = this;
5827
- spliceTreeSelf(this.data, findTreeIndex(this.data, function (item) {
5828
- return item[_this4.rowKey] === row[_this4.rowKey];
5829
- }), 1);
5830
6516
  }
6517
+ },
6518
+ render: function render() {
6519
+ var h = arguments[0];
6520
+ return h("div", [h("div", [h(table_search_default.a, {
6521
+ "ref": "table",
6522
+ "directives": [{
6523
+ name: "bind",
6524
+ value: "tableProps"
6525
+ }]
6526
+ })]), h("div", [h(form_dialog, {
6527
+ "directives": [{
6528
+ name: "if",
6529
+ value: "create"
6530
+ }, {
6531
+ name: "bind",
6532
+ value: "createProps"
6533
+ }],
6534
+ "ref": "createFormDialog"
6535
+ }), h(form_dialog, {
6536
+ "directives": [{
6537
+ name: "if",
6538
+ value: "update"
6539
+ }, {
6540
+ name: "bind",
6541
+ value: "updateProps"
6542
+ }],
6543
+ "ref": "updateFormDialog"
6544
+ }), h(form_view_dialog, {
6545
+ "directives": [{
6546
+ name: "if",
6547
+ value: "view"
6548
+ }, {
6549
+ name: "bind",
6550
+ value: "viewProps"
6551
+ }],
6552
+ "ref": "viewFormDialog"
6553
+ })])]);
5831
6554
  }
5832
6555
  });
5833
- // CONCATENATED MODULE: ./src/components/table-editable/src/index.vue?vue&type=script&lang=js&
5834
- /* harmony default export */ var components_table_editable_srcvue_type_script_lang_js_ = (table_editable_srcvue_type_script_lang_js_);
5835
- // CONCATENATED MODULE: ./src/components/table-editable/src/index.vue
5836
-
6556
+ // CONCATENATED MODULE: ./src/components/table-operate/src/index.vue?vue&type=script&lang=js&
6557
+ /* harmony default export */ var components_table_operate_srcvue_type_script_lang_js_ = (table_operate_srcvue_type_script_lang_js_);
6558
+ // CONCATENATED MODULE: ./src/components/table-operate/src/index.vue
6559
+ var table_operate_src_render, table_operate_src_staticRenderFns
5837
6560
 
5838
6561
 
5839
6562
 
5840
6563
 
5841
6564
  /* normalize component */
5842
6565
 
5843
- var table_editable_src_component = normalizeComponent(
5844
- components_table_editable_srcvue_type_script_lang_js_,
5845
- srcvue_type_template_id_6b872934_render,
5846
- srcvue_type_template_id_6b872934_staticRenderFns,
6566
+ var table_operate_src_component = normalizeComponent(
6567
+ components_table_operate_srcvue_type_script_lang_js_,
6568
+ table_operate_src_render,
6569
+ table_operate_src_staticRenderFns,
5847
6570
  false,
5848
6571
  null,
5849
6572
  null,
@@ -5851,15 +6574,15 @@ var table_editable_src_component = normalizeComponent(
5851
6574
 
5852
6575
  )
5853
6576
 
5854
- /* harmony default export */ var table_editable_src = (table_editable_src_component.exports);
5855
- // CONCATENATED MODULE: ./src/components/table-editable/index.js
6577
+ /* harmony default export */ var table_operate_src = (table_operate_src_component.exports);
6578
+ // CONCATENATED MODULE: ./src/components/table-operate/index.js
5856
6579
 
5857
- table_editable_src.install = function (Vue) {
5858
- Vue.component(table_editable_src.name, table_editable_src);
6580
+ table_operate_src.install = function (Vue) {
6581
+ Vue.component(table_operate_src.name, table_operate_src);
5859
6582
  };
5860
- /* harmony default export */ var table_editable = (table_editable_src);
5861
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--5!./node_modules/vue-loader/lib??vue-loader-options!./src/components/crud/src/index.vue?vue&type=template&id=0fa8c191&
5862
- var srcvue_type_template_id_0fa8c191_render = function render() {
6583
+ /* harmony default export */ var table_operate = (table_operate_src);
6584
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--5!./node_modules/vue-loader/lib??vue-loader-options!./src/components/crud/src/index.vue?vue&type=template&id=39c4f843&
6585
+ var srcvue_type_template_id_39c4f843_render = function render() {
5863
6586
  var _vm = this,
5864
6587
  _c = _vm._self._c
5865
6588
  return _c("div", [
@@ -5868,7 +6591,12 @@ var srcvue_type_template_id_0fa8c191_render = function render() {
5868
6591
  [
5869
6592
  _c(
5870
6593
  "TableSearch",
5871
- _vm._b({ ref: "table" }, "TableSearch", _vm.tableProps, false)
6594
+ _vm._b(
6595
+ { ref: "table", attrs: { request: _vm.request } },
6596
+ "TableSearch",
6597
+ _vm.tableProps,
6598
+ false
6599
+ )
5872
6600
  ),
5873
6601
  ],
5874
6602
  1
@@ -5879,22 +6607,28 @@ var srcvue_type_template_id_0fa8c191_render = function render() {
5879
6607
  _vm.create
5880
6608
  ? _c(
5881
6609
  "FormDialog",
5882
- _vm._b(
5883
- { ref: "createFormDialog" },
5884
- "FormDialog",
5885
- _vm.createProps,
5886
- false
6610
+ _vm._g(
6611
+ _vm._b(
6612
+ { ref: "createFormDialog", attrs: { request: _vm.request } },
6613
+ "FormDialog",
6614
+ _vm.createProps,
6615
+ false
6616
+ ),
6617
+ _vm.reloadTableEvent
5887
6618
  )
5888
6619
  )
5889
6620
  : _vm._e(),
5890
6621
  _vm.update
5891
6622
  ? _c(
5892
6623
  "FormDialog",
5893
- _vm._b(
5894
- { ref: "updateFormDialog" },
5895
- "FormDialog",
5896
- _vm.updateProps,
5897
- false
6624
+ _vm._g(
6625
+ _vm._b(
6626
+ { ref: "updateFormDialog", attrs: { request: _vm.request } },
6627
+ "FormDialog",
6628
+ _vm.updateProps,
6629
+ false
6630
+ ),
6631
+ _vm.reloadTableEvent
5898
6632
  )
5899
6633
  )
5900
6634
  : _vm._e(),
@@ -5902,7 +6636,7 @@ var srcvue_type_template_id_0fa8c191_render = function render() {
5902
6636
  ? _c(
5903
6637
  "FormViewDialog",
5904
6638
  _vm._b(
5905
- { ref: "viewFormDialog" },
6639
+ { ref: "viewFormDialog", attrs: { request: _vm.request } },
5906
6640
  "FormViewDialog",
5907
6641
  _vm.viewProps,
5908
6642
  false
@@ -5914,19 +6648,11 @@ var srcvue_type_template_id_0fa8c191_render = function render() {
5914
6648
  ),
5915
6649
  ])
5916
6650
  }
5917
- var srcvue_type_template_id_0fa8c191_staticRenderFns = []
5918
- srcvue_type_template_id_0fa8c191_render._withStripped = true
5919
-
5920
-
5921
- // CONCATENATED MODULE: ./src/components/crud/src/index.vue?vue&type=template&id=0fa8c191&
6651
+ var srcvue_type_template_id_39c4f843_staticRenderFns = []
6652
+ srcvue_type_template_id_39c4f843_render._withStripped = true
5922
6653
 
5923
- // EXTERNAL MODULE: external "@panpanzhao/component-ui/lib/components/table-search"
5924
- var table_search_ = __webpack_require__(49);
5925
- var table_search_default = /*#__PURE__*/__webpack_require__.n(table_search_);
5926
6654
 
5927
- // EXTERNAL MODULE: external "element-ui/lib/message-box"
5928
- var message_box_ = __webpack_require__(50);
5929
- var message_box_default = /*#__PURE__*/__webpack_require__.n(message_box_);
6655
+ // CONCATENATED MODULE: ./src/components/crud/src/index.vue?vue&type=template&id=39c4f843&
5930
6656
 
5931
6657
  // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/crud/src/index.vue?vue&type=script&lang=js&
5932
6658
 
@@ -5934,6 +6660,7 @@ var message_box_default = /*#__PURE__*/__webpack_require__.n(message_box_);
5934
6660
 
5935
6661
 
5936
6662
 
6663
+
5937
6664
  /* harmony default export */ var crud_srcvue_type_script_lang_js_ = ({
5938
6665
  name: "CRUD",
5939
6666
  componentName: "CRUD",
@@ -6024,7 +6751,14 @@ var message_box_default = /*#__PURE__*/__webpack_require__.n(message_box_);
6024
6751
  }
6025
6752
  },
6026
6753
  data: function data() {
6027
- return {};
6754
+ var _this = this;
6755
+ return {
6756
+ reloadTableEvent: {
6757
+ success: function success() {
6758
+ _this.reloadTable();
6759
+ }
6760
+ }
6761
+ };
6028
6762
  },
6029
6763
  created: function created() {
6030
6764
  this.addTools();
@@ -6037,13 +6771,14 @@ var message_box_default = /*#__PURE__*/__webpack_require__.n(message_box_);
6037
6771
  tools.unshift(Object.assign({
6038
6772
  label: "添加",
6039
6773
  loading: false,
6774
+ sort: 10,
6040
6775
  on: {
6041
6776
  click: this.handleCreate
6042
6777
  }
6043
6778
  }, this.create.tool));
6044
6779
  this.table.tools = tools;
6045
6780
  }
6046
- //修改和删除按钮处理
6781
+ //修改,查看和删除按钮处理
6047
6782
  if (!(this.update || this.delete || this.view)) {
6048
6783
  return false;
6049
6784
  }
@@ -6053,32 +6788,35 @@ var message_box_default = /*#__PURE__*/__webpack_require__.n(message_box_);
6053
6788
  var optColumn = filterColumns && filterColumns[0];
6054
6789
  var items = optColumn && optColumn.items || [];
6055
6790
  if (this.update) {
6056
- items.unshift(Object.assign({
6791
+ items.push(Object.assign({
6057
6792
  label: "修改",
6058
6793
  loading: false,
6794
+ sort: 10,
6059
6795
  on: {
6060
6796
  click: this.handleUpdate
6061
6797
  }
6062
6798
  }, this.update.tool));
6063
6799
  }
6064
- if (this.delete) {
6065
- items.unshift(Object.assign({
6066
- label: "删除",
6067
- loading: false,
6068
- on: {
6069
- click: this.handleDelete
6070
- }
6071
- }, this.delete.tool));
6072
- }
6073
6800
  if (this.view) {
6074
- items.unshift(Object.assign({
6801
+ items.push(Object.assign({
6075
6802
  label: "查看",
6076
6803
  loading: false,
6804
+ sort: 20,
6077
6805
  on: {
6078
6806
  click: this.handleView
6079
6807
  }
6080
6808
  }, this.view.tool));
6081
6809
  }
6810
+ if (this.delete) {
6811
+ items.push(Object.assign({
6812
+ label: "删除",
6813
+ loading: false,
6814
+ sort: 30,
6815
+ on: {
6816
+ click: this.handleDelete
6817
+ }
6818
+ }, this.delete.tool));
6819
+ }
6082
6820
  if (optColumn) {
6083
6821
  optColumn.items = items;
6084
6822
  } else {
@@ -6093,62 +6831,117 @@ var message_box_default = /*#__PURE__*/__webpack_require__.n(message_box_);
6093
6831
  handleCreate: function handleCreate() {
6094
6832
  this.$refs.createFormDialog.open();
6095
6833
  },
6834
+ reloadTable: function reloadTable() {
6835
+ this.$refs.table.reloadTable();
6836
+ },
6837
+ getRequest: function getRequest(request) {
6838
+ if (request) {
6839
+ return request;
6840
+ }
6841
+ return this.request || (this.$COMPONENT || {}).request;
6842
+ },
6096
6843
  handleUpdate: function handleUpdate(rowProps, that) {
6097
- var _this = this;
6844
+ var _this2 = this;
6098
6845
  var rowData = rowProps.row;
6099
6846
  this.$refs.updateFormDialog.open();
6100
- if (this.update.detail) {
6101
- var request = this.update.detail.request || this.request;
6847
+ var detailApi = this.update.detail || {};
6848
+ var request = this.getRequest(detailApi.request);
6849
+ var reqData = Object(external_lodash_["merge"])(detailApi.data || {}, rowData);
6850
+ if (typeof detailApi.before === "function") {
6851
+ reqData = detailApi.before.call(this, reqData);
6852
+ }
6853
+ if (detailApi.url && request) {
6854
+ that.loading = true;
6102
6855
  request({
6103
- url: Object(formula_["evaluate"])(this.update.detail.url, rowData),
6104
- method: this.update.detail.method || "GET",
6105
- data: rowData
6856
+ url: Object(formula_["evaluate"])(detailApi.url, rowData),
6857
+ method: detailApi.method || "GET",
6858
+ data: reqData
6106
6859
  }).then(function (res) {
6107
- _this.$refs.updateFormDialog.setFormModel(res);
6108
- }).catch(function (error) {});
6860
+ that.loading = false;
6861
+ if (typeof detailApi.after === "function") {
6862
+ res = detailApi.after.call(_this2, res);
6863
+ }
6864
+ _this2.$refs.updateFormDialog.setFormModel(res);
6865
+ }).catch(function (error) {
6866
+ that.loading = false;
6867
+ });
6109
6868
  } else {
6110
6869
  this.$nextTick(function () {
6111
- _this.$refs.updateFormDialog.setFormModel(rowData);
6870
+ _this2.$refs.updateFormDialog.setFormModel(typeof detailApi.after === "function" ? detailApi.after.call(_this2, reqData) : reqData);
6112
6871
  });
6113
6872
  }
6114
6873
  },
6115
6874
  handleDelete: function handleDelete(rowProps, that) {
6116
- var _this2 = this;
6875
+ var _this3 = this;
6876
+ var deleteApi = this.delete.api;
6877
+ if (!deleteApi) {
6878
+ console.warn("缺少删除的配置");
6879
+ return false;
6880
+ }
6117
6881
  message_box_default.a.confirm("是否确定删除", '提示', {
6118
6882
  confirmButtonText: '确定',
6119
6883
  cancelButtonText: '取消',
6120
6884
  type: 'warning'
6121
6885
  }).then(function () {
6122
- var request = _this2.delete.api.request || _this2.request;
6123
- var rowData = rowProps.row;
6886
+ var request = _this3.getRequest(deleteApi.request);
6887
+ var reqData = Object(external_lodash_["merge"])(deleteApi.data || {}, rowProps.row);
6888
+ if (typeof deleteApi.before === "function") {
6889
+ reqData = deleteApi.before.call(_this3, reqData);
6890
+ }
6124
6891
  that.loading = true;
6125
6892
  request({
6126
- url: Object(formula_["evaluate"])(_this2.delete.api.url, rowData),
6127
- method: _this2.delete.api.method || "GET",
6128
- data: rowData
6893
+ url: Object(formula_["evaluate"])(deleteApi.url, reqData),
6894
+ method: deleteApi.method || "GET",
6895
+ data: reqData
6129
6896
  }).then(function (res) {
6130
6897
  that.loading = false;
6898
+ _this3.reloadTable();
6899
+ _this3.$emit("deleteSuccess", {
6900
+ request: request,
6901
+ reqData: reqData,
6902
+ resData: res
6903
+ });
6131
6904
  }).catch(function (error) {
6132
6905
  that.loading = false;
6906
+ _this3.$emit("deleteError", {
6907
+ request: request,
6908
+ reqData: reqData,
6909
+ resError: error
6910
+ });
6133
6911
  });
6134
6912
  }).catch(function () {});
6135
6913
  },
6136
6914
  handleView: function handleView(rowProps, that) {
6137
- var _this3 = this;
6915
+ var _this4 = this;
6138
6916
  var rowData = rowProps.row;
6139
6917
  this.$refs.viewFormDialog.open();
6140
- if (this.view.api) {
6141
- var request = this.view.api.request || this.request;
6918
+ var viewApi = this.view.api || {};
6919
+ var request = this.getRequest(viewApi.request);
6920
+ var reqData = Object(external_lodash_["merge"])(viewApi.data || {}, rowData);
6921
+ if (typeof viewApi.before === "function") {
6922
+ reqData = viewApi.before.call(this, reqData);
6923
+ }
6924
+ if (viewApi.url && request) {
6925
+ that.loading = true;
6142
6926
  request({
6143
- url: Object(formula_["evaluate"])(this.view.api.url, rowData),
6144
- method: this.view.api.method || "GET",
6145
- data: rowData
6927
+ url: Object(formula_["evaluate"])(viewApi.url, reqData),
6928
+ method: viewApi.method || "GET",
6929
+ data: reqData
6146
6930
  }).then(function (res) {
6147
- _this3.$refs.viewFormDialog.setFormModel(res);
6148
- }).catch(function (error) {});
6931
+ that.loading = false;
6932
+ if (typeof viewApi.after === "function") {
6933
+ res = viewApi.after.call(_this4, res);
6934
+ }
6935
+ _this4.$refs.viewFormDialog.setFormModel(res);
6936
+ }).catch(function (error) {
6937
+ that.loading = false;
6938
+ });
6149
6939
  } else {
6940
+ if (typeof viewApi.after === "function") {
6941
+ reqData = viewApi.after.call(this, reqData);
6942
+ }
6150
6943
  this.$nextTick(function () {
6151
- _this3.$refs.viewFormDialog.setFormModel(rowData);
6944
+ _this4.$refs.viewFormDialog.setFormModel(typeof viewApi.after === "function" ? viewApi.after.call(_this4, reqData) : reqData);
6152
6945
  });
6153
6946
  }
6154
6947
  }
@@ -6166,8 +6959,8 @@ var message_box_default = /*#__PURE__*/__webpack_require__.n(message_box_);
6166
6959
 
6167
6960
  var crud_src_component = normalizeComponent(
6168
6961
  components_crud_srcvue_type_script_lang_js_,
6169
- srcvue_type_template_id_0fa8c191_render,
6170
- srcvue_type_template_id_0fa8c191_staticRenderFns,
6962
+ srcvue_type_template_id_39c4f843_render,
6963
+ srcvue_type_template_id_39c4f843_staticRenderFns,
6171
6964
  false,
6172
6965
  null,
6173
6966
  null,
@@ -6183,20 +6976,20 @@ crud_src.install = function (Vue) {
6183
6976
  };
6184
6977
  /* harmony default export */ var crud = (crud_src);
6185
6978
  // EXTERNAL MODULE: external "codemirror"
6186
- var external_codemirror_ = __webpack_require__(15);
6979
+ var external_codemirror_ = __webpack_require__(19);
6187
6980
  var external_codemirror_default = /*#__PURE__*/__webpack_require__.n(external_codemirror_);
6188
6981
 
6189
6982
  // EXTERNAL MODULE: external "codemirror/mode/javascript/javascript"
6190
- var javascript_ = __webpack_require__(58);
6983
+ var javascript_ = __webpack_require__(59);
6191
6984
 
6192
6985
  // EXTERNAL MODULE: external "codemirror/mode/htmlmixed/htmlmixed"
6193
- var htmlmixed_ = __webpack_require__(59);
6986
+ var htmlmixed_ = __webpack_require__(60);
6194
6987
 
6195
6988
  // EXTERNAL MODULE: external "codemirror/addon/mode/simple"
6196
- var simple_ = __webpack_require__(60);
6989
+ var simple_ = __webpack_require__(61);
6197
6990
 
6198
6991
  // EXTERNAL MODULE: external "codemirror/addon/mode/multiplex"
6199
- var multiplex_ = __webpack_require__(61);
6992
+ var multiplex_ = __webpack_require__(62);
6200
6993
 
6201
6994
  // CONCATENATED MODULE: ./src/components/formula/src/codeMirror.js
6202
6995
  function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == typeof value && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator.return && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, catch: function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
@@ -6273,9 +7066,9 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
6273
7066
  methods: {
6274
7067
  setValue: function setValue(value) {
6275
7068
  var doc = this.editor.getDoc();
6276
- if (value && value !== doc.getValue()) {
7069
+ if (value !== doc.getValue()) {
6277
7070
  var cursor = doc.getCursor();
6278
- doc.setValue(value);
7071
+ doc.setValue(value || "");
6279
7072
  doc.setCursor(cursor);
6280
7073
  }
6281
7074
  },
@@ -6415,11 +7208,11 @@ function funcList_extends() { funcList_extends = Object.assign ? Object.assign.b
6415
7208
  }
6416
7209
  });
6417
7210
  // EXTERNAL MODULE: external "element-ui/lib/tree"
6418
- var tree_ = __webpack_require__(51);
7211
+ var tree_ = __webpack_require__(54);
6419
7212
  var tree_default = /*#__PURE__*/__webpack_require__.n(tree_);
6420
7213
 
6421
7214
  // EXTERNAL MODULE: external "element-ui/lib/badge"
6422
- var badge_ = __webpack_require__(52);
7215
+ var badge_ = __webpack_require__(55);
6423
7216
  var badge_default = /*#__PURE__*/__webpack_require__.n(badge_);
6424
7217
 
6425
7218
  // CONCATENATED MODULE: ./src/components/formula/src/variableList.js
@@ -6459,6 +7252,12 @@ var badge_default = /*#__PURE__*/__webpack_require__.n(badge_);
6459
7252
  filterVars: []
6460
7253
  };
6461
7254
  },
7255
+ watch: {
7256
+ data: function data(value) {
7257
+ this.searchVal = null;
7258
+ this.filterVars = value;
7259
+ }
7260
+ },
6462
7261
  created: function created() {
6463
7262
  this.filterVars = this.data || [];
6464
7263
  },
@@ -6507,7 +7306,7 @@ var badge_default = /*#__PURE__*/__webpack_require__.n(badge_);
6507
7306
  "attrs": {
6508
7307
  "value": "self"
6509
7308
  }
6510
- }, [h("label", [data.label])]), data.label && (!this.selfVariableName || data.value !== this.selfVariableName) && h("label", [data.label]), data.tag ? h("span", {
7309
+ }, [h("label", [data.label])]), data.label && (!this.selfVariableName || data.value !== this.selfVariableName) && h("label", [data.label]), data.label && data.tag ? h("span", {
6511
7310
  "class": this.classPrefix + "-item-tag"
6512
7311
  }, [data.tag]) : null]);
6513
7312
  },
@@ -6606,32 +7405,12 @@ var badge_default = /*#__PURE__*/__webpack_require__.n(badge_);
6606
7405
  "class": ["FormulaEditor-VariableList", this.selectMode && "FormulaEditor-VariableList-" + this.selectMode, this.className]
6607
7406
  }, [this.selectMode === 'tabs' ? this.renderTab(h) : this.renderContent(h)]);
6608
7407
  }
6609
- });
6610
- // CONCATENATED MODULE: ./src/components/formula/src/plugin.js
6611
- /**
6612
- * @file 扩展 codemirror
6613
- */
7408
+ });
7409
+ // CONCATENATED MODULE: ./src/components/formula/src/plugin.js
6614
7410
 
6615
7411
  /**
6616
- * 遍历树
6617
- * @param tree
6618
- * @param iterator
7412
+ * @file 扩展 codemirror
6619
7413
  */
6620
- function plugin_eachTree(tree, iterator, level, paths) {
6621
- if (level === void 0) {
6622
- level = 1;
6623
- }
6624
- if (paths === void 0) {
6625
- paths = [];
6626
- }
6627
- tree.map(function (item, index) {
6628
- var currentPath = paths.concat(item);
6629
- iterator(item, index, level, currentPath);
6630
- if (item.children && item.children.splice) {
6631
- plugin_eachTree(item.children, iterator, level + 1, currentPath);
6632
- }
6633
- });
6634
- }
6635
7414
  function replaceStrByIndex(str, idx, key, replaceKey) {
6636
7415
  var from = str.slice(0, idx);
6637
7416
  var left = str.slice(idx);
@@ -6649,20 +7428,29 @@ function plugin_editorFactory(dom, cm, props) {
6649
7428
  mode: props && props.evalMode ? 'text/formula' : 'text/formula-template'
6650
7429
  });
6651
7430
  }
6652
- var FormulaPlugin = /*#__PURE__*/function () {
7431
+ var plugin_FormulaPlugin = /*#__PURE__*/function () {
6653
7432
  function FormulaPlugin(editor, cm, getProps) {
7433
+ var _this = this;
6654
7434
  this.editor = editor;
6655
7435
  this.cm = cm;
6656
7436
  this.getProps = getProps;
6657
- // editor.on('change', this.autoMarkText);
7437
+ editor.on('change', function (editorDom) {
7438
+ //处理第一次初始化
7439
+ var val = editorDom.getDoc().getValue();
7440
+ var _this$getProps = _this.getProps(),
7441
+ value = _this$getProps.value;
7442
+ if (val == value) {
7443
+ _this.autoMarkText();
7444
+ }
7445
+ });
6658
7446
  this.autoMarkText();
6659
7447
  }
6660
7448
  var _proto = FormulaPlugin.prototype;
6661
7449
  _proto.autoMarkText = function autoMarkText() {
6662
- var _this$getProps = this.getProps(),
6663
- functions = _this$getProps.functions,
6664
- variables = _this$getProps.variables,
6665
- value = _this$getProps.value;
7450
+ var _this$getProps2 = this.getProps(),
7451
+ functions = _this$getProps2.functions,
7452
+ variables = _this$getProps2.variables,
7453
+ value = _this$getProps2.value;
6666
7454
  if (value) {
6667
7455
  // todo functions 也需要自动替换
6668
7456
  this.autoMark(variables);
@@ -6732,8 +7520,8 @@ var FormulaPlugin = /*#__PURE__*/function () {
6732
7520
  };
6733
7521
  _proto.insertContent = function insertContent(value, type) {
6734
7522
  var from = this.editor.getCursor();
6735
- var _this$getProps2 = this.getProps(),
6736
- evalMode = _this$getProps2.evalMode;
7523
+ var _this$getProps3 = this.getProps(),
7524
+ evalMode = _this$getProps3.evalMode;
6737
7525
  if (type === 'variable') {
6738
7526
  this.editor.replaceSelection(value.key);
6739
7527
  var to = this.editor.getCursor();
@@ -6775,12 +7563,12 @@ var FormulaPlugin = /*#__PURE__*/function () {
6775
7563
  });
6776
7564
  };
6777
7565
  _proto.autoMark = function autoMark(variables) {
6778
- var _this = this;
7566
+ var _this2 = this;
6779
7567
  if (!Array.isArray(variables) || !variables.length) {
6780
7568
  return;
6781
7569
  }
6782
7570
  var varMap = {};
6783
- plugin_eachTree(variables, function (item) {
7571
+ eachTree(variables, function (item) {
6784
7572
  if (item.value) {
6785
7573
  varMap[item.value] = item.label;
6786
7574
  }
@@ -6790,14 +7578,14 @@ var FormulaPlugin = /*#__PURE__*/function () {
6790
7578
  });
6791
7579
  var editor = this.editor;
6792
7580
  var lines = editor.lineCount();
6793
- var _this$getProps3 = this.getProps(),
6794
- _this$getProps3$evalM = _this$getProps3.evalMode,
6795
- evalMode = _this$getProps3$evalM === void 0 ? true : _this$getProps3$evalM;
7581
+ var _this$getProps4 = this.getProps(),
7582
+ _this$getProps4$evalM = _this$getProps4.evalMode,
7583
+ evalMode = _this$getProps4$evalM === void 0 ? true : _this$getProps4$evalM;
6796
7584
  var _loop = function _loop(line) {
6797
7585
  var content = editor.getLine(line);
6798
7586
  // 标记方法调用
6799
7587
  content.replace(/([A-Z]+)\s*\(/g, function (_, func, pos) {
6800
- _this.markText({
7588
+ _this2.markText({
6801
7589
  line: line,
6802
7590
  ch: pos
6803
7591
  }, {
@@ -6815,7 +7603,7 @@ var FormulaPlugin = /*#__PURE__*/function () {
6815
7603
  var encode = replaceStrByIndex(content, idx, v, REPLACE_KEY);
6816
7604
  var reg = getRegExpByMode(evalMode, REPLACE_KEY);
6817
7605
  if (reg.test(encode)) {
6818
- _this.markText({
7606
+ _this2.markText({
6819
7607
  line: line,
6820
7608
  ch: idx
6821
7609
  }, {
@@ -6853,7 +7641,6 @@ function registerLaunguageMode(cm) {
6853
7641
  cm.defineMode('formula', function (config, parserConfig) {
6854
7642
  var formula = cm.getMode(config, 'javascript');
6855
7643
  if (!parserConfig || !parserConfig.base) return formula;
6856
- debugger;
6857
7644
  return cm.multiplexingMode(cm.getMode(config, parserConfig.base), {
6858
7645
  open: '${',
6859
7646
  close: '}',
@@ -8412,7 +9199,7 @@ function registerLaunguageMode(cm) {
8412
9199
  namespace: "其他"
8413
9200
  }]);
8414
9201
  // EXTERNAL MODULE: external "element-ui/lib/message"
8415
- var message_ = __webpack_require__(53);
9202
+ var message_ = __webpack_require__(56);
8416
9203
  var message_default = /*#__PURE__*/__webpack_require__.n(message_);
8417
9204
 
8418
9205
  // CONCATENATED MODULE: ./src/components/formula/src/index.js
@@ -8425,6 +9212,8 @@ var message_default = /*#__PURE__*/__webpack_require__.n(message_);
8425
9212
 
8426
9213
 
8427
9214
 
9215
+
9216
+
8428
9217
  /* harmony default export */ var formula_src = ({
8429
9218
  name: "Formula",
8430
9219
  componentName: "Formula",
@@ -8490,7 +9279,7 @@ var message_default = /*#__PURE__*/__webpack_require__.n(message_);
8490
9279
  },
8491
9280
  handleEditorMounted: function handleEditorMounted(cm, editor) {
8492
9281
  var _this = this;
8493
- this.editorPlugin = new FormulaPlugin(editor, cm, function () {
9282
+ this.editorPlugin = new plugin_FormulaPlugin(editor, cm, function () {
8494
9283
  return _this.$props;
8495
9284
  });
8496
9285
  },
@@ -8524,6 +9313,7 @@ var message_default = /*#__PURE__*/__webpack_require__.n(message_);
8524
9313
  }, 'variable');
8525
9314
  },
8526
9315
  handleChange: function handleChange(value) {
9316
+ this.$emit("input", value);
8527
9317
  this.$emit("change", value);
8528
9318
  },
8529
9319
  handleFocus: function handleFocus() {
@@ -8537,6 +9327,74 @@ var message_default = /*#__PURE__*/__webpack_require__.n(message_);
8537
9327
  value: "name",
8538
9328
  label: "名称"
8539
9329
  });
9330
+ },
9331
+ validate: function validate() {
9332
+ var value = this.value;
9333
+ try {
9334
+ value ? Object(formula_["parse"])(value, {
9335
+ evalMode: this.evalMode
9336
+ }) : null;
9337
+ } catch (e) {
9338
+ return "\u516C\u5F0F\u503C\u6821\u9A8C\u9519\u8BEF\uFF0C\u9519\u8BEF\u7684\u4F4D\u7F6E/\u539F\u56E0\u662F " + e.message;
9339
+ }
9340
+ return;
9341
+ },
9342
+ replaceStrByIndex: function replaceStrByIndex(str, idx, key, replaceKey) {
9343
+ var from = str.slice(0, idx);
9344
+ var left = str.slice(idx);
9345
+ return from + left.replace(key, replaceKey);
9346
+ },
9347
+ getRegExpByMode: function getRegExpByMode(evalMode, key) {
9348
+ var reg = evalMode ? "\\b" + key + "\\b" : "\\$\\{[^\\{\\}]*\\b" + key + "\\b[^\\{\\}]*\\}";
9349
+ return new RegExp(reg);
9350
+ },
9351
+ highlightValue: function highlightValue(value, variables, evalMode) {
9352
+ var _this2 = this;
9353
+ if (evalMode === void 0) {
9354
+ evalMode = true;
9355
+ }
9356
+ if (!Array.isArray(variables) || !variables.length || !value) {
9357
+ return;
9358
+ }
9359
+ var varMap = {};
9360
+ eachTree(variables, function (item) {
9361
+ if (item.value) {
9362
+ var key = item.value;
9363
+ varMap[key] = item.label;
9364
+ }
9365
+ });
9366
+ var vars = Object.keys(varMap).filter(function (item) {
9367
+ return item;
9368
+ }).sort(function (a, b) {
9369
+ return b.length - a.length;
9370
+ });
9371
+ var content = value || '';
9372
+ var html = '';
9373
+
9374
+ // 标记方法调用
9375
+ html = content.replace(/([A-Z]+)\s*\(/g, function (_, func, pos) {
9376
+ return _ && _.replace(func, "<span class=\"c-func\">" + func + "</span>");
9377
+ });
9378
+ var REPLACE_KEY = 'AMIS_FORMULA_REPLACE_KEY';
9379
+ vars.forEach(function (v) {
9380
+ var from = 0;
9381
+ var idx = -1;
9382
+ while (~(idx = content.indexOf(v, from))) {
9383
+ var encodeHtml = _this2.replaceStrByIndex(html, idx, v, REPLACE_KEY);
9384
+ var reg = _this2.getRegExpByMode(evalMode, REPLACE_KEY);
9385
+
9386
+ // 如果匹配到则高亮,没有匹配到替换成原值
9387
+ if (reg.test(encodeHtml)) {
9388
+ html = encodeHtml.replace(REPLACE_KEY, "<span class=\"c-field\">" + varMap[v] + "</span>");
9389
+ } else {
9390
+ html = encodeHtml.replace(REPLACE_KEY, v);
9391
+ }
9392
+ from = idx + v.length;
9393
+ }
9394
+ });
9395
+ return {
9396
+ html: html
9397
+ };
8540
9398
  }
8541
9399
  },
8542
9400
  beforeDestroy: function beforeDestroy() {
@@ -8721,15 +9579,15 @@ srcvue_type_template_id_6ea89ba6_render._withStripped = true
8721
9579
  // CONCATENATED MODULE: ./src/components/dialog/src/index.vue?vue&type=template&id=6ea89ba6&
8722
9580
 
8723
9581
  // EXTERNAL MODULE: external "element-ui/src/utils/popup"
8724
- var popup_ = __webpack_require__(54);
9582
+ var popup_ = __webpack_require__(17);
8725
9583
  var popup_default = /*#__PURE__*/__webpack_require__.n(popup_);
8726
9584
 
8727
9585
  // EXTERNAL MODULE: external "element-ui/src/mixins/migrating"
8728
- var migrating_ = __webpack_require__(55);
9586
+ var migrating_ = __webpack_require__(57);
8729
9587
  var migrating_default = /*#__PURE__*/__webpack_require__.n(migrating_);
8730
9588
 
8731
9589
  // EXTERNAL MODULE: external "element-ui/src/mixins/emitter"
8732
- var emitter_ = __webpack_require__(56);
9590
+ var emitter_ = __webpack_require__(18);
8733
9591
  var emitter_default = /*#__PURE__*/__webpack_require__.n(emitter_);
8734
9592
 
8735
9593
  // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/dialog/src/index.vue?vue&type=script&lang=js&
@@ -8925,6 +9783,323 @@ dialog_src.install = function (Vue) {
8925
9783
  Vue.component(dialog_src.name, dialog_src);
8926
9784
  };
8927
9785
  /* harmony default export */ var dialog = (dialog_src);
9786
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--5!./node_modules/vue-loader/lib??vue-loader-options!./src/components/drawer/src/index.vue?vue&type=template&id=6565c780&
9787
+ var srcvue_type_template_id_6565c780_render = function render() {
9788
+ var _vm = this,
9789
+ _c = _vm._self._c
9790
+ return _c(
9791
+ "transition",
9792
+ {
9793
+ attrs: { name: "el-drawer-fade" },
9794
+ on: { "after-enter": _vm.afterEnter, "after-leave": _vm.afterLeave },
9795
+ },
9796
+ [
9797
+ _c(
9798
+ "div",
9799
+ {
9800
+ directives: [
9801
+ {
9802
+ name: "show",
9803
+ rawName: "v-show",
9804
+ value: _vm.visible,
9805
+ expression: "visible",
9806
+ },
9807
+ ],
9808
+ staticClass: "el-drawer__wrapper",
9809
+ attrs: { tabindex: "-1" },
9810
+ },
9811
+ [
9812
+ _c(
9813
+ "div",
9814
+ {
9815
+ staticClass: "el-drawer__container",
9816
+ class: _vm.visible && "el-drawer__open",
9817
+ attrs: { role: "document", tabindex: "-1" },
9818
+ on: {
9819
+ click: function ($event) {
9820
+ if ($event.target !== $event.currentTarget) return null
9821
+ return _vm.handleWrapperClick.apply(null, arguments)
9822
+ },
9823
+ },
9824
+ },
9825
+ [
9826
+ _c(
9827
+ "div",
9828
+ {
9829
+ ref: "drawer",
9830
+ staticClass: "el-drawer drawer",
9831
+ class: [_vm.direction, _vm.customClass],
9832
+ style: _vm.isHorizontal
9833
+ ? `width: ${_vm.drawerSize}`
9834
+ : `height: ${_vm.drawerSize}`,
9835
+ attrs: {
9836
+ "aria-modal": "true",
9837
+ "aria-labelledby": "el-drawer__title",
9838
+ "aria-label": _vm.title,
9839
+ role: "dialog",
9840
+ tabindex: "-1",
9841
+ },
9842
+ },
9843
+ [
9844
+ _vm.withHeader
9845
+ ? _c(
9846
+ "header",
9847
+ {
9848
+ staticClass: "el-drawer__header",
9849
+ attrs: { id: "el-drawer__title" },
9850
+ },
9851
+ [
9852
+ _vm._t("title", function () {
9853
+ return [
9854
+ _c(
9855
+ "span",
9856
+ {
9857
+ attrs: { role: "heading", title: _vm.title },
9858
+ },
9859
+ [_vm._v(_vm._s(_vm.title))]
9860
+ ),
9861
+ ]
9862
+ }),
9863
+ _vm.showClose
9864
+ ? _c(
9865
+ "button",
9866
+ {
9867
+ staticClass: "el-drawer__close-btn",
9868
+ attrs: {
9869
+ "aria-label": `close ${
9870
+ _vm.title || "drawer"
9871
+ }`,
9872
+ type: "button",
9873
+ },
9874
+ on: { click: _vm.closeDrawer },
9875
+ },
9876
+ [
9877
+ _c("i", {
9878
+ staticClass:
9879
+ "el-dialog__close el-icon el-icon-close",
9880
+ }),
9881
+ ]
9882
+ )
9883
+ : _vm._e(),
9884
+ ],
9885
+ 2
9886
+ )
9887
+ : _vm._e(),
9888
+ _vm.rendered
9889
+ ? _c(
9890
+ "section",
9891
+ { staticClass: "el-drawer__body" },
9892
+ [_vm._t("default")],
9893
+ 2
9894
+ )
9895
+ : _vm._e(),
9896
+ _vm.$slots.footer
9897
+ ? _c(
9898
+ "footer",
9899
+ { staticClass: "el-drawer__footer" },
9900
+ [_vm._t("footer")],
9901
+ 2
9902
+ )
9903
+ : _vm._e(),
9904
+ ]
9905
+ ),
9906
+ ]
9907
+ ),
9908
+ ]
9909
+ ),
9910
+ ]
9911
+ )
9912
+ }
9913
+ var srcvue_type_template_id_6565c780_staticRenderFns = []
9914
+ srcvue_type_template_id_6565c780_render._withStripped = true
9915
+
9916
+
9917
+ // CONCATENATED MODULE: ./src/components/drawer/src/index.vue?vue&type=template&id=6565c780&
9918
+
9919
+ // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/drawer/src/index.vue?vue&type=script&lang=js&
9920
+
9921
+
9922
+ /* harmony default export */ var drawer_srcvue_type_script_lang_js_ = ({
9923
+ name: 'Drawer',
9924
+ mixins: [popup_default.a, emitter_default.a],
9925
+ props: {
9926
+ appendToBody: {
9927
+ type: Boolean,
9928
+ default: true
9929
+ },
9930
+ beforeClose: {
9931
+ type: Function
9932
+ },
9933
+ customClass: {
9934
+ type: String,
9935
+ default: ''
9936
+ },
9937
+ closeOnPressEscape: {
9938
+ type: Boolean,
9939
+ default: true
9940
+ },
9941
+ destroyOnClose: {
9942
+ type: Boolean,
9943
+ default: false
9944
+ },
9945
+ modal: {
9946
+ type: Boolean,
9947
+ default: true
9948
+ },
9949
+ direction: {
9950
+ type: String,
9951
+ default: 'rtl',
9952
+ validator: function validator(val) {
9953
+ return ['ltr', 'rtl', 'ttb', 'btt'].indexOf(val) !== -1;
9954
+ }
9955
+ },
9956
+ modalAppendToBody: {
9957
+ type: Boolean,
9958
+ default: true
9959
+ },
9960
+ showClose: {
9961
+ type: Boolean,
9962
+ default: true
9963
+ },
9964
+ size: {
9965
+ type: [Number, String],
9966
+ default: '30%'
9967
+ },
9968
+ title: {
9969
+ type: String,
9970
+ default: ''
9971
+ },
9972
+ visible: {
9973
+ type: Boolean
9974
+ },
9975
+ wrapperClosable: {
9976
+ type: Boolean,
9977
+ default: true
9978
+ },
9979
+ withHeader: {
9980
+ type: Boolean,
9981
+ default: true
9982
+ }
9983
+ },
9984
+ computed: {
9985
+ isHorizontal: function isHorizontal() {
9986
+ return this.direction === 'rtl' || this.direction === 'ltr';
9987
+ },
9988
+ drawerSize: function drawerSize() {
9989
+ return typeof this.size === 'number' ? this.size + "px" : this.size;
9990
+ }
9991
+ },
9992
+ data: function data() {
9993
+ return {
9994
+ closed: false,
9995
+ prevActiveElement: null
9996
+ };
9997
+ },
9998
+ watch: {
9999
+ visible: function visible(val) {
10000
+ var _this = this;
10001
+ if (val) {
10002
+ this.closed = false;
10003
+ this.$emit('open');
10004
+ if (this.appendToBody) {
10005
+ document.body.appendChild(this.$el);
10006
+ }
10007
+ this.prevActiveElement = document.activeElement;
10008
+ } else {
10009
+ if (!this.closed) {
10010
+ this.$emit('close');
10011
+ if (this.destroyOnClose === true) {
10012
+ this.rendered = false;
10013
+ }
10014
+ }
10015
+ this.$nextTick(function () {
10016
+ if (_this.prevActiveElement) {
10017
+ _this.prevActiveElement.focus();
10018
+ }
10019
+ });
10020
+ }
10021
+ }
10022
+ },
10023
+ methods: {
10024
+ afterEnter: function afterEnter() {
10025
+ this.$emit('opened');
10026
+ },
10027
+ afterLeave: function afterLeave() {
10028
+ this.$emit('closed');
10029
+ },
10030
+ hide: function hide(cancel) {
10031
+ if (cancel !== false) {
10032
+ this.$emit('update:visible', false);
10033
+ this.$emit('close');
10034
+ if (this.destroyOnClose === true) {
10035
+ this.rendered = false;
10036
+ }
10037
+ this.closed = true;
10038
+ }
10039
+ },
10040
+ handleWrapperClick: function handleWrapperClick() {
10041
+ if (this.wrapperClosable) {
10042
+ this.closeDrawer();
10043
+ }
10044
+ },
10045
+ closeDrawer: function closeDrawer() {
10046
+ if (typeof this.beforeClose === 'function') {
10047
+ this.beforeClose(this.hide);
10048
+ } else {
10049
+ this.hide();
10050
+ }
10051
+ },
10052
+ handleClose: function handleClose() {
10053
+ // This method here will be called by PopupManger, when the `closeOnPressEscape` was set to true
10054
+ // pressing `ESC` will call this method, and also close the drawer.
10055
+ // This method also calls `beforeClose` if there was one.
10056
+ this.closeDrawer();
10057
+ }
10058
+ },
10059
+ mounted: function mounted() {
10060
+ if (this.visible) {
10061
+ this.rendered = true;
10062
+ this.open();
10063
+ if (this.appendToBody) {
10064
+ document.body.appendChild(this.$el);
10065
+ }
10066
+ }
10067
+ },
10068
+ destroyed: function destroyed() {
10069
+ // if appendToBody is true, remove DOM node after destroy
10070
+ if (this.appendToBody && this.$el && this.$el.parentNode) {
10071
+ this.$el.parentNode.removeChild(this.$el);
10072
+ }
10073
+ }
10074
+ });
10075
+ // CONCATENATED MODULE: ./src/components/drawer/src/index.vue?vue&type=script&lang=js&
10076
+ /* harmony default export */ var components_drawer_srcvue_type_script_lang_js_ = (drawer_srcvue_type_script_lang_js_);
10077
+ // CONCATENATED MODULE: ./src/components/drawer/src/index.vue
10078
+
10079
+
10080
+
10081
+
10082
+
10083
+ /* normalize component */
10084
+
10085
+ var drawer_src_component = normalizeComponent(
10086
+ components_drawer_srcvue_type_script_lang_js_,
10087
+ srcvue_type_template_id_6565c780_render,
10088
+ srcvue_type_template_id_6565c780_staticRenderFns,
10089
+ false,
10090
+ null,
10091
+ null,
10092
+ null
10093
+
10094
+ )
10095
+
10096
+ /* harmony default export */ var drawer_src = (drawer_src_component.exports);
10097
+ // CONCATENATED MODULE: ./src/components/drawer/index.js
10098
+
10099
+ drawer_src.install = function (Vue) {
10100
+ Vue.component(drawer_src.name, drawer_src);
10101
+ };
10102
+ /* harmony default export */ var drawer = (drawer_src);
8928
10103
  // CONCATENATED MODULE: ./src/index.js
8929
10104
 
8930
10105
 
@@ -8941,7 +10116,10 @@ dialog_src.install = function (Vue) {
8941
10116
 
8942
10117
 
8943
10118
 
8944
- var components = [components_form, components_form_input, components_form_item, form_group, form_dialog, form_view, form_view_group, form_view_dialog, components_table, components_table_column, table_search, table_editable, crud, formula, dialog];
10119
+
10120
+
10121
+
10122
+ var components = [components_form, components_form_input, components_form_item, form_group, form_dialog, form_drawer, form_view, form_view_group, form_view_dialog, components_table, components_table_column, table_search, table_editable, table_operate, crud, formula, dialog, drawer];
8945
10123
  var install = function install(Vue, opts) {
8946
10124
  if (opts === void 0) {
8947
10125
  opts = {};
@@ -8968,6 +10146,7 @@ if (typeof window !== 'undefined' && window.Vue) {
8968
10146
  FormItem: components_form_item,
8969
10147
  FormGroup: form_group,
8970
10148
  FormDialog: form_dialog,
10149
+ FormDrawer: form_drawer,
8971
10150
  FormView: form_view,
8972
10151
  FormViewGroup: form_view_group,
8973
10152
  FormViewDialog: form_view_dialog,
@@ -8975,9 +10154,11 @@ if (typeof window !== 'undefined' && window.Vue) {
8975
10154
  TableColumn: components_table_column,
8976
10155
  TableSearch: table_search,
8977
10156
  TableEditable: table_editable,
10157
+ TableOperate: table_operate,
8978
10158
  Crud: crud,
8979
10159
  Formula: formula,
8980
- Dialog: dialog
10160
+ Dialog: dialog,
10161
+ Drawer: drawer
8981
10162
  });
8982
10163
 
8983
10164
  /***/ })