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
提交
2dcb1bbe
提交
2dcb1bbe
编写于
3月 31, 2021
作者:
huangwensu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
接口联调
上级
6437e05c
变更
5
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
136 行增加
和
43 行删除
+136
-43
router.js
src/router/router.js
+5
-1
filter.js
src/utils/filter.js
+5
-0
diagnosis-im.vue
src/views/IM/diagnosis-admin/diagnosis-im.vue
+3
-2
diagnosis-list.vue
src/views/IM/diagnosis-admin/diagnosis-list.vue
+112
-40
diagnosis-live.vue
src/views/IM/diagnosis-admin/diagnosis-live.vue
+11
-0
未找到文件。
src/router/router.js
浏览文件 @
2dcb1bbe
...
@@ -16,7 +16,8 @@ import App from '../App'
...
@@ -16,7 +16,8 @@ import App from '../App'
// 问诊订单管理
// 问诊订单管理
const
diagnosisList
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/IM/diagnosis-admin/diagnosis-list.vue'
)),
'diagnosisList'
)
const
diagnosisList
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/IM/diagnosis-admin/diagnosis-list.vue'
)),
'diagnosisList'
)
const
diagnosisIm
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/IM/diagnosis-admin/diagnosis-im.vue'
)),
'diagnosisIm'
)
const
diagnosisIm
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/IM/diagnosis-admin/diagnosis-im.vue'
)),
'diagnosisIm'
)
const
diagnosisLive
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/IM/diagnosis-admin/diagnosis-live.vue'
)),
'diagnosisLive'
)
export
default
[{
export
default
[{
path
:
'/'
,
path
:
'/'
,
...
@@ -31,6 +32,9 @@ export default [{
...
@@ -31,6 +32,9 @@ export default [{
},{
},{
path
:
'/diagnosis-im'
,
path
:
'/diagnosis-im'
,
component
:
diagnosisIm
component
:
diagnosisIm
},{
path
:
'/diagnosis-live'
,
component
:
diagnosisLive
}
}
// {
// {
// path: '/search-message-list',
// path: '/search-message-list',
...
...
src/utils/filter.js
浏览文件 @
2dcb1bbe
const
vueFilter
=
{
const
vueFilter
=
{
priceFilter
:
value
=>
{
if
(
value
)
{
return
(
value
/
100
)
+
'元'
}
},
diagnosisTypeFilter
:
(
value
)
=>
{
diagnosisTypeFilter
:
(
value
)
=>
{
if
(
value
==
1
)
{
if
(
value
==
1
)
{
return
'音频'
return
'音频'
...
...
src/views/IM/diagnosis-admin/diagnosis-im.vue
浏览文件 @
2dcb1bbe
...
@@ -8,9 +8,10 @@
...
@@ -8,9 +8,10 @@
>
>
<section
class=
"c-header"
>
<section
class=
"c-header"
>
<div
class=
"c-header-l"
>
<div
class=
"c-header-l"
>
<img
:src=
"currentSession.avatarImageUrl"
alt
/>
<
!--
<
img
:src=
"currentSession.avatarImageUrl"
alt
/>
<span
class=
"name"
>
{{
doctorInfo
.
name
}}
</span>
<span
class=
"name"
>
{{
doctorInfo
.
name
}}
</span>
<span
class=
"time-tip"
>
当前会话时长:
{{
currentContinueTimes
|
continueTimesFilter
}}
</span>
<span
class=
"time-tip"
>
当前会话时长:
{{
currentContinueTimes
|
continueTimesFilter
}}
</span>
-->
<span
class=
"time-tip"
>
问诊医生XX医生的问诊群聊
</span>
</div>
</div>
</section>
</section>
<p
class=
"refreshText"
></p>
<p
class=
"refreshText"
></p>
...
...
src/views/IM/diagnosis-admin/diagnosis-list.vue
浏览文件 @
2dcb1bbe
...
@@ -10,22 +10,23 @@
...
@@ -10,22 +10,23 @@
v-model=
"searchParam.searchVal"
v-model=
"searchParam.searchVal"
clearable
clearable
placeholder=
"支付订单、医生姓名、运营姓名搜索"
placeholder=
"支付订单、医生姓名、运营姓名搜索"
style=
"width:200px;"
></el-input>
style=
"width:300px;"
@
change=
"search(1)"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
""
>
<el-form-item
label=
""
>
<el-select
v-model=
"searchParam.status"
clearable
placeholder=
"问诊状态"
style=
"width:20
0px"
>
<el-select
v-model=
"searchParam.status"
@
change=
"search(1)"
clearable
placeholder=
"问诊状态"
style=
"width:15
0px"
>
<el-option
<el-option
v-for=
"(eItem,eIndex) in diagnosisSelect"
v-for=
"(eItem,eIndex) in diagnosisSelect"
:key=
"eIndex"
:key=
"eIndex"
:label=
"eItem"
:label=
"eItem
.value
"
:value=
"eItem"
>
:value=
"eItem
.no
"
>
</el-option>
</el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
""
>
<el-form-item
label=
""
>
<el-select
v-model=
"searchParam.diagnoseType"
clearable
placeholder=
"问诊类型"
style=
"width:20
0px"
>
<el-select
v-model=
"searchParam.diagnoseType"
@
change=
"search(1)"
clearable
placeholder=
"问诊类型"
style=
"width:15
0px"
>
<el-option
<el-option
v-for=
"(eItem,eIndex) in diagnosisSelect"
v-for=
"(eItem,eIndex) in diagnosis
Type
Select"
:key=
"eIndex"
:key=
"eIndex"
:label=
"eItem.value"
:label=
"eItem.value"
:value=
"eItem.no"
>
:value=
"eItem.no"
>
...
@@ -46,7 +47,7 @@
...
@@ -46,7 +47,7 @@
:data=
"tableData"
:data=
"tableData"
style=
"width: 100%"
style=
"width: 100%"
v-loading=
"loading"
>
v-loading=
"loading"
>
<el-table-column
prop=
"orderNo"
label=
"订单ID"
min-width=
"
10
0"
align=
"left"
></el-table-column>
<el-table-column
prop=
"orderNo"
label=
"订单ID"
min-width=
"
8
0"
align=
"left"
></el-table-column>
<el-table-column
prop=
"operateUserName"
label=
"运营人员"
min-width=
"100"
align=
"left"
></el-table-column>
<el-table-column
prop=
"operateUserName"
label=
"运营人员"
min-width=
"100"
align=
"left"
></el-table-column>
<el-table-column
prop=
"specialName"
label=
"专区名称"
min-width=
"120"
align=
"left"
></el-table-column>
<el-table-column
prop=
"specialName"
label=
"专区名称"
min-width=
"120"
align=
"left"
></el-table-column>
<el-table-column
prop=
"diagnoseType"
label=
"问诊类型"
min-width=
"80"
align=
"left"
>
<el-table-column
prop=
"diagnoseType"
label=
"问诊类型"
min-width=
"80"
align=
"left"
>
...
@@ -56,9 +57,13 @@
...
@@ -56,9 +57,13 @@
</el-table-column>
</el-table-column>
<el-table-column
prop=
"doctorName"
label=
"接诊医生"
min-width=
"100"
align=
"left"
></el-table-column>
<el-table-column
prop=
"doctorName"
label=
"接诊医生"
min-width=
"100"
align=
"left"
></el-table-column>
<el-table-column
prop=
"doctorMobile"
label=
"接诊电话"
min-width=
"100"
align=
"left"
></el-table-column>
<el-table-column
prop=
"doctorMobile"
label=
"接诊电话"
min-width=
"100"
align=
"left"
></el-table-column>
<el-table-column
prop=
"userName"
label=
"问诊患者"
min-width=
"
10
0"
align=
"left"
></el-table-column>
<el-table-column
prop=
"userName"
label=
"问诊患者"
min-width=
"
8
0"
align=
"left"
></el-table-column>
<el-table-column
prop=
"userMobile"
label=
"问诊电话"
min-width=
"100"
align=
"left"
></el-table-column>
<el-table-column
prop=
"userMobile"
label=
"问诊电话"
min-width=
"100"
align=
"left"
></el-table-column>
<el-table-column
prop=
"price"
label=
"价格"
min-width=
"80"
align=
"left"
></el-table-column>
<el-table-column
prop=
"price"
label=
"价格"
min-width=
"80"
align=
"left"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
price
|
priceFilter
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"appointBeginTime"
label=
"预约时间"
min-width=
"120"
align=
"left"
>
<el-table-column
prop=
"appointBeginTime"
label=
"预约时间"
min-width=
"120"
align=
"left"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<p>
{{
scope
.
row
.
appointBeginTime
}}
</p>
<p>
{{
scope
.
row
.
appointBeginTime
}}
</p>
...
@@ -70,7 +75,7 @@
...
@@ -70,7 +75,7 @@
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<div>
<div>
<el-button
type=
"primary"
size=
"small"
@
click=
"timeHandle(scope.row)"
>
预约时间
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"timeHandle(scope.row)"
>
预约时间
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"end
Chat(scope.row)"
>
结束
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"end
Diagnosis(scope.row)"
>
结束问诊
</el-button>
</div>
</div>
<div
style=
"margin-top: 10px;"
>
<div
style=
"margin-top: 10px;"
>
<el-button
type=
"primary"
size=
"small"
@
click=
"callAll(scope.row)"
>
呼叫双方
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"callAll(scope.row)"
>
呼叫双方
</el-button>
...
@@ -99,7 +104,7 @@
...
@@ -99,7 +104,7 @@
:data=
"tableData"
:data=
"tableData"
style=
"width: 100%"
style=
"width: 100%"
v-loading=
"loading"
>
v-loading=
"loading"
>
<el-table-column
prop=
"orderNo"
label=
"订单ID"
min-width=
"
10
0"
align=
"left"
></el-table-column>
<el-table-column
prop=
"orderNo"
label=
"订单ID"
min-width=
"
8
0"
align=
"left"
></el-table-column>
<el-table-column
prop=
"operateUserName"
label=
"运营人员"
min-width=
"100"
align=
"left"
></el-table-column>
<el-table-column
prop=
"operateUserName"
label=
"运营人员"
min-width=
"100"
align=
"left"
></el-table-column>
<el-table-column
prop=
"specialName"
label=
"专区名称"
min-width=
"120"
align=
"left"
></el-table-column>
<el-table-column
prop=
"specialName"
label=
"专区名称"
min-width=
"120"
align=
"left"
></el-table-column>
<el-table-column
prop=
"diagnoseType"
label=
"问诊类型"
min-width=
"80"
align=
"left"
>
<el-table-column
prop=
"diagnoseType"
label=
"问诊类型"
min-width=
"80"
align=
"left"
>
...
@@ -109,9 +114,13 @@
...
@@ -109,9 +114,13 @@
</el-table-column>
</el-table-column>
<el-table-column
prop=
"doctorName"
label=
"接诊医生"
min-width=
"100"
align=
"left"
></el-table-column>
<el-table-column
prop=
"doctorName"
label=
"接诊医生"
min-width=
"100"
align=
"left"
></el-table-column>
<el-table-column
prop=
"doctorMobile"
label=
"接诊电话"
min-width=
"100"
align=
"left"
></el-table-column>
<el-table-column
prop=
"doctorMobile"
label=
"接诊电话"
min-width=
"100"
align=
"left"
></el-table-column>
<el-table-column
prop=
"userName"
label=
"问诊患者"
min-width=
"
10
0"
align=
"left"
></el-table-column>
<el-table-column
prop=
"userName"
label=
"问诊患者"
min-width=
"
8
0"
align=
"left"
></el-table-column>
<el-table-column
prop=
"userMobile"
label=
"问诊电话"
min-width=
"100"
align=
"left"
></el-table-column>
<el-table-column
prop=
"userMobile"
label=
"问诊电话"
min-width=
"100"
align=
"left"
></el-table-column>
<el-table-column
prop=
"price"
label=
"价格"
min-width=
"80"
align=
"left"
></el-table-column>
<el-table-column
label=
"价格"
min-width=
"80"
align=
"left"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
price
|
priceFilter
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"appointBeginTime"
label=
"预约时间"
min-width=
"120"
align=
"left"
>
<el-table-column
prop=
"appointBeginTime"
label=
"预约时间"
min-width=
"120"
align=
"left"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<p>
{{
scope
.
row
.
appointBeginTime
}}
</p>
<p>
{{
scope
.
row
.
appointBeginTime
}}
</p>
...
@@ -146,7 +155,7 @@
...
@@ -146,7 +155,7 @@
:visible
.
sync=
"timeVisible"
:visible
.
sync=
"timeVisible"
width=
"40%"
>
width=
"40%"
>
<el-row
:gutter=
"30"
class=
"row search"
type=
"flex"
style=
"margin-bottom:0;"
>
<el-row
:gutter=
"30"
class=
"row search"
type=
"flex"
style=
"margin-bottom:0;"
>
<el-form
ref=
"t
ag
Form"
<el-form
ref=
"t
ime
Form"
:rules=
"timeRules"
:rules=
"timeRules"
:model=
"timeForm"
:model=
"timeForm"
label-width=
"150px"
label-width=
"150px"
...
@@ -155,22 +164,21 @@
...
@@ -155,22 +164,21 @@
size=
"mini"
size=
"mini"
style=
"width: 100%;"
>
style=
"width: 100%;"
>
<el-col
:span=
"24"
>
<el-col
:span=
"24"
>
<el-form-item
label=
"
年月日"
prop=
"year
Time"
>
<el-form-item
label=
"
开始时间"
prop=
"begin
Time"
>
<el-date-picker
<el-date-picker
v-model=
"timeForm.
t
ime"
v-model=
"timeForm.
beginT
ime"
type=
"datetime"
type=
"datetime"
placeholder=
"请选择年月日"
>
placeholder=
"请选择开始时间"
value-format=
"yyyy-MM-dd HH:mm:ss"
>
</el-date-picker>
</el-date-picker>
</el-form-item>
</el-form-item>
<el-form-item
label=
"音视频时长"
>
<el-form-item
label=
"结束时间"
prop=
"endTime"
>
<el-select
v-model=
"timeForm.timeLength"
clearable
placeholder=
"音视频时长"
style=
"width:200px"
>
<el-date-picker
<el-option
v-model=
"timeForm.endTime"
v-for=
"(eItem,eIndex) in timeSelect"
type=
"datetime"
:key=
"eIndex"
placeholder=
"请选择结束时间"
:label=
"eItem"
value-format=
"yyyy-MM-dd HH:mm:ss"
>
:value=
"eItem"
>
</el-date-picker>
</el-option>
</el-select>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
</el-form>
</el-form>
...
@@ -192,30 +200,56 @@ export default {
...
@@ -192,30 +200,56 @@ export default {
timeVisible
:
false
,
timeVisible
:
false
,
searchParam
:
{
searchParam
:
{
searchVal
:
''
,
searchVal
:
''
,
status
:
''
,
status
:
''
,
// 2、待问诊3、问诊中 4、已问诊"
diagnoseType
:
''
,
diagnoseType
:
''
,
// 1、音频 2、视频
tab
:
2
,
// 1、已分配 2、未分配
tab
:
2
,
// 1、已分配 2、未分配
pageSize
:
15
,
pageSize
:
15
,
pageNo
:
1
pageNo
:
1
},
},
timeForm
:{
timeForm
:{
time
:
''
,
diagnoseLogId
:
''
,
timeLength
:
''
beginTime
:
''
,
endTime
:
''
},
},
timeSelect
:
[],
timeSelect
:
[],
orderSelect
:
[],
diagnosisSelect
:
[],
diagnosisSelect
:
[],
diagnosisTypeSelect
:
[],
tableData
:
[],
tableData
:
[],
totalRows
:
0
,
totalRows
:
0
,
timeRules
:
{
timeRules
:
{
'beginTime'
:
[
{
required
:
true
,
message
:
'请选择预约开始时间'
,
trigger
:
'change'
}
],
'endTime'
:
[
{
required
:
true
,
message
:
'请选择预约结束时间'
,
trigger
:
'change'
}
]
}
}
}
}
},
},
mounted
()
{
mounted
()
{
this
.
getDiagnoseTypeList
();
this
.
getDiagnoseList
();
this
.
search
();
this
.
search
();
},
},
methods
:
{
methods
:
{
// 问诊类型
getDiagnoseTypeList
()
{
let
url
=
`/basic-data/constants?typeCode=P253`
;
this
.
GET
(
url
).
then
(
res
=>
{
if
(
res
.
code
==
"000000"
)
{
this
.
diagnosisTypeSelect
=
res
.
data
;
}
});
},
// 问诊状态
getDiagnoseList
()
{
let
url
=
`/basic-data/constants?typeCode=P254`
;
this
.
GET
(
url
).
then
(
res
=>
{
if
(
res
.
code
==
"000000"
)
{
this
.
diagnosisSelect
=
res
.
data
;
}
});
},
// tab切换
// tab切换
handleClick
(
val
)
{
handleClick
(
val
)
{
this
.
searchParam
.
tab
=
val
.
name
==
'second'
?
2
:
1
;
this
.
searchParam
.
tab
=
val
.
name
==
'second'
?
2
:
1
;
...
@@ -235,19 +269,45 @@ export default {
...
@@ -235,19 +269,45 @@ export default {
});
});
},
},
// 预约时间
// 预约时间
timeHandle
()
{
timeHandle
(
row
)
{
this
.
timeVisible
=
true
;
this
.
timeVisible
=
true
;
this
.
timeForm
.
diagnoseLogId
=
row
.
diagnoseLogId
;
},
},
confirmTime
()
{
confirmTime
()
{
this
.
$refs
.
timeForm
.
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
loading
=
true
;
this
.
POST
(
'/diagnose/admin/diagnose/appointTime'
,
this
.
timeForm
).
then
(
res
=>
{
this
.
loading
=
false
;
if
(
res
.
code
==
"000000"
)
{
this
.
$message
({
message
:
'预约成功'
,
type
:
"success"
});
this
.
searchParam
.
tab
=
1
;
this
.
timeVisible
=
false
;
this
.
search
();
}
});
}
})
},
},
// 结束聊天
// 结束问诊
endChat
()
{
endDiagnosis
(
row
)
{
this
.
POST
(
`/diagnose/admin/diagnose/end/
${
row
.
diagnoseLogId
}
`
,
''
).
then
(
res
=>
{
if
(
res
.
code
==
"000000"
)
{
this
.
$message
({
message
:
'成功结束问诊'
,
type
:
"success"
});
this
.
searchParam
.
tab
=
1
;
this
.
search
();
}
});
},
},
//
结束
//
呼叫双方
callAll
()
{
callAll
()
{
this
.
$router
.
push
(
'/diagnosis-live'
)
},
},
// 发送消息
// 发送消息
sendMessage
(
row
)
{
sendMessage
(
row
)
{
...
@@ -255,7 +315,19 @@ export default {
...
@@ -255,7 +315,19 @@ export default {
},
},
// 选择
// 选择
selectBtn
(
row
)
{
selectBtn
(
row
)
{
this
.
POST
(
`/diagnose/admin/diagnose/choose/
${
row
.
diagnoseLogId
}
`
,
''
).
then
(
res
=>
{
if
(
res
.
code
==
"000000"
)
{
this
.
$message
({
message
:
'选择成功'
,
type
:
"success"
});
this
.
searchParam
.
tab
=
1
;
this
.
search
();
}
});
this
.
activeName
=
'first'
;
this
.
searchParam
.
tab
=
1
;
this
.
search
();
},
},
handleSizeChange
(
value
)
{
handleSizeChange
(
value
)
{
this
.
searchParam
.
pageSize
=
value
;
this
.
searchParam
.
pageSize
=
value
;
...
...
src/views/IM/diagnosis-admin/diagnosis-live.vue
0 → 100644
浏览文件 @
2dcb1bbe
<
template
>
<div></div>
</
template
>
<
script
>
export
default
{
}
</
script
>
<
style
lang=
"less"
scoped
>
</
style
>
\ No newline at end of file
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录