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
提交
455e5f76
提交
455e5f76
编写于
7月 05, 2021
作者:
changdi.hao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
新增列表页面
上级
6c61fa4e
变更
6
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
1297 行增加
和
487 行删除
+1297
-487
table-c.vue
src/components/list/table-c.vue
+355
-0
router.js
src/router/router.js
+8
-3
constants.js
src/utils/constants.js
+298
-0
diagnosis-list-new.vue
src/views/IM/diagnosis-admin/diagnosis-list-new.vue
+516
-0
diagnosis-list-old.vue
src/views/IM/diagnosis-admin/diagnosis-list-old.vue
+0
-484
down-list.vue
src/views/IM/diagnosis-admin/down-list.vue
+120
-0
未找到文件。
src/components/list/table-c.vue
0 → 100644
浏览文件 @
455e5f76
<
template
>
<div
class=
"table"
>
<el-table
v-loading=
"loading"
class=
"search-table"
:data=
"tData"
:height=
"tableHeight"
style=
"width: 100%"
border
@
selection-change=
"handleSelectionChange"
>
<el-table-column
fixed
type=
"selection"
width=
"55"
>
</el-table-column>
<el-table-column
v-for=
"item in tableColumn"
:key=
"item.prop"
:prop=
"item.prop"
:label=
"item.label"
:show-overflow-tooltip=
"item.showtooltip"
min-width=
"170"
align=
"center"
></el-table-column>
<el-table-column
label=
"操作"
fixed=
"right"
align=
"center"
min-width=
"400"
>
<template
slot-scope=
"scope"
>
<el-button
type=
"primary"
size=
"small"
class=
"btn"
v-if=
"a"
@
click=
"witeDiagnose(scope.row)"
>
设为待问诊
</el-button>
<el-button
type=
"primary"
size=
"small"
class=
"btn"
v-if=
"b"
@
click=
"changeRun(scope.row)"
>
更换运营
</el-button>
<el-button
type=
"primary"
size=
"small"
class=
"btn"
v-if=
"c"
@
click=
"goDetail(scope.row)"
>
查看详情
</el-button>
<el-button
type=
"primary"
size=
"small"
class=
"btn"
v-if=
"d"
@
click=
"goDetail(scope.row)"
>
取消/退款
</el-button>
<el-button
type=
"primary"
size=
"small"
class=
"btn"
v-if=
"e"
@
click=
"witeGo(scope.row)"
>
设为稍后跟进
</el-button>
<el-button
type=
"primary"
size=
"small"
class=
"btn"
v-if=
"f"
@
click=
"waitMatchDot(scope.row)"
>
设为待匹配医生
</el-button>
<el-button
type=
"primary"
size=
"small"
class=
"btn"
v-if=
"g"
@
click=
"sendMessage(scope.row)"
>
发送消息
</el-button>
<el-button
type=
"primary"
size=
"small"
class=
"btn"
v-if=
"h"
@
click=
"joinDiagnose(scope.row)"
>
加入问诊
</el-button>
<el-button
type=
"primary"
size=
"small"
class=
"btn"
v-if=
"i"
@
click=
"matchRun(scope.row)"
>
匹配运营
</el-button>
<el-button
type=
"primary"
size=
"small"
class=
"btn"
v-if=
"j"
@
click=
"goEditor(scope.row)"
>
编辑
</el-button>
<el-button
type=
"primary"
size=
"small"
class=
"btn"
v-if=
"k"
@
click=
"waitDiagnose(scope.row)"
>
设为待分诊
</el-button>
<el-button
type=
"primary"
size=
"small"
class=
"btn"
v-if=
"l"
@
click=
"waitHzeDot(scope.row)"
>
设为待协调医生
</el-button>
<el-button
type=
"primary"
size=
"small"
class=
"btn"
v-if=
"m"
@
click=
"waitMatchTime(scope.row)"
>
设为待确认时间
</el-button>
<el-button
type=
"primary"
size=
"small"
class=
"btn"
v-if=
"n"
@
click=
"reMatchDot(scope.row)"
>
重新匹配医生
</el-button>
<el-button
type=
"primary"
size=
"small"
class=
"btn"
v-if=
"o"
@
click=
"changeTime(scope.row)"
>
修改时间
</el-button>
<el-button
type=
"primary"
size=
"small"
class=
"btn"
v-if=
"p"
@
click=
"call(scope.row)"
>
发起问诊
</el-button>
<el-button
type=
"primary"
size=
"small"
class=
"btn"
v-if=
"q"
@
click=
"doneHandle(scope.row)"
>
设为已完成
</el-button>
</
template
>
</el-table-column>
</el-table>
<!-- 分页 -->
<div
class=
"pagination"
>
<el-pagination
background
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page=
"pageNo"
:page-sizes=
"[15, 30, 50, 100, 150, 200]"
:page-size=
"pageSize"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"totalRows"
>
</el-pagination>
</div>
</div>
</template>
<
script
>
import
{
TABLE_COLUMN
}
from
"@/utils/constants"
;
export
default
{
props
:
{
tData
:
{
type
:
Array
,
default
:
[],
},
pageNo
:
{
type
:
Number
,
default
:
1
,
},
pageSize
:
{
type
:
Number
,
default
:
20
,
},
totalRows
:
{
type
:
Number
,
default
:
0
,
},
loading
:
{
type
:
Boolean
,
default
:
false
,
},
tableHeight
:
{
type
:
Number
,
default
:
500
,
}
},
data
()
{
return
{
tableColumn
:
TABLE_COLUMN
,
multipleSelection
:
[],
status
:
1
};
},
computed
:
{
//0 只填写了患者信息(急速问诊才会有的状态),1 初始状态(未支付),2待问诊(待匹配运营)(支付成功待完善)3 问诊中(已完善),4、已问诊 5、取消, 6 已结算
//21 已匹配, 22 待分诊, 23 待匹配接诊医生, 24 待协调医生 25 待设置问诊时间, 26 待问诊
a
()
{
//设为待问诊
switch
(
this
.
status
)
{
case
25
:
return
true
default
:
return
false
}
},
b
()
{
// 更换运营
switch
(
this
.
status
)
{
case
2
:
case
21
:
case
22
:
case
23
:
case
24
:
case
25
:
case
26
:
case
3
:
return
true
default
:
return
false
}
},
c
()
{
return
true
},
d
()
{
//取消/退款
switch
(
this
.
status
)
{
case
2
:
case
21
:
case
22
:
case
23
:
case
24
:
case
25
:
case
26
:
case
3
:
case
4
:
return
true
default
:
return
false
}
},
e
()
{
//设为稍后跟进
switch
(
this
.
status
)
{
case
21
:
return
true
default
:
return
false
}
},
f
()
{
//设为待匹配医生
switch
(
this
.
status
)
{
case
21
:
case
22
:
return
true
default
:
return
false
}
},
g
()
{
//发送消息
switch
(
this
.
status
)
{
case
21
:
case
22
:
case
23
:
case
24
:
case
25
:
case
26
:
case
3
:
case
4
:
case
6
:
case
5
:
return
true
default
:
return
false
}
},
h
()
{
//加入问诊
switch
(
this
.
status
)
{
case
3
:
return
true
default
:
return
false
}
},
i
()
{
//匹配运营
switch
(
this
.
status
)
{
case
2
:
return
true
default
:
return
false
}
},
j
()
{
//编辑
// switch (this.status ) {
// case :
// return true
// default:
// return false
// }
return
false
},
k
()
{
//设为待分诊
switch
(
this
.
status
)
{
case
21
:
return
true
default
:
return
false
}
},
l
()
{
//设为待协调医生
switch
(
this
.
status
)
{
case
23
:
return
true
default
:
return
false
}
},
m
()
{
//设为待确认时间
switch
(
this
.
status
)
{
case
23
:
case
24
:
return
true
default
:
return
false
}
},
n
()
{
//重新匹配医生
switch
(
this
.
status
)
{
case
25
:
case
26
:
case
3
:
return
true
default
:
return
false
}
},
o
()
{
//修改时间
switch
(
this
.
status
)
{
case
26
:
case
3
:
return
true
default
:
return
false
}
},
p
()
{
//发起问诊
switch
(
this
.
status
)
{
case
26
:
return
true
default
:
return
false
}
},
q
()
{
//设为已完成
switch
(
this
.
status
)
{
case
3
:
return
true
default
:
return
false
}
}
},
methods
:
{
// 选择
handleSelectionChange
(
val
)
{
this
.
multipleSelection
=
val
;
},
//设为待问诊
witeDiagnose
(
row
)
{
this
.
$emit
(
"witeDiagnose"
,
row
);
},
//更换运营
changeRun
(
row
)
{
this
.
$emit
(
"changeRun"
,
row
);
},
//查看详情
goDetail
(
row
)
{
this
.
$emit
(
"goDetail"
,
row
);
},
//取消/退款
cancelBtn
(
row
)
{
this
.
$emit
(
"cancelBtn"
,
row
);
},
//设为稍后跟进
witeGo
(
row
)
{
this
.
$emit
(
"witeGo"
,
row
);
},
//设为待匹配医生
waitMatchDot
(
row
)
{
this
.
$emit
(
"waitMatchDot"
,
row
);
},
//发送消息
sendMessage
(
row
)
{
this
.
$emit
(
"sendMessage"
,
row
);
},
//加入问诊
joinDiagnose
(
row
)
{
this
.
$emit
(
"joinDiagnose"
,
row
);
},
//匹配运营
matchRun
(
row
)
{
this
.
$emit
(
"matchRun"
,
row
);
},
//编辑
goEditor
(
row
,
flag
)
{
this
.
$emit
(
"goEditor"
,
row
,
flag
);
},
//设为待分诊
waitDiagnose
(
row
)
{
this
.
$emit
(
"waitDiagnose"
,
row
);
},
//设为待协调医生
waitHzeDot
(
row
)
{
this
.
$emit
(
"waitHzeDot"
,
row
);
},
//设为待确认时间
waitMatchTime
(
row
)
{
this
.
$emit
(
"waitMatchTime"
,
row
);
},
//重新匹配医生
reMatchDot
(
row
)
{
this
.
$emit
(
"reMatchDot"
,
row
);
},
//修改时间
changeTime
(
row
)
{
this
.
$emit
(
"changeTime"
,
row
);
},
//发起问诊
call
(
row
)
{
this
.
$emit
(
"call"
,
row
);
},
//设为已完成
doneHandle
(
row
)
{
this
.
$emit
(
"doneHandle"
,
row
);
},
handleSizeChange
(
value
)
{
this
.
$emit
(
"handleSizeChange"
,
value
);
},
handleCurrentChange
(
value
)
{
this
.
$emit
(
"handleCurrentChange"
,
value
);
},
},
};
</
script
>
<
style
>
</
style
>
src/router/router.js
浏览文件 @
455e5f76
...
...
@@ -8,7 +8,8 @@ const serviceList = r => require.ensure([], () => r(require('../views/IM/diagnos
const
assistList
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/IM/diagnosis-admin/assist-list.vue'
)),
'assistList'
)
const
assistListTemp
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/IM/diagnosis-admin/assist-list-temp.vue'
)),
'assistListTemp'
)
const
diagnosisEditor
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/IM/diagnosis-admin/diagnosis-editor.vue'
)),
'diagnosisEditor'
)
const
diagnosisListLod
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/IM/diagnosis-admin/diagnosis-list-old.vue'
)),
'diagnosisListLod'
)
const
diagnosisListNew
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/IM/diagnosis-admin/diagnosis-list-new.vue'
)),
'diagnosisListNew'
)
const
downList
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/IM/diagnosis-admin/down-list.vue'
)),
'downList'
)
export
default
[{
path
:
'/'
,
...
...
@@ -42,8 +43,12 @@ export default [{
path
:
'/diagnosis-editor'
,
component
:
diagnosisEditor
},
{
path
:
'/diagnosis-list-old'
,
component
:
diagnosisListLod
path
:
'/diagnosis-list-new'
,
component
:
diagnosisListNew
},
{
path
:
'/down-list'
,
component
:
downList
}
]
}]
src/utils/constants.js
浏览文件 @
455e5f76
...
...
@@ -227,3 +227,301 @@ export const FOLLW_LIST = [
value
:
4
},
]
//0 只填写了患者信息(急速问诊才会有的状态),1 初始状态(未支付),2待问诊(支付成功待完善)3 问诊中(已完善),4、已问诊 5、取消, 6 已结算
//21 已匹配 22 待分诊 23 待匹配接诊医生 24 待协调医生 25 待设置问诊时间 26 待问诊
//预约单列表
export
const
ALL_TAB_LIST
=
[
{
label
:
'全部'
,
active
:
'99'
},
{
label
:
'待匹配'
,
active
:
'2'
},
{
label
:
'已匹配'
,
active
:
'21'
},
{
label
:
'待分诊'
,
active
:
'22'
},
{
label
:
'待匹配医生'
,
active
:
'23'
},
{
label
:
'待协调医生'
,
active
:
'24'
},
{
label
:
'待确认时间'
,
active
:
'25'
},
{
label
:
'待问诊'
,
active
:
'16'
},
{
label
:
'问诊中'
,
active
:
'3'
},
{
label
:
'已完成'
,
active
:
'4'
},
{
label
:
'已结算'
,
active
:
'6'
},
{
label
:
'已取消'
,
active
:
'5'
}
]
// 分诊列表
export
const
TRIAGE_TAB_LIST
=
[
{
label
:
'全部'
,
active
:
'1'
},
{
label
:
'待诊断'
,
active
:
'13'
}
]
// 接诊列表
export
const
RECEPTION_TAB_LIST
=
[
{
label
:
'全部'
,
active
:
'1'
},
{
label
:
'待匹配医生'
,
active
:
'5'
},
{
label
:
'待协调医生'
,
active
:
'6'
},
]
export
const
TABLE_COLUMN
=
[
{
prop
:
"diagnoseLogId"
,
label
:
"ID"
,
showtooltip
:
false
,
},
{
prop
:
"orderNo"
,
label
:
"订单ID"
,
showtooltip
:
false
,
},
{
prop
:
"diagnoseTypeStr"
,
label
:
"预约类型"
,
showtooltip
:
false
,
},
{
prop
:
"statusStr"
,
label
:
"状态"
,
showtooltip
:
false
,
},
{
prop
:
"appointBeginTime"
,
label
:
"预约开始时间"
,
showtooltip
:
false
,
},
{
prop
:
"appointEndTime"
,
label
:
"预约结束时间"
,
showtooltip
:
false
,
},
{
prop
:
"operateUserID"
,
label
:
"运营人员ID"
,
showtooltip
:
false
,
},
{
prop
:
"operateUserName"
,
label
:
"运营人员"
,
showtooltip
:
false
,
},
{
prop
:
"userName"
,
label
:
"助诊医生"
,
showtooltip
:
false
,
},
{
prop
:
"userMobile"
,
label
:
"助诊电话"
,
showtooltip
:
false
,
},
{
prop
:
"assistantBeginTime"
,
label
:
"助诊医生意向时间"
,
showtooltip
:
false
,
},
{
prop
:
"assistantRemark"
,
label
:
"助诊备注"
,
showtooltip
:
true
,
},
{
prop
:
"triageDepartment"
,
label
:
"分诊科室"
,
showtooltip
:
false
,
},
{
prop
:
"triageRemark"
,
label
:
"分诊备注"
,
showtooltip
:
true
,
},
{
prop
:
"doctorName"
,
label
:
"接诊医生"
,
showtooltip
:
false
,
},
{
prop
:
"doctorMobile"
,
label
:
"接诊电话"
,
showtooltip
:
false
,
},
{
prop
:
"outsideDoctor"
,
label
:
"站外医生姓名"
,
showtooltip
:
false
,
},
{
prop
:
"receptionBeginTime"
,
label
:
"接诊诊医生意向时间"
,
showtooltip
:
false
,
},
{
prop
:
"patientName"
,
label
:
"患者姓名"
,
showtooltip
:
false
,
},
{
prop
:
"patientMobilePhone"
,
label
:
"患者电话"
,
showtooltip
:
false
,
},
{
prop
:
"illnessDetail"
,
label
:
"病情描述"
,
showtooltip
:
false
,
},
{
prop
:
"idCard"
,
label
:
"证件号"
,
showtooltip
:
false
,
},
{
prop
:
"sexStr"
,
label
:
"性别"
,
showtooltip
:
false
,
},
{
prop
:
"diagnoseStageStr"
,
label
:
"初/复制"
,
showtooltip
:
false
,
},
{
prop
:
"determineFlagStr"
,
label
:
"是否确诊"
,
showtooltip
:
false
,
},
{
prop
:
"diagnoseDisease"
,
label
:
"确诊疾病"
,
showtooltip
:
true
,
},
{
prop
:
"triageOperatorName"
,
label
:
"分诊运营"
,
showtooltip
:
false
,
},
{
prop
:
"receptionOperatorName"
,
label
:
"接诊运营"
,
showtooltip
:
false
,
},
{
prop
:
"diagnoseAdvice"
,
label
:
'诊断建议"'
,
showtooltip
:
true
,
},
{
prop
:
"crrsName"
,
label
:
"招募人"
,
showtooltip
:
false
,
},
{
prop
:
"diagnoseChannelStr"
,
label
:
"问诊方式"
,
showtooltip
:
false
,
},
{
prop
:
"doneTime"
,
label
:
"完成时间"
,
showtooltip
:
false
,
},
{
prop
:
"cancelTime"
,
label
:
"退款时间"
,
showtooltip
:
false
,
},
{
prop
:
"createdTime"
,
label
:
"创建时间"
,
showtooltip
:
false
,
},
{
prop
:
"followFlagStr"
,
label
:
"是否跟进"
,
showtooltip
:
false
,
},
{
prop
:
"drugFollowStatusStr"
,
label
:
"药品跟进状态"
,
showtooltip
:
false
,
},
{
prop
:
"drugFollow"
,
label
:
"药品跟进"
,
showtooltip
:
false
,
},
{
prop
:
"checkFollowStatusStr"
,
label
:
"检查跟进状态"
,
showtooltip
:
false
,
},
{
prop
:
"checkFollow"
,
label
:
"检查跟进"
,
showtooltip
:
false
,
},
{
prop
:
"otherFollowStatusStr"
,
label
:
"其他跟进事项状态"
,
showtooltip
:
false
,
},
{
prop
:
"otherFollow"
,
label
:
"其他跟进事项"
,
showtooltip
:
false
,
},
{
prop
:
"remark"
,
label
:
"跟进备注"
,
showtooltip
:
false
,
},
]
\ No newline at end of file
src/views/IM/diagnosis-admin/diagnosis-list-new.vue
0 → 100644
浏览文件 @
455e5f76
<
template
>
<div
class=
"diagnosis-list-content"
>
<div
class=
"component-content screenSet"
id=
"screenSet"
>
<div
class=
"title"
>
咨询订单管理后台
</div>
<el-form
:inline=
"true"
class=
"demo-form-inline from-box"
:model=
"searchParam"
label-width=
"80px"
ref=
"from"
>
<el-row
:gutter=
"20"
type=
"flex"
justify=
"center"
>
<el-col
:span=
"8"
class=
"t-c"
>
<el-form-item
label=
"订单搜索"
class=
"t-b"
>
<el-input
v-model=
"searchParam.searchVal"
clearable
placeholder=
"输入ID、订单ID或姓名搜索订单"
style=
"width: 280px"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
class=
"t-c"
>
<el-form-item
label=
"预约类型"
class=
"t-b"
>
<el-select
v-model=
"searchParam.diagnoseType"
placeholder=
"请选择预约类型"
style=
"width: 280px"
>
<el-option
v-for=
"item of tyleList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"8"
class=
"t-c"
>
<el-form-item
label=
"创建方式"
class=
"t-b"
>
<el-select
v-model=
"searchParam.createType"
placeholder=
"创建方式"
style=
"width: 280px"
>
<el-option
v-for=
"item of createList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
type=
"flex"
justify=
"center"
>
<el-col
:span=
"8"
class=
"t-c"
>
<el-form-item
label=
"是否跟进"
class=
"t-b"
>
<el-select
v-model=
"searchParam.followFlag"
placeholder=
"请选择是否跟进"
style=
"width: 280px"
>
<el-option
v-for=
"item of fllowList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"8"
class=
"t-c"
>
<el-form-item
label=
"预约来源"
class=
"t-b"
>
<el-select
v-model=
"searchParam.appointSource"
placeholder=
"请选择预约来源"
style=
"width: 280px"
>
<el-option
v-for=
"item of sourceList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"8"
class=
"t-c"
>
<el-form-item
label=
"是否匹配"
class=
"t-b"
>
<el-select
v-model=
"searchParam.operateFlag"
placeholder=
"是否匹配"
style=
"width: 280px"
>
<el-option
v-for=
"item of operateList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
type=
"flex"
justify=
"center"
>
<el-col
:span=
"8"
class=
"t-c"
>
<el-form-item
label=
"创建日期"
class=
"t-b"
>
<el-date-picker
v-model=
"createRangeTime"
type=
"daterange"
value-format=
"yyyy-MM-dd"
range-separator=
"-"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
style=
"width: 280px"
:picker-options=
"pickerOptions1"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"8"
class=
"t-c"
>
<el-form-item
label=
"匹配日期"
class=
"t-b"
>
<el-date-picker
v-model=
"matchRangeTime"
type=
"daterange"
value-format=
"yyyy-MM-dd"
range-separator=
"-"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
style=
"width: 280px"
:picker-options=
"pickerOptions1"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"8"
class=
"t-c"
>
<el-form-item
label=
"预约日期"
class=
"t-b"
>
<el-date-picker
v-model=
"orderRangeTime"
type=
"daterange"
value-format=
"yyyy-MM-dd"
range-separator=
"-"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
style=
"width: 280px"
:picker-options=
"pickerOptions1"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
type=
"flex"
justify=
"left"
>
<el-col
:span=
"8"
class=
"t-c"
>
<el-form-item
label=
"完成时间"
class=
"t-b"
>
<el-date-picker
v-model=
"completeRangeTime"
type=
"daterange"
value-format=
"yyyy-MM-dd"
range-separator=
"-"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
style=
"width: 280px"
:picker-options=
"pickerOptions1"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
type=
"flex"
justify=
"center"
align=
"center"
>
<el-col
:span=
"24"
class=
"btn-wrap"
>
<el-button
type=
"primary"
class=
"submit-btn"
@
click=
"search"
>
搜索
</el-button
>
<el-button
type=
"warning"
class=
"submit-btn"
@
click=
"reset"
>
重置
</el-button
>
<el-button
type=
"success"
class=
"submit-btn"
>
批量设置运营
</el-button
>
<el-button
type=
"info"
class=
"submit-btn"
@
click=
"download"
>
导出
</el-button
>
</el-col>
</el-row>
</el-form>
<el-tabs
v-model=
"activeName"
@
tab-click=
"handleClick"
>
<el-tab-pane
:label=
"item.label"
:name=
"item.active"
v-for=
"item in tabpaneList"
:key=
"item.active"
>
<table-component
:tData=
"tableData"
:pageNo=
"searchParam.pageNo"
:pageSize=
"searchParam.pageSize"
:totalRows=
"totalRows"
:loading=
"loading"
:tableHeight=
"tableHeight"
@
witeDiagnose=
"witeDiagnose"
@
changeRun=
"changeRun"
@
goDetail=
"goDetail"
@
witeGo=
"witeGo"
@
waitMatchDot=
"waitMatchDot"
@
sendMessage=
"sendMessage"
@
joinDiagnose=
"joinDiagnose"
@
matchRun=
"matchRun"
@
goEditor=
"goEditor"
@
waitDiagnose=
"waitDiagnose"
@
waitHzeDot=
"waitHzeDot"
@
waitMatchTime=
"waitMatchTime"
@
reMatchDot=
"reMatchDot"
@
changeTime=
"changeTime"
@
call=
"call"
@
doneHandle=
"doneHandle"
@
handleSizeChange=
"handleSizeChange"
@
handleCurrentChange=
"handleCurrentChange"
></table-component>
</el-tab-pane>
</el-tabs>
</div>
</div>
</
template
>
<
script
>
import
TableComponent
from
"@/components/list/table-c"
;
import
{
TYPE_LIST
,
IS_FLLOW
,
CREATE_TYPE
,
SOURCE_LIST
,
OPERATE_LIST
,
ALL_TAB_LIST
,
TRIAGE_TAB_LIST
,
RECEPTION_TAB_LIST
,
}
from
"@/utils/constants"
;
export
default
{
components
:
{
TableComponent
,
},
data
()
{
return
{
endFlag
:
false
,
beginFlag
:
false
,
loading
:
false
,
activeName
:
"1"
,
createRangeTime
:
""
,
matchRangeTime
:
""
,
orderRangeTime
:
""
,
completeRangeTime
:
""
,
searchParam
:
{
searchVal
:
""
,
diagnoseType
:
""
,
createType
:
""
,
followFlag
:
""
,
appointSource
:
""
,
operateFlag
:
""
,
createdTimeBegin
:
""
,
createdTimeEnd
:
""
,
operateTimeBegin
:
""
,
operateTimeEnd
:
""
,
appointBeginTime
:
""
,
appointEndTime
:
""
,
doneTimeBegin
:
""
,
doneTimeEnd
:
""
,
status
:
""
,
//1、初始状态(未支付) 2、待问诊(支付成功待完善) 3、问诊中(已完善) 4、已问诊")
bizType
:
1
,
//1、分页查询 2、导出"
pageSize
:
15
,
pageNo
:
1
,
},
tyleList
:
TYPE_LIST
,
fllowList
:
IS_FLLOW
,
sourceList
:
SOURCE_LIST
,
createList
:
CREATE_TYPE
,
operateList
:
OPERATE_LIST
,
tabpaneList
:
[],
tableData
:
[],
totalRows
:
0
,
timeClickFlag
:
true
,
tableHeight
:
500
,
pickerOptions1
:
{
disabledDate
:
(
time
)
=>
{
return
time
.
getTime
()
>
new
Date
().
getTime
();
//减去一天的时间代表可以选择同一天;
},
},
fromType
:
1
,
//1或不传为 为预约单列表 2为分诊台 3为接诊台
};
},
activated
()
{
this
.
search
();
},
created
()
{
this
.
fromType
=
+
(
this
.
$route
.
query
.
fromType
||
1
);
this
.
setTable
();
},
mounted
()
{
this
.
setTableHeight
();
this
.
search
();
},
methods
:
{
// 不同也main切换不同的tab
setTable
()
{
let
tabs
=
ALL_TAB_LIST
;
switch
(
this
.
fromType
)
{
case
1
:
tabs
=
ALL_TAB_LIST
;
break
;
case
2
:
tabs
=
TRIAGE_TAB_LIST
;
break
;
case
3
:
tabs
=
RECEPTION_TAB_LIST
;
break
;
default
:
tabs
=
ALL_TAB_LIST
;
break
;
}
this
.
tabpaneList
=
tabs
;
},
// 设置table的高度
setTableHeight
()
{
setTimeout
(()
=>
{
this
.
$nextTick
(()
=>
{
if
(
document
.
getElementsByClassName
(
"from-box"
)
&&
document
.
getElementsByClassName
(
"from-box"
)[
0
].
clientHeight
)
{
let
height
=
window
.
innerHeight
-
50
-
140
-
10
-
160
-
document
.
getElementsByClassName
(
"from-box"
)[
0
].
clientHeight
;
if
(
height
>
300
)
{
this
.
tableHeight
=
height
;
}
}
});
},
20
);
},
// tab切换
handleClick
(
val
)
{
this
.
searchParam
.
status
=
val
.
paneName
==
1
?
""
:
val
.
paneName
;
this
.
search
();
},
search
()
{
this
.
searchParam
.
createdTimeBegin
=
this
.
createRangeTime
[
0
];
this
.
searchParam
.
createdTimeEnd
=
this
.
createRangeTime
[
1
];
this
.
searchParam
.
operateTimeBegin
=
this
.
matchRangeTime
[
0
];
this
.
searchParam
.
operateTimeEnd
=
this
.
matchRangeTime
[
1
];
this
.
searchParam
.
appointBeginTime
=
this
.
orderRangeTime
[
0
];
this
.
searchParam
.
appointEndTime
=
this
.
orderRangeTime
[
1
];
this
.
searchParam
.
doneTimeBegin
=
this
.
completeRangeTime
[
0
];
this
.
searchParam
.
doneTimeEnd
=
this
.
completeRangeTime
[
1
];
this
.
loading
=
true
;
let
url
=
`/diagnose/admin/diagnose/list`
;
this
.
searchParam
.
bizType
=
1
;
this
.
searchParam
.
searchVal
=
this
.
searchParam
.
searchVal
.
trim
();
let
params
=
this
.
searchParam
;
this
.
POST
(
url
,
params
).
then
((
res
)
=>
{
this
.
loading
=
false
;
if
(
res
.
code
==
"000000"
)
{
this
.
tableData
=
res
.
data
.
list
;
this
.
totalRows
=
res
.
data
.
allSize
;
}
});
},
// 重置
reset
()
{
this
.
createRangeTime
=
""
;
this
.
matchRangeTime
=
""
;
this
.
orderRangeTime
=
""
;
this
.
completeRangeTime
=
""
;
this
.
searchParam
=
{
searchVal
:
""
,
diagnoseType
:
""
,
createType
:
""
,
followFlag
:
""
,
appointSource
:
""
,
operateFlag
:
""
,
createdTimeBegin
:
""
,
createdTimeEnd
:
""
,
operateTimeBegin
:
""
,
operateTimeEnd
:
""
,
appointBeginTime
:
""
,
appointEndTime
:
""
,
status
:
""
,
//1、初始状态(未支付) 2、待问诊(支付成功待完善) 3、问诊中(已完善) 4、已问诊")
bizType
:
1
,
//1、分页查询 2、导出"
pageSize
:
15
,
pageNo
:
1
,
};
this
.
search
();
},
// 导出
download
()
{
},
//设为待问诊
witeDiagnose
(
row
)
{
},
//更换运营
changeRun
(
row
)
{
},
//查看详情
goDetail
(
row
)
{
},
//取消/退款
cancelBtn
(
row
)
{
},
//设为稍后跟进
witeGo
(
row
)
{
},
//设为待匹配医生
waitMatchDot
(
row
)
{
},
//发送消息
sendMessage
(
row
)
{
},
//加入问诊
joinDiagnose
(
row
)
{
},
//匹配运营
matchRun
(
row
)
{
},
//设为待分诊
waitDiagnose
(
row
)
{
},
//设为待协调医生
waitHzeDot
(
row
)
{
},
//设为待确认时间
waitMatchTime
(
row
)
{
},
//重新匹配医生
reMatchDot
(
row
)
{
},
//修改时间
changeTime
(
row
)
{
},
//发起问诊
call
(
row
)
{
},
//设为已完成
doneHandle
(
row
)
{
},
// 编辑页面
goEditor
(
row
,
flag
)
{
this
.
$router
.
push
({
path
:
"/diagnosis-editor"
,
query
:
{
id
:
row
.
diagnoseLogId
,
editorType
:
flag
},
});
},
handleSizeChange
(
value
)
{
this
.
searchParam
.
pageSize
=
value
;
this
.
search
();
},
handleCurrentChange
(
value
)
{
this
.
searchParam
.
pageNo
=
value
;
this
.
search
();
},
// 清除直播时间相关的seession
clearSession
()
{
sessionStorage
.
removeItem
(
"TIME_askTime"
);
sessionStorage
.
removeItem
(
"TIME_answerTime"
);
sessionStorage
.
removeItem
(
"TIME_useTime"
);
sessionStorage
.
removeItem
(
"TIME_loseTime"
);
},
// 取消预约
cancelBtn
(
row
)
{
}
}
};
</
script
>
<
style
lang=
"scss"
scoped
>
.diagnosis-list-content
{
.component-content
{
padding
:
10px
;
background
:
#fff
;
overflow
:
hidden
!
important
;
.title
{
margin-bottom
:
20px
;
}
.t-c
{
//text-align: center;
}
.btn-wrap
{
text-align
:
right
;
}
.submit-btn
{
margin-right
:
50px
;
margin-top
:
10px
;
}
.t-b
{
margin-bottom
:
10px
;
}
}
}
</
style
>
src/views/IM/diagnosis-admin/diagnosis-list-old.vue
已删除
100644 → 0
浏览文件 @
6c61fa4e
<
template
>
<div
class=
"diagnosis-list-content"
>
<div
class=
"component-content screenSet"
id=
"screenSet"
>
<div
class=
"title"
>
咨询订单管理后台
</div>
<el-form
ref=
"form"
:inline=
"true"
:model=
"searchParam"
label-suffix=
":"
label-width=
"120px"
label-position=
"right"
style=
"width:100%;"
>
<el-row
:gutter=
"30"
type=
"flex"
style=
"margin-bottom:0;"
>
<el-col
:span=
"21"
>
<el-form-item
label=
"搜索"
>
<el-input
v-model=
"searchParam.searchVal"
clearable
placeholder=
"支付订单、医生姓名、运营姓名搜索"
style=
"width:300px;"
@
change=
"search(1)"
></el-input>
</el-form-item>
<el-form-item
label=
""
>
<el-select
v-model=
"searchParam.status"
@
change=
"search(1)"
clearable
placeholder=
"问诊状态"
style=
"width:150px"
>
<el-option
v-for=
"(eItem,eIndex) in diagnosisSelect"
:key=
"eIndex"
:label=
"eItem.value"
:value=
"eItem.no"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
""
>
<el-select
v-model=
"searchParam.diagnoseType"
@
change=
"search(1)"
clearable
placeholder=
"问诊类型"
style=
"width:150px"
>
<el-option
v-for=
"(eItem,eIndex) in diagnosisTypeSelect"
:key=
"eIndex"
:label=
"eItem.value"
:value=
"eItem.no"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"3"
style=
"padding:0;text-align:right;padding-right:15px;"
>
<el-button
type=
"primary"
size=
"small"
@
click=
"search(1)"
>
搜索
</el-button>
</el-col>
</el-row>
</el-form>
<!-- 表格 -->
<el-tabs
v-model=
"activeName"
@
tab-click=
"handleClick"
>
<el-tab-pane
label=
"已接诊"
name=
"first"
>
<el-table
class=
"search-table"
:data=
"tableData"
style=
"width: 100%"
v-loading=
"loading"
>
<el-table-column
prop=
"orderNo"
label=
"订单ID"
min-width=
"170"
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=
"diagnoseType"
label=
"问诊类型"
min-width=
"80"
align=
"left"
>
<template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
diagnoseType
|
diagnosisTypeFilter
}}
</span>
</
template
>
</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=
"120"
align=
"left"
></el-table-column>
<el-table-column
prop=
"userName"
label=
"问诊患者"
min-width=
"120"
align=
"left"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
patientName
}}
</span>
<span></span>
<span>
(
{{
scope
.
row
.
userName
}}
)
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"userMobile"
label=
"问诊电话"
min-width=
"120"
align=
"left"
></el-table-column>
<el-table-column
prop=
"price"
label=
"价格"
min-width=
"60"
align=
"left"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
price
|
priceFilter
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"appointBeginTime"
label=
"预约时间"
min-width=
"160"
align=
"left"
>
<
template
slot-scope=
"scope"
>
<p>
{{
scope
.
row
.
appointBeginTime
}}
</p>
<p>
{{
scope
.
row
.
appointEndTime
}}
</p>
</
template
>
</el-table-column>
<el-table-column
prop=
"statusStr"
label=
"问诊状态"
min-width=
"80"
align=
"left"
></el-table-column>
<el-table-column
label=
"操作"
fixed=
"right"
align=
"center"
min-width=
"150"
>
<
template
slot-scope=
"scope"
>
<!-- 1 初始状态 2待咨询 3 咨询中 4已结束 -->
<div>
<el-button
v-if=
"scope.row.status != 4"
type=
"primary"
size=
"small"
@
click=
"timeHandle(scope.row)"
style=
"margin-top: 10px;"
>
修改时间
</el-button>
<el-button
v-if=
"scope.row.status == 3"
type=
"primary"
size=
"small"
@
click=
"endDiagnosis(scope.row)"
style=
"margin-top: 10px;"
>
结束
</el-button>
</div>
<div>
<el-button
v-if=
"scope.row.status == 3 && scope.row.imStatus == 1"
type=
"primary"
size=
"small"
@
click=
"callAll(scope.row)"
style=
"margin-top: 10px;"
>
呼叫双方
</el-button>
<el-button
v-if=
"scope.row.status == 3 && scope.row.imStatus == 2"
type=
"primary"
size=
"small"
@
click=
"jionCommunicate(scope.row)"
style=
"margin-top: 10px;"
>
加入问诊
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"sendMessage(scope.row)"
style=
"margin-top: 10px;"
>
发送消息
</el-button>
</div>
</
template
>
</el-table-column>
</el-table>
<!-- 分页 -->
<div
class=
"pagination"
>
<el-pagination
background
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page=
"searchParam.pageNo"
:page-sizes=
"[15, 30, 50, 100, 200, 500, 700, 1000, 1500, 2000]"
:page-size=
"searchParam.pageSize"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"totalRows"
>
</el-pagination>
</div>
</el-tab-pane>
<el-tab-pane
label=
"未匹配"
name=
"second"
>
<el-table
class=
"search-table"
:data=
"tableData"
style=
"width: 100%"
v-loading=
"loading"
>
<el-table-column
prop=
"orderNo"
label=
"订单ID"
min-width=
"170"
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=
"diagnoseType"
label=
"问诊类型"
min-width=
"80"
align=
"left"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
diagnoseType
|
diagnosisTypeFilter
}}
</span>
</
template
>
</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=
"120"
align=
"left"
></el-table-column>
<el-table-column
label=
"问诊患者"
min-width=
"120"
align=
"left"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
patientName
}}
</span>
<span></span>
<span>
(
{{
scope
.
row
.
userName
}}
)
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"userMobile"
label=
"问诊电话"
min-width=
"120"
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=
"160"
align=
"left"
>
<
template
slot-scope=
"scope"
>
<p>
{{
scope
.
row
.
appointBeginTime
}}
</p>
<p>
{{
scope
.
row
.
appointEndTime
}}
</p>
</
template
>
</el-table-column>
<el-table-column
prop=
"statusStr"
label=
"问诊状态"
min-width=
"80"
align=
"left"
></el-table-column>
<el-table-column
label=
"操作"
fixed=
"right"
align=
"center"
min-width=
"100"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"primary"
size=
"small"
@
click=
"selectBtn(scope.row)"
>
选择
</el-button>
</
template
>
</el-table-column>
</el-table>
<div
class=
"pagination"
>
<el-pagination
background
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page=
"searchParam.pageNo"
:page-sizes=
"[15, 30, 50, 100, 200, 500, 700, 1000, 1500, 2000]"
:page-size=
"searchParam.pageSize"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"totalRows"
>
</el-pagination>
</div>
</el-tab-pane>
</el-tabs>
<!-- 预约时间 -->
<el-dialog
title=
"预约时间"
:visible
.
sync=
"timeVisible"
width=
"40%"
>
<el-row
:gutter=
"30"
class=
"row search"
type=
"flex"
style=
"margin-bottom:0;"
>
<el-form
ref=
"timeForm"
:rules=
"timeRules"
:model=
"timeForm"
label-width=
"150px"
label-suffix=
":"
label-position=
"right"
size=
"mini"
style=
"width: 100%;"
>
<el-col
:span=
"24"
>
<el-form-item
label=
"开始时间"
prop=
"beginTime"
>
<el-date-picker
v-model=
"timeForm.beginTime"
type=
"datetime"
placeholder=
"请选择开始时间"
value-format=
"yyyy-MM-dd HH:mm:ss"
@
change=
"changeBeginTime"
>
</el-date-picker>
<p
v-if=
"beginFlag"
style=
"color: red;font-size: 12px"
>
开始时间不能大于结束时间
</p>
</el-form-item>
<el-form-item
label=
"结束时间"
prop=
"endTime"
>
<el-date-picker
v-model=
"timeForm.endTime"
type=
"datetime"
placeholder=
"请选择结束时间"
value-format=
"yyyy-MM-dd HH:mm:ss"
@
change=
"changeEndTime"
>
</el-date-picker>
<p
v-if=
"endFlag"
style=
"color: red;font-size: 12px"
>
结束时间不能小于开始时间
</p>
</el-form-item>
</el-col>
</el-form>
</el-row>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"timeVisible = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"confirmTime"
>
确 定
</el-button>
</span>
</el-dialog>
</div>
</div>
</template>
<
script
>
export
default
{
data
(){
return
{
endFlag
:
false
,
beginFlag
:
false
,
loading
:
false
,
activeName
:
'second'
,
timeVisible
:
false
,
searchParam
:
{
searchVal
:
''
,
status
:
''
,
// 2、待问诊3、问诊中 4、已问诊"
diagnoseType
:
''
,
// 1、音频 2、视频
tab
:
2
,
// 1、已分配 2、未分配
pageSize
:
15
,
pageNo
:
1
},
timeForm
:{
diagnoseLogId
:
''
,
beginTime
:
''
,
endTime
:
''
},
timeSelect
:
[],
diagnosisSelect
:
[],
diagnosisTypeSelect
:
[],
tableData
:
[],
totalRows
:
0
,
timeRules
:
{
'beginTime'
:
[
{
required
:
true
,
message
:
'请选择预约开始时间'
,
trigger
:
'change'
}
],
'endTime'
:
[
{
required
:
true
,
message
:
'请选择预约结束时间'
,
trigger
:
'change'
}
]
},
liveBack
:
false
,
timeClickFlag
:
true
}
},
mounted
()
{
this
.
liveBack
=
this
.
$route
.
query
.
liveBack
||
false
if
(
this
.
liveBack
)
{
this
.
activeName
=
'first'
this
.
searchParam
.
tab
=
1
}
else
{
this
.
activeName
=
'second'
this
.
searchParam
.
tab
=
2
}
this
.
getDiagnoseTypeList
()
this
.
getDiagnoseList
()
this
.
search
()
},
methods
:
{
changeBeginTime
(
val
)
{
this
.
beginFlag
=
false
this
.
endFlag
=
false
let
b
=
new
Date
(
val
).
getTime
(),
e
if
(
this
.
timeForm
.
endTime
)
{
e
=
new
Date
(
this
.
timeForm
.
endTime
).
getTime
()
}
if
(
val
)
this
.
beginFlag
=
b
>
e
?
true
:
false
},
changeEndTime
(
val
)
{
this
.
beginFlag
=
false
this
.
endFlag
=
false
let
b
=
new
Date
(
val
).
getTime
(),
e
if
(
this
.
timeForm
.
beginTime
)
{
e
=
new
Date
(
this
.
timeForm
.
beginTime
).
getTime
()
}
if
(
val
)
this
.
endFlag
=
b
<
e
?
true
:
false
},
// 问诊类型
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切换
handleClick
(
val
)
{
this
.
searchParam
.
tab
=
val
.
name
==
'second'
?
2
:
1
this
.
search
()
},
search
(
a
)
{
if
(
a
)
this
.
searchParam
.
pageNo
=
1
this
.
loading
=
true
let
url
=
`/diagnose/admin/diagnose/`
let
params
=
this
.
searchParam
this
.
POST
(
url
,
params
).
then
(
res
=>
{
this
.
loading
=
false
if
(
res
.
code
==
"000000"
)
{
this
.
tableData
=
res
.
data
.
list
this
.
totalRows
=
res
.
data
.
allSize
}
});
},
// 预约时间
timeHandle
(
row
)
{
this
.
beginFlag
=
false
this
.
endFlag
=
false
this
.
timeVisible
=
true
if
(
this
.
$refs
.
timeForm
)
{
this
.
$refs
.
timeForm
.
resetFields
()
}
this
.
timeForm
.
diagnoseLogId
=
row
.
diagnoseLogId
this
.
timeForm
.
beginTime
=
row
.
appointBeginTime
this
.
timeForm
.
endTime
=
row
.
appointEndTime
},
confirmTime
()
{
let
timeoutId
=
null
if
(
this
.
timeClickFlag
)
{
this
.
timeClickFlag
=
false
timeoutId
&&
clearTimeout
(
timeoutId
)
timeoutId
=
setTimeout
(()
=>
{
this
.
clickHandle
()
},
2000
)
}
},
// 防止按钮多次点击
clickHandle
()
{
this
.
$refs
.
timeForm
.
validate
((
valid
)
=>
{
if
(
valid
)
{
if
(
this
.
beginFlag
||
this
.
endFlag
)
{
return
}
this
.
loading
=
true
this
.
POST
(
'/diagnose/admin/diagnose/appointTime'
,
this
.
timeForm
).
then
(
res
=>
{
this
.
loading
=
false
this
.
timeClickFlag
=
true
if
(
res
.
code
==
"000000"
)
{
this
.
$message
({
message
:
'修改预约时间成功'
,
type
:
"success"
});
this
.
searchParam
.
tab
=
1
this
.
timeVisible
=
false
this
.
search
()
}
else
{
this
.
$message
({
message
:
res
.
message
,
type
:
"error"
})
}
});
}
})
},
// 结束问诊
endDiagnosis
(
row
)
{
this
.
$confirm
(
'确定结束问诊吗?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
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
()
}
else
{
this
.
$message
({
message
:
res
.
message
,
type
:
"error"
})
}
});
})
},
// 呼叫双方
callAll
(
row
)
{
this
.
$confirm
(
'确定呼叫双方吗?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
this
.
POST
(
`/diagnose/admin/diagnose/call/
${
row
.
diagnoseLogId
}
`
,
''
).
then
(
res
=>
{
if
(
res
.
code
!=
"000000"
)
{
this
.
$message
({
message
:
res
.
message
,
type
:
"error"
})
}
})
})
},
// 加入问诊
jionCommunicate
(
row
)
{
this
.
$confirm
(
'确定加入问诊吗?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
this
.
clearSession
()
this
.
$router
.
push
({
path
:
'/diagnosis-live'
,
query
:
{
tid
:
row
.
imTeamId
,
diagnoseLogId
:
row
.
diagnoseLogId
}})
})
},
// 发送消息
sendMessage
(
row
)
{
this
.
$router
.
push
({
path
:
'/diagnosis-im'
,
query
:
{
tid
:
row
.
imTeamId
}})
},
// 选择
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
()
}
else
{
this
.
$message
({
message
:
res
.
message
,
type
:
"error"
})
}
})
.
catch
((
error
)
=>
{
this
.
$message
({
message
:
error
,
type
:
"error"
})
})
this
.
activeName
=
'first'
this
.
searchParam
.
tab
=
1
this
.
search
()
},
handleSizeChange
(
value
)
{
this
.
searchParam
.
pageSize
=
value
this
.
search
()
},
handleCurrentChange
(
value
)
{
this
.
searchParam
.
pageNo
=
value
this
.
search
()
},
// 清除直播时间相关的seession
clearSession
()
{
sessionStorage
.
removeItem
(
'TIME_askTime'
)
sessionStorage
.
removeItem
(
'TIME_answerTime'
)
sessionStorage
.
removeItem
(
'TIME_useTime'
)
sessionStorage
.
removeItem
(
'TIME_loseTime'
)
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.diagnosis-list-content
{
.component-content
{
padding
:
10px
;
background
:
#fff
;
overflow
:
hidden
!
important
;
.title
{
margin-bottom
:
30px
;
}
}
}
</
style
>
\ No newline at end of file
src/views/IM/diagnosis-admin/down-list.vue
0 → 100644
浏览文件 @
455e5f76
<
template
>
<div
class=
"down-list"
>
<el-table
class=
"search-table"
:data=
"tableData"
style=
"width: 100%"
v-loading=
"loading"
>
<el-table-column
v-for=
"item in tableColumn"
:key=
"item.prop"
:prop=
"item.prop"
:label=
"item.label"
:show-overflow-tooltip=
"item.showtooltip"
min-width=
"170"
align=
"center"
></el-table-column>
<el-table-column
label=
"操作"
fixed=
"right"
align=
"center"
min-width=
"400"
>
<template
slot-scope=
"scope"
>
<el-button
type=
"primary"
size=
"small"
@
click=
"download(scope.row)"
style=
"margin-top: 10px"
>
下载
</el-button
>
</
template
>
</el-table-column>
</el-table>
<!-- 分页 -->
<div
class=
"pagination"
>
<el-pagination
background
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page=
"pageNo"
:page-sizes=
"[15, 30, 50, 100, 200]"
:page-size=
"pageSize"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"totalRows"
>
</el-pagination>
</div>
</div>
</template>
<
script
>
export
default
{
data
()
{
return
{
pageSize
:
15
,
pageNo
:
1
,
totalRows
:
0
,
loading
:
false
,
tableData
:
[],
tableColumn
:
[
{
prop
:
"名称"
,
label
:
"名称"
,
showtooltip
:
false
,
},
{
prop
:
"时间"
,
label
:
"时间"
,
showtooltip
:
false
,
},
{
prop
:
"状态"
,
label
:
"状态"
,
showtooltip
:
false
,
},
],
};
},
methods
:
{
// 导出
download
()
{
let
url
=
`/diagnose/admin/diagnose/export`
;
let
params
=
this
.
searchParam
;
params
.
bizType
=
2
;
this
.
POST
(
url
,
params
)
.
then
((
res
)
=>
{
if
(
res
.
code
==
"000000"
)
{
this
.
downloadFile
(
res
.
data
.
attachments
.
base64
,
res
.
data
.
attachments
.
name
);
}
})
.
catch
((
err
)
=>
{
console
.
log
(
"网络出现点儿问题,稍后重试"
);
});
},
/* 文件下载*/
downloadFile
(
base64
,
name
)
{
let
a
=
document
.
createElement
(
"a"
);
let
href
=
"data:application/xls;base64,"
+
base64
;
a
.
setAttribute
(
"href"
,
href
);
a
.
setAttribute
(
"download"
,
name
);
a
.
click
();
this
.
$message
.
success
(
"导出成功"
);
},
handleSizeChange
(
value
)
{
this
.
pageSize
=
value
;
},
handleCurrentChange
(
value
)
{
this
.
pageNo
=
value
;
},
},
};
</
script
>
<
style
>
</
style
>
\ No newline at end of file
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录