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
b772f0f3
Commit
b772f0f3
authored
Feb 21, 2025
by
芮自成
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
糖尿病随访修改
parent
5923c8c9
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
229 additions
and
11 deletions
+229
-11
separateFU.js
src/api/doctor/separateFU.js
+8
-0
Doctor.vue
src/doctor/Doctor.vue
+1
-1
Inspect.vue
src/doctor/followUp/separateFU/components/Inspect.vue
+31
-0
FormCont.vue
src/doctor/followUp/separateFU/form/FormCont.vue
+3
-2
DiabetesForm.vue
...ctor/followUp/separateFU/form/components/DiabetesForm.vue
+186
-8
No files found.
src/api/doctor/separateFU.js
View file @
b772f0f3
...
@@ -9,6 +9,14 @@ export function addHypertensionForm(params) {
...
@@ -9,6 +9,14 @@ export function addHypertensionForm(params) {
export
function
addDiabetesForm
(
params
)
{
export
function
addDiabetesForm
(
params
)
{
return
fetchBase
({
url
:
`/chronic-admin/v1/chronic-visit-diabetes/save`
,
body
:
params
,
loading
:
true
})
return
fetchBase
({
url
:
`/chronic-admin/v1/chronic-visit-diabetes/save`
,
body
:
params
,
loading
:
true
})
}
}
// 修改糖尿病随访
export
function
updateDiabetesForm
(
params
)
{
return
fetchBase
({
url
:
`/chronic-admin/v1/chronic-visit-diabetes/update`
,
body
:
params
,
loading
:
true
})
}
// 主键查询糖尿病随访信息
export
function
getDiabetesForm
(
params
)
{
return
fetchBase
({
url
:
`/chronic-admin/v1/chronic-visit-diabetes/record`
,
body
:
params
,
loading
:
true
})
}
// 新增冠心病随访
// 新增冠心病随访
export
function
addCoronaryHeartDiseaseForm
(
params
)
{
export
function
addCoronaryHeartDiseaseForm
(
params
)
{
...
...
src/doctor/Doctor.vue
View file @
b772f0f3
...
@@ -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
=
'
9ed648f7-a0fe-4fa9-87f2-d4138c17282e
'
token
=
'
b5ab898f-4e29-4311-adce-1c44b1c59798
'
}
}
}
}
if
(
token
)
{
if
(
token
)
{
...
...
src/doctor/followUp/separateFU/components/Inspect.vue
View file @
b772f0f3
...
@@ -246,6 +246,37 @@ export default {
...
@@ -246,6 +246,37 @@ export default {
}
}
return
`
${
item
.
itemName
}
(
${
item
.
itemCode
}
) : `
return
`
${
item
.
itemName
}
(
${
item
.
itemCode
}
) : `
}
}
},
watch
:
{
'form.inspectList'
:
{
handler
()
{
// this.viewData = this.form.inspectList
let
{
inspectList
=
[],
auxiliaryExamination
=
[]
}
=
this
.
form
let
list
=
[]
inspectList
.
forEach
(
x
=>
{
this
.
viewData
.
forEach
(
y
=>
{
if
(
x
.
insType
===
y
.
insType
&&
x
.
itemCode
===
y
.
itemCode
)
{
list
.
push
(
y
)
}
})
})
let
array
=
[]
let
strToArrNum
=
auxiliaryExamination
.
split
(
','
).
map
(
e
=>
+
e
)
strToArrNum
.
forEach
(
x
=>
{
const
items
=
list
.
filter
(
e
=>
e
.
insType
===
x
)
if
(
items
.
length
>
0
)
{
array
.
push
({
insType
:
items
[
0
].
insType
,
insName
:
items
[
0
].
insName
,
items
:
[...
items
]
})
}
})
this
.
form
.
auxiliaryExamination
=
strToArrNum
this
.
viewData
=
array
}
}
}
}
}
}
</
script
>
</
script
>
...
...
src/doctor/followUp/separateFU/form/FormCont.vue
View file @
b772f0f3
...
@@ -52,7 +52,7 @@ import StrokeForm from './components/StrokeForm.vue'
...
@@ -52,7 +52,7 @@ import StrokeForm from './components/StrokeForm.vue'
import
CopdForm
from
'./components/CopdForm.vue'
import
CopdForm
from
'./components/CopdForm.vue'
import
ChronicKidneyDiseaseForm
from
'./components/ChronicKidneyDiseaseForm.vue'
import
ChronicKidneyDiseaseForm
from
'./components/ChronicKidneyDiseaseForm.vue'
import
DyslipidemiaForm
from
'./components/DyslipidemiaForm.vue'
import
DyslipidemiaForm
from
'./components/DyslipidemiaForm.vue'
import
{
addHypertensionForm
,
addDiabetesForm
,
addCoronaryHeartDiseaseForm
,
updateCoronaryHeartDiseaseForm
,
addStrokeForm
,
updateStrokeForm
,
addCopdForm
,
updateCopdForm
,
addChronicKidneyDiseaseForm
,
updateChronicKidneyDiseaseForm
,
addDyslipidemiaForm
,
updateDyslipidemiaForm
}
from
'@/api/doctor/separateFU'
import
{
addHypertensionForm
,
addDiabetesForm
,
updateDiabetesForm
,
addCoronaryHeartDiseaseForm
,
updateCoronaryHeartDiseaseForm
,
addStrokeForm
,
updateStrokeForm
,
addCopdForm
,
updateCopdForm
,
addChronicKidneyDiseaseForm
,
updateChronicKidneyDiseaseForm
,
addDyslipidemiaForm
,
updateDyslipidemiaForm
}
from
'@/api/doctor/separateFU'
export
default
{
export
default
{
components
:
{
HypertensionForm
,
DiabetesForm
,
CoronaryHeartDiseaseForm
,
StrokeForm
,
CopdForm
,
ChronicKidneyDiseaseForm
,
DyslipidemiaForm
},
components
:
{
HypertensionForm
,
DiabetesForm
,
CoronaryHeartDiseaseForm
,
StrokeForm
,
CopdForm
,
ChronicKidneyDiseaseForm
,
DyslipidemiaForm
},
props
:
{
props
:
{
...
@@ -107,7 +107,8 @@ export default {
...
@@ -107,7 +107,8 @@ export default {
},
true
)
},
true
)
}
else
if
(
this
.
diseaseInfo
.
diseaseType
===
2
)
{
}
else
if
(
this
.
diseaseInfo
.
diseaseType
===
2
)
{
const
diabetesForm
=
await
this
.
$refs
.
diabetesForm
.
submit
()
const
diabetesForm
=
await
this
.
$refs
.
diabetesForm
.
submit
()
return
await
addDiabetesForm
({
let
fun
=
id
?
updateDiabetesForm
:
addDiabetesForm
return
await
fun
({
...
form
,
...
form
,
...
diabetesForm
...
diabetesForm
},
true
)
},
true
)
...
...
src/doctor/followUp/separateFU/form/components/DiabetesForm.vue
View file @
b772f0f3
...
@@ -786,6 +786,110 @@
...
@@ -786,6 +786,110 @@
</div>
</div>
</div>
</div>
</van-popup>
</van-popup>
<!-- 治疗方案 -->
<TreatmentPlan
ref=
"treatmentPlan"
:form=
"form"
></TreatmentPlan>
<!-- 胰岛素 -->
<div
class=
"label-title mt-2"
required
>
胰岛素
</div>
<van-field
v-model=
"form.insulinTypeName"
isLink
readonly
placeholder=
"请选择"
:rules=
"rules.insulinTypeName"
@
click=
"showInsulinType = true"
class=
"form-input"
/>
<van-popup
v-model:show=
"showInsulinType"
position=
"bottom"
>
<div
class=
"p-4"
style=
"height: 100%"
>
<div
class=
"flex justify-between items-center mb-4 pop-title"
>
<div
class=
"greyColor"
@
click=
"showInsulinType = false"
>
取消
</div>
<div>
随访方式(单选)
</div>
<div></div>
</div>
<div
style=
"height: 80%; overflow: auto"
>
<CheckBtn
clearable
column-2
:options=
"store.getDict('CP00121')"
v-model:value=
"form.insulinType"
:fieldNames=
"{ text: 'name', value: 'value' }"
@
change=
"insulinTypeChange"
/>
</div>
</div>
</van-popup>
<van-field
v-if=
"form.insulinType === 99"
v-model=
"form.insulinTypeOther"
placeholder=
"其他胰岛素种类"
class=
"form-input mt-2"
/>
<div
class=
"bg-fa mt-2"
>
<div
class=
"label-title"
style=
"font-size: 14px; color: #262626"
>
用法
</div>
<van-field
style=
"padding: 0"
>
<
template
#
input
>
<van-radio-group
v-model=
"form.insulinUsage"
shape=
"dot"
direction=
"horizontal"
class=
"doc-radio-group-now"
>
<van-radio
v-for=
"item in store.getDict('CP00122')"
:key=
"item.value"
:name=
"item.value"
label-position=
"left"
>
{{
item
.
name
}}
</van-radio>
</van-radio-group>
</
template
>
</van-field>
<van-field
v-if=
"form.insulinUsage === 9"
v-model=
"form.insulinTypeOther"
placeholder=
"其他用法"
class=
"card-input mt-2"
/>
</div>
<!-- <div class="bg-fa mt-2">
<div class="label-title" style="font-size: 14px; color: #262626">用量</div>
<van-field style="padding: 0">
<template #input>
<van-checkbox-group
v-model="form.insulinDosage"
shape="square"
direction="horizontal"
class="doc-checkbox-group"
>
<van-checkbox
v-for="item in insulinDosage"
:key="item.value"
:name="item.checked"
label-position="left"
style="width: 48%"
>
{{ item.name }}
</van-checkbox>
</van-checkbox-group>
</template>
</van-field>
<template v-for="item in insulinDosage">
<van-field
v-if="item.checked"
:label="item.name"
v-model="item.dosage"
placeholder="请输入"
class="card-input mt-2"
>
<template #extra>
<span>IU</span>
</template>
</van-field>
</template>
</div> -->
<!-- 转诊 -->
<!-- 转诊 -->
<div
class=
"label-title mt-2"
required
>
转诊
</div>
<div
class=
"label-title mt-2"
required
>
转诊
</div>
<van-field
:rules=
"rules.isReferral"
style=
"padding: 0"
>
<van-field
:rules=
"rules.isReferral"
style=
"padding: 0"
>
...
@@ -856,14 +960,12 @@
...
@@ -856,14 +960,12 @@
<!-- 现场随访照片 -->
<!-- 现场随访照片 -->
<div
class=
"label-title mt-2"
>
现场随访照片
</div>
<div
class=
"label-title mt-2"
>
现场随访照片
</div>
<DocImageUpload
<DocImageUpload
description=
"最多支持上传8个文件,支持上传图片或PDF文件,图片支持上传jpg、png、jpeg格式,文件大小请勿超过10M。"
:imageData=
"form.visitImageList"
lengthMessage=
"抱歉,最多可上传8个文件。"
:imageData=
"[]"
@
change=
"(ids, option) => form.visitImage = ids"
@
change=
"(ids, option) => form.visitImage = ids"
:maxLength=
"8"
:maxLength=
"8"
/>
/>
<!-- 下次随访日期 -->
<!-- 下次随访日期 -->
<div
class=
"label-title"
required
>
下次随访日期
</div>
<div
class=
"label-title
mt-2
"
required
>
下次随访日期
</div>
<van-field
<van-field
v-model=
"form.nextVisitDate"
v-model=
"form.nextVisitDate"
isLink
isLink
...
@@ -958,6 +1060,7 @@
...
@@ -958,6 +1060,7 @@
import
{
useStore
}
from
'@/doctor/store'
import
{
useStore
}
from
'@/doctor/store'
import
CheckBtn
from
'@/doctor/components/checkBtn/CheckBtn.vue'
import
CheckBtn
from
'@/doctor/components/checkBtn/CheckBtn.vue'
import
{
checkboxReject
,
calculateBMI
,
fetchDataHandle
}
from
'@/utils/common'
import
{
checkboxReject
,
calculateBMI
,
fetchDataHandle
}
from
'@/utils/common'
import
{
getDiabetesForm
}
from
'@/api/doctor/separateFU'
import
BloodPressurePanel
from
'@/doctor/components/bloodPressure/BloodPressurePanel.vue'
import
BloodPressurePanel
from
'@/doctor/components/bloodPressure/BloodPressurePanel.vue'
import
BloodPressureBt
from
'@/doctor/components/bloodPressure/BloodPressureBt.vue'
import
BloodPressureBt
from
'@/doctor/components/bloodPressure/BloodPressureBt.vue'
import
DocUnit
from
'@/doctor/components/docUnit/DocUnit.vue'
import
DocUnit
from
'@/doctor/components/docUnit/DocUnit.vue'
...
@@ -966,8 +1069,10 @@ import DocOfficeDoctor from '@/doctor/components/docOfficeDoctor/DocOfficeDoctor
...
@@ -966,8 +1069,10 @@ import DocOfficeDoctor from '@/doctor/components/docOfficeDoctor/DocOfficeDoctor
import
DocImageUpload
from
'@/doctor/components/docImageUpload/DocImageUpload.vue'
import
DocImageUpload
from
'@/doctor/components/docImageUpload/DocImageUpload.vue'
import
Inspect
from
'../../components/Inspect.vue'
import
Inspect
from
'../../components/Inspect.vue'
import
TreatmentPlan
from
'../../components/TreatmentPlan.vue'
import
dayjs
from
'dayjs'
export
default
{
export
default
{
components
:
{
CheckBtn
,
BloodPressurePanel
,
BloodPressureBt
,
DocUnit
,
DocOffice
,
DocOfficeDoctor
,
DocImageUpload
,
Inspect
},
components
:
{
CheckBtn
,
BloodPressurePanel
,
BloodPressureBt
,
DocUnit
,
DocOffice
,
DocOfficeDoctor
,
DocImageUpload
,
Inspect
,
TreatmentPlan
},
inject
:
[
'pressureObj'
],
inject
:
[
'pressureObj'
],
props
:
{
props
:
{
diseaseInfo
:
{
diseaseInfo
:
{
...
@@ -1309,9 +1414,19 @@ export default {
...
@@ -1309,9 +1414,19 @@ export default {
},
},
showVisitUnit
:
false
,
showVisitUnit
:
false
,
showVisitOffice
:
false
,
showVisitOffice
:
false
,
showVisitDoctor
:
false
showVisitDoctor
:
false
,
showInsulinType
:
false
,
// insulinDosage: []
}
}
},
},
computed
:
{
authInfo
()
{
return
this
.
store
.
authInfo
}
},
created
()
{
this
.
getInfo
()
},
methods
:
{
methods
:
{
checkboxReject
,
checkboxReject
,
calculateBMI
,
calculateBMI
,
...
@@ -1358,8 +1473,18 @@ export default {
...
@@ -1358,8 +1473,18 @@ export default {
this
.
form
.
currentDiagnosisName
=
list
.
join
()
this
.
form
.
currentDiagnosisName
=
list
.
join
()
this
.
showCurrentDiagnosis
=
false
this
.
showCurrentDiagnosis
=
false
},
},
insulinTypeChange
()
{
this
.
store
.
getDict
(
'CP00121'
).
forEach
(
item
=>
{
if
(
item
.
value
===
this
.
form
.
insulinType
)
{
this
.
form
.
insulinTypeName
=
item
.
name
}
})
this
.
showInsulinType
=
false
},
referralUnitChange
(
option
=
{})
{
referralUnitChange
(
option
=
{})
{
this
.
form
.
referralUnitName
=
option
.
unitName
this
.
form
.
referralUnitName
=
option
.
unitName
this
.
form
.
referralOfficeId
=
undefined
this
.
form
.
referralOfficeName
=
undefined
},
},
referralOfficeChange
(
option
=
{})
{
referralOfficeChange
(
option
=
{})
{
this
.
form
.
referralOfficeName
=
option
.
officeName
this
.
form
.
referralOfficeName
=
option
.
officeName
...
@@ -1374,9 +1499,15 @@ export default {
...
@@ -1374,9 +1499,15 @@ export default {
},
},
visitUnitChange
(
option
=
{})
{
visitUnitChange
(
option
=
{})
{
this
.
form
.
visitUnitName
=
option
.
unitName
this
.
form
.
visitUnitName
=
option
.
unitName
this
.
form
.
visitOfficeId
=
undefined
this
.
form
.
visitOfficeName
=
undefined
this
.
form
.
visitDoctorId
=
undefined
this
.
form
.
visitDoctorName
=
undefined
},
},
visitOfficeChange
(
option
=
{})
{
visitOfficeChange
(
option
=
{})
{
this
.
form
.
visitOfficeName
=
option
.
officeName
this
.
form
.
visitOfficeName
=
option
.
officeName
this
.
form
.
visitDoctorId
=
undefined
this
.
form
.
visitDoctorName
=
undefined
},
},
submit
()
{
submit
()
{
...
@@ -1391,6 +1522,38 @@ export default {
...
@@ -1391,6 +1522,38 @@ export default {
})
})
})
})
},
getInfo
()
{
let
{
id
}
=
this
.
$route
.
query
if
(
id
)
{
getDiabetesForm
({
id
}).
then
(
res
=>
{
const
form
=
fetchDataHandle
(
res
.
data
,
{
symptom
:
'strToArrNum'
,
currentDiagnosis
:
'strToArrNum'
})
this
.
form
=
form
// 下次随访日期
this
.
form
.
_nextVisitDate
=
this
.
form
.
nextVisitDate
.
split
(
'-'
)
// 随访日期
this
.
form
.
_visitDate
=
this
.
form
.
visitDate
.
split
(
'-'
)
})
}
else
{
// 随访日期
this
.
form
.
visitDate
=
dayjs
().
format
(
'YYYY-MM-DD'
)
// 随访单位
this
.
form
.
visitUnitId
=
this
.
authInfo
.
unitId
this
.
form
.
visitUnitName
=
this
.
authInfo
.
unitName
// 随访科室
this
.
form
.
visitOfficeId
=
this
.
authInfo
.
officeId
this
.
form
.
visitOfficeName
=
this
.
authInfo
.
officeName
// 随访医生
this
.
form
.
visitDoctorId
=
this
.
authInfo
.
relationId
this
.
form
.
visitDoctorName
=
this
.
authInfo
.
nickName
// this.insulinDosage = this.store.getDict('CP00123')
// console.log(this.insulinDosage)
}
}
}
},
},
watch
:
{
watch
:
{
...
@@ -1475,17 +1638,17 @@ export default {
...
@@ -1475,17 +1638,17 @@ export default {
border-radius: 8px;
border-radius: 8px;
}
}
.doc-radio-group-now {
.doc-radio-group-now {
column-gap:
8
px;
column-gap:
10
px;
row-gap: 8px;
row-gap: 8px;
background-color: #FAFAFA;
background-color: #FAFAFA;
width: 100%;
width: 100%;
.van-radio {
.van-radio {
background-color: #FFFFFF;
background-color: #FFFFFF;
padding: 8px 12px;
padding: 8px 12px;
border-radius: 8px;
border-radius: 8px;
justify-content: space-between;
justify-content: space-between;
margin-right: 0;
margin-right: 0;
flex-grow: 1;
}
}
}
}
.card-input {
.card-input {
...
@@ -1498,4 +1661,18 @@ export default {
...
@@ -1498,4 +1661,18 @@ export default {
width: auto;
width: auto;
}
}
}
}
.doc-checkbox-group {
column-gap: 10px;
row-gap: 8px;
background-color: #FAFAFA;
width: 100%;
.van-checkbox {
background-color: #FFFFFF;
padding: 8px 12px;
border-radius: 8px;
justify-content: space-between;
margin-right: 0;
flex-grow: 1;
}
}
</
style
>
</
style
>
\ No newline at end of file
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