UNPKG

ken-form-design

Version:

基于vue、ant-design-vue的表单设计器,可视化开发表单

431 lines (374 loc) 16.2 kB
((typeof self !== 'undefined' ? self : this)["webpackJsonpken_form_design"] = (typeof self !== 'undefined' ? self : this)["webpackJsonpken_form_design"] || []).push([[29],{ /***/ "44e6": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"703dcae2-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/KFormModelItem/KFormModelItem.vue?vue&type=template&id=2e566e15& var render = function render() { var _vm = this, _c = _vm._self._c; return _vm.record.options.noFormItem ? _c(_vm.componentItem, _vm._b({ tag: "component" }, 'component', _vm.getComponentProps, false)) : _c('a-form-model-item', { attrs: { "prop": "domains.".concat(_vm.record.model), "rules": _vm.record.rules } }, [_c(_vm.componentItem, _vm._b({ ref: "inputItem", tag: "component", on: { "change": _vm.handleChange } }, 'component', _vm.getComponentProps, false))], 1); }; var staticRenderFns = []; // CONCATENATED MODULE: ./packages/components/KFormModelItem/KFormModelItem.vue?vue&type=template&id=2e566e15& // EXTERNAL MODULE: ./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js var es7_object_get_own_property_descriptors = __webpack_require__("8e6e"); // EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom.iterable.js var web_dom_iterable = __webpack_require__("ac6a"); // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.object.keys.js var es6_object_keys = __webpack_require__("456d"); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js var defineProperty = __webpack_require__("ade3"); // EXTERNAL MODULE: ./packages/utils/index.js + 7 modules var utils = __webpack_require__("e74d"); // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/KFormModelItem/KFormModelItem.vue?vue&type=script&lang=js& function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { Object(defineProperty["a" /* default */])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /* * author kcz * date 2019-11-20 */ var _ = __webpack_require__("a6fb"); var ComponentArray = utils["c" /* pluginManager */].getComponents(); /* harmony default export */ var KFormModelItemvue_type_script_lang_js_ = ({ name: "KFormModelItem", props: ["record", "domains", "index", "value", "parentDisabled", "dynamicData", "config"], computed: { /** * 计算组件props */ getComponentProps: function getComponentProps() { var record = this.record; var componentProps = _objectSpread(_objectSpread({ record: record }, this.componentOption), {}, { config: this.config, disabled: this.disabled || record.options.disabled, parentDisabled: this.disabled || record.options.disabled, allowClear: record.options.clearable, mode: record.options.multiple ? "multiple" : "", style: record.options.width && "width:".concat(record.options.width), height: typeof record.options.height !== "undefined" ? record.options.height : "", dynamicData: this.dynamicData, options: !record.options.dynamic ? record.options.options : this.dynamicData[record.options.dynamicKey] ? this.dynamicData[record.options.dynamicKey] : [] }); if (this.record.type === "textarea") { componentProps.autoSize = { minRows: record.options.minRows, maxRows: record.options.maxRows }; } if (this.record.type === "alert") { componentProps.message = record.label; } if (this.record.type === "number") { componentProps.min = record.options.min || record.options.min === 0 ? record.options.min : -Infinity; componentProps.max = record.options.max || record.options.max === 0 ? record.options.max : Infinity; componentProps.precision = record.options.precision > 50 || !record.options.precision && record.options.precision !== 0 ? null : record.options.precision; } if (this.record.type === "select") { componentProps.filterOption = record.options.showSearch ? function (inputValue, option) { return option.componentOptions.children[0].text.toLowerCase().indexOf(inputValue.toLowerCase()) >= 0; } : false; } return componentProps; }, componentItem: function componentItem() { return ComponentArray[this.record.type].component; }, componentOption: function componentOption() { return _.omit(this.record.options, ["defaultValue", "disabled"]); } }, methods: { handleChange: function handleChange(e) { var value = e; if (e.target) { value = e.target.value; } this.$emit("input", value); } } }); // CONCATENATED MODULE: ./packages/components/KFormModelItem/KFormModelItem.vue?vue&type=script&lang=js& /* harmony default export */ var KFormModelItem_KFormModelItemvue_type_script_lang_js_ = (KFormModelItemvue_type_script_lang_js_); // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__("2877"); // CONCATENATED MODULE: ./packages/components/KFormModelItem/KFormModelItem.vue /* normalize component */ var component = Object(componentNormalizer["a" /* default */])( KFormModelItem_KFormModelItemvue_type_script_lang_js_, render, staticRenderFns, false, null, null, null ) /* harmony default export */ var KFormModelItem = __webpack_exports__["a"] = (component.exports); /***/ }), /***/ "9803": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; // ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"703dcae2-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/KBatch/batch.vue?vue&type=template&id=17e9faba& var render = function render() { var _vm = this, _c = _vm._self._c; return _c('a-form-model', { ref: "dynamicValidateForm", attrs: { "layout": "inline", "model": _vm.dynamicValidateForm } }, [_c('a-table', { staticClass: "batch-table", attrs: { "pagination": false, "rowKey": function rowKey(record) { return record.key; }, "columns": _vm.columns, "dataSource": _vm.dynamicValidateForm.domains, "bordered": "", "scroll": { x: _vm.listLength * 190 + 80 + (!_vm.record.options.hideSequence ? 60 : 0), y: _vm.record.options.scrollY } }, scopedSlots: _vm._u([_vm._l(_vm.record.list, function (item) { return { key: item.key, fn: function fn(text, record, index) { return [_c('KFormModelItem', { key: item.key + '1', attrs: { "record": item, "config": _vm.config, "parentDisabled": _vm.disabled, "index": index, "domains": _vm.dynamicValidateForm.domains, "dynamicData": _vm.dynamicData }, on: { "input": _vm.handleInput }, model: { value: record[item.model], callback: function callback($$v) { _vm.$set(record, item.model, $$v); }, expression: "record[item.model]" } })]; } }; }), { key: "dynamic-opr-button", fn: function fn(text, record) { return [!_vm.disabled ? _c('a-icon', { staticClass: "dynamic-opr-button", attrs: { "title": "删除该行", "type": "minus-circle-o" }, on: { "click": function click($event) { return _vm.removeDomain(record); } } }) : _vm._e(), !_vm.disabled ? _c('a-icon', { staticClass: "dynamic-opr-button", attrs: { "title": "复制添加", "type": "copy-o" }, on: { "click": function click($event) { return _vm.copyDomain(record); } } }) : _vm._e()]; } }], null, true) }), _c('Button', { attrs: { "type": "dashed", "disabled": _vm.disabled }, on: { "click": _vm.addDomain } }, [_c('a-icon', { attrs: { "type": "plus" } }), _vm._v("增加 ")], 1)], 1); }; var staticRenderFns = []; // CONCATENATED MODULE: ./packages/components/KBatch/batch.vue?vue&type=template&id=17e9faba& // EXTERNAL MODULE: ./node_modules/core-js/modules/es7.object.get-own-property-descriptors.js var es7_object_get_own_property_descriptors = __webpack_require__("8e6e"); // EXTERNAL MODULE: ./node_modules/core-js/modules/es6.object.keys.js var es6_object_keys = __webpack_require__("456d"); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js var defineProperty = __webpack_require__("ade3"); // EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom.iterable.js var web_dom_iterable = __webpack_require__("ac6a"); // EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js + 5 modules var toConsumableArray = __webpack_require__("2909"); // EXTERNAL MODULE: ./packages/components/KFormModelItem/KFormModelItem.vue + 4 modules var KFormModelItem = __webpack_require__("44e6"); // EXTERNAL MODULE: ./packages/utils/index.js + 7 modules var utils = __webpack_require__("e74d"); // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/KBatch/batch.vue?vue&type=script&lang=js& function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { Object(defineProperty["a" /* default */])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } var Button = utils["c" /* pluginManager */].getComponent("aButton").component; /* harmony default export */ var batchvue_type_script_lang_js_ = ({ name: "KBatch", props: ["record", "value", "dynamicData", "config", "parentDisabled"], components: { KFormModelItem: KFormModelItem["a" /* default */], Button: Button }, watch: { value: { // value 需要深度监听及默认先执行handler函数 handler: function handler(val) { this.dynamicValidateForm.domains = val || []; }, immediate: true, deep: true } }, data: function data() { return { dynamicValidateForm: { domains: [] } }; }, computed: { listLength: function listLength() { return this.record.list.filter(function (item) { return !item.options.hidden; }).length; }, columns: function columns() { var _this = this; var columns = []; if (!this.record.options.hideSequence) { columns.push({ title: "序号", dataIndex: "sequence_index_number", width: "60px", align: "center", customRender: function customRender(text, record, index) { return index + 1; } }); } columns.push.apply(columns, Object(toConsumableArray["a" /* default */])(this.record.list.filter(function (item) { return !item.options.hidden; }).map(function (item, index) { return { title: item.label, dataIndex: item.key, width: index === _this.record.list.length - 1 ? "" : "190px", scopedSlots: { customRender: item.key } }; }))); columns.push({ title: "操作", dataIndex: "dynamic-opr-button", fixed: "right", width: "80px", align: "center", scopedSlots: { customRender: "dynamic-opr-button" } }); return columns; }, disabled: function disabled() { return this.record.options.disabled || this.parentDisabled; } }, methods: { validationSubform: function validationSubform() { var verification; this.$refs.dynamicValidateForm.validate(function (valid) { verification = valid; }); return verification; }, resetForm: function resetForm() { this.$refs.dynamicValidateForm.resetFields(); }, removeDomain: function removeDomain(item) { var index = this.dynamicValidateForm.domains.indexOf(item); if (index !== -1) { this.dynamicValidateForm.domains.splice(index, 1); } }, copyDomain: function copyDomain(record) { var data = {}; this.record.list.forEach(function (item) { data[item.model] = record[item.model]; }); this.dynamicValidateForm.domains.push(_objectSpread(_objectSpread({}, data), {}, { key: Date.now() })); this.handleInput(); }, addDomain: function addDomain() { var data = {}; this.record.list.forEach(function (item) { data[item.model] = item.options.defaultValue; }); this.dynamicValidateForm.domains.push(_objectSpread(_objectSpread({}, data), {}, { key: Date.now() })); this.handleInput(); }, handleInput: function handleInput() { this.$emit("change", this.dynamicValidateForm.domains); } } }); // CONCATENATED MODULE: ./packages/components/KBatch/batch.vue?vue&type=script&lang=js& /* harmony default export */ var KBatch_batchvue_type_script_lang_js_ = (batchvue_type_script_lang_js_); // EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__("2877"); // CONCATENATED MODULE: ./packages/components/KBatch/batch.vue /* normalize component */ var component = Object(componentNormalizer["a" /* default */])( KBatch_batchvue_type_script_lang_js_, render, staticRenderFns, false, null, null, null ) /* harmony default export */ var batch = (component.exports); // CONCATENATED MODULE: ./packages/components/KBatch/index.js /* harmony default export */ var KBatch = __webpack_exports__["default"] = (batch); /***/ }) }]);