mirror of
https://github.com/crmeb/CRMEB.git
synced 2025-12-15 13:22:51 +00:00
2433 lines
78 KiB
JavaScript
2433 lines
78 KiB
JavaScript
/*! form-create v1.2 | github https://github.com/xaboy/form-create | author xaboy */
|
|
(function webpackUniversalModuleDefinition(root, factory) {
|
|
if(typeof exports === 'object' && typeof module === 'object')
|
|
module.exports = factory();
|
|
else if(typeof define === 'function' && define.amd)
|
|
define([], factory);
|
|
else {
|
|
var a = factory();
|
|
for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];
|
|
}
|
|
})(typeof self !== 'undefined' ? self : this, function() {
|
|
return /******/ (function(modules) { // webpackBootstrap
|
|
/******/ // The module cache
|
|
/******/ var installedModules = {};
|
|
/******/
|
|
/******/ // The require function
|
|
/******/ function __webpack_require__(moduleId) {
|
|
/******/
|
|
/******/ // Check if module is in cache
|
|
/******/ if(installedModules[moduleId]) {
|
|
/******/ return installedModules[moduleId].exports;
|
|
/******/ }
|
|
/******/ // Create a new module (and put it into the cache)
|
|
/******/ var module = installedModules[moduleId] = {
|
|
/******/ i: moduleId,
|
|
/******/ l: false,
|
|
/******/ exports: {}
|
|
/******/ };
|
|
/******/
|
|
/******/ // Execute the module function
|
|
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
|
/******/
|
|
/******/ // Flag the module as loaded
|
|
/******/ module.l = true;
|
|
/******/
|
|
/******/ // Return the exports of the module
|
|
/******/ return module.exports;
|
|
/******/ }
|
|
/******/
|
|
/******/
|
|
/******/ // expose the modules object (__webpack_modules__)
|
|
/******/ __webpack_require__.m = modules;
|
|
/******/
|
|
/******/ // expose the module cache
|
|
/******/ __webpack_require__.c = installedModules;
|
|
/******/
|
|
/******/ // define getter function for harmony exports
|
|
/******/ __webpack_require__.d = function(exports, name, getter) {
|
|
/******/ if(!__webpack_require__.o(exports, name)) {
|
|
/******/ Object.defineProperty(exports, name, {
|
|
/******/ configurable: false,
|
|
/******/ enumerable: true,
|
|
/******/ get: getter
|
|
/******/ });
|
|
/******/ }
|
|
/******/ };
|
|
/******/
|
|
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
|
/******/ __webpack_require__.n = function(module) {
|
|
/******/ var getter = module && module.__esModule ?
|
|
/******/ function getDefault() { return module['default']; } :
|
|
/******/ function getModuleExports() { return module; };
|
|
/******/ __webpack_require__.d(getter, 'a', getter);
|
|
/******/ return getter;
|
|
/******/ };
|
|
/******/
|
|
/******/ // Object.prototype.hasOwnProperty.call
|
|
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
|
/******/
|
|
/******/ // __webpack_public_path__
|
|
/******/ __webpack_require__.p = "";
|
|
/******/
|
|
/******/ // Load entry module and return exports
|
|
/******/ return __webpack_require__(__webpack_require__.s = 7);
|
|
/******/ })
|
|
/************************************************************************/
|
|
/******/ ([
|
|
/* 0 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.make = undefined;
|
|
|
|
var _util = __webpack_require__(1);
|
|
|
|
var makeFactory = function makeFactory(type, attrs) {
|
|
return function $m(title, field) {
|
|
var value = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
|
|
|
|
var rule = baseRule();
|
|
rule.type = type;
|
|
rule.title = title;
|
|
rule.field = field;
|
|
rule.value = value;
|
|
return new make(rule, attrs);
|
|
};
|
|
};
|
|
|
|
var baseRule = function baseRule() {
|
|
return {
|
|
props: {},
|
|
event: {},
|
|
validate: [],
|
|
options: [],
|
|
slot: {}
|
|
};
|
|
};
|
|
|
|
var make = function make(rule, attrs) {
|
|
var _this = this;
|
|
|
|
this.rule = rule;
|
|
attrs.forEach(function (attr) {
|
|
_this[attr] = attrHandlers[attr];
|
|
});
|
|
};
|
|
|
|
var attrHandlers = {};
|
|
|
|
var objAttrs = ['props', 'event', 'slot'];
|
|
|
|
objAttrs.forEach(function (attr) {
|
|
attrHandlers[attr] = function (opt) {
|
|
this.rule[attr] = Object.assign(this.rule[attr], opt);
|
|
return this;
|
|
};
|
|
});
|
|
|
|
var arrAttrs = ['validate', 'options'];
|
|
|
|
arrAttrs.forEach(function (attr) {
|
|
attrHandlers[attr] = function (opt) {
|
|
if (!(0, _util.isArray)(opt)) opt = [opt];
|
|
this.rule[attr] = this.rule[attr].concat(opt);
|
|
return this;
|
|
};
|
|
});
|
|
|
|
make.prototype.getRule = function () {
|
|
return this.rule;
|
|
};
|
|
|
|
exports.default = makeFactory;
|
|
exports.make = make;
|
|
|
|
/***/ }),
|
|
/* 1 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
|
|
|
var concat = [].concat;
|
|
|
|
var assign = Object.assign;
|
|
|
|
var toString = Object.prototype.toString;
|
|
|
|
var throwIfMissing = function throwIfMissing() {
|
|
var errorMsg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'Missing parameter';
|
|
throw new Error(errorMsg);
|
|
};
|
|
|
|
var isDate = function isDate(arg) {
|
|
return toString.call(arg) === '[object Date]';
|
|
};
|
|
|
|
var isPlainObject = function isPlainObject(arg) {
|
|
return toString.call(arg) === '[object Object]';
|
|
};
|
|
|
|
var isFunction = function isFunction(arg) {
|
|
return toString.call(arg) === '[object Function]';
|
|
};
|
|
|
|
var isString = function isString(arg) {
|
|
return toString.call(arg) === '[object String]';
|
|
};
|
|
|
|
var isArray = Array.isArray;
|
|
|
|
var isElement = function isElement(arg) {
|
|
return (typeof arg === 'undefined' ? 'undefined' : _typeof(arg)) === 'object' && arg !== null && arg.nodeType === 1 && !isPlainObject(arg);
|
|
};
|
|
|
|
var deepExtend = function deepExtend(origin) {
|
|
var target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
|
|
var isArr = false;
|
|
for (var key in target) {
|
|
if (Object.prototype.hasOwnProperty.call(target, key)) {
|
|
var clone = target[key];
|
|
if ((isArr = isArray(clone)) || isPlainObject(clone)) {
|
|
var nst = origin[key] === undefined;
|
|
if (isArr) {
|
|
isArr = false;
|
|
nst && (origin[key] = []);
|
|
} else {
|
|
nst && (origin[key] = {});
|
|
}
|
|
deepExtend(origin[key], clone);
|
|
} else {
|
|
origin[key] = clone;
|
|
}
|
|
}
|
|
}
|
|
return origin;
|
|
};
|
|
|
|
var uniqueId = function () {
|
|
var id = 0;
|
|
return function () {
|
|
return id++;
|
|
};
|
|
}();
|
|
|
|
exports.concat = concat;
|
|
exports.assign = assign;
|
|
exports.toString = toString;
|
|
exports.throwIfMissing = throwIfMissing;
|
|
exports.isPlainObject = isPlainObject;
|
|
exports.isDate = isDate;
|
|
exports.isFunction = isFunction;
|
|
exports.isString = isString;
|
|
exports.isArray = isArray;
|
|
exports.deepExtend = deepExtend;
|
|
exports.isElement = isElement;
|
|
exports.uniqueId = uniqueId;
|
|
|
|
/***/ }),
|
|
/* 2 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.handlerFactory = undefined;
|
|
|
|
var _util = __webpack_require__(1);
|
|
|
|
var handlerFactory = function handlerFactory() {
|
|
var prototypeExtend = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
|
|
var $h = function $h(vm, rule) {
|
|
handler.call(this, vm, rule);
|
|
};
|
|
$h.prototype = Object.create(handler.prototype);
|
|
Object.assign($h.prototype, prototypeExtend);
|
|
$h.prototype.constructor = $h;
|
|
return $h;
|
|
};
|
|
|
|
var handler = function handler(vm, _ref) {
|
|
var field = _ref.field,
|
|
type = _ref.type,
|
|
_ref$title = _ref.title,
|
|
title = _ref$title === undefined ? '' : _ref$title,
|
|
_ref$options = _ref.options,
|
|
options = _ref$options === undefined ? [] : _ref$options,
|
|
_ref$props = _ref.props,
|
|
props = _ref$props === undefined ? {} : _ref$props,
|
|
_ref$validate = _ref.validate,
|
|
validate = _ref$validate === undefined ? [] : _ref$validate,
|
|
_ref$event = _ref.event,
|
|
event = _ref$event === undefined ? {} : _ref$event,
|
|
_ref$value = _ref.value,
|
|
value = _ref$value === undefined ? '' : _ref$value,
|
|
_ref$slot = _ref.slot,
|
|
slot = _ref$slot === undefined ? {} : _ref$slot;
|
|
|
|
field = field.toString();
|
|
this.rule = {
|
|
field: field, type: type, title: title, options: options, props: props, slot: slot,
|
|
value: (0, _util.deepExtend)(Object.create(null), { value: value }).value,
|
|
validate: (0, _util.isArray)(validate) ? validate : [validate],
|
|
event: Object.keys(event).reduce(function (initial, eventName) {
|
|
initial['on-' + eventName] = event[eventName];
|
|
return initial;
|
|
}, {})
|
|
};
|
|
this.vm = vm;
|
|
this.unique = (0, _util.uniqueId)();
|
|
this.refName = field + '' + this.unique;
|
|
this.el = {};
|
|
this.verify();
|
|
this.handle();
|
|
};
|
|
|
|
handler.prototype = {
|
|
handle: function handle() {
|
|
this.changeParseValue(this.rule.value);
|
|
},
|
|
verify: function verify() {},
|
|
getField: function getField() {
|
|
return this.rule.field;
|
|
},
|
|
getValidate: function getValidate() {
|
|
return this.rule.validate;
|
|
},
|
|
getValue: function getValue() {
|
|
return this.parseValue;
|
|
},
|
|
changeValue: function changeValue(value) {
|
|
this.rule.value = value;
|
|
this.handle();
|
|
},
|
|
getRule: function getRule() {
|
|
return this.rule;
|
|
},
|
|
getParseValue: function getParseValue() {
|
|
return this.parseValue;
|
|
},
|
|
changeParseValue: function changeParseValue(parseValue) {
|
|
var b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
|
|
if (b === true) this.vm.changeFormData(this.rule.field, parseValue);
|
|
this.parseValue = parseValue;
|
|
},
|
|
mounted: function mounted() {
|
|
this.el = this.vm.$refs[this.refName];
|
|
}
|
|
};
|
|
|
|
exports.handlerFactory = handlerFactory;
|
|
|
|
/***/ }),
|
|
/* 3 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.renderFactory = undefined;
|
|
|
|
var _cvm = __webpack_require__(5);
|
|
|
|
var _cvm2 = _interopRequireDefault(_cvm);
|
|
|
|
var _props = __webpack_require__(6);
|
|
|
|
var _props2 = _interopRequireDefault(_props);
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
var renderFactory = function renderFactory(prototypeExtend) {
|
|
var $r = function $r(vm, handler, options) {
|
|
render.call(this, vm, handler, options);
|
|
};
|
|
$r.prototype = Object.create(render.prototype);
|
|
Object.assign($r.prototype, prototypeExtend);
|
|
$r.prototype.constructor = $r;
|
|
return $r;
|
|
};
|
|
|
|
var render = function render(vm, handler) {
|
|
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
|
|
this.handler = handler;
|
|
this.options = options;
|
|
this.vm = vm;
|
|
this.cvm = _cvm2.default.instance(vm.$createElement);
|
|
this.event = handler.rule.event;
|
|
this.init();
|
|
};
|
|
|
|
render.prototype = {
|
|
props: _props2.default.instance(),
|
|
init: function init() {},
|
|
parse: function parse() {
|
|
throw new Error('请实现parse方法');
|
|
},
|
|
inputProps: function inputProps() {
|
|
var _this = this;
|
|
|
|
var _handler = this.handler,
|
|
refName = _handler.refName,
|
|
unique = _handler.unique,
|
|
_handler$rule = _handler.rule,
|
|
props = _handler$rule.props,
|
|
field = _handler$rule.field;
|
|
|
|
return this.props.props(Object.assign(props, { model: 'formData.' + field, value: this.vm.formData[field], elementId: refName })).ref(refName).key('fip' + unique).on(this.event).on('input', function (value) {
|
|
_this.vm.$emit('input', value);
|
|
_this.vm.$set(_this.vm.formData, field, value);
|
|
});
|
|
}
|
|
};
|
|
|
|
exports.renderFactory = renderFactory;
|
|
|
|
/***/ }),
|
|
/* 4 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.getMaker = exports.timeStampToDate = exports.getGlobalApi = exports.createHandler = exports.formCreateStyle = exports.getConfig = exports.getComponent = undefined;
|
|
|
|
var _util = __webpack_require__(1);
|
|
|
|
var _cascader = __webpack_require__(9);
|
|
|
|
var _cascader2 = _interopRequireDefault(_cascader);
|
|
|
|
var _checkbox = __webpack_require__(10);
|
|
|
|
var _checkbox2 = _interopRequireDefault(_checkbox);
|
|
|
|
var _colorPicker = __webpack_require__(11);
|
|
|
|
var _colorPicker2 = _interopRequireDefault(_colorPicker);
|
|
|
|
var _datePicker = __webpack_require__(12);
|
|
|
|
var _datePicker2 = _interopRequireDefault(_datePicker);
|
|
|
|
var _input = __webpack_require__(13);
|
|
|
|
var _input2 = _interopRequireDefault(_input);
|
|
|
|
var _inputNumber = __webpack_require__(14);
|
|
|
|
var _inputNumber2 = _interopRequireDefault(_inputNumber);
|
|
|
|
var _radio = __webpack_require__(15);
|
|
|
|
var _radio2 = _interopRequireDefault(_radio);
|
|
|
|
var _select = __webpack_require__(16);
|
|
|
|
var _select2 = _interopRequireDefault(_select);
|
|
|
|
var _switch = __webpack_require__(17);
|
|
|
|
var _switch2 = _interopRequireDefault(_switch);
|
|
|
|
var _timePicker = __webpack_require__(18);
|
|
|
|
var _timePicker2 = _interopRequireDefault(_timePicker);
|
|
|
|
var _hidden = __webpack_require__(19);
|
|
|
|
var _hidden2 = _interopRequireDefault(_hidden);
|
|
|
|
var _upload = __webpack_require__(20);
|
|
|
|
var _upload2 = _interopRequireDefault(_upload);
|
|
|
|
var _rate = __webpack_require__(21);
|
|
|
|
var _rate2 = _interopRequireDefault(_rate);
|
|
|
|
var _slider = __webpack_require__(22);
|
|
|
|
var _slider2 = _interopRequireDefault(_slider);
|
|
|
|
var _frame = __webpack_require__(23);
|
|
|
|
var _frame2 = _interopRequireDefault(_frame);
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
var componentList = {
|
|
hidden: _hidden2.default,
|
|
input: _input2.default,
|
|
radio: _radio2.default,
|
|
checkbox: _checkbox2.default,
|
|
switch: _switch2.default,
|
|
select: _select2.default,
|
|
datepicker: _datePicker2.default,
|
|
timepicker: _timePicker2.default,
|
|
inputnumber: _inputNumber2.default,
|
|
colorpicker: _colorPicker2.default,
|
|
upload: _upload2.default,
|
|
cascader: _cascader2.default,
|
|
rate: _rate2.default,
|
|
slider: _slider2.default,
|
|
frame: _frame2.default
|
|
};
|
|
|
|
var getComponent = function getComponent(componentName) {
|
|
if (componentList[componentName] === undefined) throw new Error(componentName + ' \u8868\u5355\u7C7B\u578B\u4E0D\u5B58\u5728');
|
|
return componentList[componentName];
|
|
};
|
|
|
|
var getConfig = function getConfig(Vue) {
|
|
var vm = new Vue();
|
|
return {
|
|
el: null,
|
|
form: {
|
|
inline: false,
|
|
labelPosition: 'right',
|
|
labelWidth: 125,
|
|
showMessage: true,
|
|
autocomplete: 'off'
|
|
},
|
|
upload: {
|
|
beforeUpload: function beforeUpload() {},
|
|
onProgress: function onProgress(event, file, fileList) {},
|
|
onSuccess: function onSuccess(response, file, fileList) {},
|
|
onError: function onError(error, file, fileList) {},
|
|
onPreview: function onPreview(file) {},
|
|
onRemove: function onRemove(file, fileList) {},
|
|
onFormatError: function onFormatError(file, fileList) {},
|
|
onExceededSize: function onExceededSize(file, fileList) {},
|
|
handleIcon: 'ios-eye-outline',
|
|
onHandle: function onHandle(src) {
|
|
vm.$Modal.info({
|
|
title: "预览",
|
|
render: function render(h) {
|
|
return h('img', { attrs: { src: src }, style: "width: 100%" });
|
|
}
|
|
});
|
|
},
|
|
allowRemove: true
|
|
},
|
|
onSubmit: function onSubmit(formData) {},
|
|
submitBtn: {
|
|
type: "primary",
|
|
size: "large",
|
|
shape: undefined,
|
|
long: true,
|
|
htmlType: "button",
|
|
disabled: false,
|
|
icon: "ios-upload",
|
|
innerText: "提交",
|
|
loading: false
|
|
}
|
|
};
|
|
};
|
|
|
|
var createHandler = function createHandler(vm, rule, createOptions) {
|
|
var component = getComponent(rule.type),
|
|
$h = new component.handler(vm, rule);
|
|
$h.render = new component.render(vm, $h, createOptions);
|
|
return $h;
|
|
};
|
|
|
|
var formCreateStyle = '.form-create{padding:25px;} .fc-files{display: inline-block;width: 58px;height: 58px;text-align: center;line-height: 60px;border: 1px solid transparent;border-radius: 4px;overflow: hidden;background: #fff;position: relative;box-shadow: 0 1px 1px rgba(0,0,0,.2);margin-right: 4px;box-sizing: border-box;}' + ' .fc-files>.ivu-icon{transform: translateY(20%);}' + '.fc-files img{width:100%;height:100%;display:block;}' + '.fc-upload .ivu-upload{display: inline-block;}' + '.fc-upload-btn i{font-size: 20px;}' + '.fc-upload .fc-upload-cover{ display: none; position: absolute; top: 0; bottom: 0; left: 0; right: 0; background: rgba(0,0,0,.6); }' + '.fc-upload .fc-upload-cover i{ color: #fff; font-size: 20px; cursor: pointer; margin: 0 2px; }' + '.fc-files:hover .fc-upload-cover{ display: block; }' + '.fc-upload .ivu-upload-list-file{ display: inline-block;float: left; }' + '.fc-upload .ivu-upload-list{ position: absolute;left: 0; }' + '.fc-upload-btn{ width: 58px;height: 58px;line-height: 58px;display:inline-block;background: #fff;border: 1px dashed #dddee1;border-radius: 4px;text-align: center;cursor: pointer;position: relative;overflow: hidden;transition: border-color .2s ease; } .fc-spin-icon-load{animation: ani-fc-spin 1s linear infinite;} @-webkit-keyframes ani-fc-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes ani-fc-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg);transform:rotate(180deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}';
|
|
|
|
var getGlobalApi = function getGlobalApi(fComponent) {
|
|
return {
|
|
formData: function formData() {
|
|
var data = {};
|
|
fComponent.fields().map(function (field) {
|
|
field = field.toString();
|
|
data[field] = fComponent.handlers[field].getValue();
|
|
});
|
|
return data;
|
|
},
|
|
getValue: function getValue(field) {
|
|
field = field.toString();
|
|
var handler = fComponent.handlers[field];
|
|
if (handler === undefined) console.error(field + ' \u5B57\u6BB5\u4E0D\u5B58\u5728!');else {
|
|
return handler.getValue();
|
|
}
|
|
},
|
|
changeField: function changeField(field, value) {
|
|
field = field.toString();
|
|
var handler = fComponent.handlers[field];
|
|
if (handler === undefined) console.error(field + ' \u5B57\u6BB5\u4E0D\u5B58\u5728!');else {
|
|
if ((0, _util.isFunction)(value)) value(handler.getValue(), function change(changeValue) {
|
|
handler.changeValue(changeValue);
|
|
});else handler.changeValue(value);
|
|
}
|
|
},
|
|
removeField: function removeField(field) {
|
|
field = field.toString();
|
|
fComponent.removeField(field);
|
|
},
|
|
validate: function validate(successFn, errorFn) {
|
|
fComponent.getFormRef().validate(function (valid) {
|
|
valid === true ? successFn && successFn() : errorFn && errorFn();
|
|
});
|
|
},
|
|
validateField: function validateField(field, callback) {
|
|
field = field.toString();
|
|
fComponent.getFormRef().validateField(field, callback);
|
|
},
|
|
resetFields: function resetFields() {
|
|
fComponent.getFormRef().resetFields();
|
|
},
|
|
destroy: function destroy() {
|
|
fComponent.vm.$el.remove();
|
|
fComponent.vm.$destroy();
|
|
},
|
|
fields: function fields() {
|
|
return fComponent.fields();
|
|
},
|
|
append: function append(rule, after) {
|
|
fComponent.append(rule, after, false);
|
|
},
|
|
prepend: function prepend(rule, after) {
|
|
fComponent.append(rule, after, true);
|
|
},
|
|
submit: function submit(successFn) {
|
|
var _this = this;
|
|
|
|
this.validate(function () {
|
|
var formData = _this.formData();
|
|
if ((0, _util.isFunction)(successFn)) successFn(formData);else fComponent.options.onSubmit && fComponent.options.onSubmit(formData);
|
|
});
|
|
},
|
|
submitStatus: function submitStatus() {
|
|
var _props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
|
|
var props = (0, _util.deepExtend)(Object.create(null), _props);
|
|
fComponent.vm.changeButtonProps(props);
|
|
},
|
|
// vm:fComponent,
|
|
btn: {
|
|
loading: function loading() {
|
|
fComponent.vm.changeButtonProps({ loading: true });
|
|
},
|
|
finish: function finish() {
|
|
fComponent.vm.changeButtonProps({ loading: false });
|
|
}
|
|
},
|
|
closeModal: function closeModal() {
|
|
fComponent.vm.$Modal.remove();
|
|
}
|
|
};
|
|
};
|
|
|
|
var timeStampToDate = function timeStampToDate(timeStamp) {
|
|
if ((0, _util.isDate)(timeStamp)) return timeStamp;else {
|
|
var date = new Date(timeStamp);
|
|
return date.toString() === 'Invalid Date' ? timeStamp : date;
|
|
}
|
|
};
|
|
|
|
var getMaker = function getMaker() {
|
|
var maker = Object.keys(componentList).reduce(function (initial, name) {
|
|
initial[name] = componentList[name].make;
|
|
return initial;
|
|
}, {});
|
|
maker.number = componentList.inputnumber.make;
|
|
maker.time = componentList.timepicker.make;
|
|
maker.date = componentList.datepicker.make;
|
|
maker.color = componentList.colorpicker.make;
|
|
return maker;
|
|
};
|
|
|
|
exports.getComponent = getComponent;
|
|
exports.getConfig = getConfig;
|
|
exports.formCreateStyle = formCreateStyle;
|
|
exports.createHandler = createHandler;
|
|
exports.getGlobalApi = getGlobalApi;
|
|
exports.timeStampToDate = timeStampToDate;
|
|
exports.getMaker = getMaker;
|
|
|
|
/***/ }),
|
|
/* 5 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
var _util = __webpack_require__(1);
|
|
|
|
var cvm = function cvm() {
|
|
var createElement = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : (0, _util.throwIfMissing)('缺少参数:createElement');
|
|
|
|
this.$h = createElement;
|
|
};
|
|
|
|
var _instance = null;
|
|
|
|
var vm = null;
|
|
|
|
cvm.instance = function (createElement) {
|
|
if (false === _instance instanceof cvm) _instance = new cvm(createElement);
|
|
return _instance;
|
|
};
|
|
|
|
cvm.setVm = function ($vm) {
|
|
vm = $vm;
|
|
};
|
|
cvm.clearVm = function () {
|
|
vm = null;
|
|
};
|
|
|
|
cvm.prototype = {
|
|
form: function form(data, VNodeFn) {
|
|
return this.make('i-form', data, VNodeFn);
|
|
},
|
|
formItem: function formItem(data, VNodeFn) {
|
|
return this.make('form-Item', data, VNodeFn);
|
|
},
|
|
input: function input(data, VNodeFn) {
|
|
return this.make('i-input', data, VNodeFn);
|
|
},
|
|
inputNumber: function inputNumber(data, VNodeFn) {
|
|
return this.make('Input-Number', data, VNodeFn);
|
|
},
|
|
radioGroup: function radioGroup(data, VNodeFn) {
|
|
return this.make('Radio-Group', data, VNodeFn);
|
|
},
|
|
radio: function radio(data, VNodeFn) {
|
|
return this.make('Radio', data, VNodeFn);
|
|
},
|
|
checkboxGroup: function checkboxGroup(data, VNodeFn) {
|
|
return this.make('Checkbox-Group', data, VNodeFn);
|
|
},
|
|
checkbox: function checkbox(data, VNodeFn) {
|
|
return this.make('Checkbox', data, VNodeFn);
|
|
},
|
|
select: function select(data, VNodeFn) {
|
|
return this.make('i-select', data, VNodeFn);
|
|
},
|
|
option: function option(data, VNodeFn) {
|
|
return this.make('i-option', data, VNodeFn);
|
|
},
|
|
switch: function _switch(data, VNodeFn) {
|
|
return this.make('i-switch', data, VNodeFn);
|
|
},
|
|
datePicker: function datePicker(data, VNodeFn) {
|
|
return this.make('Date-Picker', data, VNodeFn);
|
|
},
|
|
timePicker: function timePicker(data, VNodeFn) {
|
|
return this.make('Time-Picker', data, VNodeFn);
|
|
},
|
|
colorPicker: function colorPicker(data, VNodeFn) {
|
|
return this.make('Color-Picker', data, VNodeFn);
|
|
},
|
|
cascader: function cascader(data, VNodeFn) {
|
|
return this.make('Cascader', data, VNodeFn);
|
|
},
|
|
upload: function upload(data, VNodeFn) {
|
|
return this.make('Upload', data, VNodeFn);
|
|
},
|
|
rate: function rate(data, VNodeFn) {
|
|
return this.make('Rate', data, VNodeFn);
|
|
},
|
|
slider: function slider(data, VNodeFn) {
|
|
return this.make('Slider', data, VNodeFn);
|
|
},
|
|
span: function span(data, VNodeFn) {
|
|
return this.make('span', data, VNodeFn);
|
|
},
|
|
icon: function icon(data, VNodeFn) {
|
|
return this.make('Icon', data, VNodeFn);
|
|
},
|
|
button: function button(data, VNodeFn) {
|
|
return this.make('i-button', data, VNodeFn);
|
|
},
|
|
progress: function progress(data, VNodeFn) {
|
|
return this.make('i-progress', data, VNodeFn);
|
|
},
|
|
modal: function modal(data, VNodeFn) {
|
|
return this.make('Modal', data, VNodeFn);
|
|
},
|
|
make: function make(nodeName, data, VNodeFn) {
|
|
if ((0, _util.isString)(data)) data = { domProps: { innerHTML: data } };
|
|
var Node = this.$h(nodeName, data, this.getVNode(VNodeFn));
|
|
if (vm !== null) Node.context = vm;
|
|
return Node;
|
|
},
|
|
getVNode: function getVNode(VNode) {
|
|
return (0, _util.isFunction)(VNode) ? VNode() : VNode;
|
|
}
|
|
};
|
|
|
|
exports.default = cvm;
|
|
|
|
/***/ }),
|
|
/* 6 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
var _util = __webpack_require__(1);
|
|
|
|
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
|
|
|
var props = function props() {
|
|
this._data = this._initData();
|
|
this._prev = null;
|
|
};
|
|
|
|
var _instance = null;
|
|
|
|
props.instance = function () {
|
|
if (false === _instance instanceof props) _instance = new props();
|
|
return _instance;
|
|
};
|
|
|
|
props.prototype = {
|
|
_initData: function _initData() {
|
|
return {
|
|
class: {},
|
|
style: {},
|
|
attrs: {},
|
|
props: {},
|
|
domProps: {},
|
|
on: {},
|
|
nativeOn: {},
|
|
directives: [],
|
|
scopedSlots: {},
|
|
slot: undefined,
|
|
key: undefined,
|
|
ref: undefined
|
|
};
|
|
},
|
|
class: function _class() {
|
|
var _this = this;
|
|
|
|
var classList = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : (0, _util.throwIfMissing)('缺少参数:classList');
|
|
var status = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
|
|
|
|
if ((0, _util.isArray)(classList)) {
|
|
classList.map(function (cls) {
|
|
_this._data.class[cls.toString()] = true;
|
|
});
|
|
} else if ((0, _util.isPlainObject)(classList)) {
|
|
this._data.class = (0, _util.assign)({}, this._data.class, classList);
|
|
} else {
|
|
this._data.class[classList.toString()] = status === undefined ? true : status;
|
|
}
|
|
return this;
|
|
},
|
|
style: function style() {
|
|
var _style = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : (0, _util.throwIfMissing)('缺少参数:style');
|
|
|
|
var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
|
|
|
|
if ((0, _util.isPlainObject)(_style)) {
|
|
this._data.style = (0, _util.assign)({}, this._data.style, _style);
|
|
} else if (value !== undefined) {
|
|
this._data.style[_style.toString()] = value;
|
|
}
|
|
return this;
|
|
},
|
|
attrs: function attrs() {
|
|
var _attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : (0, _util.throwIfMissing)('缺少参数:attrs');
|
|
|
|
var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
|
|
if ((0, _util.isPlainObject)(_attrs)) {
|
|
this._data.attrs = (0, _util.assign)({}, this._data.attrs, _attrs);
|
|
} else {
|
|
this._data.attrs[_attrs.toString()] = value;
|
|
}
|
|
return this;
|
|
},
|
|
props: function props() {
|
|
var _props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : (0, _util.throwIfMissing)('缺少参数:props');
|
|
|
|
var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
|
|
|
|
if ((0, _util.isPlainObject)(_props)) {
|
|
this._data.props = (0, _util.assign)({}, this._data.props, _props);
|
|
} else {
|
|
this._data.props[_props.toString()] = value;
|
|
}
|
|
return this;
|
|
},
|
|
domProps: function domProps() {
|
|
var _domProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : (0, _util.throwIfMissing)('缺少参数:domProps');
|
|
|
|
var value = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
|
|
|
|
if ((0, _util.isPlainObject)(_domProps)) {
|
|
this._data.domProps = (0, _util.assign)({}, this._data.domProps, _domProps);
|
|
} else {
|
|
this._data.domProps[_domProps.toString()] = value;
|
|
}
|
|
return this;
|
|
},
|
|
on: function on() {
|
|
var onType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : (0, _util.throwIfMissing)('缺少参数:onType');
|
|
var call = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function () {};
|
|
|
|
if ((0, _util.isPlainObject)(onType)) {
|
|
this._data.on = (0, _util.assign)({}, this._data.on, onType);
|
|
} else {
|
|
this._data.on[onType.toString()] = call;
|
|
}
|
|
return this;
|
|
},
|
|
nativeOn: function nativeOn() {
|
|
var onType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : (0, _util.throwIfMissing)('缺少参数:onType');
|
|
var call = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function () {};
|
|
|
|
if ((0, _util.isPlainObject)(onType)) {
|
|
this._data.nativeOn = (0, _util.assign)({}, this._data.nativeOn, onType);
|
|
} else {
|
|
this._data.nativeOn[onType.toString()] = call;
|
|
}
|
|
return this;
|
|
},
|
|
directives: function directives() {
|
|
var _directives = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : (0, _util.throwIfMissing)('缺少参数:directives');
|
|
|
|
this._data.directives = _util.concat.call.apply(_util.concat, _toConsumableArray(this._data.directives).concat(_toConsumableArray(_directives)));
|
|
return this;
|
|
},
|
|
scopedSlots: function scopedSlots() {
|
|
var scopedSlot = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : (0, _util.throwIfMissing)('缺少参数:scopedSlot');
|
|
var call = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function () {};
|
|
|
|
if ((0, _util.isPlainObject)(scopedSlot)) {
|
|
this._data.scopedSlots = (0, _util.assign)({}, this._data.scopedSlots, scopedSlot);
|
|
} else {
|
|
this._data.scopedSlots[scopedSlot.toString()] = call;
|
|
}
|
|
return this;
|
|
},
|
|
slot: function slot(_slot) {
|
|
this._data.slot = _slot;
|
|
return this;
|
|
},
|
|
key: function key(_key) {
|
|
this._data.key = _key;
|
|
return this;
|
|
},
|
|
ref: function ref(_ref) {
|
|
this._data.ref = _ref;
|
|
return this;
|
|
},
|
|
init: function init() {
|
|
this._data = this._initData();
|
|
},
|
|
get: function get() {
|
|
this._prev = this._data;
|
|
this.init();
|
|
return this._prev;
|
|
},
|
|
getPrev: function getPrev() {
|
|
return this._prev;
|
|
}
|
|
};
|
|
|
|
exports.default = props;
|
|
|
|
/***/ }),
|
|
/* 7 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
var _formCreate = __webpack_require__(8);
|
|
|
|
var _formCreate2 = _interopRequireDefault(_formCreate);
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
if (typeof window !== 'undefined') {
|
|
window["formCreate"] = _formCreate2.default;
|
|
if (window.Vue && (window.iview || window.iView)) {
|
|
window.Vue.use(_formCreate2.default);
|
|
}
|
|
}
|
|
|
|
module.exports.default = module.exports = _formCreate2.default;
|
|
|
|
/***/ }),
|
|
/* 8 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
var _util = __webpack_require__(1);
|
|
|
|
var _common = __webpack_require__(4);
|
|
|
|
var _form = __webpack_require__(24);
|
|
|
|
var _form2 = _interopRequireDefault(_form);
|
|
|
|
var _formCreateComponent = __webpack_require__(25);
|
|
|
|
var _formCreateComponent2 = _interopRequireDefault(_formCreateComponent);
|
|
|
|
var _make = __webpack_require__(0);
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
var version = '1.2.3';
|
|
|
|
var maker = (0, _common.getMaker)();
|
|
|
|
var formCreateStyleElId = 'form-create-style';
|
|
|
|
var formCreate = function formCreate(rules, options) {
|
|
if (!this instanceof formCreate) throwIfMissing('formCreate is a constructor and should be called with the `new` keyword');
|
|
this.rules = Array.isArray(rules) ? rules : [];
|
|
this.handlers = {};
|
|
this.fRender = {};
|
|
this.formData = {};
|
|
this.validate = {};
|
|
this.fieldList = [];
|
|
options.el = !options.el ? window.document.body : (0, _util.isElement)(options.el) ? options.el : document.querySelector(options.el);
|
|
this.options = options;
|
|
};
|
|
|
|
formCreate.createStyle = function () {
|
|
if (document.getElementById(formCreateStyleElId) !== null) return;
|
|
var style = document.createElement('style');
|
|
style.id = formCreateStyleElId;
|
|
style.innerText = _common.formCreateStyle;
|
|
document.getElementsByTagName('head')[0].appendChild(style);
|
|
};
|
|
|
|
formCreate.install = function (Vue) {
|
|
var globalOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
|
|
formCreate.createStyle();
|
|
var options = (0, _util.deepExtend)((0, _util.deepExtend)(Object.create(null), (0, _common.getConfig)(Vue)), globalOptions);
|
|
Vue.prototype.$formCreate = function (rules) {
|
|
var _opt = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
|
|
var opt = (0, _util.isElement)(_opt) ? { el: _opt } : _opt;
|
|
var fComponent = new formCreate(rules, (0, _util.deepExtend)((0, _util.deepExtend)(Object.create(null), options), opt)),
|
|
$vm = fComponent.create(Vue);
|
|
return fComponent.fCreateApi;
|
|
};
|
|
Vue.prototype.$formCreate.version = version;
|
|
Vue.prototype.$formCreate.maker = maker;
|
|
};
|
|
|
|
formCreate.prototype = {
|
|
checkRule: function checkRule(rule) {
|
|
rule.type = rule.type === undefined ? 'hidden' : rule.type.toLowerCase();
|
|
if (!rule.field) rule.field = '';
|
|
return rule;
|
|
},
|
|
setHandler: function setHandler(handler) {
|
|
var field = handler.rule.field;
|
|
this.handlers[field] = handler;
|
|
this.formData[field] = handler.getParseValue();
|
|
this.validate[field] = handler.getValidate();
|
|
},
|
|
init: function init(vm) {
|
|
var _this = this;
|
|
|
|
this.vm = vm;
|
|
this.rules.forEach(function (rule, index) {
|
|
if (rule instanceof _make.make) _this.rules[index] = rule.getRule();
|
|
});
|
|
this.rules.filter(function (rule) {
|
|
return rule.field !== undefined;
|
|
}).forEach(function (rule) {
|
|
rule = _this.checkRule(rule);
|
|
var handler = (0, _common.createHandler)(_this.vm, rule, _this.options);
|
|
if (_this.fieldList.indexOf(handler.rule.field) === -1) {
|
|
_this.setHandler(handler);
|
|
_this.fieldList.push(handler.rule.field);
|
|
} else {
|
|
console.error(handler.rule.field + " \u5B57\u6BB5\u5DF2\u5B58\u5728");
|
|
}
|
|
});
|
|
this.fCreateApi = (0, _common.getGlobalApi)(this);
|
|
vm.$set(vm, 'formData', this.formData);
|
|
vm.$set(vm, 'buttonProps', this.options.submitBtn);
|
|
this.fRender = new _form2.default(this);
|
|
},
|
|
create: function create(Vue) {
|
|
var $fCreate = Vue.extend(this.component()),
|
|
$vm = new $fCreate().$mount();
|
|
this.options.el.appendChild($vm.$el);
|
|
return $vm;
|
|
},
|
|
component: function component() {
|
|
return (0, _formCreateComponent2.default)(this);
|
|
},
|
|
append: function append(rule, after, pre) {
|
|
if (rule instanceof _make.make) rule = rule.getRule();
|
|
var _rule = (0, _util.deepExtend)(Object.create(null), this.checkRule(rule));
|
|
var handler = (0, _common.createHandler)(this.vm, _rule, this.options);
|
|
if (Object.keys(this.handlers).indexOf(handler.rule.field) !== -1) throw new Error(_rule.field + "\u5B57\u6BB5\u5DF2\u5B58\u5728");
|
|
this.fRender.setRender(handler, after, pre);
|
|
this.setHandler(handler);
|
|
this.vm.setField(handler.rule.field, handler.getParseValue());
|
|
this.addHandlerWatch(handler);
|
|
this.vm.$nextTick(function () {
|
|
handler.mounted();
|
|
});
|
|
},
|
|
removeField: function removeField(field) {
|
|
if (this.handlers[field] === undefined) throw new Error(field + "\u5B57\u6BB5\u4E0D\u5B58\u5728");
|
|
this.vm.removeFormData(field);
|
|
delete this.handlers[field];
|
|
delete this.validate[field];
|
|
this.fRender.removeRender(field);
|
|
delete this.formData[field];
|
|
},
|
|
addHandlerWatch: function addHandlerWatch(handler) {
|
|
var unWatch = this.vm.$watch("formData." + handler.rule.field, function (n, o) {
|
|
if (handler !== undefined) handler.changeParseValue(n, false);else unWatch();
|
|
});
|
|
},
|
|
getFormRef: function getFormRef() {
|
|
return this.vm.$refs[this.fRender.refName];
|
|
},
|
|
fields: function fields() {
|
|
return Object.keys(this.formData);
|
|
}
|
|
};
|
|
|
|
exports.default = {
|
|
install: formCreate.install,
|
|
default: formCreate,
|
|
maker: maker,
|
|
version: version
|
|
};
|
|
|
|
/***/ }),
|
|
/* 9 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.make = exports.render = exports.handler = undefined;
|
|
|
|
var _handler = __webpack_require__(2);
|
|
|
|
var _render = __webpack_require__(3);
|
|
|
|
var _util = __webpack_require__(1);
|
|
|
|
var _make = __webpack_require__(0);
|
|
|
|
var _make2 = _interopRequireDefault(_make);
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
var handler = (0, _handler.handlerFactory)({
|
|
verify: function verify() {
|
|
if (!this.rule.props.data) this.rule.props.data = [];
|
|
if (!(0, _util.isArray)(this.rule.value)) this.rule.value = [];
|
|
},
|
|
getValue: function getValue() {
|
|
return this.el.value;
|
|
}
|
|
});
|
|
|
|
var render = (0, _render.renderFactory)({
|
|
parse: function parse() {
|
|
this.propsData = this.inputProps().get();
|
|
return [this.cvm.cascader(this.propsData)];
|
|
}
|
|
});
|
|
|
|
var make = (0, _make2.default)('cascader', ['props', 'event', 'validate']);
|
|
|
|
var component = { handler: handler, render: render, make: make };
|
|
|
|
exports.default = component;
|
|
exports.handler = handler;
|
|
exports.render = render;
|
|
exports.make = make;
|
|
|
|
/***/ }),
|
|
/* 10 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.make = exports.render = exports.handler = undefined;
|
|
|
|
var _handler2 = __webpack_require__(2);
|
|
|
|
var _render = __webpack_require__(3);
|
|
|
|
var _util = __webpack_require__(1);
|
|
|
|
var _make = __webpack_require__(0);
|
|
|
|
var _make2 = _interopRequireDefault(_make);
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
var handler = (0, _handler2.handlerFactory)({
|
|
handle: function handle() {
|
|
var _this = this;
|
|
|
|
var parseValue = [];
|
|
if (false === (0, _util.isArray)(this.rule.value)) this.rule.value = [this.rule.value];
|
|
this.rule.value.forEach(function (val) {
|
|
_this.rule.options.forEach(function (option) {
|
|
option.value === val && parseValue.push(option.label);
|
|
});
|
|
});
|
|
this.changeParseValue(parseValue);
|
|
},
|
|
getValue: function getValue() {
|
|
var _this2 = this;
|
|
|
|
var parseValue = [];
|
|
this.parseValue.forEach(function (value) {
|
|
_this2.rule.options.forEach(function (option) {
|
|
option.label === value && parseValue.push(option.value);
|
|
});
|
|
});
|
|
parseValue = this.rule.options.length === 1 ? parseValue[0] === undefined ? '' : parseValue[0] : parseValue;
|
|
return parseValue;
|
|
}
|
|
});
|
|
|
|
var render = (0, _render.renderFactory)({
|
|
parse: function parse() {
|
|
var _this3 = this;
|
|
|
|
this.propsData = this.inputProps().get();
|
|
var _handler = this.handler,
|
|
unique = _handler.unique,
|
|
options = _handler.rule.options;
|
|
|
|
return [this.cvm.checkboxGroup(this.propsData, function () {
|
|
return options.map(function (option, index) {
|
|
return _this3.cvm.checkbox({ props: option, key: "copt" + index + unique });
|
|
});
|
|
})];
|
|
}
|
|
});
|
|
|
|
var make = (0, _make2.default)('checkbox', ['options', 'props', 'event', 'validate']);
|
|
|
|
var component = { handler: handler, render: render, make: make };
|
|
|
|
exports.default = component;
|
|
exports.handler = handler;
|
|
exports.render = render;
|
|
exports.make = make;
|
|
|
|
/***/ }),
|
|
/* 11 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.make = exports.render = exports.handler = undefined;
|
|
|
|
var _handler = __webpack_require__(2);
|
|
|
|
var _render = __webpack_require__(3);
|
|
|
|
var _make = __webpack_require__(0);
|
|
|
|
var _make2 = _interopRequireDefault(_make);
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
var handler = (0, _handler.handlerFactory)({});
|
|
|
|
var render = (0, _render.renderFactory)({
|
|
parse: function parse() {
|
|
this.propsData = this.inputProps().get();
|
|
return [this.cvm.colorPicker(this.propsData)];
|
|
}
|
|
});
|
|
|
|
var make = (0, _make2.default)('colorpicker', ['props', 'event', 'validate']);
|
|
|
|
var component = { handler: handler, render: render, make: make };
|
|
|
|
exports.default = component;
|
|
exports.handler = handler;
|
|
exports.render = render;
|
|
exports.make = make;
|
|
|
|
/***/ }),
|
|
/* 12 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.make = exports.render = exports.handler = undefined;
|
|
|
|
var _handler = __webpack_require__(2);
|
|
|
|
var _render = __webpack_require__(3);
|
|
|
|
var _util = __webpack_require__(1);
|
|
|
|
var _common = __webpack_require__(4);
|
|
|
|
var _make = __webpack_require__(0);
|
|
|
|
var _make2 = _interopRequireDefault(_make);
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
var handler = (0, _handler.handlerFactory)({
|
|
verify: function verify() {
|
|
this.rule.props.type = !this.rule.props.type ? 'date' : this.rule.props.type;
|
|
},
|
|
handle: function handle() {
|
|
var parseValue = this.rule.value;
|
|
if (['daterange', 'datetimerange'].indexOf(this.rule.props.type) !== -1) {
|
|
(0, _util.isArray)(parseValue) || (parseValue = ['', '']);
|
|
parseValue = parseValue.map(function (time) {
|
|
return !time ? '' : (0, _common.timeStampToDate)(time);
|
|
});
|
|
} else {
|
|
(0, _util.isArray)(parseValue) && (parseValue = parseValue[0]);
|
|
parseValue = !parseValue ? '' : (0, _common.timeStampToDate)(parseValue);
|
|
}
|
|
this.changeParseValue(parseValue);
|
|
},
|
|
getValue: function getValue() {
|
|
return this.el.publicStringValue;
|
|
}
|
|
});
|
|
|
|
var render = (0, _render.renderFactory)({
|
|
parse: function parse() {
|
|
this.propsData = this.inputProps().get();
|
|
return [this.cvm.datePicker(this.propsData)];
|
|
}
|
|
});
|
|
|
|
var make = (0, _make2.default)('datepicker', ['props', 'event', 'validate']);
|
|
|
|
var component = { handler: handler, render: render, make: make };
|
|
|
|
exports.default = component;
|
|
exports.handler = handler;
|
|
exports.render = render;
|
|
exports.make = make;
|
|
|
|
/***/ }),
|
|
/* 13 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.make = exports.render = exports.handler = undefined;
|
|
|
|
var _handler = __webpack_require__(2);
|
|
|
|
var _render = __webpack_require__(3);
|
|
|
|
var _make = __webpack_require__(0);
|
|
|
|
var _make2 = _interopRequireDefault(_make);
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
var handler = (0, _handler.handlerFactory)({});
|
|
|
|
var render = (0, _render.renderFactory)({
|
|
parse: function parse() {
|
|
this.propsData = this.inputProps().get();
|
|
return [this.cvm.input(this.propsData)];
|
|
}
|
|
});
|
|
|
|
var make = (0, _make2.default)('input', ['props', 'event', 'validate', 'slot']);
|
|
|
|
var component = { handler: handler, render: render, make: make };
|
|
|
|
exports.default = component;
|
|
exports.handler = handler;
|
|
exports.render = render;
|
|
exports.make = make;
|
|
|
|
/***/ }),
|
|
/* 14 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.make = exports.render = exports.handler = undefined;
|
|
|
|
var _handler = __webpack_require__(2);
|
|
|
|
var _render = __webpack_require__(3);
|
|
|
|
var _make = __webpack_require__(0);
|
|
|
|
var _make2 = _interopRequireDefault(_make);
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
var handler = (0, _handler.handlerFactory)({
|
|
handle: function handle() {
|
|
var parseValue = parseFloat(this.rule.value);
|
|
if (Number.isNaN(parseValue)) parseValue = '';
|
|
this.changeParseValue(parseValue);
|
|
}
|
|
});
|
|
|
|
var render = (0, _render.renderFactory)({
|
|
parse: function parse() {
|
|
this.propsData = this.inputProps().get();
|
|
return [this.cvm.inputNumber(this.propsData)];
|
|
}
|
|
});
|
|
|
|
var make = (0, _make2.default)('inputnumber', ['props', 'event', 'validate']);
|
|
|
|
var component = { handler: handler, render: render, make: make };
|
|
|
|
exports.default = component;
|
|
exports.handler = handler;
|
|
exports.render = render;
|
|
exports.make = make;
|
|
|
|
/***/ }),
|
|
/* 15 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.make = exports.render = exports.handler = undefined;
|
|
|
|
var _handler2 = __webpack_require__(2);
|
|
|
|
var _render = __webpack_require__(3);
|
|
|
|
var _make = __webpack_require__(0);
|
|
|
|
var _make2 = _interopRequireDefault(_make);
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
var handler = (0, _handler2.handlerFactory)({
|
|
handle: function handle() {
|
|
var _this = this;
|
|
|
|
var parseValue = '';
|
|
this.rule.options.forEach(function (option) {
|
|
option.value === _this.rule.value && (parseValue = option.label);
|
|
});
|
|
this.changeParseValue(parseValue);
|
|
},
|
|
getValue: function getValue() {
|
|
var _this2 = this;
|
|
|
|
var parseValue = '';
|
|
this.rule.options.forEach(function (option) {
|
|
option.label === _this2.parseValue && (parseValue = option.value);
|
|
});
|
|
return parseValue;
|
|
}
|
|
});
|
|
|
|
var render = (0, _render.renderFactory)({
|
|
parse: function parse() {
|
|
var _this3 = this;
|
|
|
|
this.propsData = this.inputProps().get();
|
|
var _handler = this.handler,
|
|
unique = _handler.unique,
|
|
options = _handler.rule.options;
|
|
|
|
return [this.cvm.radioGroup(this.propsData, function () {
|
|
return options.map(function (option, index) {
|
|
return _this3.cvm.radio({ props: option, key: "ropt" + index + unique });
|
|
});
|
|
})];
|
|
}
|
|
});
|
|
|
|
var make = (0, _make2.default)('radio', ['options', 'props', 'event', 'validate']);
|
|
|
|
var component = { handler: handler, render: render, make: make };
|
|
|
|
exports.default = component;
|
|
exports.handler = handler;
|
|
exports.render = render;
|
|
exports.make = make;
|
|
|
|
/***/ }),
|
|
/* 16 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.make = exports.render = exports.handler = undefined;
|
|
|
|
var _handler2 = __webpack_require__(2);
|
|
|
|
var _render = __webpack_require__(3);
|
|
|
|
var _util = __webpack_require__(1);
|
|
|
|
var _make = __webpack_require__(0);
|
|
|
|
var _make2 = _interopRequireDefault(_make);
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
var handler = (0, _handler2.handlerFactory)({
|
|
handle: function handle() {
|
|
var isArr = (0, _util.isArray)(this.rule.value),
|
|
parseValue = void 0;
|
|
if (this.rule.props && this.rule.props.multiple === true) parseValue = isArr === true ? this.rule.value : [this.rule.value];else parseValue = isArr === true ? this.rule.value[0] : this.rule.value;
|
|
this.changeParseValue(parseValue);
|
|
}
|
|
});
|
|
|
|
var render = (0, _render.renderFactory)({
|
|
parse: function parse() {
|
|
var _this = this;
|
|
|
|
this.propsData = this.inputProps().get();
|
|
var _handler = this.handler,
|
|
unique = _handler.unique,
|
|
options = _handler.rule.options;
|
|
|
|
return [this.cvm.select(this.propsData, function () {
|
|
return options.map(function (option, index) {
|
|
return _this.cvm.option({ props: option, key: "sopt" + index + unique });
|
|
});
|
|
})];
|
|
}
|
|
});
|
|
|
|
var make = (0, _make2.default)('select', ['options', 'props', 'event', 'validate']);
|
|
|
|
var component = { handler: handler, render: render, make: make };
|
|
|
|
exports.default = component;
|
|
exports.handler = handler;
|
|
exports.render = render;
|
|
exports.make = make;
|
|
|
|
/***/ }),
|
|
/* 17 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.make = exports.render = exports.handler = undefined;
|
|
|
|
var _handler = __webpack_require__(2);
|
|
|
|
var _render = __webpack_require__(3);
|
|
|
|
var _make = __webpack_require__(0);
|
|
|
|
var _make2 = _interopRequireDefault(_make);
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
var handler = (0, _handler.handlerFactory)({
|
|
verify: function verify() {
|
|
if (this.rule.slot === undefined) this.rule.slot = {};
|
|
}
|
|
});
|
|
|
|
var render = (0, _render.renderFactory)({
|
|
parse: function parse() {
|
|
var slot = this.handler.rule.slot;
|
|
|
|
this.propsData = this.inputProps().scopedSlots({
|
|
open: function open() {
|
|
return slot.open;
|
|
},
|
|
close: function close() {
|
|
return slot.close;
|
|
}
|
|
}).get();
|
|
return [this.cvm.switch(this.propsData)];
|
|
}
|
|
});
|
|
|
|
var make = (0, _make2.default)('switch', ['slot', 'props', 'event', 'validate']);
|
|
|
|
var component = { handler: handler, render: render, make: make };
|
|
|
|
exports.default = component;
|
|
exports.handler = handler;
|
|
exports.render = render;
|
|
exports.make = make;
|
|
|
|
/***/ }),
|
|
/* 18 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.make = exports.render = exports.handler = undefined;
|
|
|
|
var _handler = __webpack_require__(2);
|
|
|
|
var _render = __webpack_require__(3);
|
|
|
|
var _util = __webpack_require__(1);
|
|
|
|
var _common = __webpack_require__(4);
|
|
|
|
var _make = __webpack_require__(0);
|
|
|
|
var _make2 = _interopRequireDefault(_make);
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
var handler = (0, _handler.handlerFactory)({
|
|
verify: function verify() {
|
|
this.rule.props.type = !this.rule.props.type ? 'time' : this.rule.props.type;
|
|
},
|
|
handle: function handle() {
|
|
var parseValue = this.rule.value;
|
|
if ('timerange' === this.rule.props.type) {
|
|
(0, _util.isArray)(parseValue) || (parseValue = ['', '']);
|
|
parseValue = parseValue.map(function (time) {
|
|
return !time ? '' : (0, _common.timeStampToDate)(time);
|
|
});
|
|
} else {
|
|
(0, _util.isArray)(parseValue) && (parseValue = parseValue[0]);
|
|
parseValue = !parseValue ? '' : (0, _common.timeStampToDate)(parseValue);
|
|
}
|
|
this.changeParseValue(parseValue);
|
|
},
|
|
getValue: function getValue() {
|
|
return this.el.publicStringValue;
|
|
}
|
|
});
|
|
|
|
var render = (0, _render.renderFactory)({
|
|
parse: function parse() {
|
|
this.propsData = this.inputProps().get();
|
|
return [this.cvm.timePicker(this.propsData)];
|
|
}
|
|
});
|
|
|
|
var make = (0, _make2.default)('timepicker', ['props', 'event', 'validate']);
|
|
|
|
var component = { handler: handler, render: render, make: make };
|
|
|
|
exports.default = component;
|
|
exports.handler = handler;
|
|
exports.render = render;
|
|
exports.make = make;
|
|
|
|
/***/ }),
|
|
/* 19 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.make = exports.render = exports.handler = undefined;
|
|
|
|
var _handler = __webpack_require__(2);
|
|
|
|
var _render = __webpack_require__(3);
|
|
|
|
var _make = __webpack_require__(0);
|
|
|
|
var _make2 = _interopRequireDefault(_make);
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
var handler = (0, _handler.handlerFactory)({});
|
|
|
|
var render = (0, _render.renderFactory)({
|
|
parse: function parse() {
|
|
return [];
|
|
}
|
|
});
|
|
|
|
var make = function () {
|
|
var makeRule = (0, _make2.default)('hidden', []);
|
|
return makeRule.bind(makeRule, '');
|
|
}();
|
|
|
|
var component = { handler: handler, render: render, make: make };
|
|
|
|
exports.default = component;
|
|
exports.handler = handler;
|
|
exports.render = render;
|
|
exports.make = make;
|
|
|
|
/***/ }),
|
|
/* 20 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.make = exports.render = exports.handler = undefined;
|
|
|
|
var _handler2 = __webpack_require__(2);
|
|
|
|
var _render = __webpack_require__(3);
|
|
|
|
var _util = __webpack_require__(1);
|
|
|
|
var _make = __webpack_require__(0);
|
|
|
|
var _make2 = _interopRequireDefault(_make);
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
|
|
|
var handler = (0, _handler2.handlerFactory)({
|
|
verify: function verify() {
|
|
var props = this.rule.props;
|
|
props.defaultFileList = [];
|
|
props.showUploadList = false;
|
|
props.uploadType = !props.uploadType ? 'file' : props.uploadType;
|
|
if (props.uploadType === 'file' && props.handleIcon === undefined) props.handleIcon = false;
|
|
this.parseValue = [];
|
|
},
|
|
handle: function handle() {
|
|
var _this = this;
|
|
|
|
var files = (0, _util.isArray)(this.rule.value) ? this.rule.value : !this.rule.value ? [] : [this.rule.value];
|
|
this.parseValue.splice(0, this.parseValue.length);
|
|
files.forEach(function (file) {
|
|
return _this.push(file);
|
|
});
|
|
this.rule.props.defaultFileList = this.parseValue;
|
|
},
|
|
mounted: function mounted() {
|
|
this.el = this.vm.$refs[this.refName];
|
|
this.changeParseValue(this.el.fileList);
|
|
},
|
|
push: function push(file) {
|
|
this.parseValue.push({
|
|
url: file,
|
|
name: this.getFileName(file)
|
|
});
|
|
this.changeParseValue(this.parseValue);
|
|
},
|
|
getValue: function getValue() {
|
|
var files = this.parseValue.map(function (file) {
|
|
return file.url;
|
|
});
|
|
return this.rule.props.maxLength <= 1 ? files[0] || '' : files;
|
|
},
|
|
changeParseValue: function changeParseValue(parseValue) {
|
|
var b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
|
|
if (b === true) this.vm.changeFormData(this.rule.field, parseValue);
|
|
this.parseValue = parseValue;
|
|
this.el.fileList = parseValue;
|
|
},
|
|
getFileName: function getFileName(pic) {
|
|
var res = pic.split('/'),
|
|
file = res[res.length - 1],
|
|
index = file.indexOf('.');
|
|
return index === -1 ? file : file.substr(0, index);
|
|
}
|
|
});
|
|
|
|
var propsEventType = ['beforeUpload', 'onProgress', 'onPreview', 'onRemove', 'onFormatError', 'onExceededSize', 'onError'];
|
|
|
|
var render = (0, _render.renderFactory)({
|
|
init: function init() {
|
|
var _this2 = this;
|
|
|
|
this.uploadOptions = Object.assign(Object.create(null), this.options.upload, this.handler.rule.props);
|
|
this.issetIcon = this.uploadOptions.allowRemove || this.uploadOptions.handleIcon;
|
|
var events = propsEventType.reduce(function (initial, eventName) {
|
|
initial[eventName] = function () {
|
|
var _uploadOptions$eventN;
|
|
|
|
for (var _len = arguments.length, arg = Array(_len), _key = 0; _key < _len; _key++) {
|
|
arg[_key] = arguments[_key];
|
|
}
|
|
|
|
if (_this2.uploadOptions[eventName]) return (_uploadOptions$eventN = _this2.uploadOptions[eventName]).call.apply(_uploadOptions$eventN, [null].concat(arg));
|
|
};
|
|
return initial;
|
|
}, {});
|
|
this.propsData = this.props.props(this.uploadOptions).props('onSuccess', function (response, file, fileList) {
|
|
var url = _this2.uploadOptions.onSuccess.call(null, response, file, fileList);
|
|
if (url) {
|
|
file.url = url;
|
|
file.name = _this2.handler.getFileName(url);
|
|
}
|
|
_this2.handler.changeParseValue(_this2.handler.el.fileList);
|
|
}).props(events).ref(this.handler.refName).key("fip" + this.handler.unique).get();
|
|
},
|
|
parse: function parse() {
|
|
var _this3 = this;
|
|
|
|
var _handler = this.handler,
|
|
rule = _handler.rule,
|
|
unique = _handler.unique,
|
|
value = this.vm.formData[rule.field],
|
|
render = [].concat(_toConsumableArray(value.map(function (file, index) {
|
|
if (file.status === undefined || file.status === 'finished') {
|
|
return _this3.makeUploadView(file.url, "" + index + unique, index);
|
|
} else if (file.showProgress) {
|
|
return _this3.makeProgress(file, "" + index + unique);
|
|
}
|
|
})));
|
|
|
|
render.push(this.makeUploadBtn(unique, !this.uploadOptions.maxLength || this.uploadOptions.maxLength > this.vm.formData[rule.field].length));
|
|
return [this.cvm.make('div', { key: "div4" + unique, class: { 'fc-upload': true } }, render)];
|
|
},
|
|
makeUploadView: function makeUploadView(src, key, index) {
|
|
var _this4 = this;
|
|
|
|
return this.cvm.make('div', { key: "div1" + key, class: { 'fc-files': true } }, function () {
|
|
var container = [];
|
|
if (_this4.uploadOptions.uploadType === 'image') {
|
|
container.push(_this4.cvm.make('img', { key: "img" + key, attrs: { src: src } }));
|
|
} else {
|
|
container.push(_this4.cvm.icon({ key: "file" + key, props: { type: "document-text", size: 40 } }));
|
|
}
|
|
if (_this4.issetIcon) container.push(_this4.makeIcons(src, key, index));
|
|
return container;
|
|
});
|
|
},
|
|
makeIcons: function makeIcons(src, key, index) {
|
|
var _this5 = this;
|
|
|
|
return this.cvm.make('div', { key: "div2" + key, class: { 'fc-upload-cover': true } }, function () {
|
|
var icon = [];
|
|
if (!!_this5.uploadOptions.handleIcon) icon.push(_this5.makeHandleIcon(src, key, index));
|
|
if (_this5.uploadOptions.allowRemove === true) icon.push(_this5.makeRemoveIcon(src, key, index));
|
|
return icon;
|
|
});
|
|
},
|
|
makeProgress: function makeProgress(file, unique) {
|
|
return this.cvm.make('div', { key: "div3" + unique, class: { 'fc-files': true } }, [this.cvm.progress({ key: "upp" + unique, props: { percent: file.percentage, hideInfo: true } })]);
|
|
},
|
|
makeUploadBtn: function makeUploadBtn(unique, isShow) {
|
|
return this.cvm.upload(this.propsData, isShow === true ? [this.cvm.make('div', { key: "div5" + unique, class: { 'fc-upload-btn': true } }, [this.cvm.icon({ key: "upi" + unique, props: { type: "camera", size: 20 } })])] : []);
|
|
},
|
|
makeRemoveIcon: function makeRemoveIcon(src, key, index) {
|
|
var _this6 = this;
|
|
|
|
return this.cvm.icon({ key: "upri" + key + index, props: { type: 'ios-trash-outline' }, nativeOn: { 'click': function click() {
|
|
_this6.handler.el.fileList.splice(index, 1);
|
|
} } });
|
|
},
|
|
makeHandleIcon: function makeHandleIcon(src, key, index) {
|
|
var _this7 = this;
|
|
|
|
return this.cvm.icon({ key: "uphi" + key + index, props: { type: this.uploadOptions.handleIcon.toString() }, nativeOn: { 'click': function click() {
|
|
_this7.uploadOptions.onHandle(src);
|
|
} } });
|
|
}
|
|
});
|
|
|
|
var make = (0, _make2.default)('upload', ['props', 'validate']);
|
|
|
|
var component = { handler: handler, render: render, make: make };
|
|
|
|
exports.default = component;
|
|
exports.handler = handler;
|
|
exports.render = render;
|
|
exports.make = make;
|
|
|
|
/***/ }),
|
|
/* 21 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.make = exports.render = exports.handler = undefined;
|
|
|
|
var _handler = __webpack_require__(2);
|
|
|
|
var _render = __webpack_require__(3);
|
|
|
|
var _make = __webpack_require__(0);
|
|
|
|
var _make2 = _interopRequireDefault(_make);
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
var handler = (0, _handler.handlerFactory)({
|
|
handle: function handle() {
|
|
var parseValue = parseFloat(this.rule.value);
|
|
if (Number.isNaN(parseValue)) parseValue = 0;
|
|
this.changeParseValue(parseValue);
|
|
}
|
|
});
|
|
|
|
var render = (0, _render.renderFactory)({
|
|
parse: function parse() {
|
|
this.propsData = this.inputProps().get();
|
|
return [this.cvm.rate(this.propsData)];
|
|
}
|
|
});
|
|
|
|
var make = (0, _make2.default)('rate', ['props', 'event', 'validate']);
|
|
|
|
var component = { handler: handler, render: render, make: make };
|
|
|
|
exports.default = component;
|
|
exports.handler = handler;
|
|
exports.render = render;
|
|
exports.make = make;
|
|
|
|
/***/ }),
|
|
/* 22 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.make = exports.render = exports.handler = undefined;
|
|
|
|
var _handler = __webpack_require__(2);
|
|
|
|
var _render = __webpack_require__(3);
|
|
|
|
var _util = __webpack_require__(1);
|
|
|
|
var _make = __webpack_require__(0);
|
|
|
|
var _make2 = _interopRequireDefault(_make);
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
var handler = (0, _handler.handlerFactory)({
|
|
verify: function verify() {
|
|
this.rule.props.min = this.rule.props.min === undefined ? 0 : parseFloat(this.rule.props.min);
|
|
},
|
|
handle: function handle() {
|
|
var isArr = (0, _util.isArray)(this.rule.value),
|
|
min = this.rule.props.min,
|
|
parseValue = void 0;
|
|
if (this.rule.props.range === true) {
|
|
parseValue = isArr ? this.rule.value : [min, parseFloat(this.rule.value) || min];
|
|
} else {
|
|
parseValue = isArr ? parseFloat(this.rule.value[0]) || min : parseFloat(this.rule.value);
|
|
}
|
|
this.changeParseValue(parseValue);
|
|
}
|
|
});
|
|
|
|
var render = (0, _render.renderFactory)({
|
|
parse: function parse() {
|
|
this.propsData = this.inputProps().get();
|
|
return [this.cvm.slider(this.propsData)];
|
|
}
|
|
});
|
|
|
|
var make = (0, _make2.default)('slider', ['props', 'event', 'validate']);
|
|
|
|
var component = { handler: handler, render: render, make: make };
|
|
|
|
exports.default = component;
|
|
exports.handler = handler;
|
|
exports.render = render;
|
|
exports.make = make;
|
|
|
|
/***/ }),
|
|
/* 23 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.make = exports.render = exports.handler = undefined;
|
|
|
|
var _handler = __webpack_require__(2);
|
|
|
|
var _render = __webpack_require__(3);
|
|
|
|
var _util = __webpack_require__(1);
|
|
|
|
var _make = __webpack_require__(0);
|
|
|
|
var _make2 = _interopRequireDefault(_make);
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
var handler = (0, _handler.handlerFactory)({
|
|
verify: function verify() {
|
|
var props = this.rule.props;
|
|
if (!props.type) props.type = 'input';
|
|
if (!props.icon) props.icon = 'folder';
|
|
if (!props.width) props.width = '500px';
|
|
if (!props.height) props.height = '370px';
|
|
if (props.spin === undefined) props.spin = true;
|
|
if (!props.title) props.title = '请选择' + this.rule.title;
|
|
if (!props.maxLength) props.maxLength = 0;
|
|
props.multiple = !props.maxLength || props.maxLength > 1;
|
|
if (props.type === 'file' && props.handleIcon === undefined) props.handleIcon = false;else props.handleIcon = props.handleIcon === true || props.handleIcon === undefined ? 'ios-eye-outline' : props.handleIcon;
|
|
if (props.allowRemove === undefined) props.allowRemove = true;
|
|
},
|
|
handle: function handle() {
|
|
var parseValue = void 0,
|
|
oldValue = this.rule.value,
|
|
isArr = (0, _util.isArray)(oldValue);
|
|
if (oldValue === '') parseValue = [];else if (!isArr) parseValue = [oldValue];else parseValue = oldValue;
|
|
this.changeParseValue(parseValue);
|
|
},
|
|
getValue: function getValue() {
|
|
return this.rule.props.multiple === true ? this.parseValue : this.parseValue[0] === undefined ? '' : this.parseValue[0];
|
|
}
|
|
});
|
|
|
|
var render = (0, _render.renderFactory)({
|
|
init: function init() {
|
|
var _this = this;
|
|
|
|
var field = this.handler.rule.field,
|
|
b = false;
|
|
this.vm.$watch("formData." + field, function () {
|
|
b === true && _this.onChange();
|
|
b = true;
|
|
});
|
|
this._props = this.handler.rule.props;
|
|
this.issetIcon = this._props.handleIcon !== false || this._props.allowRemove === true;
|
|
},
|
|
parse: function parse() {
|
|
var type = this._props.type,
|
|
vNode = void 0;
|
|
if (type === 'image') vNode = this.makeGroup(this.makeImage());else if (type === 'file') vNode = this.makeGroup(this.makeFile());else vNode = this.makeInput();
|
|
return vNode;
|
|
},
|
|
makeInput: function makeInput(hidden) {
|
|
var _this2 = this;
|
|
|
|
var unique = this.handler.unique,
|
|
props = this.inputProps().props({
|
|
type: "text",
|
|
value: this.handler.parseValue,
|
|
icon: this._props.icon,
|
|
readonly: true
|
|
}).on('on-click', function () {
|
|
_this2.showModel();
|
|
}).key('ifit' + unique).style({ display: hidden === true ? 'none' : 'inline-block' }).get();
|
|
return [this.cvm.input(props)];
|
|
},
|
|
makeGroup: function makeGroup(render) {
|
|
var unique = this.handler.unique,
|
|
field = this.handler.rule.field;
|
|
return [this.cvm.make('div', { key: "ifgp1" + unique, class: { 'fc-upload': true }, ref: this.handler.refName, props: { value: this.vm.formData[field] } }, render), this.makeInput(true)];
|
|
},
|
|
makeImage: function makeImage() {
|
|
var _this3 = this;
|
|
|
|
var unique = this.handler.unique;
|
|
var vNode = this.handler.parseValue.map(function (src, index) {
|
|
return _this3.cvm.make('div', { key: "ifid1" + unique, class: { 'fc-files': true } }, [_this3.cvm.make('img', { key: "ifim" + unique, attrs: { src: src } }), _this3.makeIcons(src, unique, index)]);
|
|
});
|
|
vNode.push(this.makeBtn());
|
|
return vNode;
|
|
},
|
|
makeFile: function makeFile() {
|
|
var _this4 = this;
|
|
|
|
var unique = this.handler.unique;
|
|
var vNode = this.handler.parseValue.map(function (src, index) {
|
|
return _this4.cvm.make('div', { key: "iffd2" + unique, class: { 'fc-files': true } }, [_this4.cvm.icon({ key: "iff" + unique, props: { type: "document-text", size: 40 } }), _this4.makeIcons(src, unique, index)]);
|
|
});
|
|
vNode.push(this.makeBtn());
|
|
return vNode;
|
|
},
|
|
makeBtn: function makeBtn() {
|
|
var _this5 = this;
|
|
|
|
var props = this.handler.rule.props;
|
|
if (props.maxLength > 0 && this.handler.parseValue.length >= props.maxLength) return;
|
|
var unique = this.handler.unique;
|
|
return this.cvm.make('div', { key: "ifbd3" + unique, class: { 'fc-upload-btn': true }, on: { click: function click() {
|
|
_this5.showModel();
|
|
} } }, [this.cvm.icon({ key: "ifbi" + unique, props: { type: this._props.icon, size: 20 } })]);
|
|
},
|
|
makeSpin: function makeSpin() {
|
|
if (true !== this._props.spin) return;
|
|
var unique = this.handler.unique;
|
|
return this.cvm.make('Spin', {
|
|
props: { fix: true },
|
|
key: 'ifsp' + unique,
|
|
class: {
|
|
'fc-spin': true
|
|
}
|
|
}, [this.cvm.icon({
|
|
props: {
|
|
type: 'load-c',
|
|
size: 18
|
|
},
|
|
class: {
|
|
'fc-spin-icon-load': true
|
|
},
|
|
key: 'ifspi' + unique
|
|
}), this.cvm.make('div', {
|
|
domProps: {
|
|
innerHTML: '加载中...'
|
|
},
|
|
key: 'ifspd' + unique
|
|
})]);
|
|
},
|
|
makeIcons: function makeIcons(src, key, index) {
|
|
var _this6 = this;
|
|
|
|
if (this.issetIcon === true) return this.cvm.make('div', { key: "ifis" + key, class: { 'fc-upload-cover': true } }, function () {
|
|
var icon = [];
|
|
if (_this6._props.handleIcon !== false) icon.push(_this6.makeHandleIcon(src, key, index));
|
|
if (_this6._props.allowRemove === true) icon.push(_this6.makeRemoveIcon(src, key, index));
|
|
return icon;
|
|
});
|
|
},
|
|
makeRemoveIcon: function makeRemoveIcon(src, key, index) {
|
|
var _this7 = this;
|
|
|
|
return this.cvm.icon({ key: "ifri" + key + index, props: { type: 'ios-trash-outline' }, nativeOn: { 'click': function click() {
|
|
_this7.onRemove(src) !== false && _this7.handler.parseValue.splice(index, 1);
|
|
} } });
|
|
},
|
|
makeHandleIcon: function makeHandleIcon(src, key, index) {
|
|
var _this8 = this;
|
|
|
|
var props = this._props;
|
|
return this.cvm.icon({ key: "ifhi" + key + index, props: { type: props.handleIcon.toString() }, nativeOn: { 'click': function click() {
|
|
_this8.onHandle(src);
|
|
} } });
|
|
},
|
|
onOpen: function onOpen() {
|
|
var fn = this.handler.rule.event['on-open'];
|
|
if (fn) return fn(this.handler.getValue());
|
|
},
|
|
onChange: function onChange() {
|
|
var fn = this.handler.rule.event['on-change'];
|
|
if (fn) return fn(this.handler.getValue());
|
|
},
|
|
onOk: function onOk() {
|
|
var fn = this.handler.rule.event['on-ok'];
|
|
if (fn) return fn(this.handler.getValue());
|
|
},
|
|
onRemove: function onRemove(src) {
|
|
var fn = this.handler.rule.event['on-remove'];
|
|
if (fn) return fn(src, this.handler.getValue());
|
|
},
|
|
onHandle: function onHandle(src) {
|
|
var fn = this.handler.rule.event['on-handle'];
|
|
if (fn) return fn(src);else this.defaultOnHandle(src);
|
|
},
|
|
defaultOnHandle: function defaultOnHandle(src) {
|
|
this.vm.$Modal.info({
|
|
title: "预览",
|
|
render: function render(h) {
|
|
return h('img', { attrs: { src: src }, style: "width: 100%" });
|
|
}
|
|
});
|
|
},
|
|
showModel: function showModel() {
|
|
var _this9 = this;
|
|
|
|
var isShow = false !== this.onOpen(),
|
|
_props = this._props,
|
|
width = _props.width,
|
|
height = _props.height,
|
|
src = _props.src,
|
|
title = _props.title;
|
|
|
|
isShow && this.vm.$Modal.info({
|
|
title: title,
|
|
render: function render() {
|
|
return [_this9.makeSpin(), _this9.cvm.make('iframe', {
|
|
attrs: {
|
|
src: src
|
|
},
|
|
style: {
|
|
'height': height,
|
|
'border': "0 none",
|
|
'width': "100%"
|
|
},
|
|
on: {
|
|
'load': function load() {
|
|
_this9._props.spin === true && document.getElementsByClassName('fc-spin')[0].remove();
|
|
}
|
|
},
|
|
key: "ifmd" + (0, _util.uniqueId)()
|
|
})];
|
|
},
|
|
onOk: function onOk() {
|
|
_this9.onOk();
|
|
},
|
|
width: width
|
|
});
|
|
}
|
|
});
|
|
|
|
var make = (0, _make2.default)('frame', ['props', 'event', 'validate']);
|
|
|
|
var component = { handler: handler, render: render, make: make };
|
|
|
|
exports.default = component;
|
|
exports.handler = handler;
|
|
exports.render = render;
|
|
exports.make = make;
|
|
|
|
/***/ }),
|
|
/* 24 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
|
|
var _cvm = __webpack_require__(5);
|
|
|
|
var _cvm2 = _interopRequireDefault(_cvm);
|
|
|
|
var _props = __webpack_require__(6);
|
|
|
|
var _props2 = _interopRequireDefault(_props);
|
|
|
|
var _util = __webpack_require__(1);
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
var render = function render(_ref) {
|
|
var vm = _ref.vm,
|
|
options = _ref.options,
|
|
fieldList = _ref.fieldList,
|
|
handlers = _ref.handlers,
|
|
formData = _ref.formData,
|
|
validate = _ref.validate,
|
|
fCreateApi = _ref.fCreateApi;
|
|
|
|
this.vm = vm;
|
|
this.options = options;
|
|
this.handlers = handlers;
|
|
this.renderSort = fieldList;
|
|
this.renders = this.renderSort.reduce(function (initial, field) {
|
|
initial[field] = handlers[field].render;
|
|
return initial;
|
|
}, {});
|
|
this.form = {
|
|
model: formData,
|
|
rules: validate
|
|
};
|
|
this.fCreateApi = fCreateApi;
|
|
this.cvm = _cvm2.default.instance(vm.$createElement);
|
|
this.props = _props2.default.instance();
|
|
this.unique = (0, _util.uniqueId)();
|
|
this.refName = 'cForm' + this.unique;
|
|
};
|
|
|
|
render.prototype = {
|
|
parse: function parse(vm) {
|
|
var _this = this;
|
|
|
|
_cvm2.default.setVm(vm);
|
|
var unique = this.unique,
|
|
propsData = this.props.props(Object.assign({}, this.options.form, this.form)).ref(this.refName).class('form-create', true).key(unique).get(),
|
|
vn = this.renderSort.map(function (field) {
|
|
var render = _this.renders[field],
|
|
_render$handler = render.handler,
|
|
key = _render$handler.key,
|
|
type = _render$handler.rule.type;
|
|
if (type !== 'hidden') return _this.makeFormItem(render.handler, render.parse(), 'fItem' + key + unique);
|
|
});
|
|
if (false !== this.options.submitBtn) vn.push(this.makeSubmitBtn(unique));
|
|
return this.cvm.form(propsData, vn);
|
|
},
|
|
makeFormItem: function makeFormItem(_ref2, VNodeFn) {
|
|
var rule = _ref2.rule,
|
|
refName = _ref2.refName,
|
|
unique = _ref2.unique;
|
|
|
|
var propsData = this.props.props({
|
|
prop: rule.field,
|
|
label: rule.title,
|
|
labelFor: refName,
|
|
rules: rule.validate
|
|
}).key(unique).get();
|
|
return this.cvm.formItem(propsData, VNodeFn);
|
|
},
|
|
makeSubmitBtn: function makeSubmitBtn(unique) {
|
|
var _this2 = this;
|
|
|
|
return this.cvm.button({ key: 'fbtn' + unique, props: this.vm.buttonProps, on: { "click": function click() {
|
|
_this2.fCreateApi.submit();
|
|
} } }, [this.cvm.span(this.options.submitBtn.innerText)]);
|
|
},
|
|
removeRender: function removeRender(field) {
|
|
delete this.renders[field];
|
|
this.renderSort.splice(this.renderSort.indexOf(field), 1);
|
|
},
|
|
setRender: function setRender(handler, after, pre) {
|
|
this.renders[handler.rule.field] = handler.render;
|
|
if (after !== undefined) this.changeSort(handler.rule.field, after, pre);
|
|
},
|
|
changeSort: function changeSort(field, after, pre) {
|
|
var index = this.renderSort.indexOf(after.toString());
|
|
if (index !== -1) this.renderSort.splice(pre === false ? index + 1 : index, 0, field);else if (!pre) this.renderSort.push(field);else this.renderSort.unshift(field);
|
|
}
|
|
};
|
|
|
|
exports.default = render;
|
|
|
|
/***/ }),
|
|
/* 25 */
|
|
/***/ (function(module, exports, __webpack_require__) {
|
|
|
|
"use strict";
|
|
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
var formCreateName = 'form-create';
|
|
|
|
var formCreateComponent = function formCreateComponent(fComponent) {
|
|
return {
|
|
name: formCreateName,
|
|
data: function data() {
|
|
return {
|
|
formData: {},
|
|
buttonProps: {}
|
|
};
|
|
},
|
|
|
|
render: function render() {
|
|
return fComponent.fRender.parse(fComponent.vm);
|
|
},
|
|
created: function created() {
|
|
fComponent.init(this);
|
|
},
|
|
|
|
methods: {
|
|
changeFormData: function changeFormData(field, value) {
|
|
this.$set(this.formData, field, value);
|
|
},
|
|
removeFormData: function removeFormData(field) {
|
|
this.$delete(this.formData, field);
|
|
},
|
|
changeButtonProps: function changeButtonProps(props) {
|
|
this.$set(this, 'buttonProps', Object.assign(this.buttonProps, props));
|
|
},
|
|
setField: function setField(field, value) {
|
|
this.$set(this.formData, field, value);
|
|
}
|
|
},
|
|
mounted: function mounted() {
|
|
Object.keys(this.formData).map(function (field) {
|
|
fComponent.addHandlerWatch(fComponent.handlers[field]);
|
|
fComponent.handlers[field].mounted();
|
|
});
|
|
}
|
|
};
|
|
};
|
|
|
|
exports.default = formCreateComponent;
|
|
|
|
/***/ })
|
|
/******/ ]);
|
|
}); |