Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
F
frontend-h5
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
songrui
frontend-h5
Commits
0e094af9
Commit
0e094af9
authored
Feb 19, 2025
by
芮自成
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
专病随访治疗方案修改
parent
759fe2eb
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
297 additions
and
10 deletions
+297
-10
Doctor.vue
src/doctor/Doctor.vue
+1
-1
InspectV2.vue
src/doctor/followUp/separateFU/components/InspectV2.vue
+1
-1
TreatmentPlan.vue
src/doctor/followUp/separateFU/components/TreatmentPlan.vue
+257
-0
FormCont.vue
src/doctor/followUp/separateFU/form/FormCont.vue
+16
-3
CoronaryHeartDiseaseForm.vue
...p/separateFU/form/components/CoronaryHeartDiseaseForm.vue
+11
-3
Visit.vue
src/doctor/patientDetail/components/disease/Visit.vue
+11
-2
No files found.
src/doctor/Doctor.vue
View file @
0e094af9
...
@@ -66,7 +66,7 @@ export default {
...
@@ -66,7 +66,7 @@ export default {
if
(
!
token
)
{
if
(
!
token
)
{
token
=
sessionStorage
.
getItem
(
'token'
)
token
=
sessionStorage
.
getItem
(
'token'
)
if
(
process
.
env
.
NODE_ENV
!==
'production'
)
{
if
(
process
.
env
.
NODE_ENV
!==
'production'
)
{
token
=
'
2107bb74-6f66-4eaa-9c84-ebe1b43c6687
'
token
=
'
4250f686-93a3-4368-ad0c-a09e6c818500
'
}
}
}
}
if
(
token
)
{
if
(
token
)
{
...
...
src/doctor/followUp/separateFU/components/InspectV2.vue
View file @
0e094af9
...
@@ -25,7 +25,7 @@
...
@@ -25,7 +25,7 @@
<div
class=
"del-btn"
@
click=
"onDel(index)"
>
删除
</div>
<div
class=
"del-btn"
@
click=
"onDel(index)"
>
删除
</div>
</div>
</div>
</div>
</div>
<van-button
type=
"primary"
plain
block
@
click=
"onPlus"
>
增加检查
</van-button>
<van-button
type=
"primary"
size=
"small"
plain
block
@
click=
"onPlus"
>
增加检查
</van-button>
</
template
>
</
template
>
<
script
>
<
script
>
import
DocImageUpload
from
'@/doctor/components/docImageUpload/DocImageUpload.vue'
import
DocImageUpload
from
'@/doctor/components/docImageUpload/DocImageUpload.vue'
...
...
src/doctor/followUp/separateFU/components/TreatmentPlan.vue
0 → 100644
View file @
0e094af9
<
template
>
<div
class=
"label-title mt-2"
>
治疗方案
</div>
<div
class=
"bg-fa"
>
<div
style=
"font-size: 14px"
>
是否调整治疗方案
</div>
<van-field
style=
"padding: 0"
class=
"mt-2"
>
<template
#
input
>
<van-radio-group
v-model=
"form.adjustTreat"
shape=
"dot"
direction=
"horizontal"
class=
"doc-radio-group-now"
>
<van-radio
v-for=
"item in store.getDict('DC00001')"
:key=
"item.value"
:name=
"item.value"
label-position=
"left"
>
{{
item
.
name
}}
</van-radio>
</van-radio-group>
</
template
>
</van-field>
</div>
<div
v-if=
"form.adjustTreat === 1"
class=
"bg-fa mt-2"
>
<div
v-for=
"(item, index) in medicateCase"
:key=
"index"
style=
"background-color: #fff; padding: 8px"
class=
"mb-2"
>
<DocDrug
v-model:value=
"item.drugId"
placeholder=
"拼音码查询药品"
@
change=
"drugChange($event, item)"
>
</DocDrug>
<div
class=
"flex items-center justify-between w-full mt-2"
>
<van-field
v-model=
"item.dose"
placeholder=
"请输入"
label=
"剂量:"
class=
"form-input"
style=
"flex: 0.6"
/>
<van-field
v-model=
"item.unitName"
isLink
readonly
placeholder=
"请选择"
@
click=
"item.showUnit = true"
class=
"form-input"
style=
"flex: 0.4"
/>
</div>
<van-popup
v-model:show=
"item.showUnit"
position=
"bottom"
>
<div
class=
"p-4"
style=
"height: 100%"
>
<div
class=
"flex justify-between items-center mb-4 pop-title"
>
<div
class=
"greyColor"
@
click=
"item.showUnit = false"
>
取消
</div>
<div>
随访方式(单选)
</div>
<div></div>
</div>
<div
style=
"height: 80%; overflow: auto"
>
<CheckBtn
clearable
column-1
:options=
"store.getDict('CP00081')"
v-model:value=
"item.unit"
:fieldNames=
"{ text: 'name', value: 'value' }"
@
change=
"unitChange(item)"
/>
</div>
</div>
</van-popup>
<!-- 频次 -->
<van-field
label=
"频次:"
v-model=
"item.frequencyName"
isLink
readonly
placeholder=
"请选择"
@
click=
"item.showFrequency = true"
class=
"form-input mt-2"
/>
<van-popup
v-model:show=
"item.showFrequency"
position=
"bottom"
>
<div
class=
"p-4"
style=
"height: 100%"
>
<div
class=
"flex justify-between items-center mb-4 pop-title"
>
<div
class=
"greyColor"
@
click=
"item.showFrequency = false"
>
取消
</div>
<div>
随访方式(单选)
</div>
<div></div>
</div>
<div
style=
"height: 80%; overflow: auto"
>
<CheckBtn
clearable
column-2
:options=
"store.getDict('CP00084')"
v-model:value=
"item.frequency"
:fieldNames=
"{ text: 'name', value: 'value' }"
@
change=
"frequencyChange(item)"
/>
</div>
</div>
</van-popup>
<!-- 用法 -->
<van-field
label=
"用法:"
v-model=
"item.usageName"
isLink
readonly
placeholder=
"请选择"
@
click=
"item.showUsage = true"
class=
"form-input mt-2"
/>
<van-popup
v-model:show=
"item.showUsage"
position=
"bottom"
>
<div
class=
"p-4"
style=
"height: 100%"
>
<div
class=
"flex justify-between items-center mb-4 pop-title"
>
<div
class=
"greyColor"
@
click=
"item.showUsage = false"
>
取消
</div>
<div>
随访方式(单选)
</div>
<div></div>
</div>
<div
style=
"height: 80%; overflow: auto"
>
<CheckBtn
clearable
column-1
:options=
"store.getDict('CP00083')"
v-model:value=
"item.usage"
:fieldNames=
"{ text: 'name', value: 'value' }"
@
change=
"usageChange(item)"
/>
</div>
</div>
</van-popup>
<div
@
click=
"onDel(index)"
class=
"del-btn"
>
删除
</div>
</div>
<van-button
type=
"primary"
plain
block
size=
"small"
@
click=
"onPlus"
>
增加服用药物
</van-button>
</div>
</template>
<
script
>
import
{
useStore
}
from
'@/doctor/store'
import
DocDrug
from
'@/doctor/components/docDrug/DocDrug.vue'
import
CheckBtn
from
'@/doctor/components/checkBtn/CheckBtn.vue'
export
default
{
components
:
{
DocDrug
,
CheckBtn
},
data
()
{
return
{
store
:
useStore
(),
form
:
{},
showUnit
:
false
,
showFrequency
:
false
,
showUsage
:
false
,
medicateCase
:
[{}]
}
},
methods
:
{
drugChange
(
option
,
item
)
{
item
.
drugName
=
option
.
chemicalName
item
.
pinyinCode
=
option
.
helpCode
},
unitChange
(
item
)
{
this
.
store
.
getDict
(
'CP00081'
).
forEach
(
e
=>
{
if
(
e
.
value
===
item
.
unit
)
{
item
.
unitName
=
e
.
name
}
})
item
.
showUnit
=
false
},
frequencyChange
(
item
)
{
this
.
store
.
getDict
(
'CP00084'
).
forEach
(
e
=>
{
if
(
e
.
value
===
item
.
frequency
)
{
item
.
frequencyName
=
e
.
name
}
})
item
.
showFrequency
=
false
},
usageChange
(
item
)
{
this
.
store
.
getDict
(
'CP00083'
).
forEach
(
e
=>
{
if
(
e
.
value
===
item
.
usage
)
{
item
.
usageName
=
e
.
name
}
})
item
.
showUsage
=
false
},
onPlus
()
{
this
.
medicateCase
.
push
({})
},
onDel
(
index
)
{
this
.
medicateCase
.
splice
(
index
,
1
)
},
submit
()
{
return
new
Promise
((
resolve
,
reject
)
=>
{
resolve
(
this
.
medicateCase
)
})
}
}
}
</
script
>
<
style
lang=
"less"
scoped
>
.label-title {
font-size: 13px;
color: #595959;
font-weight: 500;
margin-bottom: 8px;
&[required] {
&::after {
content: '*';
color: #FF4D4F;
font-weight: bold;
margin-left: 4px;
}
}
}
.bg-fa {
background-color: #FAFAFA;
padding: 8px;
border-radius: 8px;
}
.doc-radio-group-now {
column-gap: 10px;
row-gap: 8px;
background-color: #FAFAFA;
width: 100%;
.van-radio {
background-color: #FFF;
padding: 8px 12px;
border-radius: 8px;
justify-content: space-between;
margin-right: 0;
flex-grow: 1;
}
}
.form-input {
background-color: #FAFAFA;
padding: 8px 12px;
border-radius: 8px;
}
:deep(.van-field) {
border-radius: .08rem;
.van-field__label {
width: auto;
}
}
.pop-title {
color: #262626;
font-size: 16px;
font-weight: 600;
}
.greyColor {
color: var(--van-text-color-2);
font-weight: 400;
}
.del-btn {
text-align: center;
margin: 8px auto;
padding: 4px 8px;
border-radius: 38px;
border: 1px solid #BFBFBF;
width: 112px;
color: #8C8C8C;
font-size: 13px;
}
</
style
>
\ No newline at end of file
src/doctor/followUp/separateFU/form/FormCont.vue
View file @
0e094af9
...
@@ -50,14 +50,29 @@ export default {
...
@@ -50,14 +50,29 @@ export default {
computed
:
{
computed
:
{
residentInfoId
()
{
residentInfoId
()
{
return
this
.
$route
.
query
.
residentInfoId
return
this
.
$route
.
query
.
residentInfoId
},
serveType
()
{
if
(
this
.
diseaseInfo
.
diseaseType
===
1
||
this
.
diseaseInfo
.
diseaseType
===
2
)
{
return
this
.
diseaseInfo
.
serveType
}
else
{
return
3
}
}
}
},
},
methods
:
{
methods
:
{
async
submit
()
{
async
submit
()
{
let
form
=
{
let
form
=
{
...
this
.
diseaseInfo
,
// 本次随访情况-默认在访
visitSituation
:
1
,
// 随访类型(高血压和糖尿病分为常规和新增,其余病种不区分)
serveType
:
this
.
serveType
,
// 居民档案信息
residentsRecord
:
this
.
baseInfo
,
residentsRecord
:
this
.
baseInfo
,
// 居民id
residentInfoId
:
this
.
residentInfoId
,
residentInfoId
:
this
.
residentInfoId
,
// 病种
diseaseType
:
this
.
diseaseInfo
.
diseaseType
,
// 数据来源(2为慢综app)
source
:
2
source
:
2
}
}
if
(
this
.
diseaseInfo
.
diseaseType
===
1
)
{
if
(
this
.
diseaseInfo
.
diseaseType
===
1
)
{
...
@@ -74,8 +89,6 @@ export default {
...
@@ -74,8 +89,6 @@ export default {
},
true
)
},
true
)
}
else
if
(
this
.
diseaseInfo
.
diseaseType
===
3
)
{
}
else
if
(
this
.
diseaseInfo
.
diseaseType
===
3
)
{
const
coronaryHeartDiseaseForm
=
await
this
.
$refs
.
coronaryHeartDiseaseForm
.
submit
()
const
coronaryHeartDiseaseForm
=
await
this
.
$refs
.
coronaryHeartDiseaseForm
.
submit
()
console
.
log
(
coronaryHeartDiseaseForm
)
return
return
await
addCoronaryHeartDiseaseForm
({
return
await
addCoronaryHeartDiseaseForm
({
...
form
,
...
form
,
...
coronaryHeartDiseaseForm
...
coronaryHeartDiseaseForm
...
...
src/doctor/followUp/separateFU/form/components/CoronaryHeartDiseaseForm.vue
View file @
0e094af9
...
@@ -653,6 +653,10 @@
...
@@ -653,6 +653,10 @@
@
click=
"showCurrentDiagnosis = true"
@
click=
"showCurrentDiagnosis = true"
class=
"form-input"
class=
"form-input"
/>
/>
<!-- 治疗方案 -->
<TreatmentPlan
ref=
"treatmentPlan"
></TreatmentPlan>
<!-- 目前诊断 -->
<van-popup
v-model:show=
"showCurrentDiagnosis"
position=
"bottom"
>
<van-popup
v-model:show=
"showCurrentDiagnosis"
position=
"bottom"
>
<div
class=
"p-4"
style=
"height: 100%"
>
<div
class=
"p-4"
style=
"height: 100%"
>
<div
class=
"flex justify-between items-center mb-4 pop-title"
>
<div
class=
"flex justify-between items-center mb-4 pop-title"
>
...
@@ -851,8 +855,9 @@ import DocOffice from '@/doctor/components/docOffice/DocOffice.vue'
...
@@ -851,8 +855,9 @@ import DocOffice from '@/doctor/components/docOffice/DocOffice.vue'
import
DocOfficeDoctor
from
'@/doctor/components/docOfficeDoctor/DocOfficeDoctor.vue'
import
DocOfficeDoctor
from
'@/doctor/components/docOfficeDoctor/DocOfficeDoctor.vue'
import
InspectV2
from
'../../components/InspectV2.vue'
import
InspectV2
from
'../../components/InspectV2.vue'
import
TreatmentPlan
from
'../../components/TreatmentPlan.vue'
export
default
{
export
default
{
components
:
{
CheckBtn
,
BloodPressurePanel
,
BloodPressureBt
,
DocImageUpload
,
DocUnit
,
DocOffice
,
DocOfficeDoctor
,
InspectV2
},
components
:
{
CheckBtn
,
BloodPressurePanel
,
BloodPressureBt
,
DocImageUpload
,
DocUnit
,
DocOffice
,
DocOfficeDoctor
,
InspectV2
,
TreatmentPlan
},
inject
:
[
'pressureObj'
],
inject
:
[
'pressureObj'
],
props
:
{
props
:
{
diseaseInfo
:
{
diseaseInfo
:
{
...
@@ -1180,7 +1185,7 @@ export default {
...
@@ -1180,7 +1185,7 @@ export default {
},
},
symptomConfirm
()
{
symptomConfirm
()
{
let
list
=
[]
let
list
=
[]
this
.
store
.
getDict
(
'CP000
58
'
).
forEach
(
item
=>
{
this
.
store
.
getDict
(
'CP000
60
'
).
forEach
(
item
=>
{
let
selected
=
this
.
form
.
symptom
.
filter
(
e
=>
e
===
item
.
value
)
let
selected
=
this
.
form
.
symptom
.
filter
(
e
=>
e
===
item
.
value
)
if
(
selected
&&
selected
.
length
)
{
if
(
selected
&&
selected
.
length
)
{
list
.
push
(
item
.
name
)
list
.
push
(
item
.
name
)
...
@@ -1231,6 +1236,8 @@ export default {
...
@@ -1231,6 +1236,8 @@ export default {
this
.
$refs
.
form
.
validate
().
then
(
async
()
=>
{
this
.
$refs
.
form
.
validate
().
then
(
async
()
=>
{
// 辅助检查
// 辅助检查
const
inspectList
=
await
this
.
$refs
.
inspectRef
.
submit
()
const
inspectList
=
await
this
.
$refs
.
inspectRef
.
submit
()
// 治疗方案
const
medicateCase
=
await
this
.
$refs
.
treatmentPlan
.
submit
()
const
form
=
fetchDataHandle
(
this
.
form
,
{
const
form
=
fetchDataHandle
(
this
.
form
,
{
symptom
:
'arrToStr'
,
symptom
:
'arrToStr'
,
...
@@ -1238,7 +1245,8 @@ export default {
...
@@ -1238,7 +1245,8 @@ export default {
})
})
resolve
({
resolve
({
...
form
,
...
form
,
inspectList
:
inspectList
inspectList
:
inspectList
,
medicateCase
:
JSON
.
stringify
(
medicateCase
)
})
})
}).
catch
(
e
=>
{
}).
catch
(
e
=>
{
...
...
src/doctor/patientDetail/components/disease/Visit.vue
View file @
0e094af9
...
@@ -176,8 +176,17 @@ export default {
...
@@ -176,8 +176,17 @@ export default {
})
})
}
}
},
},
editBtn
()
{
editBtn
(
item
)
{
if
(
item
.
serveType
===
3
||
item
.
serveType
===
4
)
{
this
.
$router
.
push
({
path
:
'/doctor/followUp/separateFU/add'
,
query
:
{
residentInfoId
:
item
.
residentInfoId
,
diseaseType
:
item
.
diseaseType
,
id
:
item
.
relationId
}
})
}
},
},
delBtn
()
{
delBtn
()
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment