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
提交
699f4622
提交
699f4622
编写于
4月 03, 2024
作者:
zhaosheng.zhang
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'feature/task/diagnosis-list' into 'release'
Feature/task/diagnosis list See merge request
!294
上级
10a867e6
3b1c9a51
变更
6
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
276 行增加
和
17 行删除
+276
-17
diagnosis-doctor.vue
src/components/common/diagnosis-doctor.vue
+8
-5
table-set-component.vue
src/components/list/table-set-component.vue
+40
-4
diagnosis-list-new.js
src/utils/GeneralData/diagnosis-list-new.js
+10
-0
constants.js
src/utils/constants.js
+15
-0
diagnosis-editor.vue
src/views/IM/diagnosis-admin/diagnosis-editor.vue
+147
-2
diagnosis-list-new.vue
src/views/IM/diagnosis-admin/diagnosis-list-new.vue
+56
-6
未找到文件。
src/components/common/diagnosis-doctor.vue
浏览文件 @
699f4622
...
...
@@ -77,7 +77,7 @@
<span>
未选定医生
</span>
</div>
<div
class=
"work-info-Num"
>
<div
v-if=
"diagnoseType != 4"
>
<div
v-if=
"diagnoseType != 4
&& formData.diagnoseChannel != 3
"
>
<span
class=
"work-info-Num-span"
>
可选排班时间(预约已满需要沟通确定时间)
</span>
...
...
@@ -194,6 +194,10 @@
return
{};
},
},
diagnoseChannel
:
{
type
:
Number
,
default
:
0
,
},
},
data
()
{
return
{
...
...
@@ -218,7 +222,7 @@
receptionBeginTime
:
''
,
receptionEndTime
:
''
,
bizType
:
''
,
diagnoseChannel
:
1
,
diagnoseChannel
:
null
,
doctorDepartmentId
:
''
,
},
doctorList
:
[],
...
...
@@ -291,6 +295,7 @@
)
{
this
.
refreshData
();
}
this
.
formData
.
diagnoseChannel
=
!
this
.
diagnoseChannel
?
1
:
this
.
diagnoseChannel
;
},
methods
:
{
getChooseTimeValue
(
value
,
index
)
{
...
...
@@ -326,7 +331,6 @@
});
},
confirm
()
{
console
.
log
(
this
.
startTime
,
'starrrr'
);
if
(
this
.
formData
.
receptionName
==
''
)
{
this
.
$message
({
message
:
'请先选择接诊医生'
,
...
...
@@ -335,7 +339,7 @@
});
return
false
;
}
if
(
this
.
startTime
==
''
&&
this
.
diagnoseType
!=
4
)
{
if
(
this
.
startTime
==
''
&&
this
.
diagnoseType
!=
4
&&
this
.
formData
.
diagnoseChannel
!=
3
)
{
this
.
$message
({
message
:
'请选择排班时间'
,
type
:
'warning'
,
...
...
@@ -409,7 +413,6 @@
doctorChanged
(
value
)
{
const
selected
=
this
.
doctorList
.
find
((
item
)
=>
item
.
doctorId
===
value
);
if
(
selected
)
{
console
.
log
(
selected
,
'selected'
);
this
.
formData
.
receptionId
=
value
;
this
.
formData
.
receptionName
=
selected
.
doctorName
;
this
.
formData
.
doctorTitle
=
selected
.
doctorTitle
;
...
...
src/components/list/table-set-component.vue
浏览文件 @
699f4622
...
...
@@ -29,7 +29,8 @@
:label=
"item.label"
:show-overflow-tooltip=
"item.showtooltip"
:sortable=
"
item.prop == 'appointBeginTime' || item.prop == 'assistantBeginTime'
item.prop == 'appointBeginTime' || item.prop == 'assistantBeginTime' ||
item.prop == 'assistantTime' || item.prop == 'receptionTime'
? 'custom'
: false
"
...
...
@@ -50,6 +51,26 @@
<p>
{{
scope
.
row
.
receptionBeginTime
}}
</p>
<p>
{{
scope
.
row
.
receptionEndTime
}}
</p>
</div>
<div
v-else-if=
"scope.column.property == 'assistantTime'"
>
<div
:style=
"
{
color: scope.row.diagnoseChannel === 3
&&
scope.row.status === 3 ? 'red' : ''
}"
>
<p
v-if=
"scope.row.diagnoseChannel === 3 && scope.row.status === 3"
>
距自动结束还剩
</p>
<p>
{{
goTime
(
scope
.
row
.
assistantTime
)
}}
</p>
</div>
</div>
<div
v-else-if=
"scope.column.property == 'receptionTime'"
>
<div
:style=
"
{ color: isReceptionTime(scope) ? 'red' : ''}">
<p
v-if=
"isReceptionTime(scope)"
>
距自动取消还剩
</p>
<p>
{{
goTime
(
scope
.
row
.
receptionTime
)
}}
</p>
</div>
</div>
<div
v-else
>
<p>
{{
scope
.
row
[
scope
.
column
.
property
]
}}
</p>
</div>
...
...
@@ -128,8 +149,9 @@
>
修改科室
</el-button>
<!-- 问诊方式不能为小程序问诊 scope.row.diagnoseChannel!==3隐藏发送消息 -->
<el-button
v-if=
"showBtn(scope.row, 3, 4, 5, 6, 21, 22, 23, 24, 25, 26)"
v-if=
"showBtn(scope.row, 3, 4, 5, 6, 21, 22, 23, 24, 25, 26)
&& scope.row.diagnoseChannel !== 3
"
type=
"primary"
size=
"small"
class=
"btn"
...
...
@@ -193,7 +215,7 @@
手动打回
</el-button>
<el-button
v-if=
"scope.row.diagnoseType !== 4 && showBtn(scope.row, 3, 26)"
v-if=
"scope.row.diagnoseType !== 4 && showBtn(scope.row, 3, 26)
&& scope.row.diagnoseChannel !== 3
"
type=
"primary"
size=
"small"
class=
"btn"
...
...
@@ -252,6 +274,9 @@
<
script
>
import
{
DIAGNOS_LIST_NEW
}
from
'@/utils/GeneralData/diagnosis-list-new'
;
import
TabSet
from
'@/components/common/tab-set'
;
import
dayjs
from
'dayjs'
;
import
duration
from
'dayjs/plugin/duration'
;
dayjs
.
extend
(
duration
);
export
default
{
components
:
{
TabSet
,
...
...
@@ -422,7 +447,18 @@
},
callAssistant
(
row
)
{
this
.
$emit
(
'callAssistant'
,
row
);
}
},
// 转成时分秒
goTime
(
time
)
{
return
dayjs
.
duration
(
time
,
'seconds'
).
format
(
'HH:mm:ss'
);
},
isReceptionTime
(
scope
)
{
if
(
scope
.
row
.
diagnoseChannel
===
3
&&
(
scope
.
row
.
status
===
2
||
scope
.
row
.
status
===
21
||
scope
.
row
.
status
===
22
||
scope
.
row
.
status
===
23
||
scope
.
row
.
status
===
24
||
scope
.
row
.
status
===
25
||
scope
.
row
.
status
===
26
)
)
return
true
;
},
},
};
</
script
>
...
...
src/utils/GeneralData/diagnosis-list-new.js
浏览文件 @
699f4622
...
...
@@ -109,6 +109,16 @@ export const DIAGNOS_LIST_NEW = [
label
:
'稍后跟进状态'
,
showtooltip
:
false
,
},
{
prop
:
'assistantTime'
,
label
:
'问诊时长'
,
showtooltip
:
false
,
},
{
prop
:
'receptionTime'
,
label
:
'接诊时长'
,
showtooltip
:
false
,
},
{
prop
:
'operateUserId'
,
label
:
'运营人员ID'
,
...
...
src/utils/constants.js
浏览文件 @
699f4622
...
...
@@ -663,3 +663,18 @@ export const TABLE_COLUMN = [
showtooltip
:
true
,
},
];
export
const
DIAGNOSE_CHANNEL
=
[
{
label
:
'app问诊'
,
value
:
1
,
},
{
label
:
'线下问诊'
,
value
:
2
,
},
{
label
:
'小程序问诊'
,
value
:
3
,
},
];
src/views/IM/diagnosis-admin/diagnosis-editor.vue
浏览文件 @
699f4622
...
...
@@ -81,6 +81,18 @@
value-format=
"yyyy-MM-dd HH:mm:ss"
/>
</el-form-item>
<el-form-item
label=
"订单金额"
prop=
"orderTotalPrice"
>
<el-input
v-model=
"formData.orderTotalPrice"
placeholder=
"请输入问诊价格"
disabled
class=
"set-width"
/>
(单位元)
</el-form-item>
<el-form-item
label=
"问诊价格"
prop=
"price"
...
...
@@ -93,6 +105,33 @@
/>
(单位元)
</el-form-item>
<el-form-item
label=
"诊疗费"
prop=
"additionPrice"
>
<el-input
v-model=
"formData.additionPrice"
placeholder=
"请输入诊疗费"
disabled
class=
"set-width"
/>
(单位元)
</el-form-item>
<el-form-item
label=
"问诊方式"
>
<el-select
v-model=
"formData.diagnoseChannel"
placeholder=
"请选择问诊方式"
class=
"set-width"
disabled
>
<el-option
v-for=
"item of diagnoseChannelList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
/>
</el-select>
</el-form-item>
<el-form-item
label=
"支付方式"
>
<el-select
v-model=
"formData.payType"
...
...
@@ -686,7 +725,7 @@
:
img
-
list
=
"formData.illnessImageUrls"
/>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"
检测报告
"
>
<
el
-
form
-
item
label
=
"
病情文件
"
>
<
div
v
-
for
=
"item in formData.illnessPdfUrls"
:
key
=
"item.name"
...
...
@@ -719,7 +758,71 @@
<
el
-
input
v
-
model
=
"formData.diagnoseAdvice"
type
=
"textarea"
placeholder
=
"请输入更新建议(更新后原建议将被删除)"
placeholder
=
"请填写您对患者病情的诊断描述和建议"
:
disabled
=
"editorType == 2"
maxlength
=
"1000"
show
-
word
-
limit
/>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"中药建议"
prop
=
"tcmAdvice"
>
<
p
class
=
"old-diagnoseAdvice"
>
{{
oldTcmAdvice
}}
<
/p
>
<
el
-
input
v
-
model
=
"formData.tcmAdvice"
type
=
"textarea"
placeholder
=
"请输入建议使用的中药名称及用量、频次等"
:
disabled
=
"editorType == 2"
maxlength
=
"1000"
show
-
word
-
limit
/>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"西药建议"
prop
=
"westernAdvice"
>
<
p
class
=
"old-diagnoseAdvice"
>
{{
oldWesternAdvice
}}
<
/p
>
<
el
-
input
v
-
model
=
"formData.westernAdvice"
type
=
"textarea"
placeholder
=
"请输入建议使用的西药名称及用量、频次等"
:
disabled
=
"editorType == 2"
maxlength
=
"1000"
show
-
word
-
limit
/>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"检查建议"
prop
=
"inspectionAdvice"
>
<
p
class
=
"old-diagnoseAdvice"
>
{{
oldInspectionAdvice
}}
<
/p
>
<
el
-
input
v
-
model
=
"formData.inspectionAdvice"
type
=
"textarea"
placeholder
=
"建议患者进一步作何检查"
:
disabled
=
"editorType == 2"
maxlength
=
"1000"
show
-
word
-
limit
/>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"生活建议"
prop
=
"lifeAdvice"
>
<
p
class
=
"old-diagnoseAdvice"
>
{{
oldLifeAdvice
}}
<
/p
>
<
el
-
input
v
-
model
=
"formData.lifeAdvice"
type
=
"textarea"
placeholder
=
"生活作息、饮食、日常运动等方面的建议"
:
disabled
=
"editorType == 2"
maxlength
=
"1000"
show
-
word
-
limit
...
...
@@ -1006,6 +1109,7 @@ import {
SOURCE_LIST
,
STATUS_LIST
,
TYPE_LIST
,
DIAGNOSE_CHANNEL
}
from
'@/utils/constants'
;
import
{
getBirth
}
from
'@/utils/index'
;
...
...
@@ -1029,6 +1133,10 @@ export default {
loading
:
true
,
btnDisable
:
false
,
oldDiagnoseAdvice
:
''
,
// 旧的诊断建议
oldTcmAdvice
:
''
,
// 旧的中药建议
oldWesternAdvice
:
''
,
oldInspectionAdvice
:
''
,
oldLifeAdvice
:
''
,
formData
:
{
// 预约单信息
diagnoseType
:
''
,
...
...
@@ -1115,9 +1223,13 @@ export default {
name
:
''
,
url
:
''
,
}
,
additionPrice
:
null
,
// 诊疗费
orderTotalPrice
:
null
,
diagnoseChannel
:
null
}
,
tyleList
:
TYPE_LIST
,
payList
:
PAY_LIST
,
diagnoseChannelList
:
DIAGNOSE_CHANNEL
,
sourceList
:
SOURCE_LIST
,
statusList
:
STATUS_LIST
,
carList
:
CAR_LIST
,
...
...
@@ -1281,6 +1393,11 @@ export default {
if
(
res
.
code
==
'000000'
)
{
this
.
formData
=
res
.
data
;
this
.
formData
.
price
=
this
.
priceFilter
(
this
.
formData
.
price
);
this
.
formData
.
additionPrice
=
this
.
priceFilter
(
this
.
formData
.
additionPrice
);
console
.
log
(
'问诊价格====='
,
this
.
formData
.
price
);
console
.
log
(
'诊疗费价格====='
,
this
.
formData
.
additionPrice
);
this
.
formData
.
orderTotalPrice
=
this
.
formData
.
price
+
this
.
formData
.
additionPrice
;
console
.
log
(
'订单总金额====='
,
this
.
formData
.
additionPrice
);
this
.
formData
.
serviceFee
=
this
.
priceFilter
(
this
.
formData
.
serviceFee
);
...
...
@@ -1306,6 +1423,22 @@ export default {
this
.
oldDiagnoseAdvice
=
this
.
formData
.
diagnoseAdvice
;
this
.
formData
.
diagnoseAdvice
=
''
;
}
if
(
this
.
formData
.
tcmAdvice
)
{
this
.
oldTcmAdvice
=
this
.
formData
.
tcmAdvice
;
this
.
formData
.
tcmAdvice
=
''
;
}
if
(
this
.
formData
.
westernAdvice
)
{
this
.
oldWesternAdvice
=
this
.
formData
.
westernAdvice
;
this
.
formData
.
westernAdvice
=
''
;
}
if
(
this
.
formData
.
inspectionAdvice
)
{
this
.
oldInspectionAdvice
=
this
.
formData
.
inspectionAdvice
;
this
.
formData
.
inspectionAdvice
=
''
;
}
if
(
this
.
formData
.
lifeAdvice
)
{
this
.
oldLifeAdvice
=
this
.
formData
.
lifeAdvice
;
this
.
formData
.
lifeAdvice
=
''
;
}
if
(
!
this
.
formData
.
sex
)
{
this
.
formData
.
sex
=
1
;
}
...
...
@@ -1440,6 +1573,18 @@ export default {
if
(
!
params
.
diagnoseAdvice
)
{
params
.
diagnoseAdvice
=
this
.
oldDiagnoseAdvice
;
}
if
(
!
params
.
tcmAdvice
)
{
params
.
tcmAdvice
=
this
.
oldTcmAdvice
;
}
if
(
!
params
.
westernAdvice
)
{
params
.
westernAdvice
=
this
.
oldWesternAdvice
;
}
if
(
!
params
.
inspectionAdvice
)
{
params
.
inspectionAdvice
=
this
.
oldInspectionAdvice
;
}
if
(
!
params
.
lifeAdvice
)
{
params
.
lifeAdvice
=
this
.
oldLifeAdvice
;
}
this
.
loading
=
true
;
this
.
btnDisable
=
true
;
diagnoseUpdate
(
params
)
...
...
src/views/IM/diagnosis-admin/diagnosis-list-new.vue
浏览文件 @
699f4622
...
...
@@ -364,6 +364,27 @@
</el-select>
</el-form-item>
</div>
<div>
<el-form-item
label=
"问诊方式"
class=
"t-b"
>
<el-select
v-model=
"searchParam.diagnoseChannelList"
placeholder=
"请选择问诊方式"
clearable
multiple
style=
"width: 220px"
>
<el-option
v-for=
"item of newDiagnoseChannelList"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
/>
</el-select>
</el-form-item>
</div>
</div>
<div
class=
"form-btn"
>
<div
class=
"form-btn-li"
>
...
...
@@ -519,6 +540,7 @@
:diagnosis-doctor-visible
.
sync=
"diagnosisDoctorVisible"
:diagnose-log-id=
"diagnoseLogId"
:diagnose-type=
"diagnoseType"
:diagnose-channel=
"diagnoseChannel"
:only-change-time=
"onlyChangeTime"
:doctor-id=
"doctorId"
:range-time-data=
"rangeTimeData"
...
...
@@ -603,6 +625,7 @@ import {
SOURCE_LIST
,
TRIAGE_TAB_LIST
,
TYPE_LIST
,
DIAGNOSE_CHANNEL
}
from
'@/utils/constants'
;
import
{
outbounNote
}
from
'../../../api/diagnosis'
;
import
{
callAssistantDoctor
,
updateDiagnosis
}
from
'../../../utils/diagnosis'
;
...
...
@@ -681,6 +704,7 @@ export default {
orderPlacer
:
''
,
matchingWay
:
null
,
consultRoadList
:
[],
diagnoseChannelList
:
[],
patientName
:
null
,
},
noteList
:
[],
...
...
@@ -704,6 +728,7 @@ export default {
value
:
2
,
},
],
newDiagnoseChannelList
:
DIAGNOSE_CHANNEL
,
nextPersonList
:
[
{
label
:
'基层医生'
,
...
...
@@ -741,6 +766,7 @@ export default {
dialogFormVisible
:
false
,
bizType
:
0
,
diagnoseType
:
0
,
diagnoseChannel
:
0
,
consultRoad
:
''
,
doctorId
:
0
,
operateUserID
:
''
,
...
...
@@ -1105,6 +1131,18 @@ export default {
data
.
order
==
'descending'
)
{
this
.
searchParam
.
sort
=
4
;
}
else
if
(
data
.
prop
==
'assistantTime'
)
{
if
(
data
.
order
==
'ascending'
)
{
this
.
searchParam
.
sort
=
5
;
}
else
{
this
.
searchParam
.
sort
=
6
;
}
}
else
if
(
data
.
prop
==
'receptionTime'
)
{
if
(
data
.
order
==
'ascending'
)
{
this
.
searchParam
.
sort
=
7
;
}
else
{
this
.
searchParam
.
sort
=
8
;
}
}
else
{
this
.
searchParam
.
sort
=
null
;
}
...
...
@@ -1177,7 +1215,9 @@ export default {
inNewTimeObj
:
{},
consultRoadList
:
[],
patientName
:
null
,
diagnoseChannelList
:
[]
});
this
.
getsearch
();
},
// 导出
download
()
{
...
...
@@ -1380,6 +1420,7 @@ export default {
this
.
diagnoseLogId
=
row
.
diagnoseLogId
;
this
.
diagnoseType
=
row
.
diagnoseType
;
this
.
consultRoad
=
row
.
consultRoad
;
this
.
diagnoseChannel
=
row
.
diagnoseChannel
;
if
(
row
.
doctorId
==
0
)
{
this
.
doctorId
=
''
;
}
else
{
...
...
@@ -1392,12 +1433,21 @@ export default {
},
// 重新匹配医生
reMatchDot
(
row
,
type
)
{
this
.
rematchingOptions
=
[
'接诊医生爽约'
,
'上级医生日程改变,提前取消'
,
'操作失误,重新匹配医生'
,
'助诊医生爽约'
,
];
if
(
row
.
diagnoseChannel
===
3
)
{
this
.
rematchingOptions
=
[
'接诊医生爽约'
,
'上级医生日程改变,提前取消'
,
'操作失误,重新匹配医生'
,
];
}
else
{
this
.
rematchingOptions
=
[
'接诊医生爽约'
,
'上级医生日程改变,提前取消'
,
'操作失误,重新匹配医生'
,
'助诊医生爽约'
,
'科室不对'
];
}
// this.rematchingOptions=
// this.options=
this
.
rematchingVisible
=
true
;
...
...
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录