@panpanzhao/component-ui 0.0.9 → 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 = 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=26d7095f&
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=26d7095f&
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
  },
@@ -434,8 +420,30 @@ var formula_ = __webpack_require__(2);
434
420
  this.formItems.forEach(function (item) {
435
421
  _this2.formItemLayout[item.prop] = item;
436
422
  _this2.defaultModel[item.prop] = item.value;
437
- //初始化数据值
438
- _this2.$set(_this2.formModel, item.prop, item.value || null);
423
+ //初始化值处理
424
+ var formVal = Object(external_lodash_["get"])(_this2.formModel, item.prop);
425
+ if (typeof formVal === 'undefined') {
426
+ //初始化数据值
427
+ if (item.prop && item.prop.indexOf(".") != -1) {
428
+ //循环设置值
429
+ var keyArr = item.prop.split('.');
430
+ var tempObj = _this2.formModel;
431
+ keyArr.forEach(function (key, index) {
432
+ if (index < keyArr.length - 1) {
433
+ if (typeof tempObj[key] === 'undefined') {
434
+ _this2.$set(tempObj, key, {});
435
+ }
436
+ tempObj = tempObj[key];
437
+ } else {
438
+ _this2.$set(tempObj, key, item.value || null);
439
+ }
440
+ });
441
+ } else {
442
+ _this2.$set(_this2.formModel, item.prop, item.value || null);
443
+ }
444
+ } else {
445
+ item.value = formVal;
446
+ }
439
447
  });
440
448
  },
441
449
  methods: {
@@ -445,6 +453,9 @@ var formula_ = __webpack_require__(2);
445
453
  validateField: function validateField(props, callback) {
446
454
  return this.$refs.form.validateField(props, callback);
447
455
  },
456
+ reset: function reset() {
457
+ this.resetFields();
458
+ },
448
459
  resetFields: function resetFields() {
449
460
  for (var key in this.defaultModel) {
450
461
  if (this.formItemLayout[key]) {
@@ -500,6 +511,36 @@ src_form.install = function (Vue) {
500
511
  };
501
512
  /* harmony default export */ var components_form = __webpack_exports__["default"] = (src_form);
502
513
 
514
+ /***/ }),
515
+ /* 5 */
516
+ /***/ (function(module, exports) {
517
+
518
+ module.exports = require("element-ui/lib/button");
519
+
520
+ /***/ }),
521
+ /* 6 */
522
+ /***/ (function(module, exports) {
523
+
524
+ module.exports = require("element-ui/lib/tabs");
525
+
526
+ /***/ }),
527
+ /* 7 */
528
+ /***/ (function(module, exports) {
529
+
530
+ module.exports = require("element-ui/lib/tab-pane");
531
+
532
+ /***/ }),
533
+ /* 8 */
534
+ /***/ (function(module, exports) {
535
+
536
+ module.exports = require("element-ui/lib/collapse");
537
+
538
+ /***/ }),
539
+ /* 9 */
540
+ /***/ (function(module, exports) {
541
+
542
+ module.exports = require("element-ui/lib/collapse-item");
543
+
503
544
  /***/ }),
504
545
  /* 10 */
505
546
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
@@ -508,7 +549,7 @@ src_form.install = function (Vue) {
508
549
  // ESM COMPAT FLAG
509
550
  __webpack_require__.r(__webpack_exports__);
510
551
 
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&
552
+ // 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
553
  var render = function render() {
513
554
  var _vm = this,
514
555
  _c = _vm._self._c
@@ -555,21 +596,21 @@ var staticRenderFns = []
555
596
  render._withStripped = true
556
597
 
557
598
 
558
- // CONCATENATED MODULE: ./src/components/form-view/src/index.vue?vue&type=template&id=1df6f53d&
599
+ // CONCATENATED MODULE: ./src/components/form-view/src/index.vue?vue&type=template&id=720bd4fc&
559
600
 
560
601
  // EXTERNAL MODULE: external "element-ui/lib/descriptions"
561
- var descriptions_ = __webpack_require__(17);
602
+ var descriptions_ = __webpack_require__(18);
562
603
  var descriptions_default = /*#__PURE__*/__webpack_require__.n(descriptions_);
563
604
 
564
605
  // EXTERNAL MODULE: external "element-ui/lib/descriptions-item"
565
- var descriptions_item_ = __webpack_require__(18);
606
+ var descriptions_item_ = __webpack_require__(19);
566
607
  var descriptions_item_default = /*#__PURE__*/__webpack_require__.n(descriptions_item_);
567
608
 
568
609
  // EXTERNAL MODULE: external "@panpanzhao/component-ui/lib/utils/formula"
569
- var formula_ = __webpack_require__(2);
610
+ var formula_ = __webpack_require__(3);
570
611
 
571
612
  // EXTERNAL MODULE: external "lodash"
572
- var external_lodash_ = __webpack_require__(3);
613
+ var external_lodash_ = __webpack_require__(2);
573
614
 
574
615
  // 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
616
 
@@ -626,7 +667,9 @@ var external_lodash_ = __webpack_require__(3);
626
667
  })) {
627
668
  return false;
628
669
  }
629
- if (typeof item.show === "string" && !Object(formula_["evaluate"])(item.show, _this.formModel)) {
670
+ if (typeof item.show === "string" && !Object(formula_["evaluate"])(item.show, _this.formModel, {
671
+ evalMode: true
672
+ })) {
630
673
  return false;
631
674
  }
632
675
  return true;
@@ -685,52 +728,37 @@ src.install = function (Vue) {
685
728
  /* harmony default export */ var form_view = __webpack_exports__["default"] = (src);
686
729
 
687
730
  /***/ }),
688
- /* 11 */,
689
- /* 12 */
731
+ /* 11 */
690
732
  /***/ (function(module, exports) {
691
733
 
692
734
  module.exports = require("@panpanzhao/component-ui/lib/components/dialog");
693
735
 
694
736
  /***/ }),
695
- /* 13 */
737
+ /* 12 */
696
738
  /***/ (function(module, exports) {
697
739
 
698
740
  module.exports = require("element-ui/lib/form");
699
741
 
700
742
  /***/ }),
701
- /* 14 */
743
+ /* 13 */
702
744
  /***/ (function(module, exports) {
703
745
 
704
746
  module.exports = require("element-ui/lib/row");
705
747
 
706
748
  /***/ }),
707
- /* 15 */
749
+ /* 14 */
708
750
  /***/ (function(module, exports) {
709
751
 
710
752
  module.exports = require("element-ui/lib/col");
711
753
 
712
754
  /***/ }),
713
- /* 16 */
755
+ /* 15 */
714
756
  /***/ (function(module, exports) {
715
757
 
716
758
  module.exports = require("@panpanzhao/component-ui/lib/components/form-item");
717
759
 
718
760
  /***/ }),
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 */
761
+ /* 16 */
734
762
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
735
763
 
736
764
  "use strict";
@@ -742,7 +770,7 @@ var babel_helper_vue_jsx_merge_props_ = __webpack_require__(0);
742
770
  var babel_helper_vue_jsx_merge_props_default = /*#__PURE__*/__webpack_require__.n(babel_helper_vue_jsx_merge_props_);
743
771
 
744
772
  // EXTERNAL MODULE: ./src/components/form/index.js + 5 modules
745
- var components_form = __webpack_require__(9);
773
+ var components_form = __webpack_require__(4);
746
774
 
747
775
  // CONCATENATED MODULE: ./src/components/form-group/src/content.js
748
776
 
@@ -805,7 +833,7 @@ var components_form = __webpack_require__(9);
805
833
  }
806
834
  },
807
835
  render: function render(h) {
808
- if (this.slots.form) {
836
+ if (this.slots && this.slots.form) {
809
837
  var vForm = typeof this.slots.form === "function" ? this.slots.form.call(this, h) : this.slots.form;
810
838
  return vForm;
811
839
  }
@@ -824,19 +852,19 @@ var components_form = __webpack_require__(9);
824
852
  }
825
853
  });
826
854
  // EXTERNAL MODULE: external "element-ui/lib/tabs"
827
- var tabs_ = __webpack_require__(5);
855
+ var tabs_ = __webpack_require__(6);
828
856
  var tabs_default = /*#__PURE__*/__webpack_require__.n(tabs_);
829
857
 
830
858
  // EXTERNAL MODULE: external "element-ui/lib/tab-pane"
831
- var tab_pane_ = __webpack_require__(6);
859
+ var tab_pane_ = __webpack_require__(7);
832
860
  var tab_pane_default = /*#__PURE__*/__webpack_require__.n(tab_pane_);
833
861
 
834
862
  // EXTERNAL MODULE: external "element-ui/lib/collapse"
835
- var collapse_ = __webpack_require__(7);
863
+ var collapse_ = __webpack_require__(8);
836
864
  var collapse_default = /*#__PURE__*/__webpack_require__.n(collapse_);
837
865
 
838
866
  // EXTERNAL MODULE: external "element-ui/lib/collapse-item"
839
- var collapse_item_ = __webpack_require__(8);
867
+ var collapse_item_ = __webpack_require__(9);
840
868
  var collapse_item_default = /*#__PURE__*/__webpack_require__.n(collapse_item_);
841
869
 
842
870
  // CONCATENATED MODULE: ./src/components/form-group/src/index.js
@@ -1090,7 +1118,21 @@ src.install = function (Vue) {
1090
1118
  /* harmony default export */ var form_group = __webpack_exports__["default"] = (src);
1091
1119
 
1092
1120
  /***/ }),
1093
- /* 22 */
1121
+ /* 17 */,
1122
+ /* 18 */
1123
+ /***/ (function(module, exports) {
1124
+
1125
+ module.exports = require("element-ui/lib/descriptions");
1126
+
1127
+ /***/ }),
1128
+ /* 19 */
1129
+ /***/ (function(module, exports) {
1130
+
1131
+ module.exports = require("element-ui/lib/descriptions-item");
1132
+
1133
+ /***/ }),
1134
+ /* 20 */,
1135
+ /* 21 */
1094
1136
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1095
1137
 
1096
1138
  "use strict";
@@ -1165,23 +1207,23 @@ var form_view = __webpack_require__(10);
1165
1207
  }
1166
1208
  });
1167
1209
  // EXTERNAL MODULE: external "element-ui/lib/tabs"
1168
- var tabs_ = __webpack_require__(5);
1210
+ var tabs_ = __webpack_require__(6);
1169
1211
  var tabs_default = /*#__PURE__*/__webpack_require__.n(tabs_);
1170
1212
 
1171
1213
  // EXTERNAL MODULE: external "element-ui/lib/tab-pane"
1172
- var tab_pane_ = __webpack_require__(6);
1214
+ var tab_pane_ = __webpack_require__(7);
1173
1215
  var tab_pane_default = /*#__PURE__*/__webpack_require__.n(tab_pane_);
1174
1216
 
1175
1217
  // EXTERNAL MODULE: external "element-ui/lib/collapse"
1176
- var collapse_ = __webpack_require__(7);
1218
+ var collapse_ = __webpack_require__(8);
1177
1219
  var collapse_default = /*#__PURE__*/__webpack_require__.n(collapse_);
1178
1220
 
1179
1221
  // EXTERNAL MODULE: external "element-ui/lib/collapse-item"
1180
- var collapse_item_ = __webpack_require__(8);
1222
+ var collapse_item_ = __webpack_require__(9);
1181
1223
  var collapse_item_default = /*#__PURE__*/__webpack_require__.n(collapse_item_);
1182
1224
 
1183
1225
  // EXTERNAL MODULE: external "lodash"
1184
- var external_lodash_ = __webpack_require__(3);
1226
+ var external_lodash_ = __webpack_require__(2);
1185
1227
 
1186
1228
  // CONCATENATED MODULE: ./src/components/form-view-group/src/index.js
1187
1229
 
@@ -1341,11 +1383,8 @@ src.install = function (Vue) {
1341
1383
  /* harmony default export */ var form_view_group = __webpack_exports__["default"] = (src);
1342
1384
 
1343
1385
  /***/ }),
1344
- /* 23 */,
1345
- /* 24 */,
1346
- /* 25 */,
1347
- /* 26 */,
1348
- /* 27 */
1386
+ /* 22 */,
1387
+ /* 23 */
1349
1388
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1350
1389
 
1351
1390
  "use strict";
@@ -1357,24 +1396,24 @@ var babel_helper_vue_jsx_merge_props_ = __webpack_require__(0);
1357
1396
  var babel_helper_vue_jsx_merge_props_default = /*#__PURE__*/__webpack_require__.n(babel_helper_vue_jsx_merge_props_);
1358
1397
 
1359
1398
  // EXTERNAL MODULE: external "@panpanzhao/component-ui/lib/components/dialog"
1360
- var dialog_ = __webpack_require__(12);
1399
+ var dialog_ = __webpack_require__(11);
1361
1400
  var dialog_default = /*#__PURE__*/__webpack_require__.n(dialog_);
1362
1401
 
1363
1402
  // EXTERNAL MODULE: external "element-ui/lib/button"
1364
- var button_ = __webpack_require__(4);
1403
+ var button_ = __webpack_require__(5);
1365
1404
  var button_default = /*#__PURE__*/__webpack_require__.n(button_);
1366
1405
 
1367
1406
  // EXTERNAL MODULE: ./src/components/form/index.js + 5 modules
1368
- var components_form = __webpack_require__(9);
1407
+ var components_form = __webpack_require__(4);
1369
1408
 
1370
1409
  // EXTERNAL MODULE: ./src/components/form-group/index.js + 2 modules
1371
- var form_group = __webpack_require__(21);
1410
+ var form_group = __webpack_require__(16);
1372
1411
 
1373
1412
  // EXTERNAL MODULE: external "@panpanzhao/component-ui/lib/utils/formula"
1374
- var formula_ = __webpack_require__(2);
1413
+ var formula_ = __webpack_require__(3);
1375
1414
 
1376
1415
  // EXTERNAL MODULE: external "lodash"
1377
- var external_lodash_ = __webpack_require__(3);
1416
+ var external_lodash_ = __webpack_require__(2);
1378
1417
 
1379
1418
  // 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
1419
 
@@ -1452,6 +1491,7 @@ var external_lodash_ = __webpack_require__(3);
1452
1491
  }
1453
1492
  },
1454
1493
  props: {
1494
+ request: Function,
1455
1495
  dialog: {
1456
1496
  type: Object,
1457
1497
  default: function _default() {
@@ -1512,13 +1552,16 @@ var external_lodash_ = __webpack_require__(3);
1512
1552
  };
1513
1553
  },
1514
1554
  computed: {
1515
- request: function request() {
1516
- return this.api.request || (this.$COMPONENT || {}).request;
1555
+ requester: function requester() {
1556
+ return this.api.request || this.request || (this.$COMPONENT || {}).request;
1517
1557
  }
1518
1558
  },
1519
1559
  methods: {
1520
- open: function open() {
1560
+ open: function open(model) {
1521
1561
  this.show = true;
1562
+ if (model) {
1563
+ this.setFormModel(model);
1564
+ }
1522
1565
  },
1523
1566
  close: function close() {
1524
1567
  this.show = false;
@@ -1526,28 +1569,49 @@ var external_lodash_ = __webpack_require__(3);
1526
1569
  setFormModel: function setFormModel(model) {
1527
1570
  Object(external_lodash_["merge"])(this.formModel, model);
1528
1571
  },
1572
+ reset: function reset() {
1573
+ this.$refs.form && this.$refs.form.reset();
1574
+ },
1529
1575
  submit: function submit(button) {
1530
1576
  var _this2 = this;
1531
- if (!(this.api && this.request)) {
1532
- return false;
1533
- }
1534
1577
  this.$refs.form.validate(function (isValidate, errorMessage) {
1535
1578
  if (!isValidate) {
1536
1579
  return false;
1537
1580
  }
1581
+ var reqData = Object(external_lodash_["merge"])(_this2.api.data || {}, _this2.formModel);
1582
+ if (typeof _this2.api.before === "function") {
1583
+ reqData = _this2.api.before.call(_this2, reqData);
1584
+ }
1585
+ if (!(_this2.api.url && _this2.requester)) {
1586
+ _this2.close();
1587
+ _this2.reset();
1588
+ _this2.$emit("success", {
1589
+ request: _this2.requester,
1590
+ reqData: reqData
1591
+ });
1592
+ return false;
1593
+ }
1538
1594
  button.loading = true;
1539
- var reqData = Object.assign(_this2.api.data, _this2.formModel);
1540
- _this2.request({
1595
+ _this2.requester({
1541
1596
  url: Object(formula_["evaluate"])(_this2.api.url, reqData),
1542
1597
  method: _this2.api.method || "POST",
1543
1598
  data: reqData
1544
1599
  }).then(function (res) {
1545
1600
  button.loading = false;
1546
1601
  _this2.close();
1547
- _this2.$emit("success", res);
1602
+ _this2.reset();
1603
+ _this2.$emit("success", {
1604
+ request: _this2.requester,
1605
+ reqData: reqData,
1606
+ resData: res
1607
+ });
1548
1608
  }).catch(function (error) {
1549
1609
  button.loading = false;
1550
- _this2.$emit("error", error);
1610
+ _this2.$emit("error", {
1611
+ request: _this2.requester,
1612
+ reqData: reqData,
1613
+ resError: error
1614
+ });
1551
1615
  });
1552
1616
  });
1553
1617
  },
@@ -1641,7 +1705,7 @@ src.install = function (Vue) {
1641
1705
  /* harmony default export */ var form_dialog = __webpack_exports__["default"] = (src);
1642
1706
 
1643
1707
  /***/ }),
1644
- /* 28 */
1708
+ /* 24 */
1645
1709
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1646
1710
 
1647
1711
  "use strict";
@@ -1653,24 +1717,21 @@ var babel_helper_vue_jsx_merge_props_ = __webpack_require__(0);
1653
1717
  var babel_helper_vue_jsx_merge_props_default = /*#__PURE__*/__webpack_require__.n(babel_helper_vue_jsx_merge_props_);
1654
1718
 
1655
1719
  // EXTERNAL MODULE: external "@panpanzhao/component-ui/lib/components/dialog"
1656
- var dialog_ = __webpack_require__(12);
1720
+ var dialog_ = __webpack_require__(11);
1657
1721
  var dialog_default = /*#__PURE__*/__webpack_require__.n(dialog_);
1658
1722
 
1659
1723
  // EXTERNAL MODULE: external "element-ui/lib/button"
1660
- var button_ = __webpack_require__(4);
1724
+ var button_ = __webpack_require__(5);
1661
1725
  var button_default = /*#__PURE__*/__webpack_require__.n(button_);
1662
1726
 
1663
1727
  // EXTERNAL MODULE: ./src/components/form-view/index.js + 5 modules
1664
1728
  var form_view = __webpack_require__(10);
1665
1729
 
1666
1730
  // 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);
1731
+ var form_view_group = __webpack_require__(21);
1671
1732
 
1672
1733
  // EXTERNAL MODULE: external "lodash"
1673
- var external_lodash_ = __webpack_require__(3);
1734
+ var external_lodash_ = __webpack_require__(2);
1674
1735
 
1675
1736
  // 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
1737
 
@@ -1683,7 +1744,6 @@ var external_lodash_ = __webpack_require__(3);
1683
1744
 
1684
1745
 
1685
1746
 
1686
-
1687
1747
  /* harmony default export */ var srcvue_type_script_lang_js_ = ({
1688
1748
  name: "FormViewDialog",
1689
1749
  componentName: "FormViewDialog",
@@ -1902,8 +1962,22 @@ src.install = function (Vue) {
1902
1962
  /* harmony default export */ var form_view_dialog = __webpack_exports__["default"] = (src);
1903
1963
 
1904
1964
  /***/ }),
1965
+ /* 25 */,
1966
+ /* 26 */,
1967
+ /* 27 */
1968
+ /***/ (function(module, exports) {
1969
+
1970
+ module.exports = require("@panpanzhao/component-ui/lib/components/table-search");
1971
+
1972
+ /***/ }),
1973
+ /* 28 */,
1905
1974
  /* 29 */,
1906
- /* 30 */,
1975
+ /* 30 */
1976
+ /***/ (function(module, exports) {
1977
+
1978
+ module.exports = require("element-ui/lib/message-box");
1979
+
1980
+ /***/ }),
1907
1981
  /* 31 */,
1908
1982
  /* 32 */,
1909
1983
  /* 33 */,
@@ -1930,18 +2004,8 @@ src.install = function (Vue) {
1930
2004
  /* 54 */,
1931
2005
  /* 55 */,
1932
2006
  /* 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
- /***/ }),
2007
+ /* 57 */,
2008
+ /* 58 */,
1945
2009
  /* 59 */,
1946
2010
  /* 60 */,
1947
2011
  /* 61 */,
@@ -1958,14 +2022,15 @@ module.exports = require("element-ui/lib/message-box");
1958
2022
  /* 72 */,
1959
2023
  /* 73 */,
1960
2024
  /* 74 */,
1961
- /* 75 */
2025
+ /* 75 */,
2026
+ /* 76 */
1962
2027
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1963
2028
 
1964
2029
  "use strict";
1965
2030
  // ESM COMPAT FLAG
1966
2031
  __webpack_require__.r(__webpack_exports__);
1967
2032
 
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&
2033
+ // 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&
1969
2034
  var render = function render() {
1970
2035
  var _vm = this,
1971
2036
  _c = _vm._self._c
@@ -1975,7 +2040,12 @@ var render = function render() {
1975
2040
  [
1976
2041
  _c(
1977
2042
  "TableSearch",
1978
- _vm._b({ ref: "table" }, "TableSearch", _vm.tableProps, false)
2043
+ _vm._b(
2044
+ { ref: "table", attrs: { request: _vm.request } },
2045
+ "TableSearch",
2046
+ _vm.tableProps,
2047
+ false
2048
+ )
1979
2049
  ),
1980
2050
  ],
1981
2051
  1
@@ -1986,22 +2056,28 @@ var render = function render() {
1986
2056
  _vm.create
1987
2057
  ? _c(
1988
2058
  "FormDialog",
1989
- _vm._b(
1990
- { ref: "createFormDialog" },
1991
- "FormDialog",
1992
- _vm.createProps,
1993
- false
2059
+ _vm._g(
2060
+ _vm._b(
2061
+ { ref: "createFormDialog", attrs: { request: _vm.request } },
2062
+ "FormDialog",
2063
+ _vm.createProps,
2064
+ false
2065
+ ),
2066
+ _vm.reloadTableEvent
1994
2067
  )
1995
2068
  )
1996
2069
  : _vm._e(),
1997
2070
  _vm.update
1998
2071
  ? _c(
1999
2072
  "FormDialog",
2000
- _vm._b(
2001
- { ref: "updateFormDialog" },
2002
- "FormDialog",
2003
- _vm.updateProps,
2004
- false
2073
+ _vm._g(
2074
+ _vm._b(
2075
+ { ref: "updateFormDialog", attrs: { request: _vm.request } },
2076
+ "FormDialog",
2077
+ _vm.updateProps,
2078
+ false
2079
+ ),
2080
+ _vm.reloadTableEvent
2005
2081
  )
2006
2082
  )
2007
2083
  : _vm._e(),
@@ -2009,7 +2085,7 @@ var render = function render() {
2009
2085
  ? _c(
2010
2086
  "FormViewDialog",
2011
2087
  _vm._b(
2012
- { ref: "viewFormDialog" },
2088
+ { ref: "viewFormDialog", attrs: { request: _vm.request } },
2013
2089
  "FormViewDialog",
2014
2090
  _vm.viewProps,
2015
2091
  false
@@ -2025,24 +2101,27 @@ var staticRenderFns = []
2025
2101
  render._withStripped = true
2026
2102
 
2027
2103
 
2028
- // CONCATENATED MODULE: ./src/components/crud/src/index.vue?vue&type=template&id=0fa8c191&
2104
+ // CONCATENATED MODULE: ./src/components/crud/src/index.vue?vue&type=template&id=39c4f843&
2029
2105
 
2030
2106
  // EXTERNAL MODULE: external "@panpanzhao/component-ui/lib/components/table-search"
2031
- var table_search_ = __webpack_require__(57);
2107
+ var table_search_ = __webpack_require__(27);
2032
2108
  var table_search_default = /*#__PURE__*/__webpack_require__.n(table_search_);
2033
2109
 
2034
2110
  // EXTERNAL MODULE: ./src/components/form-dialog/index.js + 3 modules
2035
- var form_dialog = __webpack_require__(27);
2111
+ var form_dialog = __webpack_require__(23);
2036
2112
 
2037
2113
  // EXTERNAL MODULE: ./src/components/form-view-dialog/index.js + 3 modules
2038
- var form_view_dialog = __webpack_require__(28);
2114
+ var form_view_dialog = __webpack_require__(24);
2039
2115
 
2040
2116
  // EXTERNAL MODULE: external "element-ui/lib/message-box"
2041
- var message_box_ = __webpack_require__(58);
2117
+ var message_box_ = __webpack_require__(30);
2042
2118
  var message_box_default = /*#__PURE__*/__webpack_require__.n(message_box_);
2043
2119
 
2044
2120
  // EXTERNAL MODULE: external "@panpanzhao/component-ui/lib/utils/formula"
2045
- var formula_ = __webpack_require__(2);
2121
+ var formula_ = __webpack_require__(3);
2122
+
2123
+ // EXTERNAL MODULE: external "lodash"
2124
+ var external_lodash_ = __webpack_require__(2);
2046
2125
 
2047
2126
  // 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
2127
 
@@ -2050,6 +2129,7 @@ var formula_ = __webpack_require__(2);
2050
2129
 
2051
2130
 
2052
2131
 
2132
+
2053
2133
  /* harmony default export */ var srcvue_type_script_lang_js_ = ({
2054
2134
  name: "CRUD",
2055
2135
  componentName: "CRUD",
@@ -2140,7 +2220,14 @@ var formula_ = __webpack_require__(2);
2140
2220
  }
2141
2221
  },
2142
2222
  data: function data() {
2143
- return {};
2223
+ var _this = this;
2224
+ return {
2225
+ reloadTableEvent: {
2226
+ success: function success() {
2227
+ _this.reloadTable();
2228
+ }
2229
+ }
2230
+ };
2144
2231
  },
2145
2232
  created: function created() {
2146
2233
  this.addTools();
@@ -2153,13 +2240,14 @@ var formula_ = __webpack_require__(2);
2153
2240
  tools.unshift(Object.assign({
2154
2241
  label: "添加",
2155
2242
  loading: false,
2243
+ sort: 10,
2156
2244
  on: {
2157
2245
  click: this.handleCreate
2158
2246
  }
2159
2247
  }, this.create.tool));
2160
2248
  this.table.tools = tools;
2161
2249
  }
2162
- //修改和删除按钮处理
2250
+ //修改,查看和删除按钮处理
2163
2251
  if (!(this.update || this.delete || this.view)) {
2164
2252
  return false;
2165
2253
  }
@@ -2169,32 +2257,35 @@ var formula_ = __webpack_require__(2);
2169
2257
  var optColumn = filterColumns && filterColumns[0];
2170
2258
  var items = optColumn && optColumn.items || [];
2171
2259
  if (this.update) {
2172
- items.unshift(Object.assign({
2260
+ items.push(Object.assign({
2173
2261
  label: "修改",
2174
2262
  loading: false,
2263
+ sort: 10,
2175
2264
  on: {
2176
2265
  click: this.handleUpdate
2177
2266
  }
2178
2267
  }, this.update.tool));
2179
2268
  }
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
2269
  if (this.view) {
2190
- items.unshift(Object.assign({
2270
+ items.push(Object.assign({
2191
2271
  label: "查看",
2192
2272
  loading: false,
2273
+ sort: 20,
2193
2274
  on: {
2194
2275
  click: this.handleView
2195
2276
  }
2196
2277
  }, this.view.tool));
2197
2278
  }
2279
+ if (this.delete) {
2280
+ items.push(Object.assign({
2281
+ label: "删除",
2282
+ loading: false,
2283
+ sort: 30,
2284
+ on: {
2285
+ click: this.handleDelete
2286
+ }
2287
+ }, this.delete.tool));
2288
+ }
2198
2289
  if (optColumn) {
2199
2290
  optColumn.items = items;
2200
2291
  } else {
@@ -2209,62 +2300,117 @@ var formula_ = __webpack_require__(2);
2209
2300
  handleCreate: function handleCreate() {
2210
2301
  this.$refs.createFormDialog.open();
2211
2302
  },
2303
+ reloadTable: function reloadTable() {
2304
+ this.$refs.table.reloadTable();
2305
+ },
2306
+ getRequest: function getRequest(request) {
2307
+ if (request) {
2308
+ return request;
2309
+ }
2310
+ return this.request || (this.$COMPONENT || {}).request;
2311
+ },
2212
2312
  handleUpdate: function handleUpdate(rowProps, that) {
2213
- var _this = this;
2313
+ var _this2 = this;
2214
2314
  var rowData = rowProps.row;
2215
2315
  this.$refs.updateFormDialog.open();
2216
- if (this.update.detail) {
2217
- var request = this.update.detail.request || this.request;
2316
+ var detailApi = this.update.detail || {};
2317
+ var request = this.getRequest(detailApi.request);
2318
+ var reqData = Object(external_lodash_["merge"])(detailApi.data || {}, rowData);
2319
+ if (typeof detailApi.before === "function") {
2320
+ reqData = detailApi.before.call(this, reqData);
2321
+ }
2322
+ if (detailApi.url && request) {
2323
+ that.loading = true;
2218
2324
  request({
2219
- url: Object(formula_["evaluate"])(this.update.detail.url, rowData),
2220
- method: this.update.detail.method || "GET",
2221
- data: rowData
2325
+ url: Object(formula_["evaluate"])(detailApi.url, rowData),
2326
+ method: detailApi.method || "GET",
2327
+ data: reqData
2222
2328
  }).then(function (res) {
2223
- _this.$refs.updateFormDialog.setFormModel(res);
2224
- }).catch(function (error) {});
2329
+ that.loading = false;
2330
+ if (typeof detailApi.after === "function") {
2331
+ res = detailApi.after.call(_this2, res);
2332
+ }
2333
+ _this2.$refs.updateFormDialog.setFormModel(res);
2334
+ }).catch(function (error) {
2335
+ that.loading = false;
2336
+ });
2225
2337
  } else {
2226
2338
  this.$nextTick(function () {
2227
- _this.$refs.updateFormDialog.setFormModel(rowData);
2339
+ _this2.$refs.updateFormDialog.setFormModel(typeof detailApi.after === "function" ? detailApi.after.call(_this2, reqData) : reqData);
2228
2340
  });
2229
2341
  }
2230
2342
  },
2231
2343
  handleDelete: function handleDelete(rowProps, that) {
2232
- var _this2 = this;
2344
+ var _this3 = this;
2345
+ var deleteApi = this.delete.api;
2346
+ if (!deleteApi) {
2347
+ console.warn("缺少删除的配置");
2348
+ return false;
2349
+ }
2233
2350
  message_box_default.a.confirm("是否确定删除", '提示', {
2234
2351
  confirmButtonText: '确定',
2235
2352
  cancelButtonText: '取消',
2236
2353
  type: 'warning'
2237
2354
  }).then(function () {
2238
- var request = _this2.delete.api.request || _this2.request;
2239
- var rowData = rowProps.row;
2355
+ var request = _this3.getRequest(deleteApi.request);
2356
+ var reqData = Object(external_lodash_["merge"])(deleteApi.data || {}, rowProps.row);
2357
+ if (typeof deleteApi.before === "function") {
2358
+ reqData = deleteApi.before.call(_this3, reqData);
2359
+ }
2240
2360
  that.loading = true;
2241
2361
  request({
2242
- url: Object(formula_["evaluate"])(_this2.delete.api.url, rowData),
2243
- method: _this2.delete.api.method || "GET",
2244
- data: rowData
2362
+ url: Object(formula_["evaluate"])(deleteApi.url, reqData),
2363
+ method: deleteApi.method || "GET",
2364
+ data: reqData
2245
2365
  }).then(function (res) {
2246
2366
  that.loading = false;
2367
+ _this3.reloadTable();
2368
+ _this3.$emit("deleteSuccess", {
2369
+ request: request,
2370
+ reqData: reqData,
2371
+ resData: res
2372
+ });
2247
2373
  }).catch(function (error) {
2248
2374
  that.loading = false;
2375
+ _this3.$emit("deleteError", {
2376
+ request: request,
2377
+ reqData: reqData,
2378
+ resError: error
2379
+ });
2249
2380
  });
2250
2381
  }).catch(function () {});
2251
2382
  },
2252
2383
  handleView: function handleView(rowProps, that) {
2253
- var _this3 = this;
2384
+ var _this4 = this;
2254
2385
  var rowData = rowProps.row;
2255
2386
  this.$refs.viewFormDialog.open();
2256
- if (this.view.api) {
2257
- var request = this.view.api.request || this.request;
2387
+ var viewApi = this.view.api || {};
2388
+ var request = this.getRequest(viewApi.request);
2389
+ var reqData = Object(external_lodash_["merge"])(viewApi.data || {}, rowData);
2390
+ if (typeof viewApi.before === "function") {
2391
+ reqData = viewApi.before.call(this, reqData);
2392
+ }
2393
+ if (viewApi.url && request) {
2394
+ that.loading = true;
2258
2395
  request({
2259
- url: Object(formula_["evaluate"])(this.view.api.url, rowData),
2260
- method: this.view.api.method || "GET",
2261
- data: rowData
2396
+ url: Object(formula_["evaluate"])(viewApi.url, reqData),
2397
+ method: viewApi.method || "GET",
2398
+ data: reqData
2262
2399
  }).then(function (res) {
2263
- _this3.$refs.viewFormDialog.setFormModel(res);
2264
- }).catch(function (error) {});
2400
+ that.loading = false;
2401
+ if (typeof viewApi.after === "function") {
2402
+ res = viewApi.after.call(_this4, res);
2403
+ }
2404
+ _this4.$refs.viewFormDialog.setFormModel(res);
2405
+ }).catch(function (error) {
2406
+ that.loading = false;
2407
+ });
2265
2408
  } else {
2409
+ if (typeof viewApi.after === "function") {
2410
+ reqData = viewApi.after.call(this, reqData);
2411
+ }
2266
2412
  this.$nextTick(function () {
2267
- _this3.$refs.viewFormDialog.setFormModel(rowData);
2413
+ _this4.$refs.viewFormDialog.setFormModel(typeof viewApi.after === "function" ? viewApi.after.call(_this4, reqData) : reqData);
2268
2414
  });
2269
2415
  }
2270
2416
  }