micro-ui-y
Version:
223 lines (198 loc) • 8.86 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.subVerifyRes = exports.formData = undefined;
var _index = require("../constants/index");
var actionTypes = _interopRequireWildcard(_index);
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
var dataType = ["default"];
var formData = function formData() {
var formData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var action = arguments[1];
switch (action.type) {
case actionTypes.set_form_data:
formData = Object.assign({}, formData);
dataType = action.dataType;
if (!formData[dataType]) {
formData[dataType] = {};
}
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
try {
for (var _iterator = action.data[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var o = _step.value;
formData[dataType][o.name] = o;
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator.return) {
_iterator.return();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
}
return formData;
case actionTypes.del_form_data:
formData = Object.assign({}, formData);
if (Object.keys(formData).length > 0) {
delete formData[action.dataType][action.inputName];
}
return formData;
case actionTypes.reset_form:
formData = Object.assign({}, formData);
var keys = Object.keys(formData);
var data = typeof action.data == "array" && action.data.length > 0 ? action.data : keys;
data.forEach(function (item) {
var formDataType = formData[item];
for (var _o in formDataType) {
switch (formDataType[_o].type) {
case "input":
case "textarea":
case "date":
case "radio":
case "select":
case "selectLenovo":
case "time":
formDataType[_o].text = "";
formDataType[_o].value = "";
formDataType[_o].obj = {};
break;
case "checkbox":
case "selectCheckbox":
case "selectLenovoCheckbox":
formDataType[_o].text = [];
formDataType[_o].value = [];
formDataType[_o].obj = {
arr: []
};
break;
case "dateRange":
case "dateWeek":
formDataType[_o].text = "";
formDataType[_o].value = {
beginDate: "",
endDate: ""
};
formDataType[_o].obj = {
arr: []
};
break;
case "dateTime":
formDataType[_o].text = "";
formDataType[_o].value = {
date: "",
time: ""
};
formDataType[_o].obj = {};
break;
case "organization":
formDataType[_o].text = "";
formDataType[_o].value = [];
formDataType[_o].obj = {};
break;
}
}
});
return formData;
case actionTypes.del_form_store:
formData = Object.assign({}, formData);
if (action.dataFlag == "all") {
formData = {};
}
var _iteratorNormalCompletion2 = true;
var _didIteratorError2 = false;
var _iteratorError2 = undefined;
try {
for (var _iterator2 = action.dataType[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
var _o2 = _step2.value;
delete formData[_o2];
}
} catch (err) {
_didIteratorError2 = true;
_iteratorError2 = err;
} finally {
try {
if (!_iteratorNormalCompletion2 && _iterator2.return) {
_iterator2.return();
}
} finally {
if (_didIteratorError2) {
throw _iteratorError2;
}
}
}
return formData;
default:
return formData;
}
};
var subVerifyRes = function subVerifyRes() {
var subVerifyRes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
var action = arguments[1];
switch (action.type) {
case actionTypes.submit_verify:
var data = action.data;
// fail:存在必填校验未填写, success:不存在,便可提交。
var flag = {
default: "fail"
};
var verifyType = action.verifyType; //verifyType = ["default"]
verifyType.forEach(function (item, index) {
var formValue = data[item];
if (Object.keys(formValue).length) {
flag[item] = "success";
for (var o in formValue) {
//input单独的正则校验 有值才校验
if (formValue[o].text && formValue[o].other && formValue[o].other.regex) {
if (!formValue[o].other.regex.test(formValue[o].text)) {
flag[item] = "fail";
break;
}
}
//如果是必填项
if (formValue[o].other && formValue[o].other.required && (formValue[o].other.required === true || formValue[o].other.required === "true")) {
//只要有一个,没有填写,就设置fail,并跳出循环
var type1 = ["number", "input", "textarea", "date", "dateRange", "dateTime", "dateWeek", "organization", "radio", "select", "selectLenovo", "time"];
if (type1.includes(formValue[o].type) && !(formValue[o].text === 0 || formValue[o].text === "0" ? "0" : formValue[o].text)) {
flag[item] = "fail";
break;
}
var type2 = ["checkbox", "selectCheckbox", "selectLenovoCheckbox"];
if (type2.includes(formValue[o].type) && !formValue[o].text.length) {
flag[item] = "fail";
break;
}
}
}
}
});
return flag;
case actionTypes.reset_verify:
var subVerifyResData = Object.assign({}, subVerifyRes);
var acDataType = action.dataType;
var acDataFlag = action.dataFlag;
if (acDataFlag == "all") {
subVerifyResData = "";
} else {
for (var o in subVerifyRes) {
if (acDataType.includes(o)) {
delete subVerifyResData[o];
}
}
}
return subVerifyResData;
default:
return subVerifyRes;
}
};
exports.formData = formData;
exports.subVerifyRes = subVerifyRes;
//# sourceMappingURL=from.js.map