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
提交
f735b91c
提交
f735b91c
编写于
3月 16, 2023
作者:
张磊
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'feature/zl' into 'release'
delete trash code See merge request
!142
上级
83b4ab95
809bf732
变更
26
隐藏空白字符变更
内嵌
并排
正在显示
26 个修改的文件
包含
887 行增加
和
268 行删除
+887
-268
package.json
package.json
+1
-1
index.html
public/index.html
+14
-14
appoint.js
src/api/appoint.js
+0
-1
detection.js
src/api/detection.js
+27
-9
index.vue
src/components/pickArea/index.vue
+10
-8
index.vue
src/components/selectHospital/index.vue
+2
-2
index.vue
src/components/selectTime/index.vue
+6
-9
appHooks.js
src/plugins/appHooks.js
+0
-7
vue-components.js
src/plugins/vue-components.js
+0
-1
index.js
src/router/index.js
+5
-0
index.vue
src/views/appoint/index.vue
+8
-28
index.vue
src/views/appointDetails/index.vue
+55
-38
index.scss
src/views/bindingCode/index.scss
+0
-0
index.vue
src/views/bindingCode/index.vue
+0
-0
index.scss
src/views/checkStatus/index.scss
+0
-0
index.vue
src/views/checkStatus/index.vue
+0
-13
index.vue
src/views/home/index.vue
+39
-49
insurance-bind-code.vue
src/views/insurance-bind-code/insurance-bind-code.vue
+58
-16
index.scss
src/views/insurance-bindCode-success/index.scss
+1
-1
insurance-bindCode-success.vue
...insurance-bindCode-success/insurance-bindCode-success.vue
+37
-17
insurance-detection-detail.vue
...insurance-detection-detail/insurance-detection-detail.vue
+7
-2
index.vue
src/views/insurance-question-back/index.vue
+1
-29
insuranceQuestionResult.vue
...ews/insurance-question-result/insuranceQuestionResult.vue
+25
-22
index.scss
src/views/insurance-quickDetection-detail/index.scss
+299
-0
index.vue
src/views/insurance-quickDetection-detail/index.vue
+291
-0
vue.config.js
vue.config.js
+1
-1
未找到文件。
package.json
浏览文件 @
f735b91c
...
...
@@ -24,7 +24,7 @@
"
@amap/amap-jsapi-loader
"
:
"
^1.0.1
"
,
"
axios
"
:
"
^0.19.2
"
,
"
core-js
"
:
"
^3.6.5
"
,
"
dayjs
"
:
"
^1.
8.30
"
,
"
dayjs
"
:
"
^1.
11.7
"
,
"
dingtalk-jsapi
"
:
"
^3.0.12
"
,
"
dsbridge
"
:
"
^3.1.4
"
,
"
lodash
"
:
"
^4.17.15
"
,
...
...
public/index.html
浏览文件 @
f735b91c
...
...
@@ -29,20 +29,20 @@
<script
src=
"<%= VUE_APP_OSS_URL %>static/js/vconsole-3.3.4.js"
></script>
<script
src=
"<%= VUE_APP_OSS_URL %>static/js/lodash-4.17.15.js"
></script>
<script>
!
(
function
(
c
,
b
,
d
,
a
){
c
[
a
]
||
(
c
[
a
]
=
{});
c
[
a
].
config
=
{
pid
:
"bj53rb58f5@29641a9002f6545"
,
appType
:
"web"
,
imgUrl
:
"https://arms-retcode.aliyuncs.com/r.png?"
,
sendResource
:
true
,
enableLinkTrace
:
true
,
behavior
:
true
,
useFmp
:
true
,
enableSPA
:
true
,
enableConsole
:
true
};
with
(
b
)
with
(
body
)
with
(
insertBefore
(
createElement
(
"script"
),
firstChild
))
setAttribute
(
"crossorigin"
,
""
,
src
=
d
)
})(
window
,
document
,
"https://retcode.alicdn.com/retcode/bl.js"
,
"__bl"
);
//
!(function(c,b,d,a){c[a]||(c[a]={});c[a].config=
//
{
//
pid:"bj53rb58f5@29641a9002f6545",
//
appType:"web",
//
imgUrl:"https://arms-retcode.aliyuncs.com/r.png?",
//
sendResource:true,
//
enableLinkTrace:true,
//
behavior:true,
//
useFmp:true,
//
enableSPA:true,
//
enableConsole:true
//
};
//
with(b)with(body)with(insertBefore(createElement("script"),firstChild))setAttribute("crossorigin","",src=d)
//
})(window,document,"https://retcode.alicdn.com/retcode/bl.js","__bl");
</script>
</body>
</html>
src/api/appoint.js
浏览文件 @
f735b91c
...
...
@@ -2,7 +2,6 @@
import
request
from
'mn-template/plugins/http'
;
// 根据订单号获取检测名称
// /tis/insurance/detectionName?yunOrderNo=11
export
const
getDetectionName
=
async
(
yunOrderNo
)
=>
{
return
request
({
method
:
'get'
,
...
...
src/api/detection.js
浏览文件 @
f735b91c
import
request
from
'mn-template/plugins/http'
;
//
获取检测详情 接口
export
const
getDetectionDetail
=
(
id
)
=>
{
//
检测详情节点查询
export
const
getDetectionDetail
Proces
=
(
data
)
=>
{
return
request
({
method
:
'get'
,
url
:
`/trade/detection/record/
record/info/?detectionRecordId=
${
id
}
&userType=0
`
,
url
:
`/trade/detection/record/
process/
${
data
.
id
}
?channel=
${
data
.
channel
}
`
,
withCredentials
:
true
,
});
};
// 检测详情节点查询
export
const
getDetectionDetailProces
=
(
data
)
=>
{
//
快检
检测详情节点查询
export
const
get
Quick
DetectionDetailProces
=
(
data
)
=>
{
return
request
({
method
:
'get'
,
url
:
`/trade/detection/record/process/
${
data
.
id
}
?channel=
${
data
.
channel
}
`
,
url
:
`/trade/detection/record/process/
${
data
.
id
}
?channel=
${
data
.
channel
}
&detectionKind=1
`
,
withCredentials
:
true
,
});
};
...
...
@@ -90,10 +90,19 @@ export const sampleCodeValidate = (data) => {
};
// 获取检测人信息
export
const
detectionRecordInfo
=
(
id
)
=>
{
export
const
detectionRecordInfo
=
(
data
)
=>
{
return
request
({
method
:
'get'
,
url
:
`/trade/detection/record/record/infoV2?detectionRecordId=
${
data
.
detectionRecordId
}
&detectionKind=
${
data
.
detectionKind
}
`
,
withCredentials
:
true
,
});
};
// 获取检测人信息
export
const
detectionQuickRecordInfo
=
(
id
)
=>
{
return
request
({
method
:
'get'
,
url
:
`/trade/detection/record/
record
/info?detectionRecordId=
${
id
}
`
,
url
:
`/trade/detection/record/
quick
/info?detectionRecordId=
${
id
}
`
,
withCredentials
:
true
,
});
};
...
...
@@ -101,11 +110,20 @@ export const detectionRecordInfo = (id) => {
// 绑定条码
export
const
bindingSampleCode
=
(
data
)
=>
{
return
request
({
url
:
'/trade/detection/applet/record/record/bindingSampleCode'
,
url
:
'/trade/detection/applet/record/record/bindingSampleCodeV2'
,
method
:
'POST'
,
data
:
data
,
});
};
export
const
bindingQuickSampleCode
=
(
data
)
=>
{
return
request
({
url
:
'/trade/detection/applet/record/record/bindingSampleCodeV2'
,
method
:
'POST'
,
data
:
data
,
});
};
export
const
getJumpToWebapp
=
(
params
)
=>
{
return
request
({
url
:
'/applet/url/link/getUrlLink'
,
...
...
src/components/pickArea/index.vue
浏览文件 @
f735b91c
...
...
@@ -94,14 +94,16 @@ export default {
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
.
provinceList
,
provinceIndex
);
const
data
=
[
this
.
provinceList
[
provinceIndex
],
this
.
cityList
[
cityIndex
],
this
.
countyList
[
countyIndex
]];
if
(
this
.
result
)
{
this
.
$emit
(
'confirm'
,
data
);
if
(
this
.
cityList
)
{
const
provinceIndex
=
this
.
provinceList
.
findIndex
(
ele
=>
ele
.
id
===
nv
[
0
]);
const
cityIndex
=
this
.
cityList
&&
this
.
cityList
.
findIndex
(
ele
=>
ele
.
id
===
nv
[
1
]);
const
countyIndex
=
this
.
countyList
&&
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
.
provinceList
,
provinceIndex
);
const
data
=
[
this
.
provinceList
[
provinceIndex
],
this
.
cityList
[
cityIndex
],
this
.
countyList
[
countyIndex
]];
if
(
this
.
result
)
{
this
.
$emit
(
'confirm'
,
data
);
}
}
}
},
...
...
src/components/selectHospital/index.vue
浏览文件 @
f735b91c
...
...
@@ -152,10 +152,10 @@ export default {
getHospitalList
(
data
).
then
(
res
=>
{
console
.
log
(
'getHospitalList'
,
res
);
this
.
list
=
res
.
data
.
data
;
this
.
list
=
res
.
data
.
data
||
[]
;
this
.
finished
=
true
;
this
.
loading
=
false
;
const
hospitalIdIndex
=
this
.
list
.
findIndex
(
ele
=>
ele
.
hospitalId
===
this
.
hospitalId
);
const
hospitalIdIndex
=
(
this
.
list
.
length
>
0
)
&&
this
.
list
.
findIndex
(
ele
=>
ele
.
hospitalId
===
this
.
hospitalId
);
console
.
log
(
'hospitalIdIndex'
,
hospitalIdIndex
);
if
(
this
.
externalData
.
cityId
&&
this
.
externalData
.
countyId
&&
this
.
externalData
.
provinceId
&&
hospitalIdIndex
==
-
1
)
{
this
.
$emit
(
'clean'
);
...
...
src/components/selectTime/index.vue
浏览文件 @
f735b91c
...
...
@@ -83,7 +83,8 @@ export default {
am
:
'上午'
,
pm
:
'下午'
,
},
currentItem
:
''
currentItem
:
''
,
currentItemChoosed
:{}
};
},
watch
:
{
...
...
@@ -106,30 +107,24 @@ export default {
}
},
mounted
()
{
// this.getTimes();d
},
methods
:
{
// 获取机构列表
getScheduling
()
{
const
{
projectEquityNo
,
hospitalId
}
=
this
;
getScheduling
({
projectEquityNo
,
hospitalId
}).
then
(
res
=>
{
console
.
log
(
res
);
this
.
timsArray
=
res
.
data
;
// this.selectTimes = res.data[0].appointmentDate;
// this.currentItem = res.data[0];
});
},
selectItem
()
{
if
(
this
.
selectTimes
===
''
)
{
// this.$toast('请选择日期');
return
;
}
if
(
this
.
selectTimeBucket
===
''
)
{
// this.$toast('请选择时间段');
return
;
}
this
.
$emit
(
'change'
,
this
.
selectTimes
+
' '
+
this
.
selectTimeBucket
);
this
.
$emit
(
'change'
,
{
value
:
(
this
.
selectTimes
+
' '
+
this
.
selectTimeBucket
),
currentItemChoosed
:
this
.
currentItemChoosed
});
},
cancel
()
{
this
.
finished
=
false
;
...
...
@@ -171,6 +166,8 @@ export default {
return
;
}
this
.
selectTimeBucket
=
item
===
'am'
?
this
.
currentItem
[
'amTimeBegin'
]
:
this
.
currentItem
[
'pmTimeBegin'
];
this
.
currentItemChoosed
=
{...
this
.
currentItem
,
timeBucket
:
item
};
console
.
log
(
'-selectTimeB'
,
this
.
currentItem
,
this
.
currentItemChoosed
);
this
.
selectItem
();
}
}
...
...
src/plugins/appHooks.js
浏览文件 @
f735b91c
/**
* @name: appHooks
* @author: alan
* @date: 2021-09-13 17:05
* @description:appHooks
* @update: 2021-09-13 17:05
*/
export
default
{
data
()
{
return
{
...
...
src/plugins/vue-components.js
浏览文件 @
f735b91c
...
...
@@ -6,7 +6,6 @@ import { Dialog, Field, Overlay, Button, Popup, Icon} from 'vant';
import
Loading
from
'@/components/loading/loading'
;
Vue
.
use
(
Loading
);
// Vue.use(PicaArea);
Vue
.
use
(
picaGuideApp
);
Vue
.
use
(
PageModel
);
Vue
.
use
(
Dialog
);
...
...
src/router/index.js
浏览文件 @
f735b91c
...
...
@@ -19,6 +19,11 @@ const routerConfig = [
name
:
'insuranceDetectionDetail'
,
component
:
insuranceDetectionDetail
},
{
path
:
'/insuranceQuickDetectionDetail'
,
name
:
'insuranceQuickDetectionDetail'
,
component
:
()
=>
import
(
'@/views/insurance-quickDetection-detail/index'
),
},
{
path
:
'/insuranceQuestionResult'
,
name
:
'insuranceQuestionResult'
,
...
...
src/views/appoint/index.vue
浏览文件 @
f735b91c
...
...
@@ -16,7 +16,6 @@
<van-form
ref=
"dectionForm"
validate-first
@
submit=
"onSubmit"
>
<van-field
name=
"checkboxGroup"
...
...
@@ -150,18 +149,12 @@
v-else
class=
"appoint-form-value"
>
{{
dectionForm
.
appointmentTime
}}
{{
appointmentTimeShadow
}}
</div>
</
template
>
</van-field>
</van-form>
</div>
<!-- <van-button
@click="submit"
>
提交1
</van-button> -->
<van-button
round
block
...
...
@@ -216,6 +209,7 @@ import SelectTime from '@/components/selectTime/index.vue';
import
PickArea
from
'@/components/pickArea/index.vue'
;
import
{
getJumpPageStatus
,
getButtonStatus
}
from
'@/api/question'
;
import
storejs
from
'storejs'
;
import
dayjs
from
'dayjs'
;
import
AMapLoader
from
'@amap/amap-jsapi-loader'
;
export
default
{
components
:
{
...
...
@@ -287,19 +281,11 @@ export default {
stock
:
false
,
buttonStatus
:
false
,
buttonText
:
''
,
appointmentTimeShadow
:
''
,
};
},
computed
:
{
canSubmit
()
{
// appointmentTime: this.dectionForm.appointmentTime,
// goodsId: this.dectionForm.goodsId,
// hospitalId: this.hospitalId,
// hospitalName: this.dectionForm.hospitalName,
// patientIdNo: this.dectionForm.beneficiaryIdNum,
// patientMobile: this.dectionForm.beneficiaryPhone,
// patientName: this.dectionForm.beneficiaryName,
// yunOrderNo:this.yunOrderNo,
return
(
this
.
dectionForm
.
appointmentTime
&&
this
.
dectionForm
.
goodsId
&&
...
...
@@ -311,10 +297,8 @@ export default {
this
.
yunOrderNo
&&
this
.
stock
&&
this
.
buttonStatus
);
},
},
mounted
()
{
this
.
$loading
.
show
();
...
...
@@ -348,11 +332,6 @@ export default {
console
.
log
(
'getJumpPageStatus'
,
res
);
});
},
// submit() {
// this.$rocNative.WXInstance.miniProgram.navigateTo({
// url:'/pagesInsurance/appoint-details/index?yunOrderNo=' + this.yunOrderNo
// });
// },
// 高德地图导航只有在线上环境才能使用
initMap
()
{
const
that
=
this
;
...
...
@@ -448,8 +427,12 @@ export default {
},
selectTimes
(
times
)
{
console
.
log
(
times
);
this
.
dectionForm
.
appointmentTime
=
times
;
const
{
value
,
currentItemChoosed
}
=
times
;
this
.
dectionForm
.
appointmentTime
=
value
;
this
.
closePopup
(
'showSelectTime'
);
// appointmentTimeShadow
const
m
=
(
Number
(
dayjs
(
currentItemChoosed
.
appointmentDate
).
month
())
+
1
)
+
'月'
+
(
Number
(
dayjs
(
currentItemChoosed
.
appointmentDate
).
date
()))
+
'日'
;
this
.
appointmentTimeShadow
=
m
+
' '
+
currentItemChoosed
[
currentItemChoosed
.
timeBucket
+
'TimeContent'
];
},
getTimes
()
{
this
.
timsArray
=
[];
...
...
@@ -479,8 +462,6 @@ export default {
closePopup
(
name
)
{
this
[
name
]
=
false
;
},
cancelSearch
()
{},
selectAddress
()
{},
appointment
()
{
this
.
$refs
.
dectionForm
.
validate
().
then
(
result
=>
{
console
.
log
(
'this.dectionForm'
,
result
);
...
...
@@ -526,7 +507,6 @@ export default {
});
},
getDetailByUnionId
()
{
},
confirm
(
values
)
{
console
.
log
(
'confirm'
,
values
);
if
(
values
)
{
...
...
src/views/appointDetails/index.vue
浏览文件 @
f735b91c
...
...
@@ -18,15 +18,18 @@
alt=
""
>
{{
!
expireFlag
?
statusMap
[
detailInfo
.
status
]
:
'已过期'
}}
{{
!
expireFlag
?
statusMap
(
detailInfo
.
status
)
:
'已过期'
}}
</div>
<div
class=
"detail-top insurance-detection"
>
<div
class=
"detection-title"
>
您的
{{
isUnderLine
?
'领取'
:
'检测'
}}
时间
</div>
<div
class=
"detection-time"
>
<div
class=
"detection-time
mb5
"
>
{{
detailInfo
.
appointmentTimeStr
}}
</div>
<div
class=
"detection-time"
>
{{
detailInfo
.
appointmentTimeStr2
}}
</div>
<div
class=
"detail-top-info"
>
<div
class=
"detail-top-address"
>
<div
class=
"detail-top-address-name"
>
...
...
@@ -91,13 +94,15 @@
class=
"tip-grey"
>
<div
class=
"tip-grey-dot"
/>
请在预约日期前往预约医院完成采样。无需空腹,采样前三天可适当清淡饮食;
{{
insuranceInfo
&&
insuranceInfo
.
detectionKind
==
0
?
'请在预约日期前往预约医院完成采样。无需空腹,采样前三天可适当清淡饮食;'
:
'请在预约日前往现场领取产品;'
}}
</div>
<div
class=
"tip-grey"
>
<div
class=
"tip-grey-dot"
/>
注意携带好您投保时注册的手机前往,凭手机号扫码确认采样;
{{
insuranceInfo
&&
insuranceInfo
.
detectionKind
==
0
?
'注意携带好您投保时注册的手机前往,凭手机号扫码确认采样;'
:
'注意携带好投保时注册的手机前往,凭手机号扫码确认领取成功;'
}}
</div>
<div
class=
"tip-grey"
>
<div
v-if=
"insuranceInfo && insuranceInfo.detectionKind == 0"
class=
"tip-grey"
>
<div
class=
"tip-grey-dot"
/>
预计7-10个工作日电子报告将返回至您的手机,届时将提供进一步的报告解读服务,请注意查收。
</div>
...
...
@@ -160,12 +165,6 @@
href=
"tel:400-006-5252"
>
400-006-5252
</a>
</div>
<!--
<div
class=
"detail-btn"
@
click=
"checkDetail"
>
查看详情
</div>
-->
<div
v-if=
"!expireFlag"
class=
"detail-btn-bottom"
...
...
@@ -215,10 +214,11 @@
</
template
>
<
script
>
import
{
getDetailByYunOrderNo
}
from
'@/api/appoint'
;
import
{
getDetailByYunOrderNo
,
getDetectionName
}
from
'@/api/appoint'
;
import
{
formatDate
}
from
'@/utils/common'
;
import
storejs
from
'storejs'
;
import
AMapLoader
from
'@amap/amap-jsapi-loader'
;
import
{
mapGetters
}
from
'vuex'
;
export
default
{
data
()
{
return
{
...
...
@@ -238,31 +238,11 @@ export default {
expireFlag
:
false
,
query
:
{},
isUnderLine
:
false
,
// 状态 代码 说明
// 0101 未填写问卷
// 0102 已填写问卷
// 0201 待预约
// 0202 已预约
// 0203 已取消待重新预约
// 0301 待采样
// 0302 已采样
// 0303 待重新采样
// 0304 已出报告
// 0401 已结束
statusMap
:
{
'0101'
:
'未填写问卷'
,
'0102'
:
'已填写问卷'
,
'0201'
:
'待预约'
,
'0202'
:
'预约成功'
,
'0203'
:
'已取消待重新预约'
,
'0301'
:
'待采样'
,
'0302'
:
'已采样'
,
'0303'
:
'待重新采样'
,
'0304'
:
'已出报告'
,
'0401'
:
'已结束'
,
},
};
},
computed
:
{
...
mapGetters
(
'home'
,
[
'insuranceInfo'
]),
},
mounted
()
{
this
.
$loading
.
show
();
const
{
yunOrderNo
,
projectEquityNo
}
=
this
.
$route
.
query
;
...
...
@@ -270,11 +250,11 @@ export default {
this
.
projectEquityNo
=
projectEquityNo
;
console
.
log
(
'yunOrderNo'
,
yunOrderNo
);
this
.
getDetailByYunOrderNo
(
yunOrderNo
);
this
.
getDetectionName
(
yunOrderNo
);
this
.
$loading
.
hide
();
},
methods
:
{
formatDate
(
orderTime
)
{
if
(
!
orderTime
)
{
return
'--'
;
}
...
...
@@ -391,8 +371,9 @@ export default {
const
{
pprotocolType
,
detectionServiceRecordId
}
=
this
.
detailInfo
;
console
.
log
(
'window.miniProgram'
,
window
.
_miniprogram
);
if
(
window
.
_miniprogram
)
{
const
{
detectionKind
}
=
this
.
insuranceInfo
;
this
.
$rocNative
.
WXInstance
.
miniProgram
.
navigateTo
({
url
:
`/pages/health/binding-code/index?yunOrderNo=
${
this
.
yunOrderNo
}
&projectEquityNo=
${
this
.
projectEquityNo
}
&detectionRecordId=
${
detectionServiceRecordId
}
&pprotocolType=
${
pprotocolType
}
&channelSource=insurance_channel`
url
:
`/pages/health/binding-code/index?yunOrderNo=
${
this
.
yunOrderNo
}
&projectEquityNo=
${
this
.
projectEquityNo
}
&detectionRecordId=
${
detectionServiceRecordId
}
&pprotocolType=
${
pprotocolType
}
&channelSource=insurance_channel
&detectionKind=
${
detectionKind
}
`
});
}
else
{
this
.
$router
.
push
({
...
...
@@ -435,7 +416,40 @@ export default {
this
.
$toast
(
'已复制'
);
console
.
log
(
'已复制的内容:'
,
copyText
);
},
validateShow
()
{
getDetectionName
(
yunOrderNo
)
{
getDetectionName
(
yunOrderNo
).
then
(
res
=>
{
if
(
res
.
code
===
'000000'
&&
res
.
data
)
{
const
dectionData
=
res
.
data
[
0
]
||
{};
this
.
$store
.
dispatch
(
'home/setInsuranceInfo'
,
dectionData
);
}
});
},
statusMap
(
type
)
{
const
obj
=
{
'0101'
:
'未填写问卷'
,
'0102'
:
'已填写问卷'
,
'0201'
:
'待预约'
,
'0202'
:
'预约成功'
,
'0203'
:
'已取消待重新预约'
,
'0301'
:
'待采样'
,
'0302'
:
'已采样'
,
'0303'
:
'待重新采样'
,
'0304'
:
'已出报告'
,
'0401'
:
'已结束'
,
};
const
obj2
=
{
'0101'
:
'未填写问卷'
,
'0102'
:
'已填写问卷'
,
'0201'
:
'待预约'
,
'0202'
:
'预约成功'
,
'0203'
:
'已取消待重新预约'
,
'0301'
:
'待领取'
,
'0302'
:
'已领取'
,
'0303'
:
'待重新领取'
,
'0304'
:
'已出报告'
,
'0401'
:
'已结束'
,
};
return
this
.
insuranceInfo
.
detectionKind
==
1
?
obj2
[
type
]
:
obj
[
type
];
},
},
};
...
...
@@ -752,6 +766,9 @@ export default {
text-align
:
center
;
margin-bottom
:
15px
;
}
.mb5
{
margin-bottom
:
5px
;
}
}
.appoint-detail-tel
{
margin-top
:
25px
;
...
...
src/views/bindingCode/index.scss
已删除
100644 → 0
浏览文件 @
83b4ab95
src/views/bindingCode/index.vue
已删除
100644 → 0
浏览文件 @
83b4ab95
src/views/checkStatus/index.scss
已删除
100644 → 0
浏览文件 @
83b4ab95
src/views/checkStatus/index.vue
已删除
100644 → 0
浏览文件 @
83b4ab95
<
template
>
<div
/>
</
template
>
<
script
>
export
default
{
};
</
script
>
<
style
>
</
style
>
src/views/home/index.vue
浏览文件 @
f735b91c
...
...
@@ -23,7 +23,6 @@ export default {
'0001'
:
'/appoint'
,
'0101'
:
null
,
'0102'
:
'/insuranceQuestionBack'
,
// '0401': '/insuranceQuestionResult',
'0201'
:
null
,
'0202'
:
'/appoint-details'
,
'0203'
:
'/appoint-details'
,
...
...
@@ -43,16 +42,20 @@ export default {
};
},
mounted
()
{
// this.$loading.show();
// orderNo
this
.
query
=
this
.
$route
.
query
;
if
(
this
.
query
.
projectEquityNo
&&
this
.
query
.
externalOrderNo
)
{
const
{
projectEquityNo
,
externalOrderNo
}
=
this
.
$route
.
query
;
const
{
externalOrderNo
,
orderNo
,
projectEquityNo
}
=
this
.
$route
.
query
;
const
n
=
externalOrderNo
||
orderNo
;
console
.
log
(
this
.
$route
.
query
,
'---'
,
n
);
if
(
projectEquityNo
&&
n
)
{
this
.
projectEquityNo
=
projectEquityNo
;
this
.
externalOrderNo
=
externalOrderNo
;
this
.
externalOrderNo
=
n
;
const
data
=
{
yunOrderNo
:
''
,
projectEquityNo
,
externalOrderNo
externalOrderNo
:
n
};
this
.
initMap
(
data
);
...
...
@@ -68,66 +71,46 @@ export default {
};
this
.
initMap
(
data
);
}
// get geolocation
// var that = this;
// var geolocation = new qq.maps.Geolocation();
// geolocation.getLocation(function (result) {
// console.log('result', result);
// storejs.set('geolocation', result);
// that.getJumpPageStatus();
// }, function (result) {
// console.log('err', result);
// that.getJumpPageStatus();
// });
},
methods
:
{
// 高德地图导航只有在线上环境才能使用
initMap
(
data
)
{
// latitude: 70
// longitude: 50.2
// const data = {
// projectEquityNo: that.projectEquityNo,
// latitude: 70,
// longitude: 50.2,
// };
storejs
.
remove
(
'geolocation'
);
this
.
getJumpPageStatus
(
data
);
// var that = this;
},
// 目前是配置一个检测信息,可能会拓展,所以返回的是一个list
getDetectionName
(
yunOrderNo
)
{
getDetectionName
(
yunOrderNo
).
then
(
res
=>
{
if
(
res
.
code
===
'000000'
&&
res
.
data
)
{
const
dectionData
=
res
.
data
[
0
]
||
{};
console
.
log
(
'getDetectionName'
,
dectionData
);
this
.
dectionData
=
dectionData
;
this
.
dectionForm
.
detectName
=
dectionData
.
detectionName
;
this
.
dectionForm
.
goodsId
=
dectionData
.
goodsId
;
this
.
$store
.
dispatch
(
'home/setInsuranceInfo'
,
dectionData
);
}
this
.
$loading
.
hide
();
});
return
new
Promise
((
resolve
,
reject
)
=>
{
getDetectionName
(
yunOrderNo
).
then
(
res
=>
{
if
(
res
.
code
===
'000000'
&&
res
.
data
)
{
const
dectionData
=
res
.
data
[
0
]
||
{};
console
.
log
(
'getDetectionName'
,
dectionData
);
this
.
dectionData
=
dectionData
;
this
.
$store
.
dispatch
(
'home/setInsuranceInfo'
,
dectionData
);
resolve
(
dectionData
);
}
this
.
$loading
.
hide
();
}).
catch
(
err
=>
{
reject
(
err
);
});
});
},
// 获取跳转状态
getJumpPageStatus
(
data
)
{
getJumpPageStatus
(
data
).
then
(
res
=>
{
console
.
log
(
'getJumpPageStatus'
,
res
);
if
(
res
.
code
==
'000000'
)
{
if
(
res
.
data
.
yunOrderNo
&&
res
.
data
.
yunOrderNo
!=
''
)
{
this
.
checkStatus
(
res
);
}
else
{
// https://dev-sc.yunqueyi.com/tis/insurance/create/order
this
.
createOrder
(
data
);
}
this
.
$loading
.
hide
();
}
});
},
checkStatus
(
res
)
{
async
checkStatus
(
res
)
{
this
.
yunOrderNo
=
res
.
data
.
yunOrderNo
;
this
.
query
.
yunOrderNo
=
res
.
data
.
yunOrderNo
;
this
.
projectEquityNo
=
res
.
data
.
projectEquityNo
;
...
...
@@ -136,7 +119,11 @@ export default {
this
.
query
.
externalOrderNo
=
this
.
externalOrderNo
;
this
.
status
=
res
.
data
.
statusCode
;
this
.
hasQuestionnaire
=
res
.
data
.
hasQuestionnaire
;
this
.
getDetectionName
(
this
.
yunOrderNo
);
// 快检结果
const
t
=
[
'0101'
,
'0102'
,
'0902'
];
const
result
=
!
t
.
includes
(
this
.
status
)
&&
await
this
.
getDetectionName
(
this
.
yunOrderNo
);
const
{
detectionKind
}
=
result
;
console
.
log
(
'---result'
,
result
);
switch
(
this
.
status
)
{
case
'0101'
:
window
.
location
.
href
=
res
.
data
.
questionnaireUrl
;
...
...
@@ -149,9 +136,10 @@ export default {
case
'0902'
:
this
.
turnToPage
(
this
.
routerMap
[
this
.
status
],
this
.
query
);
break
;
case
'0302'
:
case
'0901'
:
this
.
query
.
detectionRecordId
=
res
.
data
.
detectionRecordId
;
this
.
turnToPage
(
this
.
routerMap
[
this
.
status
]
,
this
.
query
);
this
.
turnToPage
(
this
.
pageMap
(
detectionKind
)
,
this
.
query
);
break
;
case
'0201'
:
// hasQuestionnaire 有问卷 跳领用,没问卷直接跳 预约
...
...
@@ -163,10 +151,6 @@ export default {
this
.
turnToPage
(
'/appoint'
,
this
.
query
);
}
break
;
case
'0302'
:
this
.
query
.
detectionRecordId
=
res
.
data
.
detectionRecordId
;
this
.
turnToPage
(
this
.
routerMap
[
this
.
status
],
this
.
query
);
break
;
default
:
this
.
turnToPage
(
'/insuranceDetectionDetail'
,
this
.
query
);
break
;
...
...
@@ -181,11 +165,17 @@ export default {
});
},
turnToPage
(
path
,
query
)
{
this
.
$router
.
push
({
path
,
query
});
}
},
pageMap
(
s
)
{
const
m
=
{
0
:
'/insuranceDetectionDetail'
,
1
:
'/insuranceQuickDetectionDetail'
};
return
m
[
s
];
},
}
};
</
script
>
...
...
src/views/insurance-bind-code/insurance-bind-code.vue
浏览文件 @
f735b91c
...
...
@@ -78,7 +78,10 @@
</div>
</div>
<div
class=
"notification"
>
<div
v-if=
"insuranceInfo.detectionKind == 0"
class=
"notification"
>
<div
class=
"sign-detection"
>
<img
v-if=
"isCheck"
...
...
@@ -116,7 +119,10 @@
<div
class=
"l-right"
>
<a
class=
"fw600"
href=
"tel:400-006-5252"
>
400-006-5252
</a>
<a
class=
"fw600"
href=
"tel:400-006-5252"
>
400-006-5252
</a>
</div>
</div>
<van-popup
...
...
@@ -201,7 +207,7 @@
<
script
>
import
{
mapGetters
}
from
'vuex'
;
import
{
signDetection
,
getProtocolContent
,
getProtocolName
,
sampleCodeValidate
,
detectionRecordInfo
,
bindingSampleCode
}
from
'@/api/detection.js'
;
import
{
signDetection
,
getProtocolContent
,
getProtocolName
,
sampleCodeValidate
,
detectionRecordInfo
,
bindingSampleCode
,
bindingQuickSampleCode
}
from
'@/api/detection.js'
;
import
{
getDetectionName
}
from
'@/api/appoint'
;
export
default
{
data
()
{
...
...
@@ -245,16 +251,20 @@ export default {
},
created
()
{
const
{
pprotocolType
,
detectionRecordId
,
yunOrderNo
}
=
this
.
$route
.
query
;
if
(
pprotocolType
&&
detectionRecordId
&&
yunOrderNo
)
{
this
.
pprotocolType
=
pprotocolType
;
if
(
detectionRecordId
&&
yunOrderNo
)
{
this
.
pprotocolType
=
pprotocolType
||
''
;
this
.
detectionRecordId
=
detectionRecordId
;
this
.
yunOrderNo
=
yunOrderNo
;
this
.
getProtocolName
();
this
.
getRecordInfo
(
detectionRecordId
);
this
.
getDetectionName
(
yunOrderNo
);
}
else
{
this
.
$toast
(
'传递有误:'
,
pprotocolType
,
detectionRecordId
,
yunOrderNo
);
}
if
(
pprotocolType
)
{
this
.
getProtocolName
();
}
else
{
this
.
isCheck
=
true
;
}
},
methods
:
{
clearCode
()
{
...
...
@@ -323,7 +333,8 @@ export default {
console
.
log
(
'res'
,
res
);
if
(
res
.
code
===
'000000'
&&
res
.
data
)
{
this
.
insuranceInfo
=
res
.
data
[
0
];
console
.
log
(
'----'
,
this
.
insuranceInfo
);
this
.
$store
.
dispatch
(
'home/setInsuranceInfo'
,
res
.
data
[
0
]);
this
.
getRecordInfo
();
}
});
...
...
@@ -368,9 +379,14 @@ export default {
this
.
toggleBindingInfo
();
});
},
getRecordInfo
(
id
)
{
const
i
=
id
||
11074
;
detectionRecordInfo
(
i
).
then
(
res
=>
{
getRecordInfo
()
{
const
o
=
{
detectionRecordId
:
this
.
detectionRecordId
,
detectionKind
:
this
.
insuranceInfo
.
detectionKind
};
console
.
log
(
'----detectionRecordInfo'
,
o
);
detectionRecordInfo
(
o
).
then
(
res
=>
{
console
.
log
(
'---res--'
,
res
);
if
(
res
.
code
===
'000000'
)
{
this
.
recordInfo
.
name
=
res
.
data
.
patientName
;
this
.
recordInfo
.
sex
=
res
.
data
.
sex
===
1
?
'男'
:
'女'
;
...
...
@@ -379,11 +395,8 @@ export default {
this
.
recordInfo
.
projectId
=
res
.
data
.
projectId
;
this
.
recordInfo
.
patientId
=
res
.
data
.
patientId
;
this
.
recordInfo
.
hospitalId
=
res
.
data
.
hospitalId
;
// patientId
}
});
},
// 绑定条形码
bindingCode
()
{
...
...
@@ -394,7 +407,37 @@ export default {
prototypeLogId
:
this
.
prototypeLogId
,
};
console
.
log
(
'--obj--'
,
obj
);
bindingSampleCode
(
obj
).
then
(
res
=>
{
if
(
this
.
insuranceInfo
.
detectionKind
==
1
)
{
this
.
quickBindingCode
(
obj
);
}
if
(
this
.
insuranceInfo
.
detectionKind
==
0
)
{
this
.
earlyBindingCode
(
obj
);
}
},
// 绑定条形码
quickBindingCode
(
obj
)
{
const
o
=
{...
obj
,
userId
:
this
.
recordInfo
.
patientId
,
detectionKind
:
1
};
bindingQuickSampleCode
(
o
).
then
(
res
=>
{
if
(
res
.
code
!==
'000000'
)
{
return
this
.
$toast
(
res
.
message
);
}
else
{
this
.
$router
.
push
(
{
path
:
'/insuranceBindCodeSuccess'
,
query
:
{
yunOrderNo
:
this
.
yunOrderNo
,
detectionRecordId
:
this
.
detectionRecordId
},
}
);
this
.
$toast
(
'提交成功'
);
}
});
},
earlyBindingCode
(
obj
)
{
// quickBindingCode userId
const
o
=
{...
obj
,
detectionKind
:
0
};
bindingSampleCode
(
o
).
then
(
res
=>
{
if
(
res
.
code
!==
'000000'
)
{
return
this
.
$toast
(
res
.
message
);
}
else
{
...
...
@@ -411,7 +454,6 @@ export default {
}
});
},
callPhone
()
{}
}
};
...
...
src/views/insurance-bindCode-success/index.scss
浏览文件 @
f735b91c
...
...
@@ -60,7 +60,7 @@
justify-content
:
flex-start
;
align-items
:
center
;
.l-left
{
width
:
6
2px
;
width
:
7
2px
;
height
:
14px
;
font-size
:
14px
;
font-family
:
PingFangSC-Regular
,
PingFang
SC
;
...
...
src/views/insurance-bindCode-success/insurance-bindCode-success.vue
浏览文件 @
f735b91c
...
...
@@ -11,7 +11,9 @@
src=
"https://files.yunqueyi.com/image/png/common/20230301101427839.png"
alt=
"success"
>
<div
class=
"text"
>
提交成功
</div>
<div
class=
"text"
>
提交成功
</div>
</div>
<div
class=
"content"
>
<div
class=
"info"
>
...
...
@@ -50,15 +52,14 @@
{{
dataDetail
.
checkName
||
'--'
}}
</p>
</div>
<!--
<div
class=
"list"
>
-->
<!--
<p
class=
"l-left"
>
-->
<!-- 检测编号:-->
<!--
</p>
-->
<!--
<p
class=
"l-right"
>
-->
<!--
{{
dataDetail
.
recordNo
||
'--'
}}
-->
<!--
</p>
-->
<!--
</div>
-->
<!--
<div
class=
"list"
>
-->
<!--
<p
class=
"l-left"
>
-->
<!-- 检测编号:-->
<!--
</p>
-->
<!--
<p
class=
"l-right"
>
-->
<!--
{{
dataDetail
.
recordNo
||
'--'
}}
-->
<!--
</p>
-->
<!--
</div>
-->
</div>
</div>
</div>
...
...
@@ -74,13 +75,21 @@
查看我的检测
</div>
</div>
<div
class=
"wechat-wrap"
@
click=
"towechat"
>
<img
src=
"https://files.yunqueyi.com/image/gif/common/20230301171528895.gif"
alt=
""
>
<div
class=
"wechat-wrap"
@
click=
"towechat"
>
<img
src=
"https://files.yunqueyi.com/image/gif/common/20230301171528895.gif"
alt=
""
>
</div>
</div>
</
template
>
<
script
>
import
{
getDetectionDetail
}
from
'@/api/detection'
;
import
{
detectionRecordInfo
}
from
'@/api/detection'
;
import
{
mapGetters
}
from
'vuex'
;
import
store
from
'storejs'
;
export
default
{
filters
:
{
sexFilter
(
val
)
{
...
...
@@ -104,17 +113,26 @@ export default {
yunOrderNo
:
''
};
},
computed
:
{
...
mapGetters
(
'home'
,
[
'insuranceInfo'
]),
},
created
()
{
const
{
detectionRecordId
,
yunOrderNo
}
=
this
.
$route
.
query
;
this
.
detectionRecordId
=
detectionRecordId
;
this
.
yunOrderNo
=
yunOrderNo
;
this
.
init
();
this
.
detectionRecordInfo
();
},
mounted
()
{
},
methods
:
{
init
()
{
getDetectionDetail
(
this
.
detectionRecordId
).
then
((
res
)
=>
{
detectionRecordInfo
()
{
const
in_info
=
store
.
get
(
'insuranceInfo'
);
const
o
=
{
detectionRecordId
:
this
.
detectionRecordId
,
detectionKind
:
in_info
.
detectionKind
};
detectionRecordInfo
(
o
).
then
((
res
)
=>
{
if
(
res
.
code
===
'000000'
)
{
this
.
dataDetail
=
res
.
data
;
}
else
{
...
...
@@ -124,8 +142,10 @@ export default {
},
// 检测详情
bottomBtnFun
()
{
const
in_info
=
store
.
get
(
'insuranceInfo'
);
const
url
=
in_info
.
detectionKind
==
1
?
'/insuranceQuickDetectionDetail'
:
'/insuranceDetectionDetail'
;
this
.
$router
.
push
({
path
:
'/insuranceDetectionDetail'
,
path
:
url
,
query
:
{
detectionRecordId
:
this
.
detectionRecordId
,
yunOrderNo
:
this
.
yunOrderNo
...
...
src/views/insurance-detection-detail/insurance-detection-detail.vue
浏览文件 @
f735b91c
...
...
@@ -188,7 +188,7 @@
</div>
</
template
>
<
script
>
import
{
getDetectionDetail
,
getDetectionDetailProces
,
getJumpToWebapp
}
from
'@/api/detection'
;
import
{
getDetectionDetail
Proces
,
getJumpToWebapp
,
detectionRecordInfo
}
from
'@/api/detection'
;
// 0待完善信息、1待采样、2已采样、21已送检、22快递已签收、 25实验室已收样、 27已上机、 3已完成、5样本失效、 6待支付
export
default
{
filters
:
{
...
...
@@ -260,8 +260,13 @@ export default {
targetPath
:
'pagesInsurance/all-entrance/index'
,
query
:
{
yunOrderNo
:
this
.
yunOrderNo
},
};
const
o
=
{
detectionRecordId
:
this
.
detectionRecordId
,
detectionKind
:
0
};
console
.
log
(
'----detectionRecordInfo'
,
o
);
let
jump_path
=
`pagesInsurance/all-entrance/index?yunOrderNo=
${
this
.
yunOrderNo
}
&channelSource=channelSource`
;
getDetectionDetail
(
this
.
detectionRecordId
).
then
((
res
)
=>
{
detectionRecordInfo
(
o
,
0
).
then
((
res
)
=>
{
if
(
res
.
code
===
'000000'
)
{
this
.
dataDetail
=
res
.
data
;
this
.
getDetailProces
();
...
...
src/views/insurance-question-back/index.vue
浏览文件 @
f735b91c
...
...
@@ -15,27 +15,13 @@
提交成功
</div>
<div
class=
"font-normal"
>
{{
evaluationInfo
.
detectionScoreFlag
==
1
?
'结果计算中...'
:
'您的结果将于次日以短信形式推送,烦请留意!'
}}
您的结果将于次日以短信形式推送,烦请留意!
</div>
<!--
<div
class=
"custom-style"
>
{{
evaluationInfo
.
detectionScoreFlag
==
1
?
'查看结果'
:
'完成'
}}
</div>
-->
<!--
<pica-guide-app
:open-web-app=
"true"
:open-web-app-config=
"openWebAppConfig"
:is-need-wx-config=
"false"
/>
-->
</div>
</div>
</
template
>
<
script
>
// import {evaluationResults, getDetailByUnionId} from '@/api/home.js';
const
{
VUE_APP_ENV
}
=
process
.
env
;
export
default
{
data
()
{
return
{
...
...
@@ -47,20 +33,6 @@ export default {
style
:
'backgroundColor:#ffffff;zIndex:100;'
,
background
:
''
,
},
openWebAppConfig
:
{
content
:
'<script'
+
' type=text/wxtag-template><style>.btn {position:absolute; top: 0; left: 0; width:100%; height: 100%;}</style> <div class="btn"></div></'
+
'script>'
,
// 标签内容
username
:
'gh_e92f58174364'
,
// 小程序唯一username 1.gh_80d54796f2d5 云鹊助手 2. gh_e92f58174364 云鹊健康
path
:
'pagesUserCenter/insurance/insurance-risk-result'
,
// 打开页面
envVersion
:
VUE_APP_ENV
!=
'testing'
?
'release'
:
'trial'
,
// release 生产
extraData
:
''
,
},
extraData_MX
:
{},
evaluationInfo
:
{
detectionScoreFlag
:
0
},
};
},
created
()
{
...
...
src/views/insurance-question-result/insuranceQuestionResult.vue
浏览文件 @
f735b91c
...
...
@@ -10,12 +10,12 @@
<template
v-if=
"!needDetect"
>
<div
class=
"info-top"
>
<div
class=
"info-top-title"
>
防癌专家提醒您尽快
进行
防癌专家提醒您尽快
{{
insuranceInfo
.
detectionKind
==
0
?
'进行'
:
'领取'
}}
</div>
<div
class=
"info-top-name"
>
{{
detectionName
}}
</div>
<div
class=
"info-top-tips"
>
<div
v-if=
"insuranceInfo && insuranceInfo.detectionKind == 0"
class=
"info-top-tips"
>
<div
class=
"tips-item"
>
<div
class=
"tips-item-dot"
/>
DNA甲基化检测技术,对比传统肿瘤标志物检查,早期癌变检出率高5-10倍
...
...
@@ -29,15 +29,25 @@
检测报告阳性,最高可报销300元复查费用
</div>
</div>
<div
v-if=
"insuranceInfo && insuranceInfo.detectionKind == 1"
class=
"info-top-tips"
>
<div
class=
"tips-item"
>
<div
class=
"tips-item-dot"
/>
居家快速自测、方便卫生、轻松操作;
</div>
<div
class=
"tips-item"
>
<div
class=
"tips-item-dot"
/>
检测快速,5-10分钟即可获得结果
</div>
</div>
</div>
<img
src=
"https://files.yunqueyi.com/image/gif/common/20230228173135233.gif
"
:src=
" insuranceInfo && insuranceInfo.detectionKind == 0 ? 'https://files.yunqueyi.com/image/gif/common/20230228173135233.gif' : 'https://files.yunqueyi.com/image/gif/common/20230315102649177.gif'
"
class=
"info-btn"
@
click=
"toAppoint"
>
<div
class=
"info-tips"
>
点击上方按钮预约,并前往预约的医疗机构采样
{{
insuranceInfo
&&
insuranceInfo
.
detectionKind
==
0
?
'点击上方按钮预约,并前往预约的医疗机构采样'
:
'点击上方按钮预约,并前往预约的医疗机构领取产品'
}}
</div>
</
template
>
<
template
v-else
>
...
...
@@ -63,20 +73,10 @@
</div>
</
template
>
</div>
<!-- <div
v-if="!needDetect"
class="custom-style"
@click="toAppoint"
>
{{ buttonText || '免费预约检测' }}
</div> -->
<div
class=
"tips-fixed"
>
注:
该问卷评估结果仅供填写人自行参考。
注:
请填写人根据问卷评估结果自主选择后续检测
</div>
</div>
</div>
...
...
@@ -85,6 +85,7 @@
<
script
>
import
{
getButtonStatus
}
from
'@/api/question'
;
import
{
getDetectionName
}
from
'@/api/appoint'
;
import
{
mapGetters
}
from
'vuex'
;
export
default
{
data
()
{
return
{
...
...
@@ -106,12 +107,13 @@ export default {
status
:
null
,
query
:
{},
buttonStatus
:
false
,
buttonText
:
''
buttonText
:
''
,
};
},
computed
:
{
...
mapGetters
(
'home'
,
[
'insuranceInfo'
]),
},
mounted
()
{
const
{
query
}
=
this
.
$route
;
this
.
$loading
.
show
();
this
.
query
=
query
;
...
...
@@ -138,7 +140,7 @@ export default {
getDetectionName
(
yunOrderNo
).
then
(
res
=>
{
if
(
res
.
code
===
'000000'
&&
res
.
data
)
{
const
dectionData
=
res
.
data
[
0
]
||
{};
console
.
log
(
'dectionData.detectionName'
,
dectionData
.
detectionName
);
console
.
log
(
'dectionData.detectionName'
,
this
.
insuranceInfo
,
dectionData
);
this
.
detectionName
=
dectionData
.
detectionName
;
this
.
$store
.
dispatch
(
'home/setInsuranceInfo'
,
dectionData
);
this
.
$loading
.
hide
();
...
...
@@ -171,8 +173,9 @@ export default {
<
style
lang=
"scss"
scoped
>
.insuranceQuestionResult-box
{
height
:
100vh
;
min-
height
:
100vh
;
background
:
#F3FCFF
;
padding-bottom
:
50px
;
}
.insuranceQuestionResult
{
width
:
100%
;
...
...
@@ -193,7 +196,8 @@ background: #F3FCFF;
margin
:
168px
auto
54px
;
.info-top
{
width
:
308px
;
height
:
200px
;
height
:
auto
;
padding-bottom
:
50px
;
background
:
#FFFBF9
;
border-radius
:
11px
;
margin
:
10px
auto
20px
;
...
...
@@ -353,7 +357,6 @@ background: #F3FCFF;
bottom
:
70px
;
height
:
21px
;
font-size
:
13px
;
font-family
:
PingFangSC-Light
,
PingFang
SC
;
font-weight
:
300
;
color
:
#999999
;
line-height
:
21px
;
...
...
src/views/insurance-quickDetection-detail/index.scss
0 → 100644
浏览文件 @
f735b91c
.insurance-quickDetection-detail
{
background-color
:
#f5f6f8
;
min-height
:
100vh
;
width
:
100%
;
position
:
relative
;
.title
{
position
:
absolute
;
top
:
0
;
left
:
0
;
right
:
0
;
height
:
260px
;
background
:
linear-gradient
(
180deg
,
#00bda5
0%
,
#20c5b0
52%
,
#f5f6f8
100%
);
}
.detail-box
{
padding
:
0
12px
;
height
:
auto
;
padding-bottom
:
10px
;
position
:
relative
;
z-index
:
1
;
.status
{
padding
:
16px
0
;
display
:
flex
;
align-items
:
center
;
img
{
width
:
27px
;
}
div
{
padding-left
:
9px
;
width
:
120px
;
height
:
20px
;
font-size
:
20px
;
font-weight
:
500
;
color
:
#ffffff
;
line-height
:
20px
;
}
}
.content
{
height
:
auto
;
.info
{
width
:
100%
;
height
:
auto
;
background
:
#ffffff
;
border-radius
:
10px
;
margin-bottom
:
10px
;
padding-top
:
20px
;
.list
{
padding
:
0px
15px
12px
15px
;
display
:
flex
;
justify-content
:
flex-start
;
align-items
:
center
;
.l-left
{
width
:
72px
;
height
:
14px
;
font-size
:
14px
;
font-family
:
PingFangSC-Regular
,
PingFang
SC
;
font-weight
:
400
;
color
:
#999999
;
line-height
:
14px
;
}
.l-right
{
padding-left
:
2px
;
width
:
auto
;
height
:
auto
;
font-size
:
14px
;
font-weight
:
600
;
color
:
#212121
;
flex
:
1
;
line-height
:
20px
;
text-align
:
right
;
span
{
display
:
inline-block
;
padding-left
:
15px
;
}
}
}
.list-bottom
{
.l-b-code
{
.l-b-list
{
display
:
flex
;
justify-content
:
flex-start
;
align-items
:
center
;
padding-bottom
:
13px
;
.l-left
{
width
:
auto
;
height
:
15px
;
font-size
:
15px
;
font-family
:
PingFangSC-Regular
,
PingFang
SC
;
font-weight
:
400
;
color
:
#212121
;
line-height
:
15px
;
}
.l-right
{
padding-left
:
6px
;
height
:
15px
;
font-size
:
15px
;
font-family
:
PingFangSC-Medium
,
PingFang
SC
;
font-weight
:
500
;
color
:
#00bda5
;
line-height
:
15px
;
}
}
}
}
}
.flow
{
padding
:
20px
;
height
:
auto
;
background
:
#ffffff
;
border-radius
:
10px
;
.express-step
{
display
:
flex
;
padding-bottom
:
24px
;
position
:
relative
;
justify-content
:
flex-start
;
.express-step-icon
{
width
:
18px
;
height
:
18px
;
margin-right
:
7px
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
position
:
relative
;
z-index
:
2
;
.step-pg
{
margin-left
:
-11px
;
display
:
block
;
width
:
18px
;
height
:
auto
;
}
.oval-pg
{
display
:
block
;
width
:
6px
;
height
:
6px
;
}
}
.express-step-msg
{
width
:
100%
;
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
.step-title
{
height
:
18px
;
font-size
:
14px
;
font-weight
:
700
;
color
:
#999999
;
line-height
:
18px
;
}
.step-time
{
margin-top
:
5px
;
font-size
:
12px
;
font-weight
:
400
;
color
:
#999999
;
line-height
:
12px
;
}
}
.noButton
{
margin-left
:
22px
;
}
&
:
:
before
{
content
:
''
;
position
:
absolute
;
top
:
0
;
left
:
-5px
;
display
:
block
;
width
:
15px
;
height
:
15px
;
border-radius
:
50%
;
border
:
1px
solid
#e7e7e7
;
background-color
:
#ffffff
;
z-index
:
1
;
}
&
:
:
after
{
content
:
''
;
position
:
absolute
;
top
:
11px
;
bottom
:
0
;
height
:
calc
(
100%
-
5px
);
left
:
3px
;
display
:
block
;
width
:
1px
;
background
:
#e7e7e7
;
}
&
.first
{
&
:
:
before
{
display
:
none
;
}
}
&
.last
{
padding-bottom
:
0
;
&
:
:
after
{
display
:
none
;
}
}
}
.isComplate
{
&
:
:
after
{
background
:
#00bda5
;
}
&
:
:
before
{
background
:
#00bda5
;
}
.express-step-msg
{
.step-title
{
color
:
#212121
;
}
}
}
.hideCircle
{
&
:
:
before
{
width
:
0
;
display
:
none
;
}
.express-step-msg
{
.step-title
{
color
:
#212121
;
}
}
}
}
.tips
{
color
:
#FF4B33
;
font-size
:
12px
;
font-weight
:
lighter
;
margin-top
:
10px
;
margin-left
:
20px
;
}
}
.flex-wrap
{
display
:
flex
;
font-size
:
16px
;
align-items
:
center
;
height
:
21px
;
}
.fc-blue
{
color
:
#00BDA5
;
}
.p30
{
padding
:
15px
;
background-color
:
#ffffff
;
border-radius
:
10px
;
margin-bottom
:
10px
;
}
.l-copy
{
text-align
:
center
;
border-radius
:
10px
;
font-size
:
12px
;
font-weight
:
500
;
color
:
#1677FE
;
line-height
:
22px
;
margin-left
:
6px
;
margin-top
:
-2px
;
display
:
inline-block
;
}
}
.pb60
{
padding-bottom
:
60px
;
}
.submit-container
{
box-sizing
:
border-box
;
position
:
fixed
;
bottom
:
0
;
left
:
0
;
width
:
100%
;
z-index
:
99
;
padding
:
5px
12px
;
padding-bottom
:
calc
(
5px
+
env
(
safe-area-inset-bottom
)
/
2
);
background
:
#ffffff
;
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
justify-content
:
center
;
.submit-button
{
position
:
relative
;
width
:
350px
;
height
:
40px
;
border-radius
:
20px
;
font-weight
:
700
;
color
:
#ffffff
;
font-size
:
16px
;
display
:
flex
;
align-items
:
center
;
background
:
#00bda5
;
justify-content
:
center
;
}
.submit-button-empty
{
background
:
#ffffff
;
border
:
1px
solid
#00bda5
;
color
:
#00bda5
;
}
}
.multi-sub-wrap
{
flex-direction
:
row
;
justify-content
:
space-evenly
;
.submit-button
{
width
:
45%
;
}
}
}
src/views/insurance-quickDetection-detail/index.vue
0 → 100644
浏览文件 @
f735b91c
<
template
>
<div
class=
"insurance-quickDetection-detail"
>
<page-model
v-if=
"picaWechat != 'wechat'"
ref=
"PageModel"
:header-info=
"headerInfo"
/>
<div
class=
"title"
/>
<div
class=
"detail-box"
>
<div
class=
"status"
>
<img
v-if=
"dataDetail.status == 5"
src=
"https://files.yunqueyi.com/image/png/common/20220817141150961.png"
alt=
"success"
>
<img
v-else
src=
"https://files.yunqueyi.com/image/png/common/20220816135250298.png"
alt=
"success"
>
<div>
{{
dataDetail
.
status
|
statusFilter
}}
</div>
</div>
<div
class=
"content"
>
<div
class=
"flow"
>
<div
class=
"f-list"
>
<div
v-for=
"(item, index) in dataList"
:key=
"index"
class=
"express-step"
:class=
"
{
hideCircle: item.completed,
last: index == dataList.length - 1,
}"
>
<div
v-if=
"item.completed"
class=
"express-step-icon"
>
<img
class=
"step-pg"
:src=
"item.status == 5 ? 'https://files.yunqueyi.com/image/png/common/20220817141140460.png' : 'https://files.yunqueyi.com/image/png/common/2022081612011851.png'"
>
</div>
<div
v-else
class=
"express-step-icon"
/>
<div
class=
"express-step-msg"
>
<div
class=
"step-title"
>
<p>
{{
item
.
nodeName
}}
</p>
</div>
<div
class=
"step-time"
>
{{
item
.
nodeTime
?
item
.
nodeTime
:
item
.
completed
?
'暂无数据'
:
'未开始'
}}
</div>
</div>
</div>
</div>
<p
v-if=
"dataDetail.status == 5"
class=
"tips"
>
温馨提示:可联系医生重新采样
</p>
</div>
</div>
</div>
<div
class=
"detail-box pb60"
>
<div
class=
"content"
>
<div
class=
"info"
>
<div
class=
"list"
>
<p
class=
"l-left"
>
受检人:
</p>
<p
class=
"l-right"
>
<span>
{{
dataDetail
.
patientName
||
'--'
}}
</span><span>
{{
dataDetail
.
sex
|
sexFilter
}}
</span><span
class=
"font"
>
{{
dataDetail
.
ageMonth
?
dataDetail
.
ageMonth
+
'月'
:
dataDetail
.
patientAge
+
'岁'
}}
</span>
</p>
</div>
<div
class=
"list"
>
<p
class=
"l-left"
>
检测项目:
</p>
<p
class=
"l-right"
>
{{
dataDetail
.
checkName
||
'--'
}}
</p>
</div>
<div
class=
"list"
>
<p
class=
"l-left"
>
检测编号:
</p>
<p
class=
"l-right"
>
{{
dataDetail
.
recordNo
||
'--'
}}
</p>
</div>
<div
class=
"list"
>
<div
class=
"l-left"
>
条形码:
</div>
<div
class=
"l-right"
>
{{
dataDetail
.
sampleCode
||
'--'
}}
<div
class=
"l-copy"
@
click=
"copyText(dataDetail.sampleCode)"
>
复制
</div>
</div>
</div>
</div>
</div>
</div>
<div
v-if=
"[3].includes(dataDetail.status)"
class=
"submit-container multi-sub-wrap"
>
<div
v-if=
"false"
class=
"submit-button"
>
<wx-open-launch-weapp
style=
"position: absolute; top: 0; left: 0; width: 100%; height: 100%"
:username=
"openWebAppConfig.username"
:path=
"openWebAppConfig.path"
env-version=
"trial"
:extra-data=
"openWebAppConfig.extraData"
>
<script
type=
"text/wxtag-template"
>
<style>
.btn
{position:absolute; top: 0; color: #ffffff;text-align: center;line-height: 40px; left: 0; width:100%; height: 100%;}
</style>
<div
class=
"btn"
>
{{
openWebAppBtnName
}}
</div>
</script>
</wx-open-launch-weapp>
</div>
<div
v-else
class=
"submit-button"
@
click=
"getJumpToWebapp"
>
{{
openWebAppBtnName
}}
</div>
</div>
</div>
</
template
>
<
script
>
import
{
getQuickDetectionDetailProces
,
getJumpToWebapp
,
detectionRecordInfo
}
from
'@/api/detection'
;
// 0待完善信息、1待采样、2已采样、21已送检、22快递已签收、 25实验室已收样、 27已上机、 3已完成、5样本失效、 6待支付
export
default
{
filters
:
{
sexFilter
(
val
)
{
const
str
=
val
==
2
?
'女'
:
'男'
;
return
str
;
},
statusFilter
(
type
)
{
const
obj
=
{
0
:
'待完善信息'
,
1
:
'待采样'
,
2
:
'已领取'
,
21
:
'已送检'
,
25
:
'已接收'
,
27
:
'已上机'
,
22
:
'已签收'
,
3
:
'已完成'
,
5
:
'样本异常'
,
6
:
'待支付'
,
};
return
obj
[
type
];
},
},
data
()
{
return
{
picaWechat
:
window
.
_picaWechat
,
status
:
''
,
headerInfo
:
{
title
:
'检测详情'
,
isBlack
:
true
,
backMethod
:
'web'
,
style
:
'backgroundColor:#ffffff;zIndex:100;'
,
background
:
''
,
},
detectionRecordId
:
''
,
dataDetail
:
{},
dataList
:
[],
openWebAppConfig
:{
username
:
'gh_e92f58174364'
,
// 小程序唯一username 1.gh_80d54796f2d5 云鹊助手 2. gh_e92f58174364 云鹊健康
path
:
'pagesInsurance/all-entrance/index'
,
// 打开页面
extraData
:
JSON
.
stringify
({})
},
openWebAppBtnName
:
'绑定条形码'
,
yunOrderNo
:
''
,
action_code
:
''
};
},
created
()
{
const
{
detectionRecordId
,
yunOrderNo
}
=
this
.
$route
.
query
;
this
.
detectionRecordId
=
detectionRecordId
;
this
.
yunOrderNo
=
yunOrderNo
;
this
.
init
();
},
mounted
()
{
},
methods
:
{
init
()
{
const
that
=
this
;
const
ed
=
{
channelSource
:
'insurance_channel'
,
targetPath
:
'pagesInsurance/all-entrance/index'
,
query
:
{
yunOrderNo
:
this
.
yunOrderNo
},
};
const
o
=
{
detectionRecordId
:
this
.
detectionRecordId
,
detectionKind
:
1
};
console
.
log
(
'----detectionRecordInfo'
,
o
);
detectionRecordInfo
(
o
).
then
((
res
)
=>
{
if
(
res
.
code
===
'000000'
)
{
this
.
dataDetail
=
res
.
data
;
this
.
getDetailProces
();
that
.
openWebAppConfig
.
extraData
=
JSON
.
stringify
(
ed
);
that
.
openWebAppConfig
.
path
=
`pagesInsurance/all-entrance/index?yunOrderNo=
${
this
.
yunOrderNo
}
&channelSource=channelSource`
;
}
else
{
that
.
$toast
(
res
.
message
);
}
});
},
copyText
(
val
)
{
const
input
=
document
.
createElement
(
'input'
);
input
.
value
=
val
;
document
.
body
.
appendChild
(
input
);
input
.
select
();
input
.
setSelectionRange
(
0
,
input
.
value
.
length
);
document
.
execCommand
(
'Copy'
);
document
.
body
.
removeChild
(
input
);
this
.
$toast
(
'已复制'
);
console
.
log
(
'已复制的内容:'
,
val
);
},
// 检测详情
getDetailProces
()
{
getQuickDetectionDetailProces
({
id
:
this
.
detectionRecordId
,
channel
:
4
}
).
then
((
res
)
=>
{
if
(
res
.
code
===
'000000'
)
{
this
.
dataList
=
res
.
data
||
[];
}
else
{
this
.
$toast
(
res
.
message
);
}
});
},
getJumpToWebapp
()
{
if
(
this
.
picaWechat
==
'wechat'
)
{
return
false
;
}
const
query
=
`channelSource=insurance_channel&yunOrderNo=
${
this
.
yunOrderNo
}
&action_code=
${
this
.
action_code
}
`
;
const
p
=
{
params
:{
path
:
'pagesInsurance/all-entrance/index'
,
query
:
query
},
type
:
2
};
getJumpToWebapp
(
p
).
then
(
res
=>
{
console
.
log
(
'--res'
,
res
);
if
(
res
.
data
)
{
window
.
location
.
href
=
res
.
data
;
}
else
{
this
.
$toast
(
res
.
message
);
}
});
},
mapStatus
(
inquiryStatus
)
{
console
.
log
(
'--mapStatus'
,
inquiryStatus
);
const
s
=
String
(
inquiryStatus
);
let
m
=
'报告解读'
;
if
(
s
==
'0'
)
{
m
=
'报告解读'
;
}
else
if
([
'4'
,
'6'
].
includes
(
s
))
{
m
=
'查看专家建议'
;
}
else
{
m
=
'已预约待咨询'
;
}
console
.
log
(
'--mapStatus'
,
m
);
return
m
;
}
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
@import
'./index.scss'
;
</
style
>
vue.config.js
浏览文件 @
f735b91c
...
...
@@ -35,7 +35,7 @@ module.exports = {
port
:
8083
,
proxy
:
{
'/proxy'
:
{
target
:
'https://
dev
-sc.yunqueyi.com/'
,
target
:
'https://
test1
-sc.yunqueyi.com/'
,
// target: 'https://test1-sc.yunqueyi.com/',
// target: 'https://uat-sc.yunqueyi.com/',
// http://10.241.65.90:3000/mock/1071/cs/route/removeUser
...
...
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录