UNPKG

@aliretail/react-materials-components

Version:
248 lines (198 loc) 5.82 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.deleteTable = deleteTable; exports.fieldKey = void 0; exports.getData = getData; exports.getErrInfo = getErrInfo; exports.getFiledkeys = getFiledkeys; exports.getRatioTotal = getRatioTotal; exports.getValidataKeys = getValidataKeys; exports.getValueByName = getValueByName; exports.getValues = getValues; exports.vaditorValue = vaditorValue; var _extends3 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var fieldKey = 'ratioTable'; exports.fieldKey = fieldKey; function getData(oldData, changeData) { var data = []; if (!Array.isArray(oldData)) { data = [changeData]; } var isAdd = true; data = oldData.map(function (item, index) { var sort = "" + index; if (item.id === changeData.id || sort === changeData.id) { isAdd = false; return (0, _extends3["default"])({}, item, changeData); } return item; }); if (isAdd) { data = [].concat(data, [changeData]); } return data; } // value值格式化,计算它的同步比例总值 // export function valueFormat(val: Array<any>): Array<any> { // if (!Array.isArray(val)) { // return []; // } // const data = val.map((item) => { // const { dataSource } = item; // const total = Array.isArray(dataSource) // ? dataSource.reduce((b, a) => { // return b.ratio + a.ratio; // }) // : 0; // return { // ...item, // totalProportion: total || 0, // }; // }); // return data; // } // 计算同步比例总和 function getRatioTotal(data, ratioKey) { var total = 0; if (!Array.isArray(data)) { return total; } // reduce data.forEach(function (item) { var num = isNaN(item[ratioKey]) ? 0 : Number(item[ratioKey]); total += num; }); return total; } function vaditorValue(value) { var firstData = value && value[0] && value[0].dataSource || null; if (!Array.isArray(firstData) || firstData.length < 1) { return '至少填写一条规则'; } // 校验是否填写完整 var notFull = value.some(function (item) { var dataSource = item.dataSource; if (!Array.isArray(dataSource) || dataSource.length < 1) { return false; } console.log(dataSource); return dataSource.some(function (data) { console.log(data); return Object.keys(data).some(function (key) { console.log(data[key]); return !data[key]; }); }); }); if (notFull) { return '请将规则填写完整'; } } function getFiledkeys(name) { if (!name) { return; } var keyList = name.split('.'); return { index: keyList[1], tableIndex: keyList[2], tableDataIndex: keyList[3] }; } function getValues(data) { var value = data.value, keys = data.keys, val = data.val, ratioKey = data.ratioKey; if (!Array.isArray(value) || !keys) { return []; } var newValue = value.map(function (item, index) { if ("" + index === keys.index) { var _ref = item || {}, dataSource = _ref.dataSource, totalProportion = _ref.totalProportion; var total = totalProportion || 0; var oldData = Array.isArray(dataSource) ? dataSource : []; var newData = oldData.map(function (oldInfo, num) { // console.log(num, keys.tableIndex); if ("" + num === keys.tableIndex) { var _extends2; var currentRatio = oldInfo && oldInfo[ratioKey] || 0; total = keys.tableDataIndex === ratioKey ? total - currentRatio + val : total; return (0, _extends3["default"])({}, oldInfo || {}, (_extends2 = {}, _extends2[keys.tableDataIndex] = val, _extends2)); } return oldInfo; }); return (0, _extends3["default"])({}, item || {}, { totalProportion: total, dataSource: newData }); } return item; }); return newValue; } function getValidataKeys(columns, value) { if (!Array.isArray(columns) || !Array.isArray(value)) { return []; } var validataKeys = []; value.forEach(function (item, index) { var _ref2 = item || {}, dataSource = _ref2.dataSource; if (!Array.isArray(dataSource) || dataSource.length < 1) { return; } dataSource.forEach(function (data, sourceIndex) { columns.forEach(function (column) { var _ref3 = column || {}, dataIndex = _ref3.dataIndex; validataKeys.push(fieldKey + "." + index + "." + sourceIndex + "." + dataIndex); }); }); }); return validataKeys; } // inputErr格式为{index: {index:{ dataIndex:err}}} function getErrInfo(inputErr, currentErr) { var allErr = {}; if (inputErr) { Object.keys(inputErr).forEach(function (tableKey) { var info = inputErr[tableKey] || {}; Object.keys(info).forEach(function (rowKey) { var errInfo = info[rowKey] || {}; Object.keys(errInfo).forEach(function (errKey) { var key = fieldKey + "." + tableKey + "." + rowKey + "." + errKey; allErr[key] = errInfo[errKey]; }); }); }); } if (currentErr) { Object.keys(currentErr).forEach(function (key) { if (!allErr[key]) { allErr[key] = ''; } }); } return allErr; } // 删除对应的table function deleteTable(value, key) { if (!Array.isArray(value)) { return []; } var data = value.slice(); data.splice(Number(key), 1); return data; } // 查询 function getValueByName(data, name) { if (!Array.isArray(data)) { return []; } return data.filter(function (item) { var _ref4 = item || {}, label = _ref4.label; if (!label) { return false; } return label.includes(name); }); }