Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
P
pica-admin-consultation
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
Close sidebar
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
com.pica.cloud.education.frontend
pica-admin-consultation
提交
fac40675
提交
fac40675
编写于
8月 04, 2021
作者:
yafei.li
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'feat/yf' into 'develop'
Feat/yf See merge request
!64
上级
109a7256
096bce62
变更
11
隐藏空白字符变更
内嵌
并排
正在显示
11 个修改的文件
包含
827 行增加
和
677 行删除
+827
-677
package-lock.json
package-lock.json
+13
-35
App.vue
src/App.vue
+1
-1
wenzhenicon.png
src/assets/image/IM/wenzhenicon.png
+0
-0
chat.scss
src/components/IM/chat.scss
+426
-390
chat.vue
src/components/IM/chat.vue
+305
-239
diagnosis-live.vue
src/components/IM/diagnosis-live.vue
+26
-2
consultation.vue
src/components/common/consultation.vue
+2
-0
index.js
src/store/mutations/index.js
+31
-2
state.js
src/store/state.js
+1
-0
utils.js
src/utils/utils.js
+1
-1
workbench.vue
src/views/IM/diagnosis-admin/workbench.vue
+21
-7
未找到文件。
package-lock.json
浏览文件 @
fac40675
...
@@ -1308,7 +1308,6 @@
...
@@ -1308,7 +1308,6 @@
"resolved"
:
"http://192.168.110.93:4873/boom/-/boom-2.10.1.tgz"
,
"resolved"
:
"http://192.168.110.93:4873/boom/-/boom-2.10.1.tgz"
,
"integrity"
:
"sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8="
,
"integrity"
:
"sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8="
,
"dev"
:
true
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"requires"
:
{
"hoek"
:
"2.x.x"
"hoek"
:
"2.x.x"
}
}
...
@@ -2832,8 +2831,7 @@
...
@@ -2832,8 +2831,7 @@
"ansi-regex"
:
{
"ansi-regex"
:
{
"version"
:
"2.1.1"
,
"version"
:
"2.1.1"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
,
"dev"
:
true
"optional"
:
true
},
},
"aproba"
:
{
"aproba"
:
{
"version"
:
"1.2.0"
,
"version"
:
"1.2.0"
,
...
@@ -2854,14 +2852,12 @@
...
@@ -2854,14 +2852,12 @@
"balanced-match"
:
{
"balanced-match"
:
{
"version"
:
"1.0.0"
,
"version"
:
"1.0.0"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
,
"dev"
:
true
"optional"
:
true
},
},
"brace-expansion"
:
{
"brace-expansion"
:
{
"version"
:
"1.1.11"
,
"version"
:
"1.1.11"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"requires"
:
{
"balanced-match"
:
"^1.0.0"
,
"balanced-match"
:
"^1.0.0"
,
"concat-map"
:
"0.0.1"
"concat-map"
:
"0.0.1"
...
@@ -2876,20 +2872,17 @@
...
@@ -2876,20 +2872,17 @@
"code-point-at"
:
{
"code-point-at"
:
{
"version"
:
"1.1.0"
,
"version"
:
"1.1.0"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
,
"dev"
:
true
"optional"
:
true
},
},
"concat-map"
:
{
"concat-map"
:
{
"version"
:
"0.0.1"
,
"version"
:
"0.0.1"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
,
"dev"
:
true
"optional"
:
true
},
},
"console-control-strings"
:
{
"console-control-strings"
:
{
"version"
:
"1.1.0"
,
"version"
:
"1.1.0"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
,
"dev"
:
true
"optional"
:
true
},
},
"core-util-is"
:
{
"core-util-is"
:
{
"version"
:
"1.0.2"
,
"version"
:
"1.0.2"
,
...
@@ -3006,8 +2999,7 @@
...
@@ -3006,8 +2999,7 @@
"inherits"
:
{
"inherits"
:
{
"version"
:
"2.0.4"
,
"version"
:
"2.0.4"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
,
"dev"
:
true
"optional"
:
true
},
},
"ini"
:
{
"ini"
:
{
"version"
:
"1.3.5"
,
"version"
:
"1.3.5"
,
...
@@ -3019,7 +3011,6 @@
...
@@ -3019,7 +3011,6 @@
"version"
:
"1.0.0"
,
"version"
:
"1.0.0"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"requires"
:
{
"number-is-nan"
:
"^1.0.0"
"number-is-nan"
:
"^1.0.0"
}
}
...
@@ -3034,7 +3025,6 @@
...
@@ -3034,7 +3025,6 @@
"version"
:
"3.0.4"
,
"version"
:
"3.0.4"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"requires"
:
{
"brace-expansion"
:
"^1.1.7"
"brace-expansion"
:
"^1.1.7"
}
}
...
@@ -3042,14 +3032,12 @@
...
@@ -3042,14 +3032,12 @@
"minimist"
:
{
"minimist"
:
{
"version"
:
"1.2.5"
,
"version"
:
"1.2.5"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
,
"dev"
:
true
"optional"
:
true
},
},
"minipass"
:
{
"minipass"
:
{
"version"
:
"2.9.0"
,
"version"
:
"2.9.0"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"requires"
:
{
"safe-buffer"
:
"^5.1.2"
,
"safe-buffer"
:
"^5.1.2"
,
"yallist"
:
"^3.0.0"
"yallist"
:
"^3.0.0"
...
@@ -3068,7 +3056,6 @@
...
@@ -3068,7 +3056,6 @@
"version"
:
"0.5.3"
,
"version"
:
"0.5.3"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"requires"
:
{
"minimist"
:
"^1.2.5"
"minimist"
:
"^1.2.5"
}
}
...
@@ -3130,8 +3117,7 @@
...
@@ -3130,8 +3117,7 @@
"npm-normalize-package-bin"
:
{
"npm-normalize-package-bin"
:
{
"version"
:
"1.0.1"
,
"version"
:
"1.0.1"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
,
"dev"
:
true
"optional"
:
true
},
},
"npm-packlist"
:
{
"npm-packlist"
:
{
"version"
:
"1.4.8"
,
"version"
:
"1.4.8"
,
...
@@ -3159,8 +3145,7 @@
...
@@ -3159,8 +3145,7 @@
"number-is-nan"
:
{
"number-is-nan"
:
{
"version"
:
"1.0.1"
,
"version"
:
"1.0.1"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
,
"dev"
:
true
"optional"
:
true
},
},
"object-assign"
:
{
"object-assign"
:
{
"version"
:
"4.1.1"
,
"version"
:
"4.1.1"
,
...
@@ -3172,7 +3157,6 @@
...
@@ -3172,7 +3157,6 @@
"version"
:
"1.4.0"
,
"version"
:
"1.4.0"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"requires"
:
{
"wrappy"
:
"1"
"wrappy"
:
"1"
}
}
...
@@ -3250,8 +3234,7 @@
...
@@ -3250,8 +3234,7 @@
"safe-buffer"
:
{
"safe-buffer"
:
{
"version"
:
"5.1.2"
,
"version"
:
"5.1.2"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
,
"dev"
:
true
"optional"
:
true
},
},
"safer-buffer"
:
{
"safer-buffer"
:
{
"version"
:
"2.1.2"
,
"version"
:
"2.1.2"
,
...
@@ -3287,7 +3270,6 @@
...
@@ -3287,7 +3270,6 @@
"version"
:
"1.0.2"
,
"version"
:
"1.0.2"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"requires"
:
{
"code-point-at"
:
"^1.0.0"
,
"code-point-at"
:
"^1.0.0"
,
"is-fullwidth-code-point"
:
"^1.0.0"
,
"is-fullwidth-code-point"
:
"^1.0.0"
,
...
@@ -3307,7 +3289,6 @@
...
@@ -3307,7 +3289,6 @@
"version"
:
"3.0.1"
,
"version"
:
"3.0.1"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
,
"dev"
:
true
,
"optional"
:
true
,
"requires"
:
{
"requires"
:
{
"ansi-regex"
:
"^2.0.0"
"ansi-regex"
:
"^2.0.0"
}
}
...
@@ -3351,14 +3332,12 @@
...
@@ -3351,14 +3332,12 @@
"wrappy"
:
{
"wrappy"
:
{
"version"
:
"1.0.2"
,
"version"
:
"1.0.2"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
,
"dev"
:
true
"optional"
:
true
},
},
"yallist"
:
{
"yallist"
:
{
"version"
:
"3.1.1"
,
"version"
:
"3.1.1"
,
"bundled"
:
true
,
"bundled"
:
true
,
"dev"
:
true
,
"dev"
:
true
"optional"
:
true
}
}
}
}
},
},
...
@@ -3739,8 +3718,7 @@
...
@@ -3739,8 +3718,7 @@
"version"
:
"2.16.3"
,
"version"
:
"2.16.3"
,
"resolved"
:
"http://192.168.110.93:4873/hoek/-/hoek-2.16.3.tgz"
,
"resolved"
:
"http://192.168.110.93:4873/hoek/-/hoek-2.16.3.tgz"
,
"integrity"
:
"sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0="
,
"integrity"
:
"sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0="
,
"dev"
:
true
,
"dev"
:
true
"optional"
:
true
},
},
"home-or-tmp"
:
{
"home-or-tmp"
:
{
"version"
:
"2.0.0"
,
"version"
:
"2.0.0"
,
...
...
src/App.vue
浏览文件 @
fac40675
...
@@ -66,7 +66,7 @@ export default {
...
@@ -66,7 +66,7 @@ export default {
},
},
mounted
()
{
mounted
()
{
setTimeout
(
function
()
{
setTimeout
(
function
()
{
bindDragHeader
(
'.c-header'
,
'.chat-wrap'
);
bindDragHeader
(
'.c-header'
,
'.chat-wrap'
,
'.wenzenbox'
);
},
1000
)
},
1000
)
},
},
...
...
src/assets/image/IM/wenzhenicon.png
0 → 100644
浏览文件 @
fac40675
29.4 KB
src/components/IM/chat.scss
浏览文件 @
fac40675
...
@@ -4,463 +4,499 @@
...
@@ -4,463 +4,499 @@
right
:
20px
;
right
:
20px
;
z-index
:
1000
;
z-index
:
1000
;
width
:
640px
;
width
:
640px
;
height
:
733
px
;
min-height
:
700
px
;
background
:
#ffffff
;
background
:
#ffffff
;
box-shadow
:
10px
10px
50px
0px
#
D9D9D
9
;
box-shadow
:
10px
10px
50px
0px
#
d9d9d
9
;
overflow
:
hidden
;
overflow
:
hidden
;
border-radius
:
18px
;
border-radius
:
18px
;
.component-content
{
.component-content
{
.center
{
.center
{
//margin-left: 10%;
//margin-left: 10%;
//margin-right: 10%;
//margin-right: 10%;
flex
:
1
;
flex
:
1
;
background
:
#fff
;
background
:
#fff
;
.c-header
{
.c-header
{
//height: 40px;
//height: 40px;
padding
:
15px
24px
;
padding
:
15px
24px
;
.header-line
{
.header-line
{
display
:
flex
;
display
:
flex
;
flex-direction
:
row
;
flex-direction
:
row
;
justify-content
:
space-between
;
justify-content
:
space-between
;
align-items
:
center
;
align-items
:
center
;
}
.c-header-l
{
color
:
#063948
;
.num
{
font-size
:
28px
;
}
}
.c-header-l
{
.dep
{
color
:
#063948
;
font-size
:
20px
;
.num
{
font-size
:
28px
;
}
.dep
{
font-size
:
20px
;
}
}
}
.c-header-edit
{
}
display
:
flex
;
.c-header-edit
{
min-width
:
140px
;
display
:
flex
;
justify-content
:
space-around
;
min-width
:
140px
;
.edit-img
{
justify-content
:
space-around
;
width
:
24px
;
.edit-img
{
height
:
24px
;
width
:
24px
;
img
{
height
:
24px
;
width
:
100%
;
img
{
height
:
100%
;
width
:
100%
;
}
height
:
100%
;
}
.edit-imgclose
{
width
:
70px
;
height
:
24px
;
background
:
#FF5E57
;
border-radius
:
12px
;
font-size
:
13px
;
font-family
:
PingFangSC-Regular
,
PingFang
SC
;
font-weight
:
400
;
color
:
#FFFFFF
;
line-height
:
24px
;
user-select
:none
;
}
}
}
}
.edit-imgclose
{
width
:
70px
;
height
:
24px
;
background
:
#ff5e57
;
border-radius
:
12px
;
font-size
:
13px
;
font-family
:
PingFangSC-Regular
,
PingFang
SC
;
font-weight
:
400
;
color
:
#ffffff
;
line-height
:
24px
;
user-select
:
none
;
}
}
}
.msg-content
{
}
height
:
400px
;
.msg-content
{
background
:
#F0F2F5
;
height
:
400px
;
word-break
:
break-all
;
background
:
#f0f2f5
;
overflow
:
scroll
;
word-break
:
break-all
;
overflow
:
scroll
;
display
:
flex
;
flex-direction
:
column
;
margin-top
:
10px
;
.msg-item
{
display
:
flex
;
display
:
flex
;
flex-direction
:
column
;
flex-direction
:
row
;
margin-top
:
10px
;
margin
:
12px
0
;
.msg-item
{
.msg-item-img
{
width
:
36px
;
height
:
36px
;
margin-right
:
12px
;
&
>
img
{
width
:
100%
;
height
:
100%
;
border-radius
:
22px
;
}
}
.msg-item-detail
{
display
:
flex
;
display
:
flex
;
flex-direction
:
row
;
flex-direction
:
column
;
margin
:
12px
0
;
text-align
:
left
;
.msg-item-img
{
font-size
:
13px
;
width
:
36px
;
&
>
:first-child
{
height
:
36px
;
color
:
#999999
;
margin-right
:
12px
;
margin-bottom
:
8px
;
&
>
img
{
width
:
100%
;
height
:
100%
;
border-radius
:
22px
;
}
}
}
.msg-item-detail
{
.send-warpper
{
display
:
flex
;
// display: flex;
flex-direction
:
column
;
// flex-direction: row;
text-align
:
left
;
// align-items: center;
font-size
:
13px
;
&
>
.icon
{
&
>
:first-child
{
float
:
left
;
color
:
#999999
;
width
:
20px
;
margin-bottom
:
8px
;
height
:
20px
;
margin-right
:
10px
;
margin-top
:
10px
;
}
}
.send-warpper
{
.mid-text-wrapper
{
display
:
inline-block
;
// display: flex;
// display: flex;
// flex-direction: row;
// flex-direction: row;
// align-items: center;
// align-items: center;
&
>
.icon
{
// & > img {
float
:
left
;
// width: 18px;
width
:
20px
;
// height: 18px;
height
:
20px
;
// margin-right: 8px;
margin-right
:
10px
;
// cursor: pointer;
margin-top
:
10px
;
// }
}
}
.mid-text-wrapper
{
.mid-text
{
display
:
inline-block
;
padding
:
12px
16px
;
// display: flex;
display
:
inline-block
;
// flex-direction: row;
max-width
:
520px
;
// align-items: center;
border-radius
:
8px
;
// & > img {
text-align
:
justify
;
// width: 18px;
&
.no-support
{
// height: 18px;
// margin-right: 8px;
// cursor: pointer;
// }
}
.mid-text
{
padding
:
12px
16px
;
display
:
inline-block
;
max-width
:
520px
;
border-radius
:
8px
;
text-align
:
justify
;
&
.no-support
{
display
:
flex
;
align-items
:
center
;
&
>
img
{
width
:
14px
;
height
:
14px
;
margin-right
:
3px
;
}
}
}
.link
{
color
:
#ffffff
;
}
&
>
.mid-pdf
{
width
:
260px
;
display
:
flex
;
flex-direction
:
row
;
justify-content
:
space-between
;
text-align
:
left
;
padding
:
10px
15px
;
//background: #f0f1f2;
border-radius
:
8px
;
min-height
:
80px
;
cursor
:
pointer
;
.midp-left
{
display
:
flex
;
flex-direction
:
column
;
justify-content
:
space-around
;
margin-right
:
10px
;
.name
{
font-size
:
13px
;
color
:
#333333
;
word-break
:
break-word
;
}
.size
{
font-size
:
12px
;
color
:
#999999
;
}
}
.midp-icon
{
width
:
36px
;
height
:
44px
;
&
>
img
{
width
:
36px
;
height
:
100%
;
border-radius
:
3px
;
}
}
}
&
>
.mid-img
{
display
:
flex
;
display
:
flex
;
flex-direction
:
row
;
align-items
:
center
;
align-items
:
center
;
cursor
:
pointer
;
&
>
img
{
// & > .icon {
width
:
14px
;
// width: 20px;
height
:
14px
;
// height: 20px;
margin-right
:
3px
;
// }
// & > .img {
// width: 170px;
// height: 108px;
// border-radius: 8px;
// }
.img-box
{
max-width
:
192px
;
max-height
:
320px
;
overflow
:
hidden
;
}
}
}
}
&
>
.diagnosis-box
{
}
width
:
260px
;
.link
{
text-align
:
left
;
color
:
#ffffff
;
padding
:
10px
15px
;
}
//background: #ffffff;
&
>
.mid-pdf
{
border-radius
:
8px
;
width
:
260px
;
min-height
:
80px
;
display
:
flex
;
.title
{
flex-direction
:
row
;
padding-bottom
:
10px
;
justify-content
:
space-between
;
font-size
:
14px
;
text-align
:
left
;
font-weight
:
700
;
padding
:
10px
15px
;
//background: #f0f1f2;
border-radius
:
8px
;
min-height
:
80px
;
cursor
:
pointer
;
.midp-left
{
display
:
flex
;
flex-direction
:
column
;
justify-content
:
space-around
;
margin-right
:
10px
;
.name
{
font-size
:
13px
;
color
:
#333333
;
word-break
:
break-word
;
}
}
.
dia-text
{
.
size
{
font-size
:
12px
;
font-size
:
12px
;
.label
{
color
:
#999999
;
color
:
#ffffff
;
}
}
}
}
}
&
>
.time-box
{
.midp-icon
{
width
:
260px
;
width
:
36px
;
text-align
:
left
;
height
:
44px
;
padding
:
10px
15px
;
&
>
img
{
//background: #ffffff;
width
:
36px
;
border-radius
:
8px
;
height
:
100%
;
min-height
:
80px
;
border-radius
:
3px
;
.title
{
padding-bottom
:
10px
;
font-size
:
14px
;
font-weight
:
700
;
}
.time
{
padding-bottom
:
10px
;
font-size
:
12px
;
font-weight
:
700
;
}
.time-text
{
font-size
:
12px
;
}
}
}
}
&
>
.suggession-box
{
}
width
:
260px
;
&
>
.mid-img
{
text-align
:
left
;
display
:
flex
;
padding
:
10px
15px
;
flex-direction
:
row
;
//background: #f0f1f2;
align-items
:
center
;
border-radius
:
8px
;
cursor
:
pointer
;
min-height
:
80px
;
// & > .icon {
.title
{
// width: 20px;
padding-bottom
:
10px
;
// height: 20px;
font-size
:
14px
;
// }
font-weight
:
700
;
// & > .img {
}
// width: 170px;
.suggession-text
{
// height: 108px;
font-size
:
12px
;
// border-radius: 8px;
.label
{
// }
}
.img-box
{
max-width
:
192px
;
max-height
:
320px
;
overflow
:
hidden
;
}
}
&
>
.diagnosis-box
{
width
:
260px
;
text-align
:
left
;
padding
:
10px
15px
;
//background: #ffffff;
border-radius
:
8px
;
min-height
:
80px
;
.title
{
padding-bottom
:
10px
;
font-size
:
14px
;
font-weight
:
700
;
}
.dia-text
{
font-size
:
12px
;
.label
{
color
:
#ffffff
;
}
}
}
}
&
>
.time-box
{
width
:
260px
;
text-align
:
left
;
padding
:
10px
15px
;
//background: #ffffff;
border-radius
:
8px
;
min-height
:
80px
;
.title
{
padding-bottom
:
10px
;
font-size
:
14px
;
font-weight
:
700
;
}
}
&
>
.audio-box
audio
{
.time
{
width
:
242px
;
padding-bottom
:
10px
;
height
:
44px
;
font-size
:
12px
;
//background: #EBF5FC;
font-weight
:
700
;
border-radius
:
20px
;
}
}
&
>
.live-box
{
.time-text
{
width
:
202px
;
font-size
:
12px
;
height
:
44px
;
line-height
:
44px
;
background
:
#ffffff
;
border-radius
:
8px
;
text-align
:
center
;
}
}
&
>
.diagnosis-end
{
}
width
:
100%
;
&
>
.suggession-box
{
.split-line
{
width
:
260px
;
width
:
100%
;
text-align
:
left
;
display
:
flex
;
padding
:
10px
15px
;
flex-direction
:
row
;
//background: #f0f1f2;
align-items
:
center
;
border-radius
:
8px
;
margin
:
15px
0
;
min-height
:
80px
;
font-size
:
14px
;
.title
{
&
:
:
before
{
padding-bottom
:
10px
;
flex
:
1
;
font-size
:
14px
;
content
:
''
;
font-weight
:
700
;
height
:
1px
;
}
margin-right
:
18px
;
.suggession-text
{
//background: #f0f1f2;
font-size
:
12px
;
}
.label
{
&
:
:
after
{
flex
:
1
;
content
:
''
;
height
:
1px
;
margin-left
:
18px
;
//background: #f0f1f2;
}
}
}
}
}
}
}
}
&
>
.audio-box
audio
{
.msg-item-detail.line
{
width
:
242px
;
width
:
100%
;
height
:
44px
;
}
//background: #EBF5FC;
&
.cr
{
border-radius
:
20px
;
flex-direction
:
row-reverse
;
}
//justify-content: flex-end;
&
>
.live-box
{
.msg-item-img
{
width
:
202px
;
margin-right
:
0
;
height
:
44px
;
margin-left
:
8px
;
line-height
:
44px
;
background
:
#ffffff
;
border-radius
:
8px
;
text-align
:
center
;
}
}
.msg-item-detail
{
&
>
.diagnosis-end
{
text-align
:
right
;
width
:
100%
;
&
>
.mid-text
{
.split-line
{
background
:
#449284
;
width
:
100%
;
display
:
flex
;
flex-direction
:
row
;
align-items
:
center
;
margin
:
15px
0
;
font-size
:
14px
;
&
:
:
before
{
flex
:
1
;
content
:
""
;
height
:
1px
;
margin-right
:
18px
;
//background: #f0f1f2;
}
&
:
:
after
{
flex
:
1
;
content
:
""
;
height
:
1px
;
margin-left
:
18px
;
//background: #f0f1f2;
}
}
}
}
}
}
}
}
}
.msg-item
{
.msg-item-detail.line
{
color
:
#063948
;
width
:
100%
;
.mid-text
{
background
:
#ffffff
;
}
}
}
.cr
{
&
.cr
{
color
:
#ffffff
;
flex-direction
:
row-reverse
;
.mid-text
,
.live-notice
,
.time-box
,
.diagnosis-box
,
.suggession-box
{
//justify-content: flex-end;
background
:
#449284
;
.msg-item-img
{
.time
{
margin-right
:
0
;
color
:
#ffffff
;
margin-left
:
8px
;
}
.msg-item-detail
{
text-align
:
right
;
&
>
.mid-text
{
background
:
#449284
;
}
}
}
}
}
}
.split-line
{
}
width
:
100%
;
.msg-item
{
display
:
flex
;
color
:
#063948
;
flex-direction
:
row
;
.mid-text
{
align-items
:
center
;
background
:
#ffffff
;
margin
:
15px
0
;
font-size
:
14px
;
color
:
#999999
;
&
:
:
before
{
flex
:
1
;
content
:
''
;
height
:
1px
;
margin-right
:
18px
;
background
:
#f0f1f2
;
}
&
:
:
after
{
flex
:
1
;
content
:
''
;
height
:
1px
;
margin-left
:
18px
;
background
:
#f0f1f2
;
}
}
}
.error-mg
{
}
display
:
inline-block
;
.cr
{
max-width
:
520px
;
color
:
#ffffff
;
// height: 24px;
.mid-text
,
max-width
:
520px
;
.live-notice
,
line-height
:
16px
;
.time-box
,
text-align
:
left
;
.diagnosis-box
,
border-radius
:
20px
;
.suggession-box
{
opacity
:
0
.45
;
background
:
#449284
;
margin
:
-2px
0
10px
;
.time
{
padding
:
4px
12px
;
color
:
#ffffff
;
color
:
#FFFFFF
;
background
:
#000000
;
margin-left
:
50px
;
&
.mr
{
margin-left
:
0
;
margin-right
:
50px
;
}
}
}
}
}
}
.
msg-content
:
:-
webkit-scrollbar
.split-line
{
{
width
:
100%
;
width
:
0px
;
height
:
0px
;
background-color
:
#fff
;
}
.c-bottom
{
position
:
relative
;
top
:
-8px
;
left
:
0
;
display
:
flex
;
display
:
flex
;
align-items
:
center
;
flex-direction
:
row
;
flex-direction
:
row
;
margin
:
16px
12px
16px
25px
;
align-items
:
center
;
.cb-icon-wrapper
{
margin
:
15px
0
;
display
:
flex
;
font-size
:
14px
;
align-items
:
center
;
color
:
#999999
;
height
:
44px
;
&
:
:
before
{
img
{
flex
:
1
;
width
:
20px
;
content
:
""
;
height
:
20px
;
height
:
1px
;
margin-right
:
16px
;
margin-right
:
18px
;
cursor
:
pointer
;
background
:
#f0f1f2
;
}
}
.send-btn
{
width
:
86px
;
height
:
33px
;
background
:
#449284
;
border-radius
:
23px
;
color
:
#ffffff
;
border
:
none
;
font-size
:
14px
;
font-weight
:
bold
;
}
}
::v-deep
.el-textarea
{
&
:
:
after
{
.el-textarea__inner
{
flex
:
1
;
border
:
none
;
content
:
""
;
}
height
:
1px
;
margin-left
:
18px
;
background
:
#f0f1f2
;
}
}
::v-deep
.c-bottom-input
{
}
//border: 4px solid #0d9078 !important;
.error-mg
{
::v-deep
textarea
{
display
:
inline-block
;
border
:
none
!
important
;
max-width
:
520px
;
}
// height: 24px;
max-width
:
520px
;
line-height
:
16px
;
text-align
:
left
;
border-radius
:
20px
;
opacity
:
0
.45
;
margin
:
-2px
0
10px
;
padding
:
4px
12px
;
color
:
#ffffff
;
background
:
#000000
;
margin-left
:
50px
;
&
.mr
{
margin-left
:
0
;
margin-right
:
50px
;
}
}
}
}
&
.no-content
{
}
.
msg-content
:
:-
webkit-scrollbar
{
width
:
0px
;
height
:
0px
;
background-color
:
#fff
;
}
.c-bottom
{
position
:
relative
;
top
:
-8px
;
left
:
0
;
display
:
flex
;
align-items
:
center
;
flex-direction
:
row
;
margin
:
16px
12px
16px
25px
;
.cb-icon-wrapper
{
display
:
flex
;
display
:
flex
;
flex-direction
:
column
;
justify-content
:
center
;
align-items
:
center
;
align-items
:
center
;
height
:
44px
;
img
{
img
{
display
:
block
;
width
:
20px
;
width
:
120px
;
height
:
20px
;
height
:
100px
;
margin-right
:
16px
;
cursor
:
pointer
;
}
}
p
{
}
margin-top
:
10px
;
.send-btn
{
font-size
:
14px
;
width
:
86px
;
color
:
rgba
(
0
,
0
,
0
,
0
.65
);
height
:
33px
;
background
:
#449284
;
border-radius
:
23px
;
color
:
#ffffff
;
border
:
none
;
font-size
:
14px
;
font-weight
:
bold
;
}
::v-deep
.el-textarea
{
.el-textarea__inner
{
border
:
none
;
}
}
::v-deep
.c-bottom-input
{
//border: 4px solid #0d9078 !important;
::v-deep
textarea
{
border
:
none
!
important
;
}
}
}
}
}
}
background
:
#fff
;
&
.no-content
{
.time
{
display
:
flex
;
color
:
#999999
;
flex-direction
:
column
;
justify-content
:
center
;
align-items
:
center
;
img
{
display
:
block
;
width
:
120px
;
height
:
100px
;
}
p
{
margin-top
:
10px
;
font-size
:
14px
;
color
:
rgba
(
0
,
0
,
0
,
0
.65
);
}
}
}
background
:
#fff
;
.time
{
color
:
#999999
;
}
.small
{
font-size
:
12px
;
}
.ld
{
-webkit-transition-property
:
-
webkit-transform
;
-webkit-transition-duration
:
1s
;
-moz-transition-property
:
-
moz-transform
;
-moz-transition-duration
:
1s
;
-webkit-animation
:
rotate
3s
linear
infinite
;
-moz-animation
:
rotate
3s
linear
infinite
;
-o-animation
:
rotate
3s
linear
infinite
;
animation
:
rotate
3s
linear
infinite
;
}
@-webkit-keyframes
rotate
{
from
{
-webkit-transform
:
rotate
(
0deg
);
}
to
{
-webkit-transform
:
rotate
(
360deg
);
}
}
.small
{
}
font-size
:
12px
;
@-moz-keyframes
rotate
{
from
{
-moz-transform
:
rotate
(
0deg
);
}
}
.ld
{
to
{
-webkit-transition-property
:
-
webkit-transform
;
-moz-transform
:
rotate
(
359deg
);
-webkit-transition-duration
:
1s
;
-moz-transition-property
:
-
moz-transform
;
-moz-transition-duration
:
1s
;
-webkit-animation
:
rotate
3s
linear
infinite
;
-moz-animation
:
rotate
3s
linear
infinite
;
-o-animation
:
rotate
3s
linear
infinite
;
animation
:
rotate
3s
linear
infinite
;
}
}
@-webkit-keyframes
rotate
{
from
{
-webkit-transform
:
rotate
(
0deg
)}
}
to
{
-webkit-transform
:
rotate
(
360deg
)}
@-o-keyframes
rotate
{
from
{
-o-transform
:
rotate
(
0deg
);
}
}
@-moz-keyframes
rotate
{
from
{
-moz-transform
:
rotate
(
0deg
)}
to
{
to
{
-moz-transform
:
rotate
(
359deg
)}
-o-transform
:
rotate
(
359deg
);
}
}
@-o-keyframes
rotate
{
from
{
-o-transform
:
rotate
(
0deg
)}
}
to
{
-o-transform
:
rotate
(
359deg
)}
@keyframes
rotate
{
from
{
transform
:
rotate
(
0deg
);
}
}
@keyframes
rotate
{
from
{
transform
:
rotate
(
0deg
)}
to
{
to
{
transform
:
rotate
(
359deg
)}
transform
:
rotate
(
359deg
);
}
}
}
}
}
}
.shrink64
{
}
height
:
64px
;
.wenzenbox
{
width
:
120px
;
height
:
120px
;
img
{
width
:
120px
;
height
:
120px
;
}
}
.shrink64
{
height
:
120px
;
width
:
120px
;
background-color
:
transparent
;
box-shadow
:none
;
overflow
:
hidden
;
border-radius
:
18px
;
}
}
src/components/IM/chat.vue
浏览文件 @
fac40675
<
template
>
<
template
>
<div
class=
"chat-wrap"
:class=
"toggleChatSize ? 'shrink64' : ''"
v-show=
"showChat"
>
<div
<section
class=
"component-content"
id=
"screenSet"
>
class=
"chat-wrap"
<article
:class=
"!toggleChatSize ? 'shrink64' : ''"
class=
"center"
v-show=
"showChat"
v-loadmore=
"getOldMSGHistory"
>
>
<section
v-show=
"toggleChatSize"
class=
"component-content"
id=
"screenSet"
>
<article
class=
"center"
v-loadmore=
"getOldMSGHistory"
>
<section
class=
"c-header"
>
<section
class=
"c-header"
>
<div
class=
"header-line"
>
<div
class=
"header-line"
>
<div
class=
"c-header-l"
>
<div
class=
"c-header-l"
>
<span
class=
"num"
>
{{
currentChat
.
diagnoseLogId
}}
</span>
<span
class=
"num"
>
{{
currentChat
.
diagnoseLogId
}}
</span>
<span
class=
"dep"
>
{{
currentChat
.
department
}}
</span>
<span
class=
"dep"
>
{{
currentChat
.
department
}}
</span>
</div>
</div>
<div
class=
"c-header-edit"
>
<div
class=
"c-header-edit"
>
<span
class=
"edit-imgclose"
@
click=
"overFn"
>
<span
class=
"edit-imgclose"
@
click=
"overFn"
>
结束问诊
</span>
结束问诊
</span>
<span
class=
"edit-img"
@
click=
"closeChat"
>
<span
class=
"edit-img"
@
click=
"closeChat"
>
<img
src=
"../../assets/image/IM/im_close2.png"
alt
/>
<img
src=
"../../assets/image/IM/im_close2.png"
alt
/>
</span>
</span>
<span
class=
"edit-img"
@
click=
"toggleChatModal"
>
<span
class=
"edit-img"
@
click=
"toggleChatModal"
>
<img
src=
"../../assets/image/IM/im_small.png"
alt
/>
<img
src=
"../../assets/image/IM/im_small.png"
alt
/>
</span>
</span>
</div>
</div>
</div>
</div>
<div
class=
"header-line"
>
<div
class=
"header-line"
></div>
</div>
</section>
</section>
<diagnosis-Live
:doctorImg=
"doctorImg"
></diagnosis-Live>
<diagnosis-Live
:doctorImg=
"doctorImg"
></diagnosis-Live>
<section
id=
"msgContentId"
class=
"msg-content scroll-box"
>
<section
id=
"msgContentId"
class=
"msg-content scroll-box"
>
<article
<article
v-for=
"(item, index) in messageList"
:key=
"index"
>
v-for=
"(item, index) in messageList"
:key=
"index"
>
<!-- sendOrReceive 为true在右边 -->
<!-- sendOrReceive 为true在右边 -->
<div
class=
"msg-item"
:class=
"
{
'cr': item.sendOrReceive
}">
<div
class=
"msg-item"
:class=
"
{
cr: item.sendOrReceive
}">
<div
v-if=
"item.showType != 10"
class=
"msg-item-img"
>
<div
v-if=
"item.showType != 10"
class=
"msg-item-img"
>
<img
:src=
"item.avatarImg"
alt
/>
<img
:src=
"item.avatarImg"
alt
/>
</div>
</div>
<div
class=
"msg-item-detail"
:class=
"
{'line': item.showType == 10}">
<div
<span
v-if=
"item.showType != 10"
class=
"mid-time"
>
{{
item
.
name
}}
{{
item
.
timestampStr
}}
</span>
class=
"msg-item-detail"
:class=
"
{ line: item.showType == 10 }"
>
<span
v-if=
"item.showType != 10"
class=
"mid-time"
>
{{
item
.
name
}}
{{
item
.
timestampStr
}}
</span
>
<div
class=
"send-warpper"
>
<div
class=
"send-warpper"
>
<img
<img
v-if=
"item.sendOrReceive && item.isShowErrorIcon"
v-if=
"item.sendOrReceive && item.isShowErrorIcon"
...
@@ -52,72 +52,90 @@
...
@@ -52,72 +52,90 @@
src=
"../../assets/image/IM/loading-icon-new.png"
src=
"../../assets/image/IM/loading-icon-new.png"
alt
alt
/>
/>
<div
v-if=
"item.showType == 1"
class=
"mid-text-wrapper"
style=
"max-width: 520px;"
>
<div
<div
class=
"mid-text"
>
{{
item
.
text
}}
</div>
v-if=
"item.showType == 1"
class=
"mid-text-wrapper"
style=
"max-width: 520px"
>
<div
class=
"mid-text"
>
{{
item
.
text
}}
</div>
</div>
</div>
<div
v-if=
"item.showType == 2"
class=
"mid-img"
v-viewer
>
<div
v-if=
"item.showType == 2"
class=
"mid-img"
v-viewer
>
<div
class=
"img-box"
>
<div
class=
"img-box"
>
<img
<img
class=
"img"
class=
"img"
:src=
"item.url"
:src=
"item.url"
:style=
"
{width: item.newW + 'px', height: item.newH + 'px' }"
:style=
"
{
width: item.newW + 'px',
height: item.newH + 'px',
}"
alt
alt
/>
/>
</div>
</div>
</div>
</div>
<div
v-if=
"item.showType == 3"
class=
"mid-pdf"
@
click=
"openPDF(item)"
>
<div
v-if=
"item.showType == 3"
class=
"mid-pdf"
@
click=
"openPDF(item)"
>
<div
class=
"midp-left"
>
<div
class=
"midp-left"
>
<span
class=
"name"
>
{{
item
.
text
|
shortName
(
23
)
}}
</span>
<span
class=
"name"
>
{{
item
.
text
|
shortName
(
23
)
}}
</span>
<span
class=
"size"
>
{{
fileSizeChange
(
item
.
size
)
}}
</span>
<span
class=
"size"
>
{{
fileSizeChange
(
item
.
size
)
}}
</span>
</div>
</div>
<div
class=
"midp-icon"
>
<div
class=
"midp-icon"
>
<img
src=
"../../assets/image/IM/icon-pdf.png"
alt
/>
<img
src=
"../../assets/image/IM/icon-pdf.png"
alt
/>
</div>
</div>
</div>
</div>
<div
v-if=
"item.showType == 4"
class=
"mid-text"
>
<div
v-if=
"item.showType == 4"
class=
"mid-text"
>
{{
item
.
text
}}
{{
item
.
text
}}
<span
class=
"link"
>
{{
item
.
suffix
}}
</span>
<span
class=
"link"
>
{{
item
.
suffix
}}
</span>
</div>
</div>
<div
v-if=
"item.showType == 5"
class=
"mid-text no-support"
>
<div
v-if=
"item.showType == 5"
class=
"mid-text no-support"
>
<img
src=
"../../assets/image/IM/icon-warning-circle.png"
alt
/>
<img
src=
"../../assets/image/IM/icon-warning-circle.png"
alt
/>
<span>
该消息类型PC端暂不支持
</span>
<span>
该消息类型PC端暂不支持
</span>
</div>
</div>
<!-- 语音消息 -->
<!-- 语音消息 -->
<div
v-if=
"item.showType == 6"
class=
"audio-box"
>
<div
v-if=
"item.showType == 6"
class=
"audio-box"
>
<audio
controls
>
<audio
controls
>
<source
:src=
"item.url"
type=
"audio/mpeg"
>
<source
:src=
"item.url"
type=
"audio/mpeg"
/
>
</audio>
</audio>
</div>
</div>
<!-- 问诊开始与病例模块 -->
<!-- 问诊开始与病例模块 -->
<div
v-if=
"item.showType == 7"
class=
"diagnosis-box"
>
<div
v-if=
"item.showType == 7"
class=
"diagnosis-box"
>
<div
class=
"title"
>
{{
item
.
title
}}
</div>
<div
class=
"title"
>
{{
item
.
title
}}
</div>
<div
class=
"dia-text"
>
<div
class=
"dia-text"
>
<span
class=
"label"
>
患者:
</span>
<span
class=
"label"
>
患者:
</span>
<span>
{{
item
.
text
.
patientName
}}
{{
item
.
text
.
sex
==
1
?
'男'
:
'女'
}}
{{
item
.
text
.
age
}}
岁
</span>
<span
>
{{
item
.
text
.
patientName
}}
{{
item
.
text
.
sex
==
1
?
"男"
:
"女"
}}
{{
item
.
text
.
age
}}
岁
</span
>
</div>
</div>
<div
class=
"dia-text"
>
<div
class=
"dia-text"
>
<span
class=
"label"
>
病情描述:
</span>
<span
class=
"label"
>
病情描述:
</span>
<span>
{{
item
.
text
.
illnessDetail
}}
</span>
<span>
{{
item
.
text
.
illnessDetail
}}
</span>
</div>
</div>
</div>
</div>
<!-- 预约时间模块 -->
<!-- 预约时间模块 -->
<div
v-if=
"item.showType == 8"
class=
"time-box"
>
<div
v-if=
"item.showType == 8"
class=
"time-box"
>
<div
class=
"title"
>
{{
item
.
title
}}
</div>
<div
class=
"title"
>
{{
item
.
title
}}
</div>
<div
class=
"time"
>
{{
item
.
text
.
timeStr
}}
</div>
<div
class=
"time"
>
{{
item
.
text
.
timeStr
}}
</div>
<div
class=
"time-text"
>
{{
item
.
text
.
tips
}}
</div>
<div
class=
"time-text"
>
{{
item
.
text
.
tips
}}
</div>
</div>
</div>
<!-- 音视频与IM的交互 -->
<!-- 音视频与IM的交互 -->
<div
v-if=
"item.showType == 9"
class=
"live-box"
>
<div
v-if=
"item.showType == 9"
class=
"live-box"
>
<div
class=
"live-notice"
>
{{
item
.
text
}}
</div>
<div
class=
"live-notice"
>
{{
item
.
text
}}
</div>
</div>
</div>
<!-- 问诊结束 -->
<!-- 问诊结束 -->
<div
v-if=
"item.showType == 10"
class=
"diagnosis-end"
>
<div
v-if=
"item.showType == 10"
class=
"diagnosis-end"
>
<div
class=
"split-line"
>
{{
item
.
text
}}
</div>
<div
class=
"split-line"
>
{{
item
.
text
}}
</div>
</div>
</div>
<!-- 医生建议模块 -->
<!-- 医生建议模块 -->
<div
v-if=
"item.showType == 11"
class=
"suggession-box"
>
<div
v-if=
"item.showType == 11"
class=
"suggession-box"
>
<div
class=
"title"
>
{{
item
.
title
}}
</div>
<div
class=
"title"
>
{{
item
.
title
}}
</div>
<div
class=
"suggession-text"
>
{{
item
.
text
}}
</div>
<div
class=
"suggession-text"
>
{{
item
.
text
}}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -125,12 +143,19 @@
...
@@ -125,12 +143,19 @@
<span
<span
v-if=
"item.sendOrReceive && item.isShowErrorMsg"
v-if=
"item.sendOrReceive && item.isShowErrorMsg"
class=
"error-mg"
class=
"error-mg"
:class=
"
{'mr': item.sendOrReceive}"
:class=
"
{ mr: item.sendOrReceive }"
>
{{
item
.
errorMsg
}}
</span>
>
{{
item
.
errorMsg
}}
</span
>
</article>
</article>
</section>
</section>
<section
class=
"c-bottom"
>
<section
class=
"c-bottom"
>
<el-input
type=
"textarea"
class=
"c-bottom-input"
placeholder=
"请输入内容"
v-model=
"sendText"
maxlength=
"499"
></el-input>
<el-input
type=
"textarea"
class=
"c-bottom-input"
placeholder=
"请输入内容"
v-model=
"sendText"
maxlength=
"499"
></el-input>
<div
class=
"cb-icon-wrapper"
>
<div
class=
"cb-icon-wrapper"
>
<el-upload
<el-upload
class=
"bg-uploader"
class=
"bg-uploader"
...
@@ -141,16 +166,26 @@
...
@@ -141,16 +166,26 @@
>
>
<img
src=
"../../assets/image/IM/im_sendfile.png"
alt
/>
<img
src=
"../../assets/image/IM/im_sendfile.png"
alt
/>
</el-upload>
</el-upload>
<img
src=
"../../assets/image/IM/im_sendvedio.png"
@
click=
"preSendLinkMsg"
alt
/>
<img
src=
"../../assets/image/IM/im_sendvedio.png"
@
click=
"preSendLinkMsg"
alt
/>
</div>
</div>
<el-button
size=
"small"
class=
"send-btn"
:class=
"
{'active': canSend}" @click="sendTextMsg">
<el-button
size=
"small"
class=
"send-btn"
:class=
"
{ active: canSend }"
@click="sendTextMsg"
>
发送
发送
</el-button>
</el-button>
</section>
</section>
</article>
</article>
</section>
</section>
<div
v-show=
"!toggleChatSize"
class=
"wenzenbox"
@
click=
"toggleChatModal"
>
<img
src=
"../../assets/image/IM/wenzhenicon.png"
alt=
""
/>
</div>
<!-- 选择链接弹窗 -->
<!-- 选择链接弹窗 -->
<el-dialog
<el-dialog
title=
"选择链接"
title=
"选择链接"
...
@@ -161,15 +196,28 @@
...
@@ -161,15 +196,28 @@
width=
"500px"
width=
"500px"
class=
"link-form"
class=
"link-form"
>
>
<el-form
ref=
"linkFormRef"
:rules=
"rules"
:model=
"linkForm"
label-width=
"100px"
>
<el-form
ref=
"linkFormRef"
:rules=
"rules"
:model=
"linkForm"
label-width=
"100px"
>
<el-form-item
label=
"普通文本"
>
<el-form-item
label=
"普通文本"
>
<el-col
:span=
"20"
>
<el-col
:span=
"20"
>
<el-input
v-model=
"linkForm.remark"
size=
"small"
maxlength=
"300"
></el-input>
<el-input
v-model=
"linkForm.remark"
size=
"small"
maxlength=
"300"
></el-input>
</el-col>
</el-col>
</el-form-item>
</el-form-item>
<el-form-item
label=
"链接文案"
prop=
"info"
>
<el-form-item
label=
"链接文案"
prop=
"info"
>
<el-col
:span=
"20"
>
<el-col
:span=
"20"
>
<el-input
v-model=
"linkForm.info"
size=
"small"
maxlength=
"100"
></el-input>
<el-input
v-model=
"linkForm.info"
size=
"small"
maxlength=
"100"
></el-input>
</el-col>
</el-col>
</el-form-item>
</el-form-item>
<el-form-item
label=
"链接地址"
prop=
"url"
>
<el-form-item
label=
"链接地址"
prop=
"url"
>
...
@@ -192,9 +240,13 @@
...
@@ -192,9 +240,13 @@
</el-col>
</el-col>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
style=
"text-align: right;"
>
<div
slot=
"footer"
class=
"dialog-footer"
style=
"text-align: right"
>
<el-button
size=
"small"
@
click=
"showSelectDialog = false"
>
取 消
</el-button>
<el-button
size=
"small"
@
click=
"showSelectDialog = false"
<el-button
size=
"small"
type=
"primary"
@
click=
"sendLinkMsg"
>
确 定
</el-button>
>
取 消
</el-button
>
<el-button
size=
"small"
type=
"primary"
@
click=
"sendLinkMsg"
>
确 定
</el-button
>
</div>
</div>
</el-dialog>
</el-dialog>
<alert
ref=
"alert"
></alert>
<alert
ref=
"alert"
></alert>
...
@@ -207,7 +259,7 @@ import diagnosisLive from "./diagnosis-live";
...
@@ -207,7 +259,7 @@ import diagnosisLive from "./diagnosis-live";
import
{
doUpload
,
getFilePath
}
from
"@/utils/qiniu-util"
;
import
{
doUpload
,
getFilePath
}
from
"@/utils/qiniu-util"
;
import
{
openLoading
,
closeLoading
,
betaHandle
}
from
"@/utils/utils"
;
import
{
openLoading
,
closeLoading
,
betaHandle
}
from
"@/utils/utils"
;
import
{
getPicaKFAccid
,
getPhomeDemain
}
from
"@/utils"
;
import
{
getPicaKFAccid
,
getPhomeDemain
}
from
"@/utils"
;
import
{
mapState
}
from
"vuex"
;
import
{
mapState
}
from
"vuex"
;
const
CONTAINER_HEIGHT
=
700
;
const
CONTAINER_HEIGHT
=
700
;
let
forwardMsgIntervalId
=
null
,
let
forwardMsgIntervalId
=
null
,
continueIntervalId
=
null
,
continueIntervalId
=
null
,
...
@@ -219,7 +271,7 @@ export default {
...
@@ -219,7 +271,7 @@ export default {
components
:
{
components
:
{
BreadCrumb
,
BreadCrumb
,
diagnosisLive
,
diagnosisLive
,
alert
alert
,
},
},
props
:
{
props
:
{
showChat
:
{
showChat
:
{
...
@@ -236,7 +288,7 @@ export default {
...
@@ -236,7 +288,7 @@ export default {
currentTimestamp
:
0
,
currentTimestamp
:
0
,
myTaskCount
:
0
,
myTaskCount
:
0
,
sessionList
:
[],
sessionList
:
[],
waitingTaskCount
:
0
waitingTaskCount
:
0
,
},
},
currentContinueTimes
:
0
,
currentContinueTimes
:
0
,
currentSessionIndex
:
0
,
// 当前会话序号
currentSessionIndex
:
0
,
// 当前会话序号
...
@@ -250,34 +302,34 @@ export default {
...
@@ -250,34 +302,34 @@ export default {
linkForm
:
{
linkForm
:
{
remark
:
""
,
remark
:
""
,
info
:
""
,
info
:
""
,
url
:
""
url
:
""
,
},
},
linkList
:
[],
// 消息列表 showType 1: 文本; 2: 图片; 3: PDF; 4: 链接; 5: 不支持类型; 6: 语音;7: 病例;
linkList
:
[],
// 消息列表 showType 1: 文本; 2: 图片; 3: PDF; 4: 链接; 5: 不支持类型; 6: 语音;7: 病例;
messageList
:
[],
messageList
:
[],
rules
:
{
rules
:
{
info
:
[
info
:
[
{
required
:
true
,
message
:
"请填写链接显示文案"
,
trigger
:
"blur"
}
{
required
:
true
,
message
:
"请填写链接显示文案"
,
trigger
:
"blur"
}
,
],
],
url
:
[{
required
:
true
,
message
:
"请选择链接"
,
trigger
:
"change"
}]
url
:
[{
required
:
true
,
message
:
"请选择链接"
,
trigger
:
"change"
}]
,
},
},
imgWidth
:
0
,
imgWidth
:
0
,
imgHeight
:
0
,
imgHeight
:
0
,
imgProportion
:
0
,
imgProportion
:
0
,
hasNoHistoryData
:
false
,
hasNoHistoryData
:
false
,
tid
:
''
,
tid
:
""
,
teamMemberList
:
[],
teamMemberList
:
[],
doctorName
:
''
,
doctorName
:
""
,
doctorImg
:
''
,
doctorImg
:
""
,
toggleChatSize
:
false
toggleChatSize
:
false
,
};
};
},
},
computed
:
{
computed
:
{
...
mapState
({
...
mapState
({
currentChat
:
'currentChat'
,
currentChat
:
"currentChat"
,
}),
}),
canSend
()
{
canSend
()
{
return
!!
this
.
sendText
;
return
!!
this
.
sendText
;
}
}
,
},
},
watch
:
{
watch
:
{
...
@@ -293,22 +345,20 @@ export default {
...
@@ -293,22 +345,20 @@ export default {
}
}
}
}
},
},
deep
:
true
deep
:
true
,
},
},
// 监听到有变化,就缓存一下
// 监听到有变化,就缓存一下
sendText
(
newText
)
{
sendText
(
newText
)
{
cacheMap
[
this
.
currentSession
.
id
]
=
newText
||
""
;
cacheMap
[
this
.
currentSession
.
id
]
=
newText
||
""
;
},
},
currentChat
(
newVal
,
oldVal
)
{
currentChat
(
newVal
,
oldVal
)
{
if
(
newVal
!==
oldVal
&&
newVal
.
imTeamId
)
{
if
(
newVal
!==
oldVal
&&
newVal
.
imTeamId
)
{
this
.
chatInit
();
this
.
chatInit
();
}
}
}
}
,
},
},
created
()
{
created
()
{},
},
mounted
()
{
mounted
()
{
cacheMap
=
{};
cacheMap
=
{};
...
@@ -319,11 +369,11 @@ export default {
...
@@ -319,11 +369,11 @@ export default {
},
},
methods
:
{
methods
:
{
chatInit
()
{
chatInit
()
{
_this
=
this
;
_this
=
this
;
this
.
picakfAccId
=
getPicaKFAccid
();
this
.
picakfAccId
=
getPicaKFAccid
();
const
{
imTeamId
}
=
this
.
currentChat
;
const
{
imTeamId
}
=
this
.
currentChat
;
this
.
tid
=
imTeamId
||
'3854284100'
;
this
.
tid
=
imTeamId
||
"3854284100"
;
this
.
getFiveContentList
();
this
.
getFiveContentList
();
autoCompletionIntervalId
&&
clearInterval
(
autoCompletionIntervalId
);
autoCompletionIntervalId
&&
clearInterval
(
autoCompletionIntervalId
);
autoCompletionIntervalId
=
setInterval
(()
=>
{
autoCompletionIntervalId
=
setInterval
(()
=>
{
...
@@ -331,7 +381,7 @@ export default {
...
@@ -331,7 +381,7 @@ export default {
},
2000
);
},
2000
);
// 监听键盘的回车按键(回车时发送消息,并阻止其在textarea中的回车换行行为)
// 监听键盘的回车按键(回车时发送消息,并阻止其在textarea中的回车换行行为)
document
.
onkeydown
=
function
(
ev
)
{
document
.
onkeydown
=
function
(
ev
)
{
var
event
=
ev
||
event
;
var
event
=
ev
||
event
;
if
(
event
.
keyCode
==
13
)
{
if
(
event
.
keyCode
==
13
)
{
_this
.
sendTextMsg
();
_this
.
sendTextMsg
();
...
@@ -345,13 +395,14 @@ export default {
...
@@ -345,13 +395,14 @@ export default {
autoCompletionInterval
()
{
autoCompletionInterval
()
{
if
(
!
this
.
messageList
.
length
)
return
;
if
(
!
this
.
messageList
.
length
)
return
;
// 将带有loading的消息转成失败的
// 将带有loading的消息转成失败的
this
.
messageList
.
forEach
(
item
=>
{
this
.
messageList
.
forEach
(
(
item
)
=>
{
if
(
item
.
isShowLoadingIcon
)
{
if
(
item
.
isShowLoadingIcon
)
{
item
.
isShowLoadingIcon
=
false
;
item
.
isShowLoadingIcon
=
false
;
item
.
isShowErrorIcon
=
true
;
item
.
isShowErrorIcon
=
true
;
}
}
});
});
let
flag
=
false
,
msg
;
let
flag
=
false
,
msg
;
for
(
let
i
=
0
;
i
<
this
.
messageList
.
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
this
.
messageList
.
length
;
i
++
)
{
msg
=
this
.
messageList
[
i
];
msg
=
this
.
messageList
[
i
];
if
(
msg
.
isShowErrorIcon
&&
!
msg
.
isShowErrorMsg
)
{
if
(
msg
.
isShowErrorIcon
&&
!
msg
.
isShowErrorMsg
)
{
...
@@ -366,12 +417,12 @@ export default {
...
@@ -366,12 +417,12 @@ export default {
// 查询群组成员列表
// 查询群组成员列表
getMembersList
()
{
getMembersList
()
{
this
.
GET
(
"/im/team/member/list"
,
{
tid
:
this
.
tid
}).
then
(
res
=>
{
this
.
GET
(
"/im/team/member/list"
,
{
tid
:
this
.
tid
}).
then
((
res
)
=>
{
if
(
res
.
code
===
"000000"
)
{
if
(
res
.
code
===
"000000"
)
{
this
.
teamMemberList
=
res
.
data
// 1 问诊医生 2接诊医生 3居民 4其他
this
.
teamMemberList
=
res
.
data
;
// 1 问诊医生 2接诊医生 3居民 4其他
this
.
doctorName
=
this
.
teamMemberList
[
0
].
name
this
.
doctorName
=
this
.
teamMemberList
[
0
].
name
;
this
.
doctorImg
=
this
.
teamMemberList
[
0
].
avatarImageUrl
this
.
doctorImg
=
this
.
teamMemberList
[
0
].
avatarImageUrl
;
this
.
getMSGHistory
()
// 查询群聊历史消息
this
.
getMSGHistory
()
;
// 查询群聊历史消息
}
}
});
});
},
},
...
@@ -382,9 +433,9 @@ export default {
...
@@ -382,9 +433,9 @@ export default {
includeFlag
:
0
,
includeFlag
:
0
,
lastMsgTimestamp
:
msg
.
realTimestamp
,
lastMsgTimestamp
:
msg
.
realTimestamp
,
limit
:
50
,
limit
:
50
,
tid
:
this
.
tid
tid
:
this
.
tid
,
};
};
this
.
POST
(
"/im/team/message/forward"
,
params
).
then
(
res
=>
{
this
.
POST
(
"/im/team/message/forward"
,
params
).
then
(
(
res
)
=>
{
if
(
res
.
code
===
"000000"
)
{
if
(
res
.
code
===
"000000"
)
{
this
.
contactForwardMessage
(
res
.
data
,
false
);
this
.
contactForwardMessage
(
res
.
data
,
false
);
}
}
...
@@ -398,25 +449,25 @@ export default {
...
@@ -398,25 +449,25 @@ export default {
// 查询医生和居民的消息历史(下拉刷新时调用)
// 查询医生和居民的消息历史(下拉刷新时调用)
getOldMSGHistory
()
{
getOldMSGHistory
()
{
if
(
this
.
hasNoHistoryData
)
return
if
(
this
.
hasNoHistoryData
)
return
;
let
params
=
{
let
params
=
{
includeFlag
:
0
,
// 不带本条消息
includeFlag
:
0
,
// 不带本条消息
lastMsgTimestamp
:
this
.
historyTimestamp
,
lastMsgTimestamp
:
this
.
historyTimestamp
,
limit
:
20
,
limit
:
20
,
tid
:
this
.
tid
tid
:
this
.
tid
,
}
}
;
this
.
POST
(
"/im/team/message/history"
,
params
).
then
(
res
=>
{
this
.
POST
(
"/im/team/message/history"
,
params
).
then
(
(
res
)
=>
{
if
(
res
.
code
===
"000000"
)
{
if
(
res
.
code
===
"000000"
)
{
// 将新消息合并到之前的消息中, 并且重置最后一条消息
// 将新消息合并到之前的消息中, 并且重置最后一条消息
if
(
res
.
data
&&
res
.
data
.
length
>
0
)
{
if
(
res
.
data
&&
res
.
data
.
length
>
0
)
{
this
.
convertMessageList
(
res
.
data
,
3
)
this
.
convertMessageList
(
res
.
data
,
3
)
;
}
else
{
}
else
{
this
.
hasNoHistoryData
=
true
this
.
hasNoHistoryData
=
true
;
}
}
}
else
{
}
else
{
this
.
$message
({
this
.
$message
({
message
:
res
.
message
,
message
:
res
.
message
,
type
:
"error"
type
:
"error"
,
});
});
}
}
});
});
...
@@ -427,15 +478,15 @@ export default {
...
@@ -427,15 +478,15 @@ export default {
let
params
=
{
let
params
=
{
includeFlag
:
1
,
// 带本条消息
includeFlag
:
1
,
// 带本条消息
limit
:
20
,
limit
:
20
,
tid
:
this
.
tid
tid
:
this
.
tid
,
};
};
this
.
POST
(
"/im/team/message/history"
,
params
).
then
(
res
=>
{
this
.
POST
(
"/im/team/message/history"
,
params
).
then
(
(
res
)
=>
{
if
(
res
.
code
===
"000000"
)
{
if
(
res
.
code
===
"000000"
)
{
this
.
convertMessageList
(
res
.
data
,
1
)
this
.
convertMessageList
(
res
.
data
,
1
)
;
}
else
{
}
else
{
this
.
$message
({
this
.
$message
({
message
:
res
.
message
,
message
:
res
.
message
,
type
:
"error"
type
:
"error"
,
});
});
}
}
});
});
...
@@ -448,15 +499,15 @@ export default {
...
@@ -448,15 +499,15 @@ export default {
includeFlag
:
0
,
includeFlag
:
0
,
lastMsgTimestamp
:
this
.
realTimestamp
,
lastMsgTimestamp
:
this
.
realTimestamp
,
limit
:
20
,
limit
:
20
,
tid
:
this
.
tid
tid
:
this
.
tid
,
};
};
this
.
POST
(
"/im/team/message/forward"
,
params
).
then
(
res
=>
{
this
.
POST
(
"/im/team/message/forward"
,
params
).
then
(
(
res
)
=>
{
if
(
res
.
code
===
"000000"
)
{
if
(
res
.
code
===
"000000"
)
{
this
.
convertMessageList
(
res
.
data
,
2
)
this
.
convertMessageList
(
res
.
data
,
2
)
;
}
else
{
}
else
{
this
.
$message
({
this
.
$message
({
message
:
res
.
message
,
message
:
res
.
message
,
type
:
"error"
type
:
"error"
,
});
});
}
}
});
});
...
@@ -472,7 +523,7 @@ export default {
...
@@ -472,7 +523,7 @@ export default {
convertMessageList
(
messageList
,
directFlag
=
1
)
{
convertMessageList
(
messageList
,
directFlag
=
1
)
{
messageList
.
sort
((
a
,
b
)
=>
{
messageList
.
sort
((
a
,
b
)
=>
{
return
a
.
timestamp
-
b
.
timestamp
;
return
a
.
timestamp
-
b
.
timestamp
;
})
})
;
let
msg
=
null
,
let
msg
=
null
,
content
=
null
,
content
=
null
,
text
=
""
,
text
=
""
,
...
@@ -490,121 +541,136 @@ export default {
...
@@ -490,121 +541,136 @@ export default {
url
=
""
;
url
=
""
;
title
=
""
;
title
=
""
;
msg
=
Object
.
assign
({},
rawMsg
);
msg
=
Object
.
assign
({},
rawMsg
);
msg
.
sendOrReceive
=
rawMsg
.
fromAccId
===
this
.
picakfAccId
;
// 判断消息是显示在左边还是右边, true 右
msg
.
sendOrReceive
=
rawMsg
.
fromAccId
===
this
.
picakfAccId
;
// 判断消息是显示在左边还是右边, true 右
//msg.avatarImg = msg.sendOrReceive ? this.kfAvatar : this.currentSession.avatarImageUrl;
//msg.avatarImg = msg.sendOrReceive ? this.kfAvatar : this.currentSession.avatarImageUrl;
for
(
let
i
=
0
;
i
<
this
.
teamMemberList
.
length
;
i
++
)
{
for
(
let
i
=
0
;
i
<
this
.
teamMemberList
.
length
;
i
++
)
{
if
(
rawMsg
.
fromAccId
==
this
.
teamMemberList
[
i
].
accId
)
{
if
(
rawMsg
.
fromAccId
==
this
.
teamMemberList
[
i
].
accId
)
{
msg
.
avatarImg
=
this
.
teamMemberList
[
i
].
avatarImageUrl
;
msg
.
avatarImg
=
this
.
teamMemberList
[
i
].
avatarImageUrl
;
msg
.
name
=
this
.
teamMemberList
[
i
].
name
;
msg
.
name
=
this
.
teamMemberList
[
i
].
name
;
break
break
;
}
}
}
}
if
(
msg
.
type
.
toLowerCase
()
==
"custom"
)
{
if
(
msg
.
type
.
toLowerCase
()
==
"custom"
)
{
content
=
JSON
.
parse
(
msg
.
content
)
content
=
JSON
.
parse
(
msg
.
content
);
text
=
content
.
content
text
=
content
.
content
;
if
(
content
.
bizType
==
-
1
)
{
// 系统消息:消息由于违规未发送成功(可以不处理)
if
(
content
.
bizType
==
-
1
)
{
showType
=
-
1
// 系统消息:消息由于违规未发送成功(可以不处理)
text
=
content
.
content
showType
=
-
1
;
}
else
if
(
content
.
bizType
==
18
)
{
// PDF
text
=
content
.
content
;
showType
=
3
}
else
if
(
content
.
bizType
==
18
)
{
text
=
content
.
name
// PDF
size
=
content
.
size
showType
=
3
;
url
=
content
.
url
text
=
content
.
name
;
}
else
if
(
content
.
bizType
==
19
)
{
// 链接
size
=
content
.
size
;
showType
=
4
url
=
content
.
url
;
text
=
content
.
content
}
else
if
(
content
.
bizType
==
19
)
{
suffix
=
content
.
suffix
// 链接
}
else
if
(
content
.
bizType
==
22
){
// 病例
showType
=
4
;
showType
=
7
text
=
content
.
content
;
title
=
content
.
title
suffix
=
content
.
suffix
;
text
=
JSON
.
parse
(
content
.
content
)
}
else
if
(
content
.
bizType
==
22
)
{
}
else
if
(
content
.
bizType
==
23
)
{
// 预约时间
// 病例
showType
=
8
showType
=
7
;
title
=
content
.
title
title
=
content
.
title
;
text
=
JSON
.
parse
(
content
.
content
)
text
=
JSON
.
parse
(
content
.
content
);
}
else
if
(
content
.
bizType
==
24
){
// 音视频与IM交互
}
else
if
(
content
.
bizType
==
23
)
{
showType
=
9
// 预约时间
text
=
content
.
content
showType
=
8
;
}
else
if
(
content
.
bizType
==
25
){
// 本次问诊结束
title
=
content
.
title
;
showType
=
10
text
=
JSON
.
parse
(
content
.
content
);
text
=
content
.
content
}
else
if
(
content
.
bizType
==
24
)
{
}
else
if
(
content
.
bizType
==
26
){
// 医生建议
// 音视频与IM交互
showType
=
11
showType
=
9
;
title
=
content
.
title
text
=
content
.
content
;
text
=
content
.
content
}
else
if
(
content
.
bizType
==
25
)
{
}
else
{
// 本次问诊结束
showType
=
5
showType
=
10
;
text
=
content
.
content
;
}
else
if
(
content
.
bizType
==
26
)
{
// 医生建议
showType
=
11
;
title
=
content
.
title
;
text
=
content
.
content
;
}
else
{
showType
=
5
;
}
}
}
else
if
(
msg
.
type
.
toLowerCase
()
==
"image"
||
msg
.
type
.
toLowerCase
()
==
"picture"
)
{
// 图片
}
else
if
(
msg
.
type
.
toLowerCase
()
==
"image"
||
msg
.
type
.
toLowerCase
()
==
"picture"
)
{
// 图片
content
=
JSON
.
parse
(
msg
.
content
);
content
=
JSON
.
parse
(
msg
.
content
);
url
=
content
.
url
;
url
=
content
.
url
;
text
=
content
.
name
;
text
=
content
.
name
;
showType
=
2
;
showType
=
2
;
this
.
imgSizeHandleNew
(
msg
,
content
.
w
,
content
.
h
);
this
.
imgSizeHandleNew
(
msg
,
content
.
w
,
content
.
h
);
}
else
if
(
msg
.
type
.
toLowerCase
()
==
"audio"
)
{
// 语音
}
else
if
(
msg
.
type
.
toLowerCase
()
==
"audio"
)
{
content
=
JSON
.
parse
(
msg
.
content
)
// 语音
url
=
content
.
url
content
=
JSON
.
parse
(
msg
.
content
);
showType
=
6
url
=
content
.
url
;
showType
=
6
;
}
else
{
}
else
{
showType
=
1
// 文本
showType
=
1
;
// 文本
text
=
msg
.
content
text
=
msg
.
content
;
}
}
msg
.
title
=
title
msg
.
title
=
title
;
msg
.
text
=
text
msg
.
text
=
text
;
msg
.
showType
=
showType
msg
.
showType
=
showType
;
msg
.
suffix
=
suffix
msg
.
suffix
=
suffix
;
msg
.
size
=
size
msg
.
size
=
size
;
msg
.
url
=
url
msg
.
url
=
url
;
msg
.
sessionFlag
=
false
msg
.
sessionFlag
=
false
;
cMessageList
.
push
(
msg
)
cMessageList
.
push
(
msg
)
;
});
});
if
(
directFlag
===
1
)
{
if
(
directFlag
===
1
)
{
this
.
messageList
=
[]
this
.
messageList
=
[]
;
this
.
$forceUpdate
()
this
.
$forceUpdate
()
;
forwardMsgIntervalId
&&
clearInterval
(
forwardMsgIntervalId
)
forwardMsgIntervalId
&&
clearInterval
(
forwardMsgIntervalId
)
;
this
.
messageList
=
cMessageList
this
.
messageList
=
cMessageList
;
this
.
$forceUpdate
()
this
.
$forceUpdate
()
;
setTimeout
(()
=>
{
setTimeout
(()
=>
{
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
const
scrollBoxDom
=
document
.
querySelector
(
".scroll-box"
)
const
scrollBoxDom
=
document
.
querySelector
(
".scroll-box"
)
;
scrollBoxDom
.
scrollTop
=
scrollBoxDom
.
scrollHeight
scrollBoxDom
.
scrollTop
=
scrollBoxDom
.
scrollHeight
;
});
});
},
100
);
},
100
);
this
.
currentContinueTimes
=
this
.
sessionListData
.
currentTimestamp
-
this
.
currentSession
.
handleStartTime
this
.
currentContinueTimes
=
continueIntervalId
&&
clearInterval
(
continueIntervalId
)
this
.
sessionListData
.
currentTimestamp
-
this
.
currentSession
.
handleStartTime
;
continueIntervalId
&&
clearInterval
(
continueIntervalId
);
continueIntervalId
=
setInterval
(()
=>
{
continueIntervalId
=
setInterval
(()
=>
{
this
.
currentContinueTimes
+=
1000
this
.
currentContinueTimes
+=
1000
;
},
1000
);
},
1000
);
// 最新消息,要合并CUSTOM类型中,bizType是-1的数据(系统消息)
// 最新消息,要合并CUSTOM类型中,bizType是-1的数据(系统消息)
}
else
if
(
directFlag
===
2
)
{
}
else
if
(
directFlag
===
2
)
{
this
.
contactForwardMessage
(
cMessageList
)
this
.
contactForwardMessage
(
cMessageList
)
;
}
else
{
}
else
{
if
(
cMessageList
.
length
)
{
if
(
cMessageList
.
length
)
{
this
.
messageList
.
unshift
(...
cMessageList
)
this
.
messageList
.
unshift
(...
cMessageList
)
;
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
const
scrollBoxDom
=
document
.
querySelector
(
".scroll-box"
)
const
scrollBoxDom
=
document
.
querySelector
(
".scroll-box"
)
;
scrollBoxDom
.
scrollTop
=
1000
scrollBoxDom
.
scrollTop
=
1000
;
});
});
}
}
}
}
// 重新设置历史与实时的时间戳
// 重新设置历史与实时的时间戳
if
(
this
.
messageList
.
length
)
{
if
(
this
.
messageList
.
length
)
{
this
.
historyTimestamp
=
this
.
messageList
[
0
].
timestamp
this
.
historyTimestamp
=
this
.
messageList
[
0
].
timestamp
;
let
timestamp
=
this
.
messageList
[
this
.
messageList
.
length
-
1
].
timestamp
let
timestamp
=
this
.
messageList
[
this
.
messageList
.
length
-
1
].
timestamp
;
if
(
timestamp
)
{
if
(
timestamp
)
{
this
.
realTimestamp
=
timestamp
this
.
realTimestamp
=
timestamp
;
}
}
}
}
// 自己发送消息时,暂时不刷新消息
// 自己发送消息时,暂时不刷新消息
if
(
directFlag
==
1
)
{
if
(
directFlag
==
1
)
{
forwardMsgIntervalId
=
setInterval
(()
=>
{
forwardMsgIntervalId
=
setInterval
(()
=>
{
this
.
getMSGForward
()
this
.
getMSGForward
()
;
},
3000
)
},
3000
)
;
}
}
this
.
$forceUpdate
()
this
.
$forceUpdate
()
;
},
},
// 接接数据
// 接接数据
...
@@ -614,7 +680,7 @@ export default {
...
@@ -614,7 +680,7 @@ export default {
msgIndex
=
-
1
,
msgIndex
=
-
1
,
newMsgList
=
[],
newMsgList
=
[],
flag
=
false
;
flag
=
false
;
cMessageList
.
forEach
(
item
=>
{
cMessageList
.
forEach
(
(
item
)
=>
{
content
=
{};
content
=
{};
signature
=
""
;
signature
=
""
;
msgIndex
=
-
1
;
msgIndex
=
-
1
;
...
@@ -623,7 +689,7 @@ export default {
...
@@ -623,7 +689,7 @@ export default {
content
=
JSON
.
parse
(
item
.
content
);
content
=
JSON
.
parse
(
item
.
content
);
if
(
content
.
bizType
==
-
1
)
{
if
(
content
.
bizType
==
-
1
)
{
signature
=
content
.
signature
;
signature
=
content
.
signature
;
msgIndex
=
this
.
messageList
.
findIndex
(
m
=>
{
msgIndex
=
this
.
messageList
.
findIndex
(
(
m
)
=>
{
return
m
.
signature
==
signature
&&
!
m
.
isShowErrorMsg
;
return
m
.
signature
==
signature
&&
!
m
.
isShowErrorMsg
;
});
});
if
(
msgIndex
>
-
1
)
{
if
(
msgIndex
>
-
1
)
{
...
@@ -645,14 +711,16 @@ export default {
...
@@ -645,14 +711,16 @@ export default {
if
(
flag
)
{
if
(
flag
)
{
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
var
element
=
document
.
querySelector
(
".scroll-box"
);
var
element
=
document
.
querySelector
(
".scroll-box"
);
if
(
element
.
scrollTop
>=
element
.
scrollHeight
-
element
.
offsetHeight
-
400
)
{
if
(
element
.
scrollTop
>=
element
.
scrollHeight
-
element
.
offsetHeight
-
400
)
{
element
.
scrollTop
=
element
.
scrollHeight
-
element
.
offsetHeight
;
element
.
scrollTop
=
element
.
scrollHeight
-
element
.
offsetHeight
;
}
}
});
});
}
}
},
},
// 打开PDF
// 打开PDF
openPDF
(
item
)
{
openPDF
(
item
)
{
window
.
open
(
item
.
url
,
"__blank"
);
window
.
open
(
item
.
url
,
"__blank"
);
...
@@ -661,11 +729,11 @@ export default {
...
@@ -661,11 +729,11 @@ export default {
// 根据字段名及其值,从数组中查找对象
// 根据字段名及其值,从数组中查找对象
findItemByKeyAndVal
(
arr
,
key
,
value
,
flag
=
0
)
{
findItemByKeyAndVal
(
arr
,
key
,
value
,
flag
=
0
)
{
if
(
flag
==
0
)
{
if
(
flag
==
0
)
{
return
arr
.
find
(
item
=>
{
return
arr
.
find
(
(
item
)
=>
{
return
item
[
key
]
==
value
;
return
item
[
key
]
==
value
;
});
});
}
else
if
(
flag
==
1
)
{
}
else
if
(
flag
==
1
)
{
return
arr
.
findIndex
(
item
=>
{
return
arr
.
findIndex
(
(
item
)
=>
{
return
item
[
key
]
==
value
;
return
item
[
key
]
==
value
;
});
});
}
}
...
@@ -675,13 +743,13 @@ export default {
...
@@ -675,13 +743,13 @@ export default {
getFiveContentList
()
{
getFiveContentList
()
{
this
.
GET
(
this
.
GET
(
"/contents/admin/template/queryTemplate?publishFlag=5&pageNo=1&pageSize=99999"
"/contents/admin/template/queryTemplate?publishFlag=5&pageNo=1&pageSize=99999"
).
then
(
res
=>
{
).
then
(
(
res
)
=>
{
if
(
res
.
code
===
"000000"
)
{
if
(
res
.
code
===
"000000"
)
{
this
.
linkList
=
res
.
data
.
templateList
||
[];
this
.
linkList
=
res
.
data
.
templateList
||
[];
}
else
{
}
else
{
this
.
$message
({
this
.
$message
({
message
:
res
.
message
,
message
:
res
.
message
,
type
:
"error"
type
:
"error"
,
});
});
}
}
});
});
...
@@ -694,7 +762,7 @@ export default {
...
@@ -694,7 +762,7 @@ export default {
if
(
fileSize
>
5
)
{
if
(
fileSize
>
5
)
{
this
.
$message
({
this
.
$message
({
message
:
"请上传小于5M的文件"
,
message
:
"请上传小于5M的文件"
,
type
:
"warning"
type
:
"warning"
,
});
});
return
;
return
;
}
}
...
@@ -706,7 +774,7 @@ export default {
...
@@ -706,7 +774,7 @@ export default {
"preview4"
,
"preview4"
,
"progress"
,
"progress"
,
""
""
).
then
(
function
(
resData
)
{
).
then
(
function
(
resData
)
{
closeLoading
(
_this
);
closeLoading
(
_this
);
let
params
=
{};
let
params
=
{};
params
.
fileSize
=
resData
.
size
;
params
.
fileSize
=
resData
.
size
;
...
@@ -724,7 +792,7 @@ export default {
...
@@ -724,7 +792,7 @@ export default {
params
.
type
=
1
;
params
.
type
=
1
;
let
image
=
new
Image
();
let
image
=
new
Image
();
image
.
src
=
params
.
url
;
image
.
src
=
params
.
url
;
image
.
onload
=
function
()
{
image
.
onload
=
function
()
{
let
_img
=
this
;
let
_img
=
this
;
params
.
width
=
_img
.
width
;
params
.
width
=
_img
.
width
;
params
.
height
=
_img
.
height
;
params
.
height
=
_img
.
height
;
...
@@ -741,14 +809,14 @@ export default {
...
@@ -741,14 +809,14 @@ export default {
this
.
linkForm
=
{
this
.
linkForm
=
{
remark
:
""
,
remark
:
""
,
info
:
""
,
info
:
""
,
url
:
""
url
:
""
,
};
};
this
.
showSelectDialog
=
true
;
this
.
showSelectDialog
=
true
;
},
},
// 发送带链接消息
// 发送带链接消息
sendLinkMsg
()
{
sendLinkMsg
()
{
this
.
$refs
[
"linkFormRef"
].
validate
(
valid
=>
{
this
.
$refs
[
"linkFormRef"
].
validate
(
(
valid
)
=>
{
if
(
valid
)
{
if
(
valid
)
{
let
params
=
Object
.
assign
({},
this
.
linkForm
);
let
params
=
Object
.
assign
({},
this
.
linkForm
);
params
.
url
=
getPhomeDemain
()
+
`/template_v2/?id=
${
params
.
url
}
`
;
params
.
url
=
getPhomeDemain
()
+
`/template_v2/?id=
${
params
.
url
}
`
;
...
@@ -766,7 +834,6 @@ export default {
...
@@ -766,7 +834,6 @@ export default {
this
.
sendText
=
""
;
this
.
sendText
=
""
;
},
},
/* 处理发送消息
/* 处理发送消息
1: 先将消息体直接显示在对话框中
1: 先将消息体直接显示在对话框中
2: 设置一个时间戳,以便再次找回
2: 设置一个时间戳,以便再次找回
...
@@ -799,18 +866,18 @@ export default {
...
@@ -799,18 +866,18 @@ export default {
msg
.
realTimestamp
=
this
.
realTimestamp
;
msg
.
realTimestamp
=
this
.
realTimestamp
;
msg
.
taskLogId
=
this
.
currentTaskLogId
;
msg
.
taskLogId
=
this
.
currentTaskLogId
;
this
.
teamMemberList
.
forEach
(
item
=>
{
this
.
teamMemberList
.
forEach
(
(
item
)
=>
{
if
(
this
.
picakfAccId
=
item
.
accId
)
{
if
((
this
.
picakfAccId
=
item
.
accId
)
)
{
msg
.
avatarImg
=
item
.
avatarImageUrl
// 运营头像
msg
.
avatarImg
=
item
.
avatarImageUrl
;
// 运营头像
}
}
})
})
;
if
(
msg
.
type
==
1
)
{
if
(
msg
.
type
==
1
)
{
this
.
imgSizeHandleNew
(
msg
,
msg
.
width
,
msg
.
height
)
this
.
imgSizeHandleNew
(
msg
,
msg
.
width
,
msg
.
height
)
;
}
}
this
.
messageList
.
push
(
msg
)
this
.
messageList
.
push
(
msg
)
;
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
var
element
=
document
.
querySelector
(
".scroll-box"
)
var
element
=
document
.
querySelector
(
".scroll-box"
)
;
element
.
scrollTop
=
element
.
scrollHeight
element
.
scrollTop
=
element
.
scrollHeight
;
});
});
},
},
...
@@ -827,15 +894,15 @@ export default {
...
@@ -827,15 +894,15 @@ export default {
md5
:
""
,
// 图片或文件MD5 暂时由后台生成
md5
:
""
,
// 图片或文件MD5 暂时由后台生成
remark
:
""
,
// 其他信息(链接中的前缀文案)
remark
:
""
,
// 其他信息(链接中的前缀文案)
type
:
0
,
// 类型 0文本 1图片 2pdf 3链接
type
:
0
,
// 类型 0文本 1图片 2pdf 3链接
url
:
""
// url地址(图片、pdf,链接)
url
:
""
,
// url地址(图片、pdf,链接)
}
}
;
params
=
Object
.
assign
(
sendMsgParams
,
params
)
params
=
Object
.
assign
(
sendMsgParams
,
params
)
;
// 将获取新数据的定时器关闭
// 将获取新数据的定时器关闭
forwardMsgIntervalId
&&
clearInterval
(
forwardMsgIntervalId
)
forwardMsgIntervalId
&&
clearInterval
(
forwardMsgIntervalId
)
;
let
sendId
=
new
Date
().
getTime
()
let
sendId
=
new
Date
().
getTime
()
;
this
.
handleSendMsg
(
params
,
sendId
)
this
.
handleSendMsg
(
params
,
sendId
)
;
await
this
.
POST
(
"/im/team/op/message/send"
,
params
)
await
this
.
POST
(
"/im/team/op/message/send"
,
params
)
.
then
(
res
=>
{
.
then
(
(
res
)
=>
{
if
(
res
.
code
===
"000000"
)
{
if
(
res
.
code
===
"000000"
)
{
// 校验结果:1校验通过 2校验不通过
// 校验结果:1校验通过 2校验不通过
let
msg
=
this
.
messageList
[
this
.
messageList
.
length
-
1
];
let
msg
=
this
.
messageList
[
this
.
messageList
.
length
-
1
];
...
@@ -843,43 +910,43 @@ export default {
...
@@ -843,43 +910,43 @@ export default {
msg
=
this
.
getMsgBySendId
(
sendId
);
msg
=
this
.
getMsgBySendId
(
sendId
);
}
}
if
(
res
.
data
.
checkFlag
==
1
)
{
if
(
res
.
data
.
checkFlag
==
1
)
{
this
.
realTimestamp
=
res
.
data
.
timetag
this
.
realTimestamp
=
res
.
data
.
timetag
;
msg
.
isShowLoadingIcon
=
false
msg
.
isShowLoadingIcon
=
false
;
msg
.
isShowErrorIcon
=
false
msg
.
isShowErrorIcon
=
false
;
msg
.
isShowErrorMsg
=
false
// 只有在下次拉取新数据时才有可能是为ture
msg
.
isShowErrorMsg
=
false
;
// 只有在下次拉取新数据时才有可能是为ture
}
else
{
}
else
{
msg
.
signature
=
res
.
data
.
signature
msg
.
signature
=
res
.
data
.
signature
;
msg
.
isShowLoadingIcon
=
false
msg
.
isShowLoadingIcon
=
false
;
msg
.
isShowErrorIcon
=
true
msg
.
isShowErrorIcon
=
true
;
msg
.
isShowErrorMsg
=
false
// 只有在下次拉取新数据时才有可能是为ture
msg
.
isShowErrorMsg
=
false
;
// 只有在下次拉取新数据时才有可能是为ture
}
}
this
.
teamMemberList
.
forEach
((
item
,
index
)
=>
{
this
.
teamMemberList
.
forEach
((
item
,
index
)
=>
{
if
(
params
.
fromAccount
==
item
.
accId
)
{
if
(
params
.
fromAccount
==
item
.
accId
)
{
msg
.
name
=
item
.
name
msg
.
name
=
item
.
name
;
}
}
})
})
;
}
else
{
}
else
{
this
.
$message
({
this
.
$message
({
message
:
res
.
message
,
message
:
res
.
message
,
type
:
"error"
type
:
"error"
,
});
});
}
}
})
})
.
catch
(
error
=>
{
.
catch
(
(
error
)
=>
{
let
msg
=
this
.
messageList
[
this
.
messageList
.
length
-
1
]
let
msg
=
this
.
messageList
[
this
.
messageList
.
length
-
1
]
;
if
(
msg
.
sendId
!==
sendId
)
{
if
(
msg
.
sendId
!==
sendId
)
{
msg
=
this
.
getMsgBySendId
(
sendId
)
msg
=
this
.
getMsgBySendId
(
sendId
)
;
}
}
msg
.
isShowLoadingIcon
=
false
msg
.
isShowLoadingIcon
=
false
;
msg
.
isShowErrorIcon
=
true
msg
.
isShowErrorIcon
=
true
;
msg
.
isShowErrorMsg
=
false
// 只有在下次拉取新数据时才有可能是为ture
msg
.
isShowErrorMsg
=
false
;
// 只有在下次拉取新数据时才有可能是为ture
msg
.
canRepeatSend
=
true
msg
.
canRepeatSend
=
true
;
});
});
this
.
$forceUpdate
()
this
.
$forceUpdate
()
;
// 重新开启定时器
// 重新开启定时器
forwardMsgIntervalId
=
setInterval
(()
=>
{
forwardMsgIntervalId
=
setInterval
(()
=>
{
this
.
getMSGForward
()
this
.
getMSGForward
()
;
},
3000
)
},
3000
)
;
},
},
// 根据sendId,查找到对应的消息
// 根据sendId,查找到对应的消息
...
@@ -900,11 +967,11 @@ export default {
...
@@ -900,11 +967,11 @@ export default {
return
betaHandle
(
val
);
return
betaHandle
(
val
);
},
},
closeChat
()
{
closeChat
()
{
window
.
rtc
.
leave
();
window
.
rtc
.
leave
();
this
.
clearSession
();
this
.
clearSession
();
this
.
$store
.
commit
(
'updateShowChat'
,
false
);
this
.
$store
.
commit
(
"updateShowChat"
,
false
);
this
.
$store
.
commit
(
'updateCurrentChat'
,
{});
this
.
$store
.
commit
(
"updateCurrentChat"
,
{});
},
},
clearSession
()
{
clearSession
()
{
...
@@ -929,7 +996,7 @@ export default {
...
@@ -929,7 +996,7 @@ export default {
},
},
out
()
{
out
()
{
const
{
diagnoseLogId
}
=
this
.
currentChat
;
const
{
diagnoseLogId
}
=
this
.
currentChat
;
let
url
=
`/diagnose/admin/diagnose/endCall/
${
diagnoseLogId
}
`
;
let
url
=
`/diagnose/admin/diagnose/endCall/
${
diagnoseLogId
}
`
;
let
params
=
{};
let
params
=
{};
this
.
POST
(
url
,
params
)
this
.
POST
(
url
,
params
)
...
@@ -957,16 +1024,15 @@ export default {
...
@@ -957,16 +1024,15 @@ export default {
});
});
},
},
toggleChatModal
()
{
toggleChatModal
()
{
this
.
toggleChatSize
=
!
this
.
toggleChatSize
;
this
.
toggleChatSize
=
!
this
.
toggleChatSize
;
}
},
},
},
beforeDestroy
()
{
beforeDestroy
()
{
forwardMsgIntervalId
&&
clearInterval
(
forwardMsgIntervalId
);
forwardMsgIntervalId
&&
clearInterval
(
forwardMsgIntervalId
);
autoCompletionIntervalId
&&
clearInterval
(
autoCompletionIntervalId
);
autoCompletionIntervalId
&&
clearInterval
(
autoCompletionIntervalId
);
}
}
,
};
};
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
...
...
src/components/IM/diagnosis-live.vue
浏览文件 @
fac40675
...
@@ -34,11 +34,16 @@
...
@@ -34,11 +34,16 @@
<p
class=
"text-num"
>
{{
item
.
role
==
1
?
currentChat
.
doctorMobile
:
currentChat
.
userMobile
}}
</p>
<p
class=
"text-num"
>
{{
item
.
role
==
1
?
currentChat
.
doctorMobile
:
currentChat
.
userMobile
}}
</p>
</div>
</div>
</div>
</div>
<div
class=
"viedo"
:id=
"rtc.viewslist[index] ? rtc.viewslist[index].id : ''"
>
<div
class=
"viedo"
>
<div
class=
"viedo-container"
v-if=
"rtc.viewslist[index]"
:id=
"rtc.viewslist[index] ? rtc.viewslist[index].id : ''"
></div>
<el-button
class=
"call-btn"
:disabled=
"item.status === 2"
@
click=
"drivingCall(item)"
>
<el-button
class=
"call-btn"
:disabled=
"item.status === 2"
@
click=
"drivingCall(item)"
>
{{
showText
(
item
.
status
,
item
.
role
,
item
)
}}
{{
showText
(
item
.
status
,
item
.
role
,
item
)
}}
</el-button>
</el-button>
</div>
</div>
</div>
</div>
<div
class=
"vedio-man"
>
<div
class=
"vedio-man"
>
<p
class=
"man-img"
@
click=
"toggleVol"
>
<p
class=
"man-img"
@
click=
"toggleVol"
>
...
@@ -611,11 +616,12 @@ export default {
...
@@ -611,11 +616,12 @@ export default {
flex: 1;
flex: 1;
.viedo-wrapper {
.viedo-wrapper {
width: 224px;
width: 224px;
height: 12
0px;
// height: 24
0px;
background: #F0F2F5;
background: #F0F2F5;
border-radius: 18px;
border-radius: 18px;
padding: 15px;
padding: 15px;
margin-right: 2%;
margin-right: 2%;
position: relative;
.text {
.text {
display: flex;
display: flex;
.text-left{
.text-left{
...
@@ -672,6 +678,8 @@ export default {
...
@@ -672,6 +678,8 @@ export default {
}
}
}
}
.viedo {
.viedo {
.call-btn{
.call-btn{
width: 173px;
width: 173px;
height: 38px;
height: 38px;
...
@@ -681,6 +689,21 @@ export default {
...
@@ -681,6 +689,21 @@ export default {
margin-top: 15px;
margin-top: 15px;
border: none;
border: none;
}
}
.viedo-container{
width: 100px;
height:100px;
margin: auto;
margin-top: 15px;
// position: absolute;
// top: 0;
// left: 0;
// right: 0;
// bottom: 0;
// margin: auto;
}
}
}
}
}
.vedio-man{
.vedio-man{
...
@@ -724,4 +747,5 @@ export default {
...
@@ -724,4 +747,5 @@ export default {
margin: 15px auto 6%;
margin: 15px auto 6%;
}
}
}
}
</
style
>
</
style
>
src/components/common/consultation.vue
浏览文件 @
fac40675
...
@@ -58,8 +58,10 @@ export default {
...
@@ -58,8 +58,10 @@ export default {
pageSize
:
6
,
pageSize
:
6
,
returnStatus
:
1
returnStatus
:
1
};
};
this
.
$store
.
commit
(
"clearRawCurrentCalList"
)
this
.
POST
(
'/diagnose/socket/condition/update'
,
p
).
then
(
res
=>
{
this
.
POST
(
'/diagnose/socket/condition/update'
,
p
).
then
(
res
=>
{
if
(
res
.
code
==
'000000'
){
if
(
res
.
code
==
'000000'
){
this
.
$store
.
commit
(
'updateSoketQuest'
,
p
)
this
.
$store
.
commit
(
'updateSoketQuest'
,
p
)
this
.
$router
.
push
({
path
:
'/workbench'
})
this
.
$router
.
push
({
path
:
'/workbench'
})
}
else
{
}
else
{
...
...
src/store/mutations/index.js
浏览文件 @
fac40675
import
storejs
from
'storejs'
;
import
storejs
from
'storejs'
;
export
default
{
export
default
{
updateCurrentDiagList
(
state
,
obj
)
{
updateCurrentDiagList
(
state
,
obj
)
{
state
.
currentDiagList
=
obj
;
state
.
currentDiagList
=
obj
;
},
},
// 改变原数据
changeRawCurrentCalList
(
state
,
obj
){
// console.log("obj",obj)
let
index
=
state
.
RawCurrentCalList
.
findIndex
(
val
=>
{
return
val
.
status
==
obj
.
status
})
if
(
index
>-
1
){
state
.
RawCurrentCalList
[
index
]
=
obj
state
.
currentCalList
[
index
].
is_dot
=
false
}
},
clearRawCurrentCalList
(
state
){
state
.
RawCurrentCalList
=
[]
},
updateCurrentCalList
(
state
,
obj
)
{
updateCurrentCalList
(
state
,
obj
)
{
state
.
currentCalList
=
obj
;
let
NewData
=
obj
if
(
state
.
RawCurrentCalList
.
length
==
0
){
state
.
RawCurrentCalList
=
obj
}
let
RawData
=
state
.
RawCurrentCalList
for
(
let
i
=
0
;
i
<
NewData
.
length
;
i
++
)
{
let
is_dot
=
false
;
if
(
RawData
.
length
>
0
)
{
is_dot
=
NewData
[
i
].
count
>
RawData
[
i
].
count
?
true
:
false
;
}
NewData
[
i
]
=
{
...
NewData
[
i
],
is_dot
:
is_dot
,
};
}
state
.
currentCalList
=
NewData
;
},
},
updateCurrentChat
(
state
,
obj
)
{
updateCurrentChat
(
state
,
obj
)
{
state
.
currentChat
=
obj
;
state
.
currentChat
=
obj
;
...
...
src/store/state.js
浏览文件 @
fac40675
...
@@ -3,6 +3,7 @@
...
@@ -3,6 +3,7 @@
export
default
{
export
default
{
currentDiagList
:[],
currentDiagList
:[],
currentCalList
:{},
currentCalList
:{},
RawCurrentCalList
:[],
currentChat
:
{},
currentChat
:
{},
currentAdvice
:
{},
currentAdvice
:
{},
soketQuest
:
{},
soketQuest
:
{},
...
...
src/utils/utils.js
浏览文件 @
fac40675
...
@@ -816,7 +816,7 @@ const change = (num) => {
...
@@ -816,7 +816,7 @@ const change = (num) => {
}
}
return
num
;
return
num
;
}
}
// 拖拽
export
const
bindDragHeader
=
(
classname
,
content
)
=>
{
export
const
bindDragHeader
=
(
classname
,
content
)
=>
{
const
dragDom
=
document
.
querySelector
(
classname
);
const
dragDom
=
document
.
querySelector
(
classname
);
const
con
=
document
.
querySelector
(
content
);
const
con
=
document
.
querySelector
(
content
);
...
...
src/views/IM/diagnosis-admin/workbench.vue
浏览文件 @
fac40675
...
@@ -29,7 +29,7 @@
...
@@ -29,7 +29,7 @@
:label=
"item.status"
:label=
"item.status"
>
>
{{
item
.
statusStr
}}
(
{{
item
.
count
}}
)
{{
item
.
statusStr
}}
(
{{
item
.
count
}}
)
<i
class=
"circle-red"
></i>
<i
class=
"circle-red"
v-if=
"item.is_dot"
></i>
</el-radio-button>
</el-radio-button>
<!--
<el-radio-button
label=
"1"
>
待处理(
{{
currentCalList
}}
)
</el-radio-button>
-->
<!--
<el-radio-button
label=
"1"
>
待处理(
{{
currentCalList
}}
)
</el-radio-button>
-->
</el-radio-group>
</el-radio-group>
...
@@ -80,6 +80,7 @@ export default {
...
@@ -80,6 +80,7 @@ export default {
},
},
watch
:
{
watch
:
{
isSuperAdmin
(
newdata
,
olddata
)
{
isSuperAdmin
(
newdata
,
olddata
)
{
// console.log("ererer")
if
(
newdata
!==
olddata
&&
newdata
.
userID
)
{
if
(
newdata
!==
olddata
&&
newdata
.
userID
)
{
const
s
=
storejs
.
get
(
"soketQuest"
);
const
s
=
storejs
.
get
(
"soketQuest"
);
const
d
=
s
?
s
.
dateTime
:
new
Date
().
format
(
"yyyy-MM-dd"
);
const
d
=
s
?
s
.
dateTime
:
new
Date
().
format
(
"yyyy-MM-dd"
);
...
@@ -93,15 +94,14 @@ export default {
...
@@ -93,15 +94,14 @@ export default {
returnStatus
:
s
?
s
.
returnStatus
:
1
,
returnStatus
:
s
?
s
.
returnStatus
:
1
,
};
};
this
.
searchParam
=
p
;
this
.
searchParam
=
p
;
this
.
inquirySearch
();
this
.
inquirySearch
(
"clear"
);
}
}
},
},
},
},
data
()
{
data
()
{
const
s
=
storejs
.
get
(
"soketQuest"
);
const
s
=
storejs
.
get
(
"soketQuest"
);
const
d
=
s
?
s
.
dateTime
:
new
Date
().
format
(
"yyyy-MM-dd"
);
const
d
=
s
?
s
.
dateTime
:
new
Date
().
format
(
"yyyy-MM-dd"
);
let
id
=
let
id
=
s
&&
s
.
operateUserId
?
s
.
operateUserId
:
this
.
isSuperAdmin
.
userID
;
s
&&
s
.
operateUserId
?
s
.
operateUserId
:
this
.
isSuperAdmin
.
userID
;
return
{
return
{
tabPosition
:
"1"
,
tabPosition
:
"1"
,
showChat
:
true
,
showChat
:
true
,
...
@@ -145,18 +145,19 @@ export default {
...
@@ -145,18 +145,19 @@ export default {
};
};
},
},
created
()
{},
created
()
{},
mounted
()
{},
methods
:
{
methods
:
{
tabChange
(
val
)
{
tabChange
(
val
)
{
const
s
=
this
.
searchParam
;
const
s
=
this
.
searchParam
;
s
.
returnStatus
=
val
;
s
.
returnStatus
=
val
;
this
.
searchParam
=
s
;
this
.
searchParam
=
s
;
this
.
inquirySearch
();
this
.
inquirySearch
(
"tab"
);
},
},
changeDatetime
(
val
)
{
changeDatetime
(
val
)
{
const
s
=
this
.
searchParam
;
const
s
=
this
.
searchParam
;
s
.
dateTime
=
val
.
format
(
"yyyy-MM-dd"
);
s
.
dateTime
=
val
.
format
(
"yyyy-MM-dd"
);
this
.
searchParam
=
s
;
this
.
searchParam
=
s
;
this
.
inquirySearch
();
this
.
inquirySearch
(
"clear"
);
},
},
handleSizeChange
(
val
)
{
handleSizeChange
(
val
)
{
const
s
=
this
.
searchParam
;
const
s
=
this
.
searchParam
;
...
@@ -169,11 +170,24 @@ export default {
...
@@ -169,11 +170,24 @@ export default {
this
.
searchParam
=
s
;
this
.
searchParam
=
s
;
this
.
inquirySearch
();
this
.
inquirySearch
();
},
},
inquirySearch
()
{
inquirySearch
(
type
)
{
const
p
=
this
.
searchParam
;
const
p
=
this
.
searchParam
;
if
(
type
==
"clear"
)
{
this
.
$store
.
commit
(
"clearRawCurrentCalList"
);
}
this
.
POST
(
"/diagnose/socket/condition/update"
,
p
).
then
((
res
)
=>
{
this
.
POST
(
"/diagnose/socket/condition/update"
,
p
).
then
((
res
)
=>
{
if
(
res
.
code
==
"000000"
)
{
if
(
res
.
code
==
"000000"
)
{
this
.
$store
.
commit
(
"updateSoketQuest"
,
p
);
this
.
$store
.
commit
(
"updateSoketQuest"
,
p
);
if
(
type
==
"tab"
)
{
const
returnStatus
=
p
.
returnStatus
;
const
RespList
=
res
.
data
.
list
[
0
].
recordResp
.
countRespList
.
filter
(
(
val
)
=>
{
return
val
.
status
==
returnStatus
;
}
);
this
.
$store
.
commit
(
"changeRawCurrentCalList"
,
RespList
[
0
]);
}
}
else
{
}
else
{
this
.
$message
({
this
.
$message
({
message
:
res
.
message
,
message
:
res
.
message
,
...
...
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录