@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 = 27);
85
+ /******/ return __webpack_require__(__webpack_require__.s = 23);
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,44 +514,69 @@ 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
- /* 11 */,
506
- /* 12 */
549
+ /* 11 */
507
550
  /***/ (function(module, exports) {
508
551
 
509
552
  module.exports = require("@panpanzhao/component-ui/lib/components/dialog");
510
553
 
511
554
  /***/ }),
512
- /* 13 */
555
+ /* 12 */
513
556
  /***/ (function(module, exports) {
514
557
 
515
558
  module.exports = require("element-ui/lib/form");
516
559
 
517
560
  /***/ }),
518
- /* 14 */
561
+ /* 13 */
519
562
  /***/ (function(module, exports) {
520
563
 
521
564
  module.exports = require("element-ui/lib/row");
522
565
 
523
566
  /***/ }),
524
- /* 15 */
567
+ /* 14 */
525
568
  /***/ (function(module, exports) {
526
569
 
527
570
  module.exports = require("element-ui/lib/col");
528
571
 
529
572
  /***/ }),
530
- /* 16 */
573
+ /* 15 */
531
574
  /***/ (function(module, exports) {
532
575
 
533
576
  module.exports = require("@panpanzhao/component-ui/lib/components/form-item");
534
577
 
535
578
  /***/ }),
536
- /* 17 */,
537
- /* 18 */,
538
- /* 19 */,
539
- /* 20 */,
540
- /* 21 */
579
+ /* 16 */
541
580
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
542
581
 
543
582
  "use strict";
@@ -549,7 +588,7 @@ var babel_helper_vue_jsx_merge_props_ = __webpack_require__(0);
549
588
  var babel_helper_vue_jsx_merge_props_default = /*#__PURE__*/__webpack_require__.n(babel_helper_vue_jsx_merge_props_);
550
589
 
551
590
  // EXTERNAL MODULE: ./src/components/form/index.js + 5 modules
552
- var components_form = __webpack_require__(9);
591
+ var components_form = __webpack_require__(4);
553
592
 
554
593
  // CONCATENATED MODULE: ./src/components/form-group/src/content.js
555
594
 
@@ -612,7 +651,7 @@ var components_form = __webpack_require__(9);
612
651
  }
613
652
  },
614
653
  render: function render(h) {
615
- if (this.slots.form) {
654
+ if (this.slots && this.slots.form) {
616
655
  var vForm = typeof this.slots.form === "function" ? this.slots.form.call(this, h) : this.slots.form;
617
656
  return vForm;
618
657
  }
@@ -631,19 +670,19 @@ var components_form = __webpack_require__(9);
631
670
  }
632
671
  });
633
672
  // EXTERNAL MODULE: external "element-ui/lib/tabs"
634
- var tabs_ = __webpack_require__(5);
673
+ var tabs_ = __webpack_require__(6);
635
674
  var tabs_default = /*#__PURE__*/__webpack_require__.n(tabs_);
636
675
 
637
676
  // EXTERNAL MODULE: external "element-ui/lib/tab-pane"
638
- var tab_pane_ = __webpack_require__(6);
677
+ var tab_pane_ = __webpack_require__(7);
639
678
  var tab_pane_default = /*#__PURE__*/__webpack_require__.n(tab_pane_);
640
679
 
641
680
  // EXTERNAL MODULE: external "element-ui/lib/collapse"
642
- var collapse_ = __webpack_require__(7);
681
+ var collapse_ = __webpack_require__(8);
643
682
  var collapse_default = /*#__PURE__*/__webpack_require__.n(collapse_);
644
683
 
645
684
  // EXTERNAL MODULE: external "element-ui/lib/collapse-item"
646
- var collapse_item_ = __webpack_require__(8);
685
+ var collapse_item_ = __webpack_require__(9);
647
686
  var collapse_item_default = /*#__PURE__*/__webpack_require__.n(collapse_item_);
648
687
 
649
688
  // CONCATENATED MODULE: ./src/components/form-group/src/index.js
@@ -897,12 +936,13 @@ src.install = function (Vue) {
897
936
  /* harmony default export */ var form_group = __webpack_exports__["default"] = (src);
898
937
 
899
938
  /***/ }),
939
+ /* 17 */,
940
+ /* 18 */,
941
+ /* 19 */,
942
+ /* 20 */,
943
+ /* 21 */,
900
944
  /* 22 */,
901
- /* 23 */,
902
- /* 24 */,
903
- /* 25 */,
904
- /* 26 */,
905
- /* 27 */
945
+ /* 23 */
906
946
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
907
947
 
908
948
  "use strict";
@@ -914,24 +954,24 @@ var babel_helper_vue_jsx_merge_props_ = __webpack_require__(0);
914
954
  var babel_helper_vue_jsx_merge_props_default = /*#__PURE__*/__webpack_require__.n(babel_helper_vue_jsx_merge_props_);
915
955
 
916
956
  // EXTERNAL MODULE: external "@panpanzhao/component-ui/lib/components/dialog"
917
- var dialog_ = __webpack_require__(12);
957
+ var dialog_ = __webpack_require__(11);
918
958
  var dialog_default = /*#__PURE__*/__webpack_require__.n(dialog_);
919
959
 
920
960
  // EXTERNAL MODULE: external "element-ui/lib/button"
921
- var button_ = __webpack_require__(4);
961
+ var button_ = __webpack_require__(5);
922
962
  var button_default = /*#__PURE__*/__webpack_require__.n(button_);
923
963
 
924
964
  // EXTERNAL MODULE: ./src/components/form/index.js + 5 modules
925
- var components_form = __webpack_require__(9);
965
+ var components_form = __webpack_require__(4);
926
966
 
927
967
  // EXTERNAL MODULE: ./src/components/form-group/index.js + 2 modules
928
- var form_group = __webpack_require__(21);
968
+ var form_group = __webpack_require__(16);
929
969
 
930
970
  // EXTERNAL MODULE: external "@panpanzhao/component-ui/lib/utils/formula"
931
- var formula_ = __webpack_require__(2);
971
+ var formula_ = __webpack_require__(3);
932
972
 
933
973
  // EXTERNAL MODULE: external "lodash"
934
- var external_lodash_ = __webpack_require__(3);
974
+ var external_lodash_ = __webpack_require__(2);
935
975
 
936
976
  // 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&
937
977
 
@@ -1009,6 +1049,7 @@ var external_lodash_ = __webpack_require__(3);
1009
1049
  }
1010
1050
  },
1011
1051
  props: {
1052
+ request: Function,
1012
1053
  dialog: {
1013
1054
  type: Object,
1014
1055
  default: function _default() {
@@ -1021,6 +1062,10 @@ var external_lodash_ = __webpack_require__(3);
1021
1062
  }
1022
1063
  },
1023
1064
  formMode: String,
1065
+ noApiClose: {
1066
+ type: Boolean,
1067
+ default: true
1068
+ },
1024
1069
  api: {
1025
1070
  type: Object,
1026
1071
  default: function _default() {
@@ -1051,6 +1096,7 @@ var external_lodash_ = __webpack_require__(3);
1051
1096
  return {
1052
1097
  show: false,
1053
1098
  formModel: {},
1099
+ expandModel: null,
1054
1100
  defaultTools: [{
1055
1101
  label: this.dialog.cancelButtonText || "取消",
1056
1102
  type: this.confirmButtonType,
@@ -1069,13 +1115,20 @@ var external_lodash_ = __webpack_require__(3);
1069
1115
  };
1070
1116
  },
1071
1117
  computed: {
1072
- request: function request() {
1073
- return this.api.request || (this.$COMPONENT || {}).request;
1118
+ requester: function requester() {
1119
+ return this.api.request || this.request || (this.$COMPONENT || {}).request;
1074
1120
  }
1075
1121
  },
1076
1122
  methods: {
1077
- open: function open() {
1123
+ open: function open(model, expandModel) {
1124
+ var _this2 = this;
1078
1125
  this.show = true;
1126
+ this.expandModel = expandModel;
1127
+ if (model) {
1128
+ this.$nextTick(function () {
1129
+ _this2.setFormModel(model);
1130
+ });
1131
+ }
1079
1132
  },
1080
1133
  close: function close() {
1081
1134
  this.show = false;
@@ -1083,35 +1136,69 @@ var external_lodash_ = __webpack_require__(3);
1083
1136
  setFormModel: function setFormModel(model) {
1084
1137
  Object(external_lodash_["merge"])(this.formModel, model);
1085
1138
  },
1139
+ reset: function reset() {
1140
+ this.$refs.form && this.$refs.form.reset();
1141
+ },
1142
+ closed: function closed() {
1143
+ this.reset();
1144
+ this.show = false;
1145
+ },
1086
1146
  submit: function submit(button) {
1087
- var _this2 = this;
1088
- if (!(this.api && this.request)) {
1089
- return false;
1090
- }
1147
+ var _this3 = this;
1091
1148
  this.$refs.form.validate(function (isValidate, errorMessage) {
1092
1149
  if (!isValidate) {
1093
1150
  return false;
1094
1151
  }
1152
+ var reqData = Object(external_lodash_["merge"])(_this3.api.data || {}, _this3.formModel);
1153
+ if (typeof _this3.api.before === "function") {
1154
+ reqData = _this3.api.before.call(_this3, reqData);
1155
+ }
1156
+ if (!(_this3.api.url && _this3.requester)) {
1157
+ if (_this3.noApiClose) {
1158
+ _this3.reset();
1159
+ _this3.show = false;
1160
+ }
1161
+ _this3.$emit("success", {
1162
+ request: _this3.requester,
1163
+ reqData: reqData,
1164
+ expandData: _this3.expandModel
1165
+ }, {
1166
+ button: button
1167
+ });
1168
+ return false;
1169
+ }
1095
1170
  button.loading = true;
1096
- var reqData = Object.assign(_this2.api.data, _this2.formModel);
1097
- _this2.request({
1098
- url: Object(formula_["evaluate"])(_this2.api.url, reqData),
1099
- method: _this2.api.method || "POST",
1171
+ _this3.requester({
1172
+ url: Object(formula_["evaluate"])(_this3.api.url, reqData),
1173
+ method: _this3.api.method || "POST",
1174
+ headers: _this3.api.headers,
1100
1175
  data: reqData
1101
1176
  }).then(function (res) {
1102
1177
  button.loading = false;
1103
- _this2.close();
1104
- _this2.$emit("success", res);
1178
+ _this3.reset();
1179
+ _this3.show = false;
1180
+ _this3.$emit("success", {
1181
+ request: _this3.requester,
1182
+ reqData: reqData,
1183
+ resData: res,
1184
+ expandData: _this3.expandModel
1185
+ });
1105
1186
  }).catch(function (error) {
1106
1187
  button.loading = false;
1107
- _this2.$emit("error", error);
1188
+ _this3.$emit("error", {
1189
+ request: _this3.requester,
1190
+ reqData: reqData,
1191
+ resError: error,
1192
+ expandData: _this3.expandModel
1193
+ });
1108
1194
  });
1109
1195
  });
1110
1196
  },
1111
1197
  renderForm: function renderForm(h) {
1112
1198
  var param = {
1113
1199
  attrs: Object.assign({
1114
- formModel: this.formModel
1200
+ formModel: this.formModel,
1201
+ request: this.request
1115
1202
  }, this.form)
1116
1203
  };
1117
1204
  if (this.formMode === "group") {
@@ -1143,7 +1230,7 @@ var external_lodash_ = __webpack_require__(3);
1143
1230
  }
1144
1231
  },
1145
1232
  render: function render(h) {
1146
- var _this3 = this;
1233
+ var _this4 = this;
1147
1234
  var param = {
1148
1235
  attrs: Object.assign({
1149
1236
  visible: this.show,
@@ -1152,7 +1239,8 @@ var external_lodash_ = __webpack_require__(3);
1152
1239
  }, this.dialog),
1153
1240
  on: Object.assign(this.on, {
1154
1241
  close: function close() {
1155
- _this3.close();
1242
+ _this4.reset();
1243
+ _this4.show = false;
1156
1244
  }
1157
1245
  })
1158
1246
  };