Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
仟微科技
Link Wechat
提交
7d1340e2
Link Wechat
项目概览
仟微科技
/
Link Wechat
通知
48
Star
3
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
1
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Link Wechat
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
7d1340e2
编写于
8月 05, 2021
作者:
X
xinla
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
优化首页代码
上级
d0eb4171
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
155 addition
and
162 deletion
+155
-162
linkwe-ui/src/utils/common.js
linkwe-ui/src/utils/common.js
+136
-151
linkwe-ui/src/views/index.vue
linkwe-ui/src/views/index.vue
+19
-11
未找到文件。
linkwe-ui/src/utils/common.js
浏览文件 @
7d1340e2
...
...
@@ -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
})
}
linkwe-ui/src/views/index.vue
浏览文件 @
7d1340e2
...
...
@@ -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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录