Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
P
pica-insurance
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
Close sidebar
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
com.pica.cloud.frontend
pica-insurance
提交
edc948ea
提交
edc948ea
编写于
2月 15, 2023
作者:
张敬贤
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
auto commit
上级
f9f64de2
变更
10
显示空白字符变更
内嵌
并排
正在显示
10 个修改的文件
包含
342 行增加
和
25 行删除
+342
-25
api.js
src/components/pickArea/api.js
+47
-0
index.vue
src/components/pickArea/index.vue
+212
-0
index.vue
src/components/selectHospital/index.vue
+2
-2
App.scss
src/styles/App.scss
+5
-0
index.vue
src/views/appoint/index.vue
+63
-17
index.vue
src/views/appointDetails/index.vue
+0
-5
index.scss
src/views/checkStatus/index.scss
+0
-0
index.vue
src/views/checkStatus/index.vue
+13
-0
insurance-bind-code.vue
src/views/insurance-bind-code/insurance-bind-code.vue
+0
-1
index.vue
src/views/questionnaire/index.vue
+0
-0
未找到文件。
src/components/pickArea/api.js
0 → 100644
浏览文件 @
edc948ea
//
import
request
from
'mn-template/plugins/http'
;
// *
// * 获取省列表
// *
export
const
getProvinceList
=
async
params
=>
{
return
request
({
method
:
'get'
,
params
:
params
,
withCredentials
:
true
,
url
:
'/basic-data/position/provinces'
});
};
/**
* 获取市列表
*/
export
const
getCityList
=
async
params
=>
{
return
request
({
method
:
'get'
,
params
:
params
,
withCredentials
:
true
,
url
:
'/basic-data/position/cities'
});
};
/**
* 获取县/区列表
*/
export
const
getCountyList
=
async
params
=>
{
return
request
({
method
:
'get'
,
params
:
params
,
withCredentials
:
true
,
url
:
'/basic-data/position/counties'
});
};
/**
* 获取乡镇列表
*/
export
const
getTownList
=
async
params
=>
{
return
request
({
method
:
'get'
,
params
:
params
,
withCredentials
:
true
,
url
:
'/basic-data/position/towns'
});
};
src/components/pickArea/index.vue
0 → 100644
浏览文件 @
edc948ea
<
template
>
<van-popup
v-model=
"show"
v-shwo=
"show"
position=
"bottom"
round
@
close=
"close"
>
<van-picker
ref=
"picker"
:columns=
"columns"
show-toolbar
:loading=
"loading"
value-key=
"name"
@
confirm=
"confirm"
@
change=
"change"
@
close=
"close"
@
cancel=
"close"
>
<template
#
title
>
<div
class=
"picker-area-title"
>
选择省市区
</div>
</
template
>
<
template
#
confirm
>
<div
class=
"picker-area-buttons"
>
<van-icon
name=
"cross"
size=
"20"
/>
</div>
</
template
>
<
template
#
cancel
>
<div
class=
"picker-area-buttons"
/>
</
template
>
</van-picker>
</van-popup>
</template>
<
script
>
import
{
getProvinceList
,
getCityList
,
getCountyList
}
from
'./api'
;
export
default
{
props
:
{
show
:
{
type
:
Boolean
,
default
:()
=>
false
},
locationAreaCode
:
{
type
:
Array
,
default
:()
=>
[]
}
},
data
()
{
return
{
columns
:
[
],
provinceList
:
[],
cityList
:
[],
countyList
:[],
loading
:
true
,
};
},
watch
:
{
locationAreaCode
:{
async
handler
(
nv
,
ov
)
{
console
.
log
(
'locationAreaCode'
,
nv
,
ov
);
this
.
provinceList
=
await
this
.
getProvinceList
();
this
.
cityList
=
await
this
.
getCityList
(
nv
[
0
]);
this
.
countyList
=
await
this
.
getCountyList
(
nv
[
1
]);
const
provinceIndex
=
this
.
provinceList
.
findIndex
(
ele
=>
ele
.
id
===
nv
[
0
]);
const
cityIndex
=
this
.
cityList
.
findIndex
(
ele
=>
ele
.
id
===
nv
[
1
]);
const
countyIndex
=
this
.
countyList
.
findIndex
(
ele
=>
ele
.
id
===
nv
[
2
]);
this
.
columns
=
[{
values
:
this
.
provinceList
,
defaultIndex
:
provinceIndex
},
{
values
:
this
.
cityList
,
defaultIndex
:
cityIndex
},
{
values
:
this
.
countyList
,
defaultIndex
:
countyIndex
}];
console
.
log
(
'locationAreaCode'
,
this
.
$refs
.
picker
);
},
immediate
:
true
},
},
created
()
{
},
methods
:
{
// 初始化 省市县信息
async
initData
()
{
this
.
provinceList
=
await
this
.
getProvinceList
();
this
.
cityList
=
await
this
.
getCityList
(
this
.
provinceList
[
0
].
id
);
this
.
countyList
=
await
this
.
getCountyList
(
this
.
cityList
[
0
].
id
);
this
.
columns
=
[{
values
:
this
.
provinceList
},
{
values
:
this
.
cityList
},
{
values
:
this
.
countyList
}];
},
// 获取省列表
getProvinceList
()
{
return
new
Promise
((
resolve
,
rejects
)
=>
{
getProvinceList
().
then
(
res
=>
{
this
.
hideLoading
();
const
data
=
res
.
data
.
provinceList
.
map
(
ele
=>
{
return
{
name
:
ele
.
provinceName
,
id
:
ele
.
provinceId
};
});
resolve
(
data
);
}).
catch
(
err
=>
{
rejects
(
err
);
});
}).
finally
(
this
.
hideLoading
);
},
// 获取省列表下市区
getCityList
(
provinceId
)
{
return
new
Promise
((
resolve
,
rejects
)
=>
{
getCityList
({
provinceId
}).
then
(
res
=>
{
this
.
hideLoading
();
const
data
=
res
.
data
.
cityList
.
map
(
ele
=>
{
return
{
name
:
ele
.
cityName
,
id
:
ele
.
cityId
};
});
resolve
(
data
);
}).
catch
(
err
=>
{
rejects
(
err
);
});
}).
finally
(
this
.
hideLoading
);
},
// 获取市区县区
getCountyList
(
cityId
)
{
return
new
Promise
((
resolve
,
rejects
)
=>
{
this
.
hideLoading
();
getCountyList
({
cityId
}).
then
(
res
=>
{
const
data
=
res
.
data
.
countyList
.
map
(
ele
=>
{
return
{
name
:
ele
.
countyName
,
id
:
ele
.
countyId
};
});
resolve
(
data
);
}).
catch
(
err
=>
{
rejects
(
err
);
});
}).
finally
(
this
.
hideLoading
);
},
// hideloading loading 琐住选择区域,防止重复操作
hideLoading
()
{
setTimeout
(()
=>
{
this
.
loading
=
false
;
},
300
);
},
// 确定按钮
confirm
(
value
,
valueIndex
)
{
console
.
log
(
value
,
valueIndex
);
this
.
$emit
(
'confirm'
,
value
);
this
.
$emit
(
'close'
,
'showArea'
);
},
// 滑动选择的change
async
change
(
picker
,
columnsIndex
,
currentChangeIndex
)
{
console
.
log
(
picker
,
columnsIndex
,
currentChangeIndex
);
switch
(
currentChangeIndex
)
{
case
0
:
this
.
loading
=
true
;
this
.
cityList
=
await
this
.
getCityList
(
columnsIndex
[
currentChangeIndex
].
id
);
this
.
$refs
.
picker
.
setColumnValues
(
currentChangeIndex
+
1
,
this
.
cityList
);
this
.
$refs
.
picker
.
setColumnIndex
(
currentChangeIndex
+
1
,
0
);
this
.
countyList
=
await
this
.
getCountyList
(
this
.
cityList
[
0
].
id
);
this
.
$refs
.
picker
.
setColumnValues
(
currentChangeIndex
+
2
,
this
.
countyList
);
this
.
$refs
.
picker
.
setColumnIndex
(
currentChangeIndex
+
2
,
0
);
this
.
hideLoading
();
break
;
case
1
:
this
.
loading
=
true
;
this
.
countyList
=
await
this
.
getCountyList
(
columnsIndex
[
currentChangeIndex
].
id
);
this
.
$refs
.
picker
.
setColumnValues
(
currentChangeIndex
+
1
,
this
.
countyList
);
this
.
hideLoading
();
break
;
case
2
:
this
.
hideLoading
();
break
;
default
:
this
.
hideLoading
();
break
;
}
},
// 关闭
close
()
{
this
.
$emit
(
'close'
,
'showArea'
);
}
}
};
</
script
>
<
style
lang=
"scss"
scoped
>
.picker-area-title
{
height
:
18px
;
font-size
:
18px
;
font-family
:
PingFangSC-Medium
,
PingFang
SC
;
font-weight
:
500
;
color
:
#02120F
;
line-height
:
18px
;
}
.picker-area-buttons
{
width
:
30px
;
height
:
30px
;
display
:
flex
;
justify-items
:
center
;
align-items
:
center
;
color
:
#999999
;
}
</
style
>
src/components/selectHospital/index.vue
浏览文件 @
edc948ea
...
...
@@ -44,7 +44,7 @@
>
<div
class=
"list-item-name"
v-html=
"
$commonJs.
highLight(item.hospitalName, searchValue)"
v-html=
"highLight(item.hospitalName, searchValue)"
/>
<!-- <div class="list-item-name">
{{ item.hospitalName }}
...
...
@@ -97,7 +97,7 @@ export default {
finished
:
false
,
pageNum
:
0
,
pageSize
:
50
,
searchValue
:
''
searchValue
:
''
,
};
},
mounted
()
{
...
...
src/styles/App.scss
浏览文件 @
edc948ea
...
...
@@ -53,6 +53,11 @@ input[type=search]::-webkit-search-cancel-button{
.van-picker__confirm
{
color
:
#15A4AC
;
}
// 设计稿默认pickercolumn__item 选中字体样式
.van-picker-column__item--selected
.van-ellipsis
{
font-weight
:
550
;
}
.van-picker__title
{
font-size
:
13px
;
font-weight
:
400
;
...
...
src/views/appoint/index.vue
浏览文件 @
edc948ea
...
...
@@ -24,26 +24,40 @@
class=
"appoint-form-title"
/>
<van-field
v-model=
"username"
v-model=
"
dectionForm.
username"
label=
"受检人"
class=
"appoint-form-items"
placeholder=
"请输入受检人姓名"
:rules=
"[{ required: true, message: '请输入受检人姓名' }]"
:rules=
"[{ required: true, message: '请输入受检人姓名' },{
pattern: /^[\u4e00-\u9fa5_a-zA-Z0-9]+$/,
message: '请输入正确格式',
},
{
pattern: /^.{2,20}$/,
message: '收货人姓名请填写2-20位',
},]"
/>
<van-field
v-model=
"
username
"
v-model=
"
dectionForm.phoneNum
"
class=
"appoint-form-items"
label=
"手机号"
placeholder=
"请输入受检人手机号"
:rules=
"[{ required: true, message: '请输入受检人手机号' }]"
:rules=
"[{ required: true, message: '请输入受检人手机号' },
{
pattern: /^([1][3,4,5,6,7,8,9])\d{9}$/,
message: '手机号格式填写有误',
},]"
/>
<van-field
v-model=
"
passwo
rd"
v-model=
"
dectionForm.idCa
rd"
class=
"appoint-form-items"
type=
"password"
label=
"身份证号"
placeholder=
"请输入受检人真实身份证号"
:rules=
"[{ required: true, message: '请输入受检人真实身份证号' }]"
:rules=
"[{ required: true, message: '请输入受检人真实身份证号' },
{
pattern: /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/,
message: '手机号格式填写有误',
},]"
/>
<van-field
label=
"检测地点"
...
...
@@ -59,7 +73,23 @@
placeholder=
"请选择省市区"
:rules=
"[{ required: true, message: '请选择省市区' }]"
@
click=
"showAreaFn"
/>
>
<
template
#
input
>
<div
v-if=
"!showAreaLabel"
class=
"appoint-form-placeholder"
>
请选择省市区
</div>
<div
v-else
class=
"appoint-form-value"
>
{{
showAreaLabel
}}
</div>
</
template
>
</van-field>
<van-field
v-model=
"dectionForm.hospitalName"
class=
"appoint-form-items"
...
...
@@ -113,7 +143,9 @@
round
block
type=
"info"
class=
"appoint-form-submit appoint-form-submit-active"
:disabled=
"!checkValue"
class=
"appoint-form-submit "
:class=
"checkValue ? 'appoint-form-submit-active':''"
>
提交
</van-button>
...
...
@@ -122,16 +154,18 @@
:show=
"showselectHospital"
:hospital-id=
"hospitalId"
@
change=
"selectHospital"
@
close=
"close"
@
close=
"close
Popup
"
/>
<SelectTime
:show=
"showSelectTime"
@
change=
"selectTimes"
@
close=
"close"
@
close=
"close
Popup
"
/>
<PicaArea
v-model=
"showArea"
<PickArea
:location-area-code=
"locationAreaCode"
:show=
"showArea"
@
confirm=
"confirm"
@
close=
"closePopup"
/>
</div>
</template>
...
...
@@ -139,15 +173,18 @@
<
script
>
import
SelectHospital
from
'@/components/selectHospital/index.vue'
;
import
SelectTime
from
'@/components/selectTime/index.vue'
;
import
PickArea
from
'@/components/pickArea/index.vue'
;
export
default
{
components
:
{
SelectHospital
,
SelectTime
,
PickArea
},
data
()
{
return
{
dectionForm
:
{
detectName
:
'癌症甲基化早筛检测'
,
username
:
''
,
place
:
''
,
time
:
''
,
currentDate
:
''
,
...
...
@@ -156,6 +193,7 @@ export default {
hospitalName
:
''
,
goodsId
:
''
,
},
showAreaLabel
:
''
,
showselectHospital
:
false
,
showArea
:
false
,
reportShow
:
false
,
...
...
@@ -177,7 +215,8 @@ export default {
showSelectTime
:
false
,
isSelf
:
false
,
spEquityCode
:
''
,
hospitalId
:
''
hospitalId
:
''
,
locationAreaCode
:[
330
,
330400000000
,
330424000000
]
};
},
computed
:
{
...
...
@@ -191,6 +230,9 @@ export default {
},
},
mounted
()
{
setTimeout
(()
=>
{
this
.
locationAreaCode
=
[
330
,
330400000000
,
330424000000
];
},
3000
);
},
methods
:
{
choose
()
{},
...
...
@@ -200,6 +242,8 @@ export default {
chooseDate
()
{},
selectTimes
(
times
)
{
console
.
log
(
times
);
this
.
dectionForm
.
time
=
times
;
this
.
closePopup
(
'showSelectTime'
);
},
getTimes
()
{
this
.
timsArray
=
[];
...
...
@@ -223,7 +267,7 @@ export default {
console
.
log
(
name
);
this
[
name
]
=
true
;
},
close
(
name
)
{
close
Popup
(
name
)
{
this
[
name
]
=
false
;
},
cancelSearch
()
{},
...
...
@@ -231,8 +275,10 @@ export default {
onConfirm
()
{},
getDetailByUnionId
()
{
},
confirm
()
{
confirm
(
values
)
{
console
.
log
(
'confirm'
,
values
);
this
.
showAreaLabel
=
values
.
map
(
ele
=>
ele
.
name
).
join
(
''
);
this
.
showArea
=
false
;
},
selectHospital
({
hospitalId
,
hospitalName
})
{
this
.
hospitalId
=
hospitalId
;
...
...
src/views/appointDetails/index.vue
浏览文件 @
edc948ea
...
...
@@ -117,11 +117,6 @@
>
重新预约
</div>
<official-account
v-if=
"!hasAccount"
class=
"detail-fixed-account"
style=
""
/>
</div>
</
template
>
...
...
src/views/
questionnaire
/index.scss
→
src/views/
checkStatus
/index.scss
浏览文件 @
edc948ea
文件已移动
src/views/checkStatus/index.vue
0 → 100644
浏览文件 @
edc948ea
<
template
>
<div
/>
</
template
>
<
script
>
export
default
{
};
</
script
>
<
style
>
</
style
>
src/views/insurance-bind-code/insurance-bind-code.vue
浏览文件 @
edc948ea
...
...
@@ -104,7 +104,6 @@
>
《
{{
protocolName
}}
》
</span>
</div>
</div>
<div
class=
"submit-button-top"
>
<div
class=
"submit-button"
...
...
src/views/questionnaire/index.vue
已删除
100644 → 0
浏览文件 @
f9f64de2
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录