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
4aaaaf86
Commit
4aaaaf86
authored
Jan 02, 2025
by
songrui
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
诊断检验组件
parent
bfe5a7a8
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
93 additions
and
20 deletions
+93
-20
Doctor.vue
src/doctor/Doctor.vue
+1
-1
DocOffice.vue
src/doctor/components/docOffice/DocOffice.vue
+1
-1
DocOfficeDoctor.vue
src/doctor/components/docOfficeDoctor/DocOfficeDoctor.vue
+1
-1
DocUnit.vue
src/doctor/components/docUnit/DocUnit.vue
+1
-1
InputSelect.vue
src/doctor/diagnose/common/InputSelect.vue
+3
-3
Instpect.vue
src/doctor/diagnose/common/Instpect.vue
+83
-10
FormCont.vue
src/doctor/diagnose/form/FormCont.vue
+1
-1
Visit.vue
src/doctor/workbench/tables/Visit.vue
+1
-1
Work.vue
src/doctor/workbench/tables/Work.vue
+1
-1
No files found.
src/doctor/Doctor.vue
View file @
4aaaaf86
...
@@ -57,7 +57,7 @@ export default {
...
@@ -57,7 +57,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
=
'
35fea16a-be69-4290-b6f0-4f52902c2c72
'
token
=
'
2039ead8-da95-4cf7-b2ce-144132d9e0e8
'
}
}
}
}
if
(
token
)
{
if
(
token
)
{
...
...
src/doctor/components/docOffice/DocOffice.vue
View file @
4aaaaf86
...
@@ -57,7 +57,7 @@ export default {
...
@@ -57,7 +57,7 @@ export default {
})
})
},
},
onConfirm
({
selectedValues
,
selectedOptions
})
{
onConfirm
({
selectedValues
,
selectedOptions
})
{
this
.
$emit
(
'update:value'
,
selectedValues
[
0
]
||
{}
)
this
.
$emit
(
'update:value'
,
selectedValues
[
0
])
this
.
$emit
(
'change'
,
selectedOptions
[
0
]
||
{})
this
.
$emit
(
'change'
,
selectedOptions
[
0
]
||
{})
this
.
$emit
(
'update:show'
,
false
)
this
.
$emit
(
'update:show'
,
false
)
},
},
...
...
src/doctor/components/docOfficeDoctor/DocOfficeDoctor.vue
View file @
4aaaaf86
...
@@ -64,7 +64,7 @@ export default {
...
@@ -64,7 +64,7 @@ export default {
})
})
},
},
onConfirm
({
selectedValues
,
selectedOptions
})
{
onConfirm
({
selectedValues
,
selectedOptions
})
{
this
.
$emit
(
'update:value'
,
selectedValues
[
0
]
||
{}
)
this
.
$emit
(
'update:value'
,
selectedValues
[
0
])
this
.
$emit
(
'change'
,
selectedOptions
[
0
]
||
{})
this
.
$emit
(
'change'
,
selectedOptions
[
0
]
||
{})
this
.
$emit
(
'update:show'
,
false
)
this
.
$emit
(
'update:show'
,
false
)
},
},
...
...
src/doctor/components/docUnit/DocUnit.vue
View file @
4aaaaf86
...
@@ -74,7 +74,7 @@ export default {
...
@@ -74,7 +74,7 @@ export default {
return
getUnitByName
(
query
)
return
getUnitByName
(
query
)
},
},
onConfirm
({
selectedValues
,
selectedOptions
})
{
onConfirm
({
selectedValues
,
selectedOptions
})
{
this
.
$emit
(
'update:value'
,
selectedValues
[
0
]
||
{}
)
this
.
$emit
(
'update:value'
,
selectedValues
[
0
])
this
.
$emit
(
'change'
,
selectedOptions
[
0
]
||
{})
this
.
$emit
(
'change'
,
selectedOptions
[
0
]
||
{})
this
.
$emit
(
'update:show'
,
false
)
this
.
$emit
(
'update:show'
,
false
)
this
.
searchStr
=
''
this
.
searchStr
=
''
...
...
src/doctor/diagnose/common/InputSelect.vue
View file @
4aaaaf86
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
:teleport=
"teleport"
:teleport=
"teleport"
class=
"input-select"
>
class=
"input-select"
>
<van-picker
<van-picker
title=
"请选择"
title=
"请选择
或录入
"
:columns=
"array"
:columns=
"array"
:columns-field-names=
"fieldNames"
:columns-field-names=
"fieldNames"
v-model=
"innerValue"
v-model=
"innerValue"
...
@@ -11,7 +11,7 @@
...
@@ -11,7 +11,7 @@
@
cancel=
"onCancel"
@
cancel=
"onCancel"
>
>
<template
#
columns-top
>
<template
#
columns-top
>
<van-field
v-model=
"customValue"
placeholder=
"请输入"
clearable
/>
<van-field
v-model=
"customValue"
placeholder=
"请输入"
clearable
maxlength=
"100"
/>
</
template
>
</
template
>
</van-picker>
</van-picker>
</van-popup>
</van-popup>
...
@@ -57,7 +57,7 @@ export default {
...
@@ -57,7 +57,7 @@ export default {
},
},
methods
:
{
methods
:
{
onConfirm
({
selectedValues
,
selectedOptions
})
{
onConfirm
({
selectedValues
,
selectedOptions
})
{
this
.
$emit
(
'update:value'
,
selectedValues
[
0
]
||
{}
)
this
.
$emit
(
'update:value'
,
selectedValues
[
0
])
this
.
$emit
(
'change'
,
selectedOptions
[
0
]
||
{})
this
.
$emit
(
'change'
,
selectedOptions
[
0
]
||
{})
this
.
$emit
(
'update:show'
,
false
)
this
.
$emit
(
'update:show'
,
false
)
this
.
customValue
=
''
this
.
customValue
=
''
...
...
src/doctor/diagnose/common/Instpect.vue
View file @
4aaaaf86
...
@@ -26,10 +26,9 @@
...
@@ -26,10 +26,9 @@
</van-checkbox-group>
</van-checkbox-group>
</div>
</div>
</van-popup>
</van-popup>
<div
class=
"flex flex-col mt-3 instpect-list"
>
<div
class=
"flex flex-col mt-3 instpect-list"
>
<div
v-for=
"(row, index1) in viewData"
:key=
"row.insType"
<div
v-for=
"(row, index1) in viewData"
:key=
"row.insType"
class=
"pt-3 px-2 mb-2"
class=
"pt-3 px-2 mb-2
instpect-list-item
"
:style=
"`order: $
{row.insType}`">
:style=
"`order: $
{row.insType}`">
<div
class=
"required-mark mb-3"
>
{{
row
.
insName
}}
</div>
<div
class=
"required-mark mb-3"
>
{{
row
.
insName
}}
</div>
<template
v-for=
"(item, index2) in row.items"
:key=
"item.itemCode"
>
<template
v-for=
"(item, index2) in row.items"
:key=
"item.itemCode"
>
...
@@ -39,9 +38,8 @@
...
@@ -39,9 +38,8 @@
:maxLength=
"100"
:maxLength=
"100"
:rules=
"getRule(item)"
:rules=
"getRule(item)"
:name=
"['viewData', index1, 'items', index2, 'itemValue'].join('.')"
:name=
"['viewData', index1, 'items', index2, 'itemValue'].join('.')"
label-align=
"top"
class=
"no-back mb-2"
class=
"no-back mb-2"
style=
"border-radius: .08rem;
"
maxlength=
"100
"
v-destory:itemValue=
"item"
v-destory:itemValue=
"item"
v-if=
"item.itemType === 1"
v-if=
"item.itemType === 1"
>
>
...
@@ -49,9 +47,55 @@
...
@@ -49,9 +47,55 @@
<span
class=
"ml-1"
>
{{
item
.
unit
}}
</span>
<span
class=
"ml-1"
>
{{
item
.
unit
}}
</span>
</
template
>
</
template
>
</van-field>
</van-field>
<van-field
:label=
"getItemName(item)"
is-link
:modelValue=
"item.itemValue"
readonly
placeholder=
'请选择'
:name=
"['viewData', index1, 'items', index2, 'itemValue'].join('.')"
:rules=
"getRule(item)"
@
click=
"setSelectOption(item, item.itemType)"
label-align=
"top"
class=
"no-back mb-2"
v-destory:itemValue=
"item"
v-else-if=
"item.itemType === 3"
>
<
template
#
extra
v-if=
"item.unit"
>
<span
class=
"ml-1"
>
{{
item
.
unit
}}
</span>
</
template
>
</van-field>
<van-field
:label=
"getItemName(item)"
is-link
:modelValue=
"item.itemValue"
readonly
placeholder=
'请选择或录入'
:name=
"['viewData', index1, 'items', index2, 'itemValue'].join('.')"
:rules=
"getRule(item)"
@
click=
"setSelectOption(item, item.itemType)"
label-align=
"top"
class=
"no-back mb-2"
v-destory:itemValue=
"item"
v-else-if=
"item.itemType === 4"
>
<
template
#
extra
v-if=
"item.unit"
>
<span
class=
"ml-1"
>
{{
item
.
unit
}}
</span>
</
template
>
</van-field>
</template>
</template>
</div>
</div>
<van-popup
v-model:show=
"selectOption.show3"
position=
"bottom"
>
<van-picker
title=
"请选择"
:columns=
"selectOption.dict"
:columns-field-names=
"{text: 'name', value: 'value'}"
@
confirm=
"onSelectConfirm"
@
cancel=
"() => selectOption.show = false"
>
</van-picker>
</van-popup>
<InputSelect
v-model:show=
"selectOption.show4"
:dict=
"selectOption.dict"
@
change=
"onSelectInputConfirm"
></InputSelect>
</div>
</div>
</div>
</div>
</template>
</template>
...
@@ -60,10 +104,13 @@
...
@@ -60,10 +104,13 @@
import
{
inspectDefault
}
from
'./config.js'
import
{
inspectDefault
}
from
'./config.js'
import
{
getInspectCode
}
from
'@/api/doctor/disease.js'
import
{
getInspectCode
}
from
'@/api/doctor/disease.js'
import
{
useStore
}
from
'@/doctor/store/index.js'
import
{
useStore
}
from
'@/doctor/store/index.js'
import
InputSelect
from
'./InputSelect.vue'
export
default
{
export
default
{
name
:
'InstpectCommon'
,
name
:
'InstpectCommon'
,
components
:
{},
components
:
{
InputSelect
},
props
:
{
props
:
{
// 初始化数据
// 初始化数据
info
:
{
default
:
()
=>
{
return
{}
}
},
info
:
{
default
:
()
=>
{
return
{}
}
},
...
@@ -89,7 +136,13 @@ export default {
...
@@ -89,7 +136,13 @@ export default {
codeTable
:
[],
codeTable
:
[],
// 图片上传回显
// 图片上传回显
imageData
:
[],
imageData
:
[],
showInspect
:
false
showInspect
:
false
,
selectOption
:
{
show3
:
false
,
show4
:
false
,
dict
:
[],
item
:
{}
}
}
}
},
},
computed
:
{
computed
:
{
...
@@ -159,9 +212,9 @@ export default {
...
@@ -159,9 +212,9 @@ export default {
},
},
getItemName
(
item
)
{
getItemName
(
item
)
{
if
(
item
.
itemCode
)
{
if
(
item
.
itemCode
)
{
return
`
${
item
.
itemName
}
(
${
item
.
itemCode
}
)`
return
`
${
item
.
itemName
}
(
${
item
.
itemCode
}
)
:
`
}
}
return
item
.
itemName
return
item
.
itemName
+
' : '
},
},
getRule
(
item
)
{
getRule
(
item
)
{
if
(
!
item
.
pattern
)
{
if
(
!
item
.
pattern
)
{
...
@@ -172,15 +225,35 @@ export default {
...
@@ -172,15 +225,35 @@ export default {
{
pattern
:
new
RegExp
(
item
.
pattern
),
message
:
item
.
message
}
{
pattern
:
new
RegExp
(
item
.
pattern
),
message
:
item
.
message
}
]
]
},
},
setSelectOption
(
item
,
itemType
)
{
this
.
selectOption
.
dict
=
item
.
dictItemList
this
.
selectOption
.
item
=
item
this
.
selectOption
[
'show'
+
itemType
]
=
true
},
onSelectConfirm
({
selectedValues
}
=
{})
{
// console.log(selectedValues)
this
.
selectOption
.
item
.
itemValue
=
selectedValues
[
0
]
this
.
selectOption
.
show3
=
false
},
onSelectInputConfirm
(
option
)
{
this
.
selectOption
.
item
.
itemValue
=
option
.
value
this
.
selectOption
.
show4
=
false
}
}
}
}
}
</
script
>
</
script
>
<
style
lang=
"less"
scoped
>
<
style
lang=
"less"
scoped
>
.instpect-list {
.instpect-list {
>div
{
.instpect-list-item
{
background-color: #F5F5F5;
background-color: #F5F5F5;
border-radius: 8px;
border-radius: 8px;
}
}
:deep(.van-field) {
border-radius: .08rem;
.van-field__label {
width: auto;
}
}
}
}
</
style
>
</
style
>
src/doctor/diagnose/form/FormCont.vue
View file @
4aaaaf86
<
template
>
<
template
>
<div
class=
"diagnose-form-cont"
>
<div
class=
"diagnose-form-cont"
>
<van-form
ref=
'form'
class=
"doc-form"
>
<van-form
ref=
'form'
class=
"doc-form"
>
<InstpectCommon
:disease=
"diseaseType"
/>
<InstpectCommon
:disease=
"diseaseType"
/>
</van-form>
</van-form>
</div>
</div>
...
...
src/doctor/workbench/tables/Visit.vue
View file @
4aaaaf86
...
@@ -245,7 +245,7 @@ export default {
...
@@ -245,7 +245,7 @@ export default {
},
},
onRefresh
()
{
onRefresh
()
{
this
.
pagination
.
pageIndex
=
1
this
.
pagination
.
pageIndex
=
1
this
.
load
()
this
.
load
(
false
)
},
},
tabChange
()
{
tabChange
()
{
this
.
pagination
.
pageIndex
=
1
this
.
pagination
.
pageIndex
=
1
...
...
src/doctor/workbench/tables/Work.vue
View file @
4aaaaf86
...
@@ -206,7 +206,7 @@ export default {
...
@@ -206,7 +206,7 @@ export default {
},
},
onRefresh
()
{
onRefresh
()
{
this
.
pagination
.
pageIndex
=
1
this
.
pagination
.
pageIndex
=
1
this
.
load
()
this
.
load
(
false
)
},
},
openSearch
()
{
openSearch
()
{
this
.
searchVisible
=
!
this
.
searchVisible
this
.
searchVisible
=
!
this
.
searchVisible
...
...
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