UNPKG

docimax

Version:

docimax common query client condition helper libary.

299 lines (298 loc) 10.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var InputConvertor = /** @class */ (function () { function InputConvertor() { } /** * 推断操作符 * @param value 值 * @param type 输入类型 */ InputConvertor.prototype.inferOperation = function (value, type) { if (value.indexOf('-') > -1 && type !== 'str') { if (value.indexOf('-') === value.lastIndexOf('-')) { // - 仅仅一个 if (value.substring(0, 1) === '-') { // - 打头 return '<='; } else if (value.substring(value.length - 1, value.length) === '-') { // - 结尾 return '>='; } else { // - 在中间 return '-'; } } else { // - 有多个 return '='; } } else if (value.indexOf('<>') > -1) { return '<>'; } else if (value.indexOf('<=') > -1) { return '<='; } else if (value.indexOf('>=') > -1) { return '>='; } else if (value.indexOf('>') > -1) { return '>'; } else if (value.indexOf('<') > -1) { return '<'; } else if (value.indexOf('%') > -1) { return 'like'; } else if (value.indexOf(',') > -1) { return 'in'; } else { return '='; } }; /** * 格式化用户输入 * @param operation 操作符 * @param content 显示 * @param values 值 */ InputConvertor.prototype.formatValue = function (operation, content, values) { var v = ''; var c = ''; switch (operation) { case '<=': v = values === undefined ? '' : values.replace('-', ''); c = content === undefined ? '' : content.replace('-', ''); v = values === undefined ? '' : v.replace('<=', ''); c = content === undefined ? '' : c.replace('<=', ''); break; case '>=': v = values === undefined ? '' : values.replace('-', ''); c = content === undefined ? '' : content.replace('-', ''); v = values === undefined ? '' : v.replace('>=', ''); c = content === undefined ? '' : c.replace('>=', ''); break; case '<>': v = values === undefined ? '' : values.replace('<>', ''); c = content === undefined ? '' : content.replace('<>', ''); break; case '-': v = values; c = content; break; default: v = values === undefined ? '' : values.replace(operation, ''); c = content === undefined ? '' : content.replace(operation, ''); break; } return { content: c, values: v }; }; /** * 扩展日期输入 * @param operator 操作符 * @param content 内容 */ InputConvertor.prototype.extensionDateInput = function (operator, content) { var result = [{ operator: '>=', value: '' }, { operator: '<=', value: '' }]; switch (operator) { case '-': var array = content.split('-'); for (var i = 0; i < array.length; i++) { var element = array[i]; switch (element.length) { case 4: // 年 if (i === 0) result[i].value = element + '0101'; else result[i].value = element + '1231'; break; case 6: // 月 if (i === 0) result[i].value = element + '01'; else result[i].value = element + '31'; break; default: // 日 / 其他 result[i].value = element; break; } } break; case '=': switch (content.length) { case 4: result[0].value = content + '0101'; result[1].value = content + '1231'; break; case 6: result[0].value = content + '01'; result[1].value = content + '31'; break; default: result.pop(); result[0].value = content; result[0].operator = '='; break; } break; case '>=': result.pop(); switch (content.length) { case 4: result[0].value = content + '0101'; break; case 6: result[0].value = content + '01'; break; default: result[0].value = content; break; } break; case '<=': result.shift(); switch (content.length) { case 4: result[0].value = content + '1231'; break; case 6: result[0].value = content + '31'; break; default: result[0].value = content; break; } break; case '<>': switch (content.length) { case 4: result[0].value = content + '1231'; result[1].value = content + '0101'; break; case 6: result[0].value = content + '31'; result[1].value = content + '01'; break; default: result.pop(); result[0].value = content; result[0].operator = '<>'; break; } break; case '>': result.pop(); result[0].operator = '>'; switch (content.length) { case 4: result[0].value = content + '1231'; break; case 6: result[0].value = content + '31'; break; default: result[0].value = content; break; } break; case '<': result.pop(); result[0].operator = '<'; switch (content.length) { case 4: result[0].value = content + '0101'; break; case 6: result[0].value = content + '01'; break; default: result[0].value = content; break; } break; default: result.pop(); result[0].operator = operator; result[0].value = content; break; } return result; }; return InputConvertor; }()); /** * 工具类 */ var Utility = /** @class */ (function () { function Utility() { } /** * 深复制对象 * @param content 对象 */ Utility.prototype.deepCopy = function (content) { return JSON.parse(JSON.stringify(content)); }; /** * 获取当前日期 */ Utility.prototype.now = function () { var date = new Date(); return this.getDateString(date); }; /** * 获取日期对象 string * @param d 日期对象 */ Utility.prototype.getDateString = function (d) { if (d === undefined || d === null) { return ''; } var numMonth = d.getMonth() + 1; var numDate = d.getDate(); var _a = [numMonth.toString(), numDate.toString()], strMonth = _a[0], strDate = _a[1]; if (numMonth >= 1 && numMonth <= 9) { strMonth = '0' + numMonth.toString(); } if (numDate >= 0 && numDate <= 9) { strDate = '0' + numDate.toString(); } var currentDate = d.getFullYear() + '-' + strMonth + '-' + strDate; return currentDate; }; /** * 保存文件 * @param blob 文件二进制大对象 * @param filename 文件名 */ Utility.prototype.saveBlobAs = function (blob, fileName) { var type = blob.type; var force_saveable_type = 'application/octet-stream'; if (type && type != force_saveable_type) { // 强制下载,而非在浏览器中打开 var slice = blob.slice || blob.webkitSlice || blob.mozSlice; blob = slice.call(blob, 0, blob.size, force_saveable_type); } var url = URL.createObjectURL(blob); var save_link = document.createElementNS('http://www.w3.org/1999/xhtml', 'a'); save_link.href = url; save_link.download = fileName; var event = document.createEvent('MouseEvents'); event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); save_link.dispatchEvent(event); URL.revokeObjectURL(url); }; return Utility; }()); var utility = new Utility(); exports.utility = utility; var inputConvertor = new InputConvertor(); exports.inputConvertor = inputConvertor;