|
@@ -57,92 +57,6 @@
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-// 格式化时间
|
|
|
- export function getQueryObject(url) {
|
|
|
- url = url == null ? window.location.href : url;
|
|
|
- const search = url.substring(url.lastIndexOf('?') + 1);
|
|
|
- const obj = {};
|
|
|
- const reg = /([^?&=]+)=([^?&=]*)/g;
|
|
|
- search.replace(reg, (rs, $1, $2) => {
|
|
|
- const name = decodeURIComponent($1);
|
|
|
- let val = decodeURIComponent($2);
|
|
|
- val = String(val);
|
|
|
- obj[name] = val;
|
|
|
- return rs;
|
|
|
- });
|
|
|
- return obj;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-/**
|
|
|
- *get getByteLen
|
|
|
- * @param {Sting} val input value
|
|
|
- * @returns {number} output value
|
|
|
- */
|
|
|
- export function getByteLen(val) {
|
|
|
- let len = 0;
|
|
|
- for (let i = 0; i < val.length; i++) {
|
|
|
- if (val[i].match(/[^\x00-\xff]/ig) != null) {
|
|
|
- len += 1;
|
|
|
- } else { len += 0.5; }
|
|
|
- }
|
|
|
- return Math.floor(len);
|
|
|
- }
|
|
|
-
|
|
|
- export function cleanArray(actual) {
|
|
|
- const newArray = [];
|
|
|
- for (let i = 0; i < actual.length; i++) {
|
|
|
- if (actual[i]) {
|
|
|
- newArray.push(actual[i]);
|
|
|
- }
|
|
|
- }
|
|
|
- return newArray;
|
|
|
- }
|
|
|
-
|
|
|
- export function param(json) {
|
|
|
- if (!json) return '';
|
|
|
- return cleanArray(Object.keys(json).map(key => {
|
|
|
- if (json[key] === undefined) return '';
|
|
|
- return encodeURIComponent(key) + '=' +
|
|
|
- encodeURIComponent(json[key]);
|
|
|
- })).join('&');
|
|
|
- }
|
|
|
-
|
|
|
- export function param2Obj(url) {
|
|
|
- const search = url.split('?')[1];
|
|
|
- return JSON.parse('{"' + decodeURIComponent(search).replace(/"/g, '\\"').replace(/&/g, '","').replace(/=/g, '":"') + '"}')
|
|
|
- }
|
|
|
-
|
|
|
- export function html2Text(val) {
|
|
|
- const div = document.createElement('div');
|
|
|
- div.innerHTML = val;
|
|
|
- return div.textContent || div.innerText;
|
|
|
- }
|
|
|
-
|
|
|
- export function objectMerge(target, source) {
|
|
|
- /* Merges two objects,
|
|
|
- giving the last one precedence */
|
|
|
-
|
|
|
- if (typeof target !== 'object') {
|
|
|
- target = {};
|
|
|
- }
|
|
|
- if (Array.isArray(source)) {
|
|
|
- return source.slice();
|
|
|
- }
|
|
|
- for (const property in source) {
|
|
|
- if (source.hasOwnProperty(property)) {
|
|
|
- const sourceProperty = source[property];
|
|
|
- if (typeof sourceProperty === 'object') {
|
|
|
- target[property] = objectMerge(target[property], sourceProperty);
|
|
|
- continue;
|
|
|
- }
|
|
|
- target[property] = sourceProperty;
|
|
|
- }
|
|
|
- }
|
|
|
- return target;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
export function scrollTo(element, to, duration) {
|
|
|
if (duration <= 0) return;
|
|
|
const difference = to - element.scrollTop;
|
|
@@ -154,61 +68,3 @@
|
|
|
scrollTo(element, to, duration - 10);
|
|
|
}, 10);
|
|
|
}
|
|
|
-
|
|
|
- export function toggleClass(element, className) {
|
|
|
- if (!element || !className) {
|
|
|
- return;
|
|
|
- }
|
|
|
- let classString = element.className;
|
|
|
- const nameIndex = classString.indexOf(className);
|
|
|
- if (nameIndex === -1) {
|
|
|
- classString += '' + className;
|
|
|
- } else {
|
|
|
- classString = classString.substr(0, nameIndex) + classString.substr(nameIndex + className.length);
|
|
|
- }
|
|
|
- element.className = classString;
|
|
|
- }
|
|
|
-
|
|
|
- export const pickerOptions = [
|
|
|
- {
|
|
|
- text: '今天',
|
|
|
- onClick(picker) {
|
|
|
- const end = new Date();
|
|
|
- const start = new Date(new Date().toDateString());
|
|
|
- end.setTime(start.getTime());
|
|
|
- picker.$emit('pick', [start, end]);
|
|
|
- }
|
|
|
- }, {
|
|
|
- text: '最近一周',
|
|
|
- onClick(picker) {
|
|
|
- const end = new Date(new Date().toDateString());
|
|
|
- const start = new Date();
|
|
|
- start.setTime(end.getTime() - 3600 * 1000 * 24 * 7);
|
|
|
- picker.$emit('pick', [start, end]);
|
|
|
- }
|
|
|
- }, {
|
|
|
- text: '最近一个月',
|
|
|
- onClick(picker) {
|
|
|
- const end = new Date(new Date().toDateString());
|
|
|
- const start = new Date();
|
|
|
- start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
|
|
|
- picker.$emit('pick', [start, end]);
|
|
|
- }
|
|
|
- }, {
|
|
|
- text: '最近三个月',
|
|
|
- onClick(picker) {
|
|
|
- const end = new Date(new Date().toDateString());
|
|
|
- const start = new Date();
|
|
|
- start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
|
|
|
- picker.$emit('pick', [start, end]);
|
|
|
- }
|
|
|
- }]
|
|
|
-
|
|
|
- export function getTime(type) {
|
|
|
- if (type === 'start') {
|
|
|
- return new Date().getTime() - 3600 * 1000 * 24 * 90
|
|
|
- } else {
|
|
|
- return new Date(new Date().toDateString())
|
|
|
- }
|
|
|
- }
|
|
|
-
|