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
提交
a3a478ec
提交
a3a478ec
编写于
12月 03, 2021
作者:
xiaoping.di
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'feature/dxp' into 'develop'
Feature/dxp See merge request
!246
上级
74b1dfa0
f4f41a33
变更
15
显示空白字符变更
内嵌
并排
正在显示
15 个修改的文件
包含
815 行增加
和
613 行删除
+815
-613
administrators.js
src/api/administrators.js
+14
-14
workbench.js
src/api/workbench.js
+15
-14
consultation.vue
src/components/common/consultation.vue
+12
-6
index.js
src/components/common/consultationCard/index.js
+40
-103
index.scss
src/components/common/consultationCard/index.scss
+58
-37
index.vue
src/components/common/consultationCard/index.vue
+43
-23
department-doctor.vue
src/components/common/department-doctor.vue
+153
-132
inquiryNew-list.vue
src/components/common/inquiryNew-list.vue
+1
-3
round.js
src/store/modules/round.js
+152
-30
socket.js
src/store/modules/socket.js
+2
-29
administrators.vue
src/views/IM/diagnosis-admin/administrators.vue
+27
-18
operation.vue
src/views/IM/diagnosis-admin/operation.vue
+31
-32
workbench-new.vue
src/views/IM/diagnosis-admin/workbench-new.vue
+261
-168
slidebar.vue
src/views/layout/components/slidebar.vue
+5
-3
vue.config.js
vue.config.js
+1
-1
未找到文件。
src/api/administrators.js
浏览文件 @
a3a478ec
import
request
from
'mn-template/plugins/http'
;
import
request
from
'mn-template/plugins/http'
;
export
const
getMatchList
=
async
()
=>
{
export
const
getMatchList
=
async
()
=>
{
return
request
({
return
request
({
url
:
'/diagnose/match/list'
,
url
:
'/diagnose/match/list'
,
method
:
'get'
,
method
:
'get'
,
...
...
src/api/workbench.js
浏览文件 @
a3a478ec
import
request
from
'mn-template/plugins/http'
;
import
request
from
'mn-template/plugins/http'
;
export
const
doctorListAnd
=
async
(
data
)
=>
{
export
const
doctorListAnd
=
async
(
data
)
=>
{
return
request
({
return
request
({
url
:
'/diagnose/admin/diagnose/operate/and/doctorList'
,
url
:
'/diagnose/admin/diagnose/operate/and/doctorList'
,
data
:
data
,
data
:
data
,
...
@@ -12,9 +12,9 @@ export const doctorListRest = async (data) => {
...
@@ -12,9 +12,9 @@ export const doctorListRest = async (data) => {
return
request
({
return
request
({
url
:
'diagnose/admin/diagnose/reset/operate/doctorList'
,
url
:
'diagnose/admin/diagnose/reset/operate/doctorList'
,
method
:
'post'
,
method
:
'post'
,
data
:
data
data
:
data
,
});
});
};
};
export
const
conditionUpdate
=
async
(
data
)
=>
{
export
const
conditionUpdate
=
async
(
data
)
=>
{
return
request
({
return
request
({
url
:
'/diagnose/socket/condition/update'
,
url
:
'/diagnose/socket/condition/update'
,
...
@@ -50,9 +50,10 @@ export const manualCall = async (data) => {
...
@@ -50,9 +50,10 @@ export const manualCall = async (data) => {
};
};
// 查询当前上级医生下排队的信息
// 查询当前上级医生下排队的信息
export
const
waitPersonNum
=
async
(
d
octorId
)
=>
{
export
const
waitPersonNum
=
async
(
d
ata
)
=>
{
return
request
({
return
request
({
url
:
`/admin/diagnose/queueList/
${
doctorId
}
`
,
url
:
'/diagnose/admin/diagnose/queueList/doctorId'
,
method
:
'post'
,
method
:
'post'
,
data
:
data
,
});
});
};
};
src/components/common/consultation.vue
浏览文件 @
a3a478ec
...
@@ -7,13 +7,19 @@
...
@@ -7,13 +7,19 @@
<div
class=
"name"
>
<div
class=
"name"
>
{{
operatorsItem
.
name
||
''
}}
{{
operatorsItem
.
name
||
''
}}
</div>
</div>
<div
class=
"details"
@
click=
"goSelectDeart"
>
<div
class=
"details"
@
click=
"goSelectDeart"
>
<div
class=
"see"
>
<div
class=
"see"
>
<span>
查看选择科室
</span>
<span>
查看选择科室
</span>
<i
class=
"el-icon-arrow-right"
/>
<i
class=
"el-icon-arrow-right"
/>
</div>
</div>
</div>
</div>
<div
class=
"details"
@
click=
"goworkBench"
>
<div
class=
"details"
@
click=
"goworkBench"
>
<div
class=
"see"
>
<div
class=
"see"
>
<span>
待处理详情
</span>
<span>
待处理详情
</span>
<i
class=
"el-icon-arrow-right"
/>
<i
class=
"el-icon-arrow-right"
/>
...
@@ -24,7 +30,7 @@
...
@@ -24,7 +30,7 @@
</
template
>
</
template
>
<
script
>
<
script
>
// import { conditionUpdate } from '@/api/workbench';
// import { conditionUpdate } from '@/api/workbench';
export
default
{
export
default
{
props
:
{
props
:
{
...
@@ -77,7 +83,7 @@
...
@@ -77,7 +83,7 @@
path
:
'/workbench-new'
,
path
:
'/workbench-new'
,
query
:
{
id
:
this
.
operatorsItem
.
id
},
query
:
{
id
:
this
.
operatorsItem
.
id
},
});
});
}
}
,
},
},
};
};
</
script
>
</
script
>
...
@@ -121,9 +127,9 @@
...
@@ -121,9 +127,9 @@
font-size
:
14px
;
font-size
:
14px
;
font-family
:
PingFangSC-Regular
,
PingFang
SC
;
font-family
:
PingFangSC-Regular
,
PingFang
SC
;
font-weight
:
400
;
font-weight
:
400
;
color
:
#0
D
9078
;
color
:
#0
d
9078
;
}
}
i
{
i
{
color
:
rgba
(
13
,
144
,
120
,
1
);
color
:
rgba
(
13
,
144
,
120
,
1
);
}
}
}
}
...
...
src/components/common/consultationCard/index.js
浏览文件 @
a3a478ec
import
{
teamDetail
,
callDirect
}
from
'@/api/diagnosis'
;
import
{
teamDetail
,
callDirect
}
from
'@/api/diagnosis'
;
import
{
import
{
waitPersonNum
,
manualCall
}
from
'@/api/workbench.js'
;
waitPersonNum
,
doctorAdviceList
,
manualCall
,
}
from
'@/api/workbench.js'
;
import
{
createNamespacedHelpers
}
from
'vuex'
;
import
{
createNamespacedHelpers
}
from
'vuex'
;
const
{
mapState
}
=
createNamespacedHelpers
(
'main'
);
const
{
mapState
}
=
createNamespacedHelpers
(
'main'
);
let
clipboard
=
null
;
export
default
{
export
default
{
props
:
{
props
:
{
item
:
{
item
:
{
...
@@ -48,7 +45,6 @@ export default {
...
@@ -48,7 +45,6 @@ export default {
computed
:
{
computed
:
{
...
mapState
({
...
mapState
({
showChat
:
(
state
)
=>
state
.
showChat
,
showChat
:
(
state
)
=>
state
.
showChat
,
showAdvice
:
(
state
)
=>
state
.
showAdvice
,
}),
}),
doctorCallStatus
()
{
doctorCallStatus
()
{
switch
(
this
.
item
.
doctorCallStatus
)
{
switch
(
this
.
item
.
doctorCallStatus
)
{
...
@@ -60,6 +56,8 @@ export default {
...
@@ -60,6 +56,8 @@ export default {
return
'被挂断'
;
return
'被挂断'
;
case
4
:
case
4
:
return
'已拨打完成'
;
return
'已拨打完成'
;
case
5
:
return
'电话呼叫中'
;
default
:
default
:
return
''
;
return
''
;
}
}
...
@@ -78,30 +76,6 @@ export default {
...
@@ -78,30 +76,6 @@ export default {
return
''
;
return
''
;
}
}
},
},
diagnoseType
()
{
switch
(
this
.
item
.
diagnoseType
)
{
case
1
:
return
'语音问诊'
;
case
2
:
return
'视频问诊'
;
case
3
:
return
'图文问诊'
;
default
:
return
''
;
}
},
diagnoseTypeIcon
()
{
switch
(
this
.
item
.
diagnoseType
)
{
case
1
:
return
'voice'
;
case
2
:
return
'voice'
;
case
3
:
return
'photo'
;
default
:
return
'photo'
;
}
},
appointBeginTime
()
{
appointBeginTime
()
{
if
(
this
.
item
.
appointBeginTime
)
{
if
(
this
.
item
.
appointBeginTime
)
{
return
new
Date
(
this
.
item
.
appointBeginTime
).
format
(
'hh:mm'
);
return
new
Date
(
this
.
item
.
appointBeginTime
).
format
(
'hh:mm'
);
...
@@ -116,28 +90,18 @@ export default {
...
@@ -116,28 +90,18 @@ export default {
return
''
;
return
''
;
}
}
},
},
userCallTime
()
{
// 基层医生上次呼叫医助时间
return
new
Date
(
this
.
item
.
userCallTime
).
format
(
'hh:mm'
);
userLastCallTime
()
{
},
if
(
this
.
item
.
userLastCallTime
)
{
// 助诊呼叫状态
return
new
Date
(
this
.
item
.
userLastCallTime
).
getTime
();
userCallKfStatus
()
{
}
else
{
return
this
.
item
.
userCallKfStatus
;
return
null
;
},
}
// 接诊呼叫状态
doctorCallKfStatus
()
{
return
this
.
item
.
doctorCallKfStatus
;
},
// 接诊 在线状态
doctorTrtcEntryStatus
()
{
return
this
.
item
.
doctorTrtcEntryStatus
;
},
// 助诊 在线状态
userTrtcEntryStatus
()
{
return
this
.
item
.
userTrtcEntryStatus
;
},
},
pastUserCallTime
()
{
// 上级医生上一次呼叫医助时间
if
(
this
.
item
.
userCallTime
)
{
doctorLastCallTime
()
{
return
this
.
formatDateData
(
this
.
item
.
userCallTime
);
if
(
this
.
item
.
doctorLastCallTime
)
{
return
this
.
formatDateData
(
this
.
item
.
doctorLastCallTime
);
}
else
{
}
else
{
return
null
;
return
null
;
}
}
...
@@ -161,12 +125,6 @@ export default {
...
@@ -161,12 +125,6 @@ export default {
console
.
log
(
newVal
,
'newValnewValnewVal'
);
console
.
log
(
newVal
,
'newValnewValnewVal'
);
console
.
log
(
newVal
,
oldVal
,
'newVal, oldVal'
);
console
.
log
(
newVal
,
oldVal
,
'newVal, oldVal'
);
if
(
newVal
!==
oldVal
)
{
if
(
newVal
!==
oldVal
)
{
if
(
newVal
.
doctorTrtcEntryStatus
==
2
)
{
this
.
isDoctorChat
=
false
;
}
if
(
newVal
.
userTrtcEntryStatus
==
2
)
{
this
.
isUserChat
=
false
;
}
if
(
newVal
.
doctorCallStatus
!==
oldVal
.
doctorCallStatus
)
{
if
(
newVal
.
doctorCallStatus
!==
oldVal
.
doctorCallStatus
)
{
this
.
isManuacall
=
false
;
this
.
isManuacall
=
false
;
}
}
...
@@ -180,18 +138,7 @@ export default {
...
@@ -180,18 +138,7 @@ export default {
},
},
},
},
created
()
{},
created
()
{},
mounted
()
{
mounted
()
{},
if
(
this
.
item
.
returnStatus
==
1
||
this
.
item
.
returnStatus
==
3
)
{
const
nowData
=
new
Date
().
getTime
();
const
timeleft
=
this
.
item
.
appointBeginTime
-
nowData
;
if
(
timeleft
<
120000
&&
nowData
<
this
.
item
.
appointEndTime
)
{
clearInterval
(
this
.
timer
);
this
.
down
();
}
else
{
this
.
isCall
=
true
;
}
}
},
methods
:
{
methods
:
{
manualDialing
(
type
)
{
manualDialing
(
type
)
{
if
(
this
.
doctorCallKfStatus
===
1
)
{
if
(
this
.
doctorCallKfStatus
===
1
)
{
...
@@ -244,7 +191,7 @@ export default {
...
@@ -244,7 +191,7 @@ export default {
},
},
formatDateData
(
time
)
{
formatDateData
(
time
)
{
const
now_data
=
new
Date
().
getTime
();
const
now_data
=
new
Date
().
getTime
();
const
my_time
=
now_data
-
time
;
const
my_time
=
now_data
-
new
Date
(
time
).
getTime
()
;
const
hours
=
my_time
/
1000
/
60
/
60
;
const
hours
=
my_time
/
1000
/
60
/
60
;
const
hoursRound
=
Math
.
floor
(
hours
);
const
hoursRound
=
Math
.
floor
(
hours
);
const
minutes
=
my_time
/
1000
/
60
-
60
*
hoursRound
;
const
minutes
=
my_time
/
1000
/
60
-
60
*
hoursRound
;
...
@@ -256,10 +203,11 @@ export default {
...
@@ -256,10 +203,11 @@ export default {
).
toFixed
(
0
);
).
toFixed
(
0
);
if
(
hoursRound
>
0
&&
minutesRound
>
0
)
{
if
(
hoursRound
>
0
&&
minutesRound
>
0
)
{
return
hoursRound
+
'小时'
+
minutesRound
+
'分'
+
seconds
+
'秒'
;
// return hoursRound + '小时' + minutesRound + '分' + seconds + '秒';
return
hoursRound
+
'小时'
;
}
}
if
(
hoursRound
==
0
&&
minutesRound
>
0
)
{
if
(
hoursRound
==
0
&&
minutesRound
>
0
)
{
return
minutesRound
+
'分'
;
return
minutesRound
+
'分
钟
'
;
}
}
if
(
hoursRound
==
0
&&
minutesRound
==
0
)
{
if
(
hoursRound
==
0
&&
minutesRound
==
0
)
{
return
seconds
+
'秒'
;
return
seconds
+
'秒'
;
...
@@ -335,39 +283,14 @@ export default {
...
@@ -335,39 +283,14 @@ export default {
const
i
=
this
.
item
;
const
i
=
this
.
item
;
this
.
$store
.
dispatch
(
'main/gotoInquiry'
,
i
);
this
.
$store
.
dispatch
(
'main/gotoInquiry'
,
i
);
},
},
openAdvice
()
{
if
(
this
.
showAdvice
)
{
this
.
$message
({
message
:
'不可同时打开多个诊断建议,请先退出已打开的诊断建议,再试。'
,
type
:
'warning'
,
duration
:
1000
,
});
return
false
;
}
// const i = 11;
doctorAdviceList
({
diagnoseLogId
:
this
.
item
.
diagnoseLogId
,
})
.
then
((
res
)
=>
{
if
(
res
.
code
==
'000000'
)
{
this
.
$store
.
commit
(
'main/updateShowAdvice'
,
true
);
this
.
$store
.
commit
(
'main/updateCurrentAdvice'
,
res
.
data
);
}
else
{
this
.
$message
({
message
:
res
.
message
,
type
:
'warning'
,
duration
:
1000
,
});
}
})
.
catch
((
err
)
=>
{
console
.
log
(
err
);
});
},
waitPersonFun
()
{
waitPersonFun
()
{
if
(
!
this
.
isShowWait
)
{
if
(
!
this
.
isShowWait
)
{
console
.
log
(
this
.
item
.
doctorId
,
'this.item.doctorId'
);
const
parms
=
{
waitPersonNum
(
this
.
item
.
doctorId
)
assistantBeginTime
:
this
.
item
.
appointBeginTime
,
doctorId
:
this
.
item
.
doctorId
,
};
console
.
log
(
parms
,
'this.item.doctorId'
);
waitPersonNum
(
parms
)
.
then
((
res
)
=>
{
.
then
((
res
)
=>
{
if
(
res
.
code
===
'000000'
)
{
if
(
res
.
code
===
'000000'
)
{
this
.
waitPersonList
=
res
.
data
||
[];
this
.
waitPersonList
=
res
.
data
||
[];
...
@@ -391,5 +314,19 @@ export default {
...
@@ -391,5 +314,19 @@ export default {
});
});
}
}
},
},
// 粘帖文本
clipboardAction
()
{
const
_this
=
this
;
console
.
log
(
11
);
clipboard
&&
clipboard
.
destroy
();
// 不是单例的,所以每次都要销毁
clipboard
=
new
this
.
ClipboardJS
(
'.copy-orderId'
,
{
// .footer:文档的CSS类名
text
:
function
()
{
console
.
log
(
_this
.
item
.
diagnoseLogId
);
_this
.
$message
.
success
(
'复制成功'
);
return
_this
.
item
.
diagnoseLogId
;
// 要粘贴的文案
},
});
},
},
},
};
};
src/components/common/consultationCard/index.scss
浏览文件 @
a3a478ec
...
@@ -17,6 +17,9 @@
...
@@ -17,6 +17,9 @@
font-size
:
18px
;
font-size
:
18px
;
margin-top
:
3px
;
margin-top
:
3px
;
}
}
.notime
{
color
:
#999999
;
}
}
}
.right
{
.right
{
margin-left
:
23px
;
margin-left
:
23px
;
...
@@ -45,7 +48,7 @@
...
@@ -45,7 +48,7 @@
}
}
}
}
.superior-doctor
{
.superior-doctor
{
width
:
49
%
;
width
:
52
%
;
display
:
flex
;
display
:
flex
;
justify-content
:
flex-start
;
justify-content
:
flex-start
;
align-items
:
flex-start
;
align-items
:
flex-start
;
...
@@ -58,9 +61,19 @@
...
@@ -58,9 +61,19 @@
height
:
40px
;
height
:
40px
;
.offline
{
.offline
{
position
:
absolute
;
position
:
absolute
;
left
:
-4
px
;
left
:
1
px
;
top
:
-4
px
;
top
:
0
px
;
z-index
:
10
;
z-index
:
10
;
img
{
width
:
10px
;
height
:
auto
;
}
}
.online
{
width
:
10px
;
height
:
10px
;
background
:
#0d9078
;
border-radius
:
50%
;
}
}
.avatar
{
.avatar
{
position
:
absolute
;
position
:
absolute
;
...
@@ -79,19 +92,19 @@
...
@@ -79,19 +92,19 @@
.info-name-wrap
{
.info-name-wrap
{
display
:
flex
;
display
:
flex
;
align-items
:
center
;
align-items
:
center
;
justify-content
:
space-between
;
span
{
display
:
block
;
}
}
.info-name
{
.info-name
{
display
:
inline-block
;
//display: inline-block;
max-width
:
85px
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
white-space
:
nowrap
;
font-size
:
18px
;
font-size
:
18px
;
color
:
#02120f
;
color
:
#02120f
;
font-weight
:
bold
;
font-weight
:
bold
;
}
}
}
.info-container
{
.info-container
{
align-items
:
center
;
align-items
:
center
;
flex-direction
:
row
;
flex-direction
:
row
;
...
@@ -105,17 +118,6 @@
...
@@ -105,17 +118,6 @@
.info-call-time
{
.info-call-time
{
color
:
#ff5e57
;
color
:
#ff5e57
;
}
}
.info-calling
{
width
:
15px
;
height
:
25px
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
img
{
width
:
15px
;
height
:
15px
;
}
}
}
}
}
}
.manual-call-status
{
.manual-call-status
{
...
@@ -140,12 +142,29 @@
...
@@ -140,12 +142,29 @@
}
}
}
}
.basic-doctor
{
.basic-doctor
{
width
:
4
9
%
;
width
:
4
0
%
;
display
:
flex
;
display
:
flex
;
justify-content
:
flex-start
;
justify-content
:
flex-start
;
.basic-user-img
,
.basic-user-img
,
.basic-user-info
{
.basic-user-info
{
position
:
relative
;
padding-right
:
6px
;
padding-right
:
6px
;
.offline
{
position
:
absolute
;
left
:
1px
;
top
:
0px
;
z-index
:
10
;
img
{
width
:
10px
;
height
:
auto
;
}
}
.online
{
width
:
10px
;
height
:
10px
;
background
:
#0d9078
;
border-radius
:
50%
;
}
.info-name-wrap
{
.info-name-wrap
{
display
:
flex
;
display
:
flex
;
align-items
:
center
;
align-items
:
center
;
...
@@ -174,21 +193,23 @@
...
@@ -174,21 +193,23 @@
color
:
#ff5e57
;
color
:
#ff5e57
;
}
}
.info-calling
{
.info-calling
{
width
:
15px
;
background
:
rgba
(
255
,
94
,
87
,
0
.07
);
height
:
25px
;
border-radius
:
10px
;
display
:
flex
;
border
:
1px
solid
rgba
(
255
,
94
,
87
,
0
.15
);
justify-content
:
center
;
height
:
20px
;
align-items
:
center
;
text-align
:
center
;
img
{
font-size
:
14px
;
width
:
15px
;
font-family
:
PingFangSC-Regular
,
PingFang
SC
;
height
:
15px
;
font-weight
:
400
;
}
color
:
#ff5e57
;
line-height
:
20px
;
margin-top
:
3px
;
}
}
}
}
}
}
}
}
.no-info
{
.no-info
{
width
:
10
0%
;
width
:
3
0%
;
height
:
auto
;
height
:
auto
;
color
:
#ff5e57
;
color
:
#ff5e57
;
}
}
...
...
src/components/common/consultationCard/index.vue
浏览文件 @
a3a478ec
...
@@ -5,20 +5,17 @@
...
@@ -5,20 +5,17 @@
<div
class=
"superior-doctor"
>
<div
class=
"superior-doctor"
>
<div
class=
"inquiry-user-img"
>
<div
class=
"inquiry-user-img"
>
<div
<div
v-if=
"
diagnoseTypeIcon == 'voice' &&
(item.returnStatus == 1 || item.returnStatus == 3) &&
doctorTrtcEntryStatus != 1
"
class=
"offline"
class=
"offline"
:class=
"
{ online: item.doctorOnlineStatus == 2 }"
>
>
<img
<img
v-if=
"item.doctorOnlineStatus == 3"
:src=
"offline"
:src=
"offline"
alt=
""
alt=
""
>
>
</div>
</div>
<div
class=
"avatar"
>
<div
class=
"avatar"
>
<el-avatar
:src=
"item.doctorImageUrl"
/>
<el-avatar
:src=
"item.doctorImageUrl
|| ''
"
/>
</div>
</div>
</div>
</div>
<div
class=
"inquiry-user-info"
>
<div
class=
"inquiry-user-info"
>
...
@@ -34,7 +31,9 @@
...
@@ -34,7 +31,9 @@
</li>
</li>
<li
class=
"inquiry-user-status"
>
<li
class=
"inquiry-user-status"
>
<!-- 只有-->
<!-- 只有-->
<!-- -->
<span
<span
v-if=
"!doctorLastCallTime && item.doctorCallKfStatus != 1"
:class=
"
:class=
"
doctorCallStatus === '已拨打完成'
doctorCallStatus === '已拨打完成'
? 'status-cll-user-finish'
? 'status-cll-user-finish'
...
@@ -42,13 +41,14 @@
...
@@ -42,13 +41,14 @@
"
"
>
{{
doctorCallStatus
}}
</span>
>
{{
doctorCallStatus
}}
</span>
<span
<span
v-if=
"doctorCallKfStatus == 1"
v-if=
"
item.
doctorCallKfStatus == 1"
class=
"status-cll-user-answer"
class=
"status-cll-user-answer"
>
正在呼叫
</span>
>
正在呼叫
</span>
<span
<span
v-
else
v-
if=
"doctorLastCallTime"
class=
"status-cll-user-answer"
class=
"status-cll-user-answer"
>
未呼叫
</span>
>
{{
doctorLastCallTime
}}
前呼叫医助
</span>
</li>
</li>
</ul>
</ul>
</div>
</div>
...
@@ -60,14 +60,11 @@
...
@@ -60,14 +60,11 @@
>
>
<ul
class=
"basic-user-img"
>
<ul
class=
"basic-user-img"
>
<li
<li
v-if=
"
diagnoseTypeIcon == 'voice' &&
(item.returnStatus == 1 || item.returnStatus == 3) &&
userTrtcEntryStatus != 1
"
class=
"offline"
class=
"offline"
:class=
"
{ online: item.userOnlineStatus == 2 }"
>
>
<img
<img
v-if=
"item.userOnlineStatus == 3"
:src=
"offline"
:src=
"offline"
alt=
""
alt=
""
>
>
...
@@ -88,13 +85,23 @@
...
@@ -88,13 +85,23 @@
{{
item
.
userMobile
}}
{{
item
.
userMobile
}}
</div>
</div>
<div
<div
v-if=
"userCallKfStatus == 1"
v-if=
"
item.
userCallKfStatus == 1"
class=
"info-calling"
class=
"info-calling"
>
>
呼叫中
呼叫中
</div>
</div>
<div
v-if=
"item.userCallKfStatus == 2 && userLastCallTime"
class=
"info-calling"
>
<span
v-if=
"userLastCallTime"
>
{{
userLastCallTime
}}
前呼叫医助
</span>
</div>
</li>
</li>
<li
class=
"inquiry-user-status"
>
<li
v-if=
"item.userCallKfStatus != 1 && userCallStatus"
class=
"inquiry-user-status"
>
<span
<span
:class=
"
:class=
"
userCallStatus === '已拨打完成'
userCallStatus === '已拨打完成'
...
@@ -111,7 +118,7 @@
...
@@ -111,7 +118,7 @@
class=
"no-info"
class=
"no-info"
>
>
<div
<div
v-if=
"item.acceptStatus ==
4
"
v-if=
"item.acceptStatus ==
2
"
class=
"doctor-late"
class=
"doctor-late"
>
>
未开始接诊
未开始接诊
...
@@ -122,9 +129,14 @@
...
@@ -122,9 +129,14 @@
>
>
暂停接诊
暂停接诊
</div>
</div>
<div
v-if=
"item.acceptStatus == 4"
class=
"doctor-stop"
>
离开
</div>
</div>
</div>
</div>
</div>
<!-- 预约时间,复制单号 -->
<!-- 预约时间,复制单号 -->
<div
class=
"line line-second"
>
<div
class=
"line line-second"
>
<div
class=
"left"
>
<div
class=
"left"
>
...
@@ -138,7 +150,7 @@
...
@@ -138,7 +150,7 @@
</div>
</div>
<div
<div
v-else
v-else
class=
"time"
class=
"time
notime
"
>
>
无
无
</div>
</div>
...
@@ -151,8 +163,8 @@
...
@@ -151,8 +163,8 @@
</li>
</li>
<li
<li
v-if=
"item.diagnoseLogId"
v-if=
"item.diagnoseLogId"
class=
"copy"
class=
"copy
copy-orderId
"
@
click=
"c
opyDiagnoseLogId
"
@
click=
"c
lipboardAction
"
>
>
复制
复制
</li>
</li>
...
@@ -172,13 +184,22 @@
...
@@ -172,13 +184,22 @@
/>
/>
</div>
</div>
</div>
</div>
<!-- 有基层医生信息 展示进入诊室 -->
<div
<div
v-if=
"item.userId && item.acceptStatus != 1 && item.acceptStatus != 4"
class=
"line-btn line-btn-enter"
class=
"line-btn line-btn-enter"
:class=
"
{ isManuacall: isManuacall, noIsCall: !isManuacall }"
:class=
"
{ isManuacall: isManuacall, noIsCall: !isManuacall }"
@click="openChat"
@click="openChat"
>
进入诊室
</div>
<!-- -->
<div
v-else
class=
"line-btn line-btn-enter"
>
>
<div
<div
v-if=
"doctorCallKfStatus == 1"
v-if=
"
item.
doctorCallKfStatus == 1"
class=
"call-box"
class=
"call-box"
>
>
<img
<img
...
@@ -201,7 +222,6 @@
...
@@ -201,7 +222,6 @@
</div>
</div>
</div>
</div>
</div>
</div>
<!-- 排队详细 -->
<!-- 排队详细 -->
<div
<div
v-if=
"isShowWait"
v-if=
"isShowWait"
...
...
src/components/common/department-doctor.vue
浏览文件 @
a3a478ec
<
template
>
<
template
>
<div
class=
"depart-doctor"
>
<div
class=
"depart-doctor"
>
<el-tabs
v-model=
"activeMoutendName"
>
<el-tabs
v-model=
"activeMoutendName"
>
<el-tab-pane
v-for=
"item in departDoctorList"
:key=
"item.departmentId"
:label=
"item.department + ' ' + item.checkDoctorIdListByDepartment.length + '/' +item.allNum"
:name=
"item.departmentId"
>
<el-tab-pane
v-for=
"item in departDoctorList"
:key=
"item.departmentId"
:label=
"
item.department +
' ' +
item.checkDoctorIdListByDepartment.length +
'/' +
item.allNum
"
:name=
"item.departmentId"
>
<el-checkbox
<el-checkbox
v-model=
"item.checkAll"
v-model=
"item.checkAll"
:indeterminate=
"item.isIndeterminate"
:indeterminate=
"item.isIndeterminate"
:disabled=
"item.allDisabled"
:disabled=
"item.allDisabled"
@
change=
"((value)=>
{handleCheckAllChange(value,item)})">全选
</el-checkbox>
@
change=
"
<div
style=
"margin: 10px 0;"
/>
(value) =>
{
handleCheckAllChange(value, item);
}
"
>
全选
</el-checkbox>
<div
style=
"margin: 10px 0"
/>
<el-checkbox-group
<el-checkbox-group
v-model=
"item.checkDoctorIdListByDepartment"
v-model=
"item.checkDoctorIdListByDepartment"
@
change=
"((val)=>
{handleCheckedCitiesChange(val,item)})"
@
change=
"
(val) =>
{
handleCheckedCitiesChange(val, item);
}
"
>
>
<el-checkbox
<el-checkbox
v-for=
"itemChild in item.diagnoseOperateDoctorRespList"
v-for=
"itemChild in item.diagnoseOperateDoctorRespList"
...
@@ -18,7 +40,7 @@
...
@@ -18,7 +40,7 @@
:label=
"itemChild.doctorId"
:label=
"itemChild.doctorId"
:disabled=
"itemChild.disabled"
:disabled=
"itemChild.disabled"
>
>
{{
itemChild
.
doctorName
+
' '
}}{{
' '
+
itemChild
.
doctorId
}}
{{
itemChild
.
doctorName
+
' '
}}{{
' '
+
itemChild
.
doctorId
}}
</el-checkbox>
</el-checkbox>
</el-checkbox-group>
</el-checkbox-group>
</el-tab-pane>
</el-tab-pane>
...
@@ -29,41 +51,36 @@
...
@@ -29,41 +51,36 @@
<
script
>
<
script
>
export
default
{
export
default
{
props
:
{
props
:
{
departDoctorList
:
{
departDoctorList
:
{
type
:
Array
,
type
:
Array
,
default
()
{
default
()
{
return
[];
return
[];
},
},
},
},
activeMoutendName
:
{
activeMoutendName
:
{
type
:
String
,
type
:
String
,
default
()
{
default
()
{
return
''
;
return
''
;
},
},
}
},
data
()
{
return
{
};
},
computed
:
{
},
watch
:
{
},
},
created
()
{
},
},
mounted
()
{
data
()
{
return
{};
},
},
computed
:
{},
watch
:
{},
created
()
{},
mounted
()
{},
methods
:
{
methods
:
{
handleCheckAllChange
(
value
,
item
)
{
handleCheckAllChange
(
value
,
item
)
{
let
itemNameList
=
[];
let
itemNameList
=
[];
if
(
value
)
{
if
(
value
)
{
itemNameList
=
(
item
.
diagnoseOperateDoctorRespList
||
[]).
map
(
item
=>
{
itemNameList
=
(
item
.
diagnoseOperateDoctorRespList
||
[]).
map
(
(
item
)
=>
{
return
item
.
doctorId
;
return
item
.
doctorId
;
});
}
);
}
}
item
.
checkDoctorIdListByDepartment
=
value
?
itemNameList
:
[];
item
.
checkDoctorIdListByDepartment
=
value
?
itemNameList
:
[];
item
.
isIndeterminate
=
false
;
item
.
isIndeterminate
=
false
;
...
@@ -77,33 +94,38 @@
...
@@ -77,33 +94,38 @@
*/
*/
handleCheckedCitiesChange
(
value
,
item
)
{
handleCheckedCitiesChange
(
value
,
item
)
{
const
checkedCount
=
value
.
length
;
const
checkedCount
=
value
.
length
;
item
.
checkAll
=
checkedCount
===
item
.
diagnoseOperateDoctorRespList
.
length
;
item
.
checkAll
=
if
(
checkedCount
>
0
&&
checkedCount
<
item
.
diagnoseOperateDoctorRespList
.
length
)
{
checkedCount
===
item
.
diagnoseOperateDoctorRespList
.
length
;
if
(
checkedCount
>
0
&&
checkedCount
<
item
.
diagnoseOperateDoctorRespList
.
length
)
{
item
.
isIndeterminate
=
true
;
item
.
isIndeterminate
=
true
;
item
.
checkAll
=
true
;
item
.
checkAll
=
true
;
}
else
{
}
else
{
item
.
isIndeterminate
=
false
;
item
.
isIndeterminate
=
false
;
}
}
this
.
$emit
(
'getDepartlist'
,
this
.
departDoctorList
);
this
.
$emit
(
'getDepartlist'
,
this
.
departDoctorList
);
}
}
,
},
},
};
};
</
script
>
</
script
>
<
style
lang=
"scss"
>
<
style
lang=
"scss"
>
.depart-doctor
{
.depart-doctor
{
.el-checkbox__input.is-disabled
.el-checkbox__inner
{
.el-checkbox__input.is-disabled
.el-checkbox__inner
{
border-color
:
#D9D9D9
!
important
;
border-color
:
#d9d9d9
!
important
;
background
:
#fff
!
important
;
background
:
#fff
!
important
;
}
}
.el-checkbox.is-disabled
.el-checkbox__label
{
.el-checkbox.is-disabled
.el-checkbox__label
{
color
:
#
D9D9D9
!
important
;
color
:
#
d9d9d9
!
important
;
}
}
.el-radio__input.is-checked
+
.el-radio__label
,
.el-tabs__item.is-active
{
.el-radio__input.is-checked
+
.el-radio__label
,
color
:
#0D9078
!
important
;
.el-tabs__item.is-active
{
font-size
:
16px
!
important
;
color
:
#0d9078
!
important
;
font-size
:
16px
!
important
;
}
}
.is-active
{
.is-active
{
border
:
none
;
border
:
none
;
position
:
relative
;
position
:
relative
;
&
:
:
after
{
&
:
:
after
{
...
@@ -113,20 +135,19 @@
...
@@ -113,20 +135,19 @@
left
:
50%
;
left
:
50%
;
right
:
0
;
right
:
0
;
height
:
2px
;
height
:
2px
;
background
:
#0
D9078
;
background
:
#0
d9078
;
width
:
50px
;
width
:
50px
;
transform
:
translateX
(
-50%
);
transform
:
translateX
(
-50%
);
}
}
}
}
.el-tabs__item.is-top
:nth-child
(
2
)
{
.el-tabs__item.is-top
:nth-child
(
2
)
{
padding-left
:
22px
!
important
;
padding-left
:
22px
!
important
;
}
}
.el-tabs__item.is-top
:last-child
{
.el-tabs__item.is-top
:last-child
{
padding-right
:
22px
!
important
;
padding-right
:
22px
!
important
;
}
}
.el-tab-pane
{
.el-tab-pane
{
padding
:
10px
20px
;
padding
:
10px
20px
;
}
}
}
}
</
style
>
</
style
>
src/components/common/inquiryNew-list.vue
浏览文件 @
a3a478ec
...
@@ -21,9 +21,7 @@
...
@@ -21,9 +21,7 @@
<i
<i
class=
"talk-icon"
class=
"talk-icon"
:class=
"diagnoseTypeIcon"
:class=
"diagnoseTypeIcon"
/><span>
{{
/><span>
{{
diagnoseType
}}
444
</span>
diagnoseType
}}
444
</span>
</div>
</div>
<div
class=
"time"
>
<div
class=
"time"
>
<i
class=
"appointment"
/><span>
{{
appointBeginTime
}}
555
</span>
-
<span>
{{
appointEndTime
}}
666
</span>
<i
class=
"appointment"
/><span>
{{
appointBeginTime
}}
555
</span>
-
<span>
{{
appointEndTime
}}
666
</span>
...
...
src/store/modules/round.js
浏览文件 @
a3a478ec
const
roundCard
=
{
import
io
from
'socket.io-client'
;
const
socket
=
{
namespaced
:
true
,
namespaced
:
true
,
state
:
{
state
:
{
socketClient
:
null
,
socketClient
:
null
,
},
},
actions
:
{
actions
:
{
init
Card
(
context
,
payload
)
{
init
Socket
(
context
,
payload
)
{
const
{
rootState
}
=
context
;
const
{
rootState
}
=
context
;
console
.
log
(
context
,
payload
,
'context, payload111'
,
rootState
);
console
.
log
(
context
,
payload
,
'context, payload111'
);
// const { list, allSize, countRespList } = socket;
const
socketClient
=
io
.
connect
(
payload
.
url
,
{
// console.log('-rootState', rootState, socket);
query
:
{
// const { currentTabStatus } = rootState.main;
loginUserNum
:
`diagnose_list_socket_
${
payload
.
userId
}
`
,
// context.commit('main/updateCurrentCalList', countRespList, {
},
// root: true,
// reconnection: false,
// });
});
// context.commit('main/updateAllSize', allSize, { root: true });
context
.
commit
(
'SET_SOCKET'
,
socketClient
,
rootState
);
// if (list) {
socketClient
.
on
(
'connect'
,
(
socket
)
=>
{
// const l = list[0] || [];
console
.
log
(
'socket 链接成功'
,
socket
,
socketClient
);
// if (currentTabStatus == 99) {
});
// context.commit('main/updateCurrentDiagList', list, { root: true });
socketClient
.
on
(
'connect_error'
,
(
err
)
=>
{
// } else {
console
.
log
(
'socket connect_error'
,
err
);
// if (currentTabStatus == l.returnStatus) {
// state.socketClient.connect();
// context.commit('main/updateCurrentDiagList', list, {
});
// root: true,
socketClient
.
on
(
'disconnect'
,
(
socket
)
=>
{
// });
console
.
log
(
'socket disconnect----'
,
socket
);
// }
// state.socketClient.connect();
// if (l.length == 0) {
});
// context.commit('main/updateCurrentDiagList', list, {
socketClient
.
on
(
'diagnose_push_event'
,
(
socket
)
=>
{
// root: true,
const
{
list
,
allSize
,
countRespList
}
=
socket
;
// });
console
.
log
(
'-rootState'
,
rootState
,
socket
);
// }
const
{
currentTabStatus
}
=
rootState
.
main
;
// }
context
.
commit
(
'main/updateCurrentCalList'
,
countRespList
,
{
// } else {
root
:
true
,
// context.commit('main/updateCurrentDiagList', [], { root: true });
});
// }
context
.
commit
(
'main/updateAllSize'
,
allSize
,
{
root
:
true
});
if
(
list
)
{
const
l
=
list
[
0
]
||
[];
if
(
currentTabStatus
==
99
)
{
context
.
commit
(
'main/updateCurrentDiagList'
,
list
,
{
root
:
true
});
}
else
{
if
(
currentTabStatus
==
l
.
returnStatus
)
{
context
.
commit
(
'main/updateCurrentDiagList'
,
list
,
{
root
:
true
,
});
}
if
(
l
.
length
==
0
)
{
context
.
commit
(
'main/updateCurrentDiagList'
,
list
,
{
root
:
true
,
});
}
}
}
else
{
context
.
commit
(
'main/updateCurrentDiagList'
,
[],
{
root
:
true
});
}
});
socketClient
.
on
(
'diagnose_call_push_event'
,
(
socket
)
=>
{
console
.
log
(
socket
,
'socketsocket'
,
window
.
_VM
.
$store
.
state
.
main
.
soketQuest
);
const
l
=
window
.
_VM
.
$store
.
state
.
main
.
noticeList
;
if
(
l
.
length
>=
5
)
{
l
.
shift
();
}
l
.
push
(
socket
);
const
n
=
{
notifyIndex
:
l
.
length
,
...
socket
};
context
.
commit
(
'main/updateNoticeList'
,
l
,
{
root
:
true
});
const
{
path
}
=
window
.
_VM
.
$route
;
const
operateUserId
=
window
.
_VM
.
$store
.
state
.
main
.
soketQuest
.
operateUserId
?
window
.
_VM
.
$store
.
state
.
main
.
soketQuest
.
operateUserId
:
''
;
if
(
path
&&
String
(
path
).
indexOf
(
'workbench'
)
>
-
1
&&
n
.
operateUserId
==
operateUserId
)
{
const
ni
=
{
notifyInfo
:
n
,
rootState
:
rootState
};
context
.
commit
(
'SET_NOTIFY'
,
ni
);
}
});
socketClient
.
on
(
'ping'
,
function
()
{
console
.
log
(
'[E] 心跳请求已发出 →'
,
socketClient
);
});
// 收到
socketClient
.
on
(
'pong'
,
function
(
socket
)
{
console
.
log
(
'[E] 心跳响应已收到 ←'
,
socket
,
socketClient
);
});
socketClient
.
io
.
on
(
'reconnect_attempt'
,
(
socket
)
=>
{
console
.
log
(
'--reconnect_attempt'
,
socket
);
// ...
});
socketClient
.
on
(
'reconnect'
,
(
socket
)
=>
{
console
.
log
(
'--reconnect'
,
socket
);
// ...
});
socketClient
.
on
(
'reconnecting'
,
(
attemptNumber
)
=>
{
// ...
console
.
log
(
'--reconnecting'
,
attemptNumber
);
});
},
},
},
},
mutations
:
{
mutations
:
{
SET_SOCKET
:
(
state
,
payload
)
=>
{
window
.
socketClient
=
payload
;
state
.
socketClient
=
payload
;
},
SET_NOTIFY
:
(
state
,
payload
)
=>
{
const
doms
=
document
.
getElementsByClassName
(
'el-notification'
);
if
(
doms
.
length
>=
5
)
return
;
const
h
=
window
.
_VM
.
$createElement
;
const
{
notifyInfo
,
rootState
}
=
payload
;
const
t
=
notifyInfo
.
department
?
`问诊单
${
notifyInfo
.
diagnoseLogId
}
(
${
notifyInfo
.
department
}
)`
:
`问诊单
${
notifyInfo
.
diagnoseLogId
}
`
;
// userCallKfStatus 医助呼叫
// doctorCallKfStatus 医生呼叫
const
name
=
notifyInfo
.
userCallKfStatus
==
1
?
notifyInfo
.
userName
:
notifyInfo
.
doctorName
;
const
cn
=
window
.
_VM
.
$notify
({
title
:
t
,
message
:
h
(
'p'
,
[
h
(
'i'
,
{
style
:
'color: teal;'
},
`
${
name
}
正在呼叫你`
),
h
(
'el-button'
,
{
style
:
`float:right;margin-top:
${
30
}
px;`
,
on
:
{
click
:
function
()
{
console
.
log
(
'----state'
,
rootState
);
if
(
rootState
.
main
.
showChat
)
{
window
.
_VM
.
$message
({
message
:
'不可同时进入多个诊室,请先退出已进入的诊室,再试。'
,
type
:
'warning'
,
duration
:
1000
,
});
}
else
{
window
.
_VM
.
$store
.
dispatch
(
'main/gotoInquiry'
,
notifyInfo
);
}
cn
.
close
();
},
},
},
'进入诊室'
),
]),
onClose
:
function
()
{
console
.
log
(
'--onClose'
,
notifyInfo
);
},
duration
:
5000
,
position
:
'top-right'
,
});
},
},
},
};
};
export
default
roundCard
;
export
default
socket
;
src/store/modules/socket.js
浏览文件 @
a3a478ec
...
@@ -26,34 +26,6 @@ const socket = {
...
@@ -26,34 +26,6 @@ const socket = {
console
.
log
(
'socket disconnect----'
,
socket
);
console
.
log
(
'socket disconnect----'
,
socket
);
// state.socketClient.connect();
// state.socketClient.connect();
});
});
socketClient
.
on
(
'diagnose_push_event'
,
(
socket
)
=>
{
const
{
list
,
allSize
,
countRespList
}
=
socket
;
console
.
log
(
'-rootState'
,
rootState
,
socket
);
const
{
currentTabStatus
}
=
rootState
.
main
;
context
.
commit
(
'main/updateCurrentCalList'
,
countRespList
,
{
root
:
true
,
});
context
.
commit
(
'main/updateAllSize'
,
allSize
,
{
root
:
true
});
if
(
list
)
{
const
l
=
list
[
0
]
||
[];
if
(
currentTabStatus
==
99
)
{
context
.
commit
(
'main/updateCurrentDiagList'
,
list
,
{
root
:
true
});
}
else
{
if
(
currentTabStatus
==
l
.
returnStatus
)
{
context
.
commit
(
'main/updateCurrentDiagList'
,
list
,
{
root
:
true
,
});
}
if
(
l
.
length
==
0
)
{
context
.
commit
(
'main/updateCurrentDiagList'
,
list
,
{
root
:
true
,
});
}
}
}
else
{
context
.
commit
(
'main/updateCurrentDiagList'
,
[],
{
root
:
true
});
}
});
socketClient
.
on
(
'diagnose_call_push_event'
,
(
socket
)
=>
{
socketClient
.
on
(
'diagnose_call_push_event'
,
(
socket
)
=>
{
console
.
log
(
console
.
log
(
socket
,
socket
,
...
@@ -75,8 +47,9 @@ const socket = {
...
@@ -75,8 +47,9 @@ const socket = {
if
(
if
(
path
&&
path
&&
String
(
path
).
indexOf
(
'workbench'
)
>
-
1
&&
String
(
path
).
indexOf
(
'workbench'
)
>
-
1
&&
n
.
operateUserId
==
operateUserId
(
n
.
operateUserId
==
operateUserId
||
n
.
operateUserId
==
'999999'
)
)
{
)
{
console
.
log
(
n
);
const
ni
=
{
notifyInfo
:
n
,
rootState
:
rootState
};
const
ni
=
{
notifyInfo
:
n
,
rootState
:
rootState
};
context
.
commit
(
'SET_NOTIFY'
,
ni
);
context
.
commit
(
'SET_NOTIFY'
,
ni
);
}
}
...
...
src/views/IM/diagnosis-admin/administrators.vue
浏览文件 @
a3a478ec
...
@@ -7,7 +7,10 @@
...
@@ -7,7 +7,10 @@
<el-breadcrumb-item>
首页
</el-breadcrumb-item>
<el-breadcrumb-item>
首页
</el-breadcrumb-item>
<el-breadcrumb-item>
我的工作台
</el-breadcrumb-item>
<el-breadcrumb-item>
我的工作台
</el-breadcrumb-item>
</el-breadcrumb>
</el-breadcrumb>
<el-row
style=
"margin-top: 30px;display:flex;alignItems:center"
class=
"row-col-show"
>
<el-row
style=
"margin-top: 30px; display: flex; alignitems: center"
class=
"row-col-show"
>
<el-col
:span=
"8"
>
<el-col
:span=
"8"
>
<div
class=
"left"
>
<div
class=
"left"
>
<el-row
<el-row
...
@@ -74,7 +77,11 @@
...
@@ -74,7 +77,11 @@
<
script
>
<
script
>
import
consultationlist
from
'@/components/common/consultation'
;
import
consultationlist
from
'@/components/common/consultation'
;
import
{
getMatchList
,
getCountByDay
,
lateCountByDay
}
from
'@/api/administrators'
;
import
{
getMatchList
,
getCountByDay
,
lateCountByDay
,
}
from
'@/api/administrators'
;
export
default
{
export
default
{
components
:
{
components
:
{
...
@@ -92,8 +99,8 @@
...
@@ -92,8 +99,8 @@
return
time
.
getTime
()
>
new
Date
().
getTime
();
// 减去一天的时间代表可以选择同一天;
return
time
.
getTime
()
>
new
Date
().
getTime
();
// 减去一天的时间代表可以选择同一天;
},
},
},
},
callDoctorNum
:
''
,
callDoctorNum
:
''
,
doctorLaterNum
:
''
doctorLaterNum
:
''
,
};
};
},
},
watch
:
{},
watch
:
{},
...
@@ -117,10 +124,11 @@
...
@@ -117,10 +124,11 @@
},
},
getCountByDay
()
{
getCountByDay
()
{
const
params
=
{
const
params
=
{
startTimestamp
:
new
Date
(
this
.
workbenchAdminDate
).
getTime
(),
startTimestamp
:
new
Date
(
this
.
workbenchAdminDate
).
getTime
(),
endTimestamp
:
new
Date
(
this
.
workbenchAdminDate
).
getTime
()
+
86400
*
1000
endTimestamp
:
new
Date
(
this
.
workbenchAdminDate
).
getTime
()
+
86400
*
1000
,
};
};
getCountByDay
(
params
).
then
(
res
=>
{
getCountByDay
(
params
).
then
(
(
res
)
=>
{
if
(
res
.
code
==
'000000'
)
{
if
(
res
.
code
==
'000000'
)
{
this
.
callDoctorNum
=
res
.
data
;
this
.
callDoctorNum
=
res
.
data
;
}
}
...
@@ -128,10 +136,11 @@
...
@@ -128,10 +136,11 @@
},
},
lateCountByDay
()
{
lateCountByDay
()
{
const
params
=
{
const
params
=
{
startTimestamp
:
new
Date
(
this
.
workbenchAdminDate
).
getTime
(),
startTimestamp
:
new
Date
(
this
.
workbenchAdminDate
).
getTime
(),
endTimestamp
:
new
Date
(
this
.
workbenchAdminDate
).
getTime
()
+
86400
*
1000
endTimestamp
:
new
Date
(
this
.
workbenchAdminDate
).
getTime
()
+
86400
*
1000
,
};
};
lateCountByDay
(
params
).
then
(
res
=>
{
lateCountByDay
(
params
).
then
(
(
res
)
=>
{
if
(
res
.
code
==
'000000'
)
{
if
(
res
.
code
==
'000000'
)
{
this
.
doctorLaterNum
=
res
.
data
;
this
.
doctorLaterNum
=
res
.
data
;
}
}
...
@@ -155,38 +164,38 @@
...
@@ -155,38 +164,38 @@
border-radius
:
7px
;
border-radius
:
7px
;
border
:
1px
solid
#d9d9d9
;
border
:
1px
solid
#d9d9d9
;
}
}
.row-col-show
{
.row-col-show
{
.el-col-12
{
.el-col-12
{
.right
{
.right
{
display
:
flex
;
display
:
flex
;
width
:
70%
;
width
:
70%
;
align-items
:
center
;
align-items
:
center
;
justify-content
:
space-around
;
justify-content
:
space-around
;
.totalNumShow
{
.totalNumShow
{
font-size
:
16px
;
font-size
:
16px
;
font-family
:
PingFangSC-Regular
,
PingFang
SC
;
font-family
:
PingFangSC-Regular
,
PingFang
SC
;
font-weight
:
400
;
font-weight
:
400
;
color
:
#212121
;
color
:
#212121
;
}
}
.callDoctorShow
{
.callDoctorShow
{
font-size
:
14px
;
font-size
:
14px
;
font-family
:
PingFangSC-Regular
,
PingFang
SC
;
font-family
:
PingFangSC-Regular
,
PingFang
SC
;
font-weight
:
400
;
font-weight
:
400
;
color
:
#666666
;
color
:
#666666
;
}
}
.callDoctorNum
{
.callDoctorNum
{
font-size
:
24px
;
font-size
:
24px
;
font-family
:
PingFangSC-Medium
,
PingFang
SC
;
font-family
:
PingFangSC-Medium
,
PingFang
SC
;
font-weight
:
500
;
font-weight
:
500
;
color
:
#212121
;
color
:
#212121
;
}
}
.laterDoctorShow
{
.laterDoctorShow
{
font-size
:
14px
;
font-size
:
14px
;
font-family
:
PingFangSC-Regular
,
PingFang
SC
;
font-family
:
PingFangSC-Regular
,
PingFang
SC
;
font-weight
:
400
;
font-weight
:
400
;
color
:
#666666
;
color
:
#666666
;
}
}
.laterDoctorNum
{
.laterDoctorNum
{
font-size
:
24px
;
font-size
:
24px
;
font-family
:
PingFangSC-Medium
,
PingFang
SC
;
font-family
:
PingFangSC-Medium
,
PingFang
SC
;
font-weight
:
500
;
font-weight
:
500
;
...
...
src/views/IM/diagnosis-admin/operation.vue
浏览文件 @
a3a478ec
...
@@ -48,7 +48,10 @@
...
@@ -48,7 +48,10 @@
<p>
将永久删除名下
</p>
<p>
将永久删除名下
</p>
<p>
所有的科室及上级医生
</p>
<p>
所有的科室及上级医生
</p>
</div>
</div>
<div
class=
"work-info-botton"
style=
"text-align: center"
>
<div
class=
"work-info-botton"
style=
"text-align: center"
>
<span
<span
slot=
"footer"
slot=
"footer"
class=
"dialog-footer"
class=
"dialog-footer"
...
@@ -70,11 +73,7 @@
...
@@ -70,11 +73,7 @@
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
{
import
{
setDiagnoseMatch
,
operatorQuery
,
sumbitMatch
}
from
'@/api/operation'
;
setDiagnoseMatch
,
operatorQuery
,
sumbitMatch
}
from
'@/api/operation'
;
import
{
doctorListRest
}
from
'@/api/workbench'
;
import
{
doctorListRest
}
from
'@/api/workbench'
;
import
_
from
'lodash'
;
import
_
from
'lodash'
;
export
default
{
export
default
{
...
@@ -82,9 +81,9 @@
...
@@ -82,9 +81,9 @@
return
{
return
{
checklist
:
[],
checklist
:
[],
adminList
:
[],
adminList
:
[],
showIsReset
:
false
,
showIsReset
:
false
,
operateId
:
''
,
operateId
:
''
,
oldCheckList
:[],
oldCheckList
:
[],
};
};
},
},
mounted
()
{
mounted
()
{
...
@@ -150,19 +149,19 @@
...
@@ -150,19 +149,19 @@
this
.
cancelList
=
_
.
difference
(
this
.
oldCheckList
,
this
.
checklist
);
this
.
cancelList
=
_
.
difference
(
this
.
oldCheckList
,
this
.
checklist
);
if
(
this
.
cancelList
.
length
>
0
)
{
if
(
this
.
cancelList
.
length
>
0
)
{
this
.
showIsReset
=
true
;
this
.
showIsReset
=
true
;
}
else
{
}
else
{
this
.
sumbitmatch
();
this
.
sumbitmatch
();
}
}
},
},
confirmResert
()
{
confirmResert
()
{
const
uidList
=
this
.
cancelList
||
[];
const
uidList
=
this
.
cancelList
||
[];
doctorListRest
(
uidList
).
then
(
res
=>
{
doctorListRest
(
uidList
).
then
(
(
res
)
=>
{
if
(
res
.
code
==
'000000'
)
{
if
(
res
.
code
==
'000000'
)
{
this
.
showIsReset
=
false
;
this
.
showIsReset
=
false
;
this
.
sumbitmatch
();
this
.
sumbitmatch
();
}
}
});
});
}
}
,
},
},
};
};
</
script
>
</
script
>
...
@@ -199,13 +198,13 @@
...
@@ -199,13 +198,13 @@
align-items
:
center
;
align-items
:
center
;
}
}
}
}
.show-info-title
{
.show-info-title
{
text-align
:
center
;
text-align
:
center
;
padding
:
30px
;
padding
:
30px
;
font-size
:
18px
;
font-size
:
18px
;
font-family
:
PingFangSC-Medium
,
PingFang
SC
;
font-family
:
PingFangSC-Medium
,
PingFang
SC
;
font-weight
:
500
;
font-weight
:
500
;
color
:
#02120
F
;
color
:
#02120
f
;
}
}
.dialog-footer
{
.dialog-footer
{
.contest
{
.contest
{
...
...
src/views/IM/diagnosis-admin/workbench-new.vue
浏览文件 @
a3a478ec
...
@@ -20,8 +20,7 @@
...
@@ -20,8 +20,7 @@
</el-radio-button>
</el-radio-button>
</el-radio-group>
</el-radio-group>
</div>
</div>
<div
<div
class=
"workbench-content"
>
class=
"workbench-content"
>
<div
<div
v-if=
"tabPositionValue == 3"
v-if=
"tabPositionValue == 3"
class=
"workbench-li-depar"
class=
"workbench-li-depar"
...
@@ -33,23 +32,30 @@
...
@@ -33,23 +32,30 @@
@
getDepartlist=
"getDepartlist"
@
getDepartlist=
"getDepartlist"
/>
/>
</div>
</div>
<div
class=
"depart-footer"
style=
"text-align: right"
>
<div
<el-button
class=
"rest-depar"
@
click=
"restDepartList"
>
重置所有科室
</el-button>
class=
"depart-footer"
style=
"text-align: right"
>
<el-button
class=
"rest-depar"
@
click=
"restDepartList"
>
重置所有科室
</el-button>
<el-button
<el-button
type=
"primary"
type=
"primary"
class=
"con-depar"
class=
"con-depar"
@
click=
"confirmDoctorList"
@
click=
"confirmDoctorList"
>
确定
</el-button>
>
确定
</el-button>
</div>
</div>
</div>
</div>
<div
<div
v-else
v-else
class=
"workbench-content"
class=
"workbench-content"
>
>
<div
<div
class=
"workbench-li-c"
>
v-if=
"currentDiagList"
class=
"workbench-li-c"
>
<div
class=
"workbench-title"
>
<div
class=
"workbench-title"
>
<div
class=
"searh-input"
>
<div
class=
"searh-input"
>
<el-input
<el-input
...
@@ -57,7 +63,7 @@
...
@@ -57,7 +63,7 @@
placeholder=
"输入问诊单号/医生姓名"
placeholder=
"输入问诊单号/医生姓名"
class=
"input-with-select"
class=
"input-with-select"
@
change=
"getSerachValue"
@
change=
"getSerachValue"
>
/
>
<el-button
<el-button
slot=
"append"
slot=
"append"
class=
"search-botton"
class=
"search-botton"
...
@@ -65,12 +71,18 @@
...
@@ -65,12 +71,18 @@
>
>
搜索
搜索
</el-button>
</el-button>
</el-input>
<el-button
slot=
"append"
class=
"reset-botton"
@
click=
"resetSearchValue"
>
重置
</el-button>
</div>
</div>
</div>
</div>
<!-- 问诊状态内容 -->
<!-- 问诊状态内容 -->
<div
<div
v-if=
"
isShowCardData
"
v-if=
"
currentDiagList.length
"
class=
"grid-c"
class=
"grid-c"
>
>
<div
<div
...
@@ -78,7 +90,6 @@
...
@@ -78,7 +90,6 @@
:key=
"index"
:key=
"index"
class=
"workbench-li"
class=
"workbench-li"
>
>
{{
item
.
diagnoseLogId
}}
<!-- key 动态随机无意义 促发组件数据更新 -->
<!-- key 动态随机无意义 促发组件数据更新 -->
<consultation-card
<consultation-card
:key=
"item.definitionRandom"
:key=
"item.definitionRandom"
...
@@ -87,21 +98,21 @@
...
@@ -87,21 +98,21 @@
/>
/>
</div>
</div>
</div>
</div>
</div>
<div
</div>
</div>
<!--
<div
v-else
v-else
class=
"nodata-container"
class=
"nodata-container"
>
>
<img
<img
src=
"../../..
/assets/image/workbench/no_data_wz.png"
src=
"@
/assets/image/workbench/no_data_wz.png"
alt=
""
alt=
""
>
>
<div
class=
"nodata-title"
>
<div
class=
"nodata-title"
>
暂时没有问诊
暂时没有问诊
</div>
</div>
</div>
-->
</div>
</div>
</div>
</div>
<el-dialog
<el-dialog
:visible
.
sync=
"showIsReset"
:visible
.
sync=
"showIsReset"
width=
"30%"
width=
"30%"
...
@@ -110,7 +121,10 @@
...
@@ -110,7 +121,10 @@
<p>
将永久删除名下
</p>
<p>
将永久删除名下
</p>
<p>
所有的科室及上级医生
</p>
<p>
所有的科室及上级医生
</p>
</div>
</div>
<div
class=
"work-info-botton"
style=
"text-align: center"
>
<div
class=
"work-info-botton"
style=
"text-align: center"
>
<span
<span
slot=
"footer"
slot=
"footer"
class=
"dialog-footer"
class=
"dialog-footer"
...
@@ -139,12 +153,12 @@
...
@@ -139,12 +153,12 @@
import
DepartmentDoctor
from
'../../../components/common/department-doctor.vue'
;
import
DepartmentDoctor
from
'../../../components/common/department-doctor.vue'
;
import
{
conditionNewList
}
from
'@/api/workbench'
;
import
{
conditionNewList
}
from
'@/api/workbench'
;
import
{
doctorListAnd
,
doctorListRest
}
from
'@/api/workbench'
;
import
{
doctorListAnd
,
doctorListRest
}
from
'@/api/workbench'
;
import
{
doctorDeparList
}
from
'@/api/diagnosis'
;
import
{
doctorDeparList
}
from
'@/api/diagnosis'
;
import
_
from
'lodash'
;
import
_
from
'lodash'
;
export
default
{
export
default
{
components
:
{
components
:
{
consultationCard
,
consultationCard
,
DepartmentDoctor
DepartmentDoctor
,
},
},
data
()
{
data
()
{
return
{
return
{
...
@@ -205,8 +219,10 @@
...
@@ -205,8 +219,10 @@
userInfo
:
null
,
userInfo
:
null
,
timer
:
null
,
timer
:
null
,
currentDiagList
:
[],
// 卡片列表数据
currentDiagList
:
[],
// 卡片列表数据
midCardData
:
[],
mockData
:
[
mockData
:
[
{
{
doctorLastCallTime
:
'2021-12-02 19:58:01'
,
adviceStatus
:
2
,
adviceStatus
:
2
,
appointBeginTime
:
'2021-12-02 18:00:00'
,
appointBeginTime
:
'2021-12-02 18:00:00'
,
appointEndTime
:
'2021-12-02 19:00:00'
,
appointEndTime
:
'2021-12-02 19:00:00'
,
...
@@ -231,6 +247,7 @@
...
@@ -231,6 +247,7 @@
sort
:
null
,
sort
:
null
,
status
:
null
,
status
:
null
,
userCallKfStatus
:
2
,
userCallKfStatus
:
2
,
doctorOnlineStatus
:
2
,
userCallStatus
:
1
,
userCallStatus
:
1
,
userCallTime
:
null
,
userCallTime
:
null
,
userId
:
1006276934
,
userId
:
1006276934
,
...
@@ -238,9 +255,12 @@
...
@@ -238,9 +255,12 @@
'https://test-file.yunqueyi.com//image/png/2019/04/08/20190408101124702-0db0bcea.png'
,
'https://test-file.yunqueyi.com//image/png/2019/04/08/20190408101124702-0db0bcea.png'
,
userMobile
:
'13817741327'
,
userMobile
:
'13817741327'
,
userName
:
'郑志猛'
,
userName
:
'郑志猛'
,
user
TrtcEntry
Status
:
2
,
user
Online
Status
:
2
,
},
},
{
{
userLastCallTime
:
''
,
doctorLastCallTime
:
'2021-12-02 20:05:01'
,
doctorOnlineStatus
:
3
,
adviceStatus
:
2
,
adviceStatus
:
2
,
appointBeginTime
:
'2021-12-02 20:00:00'
,
appointBeginTime
:
'2021-12-02 20:00:00'
,
appointEndTime
:
'2021-12-02 21:00:00'
,
appointEndTime
:
'2021-12-02 21:00:00'
,
...
@@ -272,17 +292,54 @@
...
@@ -272,17 +292,54 @@
'https://test-file.yunqueyi.com//image/png/2019/04/08/20190408101124702-0db0bcea.png'
,
'https://test-file.yunqueyi.com//image/png/2019/04/08/20190408101124702-0db0bcea.png'
,
userMobile
:
'13817741327'
,
userMobile
:
'13817741327'
,
userName
:
'郑志猛'
,
userName
:
'郑志猛'
,
userTrtcEntryStatus
:
2
,
userOnlineStatus
:
3
,
},
{
userLastCallTime
:
''
,
doctorLastCallTime
:
'2021-12-02 20:05:01'
,
doctorOnlineStatus
:
3
,
adviceStatus
:
2
,
appointBeginTime
:
'2021-12-02 20:00:00'
,
appointEndTime
:
'2021-12-02 21:00:00'
,
department
:
'呼吸内科'
,
departmentId
:
12
,
diagnoseLogId
:
3826
,
diagnoseType
:
1
,
doctorCallKfStatus
:
2
,
doctorCallStatus
:
1
,
doctorCallTime
:
null
,
doctorId
:
1006276946
,
doctorImageUrl
:
'https://test-file.yunqueyi.com//image/png/2019/04/08/20190408101124702-0db0bcea.png'
,
doctorMobile
:
'15821297620'
,
doctorName
:
'朱建波'
,
doctorTrtcEntryStatus
:
2
,
imStatus
:
1
,
imTeamId
:
'3942066774'
,
operateUserId
:
221
,
returnStatus
:
2
,
roomId
:
'520001207'
,
sort
:
null
,
status
:
null
,
userCallKfStatus
:
2
,
userCallStatus
:
1
,
userCallTime
:
null
,
userId
:
1006276934
,
userImageUrl
:
'https://test-file.yunqueyi.com//image/png/2019/04/08/20190408101124702-0db0bcea.png'
,
userMobile
:
'13817741327'
,
userName
:
'郑志猛'
,
userOnlineStatus
:
3
,
},
},
],
],
departDoctorList
:[],
departDoctorList
:
[],
newCheckList
:[],
newCheckList
:
[],
cancelCheckList
:[],
cancelCheckList
:
[],
checkDoctorIdList
:[],
checkDoctorIdList
:
[],
activeMoutendName
:
''
,
activeMoutendName
:
''
,
operatId
:
''
,
operatId
:
''
,
showIsReset
:
false
localUserId
:
''
,
showIsReset
:
false
,
};
};
},
},
computed
:
{
computed
:
{
...
@@ -298,28 +355,18 @@
...
@@ -298,28 +355,18 @@
this
.
tabPositionValue
=
this
.
$route
.
query
.
type
||
'3'
;
this
.
tabPositionValue
=
this
.
$route
.
query
.
type
||
'3'
;
},
},
mounted
()
{
mounted
()
{
const
s
=
storejs
.
get
(
'soketQuest'
);
const
id
=
s
&&
s
.
operateUserId
?
s
.
operateUserId
:
this
.
isSuperAdmin
.
userID
;
this
.
operateUserId
=
id
;
this
.
userInfo
=
storejs
.
get
(
'initSocketInfo'
);
this
.
userInfo
=
storejs
.
get
(
'initSocketInfo'
);
console
.
log
(
this
.
localUserId
=
this
.
userInfo
.
userId
;
this
.
userInfo
.
userId
,
'userInfouserInfo'
,
this
.
tabPositionValue
);
this
.
initCard
();
this
.
initCard
();
const
that
=
this
;
const
that
=
this
;
// if(this.tabPositionValue != 3) {
// 轮循
// 轮循
this
.
timer
=
window
.
setInterval
(()
=>
{
this
.
timer
=
window
.
setInterval
(()
=>
{
setTimeout
(()
=>
{
setTimeout
(()
=>
{
// that.isShowCardData = false;
// that.isShowCardData = false;
that
.
initCard
();
that
.
initCard
();
},
0
);
},
0
);
},
4
000
);
},
15
000
);
this
.
doctorDeparList
();
this
.
doctorDeparList
();
// }
},
},
destroyed
()
{
destroyed
()
{
window
.
clearInterval
(
this
.
timer
);
window
.
clearInterval
(
this
.
timer
);
...
@@ -327,13 +374,15 @@
...
@@ -327,13 +374,15 @@
methods
:
{
methods
:
{
doctorDeparList
()
{
doctorDeparList
()
{
const
param
=
{
const
param
=
{
uid
:
this
.
operatId
||
this
.
userInfo
.
userId
,
uid
:
this
.
operatId
||
this
.
userInfo
.
userId
,
};
};
doctorDeparList
(
param
).
then
(
res
=>
{
doctorDeparList
(
param
).
then
(
(
res
)
=>
{
if
(
res
.
code
==
'000000'
)
{
if
(
res
.
code
==
'000000'
)
{
this
.
checkDoctorIdList
=
res
.
data
.
checkDoctorIdList
||
[];
this
.
checkDoctorIdList
=
res
.
data
.
checkDoctorIdList
||
[];
this
.
departDoctorList
=
res
.
data
.
diagnoseOperateDepartmentRespList
||
[];
this
.
departDoctorList
=
this
.
activeMoutendName
=
(
res
.
data
.
diagnoseOperateDepartmentRespList
||
[])[
0
].
departmentId
;
res
.
data
.
diagnoseOperateDepartmentRespList
||
[];
this
.
activeMoutendName
=
(
res
.
data
.
diagnoseOperateDepartmentRespList
||
[])[
0
].
departmentId
;
}
}
});
});
},
},
...
@@ -344,8 +393,12 @@
...
@@ -344,8 +393,12 @@
this
.
showIsReset
=
false
;
this
.
showIsReset
=
false
;
},
},
confirmResert
()
{
confirmResert
()
{
const
uidList
=
this
.
operatId
?
[
this
.
operatId
]
:
[]
||
this
.
userInfo
.
userId
?
[
this
.
userInfo
.
userId
]
:
[];
const
uidList
=
this
.
operatId
doctorListRest
(
uidList
).
then
(
res
=>
{
?
[
this
.
operatId
]
:
[]
||
this
.
userInfo
.
userId
?
[
this
.
userInfo
.
userId
]
:
[];
doctorListRest
(
uidList
).
then
((
res
)
=>
{
if
(
res
.
code
==
'000000'
)
{
if
(
res
.
code
==
'000000'
)
{
this
.
showIsReset
=
false
;
this
.
showIsReset
=
false
;
this
.
$message
({
this
.
$message
({
...
@@ -357,7 +410,7 @@
...
@@ -357,7 +410,7 @@
});
});
},
},
getDepartlist
(
allCheckList
)
{
getDepartlist
(
allCheckList
)
{
const
checkAllList
=
allCheckList
.
map
(
item
=>
{
const
checkAllList
=
allCheckList
.
map
(
(
item
)
=>
{
return
item
.
checkDoctorIdListByDepartment
;
return
item
.
checkDoctorIdListByDepartment
;
});
});
const
checkListFlat
=
checkAllList
.
flat
(
Infinity
);
const
checkListFlat
=
checkAllList
.
flat
(
Infinity
);
...
@@ -365,31 +418,43 @@
...
@@ -365,31 +418,43 @@
const
cancelList
=
_
.
difference
(
this
.
checkDoctorIdList
,
checkListFlat
);
const
cancelList
=
_
.
difference
(
this
.
checkDoctorIdList
,
checkListFlat
);
// 新增的医生ID list
// 新增的医生ID list
const
newCkList
=
_
.
difference
(
checkListFlat
,
this
.
checkDoctorIdList
);
const
newCkList
=
_
.
difference
(
checkListFlat
,
this
.
checkDoctorIdList
);
const
checkAllDoctorList
=
allCheckList
.
map
(
item
=>
{
const
checkAllDoctorList
=
allCheckList
.
map
(
(
item
)
=>
{
return
item
.
diagnoseOperateDoctorRespList
;
return
item
.
diagnoseOperateDoctorRespList
;
});
});
const
checkAllDoctorListFlat
=
checkAllDoctorList
.
flat
(
Infinity
);
const
checkAllDoctorListFlat
=
checkAllDoctorList
.
flat
(
Infinity
);
this
.
newCheckList
=
newCkList
.
map
(
item
=>
checkAllDoctorListFlat
.
find
(
itemChild
=>
itemChild
.
doctorId
===
item
)).
filter
(
item
=>
item
);
this
.
newCheckList
=
newCkList
this
.
cancelCheckList
=
cancelList
.
map
(
item
=>
checkAllDoctorListFlat
.
find
(
itemChild
=>
itemChild
.
doctorId
===
item
)).
filter
(
item
=>
item
);
.
map
((
item
)
=>
checkAllDoctorListFlat
.
find
(
(
itemChild
)
=>
itemChild
.
doctorId
===
item
)
)
.
filter
((
item
)
=>
item
);
this
.
cancelCheckList
=
cancelList
.
map
((
item
)
=>
checkAllDoctorListFlat
.
find
(
(
itemChild
)
=>
itemChild
.
doctorId
===
item
)
)
.
filter
((
item
)
=>
item
);
},
},
confirmDoctorList
()
{
confirmDoctorList
()
{
const
userInfo
=
storejs
.
get
(
'initSocketInfo'
);
const
userInfo
=
storejs
.
get
(
'initSocketInfo'
);
const
{
userName
}
=
userInfo
;
const
{
userName
}
=
userInfo
;
const
params
=
{
const
params
=
{
cancelDoctorIdList
:
this
.
cancelCheckList
||
[],
cancelDoctorIdList
:
this
.
cancelCheckList
||
[],
insertDoctorIdList
:
this
.
newCheckList
||
[],
insertDoctorIdList
:
this
.
newCheckList
||
[],
operateUserId
:
this
.
operatId
||
this
.
userInfo
.
userId
,
operateUserId
:
this
.
operatId
||
this
.
userInfo
.
userId
,
operateUserName
:
userName
operateUserName
:
userName
,
};
};
doctorListAnd
(
params
).
then
(
res
=>
{
doctorListAnd
(
params
).
then
(
(
res
)
=>
{
if
(
res
.
code
==
'000000'
)
{
if
(
res
.
code
==
'000000'
)
{
if
(
res
.
data
.
length
>
0
)
{
if
(
res
.
data
.
length
>
0
)
{
const
totallistShow
=
res
.
data
.
join
(
','
);
const
totallistShow
=
res
.
data
.
join
(
','
);
this
.
$message
({
this
.
$message
({
message
:
`医生为
${
totallistShow
}
已被其他运营分配`
,
message
:
`医生为
${
totallistShow
}
已被其他运营分配`
,
type
:
'warning'
type
:
'warning'
,
});
});
}
else
{
}
else
{
this
.
$message
({
this
.
$message
({
message
:
'保存成功'
,
message
:
'保存成功'
,
type
:
'success'
,
type
:
'success'
,
...
@@ -399,7 +464,6 @@
...
@@ -399,7 +464,6 @@
}
}
});
});
},
},
initCard
()
{
initCard
()
{
const
parms
=
{
const
parms
=
{
bizType
:
this
.
tabPositionValue
,
// 1,异常的列表 2,不需要处理的列表
bizType
:
this
.
tabPositionValue
,
// 1,异常的列表 2,不需要处理的列表
...
@@ -409,7 +473,8 @@
...
@@ -409,7 +473,8 @@
conditionNewList
(
parms
)
conditionNewList
(
parms
)
.
then
((
res
)
=>
{
.
then
((
res
)
=>
{
if
(
res
.
code
===
'000000'
)
{
if
(
res
.
code
===
'000000'
)
{
this
.
handleData
(
res
.
data
.
length
>
0
?
res
.
data
:
this
.
mockData
);
this
.
handleData
(
res
.
data
);
// this.handleData(res.data.length > 0 ? res.data : this.mockData);
}
else
{
}
else
{
this
.
$message
({
this
.
$message
({
message
:
res
.
message
,
message
:
res
.
message
,
...
@@ -421,22 +486,29 @@
...
@@ -421,22 +486,29 @@
.
catch
((
err
)
=>
{
.
catch
((
err
)
=>
{
console
.
log
(
err
);
console
.
log
(
err
);
// mock 数据
// mock 数据
this
.
handleData
(
this
.
mockData
);
//
this.handleData(this.mockData);
});
});
},
},
handleData
(
data
)
{
handleData
(
data
)
{
this
.
currentDiagList
=
[];
this
.
currentDiagList
=
[];
this
.
midCardData
=
[];
const
searchVal
=
this
.
orderOrName
;
data
.
forEach
((
item
,
index
)
=>
{
data
.
forEach
((
item
,
index
)
=>
{
item
.
diagnoseLogId
=
'--'
+
Math
.
random
()
*
10
;
item
[
'definitionRandom'
]
=
Math
.
random
()
*
10
;
item
[
'definitionRandom'
]
=
Math
.
random
()
*
10
;
this
.
$set
(
this
.
currentDiagList
,
index
,
item
);
if
(
searchVal
)
{
// 如果有查询条件一直后去的是查询结果
if
(
item
.
diagnoseLogId
==
searchVal
||
item
.
doctorName
==
searchVal
)
{
this
.
currentDiagList
.
push
(
item
);
}
}
else
{
this
.
currentDiagList
.
push
(
item
);
}
this
.
$set
(
this
.
midCardData
,
index
,
item
);
});
});
this
.
isShowCardData
=
true
;
this
.
isShowCardData
=
true
;
// this.$nextTick(() => {
// });
},
},
getSerachValue
(
value
)
{
getSerachValue
(
value
)
{
this
.
orderOrName
=
value
;
this
.
orderOrName
=
value
.
trim
()
;
},
},
getSearchValue
()
{
getSearchValue
()
{
if
(
!
this
.
orderOrName
)
{
if
(
!
this
.
orderOrName
)
{
...
@@ -446,8 +518,35 @@
...
@@ -446,8 +518,35 @@
duration
:
1000
,
duration
:
1000
,
});
});
}
else
{
}
else
{
// 前端根据现在数据筛选结果
this
.
handleSearchResult
(
this
.
orderOrName
);
}
},
resetSearchValue
()
{
this
.
orderOrName
=
''
;
this
.
initCard
();
this
.
initCard
();
},
// 处理查询结果
handleSearchResult
(
searchVal
)
{
this
.
isShowCardData
=
false
;
this
.
currentDiagList
=
[];
console
.
log
(
this
.
midCardData
,
searchVal
);
this
.
midCardData
.
forEach
((
item
)
=>
{
console
.
log
(
searchVal
,
item
.
diagnoseLogId
,
'item.diagnoseLogId'
,
item
.
doctorName
==
searchVal
,
item
.
doctorName
);
if
(
item
.
diagnoseLogId
==
searchVal
||
item
.
doctorName
==
searchVal
)
{
console
.
log
(
11111111
,
item
.
definitionRandom
);
item
.
definitionRandom
=
Math
.
random
()
*
10
;
this
.
currentDiagList
.
push
(
item
);
}
}
});
console
.
log
(
this
.
currentDiagList
,
'00000'
);
this
.
isShowCardData
=
true
;
},
},
tabChange
(
val
)
{
tabChange
(
val
)
{
this
.
tabPositionValue
=
val
;
this
.
tabPositionValue
=
val
;
...
@@ -558,10 +657,16 @@
...
@@ -558,10 +657,16 @@
margin-left
:
8px
;
margin-left
:
8px
;
.el-input
{
.el-input
{
width
:
364px
;
width
:
364px
;
}
.search-botton
{
.search-botton
{
background
:
#0d9078
;
background
:
#0d9078
;
color
:
#fff
;
color
:
#fff
;
margin-left
:
5px
;
}
}
.reset-botton
{
background
:
#0d9078
;
color
:
#fff
;
margin-left
:
5px
;
}
}
}
}
}
}
...
@@ -571,7 +676,6 @@
...
@@ -571,7 +676,6 @@
display
:
grid
;
display
:
grid
;
grid-template-columns
:
auto
auto
auto
;
grid-template-columns
:
auto
auto
auto
;
grid-template-rows
:
auto
auto
auto
;
grid-template-rows
:
auto
auto
auto
;
//grid-template-columns: 32% 32% 32%;
//grid-row-gap: 2%;
//grid-row-gap: 2%;
grid-column-gap
:
10px
;
grid-column-gap
:
10px
;
padding
:
0px
7px
;
padding
:
0px
7px
;
...
@@ -614,7 +718,7 @@
...
@@ -614,7 +718,7 @@
margin-top
:
10px
;
margin-top
:
10px
;
padding
:
0
20px
;
padding
:
0
20px
;
}
}
.workbench-li-depar
{
.workbench-li-depar
{
padding
:
20px
10px
;
padding
:
20px
10px
;
width
:
100%
;
width
:
100%
;
.grid-c
{
.grid-c
{
...
@@ -623,25 +727,26 @@
...
@@ -623,25 +727,26 @@
padding
:
25px
30px
;
padding
:
25px
30px
;
background
:
#fff
;
background
:
#fff
;
border-radius
:
10px
;
border-radius
:
10px
;
.el-checkbox-group
{
overflow-y
:
auto
;
.el-checkbox
{
.el-checkbox-group
{
.el-checkbox
{
width
:
20%
;
width
:
20%
;
padding
:
8px
;
padding
:
8px
;
}
}
}
}
.search-botton
{
.search-botton
{
display
:
flex
;
display
:
flex
;
justify-content
:
flex-end
;
justify-content
:
flex-end
;
margin-right
:
150px
;
margin-right
:
150px
;
.el-button
{
.el-button
{
width
:
180px
;
width
:
180px
;
height
:
40px
;
height
:
40px
;
background
:
#0
D
9078
;
background
:
#0
d
9078
;
border-radius
:
20px
;
border-radius
:
20px
;
font-size
:
14px
;
font-size
:
14px
;
font-family
:
PingFangSC-Regular
,
PingFang
SC
;
font-family
:
PingFangSC-Regular
,
PingFang
SC
;
font-weight
:
400
;
font-weight
:
400
;
color
:
#
FFFFFF
;
color
:
#
ffffff
;
}
}
}
}
.workbench-li
{
.workbench-li
{
...
@@ -650,22 +755,22 @@
...
@@ -650,22 +755,22 @@
}
}
}
}
}
}
.depart-footer
{
.depart-footer
{
margin-top
:
20px
;
margin-top
:
20px
;
.rest-depar
{
.rest-depar
{
min-width
:
160px
;
min-width
:
160px
;
height
:
40px
;
height
:
40px
;
border-radius
:
20px
;
border-radius
:
20px
;
border
:
1px
solid
#0D
9078
;
border
:
1px
solid
#0d
9078
;
font-size
:
14px
;
font-size
:
14px
;
font-family
:
PingFangSC-Regular
,
PingFang
SC
;
font-family
:
PingFangSC-Regular
,
PingFang
SC
;
font-weight
:
400
;
font-weight
:
400
;
color
:
#0D
9078
;
color
:
#0d
9078
;
}
}
.con-depar
{
.con-depar
{
min-width
:
160px
;
min-width
:
160px
;
height
:
40px
;
height
:
40px
;
background
:
#0D
9078
;
background
:
#0d
9078
;
border-radius
:
20px
;
border-radius
:
20px
;
}
}
}
}
...
@@ -694,13 +799,13 @@
...
@@ -694,13 +799,13 @@
margin-top
:
50px
;
margin-top
:
50px
;
}
}
}
}
.show-info-title
{
.show-info-title
{
text-align
:
center
;
text-align
:
center
;
padding
:
30px
;
padding
:
30px
;
font-size
:
18px
;
font-size
:
18px
;
font-family
:
PingFangSC-Medium
,
PingFang
SC
;
font-family
:
PingFangSC-Medium
,
PingFang
SC
;
font-weight
:
500
;
font-weight
:
500
;
color
:
#02120
F
;
color
:
#02120
f
;
}
}
.dialog-footer
{
.dialog-footer
{
.contest
{
.contest
{
...
@@ -743,16 +848,4 @@
...
@@ -743,16 +848,4 @@
padding
:
10px
0
;
padding
:
10px
0
;
background-color
:
#f9fafc
;
background-color
:
#f9fafc
;
}
}
// 屏幕适配
@media
screen
and
(
min-width
:
1240px
)
and
(
max-width
:
1441px
)
{
.workbench-container
{
.workbench-li-c
{
.grid-c
{
.workbench-li
{
//max-width: 572px;
}
}
}
}
}
</
style
>
</
style
>
src/views/layout/components/slidebar.vue
浏览文件 @
a3a478ec
...
@@ -82,7 +82,11 @@
...
@@ -82,7 +82,11 @@
userID
:
userId
,
userID
:
userId
,
};
};
const
u
=
this
.
getSocketUrl
(
BUILD_ENV
);
const
u
=
this
.
getSocketUrl
(
BUILD_ENV
);
storejs
.
set
(
'initSocketInfo'
,
{
url
:
u
,
userId
:
userId
,
userName
:
userName
});
storejs
.
set
(
'initSocketInfo'
,
{
url
:
u
,
userId
:
userId
,
userName
:
userName
,
});
this
.
$store
.
dispatch
(
'socket/initSocket'
,
{
url
:
u
,
userId
:
userId
});
this
.
$store
.
dispatch
(
'socket/initSocket'
,
{
url
:
u
,
userId
:
userId
});
vueMenuDtos
.
map
((
item
)
=>
{
vueMenuDtos
.
map
((
item
)
=>
{
if
(
item
.
index
.
indexOf
(
'administrators'
)
>
-
1
)
{
if
(
item
.
index
.
indexOf
(
'administrators'
)
>
-
1
)
{
...
@@ -181,8 +185,6 @@
...
@@ -181,8 +185,6 @@
color
:
#fff
;
color
:
#fff
;
background
:
#06232c
;
background
:
#06232c
;
}
}
}
}
}
}
</
style
>
</
style
>
vue.config.js
浏览文件 @
a3a478ec
...
@@ -71,7 +71,7 @@ module.exports = {
...
@@ -71,7 +71,7 @@ module.exports = {
port
:
8080
,
port
:
8080
,
proxy
:
{
proxy
:
{
'/proxy'
:
{
'/proxy'
:
{
target
:
'https://
test1
-sc.yunqueyi.com/'
,
target
:
'https://
dev
-sc.yunqueyi.com/'
,
ws
:
false
,
ws
:
false
,
changeOrigin
:
true
,
changeOrigin
:
true
,
secure
:
true
,
secure
:
true
,
...
...
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录