Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
P
pica-admin-consultation
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
Close sidebar
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
jingqi.liu
pica-admin-consultation
提交
643377fe
提交
643377fe
编写于
12月 02, 2021
作者:
xiaoping.di
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
大盘修改
上级
7de96d4e
变更
6
展开全部
显示空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
903 行增加
和
776 行删除
+903
-776
workbench.js
src/api/workbench.js
+39
-13
index.js
src/components/common/consultationCard/index.js
+320
-275
index.scss
src/components/common/consultationCard/index.scss
+294
-291
index.vue
src/components/common/consultationCard/index.vue
+67
-36
socket.js
src/store/modules/socket.js
+5
-0
workbench-new.vue
src/views/IM/diagnosis-admin/workbench-new.vue
+178
-161
未找到文件。
src/api/workbench.js
浏览文件 @
643377fe
import
request
from
'mn-template/plugins/http'
;
export
const
conditionUpdate
=
async
(
data
)
=>
{
export
const
conditionUpdate
=
async
(
data
)
=>
{
return
request
({
url
:
'/diagnose/socket/condition/update'
,
data
:
data
,
...
...
@@ -7,10 +7,36 @@ export const conditionUpdate = async(data) => {
});
};
export
const
conditionNewList
=
async
(
data
)
=>
{
// 轮循 获取卡边正常信息和异常信息
export
const
conditionNewList
=
async
(
data
)
=>
{
return
request
({
url
:
'/diagnose/admin/diagnose/operator/newList'
,
params
:
data
,
data
:
data
,
method
:
'post'
,
});
};
// 诊断建议
export
const
doctorAdviceList
=
async
(
data
)
=>
{
return
request
({
url
:
`/diagnose/admin/diagnose/doctorAdvice/list/
${
data
.
diagnoseLogId
}
`
,
method
:
'get'
,
});
};
// 手动呼叫
export
const
manualCall
=
async
(
data
)
=>
{
return
request
({
url
:
'/diagnose/admin/diagnose/manual/call'
,
data
:
data
,
method
:
'post'
,
});
};
// 查询当前上级医生下排队的信息
export
const
waitPersonNum
=
async
(
doctorId
)
=>
{
return
request
({
url
:
`/admin/diagnose/queueList/
${
doctorId
}
`
,
method
:
'post'
,
});
};
src/components/common/consultationCard/index.js
浏览文件 @
643377fe
import
{
teamDetail
,
callDirect
}
from
'@/api/diagnosis'
;
import
{
teamDetail
,
callDirect
,
waitPersonNum
,
doctorAdviceList
,
manualCall
,
}
from
'@/api/diagnosi
s'
;
import
{
createNamespacedHelpers
}
from
'vuex'
;
const
{
mapState
}
=
createNamespacedHelpers
(
'main'
);
export
default
{
}
from
'@/api/workbench.j
s'
;
import
{
createNamespacedHelpers
}
from
'vuex'
;
const
{
mapState
}
=
createNamespacedHelpers
(
'main'
);
export
default
{
props
:
{
item
:
{
type
:
Object
,
...
...
@@ -14,6 +14,16 @@ import {
return
{};
},
},
orderType
:
{
// 订单类型
type
:
String
,
default
:
''
,
},
key
:
{
// 订单类型
type
:
String
,
default
:
''
,
},
},
data
()
{
return
{
...
...
@@ -31,7 +41,7 @@ import {
isManuacall
:
false
,
isManuacallType
:
false
,
accId
:
''
,
mockData
:
[{},
{},
{}
],
waitPersonList
:
[
],
isShowWait
:
false
,
};
},
...
...
@@ -93,10 +103,18 @@ import {
}
},
appointBeginTime
()
{
if
(
this
.
item
.
appointBeginTime
)
{
return
new
Date
(
this
.
item
.
appointBeginTime
).
format
(
'hh:mm'
);
}
else
{
return
''
;
}
},
appointEndTime
()
{
if
(
this
.
item
.
appointEndTime
)
{
return
new
Date
(
this
.
item
.
appointEndTime
).
format
(
'hh:mm'
);
}
else
{
return
''
;
}
},
userCallTime
()
{
return
new
Date
(
this
.
item
.
userCallTime
).
format
(
'hh:mm'
);
...
...
@@ -140,6 +158,7 @@ import {
},
watch
:
{
item
(
newVal
,
oldVal
)
{
console
.
log
(
newVal
,
'newValnewValnewVal'
);
console
.
log
(
newVal
,
oldVal
,
'newVal, oldVal'
);
if
(
newVal
!==
oldVal
)
{
if
(
newVal
.
doctorTrtcEntryStatus
==
2
)
{
...
...
@@ -156,6 +175,9 @@ import {
}
}
},
key
(
newVal
,
oldVal
)
{
console
.
log
(
newVal
,
oldVal
);
},
},
created
()
{},
mounted
()
{
...
...
@@ -246,7 +268,6 @@ import {
down
()
{
this
.
timer
=
setInterval
(()
=>
{
const
nowData
=
new
Date
().
getTime
();
const
timeleft
=
this
.
item
.
appointBeginTime
-
nowData
;
if
(
timeleft
<
120000
&&
nowData
<
this
.
item
.
appointEndTime
)
{
this
.
isCall
=
true
;
...
...
@@ -344,7 +365,31 @@ import {
});
},
waitPersonFun
()
{
if
(
!
this
.
isShowWait
)
{
console
.
log
(
this
.
item
.
doctorId
,
'this.item.doctorId'
);
waitPersonNum
(
this
.
item
.
doctorId
)
.
then
((
res
)
=>
{
if
(
res
.
code
===
'000000'
)
{
this
.
waitPersonList
=
res
.
data
||
[];
}
else
{
this
.
$message
({
message
:
res
.
message
,
type
:
'warning'
,
duration
:
1000
,
});
}
this
.
isShowWait
=
!
this
.
isShowWait
;
})
.
catch
((
err
)
=>
{
console
.
log
(
err
);
this
.
isShowWait
=
!
this
.
isShowWait
;
this
.
$message
({
message
:
'服务查询失败'
,
type
:
'warning'
,
duration
:
1000
,
});
});
}
},
},
};
\ No newline at end of file
};
src/components/common/consultationCard/index.scss
浏览文件 @
643377fe
...
...
@@ -44,10 +44,10 @@
color
:
#ff5e57
;
}
}
.superior-doctor
{
.superior-doctor
{
width
:
49%
;
display
:
flex
;
justify-content
:
flex-start
;
justify-content
:
flex-start
;
align-items
:
flex-start
;
.inquiry-user-img
{
display
:
flex
;
...
...
@@ -139,17 +139,18 @@
}
}
}
.basic-doctor
{
.basic-doctor
{
width
:
49%
;
display
:flex
;
justify-content
:flex-start
;
.basic-user-img
,
.basic-user-info
{
padding-right
:
6px
;
.info-name-wrap
{
display
:flex
;
align-items
:center
;
justify-content
:space-between
;
.info-name
{
display
:
flex
;
justify-content
:
flex-start
;
.basic-user-img
,
.basic-user-info
{
padding-right
:
6px
;
.info-name-wrap
{
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
.info-name
{
max-width
:
85px
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
...
...
@@ -186,8 +187,10 @@
}
}
}
.no-info
{
.no-info
{
width
:
100%
;
height
:
auto
;
color
:
#ff5e57
;
}
.inquiry-user-status
{
width
:
100%
;
...
...
@@ -331,4 +334,4 @@
height
:
auto
;
display
:
flex
;
}
}
\ No newline at end of file
}
src/components/common/consultationCard/index.vue
浏览文件 @
643377fe
<
template
>
<div
class=
"inquiry-wrap"
>
<div
class=
"line"
>
<!--上级医生头信息 -->
<div
class=
"superior-doctor"
>
<div
class=
"inquiry-user-img"
>
<div
...
...
@@ -31,19 +32,8 @@
<li
class=
"info-phone"
>
{{
item
.
doctorMobile
}}
</li>
<li
v-if=
"item.doctorCallTime"
class=
"info-call-time"
>
{{
pastDoctorCallTime
}}
前呼叫
</li>
<li
v-if=
"doctorCallKfStatus == 1"
class=
"info-calling"
>
正在呼叫
</li>
<li
class=
"inquiry-user-status"
>
<!-- 只有-->
<span
:class=
"
doctorCallStatus === '已拨打完成'
...
...
@@ -51,12 +41,21 @@
: 'status-cll-user-answer'
"
>
{{
doctorCallStatus
}}
</span>
<span
v-if=
"doctorCallKfStatus == 1"
class=
"status-cll-user-answer"
>
正在呼叫
</span>
<span
v-else
class=
"status-cll-user-answer"
>
未呼叫
</span>
</li>
</ul>
</div>
</div>
<!-- 助诊医生 -->
<!-- 助诊医生
头信息
-->
<div
v-if=
"item.userId"
class=
"basic-doctor"
>
<ul
class=
"basic-user-img"
>
...
...
@@ -88,20 +87,11 @@
<div
class=
"info-phone"
>
{{
item
.
userMobile
}}
</div>
<div
v-if=
"item.userCallTime"
class=
"info-call-time"
>
{{
pastUserCallTime
}}
前呼叫
</div>
<div
v-if=
"userCallKfStatus == 1"
class=
"info-calling"
>
<img
:src=
"infocallImg"
alt=
""
>
呼叫中
</div>
</li>
<li
class=
"inquiry-user-status"
>
...
...
@@ -115,36 +105,72 @@
</li>
</ul>
</div>
<!-- 未开始接诊 或停止接诊-->
<div
class=
"no-info"
/>
<div
v-else
class=
"no-info"
>
<div
v-if=
"item.acceptStatus == 4"
class=
"doctor-late"
>
未开始接诊
</div>
<div
v-if=
"item.acceptStatus == 1"
class=
"doctor-stop"
>
暂停接诊
</div>
</div>
</div>
<!-- 预约时间,复制单号 -->
<div
class=
"line line-second"
>
<div
class=
"left"
>
<div>
预约时间
</div>
<div
class=
"time"
>
<div
v-if=
"appointBeginTime && appointEndTime"
class=
"time"
>
<span>
{{
appointBeginTime
}}
</span>
-
<span>
{{
appointEndTime
}}
</span>
</div>
<div
v-else
class=
"time"
>
无
</div>
</div>
<div
class=
"right"
>
<div>
问诊单号
</div>
<ul
class=
"orderno"
>
<li
class=
"num"
>
{{
item
.
diagnoseLogId
}}
{{
item
.
diagnoseLogId
||
'空'
}}
</li>
<li
class=
"copy"
>
<li
v-if=
"item.diagnoseLogId"
class=
"copy"
@
click=
"copyDiagnoseLogId"
>
复制
</li>
</ul>
</div>
</div>
<!-- 当前排队 -->
<div
class=
"line mt30 line-last"
>
<div
class=
"line-btn"
@
click=
"waitPersonFun"
>
<div>
当前排队5人
<i
class=
"el-icon-arrow-down el-icon--right"
/></div>
<div>
当前排队
{{
item
.
queueCount
||
'0'
}}
人
<i
class=
"el-icon-arrow-down el-icon--right"
/>
</div>
</div>
<div
class=
"line-btn line-btn-enter"
...
...
@@ -175,12 +201,14 @@
</div>
</div>
</div>
<!-- 排队详细 -->
<div
v-if=
"isShowWait"
class=
"line-position"
>
<ul
v-for=
"(
ele, index) in mockData
"
v-for=
"(
item, index) in waitPersonList
"
:key=
"index"
class=
"wait"
>
...
...
@@ -188,19 +216,22 @@
<div
class=
"header"
>
<img
:src=
"item.userImageUrl"
alt=
""
alt=
"
headImg
"
>
</div>
<div
class=
"name"
>
name
{{
item
.
userName
}}
</div>
<div
class=
"connect"
>
连接失败 2次
<div
v-if=
"item.failCount"
class=
"connect"
>
连接失败
{{
item
.
failCount
}}
次
</div>
</li>
<li
class=
"wait-info"
>
<div
class=
"order"
>
问诊单号
<span>
877654
</span>
问诊单号
<span>
{{
item
.
diagnoseLogId
||
'空'
}}
</span>
</div>
</li>
</ul>
...
...
@@ -212,5 +243,5 @@
export
default
index
;
</
script
>
<
style
lang=
"scss"
scoped
>
@import
"index"
;
@import
'index'
;
</
style
>
src/store/modules/socket.js
浏览文件 @
643377fe
...
...
@@ -55,6 +55,11 @@ const socket = {
}
});
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
();
...
...
src/views/IM/diagnosis-admin/workbench-new.vue
浏览文件 @
643377fe
此差异已折叠。
点击以展开。
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录