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
235d8ee9
Commit
235d8ee9
authored
Sep 03, 2024
by
gengchunlei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
慢综 医生端 新增通用随访表单
parent
fec5d585
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
231 additions
and
31 deletions
+231
-31
doctorFetch.js
src/api/doctor/doctorFetch.js
+0
-0
generalFU.js
src/api/doctor/generalFU.js
+12
-0
BaseInfo.vue
src/doctor/followUp/generalFU/form/BaseInfo.vue
+180
-22
Index.vue
src/doctor/followUp/generalFU/form/Index.vue
+39
-9
No files found.
src/api/doctorFetch.js
→
src/api/doctor
/doctor
Fetch.js
View file @
235d8ee9
File moved
src/api/doctor/generalFU.js
0 → 100644
View file @
235d8ee9
import
{
fetchBase
}
from
'@/api/doctor/doctorFetch'
//查询居民信息
export
function
getChronicResidentsId
(
residentInfoId
)
{
return
fetchBase
({
url
:
`/v1/chronic-residents-record/resident-info`
,
body
:{
"residentInfoId"
:
residentInfoId
},
loading
:
true
})
}
// 主键查询
export
function
fetchCurrencyById
(
params
)
{
return
fetchBase
({
url
:
`/v1/chronic-visit-currency/record`
,
body
:
params
,
loading
:
true
})
}
\ No newline at end of file
src/doctor/followUp/generalFU/form/BaseInfo.vue
View file @
235d8ee9
...
@@ -5,19 +5,20 @@
...
@@ -5,19 +5,20 @@
<van-cell-group
inset
>
<van-cell-group
inset
>
<div
class=
'label-title'
>
证件类型
</div>
<div
class=
'label-title'
>
证件类型
</div>
<van-field
<van-field
v-model=
'form.residentName'
v-model=
'form.certificateTypeName'
clearable
is-link
disabled
placeholder=
'证件类型'
placeholder=
'证件类型'
class=
'input-back mt-2 form-input'
class=
'input-back mt-2 form-input'
:rules=
"
[
{ required: true, message: '请选择证件类型' }]
"
:rules=
"
rules.certificateTypeName
"
/>
/>
<div
class=
'label-title mt-5'
>
证件号码
</div>
<div
class=
'label-title mt-5'
>
证件号码
</div>
<van-field
<van-field
v-model=
'form.
residentName
'
v-model=
'form.
idCard
'
clearable
disabled
placeholder=
'证件号码'
placeholder=
'证件号码'
class=
'input-back mt-2 form-input'
class=
'input-back mt-2 form-input'
:rules=
"
[
{ required: true, message: '请填写证件号码' }]
"
:rules=
"
rules.idCard
"
/>
/>
<div
class=
'label-title mt-5'
>
姓名
</div>
<div
class=
'label-title mt-5'
>
姓名
</div>
<van-field
<van-field
...
@@ -25,34 +26,190 @@
...
@@ -25,34 +26,190 @@
clearable
clearable
placeholder=
'姓名'
placeholder=
'姓名'
class=
'input-back mt-2 form-input'
class=
'input-back mt-2 form-input'
:rules=
"
[
{ required: true, message: '请填写姓名' }]
"
:rules=
"
rules.residentName
"
/>
/>
<div
class=
'label-title mt-5'
>
性别
</div>
<div
class=
'label-title mt-5'
>
本人电话
</div>
<van-field
<van-field
v-model=
'form.user'
v-model=
'form.genderName'
clearable
is-link
placeholder=
'本人电话'
disabled
placeholder=
'性别'
class=
'input-back mt-2 form-input'
class=
'input-back mt-2 form-input'
:rules=
"
[
{ required: true, message: '请填写本人电话' }]
"
:rules=
"
rules.genderName
"
/>
/>
<div
class=
'label-title mt-5'
>
出生日期
</div>
<van-field
v-model=
'form.dataBirth'
is-link
disabled
placeholder=
'出生日期'
class=
'input-back mt-2 form-input'
:rules=
"rules.dataBirth"
/>
<div
class=
'label-title mt-5'
>
民族
</div>
<van-field
v-model=
'form.nationalName'
is-link
readonly
name=
'national'
placeholder=
'请选择'
:rules=
'rules.nationalName'
@
click=
'showNational = true'
/>
<van-popup
v-model:show=
"showNational"
position=
"bottom"
>
<van-picker
:columns-field-names=
"
{ text: 'name', value: 'value' }"
:columns="store.getDict('DC00006')"
@confirm="nationalConfirm"
@cancel="showNational = false"
/>
</van-popup>
</van-cell-group>
</van-cell-group>
</van-form>
</van-form>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
{
fetchDataHandle
}
from
'@/utils/common'
import
{
useStore
}
from
'@/resident/store'
const
defaultForm
=
(
info
=
{})
=>
{
const
form
=
{
id
:
undefined
,
residentInfoId
:
undefined
,
// 年龄
currentAge
:
undefined
,
// 出生地详细地址
birthAddress
:
undefined
,
// 出生地编码
birthCode
:
undefined
,
// 证件类型,[DC00004]
certificateType
:
1
,
certificateTypeName
:
'身份证'
,
// 联系人姓名
contactName
:
undefined
,
contactName2
:
undefined
,
// 联系人电话
contactPhone
:
undefined
,
// 与居民关系,[DC00023]
contactRelation
:
undefined
,
contactRelationName
:
undefined
,
// 创建单位id
// createdUnitId: undefined,
// createdUnitName: undefined,
// 创建医生
// createdUserName: undefined,
// 出生日期
dataBirth
:
undefined
,
// 职业,[DC00010]
duty
:
undefined
,
dutyName
:
undefined
,
// 文化程度(学历),[DC00007]
education
:
undefined
,
educationName
:
undefined
,
// 性别,[DC00005]
gender
:
undefined
,
genderName
:
undefined
,
// 身份证号
idCard
:
undefined
,
// innerMarital: undefined,
// 民族,[DC00006]
national
:
undefined
,
nationalName
:
undefined
,
// 现住址
nowAddress
:
undefined
,
// 户籍地址
permanentAddress
:
undefined
,
// 现住址编码
presentCode
:
undefined
,
// 户籍地编码
registeredCode
:
undefined
,
// 居民档案id
residentId
:
undefined
,
// 姓名
residentName
:
undefined
,
// 本人电话
telephone
:
undefined
,
// 工作单位
workUnit
:
undefined
,
// diseaseId: undefined,
// 与居民关系
relation
:
undefined
// relationOther: undefined,
// 人群
// chronicTagsArray: undefined,
// 建档单位、科室、医生
// createDoctorId: undefined,
// createDoctorName: undefined,
// createOfficeId: undefined,
// createOfficeName: undefined,
// createUnitId: undefined,
// createUnitName: undefined
}
Reflect
.
ownKeys
(
form
).
forEach
(
key
=>
{
if
(
info
[
key
]
!=
undefined
)
{
form
[
key
]
=
info
[
key
]
}
})
return
fetchDataHandle
(
form
,
{
registeredCode
:
'addToArr'
,
presentCode
:
'addToArr'
// birthCode: 'addToArr'
})
}
export
default
{
export
default
{
name
:
'BaseInfo'
,
name
:
'BaseInfo'
,
props
:
{
info
:
{
default
:
()
=>
{
return
{}
}
}
},
data
()
{
data
()
{
return
{
return
{
form
:
{}
store
:
useStore
(),
// 民族
showNational
:
false
,
form
:
{},
rules
:
{
certificateTypeName
:
[{
required
:
true
,
message
:
'请选择证件类型'
}],
idCard
:
[{
required
:
true
,
message
:
'请填写证件号码'
}],
residentName
:[{
required
:
true
,
message
:
'请填写姓名'
}],
genderName
:
[{
required
:
true
,
message
:
'请选择性别'
}],
dataBirth
:
[{
required
:
true
,
message
:
'请选择出生日期'
}],
nationalName
:
[{
required
:
true
,
message
:
'请选择名族'
}],
}
}
},
watch
:
{
'info'
:
{
handler
()
{
this
.
form
=
defaultForm
(
this
.
info
)
},
immediate
:
true
}
}
},
},
methods
:
{
methods
:
{
// 民族
nationalConfirm
({
selectedValues
,
selectedOptions
})
{
this
.
form
.
national
=
selectedValues
[
0
]
this
.
form
.
nationalName
=
selectedOptions
[
0
].
name
this
.
showNational
=
false
},
onSubmit
()
{
onSubmit
()
{
this
.
$refs
.
form
.
validate
().
then
(()
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
this
.
$refs
.
form
.
validate
().
then
(()
=>
{
resolve
(
fetchDataHandle
(
this
.
form
,
{
// birthCode: 'arrToAdd',
presentCode
:
'arrToAdd'
,
registeredCode
:
'arrToAdd'
})
)
}).
catch
((
e
)
=>
{
console
.
warn
(
'ArchiveCommon error'
,
e
)
reject
(
e
)
})
})
})
}
}
}
}
...
@@ -69,12 +226,13 @@ export default {
...
@@ -69,12 +226,13 @@ export default {
font-size: 13px;
font-size: 13px;
color: #595959;
color: #595959;
font-weight: 500;
font-weight: 500;
&::after {
content: "*";
&::after {
color: red;
content: "*";
font-weight: bold;
color: red;
margin-left: 4px;
font-weight: bold;
}
margin-left: 4px;
}
}
}
...
...
src/doctor/followUp/generalFU/form/Index.vue
View file @
235d8ee9
<
template
>
<
template
>
<div>
<div>
<van-nav-bar
title=
'新增通用随访'
left-text=
''
left-arrow
>
<van-nav-bar
title=
'新增通用随访'
left-text=
''
left-arrow
>
</van-nav-bar>
</van-nav-bar>
<div
class=
'p-4'
>
<div
class=
'p-4'
>
<base-info
></base-info>
<base-info
:info=
"resident"
></base-info>
</div>
</div>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
BaseInfo
from
'@/doctor/followUp/generalFU/form/BaseInfo'
import
BaseInfo
from
'@/doctor/followUp/generalFU/form/BaseInfo'
import
{
fetchCurrencyById
,
getChronicResidentsId
}
from
'@/api/doctor/generalFU'
export
default
{
export
default
{
name
:
'Index'
,
name
:
'Index'
,
components
:
{
BaseInfo
},
components
:
{
BaseInfo
},
data
()
{
data
()
{
return
{
return
{
info
:
{},
resident
:
{}
}
},
created
()
{
// this.init()
},
computed
:
{
routerDetail
()
{
return
this
.
$route
.
query
}
}
},
},
methods
:
{
methods
:
{
async
init
()
{
const
res
=
await
getChronicResidentsId
(
this
.
routerDetail
.
residentId
)
this
.
resident
=
{
...
res
.
data
,
residentInfoId
:
this
.
routerDetail
.
residentId
}
this
.
info
=
{}
this
.
info
.
residentInfoId
=
this
.
routerDetail
.
residentId
this
.
info
.
gender
=
this
.
resident
.
gender
;
this
.
info
.
currentAge
=
this
.
resident
.
currentAge
;
this
.
info
.
genderName
=
this
.
resident
.
genderName
;
this
.
info
.
diseaseType
=
this
.
routerDetail
.
diseaseType
if
(
this
.
routerDetail
.
id
)
{
const
res
=
await
fetchCurrencyById
({
id
:
this
.
routerDetail
.
id
})
let
result
=
res
.
data
||
{}
this
.
info
=
{
...
result
}
}
}
}
}
}
}
</
script
>
</
script
>
...
...
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