use-on-demand
Version:
151 lines • 7.07 kB
JavaScript
import { __assign } from "tslib";
var xX_AdminHelper = /** @class */ (function () {
function xX_AdminHelper() {
}
/**
* 将MultiLang,迅速转化为 已有ruleForm的一部分。
*/
xX_AdminHelper.combine_MultiLangPlus = function (type, formObj, netField, localField) {
if (localField === void 0) { localField = 'translate'; }
switch (type) {
// 上传到接口
case 'upload': {
var a = formObj[localField];
console.log('formObj', formObj);
console.log('localField', localField);
console.log('a', a);
formObj[netField] = typeof a === 'object' ? a : JSON.parse(a);
break;
}
// 从接口回显
case 'fetch': {
var b = formObj[netField];
formObj[localField] = typeof b === 'object' ? b : JSON.parse(b);
break;
}
}
};
/**
* 处理时间段选择
*/
xX_AdminHelper.formDateRange = function (params, form) {
// TIP 此处,遍历一个对象中,每个属性变量名的名字
for (var key in form) {
if (form[key] != null && // TIP 不为Null对象
typeof form[key] !== 'undefined' && // TIP 且,不为undefined未定义对象
form[key] !== '' // TIP 而且,不为空字符串
) {
switch (key) {
// TIP 处理【选择时间区域】—— 开始/结束
case 'dateRange': {
var startTime = form.dateRange[0];
var endTime = form.dateRange[1];
params.startTime = startTime;
params.endTime = endTime;
break;
}
case 'paymentDateRange': {
// TIP 处理【选择时间区域】———— 付款提交时间
params.startPaymentTime = form.paymentDateRange[0]; // 拆分字段 ①
params.endPaymentTime = form.paymentDateRange[1]; // 拆分字段 ②
break;
}
case 'auditDateRange': {
// TIP 处理【选择时间区域】———— 审计时间
params.startAuditTime = form.auditDateRange[0]; // 拆分字段 ①
params.endAuditTime = form.auditDateRange[1]; // 拆分字段 ②
break;
}
case 'updateDateRange': {
// TIP 处理【选择时间区域】———— 更新时间
params.startUpdateTime = form.updateDateRange[0]; // 拆分字段 ①
params.endUpdateTime = form.updateDateRange[1]; // 拆分字段 ②
break;
}
default: {
params[key] = form[key];
}
}
}
}
};
/**
* 介绍:将一个已有的Object,经过特定筛子(class形式;目前还不能用interface形式),筛选保留出特定数据
*
* 功能:
* 1.目前,经常用于【提交数据】的筛选。
*/
xX_AdminHelper.filterTargetFields = function (originObj, filterObj, needTrimEmpty) {
if (needTrimEmpty === void 0) { needTrimEmpty = false; }
var distObj = {
// '筛选后保留的key' : '筛选后保留的value' ,
};
for (var key in filterObj) {
if (Object.prototype.hasOwnProperty.call(filterObj, key)) { // TODO 排除掉,系统自带的原生字段(或原型链字段)。————>仅保留用户自定义字段
var target = originObj[key];
if (needTrimEmpty) {
// TODO 如果需要判空:过滤一遍,不符合要求的空数据。
if (typeof target !== 'undefined' && target !== null && target !== '') {
// TODO 不为空,开始赋值
distObj[key] = target;
}
else {
// TODO 为空,跳过
}
}
else {
// TODO 如果不需要判空:直接赋值
distObj[key] = target;
}
}
}
return distObj;
};
//
//
/**
* 模拟分页
*/
xX_AdminHelper.mockPage = function (records, context) {
// 克隆一份数据
var clone_listQuery = JSON.parse(JSON.stringify(context.listQuery));
var Max_Size = 99999999;
var len = records.length;
// 返回时,先保持原样。
var result = __assign({ records: records }, context.listQuery);
// 100毫秒后,再进行设置。(错开一个时间差)
setTimeout(function () {
var current = clone_listQuery.current, size = clone_listQuery.size, total = clone_listQuery.total;
if (len < clone_listQuery.size) { // 返回数据未满,视为已经结束了。
// 计算总量
clone_listQuery.total = size * (current - 1) + len;
if (len === 0) { // 当前页,没有数据。
/**
* WARN 此处,略微有特殊的地方
* 1.如,21页没数据,20页有10条数据。此时,从20页翻21页,会没有数据,但页数会显示为【20页】。
* 1.这样,看上去就很奇怪了。
*/
clone_listQuery.total += 1; // 此处,保持仍多一个。
}
// 其它不变
}
else { // 返回了足额数据,视为还有下一页
clone_listQuery.total = (total === 0)
? Max_Size // 处理,初始化时 total等于0 的情况。
: Math.min(Max_Size, total); // 此处,Max_Size仅仅为【后备值】。
}
Object.keys(context.listQuery).forEach(function (key) {
// WARN 此处需要【避免丢失引用】。所以只设置对象的属性,不改变对象本身引用。
context.listQuery[key] = clone_listQuery[key];
});
//
}, 100);
return result;
};
xX_AdminHelper.__placeholder_1 = '————~~~~~————';
xX_AdminHelper.__placeholder_2 = '↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑';
xX_AdminHelper.__placeholder_3 = '> > > > >';
return xX_AdminHelper;
}());
export { xX_AdminHelper };
//# sourceMappingURL=admin-helper.js.map