111
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

970 lines
25 KiB

<template>
<view class="estimate_body">
<cu-custom class="main-totextbar bg-main-oil" :isBack="true" bgColor="bg-main-oil">
<block slot="backText">返回</block>
<block slot="content"></block>
</cu-custom>
<view v-if="estimateData" class="estimate_container ">
<view class="estimate_data_container">
<view class="estimate_data_container_bg"></view>
<view class="estimate_data_title flex ac">
{{ formatCarNumber(page.params.platenumOrVinnum,0)}}
<uni-icons @click='plateNumber=true' custom-prefix="custom-icon" type="loop"
style="margin-left: 10rpx;" color='#ffffff' size="20"></uni-icons>
</view>
<view class="estimate_data_score">
<view v-if="!estimateData.homeScoreVo" class="estimate_data_mask">
<view class="estimate_data_mask_text">
<text>了解一下自己的风险分数</text> <br/>
<text>以及全国排名</text>
</view>
<view @click="goAssessment" class="estimate_data_mask_butten">查分数和排名</view>
</view>
<view v-if="estimateData.homeScoreVo" class="estimate_data_score_content">
<view class="estimate_data_score_left">
<view class="estimate_data_score_left_title">综合评分</view>
<view class="estimate_data_score_ranking">
<view class="estimate_data_score_ranking_item flex ac ">
<view class="estimate_plate">
全国
</view>
<text class="cut">前</text>
<text class="subjectColor">
<text
class="estimate_data_score_ranking_percentage">{{estimateData.homeScoreVo.natrnk!==null&&estimateData.homeScoreVo.natrnk!==undefined?Number(estimateData.homeScoreVo.natrnk).toFixed(2).split('.')[0]:'0'}}
</text>
<text>.{{estimateData.homeScoreVo.natrnk!==null&&estimateData.homeScoreVo.natrnk!==undefined?Number(estimateData.homeScoreVo.natrnk).toFixed(2).split('.')[1]:'00'}}</text>%
</text>
</view>
<view class="estimate_data_score_ranking_item flex ac ">
<view class="estimate_plate">
全省
</view>
<text class="cut">前</text>
<text class="subjectColor">
<text
class="estimate_data_score_ranking_percentage">{{estimateData.homeScoreVo.prornk!==null&&estimateData.homeScoreVo.prornk!==undefined?Number(estimateData.homeScoreVo.prornk).toFixed(2).split('.')[0]:'0'}}
</text>
<text>.{{estimateData.homeScoreVo.prornk!==null&&estimateData.homeScoreVo.prornk!==undefined?Number(estimateData.homeScoreVo.prornk).toFixed(2).split('.')[1]:'00'}}</text>%
</text>
</view>
</view>
</view>
<view class="estimate_data_progress">
<cmd-progress :show-info='false' stroke-color='#FF6700' stroke-width='15' width="150"
type="dashboard" :percent="estimateData.homeScoreVo.rate.join('.')"></cmd-progress>
<view class="estimate_data_progress_heart">
<view class="estimate_data_progress_heart_title">
{{displayChange?'综合等级':'综合分数'}}
</view>
<view @click="displayChange=true" v-if="!displayChange"
class="estimate_data_progress_heart_grade">
{{estimateData.homeScoreVo.rate[0]}}
<text style="color: #FF6700;font-size: 24rpx;"
class="subjectColor">.{{estimateData.homeScoreVo.rate[1]}} </text>
</view>
<view @click="displayChange=false" v-else class="estimate_data_progress_heart_grade">
{{displayChangeFn(estimateData.homeScoreVo.rate.join('.'))}}
</view>
</view>
<view class="estimate_data_progress_footer">
<text>{{estimateData.homeScoreVo.queryDate}}</text>
<view class="estimate_plate">近{{estimateData.homeScoreVo.statype}}个月</view>
</view>
</view>
</view>
<view v-if="estimateData.homeScoreVo" @click="goDetails(1)" class="estimate_data_footer flex jc ac ">
评估时间
<text>{{estimateData.homeScoreVo.createTime}}</text>
<uni-icons custom-prefix="custom-icon" type="forward" style="margin-left: 10rpx;"
color='#bbbbbb' size="15"></uni-icons>
</view>
</view>
<view class="estimate_data_suggest">
<view v-if="!estimateData.homeRiskVo" class="estimate_data_mask">
<view class="estimate_data_mask_text">
<text>如何提升分数</text> <br/>
<text>您的车辆可能涉及多个风险</text>
</view>
<view @click="goAssessment" class="estimate_data_mask_butten">获取改善建议</view>
</view>
<view v-if="estimateData.homeRiskVo" @click="goDetails(2)" class="estimate_data_suggest_header flex ac">
<text class="estimate_data_suggest_header_title">改善建议</text>
<text class="estimate_data_suggest_header_right">
<text>
<text>{{estimateData.homeRiskVo.safeinfoQueryDate}}</text>
<text class="estimate_plate">近{{estimateData.homeRiskVo.safeinfoStatype}}个月</text>
</text>
</text>
<uni-icons custom-prefix="custom-icon" type="forward" style="margin-left: 10rpx;"
color='#bbbbbb' size="15"></uni-icons>
</view>
<view v-if="estimateData.homeRiskVo" class="estimate_data_suggest_center flex">
<view v-for="(item,index) in suggestData" :key='index'
class="estimate_data_suggest_center_item">
<view>
<image style="width: 60rpx;height: 60rpx;" :src="imgURL + item.icon"></image>
</view>
<view>{{item.label}}</view>
<view>有 <text style="margin: 0 10rpx;"
class="subjectColor">{{estimateData.homeRiskVo[item.field]}}</text> 项风险</view>
</view>
</view>
<view v-if="estimateData.homeRiskVo" class="estimate_data_suggest_footer">
评估时间
<text>{{estimateData.homeRiskVo.safeinfoCreateTime}}</text>
</view>
</view>
<view class="estimate_data_tip flex ac jc">
<image style="width:50rpx;height:50rpx; margin-right: 15rpx;" :src="imgURL+ 'zjcareful.png' ">
</image>
<view>
</view>
{{estimateData.prompts[0]||'已有最新综合评分或改善建议!'}}
</view>
</view>
<scroll-view scroll-y="true" @scrolltolower='scrolltolower' class="estimate_orderList">
<view @click="goDetails(0,item)" v-for="(item,index) in palyList" :key='index'
class="estimate_orderList_item flex">
<view class="estimate_orderList_item_left flex">
<view class="estimate_orderList_item_icon flex ac jc">
<image style="width: 50rpx;height: 50rpx;" :src="imgURL+productTypefilter(item)"></image>
</view>
<view class="estimate_orderList_item_left_data">
<view class="estimate_orderList_item_left_data_label">
{{ formatCarNumber(item.platenumOrVinnum,0) }}
</view>
<view class="estimate_orderList_item_left_data_time">
<text>{{item.queryDate}}</text>
<view class="estimate_plate">近{{item.statype}}个月</view>
</view>
</view>
</view>
<view class="estimate_orderList_item_right flex">
<view class="estimate_orderList_item_price_container">
<view class="estimate_orderList_item_price">
<view style="margin-left: 0; color: #FFFFFF;"
:style="{backgroundColor:item.payStatusData.color}" class="estimate_plate">
{{item.payStatusData.label}}
</view>
<text
style="margin-left: 12rpx;">¥{{item.payAmount? Number(item.payAmount).toFixed(2) :'0.00'}}</text>
</view>
<view class="estimate_orderList_item_price_time flex ac jc ">
{{item.createTime}}
</view>
</view>
<view class="estimate_orderList_item_right_icon flex ac">
<uni-icons custom-prefix="custom-icon" type="forward" style="margin-left: 10rpx;"
color='#bbbbbb' size="20"></uni-icons>
</view>
</view>
</view>
</scroll-view>
</view>
<view @click="goAssessment" class="estimate_container_footer flex ac jc"> 立即开始评估 </view>
<uni-popup :mask-click='false' @ ref="popup" @change="change">
<view class="plateNumber_change">
<view class="plateNumber_change_header flex ">
<view @click="popupClose">返回</view>
<view class="subjectColor" @click="plateNumberChange">确认</view>
</view>
<view class="plateNumber_change_container ">
<view class="plateNumber_change_container_title subjectColor">车牌号码</view>
<view class="plateNumber_input_container">
<input type="text" v-model="copyPlatenumOrVinnum" />
</view>
<!-- <scroll-view scroll-x="true" class="plateNumber_registration ">
<view v-for="(item,index) in 5" :key='index' class="plateNumber_registration_item flex ac jc">皖A77777</view>
</scroll-view> -->
<scroll-view class="scroll-view_H" scroll-x="true" :show-scrollbar='false'>
<view @click="copyPlatenumOrVinnum = item " v-for="(item,index) in plateNumberList" :key='index'
id="demo1" class="scroll-view-item_H ">
<view class="scroll-view-item_H_content flex ac jc">{{item}}</view>
</view>
</scroll-view>
<view class="plateNumber_change_tip">
注意请核对确认录入的车牌号码无误!录入错误车牌导致报告错误责任自担
</view>
</view>
</view>
</uni-popup>
</view>
</template>
<script>
import cmdProgress from '../../components/cmd-progress/cmd-progress.vue'
import Financial from '@/api/Financial.js'
export default {
components: {
cmdProgress
},
data() {
return {
imgURL: this.global.newImgURL,
user: uni.getStorageSync('user'),
plateNumberList: [],
copyPlatenumOrVinnum: '',
plateNumber: false,
displayChange: false,
estimateData: null,
suggestData: [{
label: '驾驶风险',
field: 'drivingRiskCoefficient',
icon: 'zjsteering .png'
}, {
label: '运营风险',
field: 'operationalRiskCoefficient',
icon: 'zjtruck.png'
}, {
label: '道路风险',
field: 'roadRiskCoefficient',
icon: 'zjroad.png'
}],
palyList: null,
page: {
currentPage: 1,
pageSize: 10,
params: {
platenumOrVinnum: '',
createSource:'XOIL-COMPANY'
}
}
}
},
onLoad(e) {
this.initData(JSON.parse(decodeURIComponent(e.data)))
},
created() {},
watch: {
plateNumber: function(n) {
if (n) {
Financial.findOldPlate({
customerId: this.user.id,
enableMark: 'ENABLE'
}).then(res => {
console.log(res.data, '司机车牌号列表');
this.plateNumberList = res.data;
this.$refs.popup.open('bottom')
})
} else {
}
}
},
methods: {
formatCarNumber(carnum, isAuth) {
console.log(this.page.params,'carnumcarnumcarnum')
if (carnum) {
if (isAuth == 1) {
const numBegin = carnum.substring(0, 2);
const numEnd = carnum.substring(2);
return numBegin + '·' + numEnd;
} else {
const numBegin = carnum.substring(0, 3);
const numEnd = carnum.substring(4, 5);
return numBegin + '***' + numEnd;
}
}
return "";
},
productTypefilter(e) {
console.log(e, '===')
switch (e.productType) {
case 'SA':
return 'zjplay1.png'
case 'S':
return 'zjplay2.png'
case 'A':
return 'zjplay3.png'
default:
return '----'
}
},
popupClose() {
this.$refs.popup.close();
this.copyPlatenumOrVinnum = this.page.params.platenumOrVinnum
},
updatePlateNumber() {
if (this.plateNumberChenk(this.copyPlatenumOrVinnum)) {
this.page.currentPage = 1;
this.page.params.platenumOrVinnum = this.copyPlatenumOrVinnum;
this.estimateData.homeScoreVo.platenumOrVinnum = this.copyPlatenumOrVinnum;
this.getPlayList();
this.$refs.popup.close();
} else {
uni.showToast({
title: '请输入正确车牌号',
icon: 'none'
})
}
},
plateNumberChenk(number) {
return /(^[\u4E00-\u9FA5]{1}[A-Z0-9]{6}$)|(^[A-Z]{2}[A-Z0-9]{2}[A-Z0-9\u4E00-\u9FA5]{1}[A-Z0-9]{4}$)|(^[\u4E00-\u9FA5]{1}[A-Z0-9]{5}[挂学警军港澳]{1}$)|(^[A-Z]{2}[0-9]{5}$)|(^(08|38){1}[A-Z0-9]{4}[A-Z0-9挂学警军港澳]{1}$)/
.test(number);
},
plateNumberChange() {
let chenk = this.plateNumberChenk(this.copyPlatenumOrVinnum)
if (chenk) {
let user = uni.getStorageSync('user');
let data = {
customerId: user.id,
platenumOrVinnum: this.copyPlatenumOrVinnum
}
console.log(data, '??????????');
Financial.findHomePageReport(data).then(res => {
if (res.data) {
this.initData(res.data);
this.$refs.popup.close();
} else {
uni.showToast({
title: '暂无车辆数据',
icon: 'none'
})
}
})
} else {
uni.showToast({
title: '请输入正确车牌号!',
icon: 'error'
})
}
},
change(e) {
this.plateNumber = e.show
},
initData(e) {
if (e) {
this.page.currentPage = 1;
this.estimateData = e;
this.page.params.platenumOrVinnum = this.estimateData?.homeScoreVo?.platenumOrVinnum || this.estimateData.homeRiskVo.platenumOrVinnum ;
this.copyPlatenumOrVinnum = this.estimateData?.homeScoreVo?.platenumOrVinnum || this.estimateData.homeRiskVo.platenumOrVinnum;
if(this.estimateData?.homeScoreVo){
this.estimateData.homeScoreVo.rate = Number(this.estimateData.homeScoreVo.rate * 100).toFixed(1);
this.estimateData.homeScoreVo.rate = this.estimateData.homeScoreVo.rate.split('.') || [this
.estimateData.homeScoreVo.rate
]
}
this.getPlayList();
} else {
// uni.navigateBack()
}
},
displayChangeFn(e) {
e = e !== '' ? Number(e) : 0;
if (Number(e) >= 80 && Number(e) < 100) {
return 'A'
} else if (Number(e) >= 60 && Number(e) < 80) {
return 'B'
} else if (Number(e) >= 40 && Number(e) <60) {
return 'C'
} else if (Number(e) >= 20 && Number(e) < 40) {
return 'D'
} else if (Number(e) >= 0 && Number(e) < 20) {
return 'E'
} else {
return '--'
}
},
listHandle(e) {
const payStatusFilter = function(es) {
switch (es) {
case 'PREPAID':
return {
label: '预支付', color: '#5DD425'
}
case 'PAYING':
return {
label: '支付中', color: '#E8CD30'
}
case 'SUCCESS':
return {
label: '支付成功', color: '#00C777'
}
case 'FAILURE':
return {
label: '支付失败', color: '#EC4545'
}
case 'REFUNDED':
return {
label: '退款成功', color: '#BC853B'
}
case 'REFUNDING':
return {
label: '退款中', color: '#FF6700'
}
case 'REFUNDFAIL':
return {
label: '退款失败', color: '#EC4545'
}
case 'CANCELED':
return {
label: '支付取消', color: '#bbbbbb'
}
default:
return null
}
}
e.forEach(item => {
item['payStatusData'] = payStatusFilter(item.payStatus);
})
return e
},
//监听滚动到底事件
scrolltolower() {
this.page.currentPage += 1;
this.getPlayList()
},
//获取支付记录
getPlayList() {
let data = JSON.parse(JSON.stringify(this.page))
Financial.getByPage(Object.assign(data,{params:{createSource:'XOIL-COMPANY',}})).then(res => {
if (res.code == 20000) {
if (this.page.currentPage == 1) {
this.palyList = this.listHandle(res.data.list);
} else {
this.palyList = this.palyList.concat(this.listHandle(res.data.list));
}
}
})
},
goAssessment() {
uni.redirectTo({
url: '../../../Financial/pages/index'
})
},
//去到评估页面
goDetails(e, data) {
if (e == 0 && data ) {
let keys = Object.keys(data);
console.log(keys)
if(data?.riskevalReportId&&data?.safeinfoReportId){
e=0
}else if( data?.riskevalReportId){
e = 1
}else if(data?.safeinfoReportId) {
e=2
}else{
uni.showToast({
title: '暂无数据',
icon: 'none'
})
return
}
}
const carryData = {
type: e,
id: data?.riskevalReportId ? data.riskevalReportId : this.estimateData.homeScoreVo? this.estimateData.homeScoreVo.id : '' ,
homeRiskVoId: data?.safeinfoReportId ? data.safeinfoReportId : this.estimateData.homeRiskVo?this.estimateData.homeRiskVo.id:'',
}
console.log(carryData, 'carryData')
uni.navigateTo({
url: `../details/index?data=${JSON.stringify(carryData)}`
})
}
}
}
</script>
<style>
.estimate_data_mask_text{
text-align: center;
}
.estimate_data_mask_butten{
width: 320rpx;
padding: 20rpx 0;
/* height: 80rpx; */
background: #FF6700;
border-radius: 20px;
color: #FFFFFF;
font-size: 32rpx;
display: flex;
justify-content: center;
align-items: center;
margin-top: 30rpx;
}
.estimate_data_mask{
width: 100%;
height: 100%;
backdrop-filter: blur(50px);
border-radius: 10px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.estimate_data_mask text{
color: #FF6700;
font-size: 32rpx;
}
.plateNumber_change_tip {
width: 100%;
margin-top: 100rpx;
font-size: 28rpx;
color: #BBBBBB;
}
.scroll-view-item_H_content {
width: 100%;
height: 100%;
}
.scroll-view_H {
white-space: nowrap;
width: 100%;
margin-top: 20rpx;
}
.scroll-view-item_H {
display: inline-block;
width: 49%;
height: 80rpx;
text-align: center;
background-color: #F0F0F0;
border-radius: 20rpx;
margin-left: 1%;
}
.scroll-view-item_H:first-child {
margin-left: 0px;
}
.plateNumber_registration_item {
width: 240rpx;
height: 80rpx;
border-radius: 20rpx;
background-color: #F0F0F0;
}
.plateNumber_registration {
width: 100%;
display: flex;
justify-content: space-between;
margin-top: 24rpx;
}
.plateNumber_input_container {
width: 500rpx;
background-color: #F0F0F0;
overflow: hidden;
border-radius: 20rpx;
height: 80rpx;
padding: 0 20rpx;
margin-top: 24rpx;
}
.plateNumber_input_container input {
width: 100%;
height: 100%;
}
.plateNumber_change_container {
width: 500rpx;
position: relative;
left: 0;
right: 0;
margin: 0 auto;
font-size: 28rpx;
}
.plateNumber_change_header {
width: 100%;
justify-content: space-between;
}
.plateNumber_change {
width: 100vw;
height: 40vh;
background-color: #FFFFFF;
border-radius: 20px;
padding: 40rpx;
font-size: 28rpx;
}
.estimate_orderList_item_right_icon {
margin-left: 32rpx;
}
.estimate_orderList_item_left_data_label {
font-size: 32rpx;
color: #666666;
line-height: 40rpx;
height: 40rpx;
}
.estimate_orderList_item_left_data {
font-size: 24rpx;
display: flex;
flex-direction: column;
justify-content: space-around;
}
.estimate_data_suggest_footer text {
color: #666666;
margin-left: 10rpx;
}
.estimate_orderList_item_left_data_time {
/* margin-top: 6rpx; */
height: 40rpx;
white-space: nowrap;
}
.estimate_data_suggest_footer {
font-size: 24rpx;
color: #BBBBBB;
text-align: center;
}
.estimate_data_suggest_center_item {
text-align: center;
width: calc(100% / 3);
/* background-color: #007AFF; */
position: relative;
top: 0;
bottom: 0;
margin: auto;
font-size: 28rpx;
}
.estimate_data_suggest_center {
flex: 1;
/* background-color: #17A00E; */
padding: 10rpx 0;
}
.estimate_data_suggest_header_right {
flex: 1;
text-align: right;
}
.estimate_data_suggest_header_title {
font-weight: 400;
font-size: 32rpx;
line-height: 38rpx;
color: #BBBBBB;
}
.estimate_data_suggest_header {
display: flex;
justify-content: space-between;
}
.estimate_data_suggest {
padding: 20rpx;
display: flex;
flex-direction: column;
}
.subjectColor {
color: #FF6700;
}
.cut {
margin: 0 10rpx;
}
.estimate_data_score_ranking_percentage {
font-size: 48rpx;
}
.estimate_data_score_ranking_item:last-child {
margin-bottom: 0rpx;
}
.estimate_data_score_ranking_item {
font-size: 24rpx;
margin-bottom: 20rpx;
color: #BBBBBB;
}
.estimate_plate {
/* display: block; */
background: #F0F0F0;
padding: 0 10rpx;
margin-left: 20rpx;
color: #666666;
font-size: 24rpx;
/* height: 40rpx; */
display: inline-block;
line-height: 40rpx;
width: 120rpx;
text-align: center;
}
.estimate_data_footer {
/* background-color: #007AFF; */
height: 40px;
color: #BBBBBB;
font-size: 24rpx;
display: flex;
align-items: flex-end;
/* padding-bottom: 20rpx; */
position: relative;
z-index: 99;
}
.estimate_data_footer text {
color: #666666;
margin-left: 10rpx;
}
.estimate_data_progress_footer {
/* background-color: #007AFF; */
width: 100%;
position: absolute;
bottom: 15px;
text-align: center;
font-size: 24rpx;
}
.estimate_data_progress_heart_grade {
font-family: 'Roboto';
font-style: normal;
font-weight: 400;
font-size: 48px;
line-height: 56px;
text-align: center;
color: #FF6700;
}
.estimate_data_progress_heart_title {
font-family: 'Roboto';
font-style: normal;
font-weight: 400;
font-size: 14px;
line-height: 16px;
color: #BBBBBB;
}
.estimate_data_progress_heart {
width: 100px;
height: 100px;
position: absolute;
border-radius: 50%;
text-align: center;
padding: 10px;
overflow: hidden;
}
.estimate_data_score_ranking {}
.estimate_data_score_left_title {
font-weight: 400;
font-size: 32rpx;
line-height: 38rpx;
color: #BBBBBB;
}
.estimate_data_score_left {
flex: 1;
padding: 40rpx 30rpx 0 30rpx;
box-sizing: border-box;
display: flex;
flex-direction: column;
position: relative;
justify-content: space-between;
height: 150px;
position: relative;
}
.estimate_data_score_content {
width: 100%;
display: flex;
height: 150px;
}
.estimate_data_progress {
width: 180px;
height: 180px;
background-color: #FFFFFF;
top: -15px;
position: relative;
border-radius: 50%;
display: flex;
justify-content: center;
align-items: center;
position: relative;
flex-direction: column;
}
.estimate_orderList_item:last-child {
margin-bottom: 0rpx;
}
.estimate_orderList_item_icon {
width: 100rpx;
height: 100%;
}
.estimate_orderList_item {
width: 100%;
height: 140rpx;
background: #FFFFFF;
margin-bottom: 20rpx;
padding: 20rpx;
}
.estimate_orderList_item_left {
width: 374rpx;
/* background-color: #0091FF; */
}
.estimate_orderList_item_right {
flex: 1;
justify-content: flex-end;
}
.estimate_orderList_item_price_container {
flex: 1;
display: flex;
flex-direction: column;
justify-content: space-around;
}
.estimate_orderList_item_price_time {
height: 40rpx;
font-family: 'Roboto';
font-style: normal;
font-weight: 400;
font-size: 24rpx;
color: #666666;
}
.estimate_orderList_item_price {
height: 40rpx;
font-size: 32rpx;
width: 100%;
display: flex;
justify-content: flex-start;
}
.estimate_container_footer {
width: 786rpx;
height: 120rpx;
background: #FF6700;
color: #FFFFFF;
font-weight: 400;
font-size: 32rpx;
line-height: 38rpx;
}
.estimate_orderList {
flex: 1;
width: 100%;
overflow-y: auto;
min-height: 300rpx;
margin-top: 20rpx;
}
.flex {
display: flex;
}
.ac {
align-items: center;
}
.jc {
justify-content: center;
}
.estimate_data_tip {
font-weight: 400;
font-size: 28rpx;
line-height: 32rpx;
color: #666666;
}
.estimate_data_tip {
width: 600rpx;
height: 90rpx;
background: #FFFFFF;
border-radius: 20px;
margin: auto;
margin-top: 45rpx;
}
.estimate_data_suggest {
width: 680rpx;
height: 340rpx;
background: #FFFFFF;
border-radius: 10px;
}
.estimate_data_title {
font-style: normal;
font-weight: 400;
font-size: 48rpx;
line-height: 56rpx;
color: #FFFFFF;
position: relative;
margin-bottom: 20rpx;
width: 100%;
padding-left: calc((100vw - 680rpx) / 2);
}
.estimate_data_container_bg {
width: 180%;
background: #FF6700;
border-radius: 0 0 50% 50%;
position: absolute;
height: 100%;
z-index: -1;
left: -40%;
}
.estimate_data_container {
height: calc(76rpx + 190px + 20rpx + 340rpx + 45rpx + 90rpx + 20rpx);
width: 100%;
/* background: #FF6700; */
/* border-radius: 0 0 50% 50%; */
/* margin-left: -40%; */
/* padding: 0 calc(40% + 35rpx); */
/* padding-top: 20rpx; */
position: relative;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.estimate_data_score {
height: 190px;
width: 680rpx;
border-radius: 10px;
background: #FFFFFF;
margin-bottom: 20rpx;
}
.estimate_body {
width: 100vw;
height: 100vh;
display: flex;
flex-direction: column;
margin: 0;
background: #E5E5E5;
overflow: hidden;
}
.estimate_container {
flex: 1;
width: 100%;
margin: 0;
display: flex;
flex-direction: column;
overflow: auto;
z-index: 1;
overflow-x: hidden;
}
</style>