@panpanzhao/component-ui 0.0.9 → 0.0.12

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 = 75);
85
+ /******/ return __webpack_require__(__webpack_require__.s = 76);
86
86
  /******/ })
87
87
  /************************************************************************/
88
88
  /******/ ([
@@ -199,59 +199,29 @@ function normalizeComponent(
199
199
  /* 2 */
200
200
  /***/ (function(module, exports) {
201
201
 
202
- module.exports = require("@panpanzhao/component-ui/lib/utils/formula");
202
+ module.exports = require("lodash");
203
203
 
204
204
  /***/ }),
205
205
  /* 3 */
206
206
  /***/ (function(module, exports) {
207
207
 
208
- module.exports = require("lodash");
208
+ module.exports = require("@panpanzhao/component-ui/lib/utils/formula");
209
209
 
210
210
  /***/ }),
211
211
  /* 4 */
212
- /***/ (function(module, exports) {
213
-
214
- module.exports = require("element-ui/lib/button");
215
-
216
- /***/ }),
217
- /* 5 */
218
- /***/ (function(module, exports) {
219
-
220
- module.exports = require("element-ui/lib/tabs");
221
-
222
- /***/ }),
223
- /* 6 */
224
- /***/ (function(module, exports) {
225
-
226
- module.exports = require("element-ui/lib/tab-pane");
227
-
228
- /***/ }),
229
- /* 7 */
230
- /***/ (function(module, exports) {
231
-
232
- module.exports = require("element-ui/lib/collapse");
233
-
234
- /***/ }),
235
- /* 8 */
236
- /***/ (function(module, exports) {
237
-
238
- module.exports = require("element-ui/lib/collapse-item");
239
-
240
- /***/ }),
241
- /* 9 */
242
212
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
243
213
 
244
214
  "use strict";
245
215
  // ESM COMPAT FLAG
246
216
  __webpack_require__.r(__webpack_exports__);
247
217
 
248
- // 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&
218
+ // 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=dfeb985e&
249
219
  var render = function render() {
250
220
  var _vm = this,
251
221
  _c = _vm._self._c
252
222
  return _c(
253
223
  "div",
254
- { staticClass: "form" },
224
+ { class: ["form", { "is-full": _vm.isFull }] },
255
225
  [
256
226
  _vm._t("default", function () {
257
227
  return [
@@ -270,7 +240,10 @@ var render = function render() {
270
240
  return [
271
241
  _c(
272
242
  "el-col",
273
- { key: item.prop, attrs: { span: item.span } },
243
+ {
244
+ key: item.prop,
245
+ attrs: { span: item.span || _vm.span },
246
+ },
274
247
  [
275
248
  _c(
276
249
  "form-item",
@@ -313,26 +286,29 @@ var staticRenderFns = []
313
286
  render._withStripped = true
314
287
 
315
288
 
316
- // CONCATENATED MODULE: ./src/components/form/src/form.vue?vue&type=template&id=42f43bc0&
289
+ // CONCATENATED MODULE: ./src/components/form/src/form.vue?vue&type=template&id=dfeb985e&
317
290
 
318
291
  // EXTERNAL MODULE: external "element-ui/lib/form"
319
- var form_ = __webpack_require__(13);
292
+ var form_ = __webpack_require__(12);
320
293
  var form_default = /*#__PURE__*/__webpack_require__.n(form_);
321
294
 
322
295
  // EXTERNAL MODULE: external "element-ui/lib/row"
323
- var row_ = __webpack_require__(14);
296
+ var row_ = __webpack_require__(13);
324
297
  var row_default = /*#__PURE__*/__webpack_require__.n(row_);
325
298
 
326
299
  // EXTERNAL MODULE: external "element-ui/lib/col"
327
- var col_ = __webpack_require__(15);
300
+ var col_ = __webpack_require__(14);
328
301
  var col_default = /*#__PURE__*/__webpack_require__.n(col_);
329
302
 
330
303
  // EXTERNAL MODULE: external "@panpanzhao/component-ui/lib/components/form-item"
331
- var form_item_ = __webpack_require__(16);
304
+ var form_item_ = __webpack_require__(15);
332
305
  var form_item_default = /*#__PURE__*/__webpack_require__.n(form_item_);
333
306
 
334
307
  // EXTERNAL MODULE: external "@panpanzhao/component-ui/lib/utils/formula"
335
- var formula_ = __webpack_require__(2);
308
+ var formula_ = __webpack_require__(3);
309
+
310
+ // EXTERNAL MODULE: external "lodash"
311
+ var external_lodash_ = __webpack_require__(2);
336
312
 
337
313
  // 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&
338
314
 
@@ -340,6 +316,7 @@ var formula_ = __webpack_require__(2);
340
316
 
341
317
 
342
318
 
319
+
343
320
  /* harmony default export */ var formvue_type_script_lang_js_ = ({
344
321
  name: "Form",
345
322
  componentName: "Form",
@@ -355,7 +332,12 @@ var formula_ = __webpack_require__(2);
355
332
  };
356
333
  },
357
334
  props: {
335
+ isFull: {
336
+ type: Boolean,
337
+ default: true
338
+ },
358
339
  prop: String,
340
+ span: Number,
359
341
  formItems: {
360
342
  type: Array,
361
343
  default: function _default() {
@@ -402,11 +384,14 @@ var formula_ = __webpack_require__(2);
402
384
  }
403
385
  if (typeof item.show === "function" && !item.show.call(_this, {
404
386
  form: _this,
387
+ formModel: _this.formModel,
405
388
  config: item
406
389
  })) {
407
390
  return false;
408
391
  }
409
- if (typeof item.show === "string" && !Object(formula_["evaluate"])(item.show, _this.formModel)) {
392
+ if (typeof item.show === "string" && !Object(formula_["evaluate"])(item.show, _this.formModel, {
393
+ evalMode: true
394
+ })) {
410
395
  return false;
411
396
  }
412
397
  return true;
@@ -426,6 +411,7 @@ var formula_ = __webpack_require__(2);
426
411
  data: function data() {
427
412
  return {
428
413
  defaultModel: {},
414
+ //默认值存储
429
415
  formItemLayout: {}
430
416
  };
431
417
  },
@@ -433,9 +419,34 @@ var formula_ = __webpack_require__(2);
433
419
  var _this2 = this;
434
420
  this.formItems.forEach(function (item) {
435
421
  _this2.formItemLayout[item.prop] = item;
422
+ if (typeof item.value === "function") {
423
+ item.value = item.value.call(_this2);
424
+ }
436
425
  _this2.defaultModel[item.prop] = item.value;
437
- //初始化数据值
438
- _this2.$set(_this2.formModel, item.prop, item.value || null);
426
+ //初始化值处理
427
+ var formVal = Object(external_lodash_["get"])(_this2.formModel, item.prop);
428
+ if (typeof formVal === 'undefined') {
429
+ //初始化数据值
430
+ if (item.prop && item.prop.indexOf(".") != -1) {
431
+ //循环设置值
432
+ var keyArr = item.prop.split('.');
433
+ var tempObj = _this2.formModel;
434
+ keyArr.forEach(function (key, index) {
435
+ if (index < keyArr.length - 1) {
436
+ if (typeof tempObj[key] === 'undefined') {
437
+ _this2.$set(tempObj, key, {});
438
+ }
439
+ tempObj = tempObj[key];
440
+ } else {
441
+ _this2.$set(tempObj, key, item.value || null);
442
+ }
443
+ });
444
+ } else {
445
+ _this2.$set(_this2.formModel, item.prop, item.value || null);
446
+ }
447
+ } else {
448
+ item.value = formVal;
449
+ }
439
450
  });
440
451
  },
441
452
  methods: {
@@ -445,6 +456,9 @@ var formula_ = __webpack_require__(2);
445
456
  validateField: function validateField(props, callback) {
446
457
  return this.$refs.form.validateField(props, callback);
447
458
  },
459
+ reset: function reset() {
460
+ this.resetFields();
461
+ },
448
462
  resetFields: function resetFields() {
449
463
  for (var key in this.defaultModel) {
450
464
  if (this.formItemLayout[key]) {
@@ -500,6 +514,36 @@ src_form.install = function (Vue) {
500
514
  };
501
515
  /* harmony default export */ var components_form = __webpack_exports__["default"] = (src_form);
502
516
 
517
+ /***/ }),
518
+ /* 5 */
519
+ /***/ (function(module, exports) {
520
+
521
+ module.exports = require("element-ui/lib/button");
522
+
523
+ /***/ }),
524
+ /* 6 */
525
+ /***/ (function(module, exports) {
526
+
527
+ module.exports = require("element-ui/lib/tabs");
528
+
529
+ /***/ }),
530
+ /* 7 */
531
+ /***/ (function(module, exports) {
532
+
533
+ module.exports = require("element-ui/lib/tab-pane");
534
+
535
+ /***/ }),
536
+ /* 8 */
537
+ /***/ (function(module, exports) {
538
+
539
+ module.exports = require("element-ui/lib/collapse");
540
+
541
+ /***/ }),
542
+ /* 9 */
543
+ /***/ (function(module, exports) {
544
+
545
+ module.exports = require("element-ui/lib/collapse-item");
546
+
503
547
  /***/ }),
504
548
  /* 10 */
505
549
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -508,7 +552,7 @@ src_form.install = function (Vue) {
508
552
  // ESM COMPAT FLAG
509
553
  __webpack_require__.r(__webpack_exports__);
510
554
 
511
- // 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&
555
+ // 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&
512
556
  var render = function render() {
513
557
  var _vm = this,
514
558
  _c = _vm._self._c
@@ -555,21 +599,21 @@ var staticRenderFns = []
555
599
  render._withStripped = true
556
600
 
557
601
 
558
- // CONCATENATED MODULE: ./src/components/form-view/src/index.vue?vue&type=template&id=1df6f53d&
602
+ // CONCATENATED MODULE: ./src/components/form-view/src/index.vue?vue&type=template&id=720bd4fc&
559
603
 
560
604
  // EXTERNAL MODULE: external "element-ui/lib/descriptions"
561
- var descriptions_ = __webpack_require__(17);
605
+ var descriptions_ = __webpack_require__(18);
562
606
  var descriptions_default = /*#__PURE__*/__webpack_require__.n(descriptions_);
563
607
 
564
608
  // EXTERNAL MODULE: external "element-ui/lib/descriptions-item"
565
- var descriptions_item_ = __webpack_require__(18);
609
+ var descriptions_item_ = __webpack_require__(19);
566
610
  var descriptions_item_default = /*#__PURE__*/__webpack_require__.n(descriptions_item_);
567
611
 
568
612
  // EXTERNAL MODULE: external "@panpanzhao/component-ui/lib/utils/formula"
569
- var formula_ = __webpack_require__(2);
613
+ var formula_ = __webpack_require__(3);
570
614
 
571
615
  // EXTERNAL MODULE: external "lodash"
572
- var external_lodash_ = __webpack_require__(3);
616
+ var external_lodash_ = __webpack_require__(2);
573
617
 
574
618
  // 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&
575
619
 
@@ -626,7 +670,9 @@ var external_lodash_ = __webpack_require__(3);
626
670
  })) {
627
671
  return false;
628
672
  }
629
- if (typeof item.show === "string" && !Object(formula_["evaluate"])(item.show, _this.formModel)) {
673
+ if (typeof item.show === "string" && !Object(formula_["evaluate"])(item.show, _this.formModel, {
674
+ evalMode: true
675
+ })) {
630
676
  return false;
631
677
  }
632
678
  return true;
@@ -685,52 +731,37 @@ src.install = function (Vue) {
685
731
  /* harmony default export */ var form_view = __webpack_exports__["default"] = (src);
686
732
 
687
733
  /***/ }),
688
- /* 11 */,
689
- /* 12 */
734
+ /* 11 */
690
735
  /***/ (function(module, exports) {
691
736
 
692
737
  module.exports = require("@panpanzhao/component-ui/lib/components/dialog");
693
738
 
694
739
  /***/ }),
695
- /* 13 */
740
+ /* 12 */
696
741
  /***/ (function(module, exports) {
697
742
 
698
743
  module.exports = require("element-ui/lib/form");
699
744
 
700
745
  /***/ }),
701
- /* 14 */
746
+ /* 13 */
702
747
  /***/ (function(module, exports) {
703
748
 
704
749
  module.exports = require("element-ui/lib/row");
705
750
 
706
751
  /***/ }),
707
- /* 15 */
752
+ /* 14 */
708
753
  /***/ (function(module, exports) {
709
754
 
710
755
  module.exports = require("element-ui/lib/col");
711
756
 
712
757
  /***/ }),
713
- /* 16 */
758
+ /* 15 */
714
759
  /***/ (function(module, exports) {
715
760
 
716
761
  module.exports = require("@panpanzhao/component-ui/lib/components/form-item");
717
762
 
718
763
  /***/ }),
719
- /* 17 */
720
- /***/ (function(module, exports) {
721
-
722
- module.exports = require("element-ui/lib/descriptions");
723
-
724
- /***/ }),
725
- /* 18 */
726
- /***/ (function(module, exports) {
727
-
728
- module.exports = require("element-ui/lib/descriptions-item");
729
-
730
- /***/ }),
731
- /* 19 */,
732
- /* 20 */,
733
- /* 21 */
764
+ /* 16 */
734
765
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
735
766
 
736
767
  "use strict";
@@ -742,7 +773,7 @@ var babel_helper_vue_jsx_merge_props_ = __webpack_require__(0);
742
773
  var babel_helper_vue_jsx_merge_props_default = /*#__PURE__*/__webpack_require__.n(babel_helper_vue_jsx_merge_props_);
743
774
 
744
775
  // EXTERNAL MODULE: ./src/components/form/index.js + 5 modules
745
- var components_form = __webpack_require__(9);
776
+ var components_form = __webpack_require__(4);
746
777
 
747
778
  // CONCATENATED MODULE: ./src/components/form-group/src/content.js
748
779
 
@@ -805,7 +836,7 @@ var components_form = __webpack_require__(9);
805
836
  }
806
837
  },
807
838
  render: function render(h) {
808
- if (this.slots.form) {
839
+ if (this.slots && this.slots.form) {
809
840
  var vForm = typeof this.slots.form === "function" ? this.slots.form.call(this, h) : this.slots.form;
810
841
  return vForm;
811
842
  }
@@ -824,19 +855,19 @@ var components_form = __webpack_require__(9);
824
855
  }
825
856
  });
826
857
  // EXTERNAL MODULE: external "element-ui/lib/tabs"
827
- var tabs_ = __webpack_require__(5);
858
+ var tabs_ = __webpack_require__(6);
828
859
  var tabs_default = /*#__PURE__*/__webpack_require__.n(tabs_);
829
860
 
830
861
  // EXTERNAL MODULE: external "element-ui/lib/tab-pane"
831
- var tab_pane_ = __webpack_require__(6);
862
+ var tab_pane_ = __webpack_require__(7);
832
863
  var tab_pane_default = /*#__PURE__*/__webpack_require__.n(tab_pane_);
833
864
 
834
865
  // EXTERNAL MODULE: external "element-ui/lib/collapse"
835
- var collapse_ = __webpack_require__(7);
866
+ var collapse_ = __webpack_require__(8);
836
867
  var collapse_default = /*#__PURE__*/__webpack_require__.n(collapse_);
837
868
 
838
869
  // EXTERNAL MODULE: external "element-ui/lib/collapse-item"
839
- var collapse_item_ = __webpack_require__(8);
870
+ var collapse_item_ = __webpack_require__(9);
840
871
  var collapse_item_default = /*#__PURE__*/__webpack_require__.n(collapse_item_);
841
872
 
842
873
  // CONCATENATED MODULE: ./src/components/form-group/src/index.js
@@ -1090,7 +1121,21 @@ src.install = function (Vue) {
1090
1121
  /* harmony default export */ var form_group = __webpack_exports__["default"] = (src);
1091
1122
 
1092
1123
  /***/ }),
1093
- /* 22 */
1124
+ /* 17 */,
1125
+ /* 18 */
1126
+ /***/ (function(module, exports) {
1127
+
1128
+ module.exports = require("element-ui/lib/descriptions");
1129
+
1130
+ /***/ }),
1131
+ /* 19 */
1132
+ /***/ (function(module, exports) {
1133
+
1134
+ module.exports = require("element-ui/lib/descriptions-item");
1135
+
1136
+ /***/ }),
1137
+ /* 20 */,
1138
+ /* 21 */
1094
1139
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1095
1140
 
1096
1141
  "use strict";
@@ -1165,23 +1210,23 @@ var form_view = __webpack_require__(10);
1165
1210
  }
1166
1211
  });
1167
1212
  // EXTERNAL MODULE: external "element-ui/lib/tabs"
1168
- var tabs_ = __webpack_require__(5);
1213
+ var tabs_ = __webpack_require__(6);
1169
1214
  var tabs_default = /*#__PURE__*/__webpack_require__.n(tabs_);
1170
1215
 
1171
1216
  // EXTERNAL MODULE: external "element-ui/lib/tab-pane"
1172
- var tab_pane_ = __webpack_require__(6);
1217
+ var tab_pane_ = __webpack_require__(7);
1173
1218
  var tab_pane_default = /*#__PURE__*/__webpack_require__.n(tab_pane_);
1174
1219
 
1175
1220
  // EXTERNAL MODULE: external "element-ui/lib/collapse"
1176
- var collapse_ = __webpack_require__(7);
1221
+ var collapse_ = __webpack_require__(8);
1177
1222
  var collapse_default = /*#__PURE__*/__webpack_require__.n(collapse_);
1178
1223
 
1179
1224
  // EXTERNAL MODULE: external "element-ui/lib/collapse-item"
1180
- var collapse_item_ = __webpack_require__(8);
1225
+ var collapse_item_ = __webpack_require__(9);
1181
1226
  var collapse_item_default = /*#__PURE__*/__webpack_require__.n(collapse_item_);
1182
1227
 
1183
1228
  // EXTERNAL MODULE: external "lodash"
1184
- var external_lodash_ = __webpack_require__(3);
1229
+ var external_lodash_ = __webpack_require__(2);
1185
1230
 
1186
1231
  // CONCATENATED MODULE: ./src/components/form-view-group/src/index.js
1187
1232
 
@@ -1341,11 +1386,8 @@ src.install = function (Vue) {
1341
1386
  /* harmony default export */ var form_view_group = __webpack_exports__["default"] = (src);
1342
1387
 
1343
1388
  /***/ }),
1344
- /* 23 */,
1345
- /* 24 */,
1346
- /* 25 */,
1347
- /* 26 */,
1348
- /* 27 */
1389
+ /* 22 */,
1390
+ /* 23 */
1349
1391
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1350
1392
 
1351
1393
  "use strict";
@@ -1357,24 +1399,24 @@ var babel_helper_vue_jsx_merge_props_ = __webpack_require__(0);
1357
1399
  var babel_helper_vue_jsx_merge_props_default = /*#__PURE__*/__webpack_require__.n(babel_helper_vue_jsx_merge_props_);
1358
1400
 
1359
1401
  // EXTERNAL MODULE: external "@panpanzhao/component-ui/lib/components/dialog"
1360
- var dialog_ = __webpack_require__(12);
1402
+ var dialog_ = __webpack_require__(11);
1361
1403
  var dialog_default = /*#__PURE__*/__webpack_require__.n(dialog_);
1362
1404
 
1363
1405
  // EXTERNAL MODULE: external "element-ui/lib/button"
1364
- var button_ = __webpack_require__(4);
1406
+ var button_ = __webpack_require__(5);
1365
1407
  var button_default = /*#__PURE__*/__webpack_require__.n(button_);
1366
1408
 
1367
1409
  // EXTERNAL MODULE: ./src/components/form/index.js + 5 modules
1368
- var components_form = __webpack_require__(9);
1410
+ var components_form = __webpack_require__(4);
1369
1411
 
1370
1412
  // EXTERNAL MODULE: ./src/components/form-group/index.js + 2 modules
1371
- var form_group = __webpack_require__(21);
1413
+ var form_group = __webpack_require__(16);
1372
1414
 
1373
1415
  // EXTERNAL MODULE: external "@panpanzhao/component-ui/lib/utils/formula"
1374
- var formula_ = __webpack_require__(2);
1416
+ var formula_ = __webpack_require__(3);
1375
1417
 
1376
1418
  // EXTERNAL MODULE: external "lodash"
1377
- var external_lodash_ = __webpack_require__(3);
1419
+ var external_lodash_ = __webpack_require__(2);
1378
1420
 
1379
1421
  // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-dialog/src/index.vue?vue&type=script&lang=js&
1380
1422
 
@@ -1452,6 +1494,7 @@ var external_lodash_ = __webpack_require__(3);
1452
1494
  }
1453
1495
  },
1454
1496
  props: {
1497
+ request: Function,
1455
1498
  dialog: {
1456
1499
  type: Object,
1457
1500
  default: function _default() {
@@ -1464,6 +1507,10 @@ var external_lodash_ = __webpack_require__(3);
1464
1507
  }
1465
1508
  },
1466
1509
  formMode: String,
1510
+ noApiClose: {
1511
+ type: Boolean,
1512
+ default: true
1513
+ },
1467
1514
  api: {
1468
1515
  type: Object,
1469
1516
  default: function _default() {
@@ -1494,6 +1541,7 @@ var external_lodash_ = __webpack_require__(3);
1494
1541
  return {
1495
1542
  show: false,
1496
1543
  formModel: {},
1544
+ expandModel: null,
1497
1545
  defaultTools: [{
1498
1546
  label: this.dialog.cancelButtonText || "取消",
1499
1547
  type: this.confirmButtonType,
@@ -1512,13 +1560,20 @@ var external_lodash_ = __webpack_require__(3);
1512
1560
  };
1513
1561
  },
1514
1562
  computed: {
1515
- request: function request() {
1516
- return this.api.request || (this.$COMPONENT || {}).request;
1563
+ requester: function requester() {
1564
+ return this.api.request || this.request || (this.$COMPONENT || {}).request;
1517
1565
  }
1518
1566
  },
1519
1567
  methods: {
1520
- open: function open() {
1568
+ open: function open(model, expandModel) {
1569
+ var _this2 = this;
1521
1570
  this.show = true;
1571
+ this.expandModel = expandModel;
1572
+ if (model) {
1573
+ this.$nextTick(function () {
1574
+ _this2.setFormModel(model);
1575
+ });
1576
+ }
1522
1577
  },
1523
1578
  close: function close() {
1524
1579
  this.show = false;
@@ -1526,35 +1581,69 @@ var external_lodash_ = __webpack_require__(3);
1526
1581
  setFormModel: function setFormModel(model) {
1527
1582
  Object(external_lodash_["merge"])(this.formModel, model);
1528
1583
  },
1584
+ reset: function reset() {
1585
+ this.$refs.form && this.$refs.form.reset();
1586
+ },
1587
+ closed: function closed() {
1588
+ this.reset();
1589
+ this.show = false;
1590
+ },
1529
1591
  submit: function submit(button) {
1530
- var _this2 = this;
1531
- if (!(this.api && this.request)) {
1532
- return false;
1533
- }
1592
+ var _this3 = this;
1534
1593
  this.$refs.form.validate(function (isValidate, errorMessage) {
1535
1594
  if (!isValidate) {
1536
1595
  return false;
1537
1596
  }
1597
+ var reqData = Object(external_lodash_["merge"])(_this3.api.data || {}, _this3.formModel);
1598
+ if (typeof _this3.api.before === "function") {
1599
+ reqData = _this3.api.before.call(_this3, reqData);
1600
+ }
1601
+ if (!(_this3.api.url && _this3.requester)) {
1602
+ if (_this3.noApiClose) {
1603
+ _this3.reset();
1604
+ _this3.show = false;
1605
+ }
1606
+ _this3.$emit("success", {
1607
+ request: _this3.requester,
1608
+ reqData: reqData,
1609
+ expandData: _this3.expandModel
1610
+ }, {
1611
+ button: button
1612
+ });
1613
+ return false;
1614
+ }
1538
1615
  button.loading = true;
1539
- var reqData = Object.assign(_this2.api.data, _this2.formModel);
1540
- _this2.request({
1541
- url: Object(formula_["evaluate"])(_this2.api.url, reqData),
1542
- method: _this2.api.method || "POST",
1616
+ _this3.requester({
1617
+ url: Object(formula_["evaluate"])(_this3.api.url, reqData),
1618
+ method: _this3.api.method || "POST",
1619
+ headers: _this3.api.headers,
1543
1620
  data: reqData
1544
1621
  }).then(function (res) {
1545
1622
  button.loading = false;
1546
- _this2.close();
1547
- _this2.$emit("success", res);
1623
+ _this3.reset();
1624
+ _this3.show = false;
1625
+ _this3.$emit("success", {
1626
+ request: _this3.requester,
1627
+ reqData: reqData,
1628
+ resData: res,
1629
+ expandData: _this3.expandModel
1630
+ });
1548
1631
  }).catch(function (error) {
1549
1632
  button.loading = false;
1550
- _this2.$emit("error", error);
1633
+ _this3.$emit("error", {
1634
+ request: _this3.requester,
1635
+ reqData: reqData,
1636
+ resError: error,
1637
+ expandData: _this3.expandModel
1638
+ });
1551
1639
  });
1552
1640
  });
1553
1641
  },
1554
1642
  renderForm: function renderForm(h) {
1555
1643
  var param = {
1556
1644
  attrs: Object.assign({
1557
- formModel: this.formModel
1645
+ formModel: this.formModel,
1646
+ request: this.request
1558
1647
  }, this.form)
1559
1648
  };
1560
1649
  if (this.formMode === "group") {
@@ -1586,7 +1675,7 @@ var external_lodash_ = __webpack_require__(3);
1586
1675
  }
1587
1676
  },
1588
1677
  render: function render(h) {
1589
- var _this3 = this;
1678
+ var _this4 = this;
1590
1679
  var param = {
1591
1680
  attrs: Object.assign({
1592
1681
  visible: this.show,
@@ -1595,7 +1684,8 @@ var external_lodash_ = __webpack_require__(3);
1595
1684
  }, this.dialog),
1596
1685
  on: Object.assign(this.on, {
1597
1686
  close: function close() {
1598
- _this3.close();
1687
+ _this4.reset();
1688
+ _this4.show = false;
1599
1689
  }
1600
1690
  })
1601
1691
  };
@@ -1641,7 +1731,7 @@ src.install = function (Vue) {
1641
1731
  /* harmony default export */ var form_dialog = __webpack_exports__["default"] = (src);
1642
1732
 
1643
1733
  /***/ }),
1644
- /* 28 */
1734
+ /* 24 */
1645
1735
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1646
1736
 
1647
1737
  "use strict";
@@ -1653,24 +1743,21 @@ var babel_helper_vue_jsx_merge_props_ = __webpack_require__(0);
1653
1743
  var babel_helper_vue_jsx_merge_props_default = /*#__PURE__*/__webpack_require__.n(babel_helper_vue_jsx_merge_props_);
1654
1744
 
1655
1745
  // EXTERNAL MODULE: external "@panpanzhao/component-ui/lib/components/dialog"
1656
- var dialog_ = __webpack_require__(12);
1746
+ var dialog_ = __webpack_require__(11);
1657
1747
  var dialog_default = /*#__PURE__*/__webpack_require__.n(dialog_);
1658
1748
 
1659
1749
  // EXTERNAL MODULE: external "element-ui/lib/button"
1660
- var button_ = __webpack_require__(4);
1750
+ var button_ = __webpack_require__(5);
1661
1751
  var button_default = /*#__PURE__*/__webpack_require__.n(button_);
1662
1752
 
1663
1753
  // EXTERNAL MODULE: ./src/components/form-view/index.js + 5 modules
1664
1754
  var form_view = __webpack_require__(10);
1665
1755
 
1666
1756
  // EXTERNAL MODULE: ./src/components/form-view-group/index.js + 2 modules
1667
- var form_view_group = __webpack_require__(22);
1668
-
1669
- // EXTERNAL MODULE: external "@panpanzhao/component-ui/lib/utils/formula"
1670
- var formula_ = __webpack_require__(2);
1757
+ var form_view_group = __webpack_require__(21);
1671
1758
 
1672
1759
  // EXTERNAL MODULE: external "lodash"
1673
- var external_lodash_ = __webpack_require__(3);
1760
+ var external_lodash_ = __webpack_require__(2);
1674
1761
 
1675
1762
  // CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-view-dialog/src/index.vue?vue&type=script&lang=js&
1676
1763
 
@@ -1683,7 +1770,6 @@ var external_lodash_ = __webpack_require__(3);
1683
1770
 
1684
1771
 
1685
1772
 
1686
-
1687
1773
  /* harmony default export */ var srcvue_type_script_lang_js_ = ({
1688
1774
  name: "FormViewDialog",
1689
1775
  componentName: "FormViewDialog",
@@ -1902,8 +1988,22 @@ src.install = function (Vue) {
1902
1988
  /* harmony default export */ var form_view_dialog = __webpack_exports__["default"] = (src);
1903
1989
 
1904
1990
  /***/ }),
1991
+ /* 25 */,
1992
+ /* 26 */,
1993
+ /* 27 */
1994
+ /***/ (function(module, exports) {
1995
+
1996
+ module.exports = require("@panpanzhao/component-ui/lib/components/table-search");
1997
+
1998
+ /***/ }),
1999
+ /* 28 */,
1905
2000
  /* 29 */,
1906
- /* 30 */,
2001
+ /* 30 */
2002
+ /***/ (function(module, exports) {
2003
+
2004
+ module.exports = require("element-ui/lib/message-box");
2005
+
2006
+ /***/ }),
1907
2007
  /* 31 */,
1908
2008
  /* 32 */,
1909
2009
  /* 33 */,
@@ -1930,18 +2030,8 @@ src.install = function (Vue) {
1930
2030
  /* 54 */,
1931
2031
  /* 55 */,
1932
2032
  /* 56 */,
1933
- /* 57 */
1934
- /***/ (function(module, exports) {
1935
-
1936
- module.exports = require("@panpanzhao/component-ui/lib/components/table-search");
1937
-
1938
- /***/ }),
1939
- /* 58 */
1940
- /***/ (function(module, exports) {
1941
-
1942
- module.exports = require("element-ui/lib/message-box");
1943
-
1944
- /***/ }),
2033
+ /* 57 */,
2034
+ /* 58 */,
1945
2035
  /* 59 */,
1946
2036
  /* 60 */,
1947
2037
  /* 61 */,
@@ -1958,14 +2048,15 @@ module.exports = require("element-ui/lib/message-box");
1958
2048
  /* 72 */,
1959
2049
  /* 73 */,
1960
2050
  /* 74 */,
1961
- /* 75 */
2051
+ /* 75 */,
2052
+ /* 76 */
1962
2053
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1963
2054
 
1964
2055
  "use strict";
1965
2056
  // ESM COMPAT FLAG
1966
2057
  __webpack_require__.r(__webpack_exports__);
1967
2058
 
1968
- // 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&
2059
+ // 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=34fe6a3b&
1969
2060
  var render = function render() {
1970
2061
  var _vm = this,
1971
2062
  _c = _vm._self._c
@@ -1975,7 +2066,12 @@ var render = function render() {
1975
2066
  [
1976
2067
  _c(
1977
2068
  "TableSearch",
1978
- _vm._b({ ref: "table" }, "TableSearch", _vm.tableProps, false)
2069
+ _vm._b(
2070
+ { ref: "table", attrs: { request: _vm.request } },
2071
+ "TableSearch",
2072
+ _vm.tableProps,
2073
+ false
2074
+ )
1979
2075
  ),
1980
2076
  ],
1981
2077
  1
@@ -1986,22 +2082,28 @@ var render = function render() {
1986
2082
  _vm.create
1987
2083
  ? _c(
1988
2084
  "FormDialog",
1989
- _vm._b(
1990
- { ref: "createFormDialog" },
1991
- "FormDialog",
1992
- _vm.createProps,
1993
- false
2085
+ _vm._g(
2086
+ _vm._b(
2087
+ { ref: "createFormDialog", attrs: { request: _vm.request } },
2088
+ "FormDialog",
2089
+ _vm.createProps,
2090
+ false
2091
+ ),
2092
+ _vm.reloadTableEvent
1994
2093
  )
1995
2094
  )
1996
2095
  : _vm._e(),
1997
2096
  _vm.update
1998
2097
  ? _c(
1999
2098
  "FormDialog",
2000
- _vm._b(
2001
- { ref: "updateFormDialog" },
2002
- "FormDialog",
2003
- _vm.updateProps,
2004
- false
2099
+ _vm._g(
2100
+ _vm._b(
2101
+ { ref: "updateFormDialog", attrs: { request: _vm.request } },
2102
+ "FormDialog",
2103
+ _vm.updateProps,
2104
+ false
2105
+ ),
2106
+ _vm.reloadTableEvent
2005
2107
  )
2006
2108
  )
2007
2109
  : _vm._e(),
@@ -2009,7 +2111,7 @@ var render = function render() {
2009
2111
  ? _c(
2010
2112
  "FormViewDialog",
2011
2113
  _vm._b(
2012
- { ref: "viewFormDialog" },
2114
+ { ref: "viewFormDialog", attrs: { request: _vm.request } },
2013
2115
  "FormViewDialog",
2014
2116
  _vm.viewProps,
2015
2117
  false
@@ -2025,24 +2127,27 @@ var staticRenderFns = []
2025
2127
  render._withStripped = true
2026
2128
 
2027
2129
 
2028
- // CONCATENATED MODULE: ./src/components/crud/src/index.vue?vue&type=template&id=0fa8c191&
2130
+ // CONCATENATED MODULE: ./src/components/crud/src/index.vue?vue&type=template&id=34fe6a3b&
2029
2131
 
2030
2132
  // EXTERNAL MODULE: external "@panpanzhao/component-ui/lib/components/table-search"
2031
- var table_search_ = __webpack_require__(57);
2133
+ var table_search_ = __webpack_require__(27);
2032
2134
  var table_search_default = /*#__PURE__*/__webpack_require__.n(table_search_);
2033
2135
 
2034
2136
  // EXTERNAL MODULE: ./src/components/form-dialog/index.js + 3 modules
2035
- var form_dialog = __webpack_require__(27);
2137
+ var form_dialog = __webpack_require__(23);
2036
2138
 
2037
2139
  // EXTERNAL MODULE: ./src/components/form-view-dialog/index.js + 3 modules
2038
- var form_view_dialog = __webpack_require__(28);
2140
+ var form_view_dialog = __webpack_require__(24);
2039
2141
 
2040
2142
  // EXTERNAL MODULE: external "element-ui/lib/message-box"
2041
- var message_box_ = __webpack_require__(58);
2143
+ var message_box_ = __webpack_require__(30);
2042
2144
  var message_box_default = /*#__PURE__*/__webpack_require__.n(message_box_);
2043
2145
 
2044
2146
  // EXTERNAL MODULE: external "@panpanzhao/component-ui/lib/utils/formula"
2045
- var formula_ = __webpack_require__(2);
2147
+ var formula_ = __webpack_require__(3);
2148
+
2149
+ // EXTERNAL MODULE: external "lodash"
2150
+ var external_lodash_ = __webpack_require__(2);
2046
2151
 
2047
2152
  // 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&
2048
2153
 
@@ -2050,6 +2155,7 @@ var formula_ = __webpack_require__(2);
2050
2155
 
2051
2156
 
2052
2157
 
2158
+
2053
2159
  /* harmony default export */ var srcvue_type_script_lang_js_ = ({
2054
2160
  name: "CRUD",
2055
2161
  componentName: "CRUD",
@@ -2140,7 +2246,14 @@ var formula_ = __webpack_require__(2);
2140
2246
  }
2141
2247
  },
2142
2248
  data: function data() {
2143
- return {};
2249
+ var _this = this;
2250
+ return {
2251
+ reloadTableEvent: {
2252
+ success: function success() {
2253
+ _this.reloadTable();
2254
+ }
2255
+ }
2256
+ };
2144
2257
  },
2145
2258
  created: function created() {
2146
2259
  this.addTools();
@@ -2153,13 +2266,14 @@ var formula_ = __webpack_require__(2);
2153
2266
  tools.unshift(Object.assign({
2154
2267
  label: "添加",
2155
2268
  loading: false,
2269
+ sort: 10,
2156
2270
  on: {
2157
2271
  click: this.handleCreate
2158
2272
  }
2159
2273
  }, this.create.tool));
2160
2274
  this.table.tools = tools;
2161
2275
  }
2162
- //修改和删除按钮处理
2276
+ //修改,查看和删除按钮处理
2163
2277
  if (!(this.update || this.delete || this.view)) {
2164
2278
  return false;
2165
2279
  }
@@ -2169,32 +2283,35 @@ var formula_ = __webpack_require__(2);
2169
2283
  var optColumn = filterColumns && filterColumns[0];
2170
2284
  var items = optColumn && optColumn.items || [];
2171
2285
  if (this.update) {
2172
- items.unshift(Object.assign({
2286
+ items.push(Object.assign({
2173
2287
  label: "修改",
2174
2288
  loading: false,
2289
+ sort: 10,
2175
2290
  on: {
2176
2291
  click: this.handleUpdate
2177
2292
  }
2178
2293
  }, this.update.tool));
2179
2294
  }
2180
- if (this.delete) {
2181
- items.unshift(Object.assign({
2182
- label: "删除",
2183
- loading: false,
2184
- on: {
2185
- click: this.handleDelete
2186
- }
2187
- }, this.delete.tool));
2188
- }
2189
2295
  if (this.view) {
2190
- items.unshift(Object.assign({
2296
+ items.push(Object.assign({
2191
2297
  label: "查看",
2192
2298
  loading: false,
2299
+ sort: 20,
2193
2300
  on: {
2194
2301
  click: this.handleView
2195
2302
  }
2196
2303
  }, this.view.tool));
2197
2304
  }
2305
+ if (this.delete) {
2306
+ items.push(Object.assign({
2307
+ label: "删除",
2308
+ loading: false,
2309
+ sort: 30,
2310
+ on: {
2311
+ click: this.handleDelete
2312
+ }
2313
+ }, this.delete.tool));
2314
+ }
2198
2315
  if (optColumn) {
2199
2316
  optColumn.items = items;
2200
2317
  } else {
@@ -2209,62 +2326,120 @@ var formula_ = __webpack_require__(2);
2209
2326
  handleCreate: function handleCreate() {
2210
2327
  this.$refs.createFormDialog.open();
2211
2328
  },
2329
+ resetTable: function resetTable() {
2330
+ this.$refs.table.resetTable();
2331
+ },
2332
+ reloadTable: function reloadTable() {
2333
+ this.$refs.table.reloadTable();
2334
+ },
2335
+ getRequest: function getRequest(request) {
2336
+ if (request) {
2337
+ return request;
2338
+ }
2339
+ return this.request || (this.$COMPONENT || {}).request;
2340
+ },
2212
2341
  handleUpdate: function handleUpdate(rowProps, that) {
2213
- var _this = this;
2342
+ var _this2 = this;
2214
2343
  var rowData = rowProps.row;
2215
2344
  this.$refs.updateFormDialog.open();
2216
- if (this.update.detail) {
2217
- var request = this.update.detail.request || this.request;
2345
+ var detailApi = this.update.detail || {};
2346
+ var request = this.getRequest(detailApi.request);
2347
+ var reqData = Object(external_lodash_["merge"])(detailApi.data || {}, rowData);
2348
+ if (typeof detailApi.before === "function") {
2349
+ reqData = detailApi.before.call(this, reqData);
2350
+ }
2351
+ if (detailApi.url && request) {
2352
+ that.loading = true;
2218
2353
  request({
2219
- url: Object(formula_["evaluate"])(this.update.detail.url, rowData),
2220
- method: this.update.detail.method || "GET",
2221
- data: rowData
2354
+ url: Object(formula_["evaluate"])(detailApi.url, rowData),
2355
+ method: detailApi.method || "GET",
2356
+ data: reqData
2222
2357
  }).then(function (res) {
2223
- _this.$refs.updateFormDialog.setFormModel(res);
2224
- }).catch(function (error) {});
2358
+ that.loading = false;
2359
+ if (typeof detailApi.after === "function") {
2360
+ res = detailApi.after.call(_this2, res);
2361
+ }
2362
+ _this2.$refs.updateFormDialog.setFormModel(res);
2363
+ }).catch(function (error) {
2364
+ that.loading = false;
2365
+ });
2225
2366
  } else {
2226
2367
  this.$nextTick(function () {
2227
- _this.$refs.updateFormDialog.setFormModel(rowData);
2368
+ _this2.$refs.updateFormDialog.setFormModel(typeof detailApi.after === "function" ? detailApi.after.call(_this2, reqData) : reqData);
2228
2369
  });
2229
2370
  }
2230
2371
  },
2231
2372
  handleDelete: function handleDelete(rowProps, that) {
2232
- var _this2 = this;
2373
+ var _this3 = this;
2374
+ var deleteApi = this.delete.api;
2375
+ if (!deleteApi) {
2376
+ console.warn("缺少删除的配置");
2377
+ return false;
2378
+ }
2233
2379
  message_box_default.a.confirm("是否确定删除", '提示', {
2234
2380
  confirmButtonText: '确定',
2235
2381
  cancelButtonText: '取消',
2236
2382
  type: 'warning'
2237
2383
  }).then(function () {
2238
- var request = _this2.delete.api.request || _this2.request;
2239
- var rowData = rowProps.row;
2384
+ var request = _this3.getRequest(deleteApi.request);
2385
+ var reqData = Object(external_lodash_["merge"])(deleteApi.data || {}, rowProps.row);
2386
+ if (typeof deleteApi.before === "function") {
2387
+ reqData = deleteApi.before.call(_this3, reqData);
2388
+ }
2240
2389
  that.loading = true;
2241
2390
  request({
2242
- url: Object(formula_["evaluate"])(_this2.delete.api.url, rowData),
2243
- method: _this2.delete.api.method || "GET",
2244
- data: rowData
2391
+ url: Object(formula_["evaluate"])(deleteApi.url, reqData),
2392
+ method: deleteApi.method || "GET",
2393
+ data: reqData
2245
2394
  }).then(function (res) {
2246
2395
  that.loading = false;
2396
+ _this3.reloadTable();
2397
+ _this3.$emit("deleteSuccess", {
2398
+ request: request,
2399
+ reqData: reqData,
2400
+ resData: res
2401
+ });
2247
2402
  }).catch(function (error) {
2248
2403
  that.loading = false;
2404
+ _this3.$emit("deleteError", {
2405
+ request: request,
2406
+ reqData: reqData,
2407
+ resError: error
2408
+ });
2249
2409
  });
2250
2410
  }).catch(function () {});
2251
2411
  },
2252
2412
  handleView: function handleView(rowProps, that) {
2253
- var _this3 = this;
2413
+ var _this4 = this;
2254
2414
  var rowData = rowProps.row;
2255
2415
  this.$refs.viewFormDialog.open();
2256
- if (this.view.api) {
2257
- var request = this.view.api.request || this.request;
2416
+ var viewApi = this.view.api || {};
2417
+ var request = this.getRequest(viewApi.request);
2418
+ var reqData = Object(external_lodash_["merge"])(viewApi.data || {}, rowData);
2419
+ if (typeof viewApi.before === "function") {
2420
+ reqData = viewApi.before.call(this, reqData);
2421
+ }
2422
+ if (viewApi.url && request) {
2423
+ that.loading = true;
2258
2424
  request({
2259
- url: Object(formula_["evaluate"])(this.view.api.url, rowData),
2260
- method: this.view.api.method || "GET",
2261
- data: rowData
2425
+ url: Object(formula_["evaluate"])(viewApi.url, reqData),
2426
+ method: viewApi.method || "GET",
2427
+ data: reqData
2262
2428
  }).then(function (res) {
2263
- _this3.$refs.viewFormDialog.setFormModel(res);
2264
- }).catch(function (error) {});
2429
+ that.loading = false;
2430
+ if (typeof viewApi.after === "function") {
2431
+ res = viewApi.after.call(_this4, res);
2432
+ }
2433
+ _this4.$refs.viewFormDialog.setFormModel(res);
2434
+ }).catch(function (error) {
2435
+ that.loading = false;
2436
+ });
2265
2437
  } else {
2438
+ if (typeof viewApi.after === "function") {
2439
+ reqData = viewApi.after.call(this, reqData);
2440
+ }
2266
2441
  this.$nextTick(function () {
2267
- _this3.$refs.viewFormDialog.setFormModel(rowData);
2442
+ _this4.$refs.viewFormDialog.setFormModel(typeof viewApi.after === "function" ? viewApi.after.call(_this4, reqData) : reqData);
2268
2443
  });
2269
2444
  }
2270
2445
  }