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
9de9fa56
Commit
9de9fa56
authored
Dec 05, 2024
by
songrui
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'chronic-dev' of
http://gitlab.yiboshi.com/nightkis1995/frontend-h5
into chronic-dev
parents
2fd993b3
783617c3
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
364 additions
and
55 deletions
+364
-55
dataTime.vue
src/doctor/components/dataTime/dataTime.vue
+236
-0
DocImageUpload.vue
src/doctor/components/docImageUpload/DocImageUpload.vue
+4
-4
Mp3.vue
src/doctor/components/mediaPlay/Mp3.vue
+1
-1
Mp4.vue
src/doctor/components/mediaPlay/Mp4.vue
+2
-2
temDetail.vue
src/doctor/components/template/temDetail.vue
+35
-6
temList.vue
src/doctor/components/template/temList.vue
+13
-6
BaseInfo.vue
src/doctor/followUp/generalFU/form/BaseInfo.vue
+4
-1
CommonBottom.vue
src/doctor/followUp/generalFU/form/CommonBottom.vue
+18
-1
GeneralFUForm.vue
src/doctor/followUp/generalFU/form/GeneralFUForm.vue
+0
-0
GuideTextVideo.vue
src/doctor/followUp/generalFU/form/GuideTextVideo.vue
+33
-9
Index.vue
src/doctor/followUp/generalFU/form/Index.vue
+3
-25
common.js
src/utils/common.js
+15
-0
No files found.
src/doctor/components/dataTime/dataTime.vue
0 → 100644
View file @
9de9fa56
<
template
>
<!-- 弹出层 -->
<van-popup
v-model:show=
"data.isPicker"
position=
"bottom"
round
@
close=
"confirmOn"
>
<van-picker
ref=
"picker"
title=
"请选择时间"
:columns=
"data.columns"
@
cancel=
"cancelOn"
@
confirm=
"onConfirm"
v-model=
"data.selectedValues"
/>
</van-popup>
</
template
>
<
script
setup
>
import
{
reactive
,
watch
,
getCurrentInstance
}
from
"vue"
;
const
customFieldName
=
{
text
:
"value"
,
value
:
"values"
,
children
:
""
};
const
data
=
reactive
({
isPicker
:
false
,
//是否显示弹出层
columns
:
[],
//所有时间列
selectedValues
:
[],
//控件选择的时间值
showType
:
[]
//控制显示时间格式 年月日时分秒
});
const
props
=
defineProps
({
// 传入的显影状态
showPicker
:
{
type
:
Boolean
},
// 传入的值
values
:
{
type
:
String
},
showType
:
{
type
:
Array
,
default
:()
=>
{
return
[
'year'
,
'month'
,
'day'
,
'hour'
,
'minute'
,
'second'
]
}
}
});
//定义要向父组件传递的事件
const
emit
=
defineEmits
([
"changeValue"
,
"confirm"
]);
watch
(
()
=>
props
.
showPicker
,
val
=>
{
data
.
isPicker
=
val
;
data
.
showType
=
props
.
showType
data
.
columns
=
[];
getcolumns
();
},
{
immediate
:
true
//立即监听--进入就会执行一次 监听显影状态
}
);
function
getcolumns
()
{
let
strtime
=
props
.
values
;
//传入的时间
//console.log(strtime); 2023-09-05 19:28:00
let
date
=
new
Date
(
strtime
.
replace
(
/-/g
,
"/"
));
// console.log(date); Wed Aug 09 2023 14:53:15 GMT+0800 (中国标准时间)
let
timeVaules
=
date
.
getTime
();
let
dateVaules
;
if
(
props
.
values
!=
""
)
{
dateVaules
=
new
Date
(
timeVaules
);
}
else
{
dateVaules
=
new
Date
();
//没有传入时间则默认当前时刻
}
let
Y
=
dateVaules
.
getFullYear
();
let
M
=
dateVaules
.
getMonth
();
let
D
=
dateVaules
.
getDate
();
let
h
=
dateVaules
.
getHours
();
let
m
=
dateVaules
.
getMinutes
();
let
s
=
dateVaules
.
getSeconds
();
if
(
data
.
showType
.
includes
(
'year'
))
{
let
year
=
[];
//获取前后十年数组
year
.
values
=
[];
let
Currentday
=
new
Date
().
getFullYear
();
for
(
let
i
=
Currentday
-
10
;
i
<
Currentday
+
10
;
i
++
)
{
year
.
push
({
text
:
i
.
toString
(),
value
:
i
});
}
year
.
defaultIndex
=
year
.
values
.
indexOf
(
Y
);
//设置默认选项当前年
// 个位数补0
const
_M
=
M
<
10
?
`0
${
M
+
1
}
`
:
M
.
toString
();
//月份比实际获取的少1,所以要加1
const
_D
=
D
<
10
?
`0
${
D
}
`
:
D
.
toString
();
const
_h
=
h
<
10
?
`0
${
h
}
`
:
h
.
toString
();
const
_m
=
m
<
10
?
`0
${
m
}
`
:
m
.
toString
();
const
_s
=
s
<
10
?
`0
${
s
}
`
:
s
.
toString
();
// 生成年月日时分秒时间值
data
.
selectedValues
.
push
(
Y
);
data
.
selectedValues
.
push
(
_M
);
data
.
selectedValues
.
push
(
_D
);
data
.
selectedValues
.
push
(
_h
);
data
.
selectedValues
.
push
(
_m
);
data
.
selectedValues
.
push
(
_s
);
data
.
columns
.
push
(
year
);
//生成年列
}
if
(
data
.
showType
.
includes
(
'month'
))
{
let
month
=
[];
//获取12月数组
month
=
Object
.
keys
(
Array
.
apply
(
null
,
{
length
:
13
})).
map
(
function
(
item
)
{
if
(
+
item
+
1
<=
10
)
{
return
{
text
:
"0"
+
item
,
value
:
"0"
+
item
};
}
else
if
(
+
item
+
1
==
11
)
{
return
{
text
:
+
item
,
value
:
+
item
};
}
else
{
return
{
text
:
(
+
item
+
0
).
toString
(),
value
:
(
+
item
+
0
).
toString
()
};
}
});
month
.
splice
(
0
,
1
);
data
.
columns
.
push
(
month
);
//生成月列
}
if
(
data
.
showType
.
includes
(
'day'
))
{
//获取当月的天数
let
days
=
getCountDays
(
Y
,
M
+
1
);
let
day
=
[];
//创建当月天数数组
day
=
Object
.
keys
(
Array
.
apply
(
null
,
{
length
:
days
+
1
})).
map
(
function
(
item
)
{
if
(
+
item
+
1
<=
10
)
{
return
{
text
:
"0"
+
item
,
value
:
"0"
+
item
};
}
else
if
(
+
item
+
1
==
11
)
{
return
{
text
:
+
item
,
value
:
+
item
};
}
else
{
return
{
text
:
(
+
item
+
0
).
toString
(),
value
:
(
+
item
+
0
).
toString
()
};
}
});
day
.
splice
(
0
,
1
);
data
.
columns
.
push
(
day
);
//生成日列
}
if
(
data
.
showType
.
includes
(
'hour'
))
{
let
hour
=
[];
//创建小时数组
hour
=
Object
.
keys
(
Array
.
apply
(
null
,
{
length
:
24
})).
map
(
function
(
item
)
{
if
(
+
item
+
1
<=
10
)
{
return
{
text
:
"0"
+
item
,
value
:
"0"
+
item
};
}
else
if
(
+
item
+
1
==
11
)
{
return
{
text
:
+
item
,
value
:
+
item
};
}
else
{
return
{
text
:
(
+
item
+
0
).
toString
(),
value
:
(
+
item
+
0
).
toString
()
};
}
});
data
.
columns
.
push
(
hour
);
//生成小时列
}
if
(
data
.
showType
.
includes
(
'minute'
))
{
let
mi
=
[];
//创建分钟数组
mi
=
Object
.
keys
(
Array
.
apply
(
null
,
{
length
:
60
})).
map
(
function
(
item
)
{
if
(
+
item
+
1
<=
10
)
{
return
{
text
:
"0"
+
item
,
value
:
"0"
+
item
};
}
else
if
(
+
item
+
1
==
11
)
{
return
{
text
:
+
item
,
value
:
+
item
};
}
else
{
return
{
text
:
(
+
item
+
0
).
toString
(),
value
:
(
+
item
+
0
).
toString
()
};
}
});
data
.
columns
.
push
(
mi
);
//生成分钟列
}
if
(
data
.
showType
.
includes
(
'second'
))
{
let
ss
=
[];
//创建秒数数组
ss
=
Object
.
keys
(
Array
.
apply
(
null
,
{
length
:
60
})).
map
(
function
(
item
)
{
if
(
+
item
+
1
<=
10
)
{
return
{
text
:
"0"
+
item
,
value
:
"0"
+
item
};
}
else
if
(
+
item
+
1
==
11
)
{
return
{
text
:
+
item
,
value
:
+
item
};
}
else
{
return
{
text
:
(
+
item
+
0
).
toString
(),
value
:
(
+
item
+
0
).
toString
()
};
}
});
data
.
columns
.
push
(
ss
);
//生成秒钟列
}
}
function
getCountDays
(
year
,
month
)
{
//获取某年某月多少天
let
day
=
new
Date
(
year
,
month
,
0
);
return
day
.
getDate
();
}
// 关闭弹框
function
confirmOn
()
{
emit
(
"changeValue"
);
}
//时间选择器关闭 值不改变并关闭弹框
function
cancelOn
({
selectedValues
})
{
confirmOn
()
}
// 时间选择器确定 值改变
function
onConfirm
({
selectedValues
})
{
let
endval
=
selectedValues
[
0
]
+
"-"
+
selectedValues
[
1
]
+
"-"
+
selectedValues
[
2
]
+
" "
+
selectedValues
[
3
]
+
":"
+
selectedValues
[
4
]
+
":"
+
selectedValues
[
5
];
confirmOn
()
emit
(
"confirm"
,
endval
);
}
</
script
>
src/doctor/components/docImageUpload/DocImageUpload.vue
View file @
9de9fa56
...
...
@@ -87,10 +87,10 @@ export default {
this
.
innerImage
=
[...
this
.
imageData
]
}
else
{
this
.
innerImage
=
[
{
fileType
:
'pdf'
,
id
:
1
,
trueDownloadUrl
:
testUrl
},
{
fileType
:
'png'
,
id
:
2
,
trueDownloadUrl
:
testUrl
},
{
fileType
:
'png'
,
id
:
3
,
trueDownloadUrl
:
testUrl
},
{
fileType
:
'png'
,
id
:
4
,
trueDownloadUrl
:
testUrl
}
//
{ fileType: 'pdf', id: 1, trueDownloadUrl: testUrl },
//
{ fileType: 'png', id: 2, trueDownloadUrl: testUrl },
//
{ fileType: 'png', id: 3, trueDownloadUrl: testUrl },
//
{ fileType: 'png', id: 4, trueDownloadUrl: testUrl }
]
}
},
...
...
src/doctor/components/mediaPlay/Mp3.vue
View file @
9de9fa56
...
...
@@ -2,7 +2,7 @@
<div
class=
"p-1 flex flex-col mp3"
>
<div
v-if=
"file.annexFileName"
class=
"text-12 mb-1 text-ellipsis"
>
{{
file
.
annexFileName
}}
</div>
<div
class=
"flex items-center justify-between gap-x-2.5"
>
<div
class=
"shrink-0 play-bt"
@
click=
"start(file)"
>
<div
class=
"shrink-0 play-bt"
@
click
.
stop
=
"start(file)"
>
<doc-icon
type=
"doc-play"
v-if=
"!player.playing"
/>
<doc-icon
type=
"doc-pause"
v-else
/>
</div>
...
...
src/doctor/components/mediaPlay/Mp4.vue
View file @
9de9fa56
<
template
>
<div
class=
"mp4"
>
<div
class=
"flex flex-wrap justify-between video-list"
>
<div
v-for=
"item in files"
:key=
"item.annexId"
>
<div
v-for=
"item in files"
:key=
"item.annexId"
@
click
.
stop=
"start(item)"
>
<div
class=
"item"
>
<div
class=
"shrink-0 play-bt"
@
click=
"start(item)"
>
<div
class=
"shrink-0 play-bt"
>
<doc-icon
type=
"doc-play"
/>
</div>
<span
class=
"close-btn"
@
click
.
stop=
"removeBtn(item)"
v-if=
"remove"
>
...
...
src/doctor/components/template/temDetail.vue
View file @
9de9fa56
<
template
>
<van-popup
v-model:show=
'innerShow'
position=
'right'
:style=
"
{ height: '100%', width: '100%' }">
<van-popup
v-
if=
'innerShow'
v-
model:show=
'innerShow'
position=
'right'
:style=
"
{ height: '100%', width: '100%' }">
<div
class=
'flex flex-col'
style=
'height: 100vh'
>
<div
class=
'p-3 text-black text-center shrink-0 doc-nav-bar'
>
<span
@
click=
'onBack'
class=
'text-12 back-bt'
>
...
...
@@ -9,11 +9,17 @@
</div>
<div
class=
'grow overflow-y-auto pl-4 pr-4 pt-3 pb-3'
>
{{
fileType
}}
<div>
<div
class=
'flex flex-col '
>
<!-- 文本 -->
<div
class=
'card'
v-if=
'contentList?.length'
>
<div
class=
'card'
v-if=
'contentList?.length'
@
click=
'selectFiletype(1)'
>
<div
class=
'flex justify-between items-center'
>
<div
class=
'font-semibold mb-1'
>
文本
</div>
<van-checkbox-group
v-model=
"fileType"
shape=
"square"
icon-size=
"16px"
>
<van-checkbox
:name=
"1"
></van-checkbox>
</van-checkbox-group>
</div>
<div
class=
'conten-bg'
>
<div
v-for=
'item in contentList'
:key=
'item.templateMode'
class=
'mb-1 flex'
:style=
'`order: $
{item.templateMode}`'>
...
...
@@ -24,16 +30,30 @@
</div>
</div>
</div>
<div
class=
'card mt-4'
v-if=
'mp4List?.length'
>
<div
class=
'card mt-4'
v-if=
'mp4List?.length'
@
click=
'selectFiletype(3)'
>
<div
class=
'flex justify-between items-center'
>
<div
class=
'font-semibold mb-1'
>
视频
</div>
<van-checkbox-group
v-model=
"fileType"
shape=
"square"
icon-size=
"16px"
>
<van-checkbox
:name=
"3"
></van-checkbox>
</van-checkbox-group>
</div>
<div
class=
'conten-bg'
>
<Mp4
:files=
'mp4List'
:activeMediaUrl=
'activeMediaUrl'
@
play=
'e => activeMediaUrl = e.annexUrl'
/>
</div>
</div>
<div
class=
'card flex flex-col mt-4'
style=
'row-gap: .06rem;'
v-if=
'mp3List?.length'
>
<div
class=
'card flex flex-col mt-4'
style=
'row-gap: .06rem;'
v-if=
'mp3List?.length'
@
click=
'selectFiletype(2)'
>
<div
class=
'flex justify-between items-center'
>
<div
class=
'font-semibold mb-1'
>
音频
</div>
<van-checkbox-group
v-model=
"fileType"
shape=
"square"
icon-size=
"16px"
>
<van-checkbox
:name=
"2"
></van-checkbox>
</van-checkbox-group>
</div>
<div
class=
'conten-bg'
>
<Mp3
:file=
'item'
v-for=
'item in mp3List'
:key=
'item.annexId'
:activeMediaUrl=
'activeMediaUrl'
...
...
@@ -66,7 +86,8 @@ export default {
data
()
{
return
{
info
:
{},
activeMediaUrl
:
''
activeMediaUrl
:
''
,
fileType
:
[
1
,
2
,
3
],
}
},
computed
:
{
...
...
@@ -105,8 +126,16 @@ export default {
}).
finally
(()
=>
{
})
},
selectFiletype
(
val
)
{
let
index
=
this
.
fileType
.
findIndex
(
item
=>
item
==
val
)
if
(
index
>=
0
)
{
this
.
fileType
=
this
.
fileType
.
filter
(
item
=>
item
!=
val
)
}
else
{
this
.
fileType
.
push
(
val
)
}
},
toUse
()
{
this
.
$emit
(
'selectedInfo'
,
this
.
id
)
this
.
$emit
(
'selectedInfo'
,
this
.
id
,
this
.
fileType
)
this
.
onBack
()
},
onBack
()
{
...
...
src/doctor/components/template/temList.vue
View file @
9de9fa56
...
...
@@ -5,7 +5,7 @@
<div
@
click=
'onBack'
class=
'text-12 back-bt'
>
<doc-icon
type=
'doc-left2'
/>
</div>
<div>
随访详情
</div>
<div>
选择内容
</div>
<div
class=
'text-primary left-btn'
@
click=
'openSearch'
>
筛查
</div>
</div>
...
...
@@ -77,7 +77,14 @@
</van-popup>
<!-- 查看详情组件-->
<temDetail
v-if=
'detailShow'
:show=
'detailShow'
:id=
'selectRecord.id'
@
closeDetail=
'detailClosed'
@
selectedInfo=
'detailToUse'
:overlay=
'false'
></temDetail>
<temDetail
v-if=
'detailShow && innerShow'
:show=
'detailShow'
:id=
'selectRecord.id'
@
closeDetail=
'detailClosed'
@
selectedInfo=
'detailToUse'
:overlay=
'false'
></temDetail>
</div>
</div>
</van-popup>
...
...
@@ -199,13 +206,13 @@ export default {
this
.
detailShow
=
val
},
//列表引用
toUse
(
record
)
{
this
.
$emit
(
'selectRecord'
,
record
.
id
)
toUse
(
record
,
typeList
=
[
1
,
2
,
3
]
)
{
this
.
$emit
(
'selectRecord'
,
record
.
id
,
typeList
)
this
.
onBack
()
},
//详情选中引用
detailToUse
(
val
)
{
this
.
$emit
(
'selectRecord'
,
val
)
detailToUse
(
val
,
typeList
=
[]
)
{
this
.
$emit
(
'selectRecord'
,
val
,
typeList
)
this
.
onBack
()
},
onBack
()
{
...
...
src/doctor/followUp/generalFU/form/BaseInfo.vue
View file @
9de9fa56
...
...
@@ -532,17 +532,20 @@ export default {
const
{
personId
,
visitWay
,
visitWayRules
,
visitWayRules
,
groupsArrays
,
sendNumber
,
...
others
}
=
this
.
form
let
par
=
{
visitWay
,
visitWayRules
,
groupsArrays
,
sendNumber
,
residentInfoId
:
this
.
form
.
residentInfoId
,
residentsRecord
:
{
...
others
,
groupsArrays
:
this
.
info
.
groupsArrays
,
id
:
this
.
form
.
personId
}
}
...
...
src/doctor/followUp/generalFU/form/CommonBottom.vue
View file @
9de9fa56
...
...
@@ -251,8 +251,25 @@ export default {
onSubmit
()
{
return
new
Promise
((
resolve
,
reject
)
=>
{
this
.
$refs
.
form
.
validate
().
then
(()
=>
{
const
{
isSmsIsWx
=
[],
...
others
}
=
this
.
form
let
isSms
=
2
let
isWx
=
2
let
wxTel
=
''
if
(
isSmsIsWx
.
length
&&
this
.
showPush
)
{
if
(
isSmsIsWx
.
includes
(
1
))
{
isWx
=
1
wxTel
=
this
.
modeEnumList
.
weixinTel
}
if
(
isSmsIsWx
.
includes
(
2
))
{
isSms
=
1
}
}
let
par
=
{
...
this
.
form
...
others
,
isSms
,
isWx
,
isSmsIsWx
,
sendNumber
:
wxTel
,
}
resolve
(
par
)
}).
catch
((
e
)
=>
{
...
...
src/doctor/followUp/generalFU/form/GeneralFUForm.vue
View file @
9de9fa56
This diff is collapsed.
Click to expand it.
src/doctor/followUp/generalFU/form/GuideTextVideo.vue
View file @
9de9fa56
...
...
@@ -2,8 +2,7 @@
<van-form
ref=
'form'
class=
'grow flex flex-col'
style=
'min-height: 1px;flex-wrap: nowrap;'
>
<div
class=
'flex flex-col'
v-if=
'fileType?.includes(1)'
>
<div
class=
'health mt-2'
>
<div>
<!-- 无选项-->
<div
class=
'health-cell mt-2'
v-for=
"item in form.contentList.filter(e => e.templateModeTrans == '无')"
>
<div
class=
'no-req-label'
>
{{
contentTitle
}}
</div>
...
...
@@ -47,7 +46,8 @@
<div
class=
'health-cell mt-2'
v-for=
"item in form.contentList.filter(e => e.templateModeTrans != '无')"
>
<
template
v-if=
'item.templateMode === 5'
>
<div
class=
'no-req-label'
>
药物指导
</div>
<div
v-for=
'(item, index) in form.drugsList'
:key=
'item._id'
:style=
"
{marginTop: index == 0 ? '0': '.16rem'}">
<div
v-for=
'(item, index) in form.drugsList'
:key=
'item._id'
:style=
"
{marginTop: index == 0 ? '0': '.16rem'}">
<div
class=
'text-driver'
v-if=
'index'
></div>
<DocDrug
v-model:value=
'item.drugsCode'
placeholder=
'拼音码查询药品'
:valueName=
"selectData.drugsList ? selectData.drugsList[index]?.helpCode : ''"
...
...
@@ -152,16 +152,21 @@
@
play=
'e => activeMediaUrl = e.annexUrl'
remove
@
onRemove=
'getMP3RemoveInfo'
class=
'mt-2'
/>
</div>
</div>
<div
v-if=
'fileType.includes(3)'
class=
'w-full'
>
<div
class=
'health-cell mt-2'
>
<div
class=
'no-req-label'
>
视频
</div>
<Mp4
:files=
'_video'
:activeMediaUrl=
'activeMediaUrl'
@
play=
'e => activeMediaUrl = e.annexUrl'
remove
@
onRemove=
'getMP4RemoveInfo'
class=
'mt-2'
/>
</div>
</div>
</van-form>
</template>
...
...
@@ -286,18 +291,36 @@ export default {
]
let
infoC
=
info
.
contentList
||
[]
//判断父组件的数据里是否存在 无 的选项
let
resList
=
infoC
.
filter
(
item
=>
item
.
templateMode
!=
1
)
if
(
!
resList
.
length
)
{
contentList
=
[
...
initC
,
...
infoC
]
let
resList
=
infoC
.
filter
(
item
=>
item
.
templateMode
==
1
)
if
(
!
resList
.
length
)
{
//不存在无选项
contentList
=
[
...
initC
,
...
infoC
]
}
else
{
contentList
=
[...
infoC
]
}
const
drugsList
=
info
?.
drugsList
?.
length
?
info
.
drugsList
.
map
(
e
=>
{
if
(
e
.
id
)
{
e
.
_id
=
e
.
id
e
.
doseUnitName
=
this
.
store
.
getDictValue
(
this
.
store
.
getDict
(
'CP00081'
),
e
.
doseUnit
)
e
.
frequencyName
=
this
.
store
.
getDictValue
(
this
.
store
.
getDict
(
'CP00084'
),
e
.
frequency
)
e
.
usageMethodName
=
this
.
store
.
getDictValue
(
this
.
store
.
getDict
(
'CP00083'
),
e
.
usageMethod
)
}
return
e
})
:
[]
//给更多内容赋值
let
contentSelectName
=
''
let
contentSelectNameList
=
[]
this
.
checkContentSelect
=
[]
contentList
.
forEach
(
item
=>
{
if
(
item
.
templateMode
!=
1
)
{
this
.
checkContentSelect
.
push
(
item
.
templateMode
)
contentSelectNameList
.
push
(
item
.
templateModeTrans
)
}
if
(
contentSelectNameList
&&
contentSelectNameList
.
length
)
{
contentSelectName
=
contentSelectNameList
.
join
()
}
})
const
form
=
{
id
:
info
.
id
,
templateType
:
info
.
templateType
,
...
...
@@ -313,7 +336,8 @@ export default {
// 存放上传后返回的id
_video
:
JSON
.
parse
(
JSON
.
stringify
(
info
.
_video
||
[])),
_audio
:
JSON
.
parse
(
JSON
.
stringify
(
info
.
_audio
||
[])),
drugSelect
:
1
drugSelect
:
1
,
contentSelectName
:
contentSelectName
,
}
return
form
},
...
...
@@ -457,7 +481,7 @@ export default {
const
drugsList
=
query
.
drugsList
let
str
=
''
drugsList
.
forEach
(
e
=>
{
str
=
`药品名:
${
e
.
drugsName
}
剂量:
${
e
.
dose
}
${
this
.
$dictValue
(
'CP00081'
,
e
.
doseUnit
)}
频次:
${
this
.
$dictValue
(
'CP00084'
,
e
.
frequency
)}
用法:
${
this
.
$d
ictValue
(
'CP00083'
,
e
.
usageMethod
)}
\n`
+
str
str
=
`药品名:
${
e
.
drugsName
}
剂量:
${
e
.
dose
}
${
this
.
store
.
getDictValue
(
'CP00081'
,
e
.
doseUnit
)}
频次:
${
this
.
store
.
getDictValue
(
'CP00084'
,
e
.
frequency
)}
用法:
${
this
.
store
.
getD
ictValue
(
'CP00083'
,
e
.
usageMethod
)}
\n`
+
str
})
item
.
templateContent
=
str
}
...
...
@@ -499,7 +523,7 @@ export default {
const
drugsList
=
query
.
drugsList
let
str
=
''
drugsList
.
forEach
(
e
=>
{
str
=
`药品名:
${
e
.
drugsName
}
剂量:
${
e
.
dose
}
${
this
.
$dictValue
(
'CP00081'
,
e
.
doseUnit
)}
频次:
${
this
.
$dictValue
(
'CP00084'
,
e
.
frequency
)}
用法:
${
this
.
$d
ictValue
(
'CP00083'
,
e
.
usageMethod
)}
\n`
+
str
str
=
`药品名:
${
e
.
drugsName
}
剂量:
${
e
.
dose
}
${
this
.
store
.
getDictValue
(
'CP00081'
,
e
.
doseUnit
)}
频次:
${
this
.
store
.
getDictValue
(
'CP00084'
,
e
.
frequency
)}
用法:
${
this
.
store
.
getD
ictValue
(
'CP00083'
,
e
.
usageMethod
)}
\n`
+
str
})
item
.
templateContent
=
str
}
...
...
src/doctor/followUp/generalFU/form/Index.vue
View file @
9de9fa56
...
...
@@ -2,7 +2,7 @@
<div>
<van-nav-bar
:title=
"routerDetail.id ? '修改通用随访': '新增通用随访'"
left-text=
''
left-arrow
@
click-left=
'toBack'
></van-nav-bar>
<div
class=
'p-4 h-overflow'
>
<div
class=
'p-4 h-overflow'
ref=
'all'
>
<base-info
:info=
'info'
:modeEnumList=
'modeEnumList'
v-show=
'step == 1'
...
...
@@ -186,6 +186,7 @@ export default {
this
.
modeEnumList
=
getModeEnum
(
this
.
info
)
},
async
toNext
(
val
)
{
this
.
$refs
.
all
.
scrollTo
(
0
,
0
)
if
(
val
==
2
)
{
this
.
firstForm
=
await
this
.
$refs
.
baseInfo
.
onSubmit
()
}
...
...
@@ -224,33 +225,10 @@ export default {
let
baseInfo
=
await
this
.
$refs
.
baseInfo
.
onSubmit
()
let
generalFUForm
=
await
this
.
$refs
.
generalFUForm
.
onSubmit
()
let
commonBottom
=
await
this
.
$refs
.
commonBottom
.
onSubmit
()
let
imgInput1List
=
[]
let
imgInput2List
=
[]
let
uploadVisitRecord
=
''
let
sceneVisitImage
=
''
//图片上传
if
(
generalFUForm
.
imgInput1
.
length
)
{
imgInput1List
=
await
this
.
upload
(
generalFUForm
.
imgInput1
)
}
if
(
generalFUForm
.
imgInput2
.
length
)
{
imgInput2List
=
await
this
.
upload
(
generalFUForm
.
imgInput2
)
}
if
(
generalFUForm
.
img1
.
length
)
{
let
img1List
=
this
.
baseImgHandle
(
generalFUForm
.
img1
)
let
lsit1
=
[...
imgInput1List
,
...
img1List
]
uploadVisitRecord
=
Array
.
from
(
new
Set
(
lsit1
)).
join
()
}
if
(
generalFUForm
.
img2
.
length
)
{
let
img2List
=
this
.
baseImgHandle
(
generalFUForm
.
img2
)
let
lsit2
=
[...
imgInput2List
,
...
img2List
]
sceneVisitImage
=
Array
.
from
(
new
Set
(
lsit2
)).
join
()
}
let
params
=
{
...
baseInfo
,
...
generalFUForm
,
...
commonBottom
,
uploadVisitRecord
,
sceneVisitImage
,
...
baseInfo
,
source
:
2
}
if
(
this
.
info
.
id
)
{
...
...
src/utils/common.js
View file @
9de9fa56
...
...
@@ -287,3 +287,17 @@ export function isResidentInfo() {
}
return
res
}
//一维数组去重
export
function
uniqueArr
(
arr
=
[],
key
=
''
)
{
let
res
=
[]
if
(
key
)
{
arr
.
forEach
(
item
=>
{
let
tmp
=
res
.
filter
(
i
=>
i
[
key
]
==
item
[
key
])
if
(
!
tmp
.
length
)
{
res
.
push
(
item
)
}
})
}
return
res
}
\ 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