提交 7d1340e2 编写于 作者: X xinla

优化首页代码

上级 d0eb4171
......@@ -6,129 +6,138 @@ const baseURL = process.env.VUE_APP_BASE_API
// 日期格式化
export function parseTime(time, pattern) {
if (arguments.length === 0 || !time) {
return null
}
const format = pattern || '{y}-{m}-{d} {h}:{i}:{s}'
let date
if (typeof time === 'object') {
date = time
} else {
if ((typeof time === 'string') && (/^[0-9]+$/.test(time))) {
time = parseInt(time)
} else if (typeof time === 'string') {
time = time.replace(new RegExp(/-/gm), '/');
}
if ((typeof time === 'number') && (time.toString().length === 10)) {
time = time * 1000
}
date = new Date(time)
}
const formatObj = {
y: date.getFullYear(),
m: date.getMonth() + 1,
d: date.getDate(),
h: date.getHours(),
i: date.getMinutes(),
s: date.getSeconds(),
a: date.getDay()
}
const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => {
let value = formatObj[key]
// Note: getDay() returns 0 on Sunday
if (key === 'a') { return ['', '', '', '', '', '', ''][value] }
if (result.length > 0 && value < 10) {
value = '0' + value
}
return value || 0
})
return time_str
if (arguments.length === 0 || !time) {
return null
}
const format = pattern || '{y}-{m}-{d} {h}:{i}:{s}'
let date
if (typeof time === 'object') {
date = time
} else {
if (typeof time === 'string' && /^[0-9]+$/.test(time)) {
time = parseInt(time)
} else if (typeof time === 'string') {
time = time.replace(new RegExp(/-/gm), '/')
}
if (typeof time === 'number' && time.toString().length === 10) {
time = time * 1000
}
date = new Date(time)
}
const formatObj = {
y: date.getFullYear(),
m: date.getMonth() + 1,
d: date.getDate(),
h: date.getHours(),
i: date.getMinutes(),
s: date.getSeconds(),
a: date.getDay()
}
const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => {
let value = formatObj[key]
// Note: getDay() returns 0 on Sunday
if (key === 'a') {
return ['', '', '', '', '', '', ''][value]
}
if (result.length > 0 && value < 10) {
value = '0' + value
}
return value || 0
})
return time_str
}
// 表单重置
export function resetForm(refName) {
if (this.$refs[refName]) {
this.$refs[refName].resetFields();
}
if (this.$refs[refName]) {
this.$refs[refName].resetFields()
}
}
//年月日格式
export function yearMouthDay(data) {
var time = new Date(data);
var year = time.getFullYear();
var month = time.getMonth()+1;
var date = time.getDate();
console.log(year+'-'+add0(month)+'-'+add0(date))
return year+'-'+add0(month)+'-'+add0(date)
var time = new Date(data)
var year = time.getFullYear()
var month = time.getMonth() + 1
var date = time.getDate()
console.log(year + '-' + add0(month) + '-' + add0(date))
return year + '-' + add0(month) + '-' + add0(date)
}
function add0(m) {
return m < 10 ? '0' + m : m
}
function add0(m){return m<10?'0'+m:m }
// 添加日期范围
export function addDateRange(params, dateRange) {
var search = params;
search.beginTime = "";
search.endTime = "";
if (null != dateRange && '' != dateRange) {
search.beginTime = this.dateRange[0];
search.endTime = this.dateRange[1];
}
return search;
var search = params
search.beginTime = ''
search.endTime = ''
if (null != dateRange && '' != dateRange) {
search.beginTime = this.dateRange[0]
search.endTime = this.dateRange[1]
}
return search
}
// 回显数据字典
export function selectDictLabel(datas, value) {
var actions = [];
Object.keys(datas).some((key) => {
if (datas[key].dictValue == ('' + value)) {
actions.push(datas[key].dictLabel);
return true;
}
})
return actions.join('');
var actions = []
Object.keys(datas).some((key) => {
if (datas[key].dictValue == '' + value) {
actions.push(datas[key].dictLabel)
return true
}
})
return actions.join('')
}
// 回显数据字典(字符串数组)
export function selectDictLabels(datas, value, separator) {
var actions = [];
var currentSeparator = undefined === separator ? "," : separator;
var temp = value.split(currentSeparator);
Object.keys(value.split(currentSeparator)).some((val) => {
Object.keys(datas).some((key) => {
if (datas[key].dictValue == ('' + temp[val])) {
actions.push(datas[key].dictLabel + currentSeparator);
}
})
})
return actions.join('').substring(0, actions.join('').length - 1);
var actions = []
var currentSeparator = undefined === separator ? ',' : separator
var temp = value.split(currentSeparator)
Object.keys(value.split(currentSeparator)).some((val) => {
Object.keys(datas).some((key) => {
if (datas[key].dictValue == '' + temp[val]) {
actions.push(datas[key].dictLabel + currentSeparator)
}
})
})
return actions.join('').substring(0, actions.join('').length - 1)
}
// 通用下载方法
export function download(fileName) {
window.location.href = baseURL + "/common/download?fileName=" + encodeURI(fileName) + "&delete=" + true;
window.location.href =
baseURL +
'/common/download?fileName=' +
encodeURI(fileName) +
'&delete=' +
true
}
// 字符串格式化(%s )
export function sprintf(str) {
var args = arguments, flag = true, i = 1;
str = str.replace(/%s/g, function () {
var arg = args[i++];
if (typeof arg === 'undefined') {
flag = false;
return '';
}
return arg;
});
return flag ? str : '';
var args = arguments,
flag = true,
i = 1
str = str.replace(/%s/g, function() {
var arg = args[i++]
if (typeof arg === 'undefined') {
flag = false
return ''
}
return arg
})
return flag ? str : ''
}
// 转换字符串,undefined,null等转化为""
export function praseStrEmpty(str) {
if (!str || str == "undefined" || str == "null") {
return "";
}
return str;
if (!str || str == 'undefined' || str == 'null') {
return ''
}
return str
}
/**
......@@ -139,70 +148,46 @@ export function praseStrEmpty(str) {
* @param {*} children 孩子节点字段 默认 'children'
*/
export function handleTree(data, id, parentId, children) {
id = id || 'id'
parentId = parentId || 'parentId'
children = children || 'children'
let result = [];
data = JSON.parse(JSON.stringify(data))
if (!Array.isArray(data)) {
return result
}
data.forEach(item => {
delete item[children];
});
let map = {};
data.forEach(item => {
map[item[id]] = item;
});
data.forEach(item => {
let parent = map[item[parentId]];
if (parent) {
parent[children] || (parent[children] = [])
parent[children].push(item);
} else {
result.push(item);
}
});
return result;
id = id || 'id'
parentId = parentId || 'parentId'
children = children || 'children'
let result = []
data = JSON.parse(JSON.stringify(data))
if (!Array.isArray(data)) {
return result
}
data.forEach((item) => {
delete item[children]
})
let map = {}
data.forEach((item) => {
map[item[id]] = item
})
data.forEach((item) => {
let parent = map[item[parentId]]
if (parent) {
parent[children] || (parent[children] = [])
parent[children].push(item)
} else {
result.push(item)
}
})
return result
}
/**
* dataURL转化为File对象
* @param {*} dataURL 本地数据 base64
*/
export function dataURLtoFile (dataURL) {
const arr = dataURL.split(',')
const mime = arr[0].match(/:(.*?);/)[1]
const bstr = atob(arr[1])
let n = bstr.length
const u8arr = new Uint8Array(n)
while (n) {
u8arr[n - 1] = bstr.charCodeAt(n - 1)
n -= 1 // to make eslint happy
}
return new File([u8arr], '', { type: mime })
}
/**
* 整理echat 数据
* @param {*} arrData 数据
*/
export function arrData (data) {
let obj={
arr1:[],
arr2:[],
arr3:[],
arr4:[],
btm1:[],
}
data.forEach((a,b)=>{
obj.arr1.push(a.newApplyCnt)
obj.btm1.push(a.xtime)
obj.arr3.push(a.newMemberCnt)
obj.arr2.push(a.newContactCnt)
obj.arr4.push(a.negativeFeedbackCnt)
})
console.log(obj)
return obj
export function dataURLtoFile(dataURL) {
const arr = dataURL.split(',')
const mime = arr[0].match(/:(.*?);/)[1]
const bstr = atob(arr[1])
let n = bstr.length
const u8arr = new Uint8Array(n)
while (n) {
u8arr[n - 1] = bstr.charCodeAt(n - 1)
n -= 1 // to make eslint happy
}
return new File([u8arr], '', { type: mime })
}
......@@ -260,7 +260,6 @@
<script>
var elementResizeDetectorMaker = require('element-resize-detector')
import { arrData } from '@/utils/common.js'
import { content } from '@/api/conversation/content.js'
import echarts from 'echarts'
export default {
......@@ -320,12 +319,6 @@ export default {
}
},
methods: {
canvansData(obj, name, arr, btmarr, color) {
let bkdata = arrData(this.erchatsTable.dataList)
let data = bkdata[arr]
this.xAxis = bkdata[btmarr]
this.drawLine(obj, name, data, color)
},
timeTypeCheck(type) {
switch (type) {
case 'today':
......@@ -361,10 +354,25 @@ export default {
})
},
serErchat() {
this.canvansData('main', ['发起申请数'], 'arr1', 'btm1', '#088AEE')
this.canvansData('main2', ['新增客户数'], 'arr2', 'btm2', '#E74E59')
this.canvansData('main3', ['群新增人数'], 'arr3', 'btm3', '#14BF48')
this.canvansData('main4', ['流失客户数'], 'arr4', 'btm4', '#FA7216')
let data = {
arr1: [],
arr2: [],
arr3: [],
arr4: [],
time: []
}
this.erchatsTable.dataList.forEach((a) => {
data.arr1.push(a.newApplyCnt)
data.time.push(a.xtime)
data.arr3.push(a.newMemberCnt)
data.arr2.push(a.newContactCnt)
data.arr4.push(a.negativeFeedbackCnt)
})
this.xAxis = data.time
this.drawLine('main', ['发起申请数'], data.arr1, '#088AEE')
this.drawLine('main2', ['新增客户数'], data.arr2, '#E74E59')
this.drawLine('main3', ['群新增人数'], data.arr3, '#14BF48')
this.drawLine('main4', ['流失客户数'], data.arr4, '#FA7216')
},
drawLine(id, arrData, data, color) {
let obj = document.getElementById(id)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册