Files
zhongPin/Financial/pages/estimate/index.vue
2023-02-15 09:25:11 +08:00

971 lines
25 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<template>
<view class="estimate_body">
<cu-custom class="main-totextbar bg-main-oil" :isBack="true" bgColor="bg-zj-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: ''
}
}
}
},
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) {
console.log(e,'payStatusFilter')
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>