main
张群 2 years ago
commit 143427f4db
  1. 50
      pages/bus/busDataInfo/form.vue
  2. 494
      pages/portShipping/pilotStation/form.vue
  3. 431
      pages/portShipping/pilotStation/list.vue
  4. 168
      pages/roadTransport/transportData/form.vue

@ -59,9 +59,16 @@
{{item.stationId || ''}}
</view>
</view>
<view v-if="landList.length > 9" class="station_act" @click="showLand = !showLand">
<uni-icons v-if="!showLand" type="bottom" size="14" color="#2D8CF0" style="margin-right:10rpx;">
</uni-icons>
<uni-icons v-if="showLand" type="top" size="14" color="#2D8CF0" style="margin-right:10rpx;"></uni-icons>
{{showLand?'收起':'展开'}}
</view>
<view class="form_item_box"
:style="form.bizBusDataDetailVOList.length == 0 ? 'margin-top: 30rpx;' : ''">
<!-- 陆岛 -->
<!-- 公交 -->
<view class="form_item_title">运行数据</view>
<view class="form_item_li">
<view class="form_item" v-if="form.bizBusDataDetailVOList.length > 1">
<view class="form_item_label">名称</view>
@ -107,7 +114,7 @@
<view class="form_item">
<view class="form_item_label">人数(万人)</view>
<view class="form_item_input form_input">
<uni-easyinput @blur="calcYoyMom(landNameIndex)" type="number"
<uni-easyinput @blur="calcYoyMom(landNameIndex)" type="digit"
v-model="form.bizBusDataDetailVOList[landNameIndex].passengerCount"
placeholderStyle="color: #D4D4D4;font-size:28rpx;" placeholder="请输入" maxlength="20">
</uni-easyinput>
@ -160,7 +167,7 @@
<view class="rate_item">
<view class="rate_item_label">班次同比</view>
<view class="rate_item_input">
{{form.bizBusDataDetailVOList.length == 0 ? '' : form.bizBusDataDetailVOList[landNameIndex].passengerCountYoy === 0 ? form.bizBusDataDetailVOList[landNameIndex].operatingShiftsYoy : form.bizBusDataDetailVOList[landNameIndex].operatingShiftsYoy ? formatDigit(form.bizBusDataDetailVOList[landNameIndex].operatingShiftsYoy) : '--'}}%
{{form.bizBusDataDetailVOList.length == 0 ? '' : form.bizBusDataDetailVOList[landNameIndex].operatingShiftsYoy === 0 ? form.bizBusDataDetailVOList[landNameIndex].operatingShiftsYoy : form.bizBusDataDetailVOList[landNameIndex].operatingShiftsYoy ? formatDigit(form.bizBusDataDetailVOList[landNameIndex].operatingShiftsYoy) : '--'}}%
</view>
</view>
</view>
@ -268,7 +275,7 @@
yestOperatingShifts:'',
yestPassengerCount:'',
lyVehicleInput:'',
lyOperatingShifts:'',
lyPassengerCount:'',
lyOperatingShifts:''
})
})
@ -321,6 +328,7 @@
},
//
calcYoyMom(landNameIndex) {
console.log('landNameIndex ===>',landNameIndex)
if (this.form.reportDate == '' || this.form.statPeriod == '' || this.form
.bizBusDataDetailVOList[landNameIndex].landName == '') {
return;
@ -334,6 +342,7 @@
.bizBusDataDetailVOList[landNameIndex].busUnit + '&_t=' + Date.parse(new Date()), {},
'GET')
.then(res => {
console.log('res.data ===>',res.data)
let yesterdayData = res.data.yesterdayData;
let lastYearData = res.data.lastYearData;
@ -348,18 +357,20 @@
lastYearData.passengerCount) ? lastYearData.passengerCount : 0;
this.form.bizBusDataDetailVOList[landNameIndex].yestOperatingShifts = checkNotEmpty(
yesterdayData.passengerCount) ? yesterdayData.operatingShifts : 0;
this.form.bizBusDataDetailVOList[landNameIndex].lyPassengerCount = checkNotEmpty(
lastYearData.passengerCount) ? lastYearData.passengerCount : 0;
yesterdayData.operatingShifts) ? yesterdayData.operatingShifts : 0;
this.form.bizBusDataDetailVOList[landNameIndex].lyOperatingShifts = checkNotEmpty(
lastYearData.operatingShifts) ? lastYearData.operatingShifts : 0;
console.log('form==>',this.form)
//-
// ifelseifelseif===0===00esleif00100,else(-)/*100
let obj = this.form.bizBusDataDetailVOList[landNameIndex];
console.log('obj===>',obj)
this.form.bizBusDataDetailVOList[landNameIndex].vehicleInputMom = calcMom(obj.vehicleInput,yesterdayData.vehicleInput)
// !checkNotEmpty(obj
// .vehicleInput) ? '' : !checkNotEmpty(yesterdayData.vehicleInput) ? '' : yesterdayData.vehicleInput === 0 && parseInt(obj
// .vehicleInput) === 0 ? 0 : yesterdayData.vehicleInput === 0 && parseInt(obj.vehicleInput) > 0 ? 100 : (parseInt(obj
// .vehicleInput) - yesterdayData.vehicleInput) / yesterdayData.vehicleInput * 100;
this.form.bizBusDataDetailVOList[landNameIndex].vehicleInputYoy = calcYoy(obj.vehicleInput,lastYearData.vehicleInput)
this.form.bizBusDataDetailVOList[landNameIndex].vehicleInputYoy = calcYoy(obj.vehicleInput,res.data.lastYearData.vehicleInput)
// !checkNotEmpty(obj
// .vehicleInput) ? '' : !checkNotEmpty(lastYearData.vehicleInput) ? '' : lastYearData.vehicleInput === 0 && parseInt(obj
// .vehicleInput) === 0 ? 0 : lastYearData.vehicleInput === 0 && parseInt(obj.vehicleInput) > 0 ? 100 : (parseInt(obj
@ -371,14 +382,14 @@
// .passengerCount === 0 && parseInt(obj.passengerCount) === 0 ? 0 : yesterdayData.passengerCount === 0 &&
// parseInt(obj.passengerCount) > 0 ? 100 : (parseInt(obj.passengerCount) - yesterdayData.passengerCount) /
// yesterdayData.passengerCount * 100;
this.form.bizBusDataDetailVOList[landNameIndex].passengerCountYoy = calcYoy(obj.passengerCount,lastYearData.passengerCount)
this.form.bizBusDataDetailVOList[landNameIndex].passengerCountYoy = calcYoy(obj.passengerCount,res.data.lastYearData.passengerCount)
// !checkNotEmpty(obj
// .passengerCount) ? '' : !checkNotEmpty(lastYearData.passengerCount) ? '' : lastYearData
// .passengerCount === 0 && parseInt(obj.passengerCount) === 0 ? 0 : lastYearData.passengerCount === 0 &&
// parseInt(obj.passengerCount) > 0 ? 100 : (parseInt(obj.passengerCount) - lastYearData.passengerCount) /
// lastYearData.passengerCount * 100;
this.form.bizBusDataDetailVOList[landNameIndex].operatingShiftsMom = calcMom(obj.operatingShifts,yesterdayData.operatingShifts)
this.form.bizBusDataDetailVOList[landNameIndex].operatingShiftsYoy = calcMom(obj.operatingShifts,yesterdayData.operatingShifts)
this.form.bizBusDataDetailVOList[landNameIndex].operatingShiftsYoy = calcMom(obj.operatingShifts,res.data.lastYearData.operatingShifts)
console.log('环比同比', this.form.bizBusDataDetailVOList[landNameIndex])
})
},
@ -475,18 +486,19 @@
let checkAccident = true;
if (this.form.bizBusDataDetailVOList.length > 0) {
checkAccident = this.form.bizBusDataDetailVOList.every(item => {
return checkNotEmpty(item.landName) && checkNotEmpty(item.passengerCount) && checkNotEmpty(
return checkNotEmpty(item.busUnit) && checkNotEmpty(item.passengerCount) && checkNotEmpty(
item.vehicleInput) && checkNotEmpty(item.operatingShifts)
})
}
if (!checkAccident) {
uni.showToast({
title: '公交详情不能为空',
title: '请填写所有公交运行数据',
icon: 'none'
})
return;
}
console.log(this.form.id)
this.form.bizBusDataBodySaveOrUpdateDTOList = this.form.bizBusDataDetailVOList;
console.log(this.form)
uni.showModal({
title: '提示',
content: this.form.id == undefined ? '您确认提交该条报送数据?' : '您确认将该条数据进行修改?',
@ -502,6 +514,7 @@
title: '提交中...',
mask: true
})
console.log(this.form)
this.$request(getApp().globalData.baseUrl + '/api/biz/busdata/saveOrUpdate', this
.form,
'POST').then(res => {
@ -514,7 +527,7 @@
if (this.form.id == undefined) {
setTimeout(() => {
uni.redirectTo({
url: '/pages/water/waterWay/list'
url:"/pages/bus/busDataInfo/list"
})
}, 300)
} else {
@ -686,6 +699,13 @@
}
}
}
//
.station_act {
color: #2D8CF0;
font-size: 24rpx;
text-align: center;
margin-bottom: 30rpx;
}
//
.station_box {
@ -706,7 +726,7 @@
border: 1rpx solid #C1C1C1;
padding: 0 20rpx;
margin-bottom: 40rpx;
margin-right: 20rpx;
margin-right: 18rpx;
&.active {
position: relative;

@ -1,22 +1,504 @@
<template>
<view>
<!-- 引航站报送 -->
<view class="edit_box">
<view class="top_box">
<view class="top_title" v-if="isShowTitle">
<view class="top_txt">如有填报问题请咨询公共服务中心</view>
<view class="bot_txt">中心值班电话<span style="color: #2D8CF0;">66007587</span></view>
</view>
<view class="content_box">
<view class="basic_box">
<view class="con_tit">基本信息</view>
<view class="edit_item">
<p class="left">统计日期</p>
<view class="right">
<picker mode="date" :value="form.reportDate" @change="bindDateChange">
<text class="picker_select"
:style="form.reportDate?'color:#333;':''">{{form.reportDate?form.reportDate:'请选择'}}</text>
<uni-icons type="right" size="16" color="#D4D4D4"></uni-icons>
</picker>
</view>
</view>
<view class="edit_item">
<p class="left">统计时段</p>
<view class="right">
<picker @change="bindPickerChange" :value="index" :range="roadTime" range-key="dictLabel">
<view class="right_txt_box">
<p class="right_txt">{{timeName ? timeName : '请选择统计时段'}}</p>
<uni-icons type="right" size="16"></uni-icons>
</view>
</picker>
</view>
</view>
</view>
<view class="basic_box .data_box">
<view class="con_tit">引航站数据</view>
<view class="edit_item input">
<p class="left">引航站每日引航艘次数:</p>
<view class="right">
<uni-easyinput @blur="getYoyMom" type="digit" v-model="form.dailyPilotCount" placeholder="请输入" placeholderStyle="color:#d4d4d4;"></uni-easyinput>
</view>
</view>
<view class="per_con" :class="form.dailyPilotCount && form.dailyPilotCount == form.yestPilotCount ? 'danger' : ''">
<view class="content top">
<view class="left">每日引航艘次数环比</view>
<view class="right">{{form.dailyPilotMom === 0 ? form.dailyPilotMom : form.dailyPilotMom ? formatDigit(form.dailyPilotMom) : '--'}}%</view>
</view>
<view class="content">
<view class="left">每日引航艘次数同比</view>
<view class="right">{{form.dailyPilotYoy === 0 ? form.dailyPilotYoy : form.dailyPilotYoy ? formatDigit(form.dailyPilotYoy) : '--'}}%</view>
</view>
</view>
<view class="edit_item input">
<p class="left">青岛港区引航量:</p>
<view class="right">
<uni-easyinput @blur="getYoyMom" type="digit" v-model="form.qdPortPilot" placeholder="请输入" placeholderStyle="color:#d4d4d4;"></uni-easyinput>
</view>
</view>
<view class="per_con" :class="form.qdPortPilot && form.qdPortPilot == form.yestQdPilot ? 'danger' : ''">
<view class="content top">
<view class="left">港区引航量环比</view>
<view class="right">{{form.qdPortPilotMom === 0 ? form.qdPortPilotMom : form.qdPortPilotMom ? formatDigit(form.qdPortPilotMom) : '--'}}%</view>
</view>
<view class="content">
<view class="left">港区引航量同比</view>
<view class="right">{{form.qdPortPilotYoy === 0 ? form.qdPortPilotYoy : form.qdPortPilotYoy ? formatDigit(form.qdPortPilotYoy) : '--'}}%</view>
</view>
</view>
<view class="edit_item input">
<p class="left">董家口港区引航量:</p>
<view class="right">
<uni-easyinput @blur="getYoyMom" type="digit" v-model="form.djkPortPilot" placeholder="请输入" placeholderStyle="color:#d4d4d4;"></uni-easyinput>
</view>
</view>
<view class="per_con" :class="form.djkPortPilot && form.djkPortPilot == form.yestDjkPilot ? 'danger' : ''">
<view class="content top">
<view class="left">董家口港区引航量环比</view>
<view class="right">{{form.djkPortPilotMom === 0 ? form.djkPortPilotMom : form.djkPortPilotMom ? formatDigit(form.djkPortPilotMom) : '--'}}%</view>
</view>
<view class="content">
<view class="left">董家口港区引航量同比</view>
<view class="right">{{form.djkPortPilotYoy === 0 ? form.djkPortPilotYoy : form.djkPortPilotYoy ? formatDigit(form.djkPortPilotYoy) : '--'}}%</view>
</view>
</view>
<view class="edit_item input">
<p class="left">套泊热接:</p>
<view class="right">
<uni-easyinput v-model="form.capacityShuttle" placeholder="请输入" placeholderStyle="color:#d4d4d4;"></uni-easyinput>
</view>
</view>
<view class="edit_item input">
<p class="left">推近一海里(艘次):</p>
<view class="right">
<uni-easyinput type="digit" v-model="form.capacityShuttle" placeholder="请输入" placeholderStyle="color:#d4d4d4;"></uni-easyinput>
</view>
</view>
<view class="edit_item input">
<p class="left">深水航槽直靠(艘次):</p>
<view class="right">
<uni-easyinput type="digit" v-model="form.capacityShuttle" placeholder="请输入" placeholderStyle="color:#d4d4d4;"></uni-easyinput>
</view>
</view>
<view class="edit_item input">
<p class="left">15万吨级油轮全潮时靠泊(艘次):</p>
<view class="right">
<uni-easyinput type="digit" v-model="form.capacityShuttle" placeholder="请输入" placeholderStyle="color:#d4d4d4;"></uni-easyinput>
</view>
</view>
<view class="edit_item input">
<p class="left">20万吨级矿船满载主航道夜航(艘次):</p>
<view class="right">
<uni-easyinput type="digit" v-model="form.capacityShuttle" placeholder="请输入" placeholderStyle="color:#d4d4d4;"></uni-easyinput>
</view>
</view>
<view class="edit_item input">
<p class="left">低能见度情况下完成船舶雾航(艘次):</p>
<view class="right">
<uni-easyinput type="digit" v-model="form.capacityShuttle" placeholder="请输入" placeholderStyle="color:#d4d4d4;"></uni-easyinput>
</view>
</view>
<view class="remark_item">
<p class="left">备注</p>
<view class="right">
<!-- <uni-easyinput v-model="roadData.remarks" placeholder="请输入备注" placeholderStyle="color:#d4d4d4;"></uni-easyinput> -->
<uni-easyinput type="textarea" autoHeight v-model="roadData.remarks" placeholder="请备注信息"></uni-easyinput>
</view>
</view>
</view>
</view>
</view>
<view class="bottom_box">
<!-- <p class="btn_item" @click="cancelEdit">取消</p> -->
<p class="btn_item confirm" v-if="pageType == 'add'" @click="handleConfirm">保存</p>
<p class="btn_item confirm" v-if="pageType == 'edit'" @click="handleConfirm">修改并保存</p>
</view>
</view>
</template>
<script>
import { calcMom, checkNotEmpty, getDateStr } from '../../../common/util'
export default {
data() {
return {
isShowTitle:false,
form:{
reportDate:'', //
statPeriod:'', //
dailyPilotCount:'', //
dailyPilotMom:'', //
dailyPilotYoy:'', //
lyPilotCount:'', //
yestPilotCount:'', //
djkPortPilot:'', //
djkPortPilotMom:'', //
djkPortPilotYoy:'', //
lyDjkPilot:'', //
yestDjkPilot:'', //
qdPortPilot:'', //
qdPortPilotMom:'', //
qdPortPilotYoy:'', //
lyQdPilot:'', //
yestQdPilot:'', //
},
roadTime:[],
timeName:'',
index:'',
pageType:'',
}
},
onLoad(options) {
if(options.type == 'add'){
this.pageType = 'add';
let now = new Date();
this.form.reportDate = getDateStr(now, -1);//
this.getRoadTime()
}else if(options.type == 'edit'){
this.pageType = 'edit'
this.form = JSON.parse(options.item);
this.getRoadTime()
}
},
methods: {
formatDigit(data) {
return (data+'').indexOf('.') > -1 && (data+'').substring((data+'').indexOf('.')).length > 2 ? data.toFixed(2) : data;
},
//
getRoadTime(){
this.$request(getApp().globalData.baseUrl + '/api/dict/dictList?dictType=airport_time&_t=1693372307694',"GET").then(res =>{
this.roadTime = res.data;
if(this.pageType == 'edit'){
this.roadTime.map((item,index) =>{
if(item.dictValue == this.form.statPeriod){
this.index = index;
this.timeName = item.dictLabel
}
})
// this.getRatio()
}else if(this.pageType == 'add'){
let now = new Date();
let dateStr = getDateStr(now,0);
if(new Date(dateStr + ' 11:00').getTime() < new Date().getTime() && new Date().getTime() < new Date(dateStr + ' 13:30').getTime()) {
this.form.statPeriod = "0012";
this.index = this.roadTime.findIndex(item => item.dictValue == "0012")
this.timeName = this.roadTime.find(item => item.dictValue == "0012").dictLabel
}else{
this.form.statPeriod = "03";
this.index = this.roadTime.findIndex(item => item.dictValue == "03")
this.timeName = this.roadTime.find(item => item.dictValue == "03").dictLabel
}
this.getYoyMom()
}
})
},
//
getYoyMom(){
let params = {
statDate:this.form.reportDate,
statPeriod:this.form.statPeriod
}
this.$request(getApp().globalData.baseUrl + '/api/biz/bizPilotData/getYoyMom',params,"GET").then(res =>{
console.log('同环比===>',res)
let yesterdayData = res.data.yesterdayData;
let lastYearData = res.data.lastYearData;
this.form.lyDjkPilot = lastYearData.djkPortPilot
this.form.yestDjkPilot = yesterdayData.djkPortPilot
this.form.lyPilotCount = lastYearData.dailyPilotCount
this.form.yestPilotCount = yesterdayData.dailyPilotCount
this.form.lyQdPilot = lastYearData.qdPortPilot
this.form.yestQdPilot = yesterdayData.qdPortPilot
//
this.form.dailyPilotMom = calcMom(this.form.dailyPilotCount,yesterdayData.dailyPilotCount);
this.form.djkPortPilotMom = calcMom(this.form.djkPortPilot,yesterdayData.djkPortPilot);
this.form.qdPortPilotMom = calcMom(this.form.qdPortPilot,yesterdayData.qdPortPilot);
//
this.form.dailyPilotYoy = calcMom(this.form.dailyPilotCount,lastYearData.dailyPilotCount);
this.form.djkPortPilotYoy = calcMom(this.form.djkPortPilot,lastYearData.djkPortPilot);
this.form.qdPortPilotYoy = calcMom(this.form.qdPortPilot,lastYearData.qdPortPilot);
console.log('form ===>',this.form)
})
},
//
bindDateChange(e){
this.form.reportDate = e.detail.value;
this.getYoyMom()
},
bindPickerChange(e){
let index = e.target.value //
var selected = this.roadTime[index] //
this.form.statPeriod = selected.dictValue;
this.timeName = selected.dictLabel;
this.getYoyMom()
},
//
handleConfirm(){
if(!this.form.reportDate){
uni.showToast({
title: '统计日期不能为空',
icon: 'none'
})
return;
}
if(!this.form.statPeriod){
uni.showToast({
title: '统计时段不能为空',
icon: 'none'
})
return;
}
uni.showModal({
title:'提示',
content: this.form.id == undefined ? '您确认提交该条报送数据?' : '您确认将该条数据进行修改?',
success: (res) => {
if(res.confirm){
uni.showLoading({
title: '提交中...',
mask: true
})
this.$request(getApp().globalData.baseUrl + '/api/biz/bizPilotData/saveOrUpdate', this.form,"POST").then(res =>{
uni.hideLoading();
if (res.code == 200) {
uni.showToast({
title: '报送提交成功',
icon: 'none',
success: () => {
if (this.form.id == undefined) {
setTimeout(() => {
uni.redirectTo({
url:"/pages/portShipping/pilotStation/list"
})
}, 300)
} else {
uni.navigateBack();
}
}
})
}
}).catch(() =>{
uni.hideLoading()
})
}
}
})
},
}
}
</script>
<style>
<style lang="scss" scoped>
.edit_box{
padding: 30rpx 30rpx 195rpx;
.top_box{
// margin-top: 30rpx;
// height:88%;
// overflow-y: auto;
.top_title{
width: 690rpx;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
color: #666;
font-size: 26rpx;
line-height: 40rpx;
margin-bottom: 20rpx;
}
.content_box{
display: flex;
flex-direction: column;
.basic_box{
width: 630rpx;
padding: 30rpx 30rpx;
margin: 0 auto;
background-color: #fff;
border-radius: 30rpx;
&.data_box{
margin-top: 30rpx;
}
.con_tit{
width: 100%;
margin-top: 10rpx;
font-size: 30rpx;
color: #333;
font-weight: bold;
margin-bottom: 9rpx;
}
.remark_item{
color: #333;
font-size: 30rpx;
font-weight: bold;
.left{
margin-top: 20rpx;
margin-bottom: 30rpx;
}
.right{
/deep/ .is-input-border{
border: 1rpx solid #c1c1c1 !important;
border-radius: 30rpx !important;
}
}
}
.edit_item{
width: 100%;
display: flex;
justify-content: space-between;
margin-top: 32rpx;
align-items: center;
&.input{
margin-top: 5rpx;
}
.left{
// margin-left: 30rpx;
min-width: 400rpx;
color: #666;
font-size: 26rpx;
}
.right{
// margin-right: 30rpx;
display: flex;
align-items: center;
.right_txt{
color: #333;
font-size: 28rpx;
}
.right_txt_box{
display: flex;
align-items: center;
}
/deep/ .uni-date-editor{
display: flex;
align-items: center;
}
/deep/ .uni-easyinput__content-input{
font-size: 28rpx !important;
text-align: right;
color: #333;
}
/deep/ .is-input-border {
border: none;
}
/deep/ .content-clear-icon{
padding: 0 !important;
}
}
}
.per_con{
width: 630rpx;
margin: 0 auto;
background-color: #F6F6F6;
border: 1px solid #F6F6F6;
border-radius: 30rpx;
margin-top: 15rpx;
&.danger {
background-color: #FEF6F3;
border-color: #F0622D;
}
.content{
width: 576rpx;
padding: 34rpx 0 30rpx 0;
display: flex;
justify-content: space-between;
align-items: center;
margin: 0 auto;
&.top{
border-bottom: 1rpx solid #dfdfdf;
}
.left{
font-size: 24rpx;
color: #666;
}
.right{
color: #333;
font-size: 28rpx;
}
}
}
}
}
}
.bottom_box{
position: fixed;
left: 0;
right: 0;
bottom: 0;
display: flex;
justify-content: space-between;
padding: 40rpx 30rpx;
background-color: #f5f5f5;
z-index: 99;
.btn_item{
width: 690rpx;
height: 90rpx;
background: #F6F6F6;
border: 1rpx solid #C1C1C1;
color: #666;
line-height: 88rpx;
display: flex;
justify-content: center;
font-size: 28rpx;
font-weight: 400;
border-radius: 100rpx;
&.confirm {
background: #2D8CF0;
border: 1rpx solid #2D8CF0;
color: #FFFFFF;
}
}
}
}
</style>

@ -1,7 +1,62 @@
<template>
<!-- 港口-引航站页面 -->
<view>
123
<!-- 港口引航站数据 -->
<view class="page_box">
<view class="top_box">
<view class="list_box">
<view class="list_item" v-for="(item,index) in listData" :key="index" @click="editItem(item)">
<view class="list_top">
<view class="unit_tags">报送时间</view>
<view class="unit_name">{{item.reportDate || ''}}<text style="margin-left:16rpx;">{{item.statPeriodValue || ''}}</text></view>
</view>
</view>
</view>
<uni-load-more iconType="circle" :status="status" @clickLoadMore="loadMore"
:content-text="contentText"></uni-load-more>
</view>
<view class="bottom_box">
<!-- <view class="act_btn" @click="handleAdd">
<uni-icons type="plusempty" size="18"
color="#fff" style="margin-right: 9rpx;"></uni-icons>
新建
</view> -->
<view class="act_btn btn1" @click="handleSearch">
<uni-icons type="search" size="18" color="#2D8CF0"
style="margin-right: 9rpx;"></uni-icons>
查询
</view>
</view>
<view class="pop_conbox">
<uni-popup ref="popup" style="width: 100%;" background-color="#fff">
<view class="pop_box">
<view class="pop_title">
查询条件
<uni-icons @click="this.$refs.popup.close()" type="closeempty" size="18" color="#666" class="pop_close"></uni-icons>
</view>
<view class="popup-content">
<view class="cont_tit">
统计起止时间
</view>
<view class="time_box">
<uni-datetime-picker v-model="timeRange" type="daterange" />
</view>
<!-- <view class="cont_tit picker">
<view>统计时段</view>
<view class="picker_select">
<picker @change="bindPickerChange" :value="index" :range="timeArray" range-key="dictLabel">
<text class="unselect_txt"
:style="timeName?'color:#333;':''">{{timeName ? timeName:'请选择时段'}}</text>
<uni-icons type="right" size="16" color="#D4D4D4"></uni-icons>
</picker>
</view>
</view> -->
</view>
<view class="btn_box">
<p class="btn" @click="searchReset">重置</p>
<p class="btn" @click="searchList">确认</p>
</view>
</view>
</uni-popup>
</view>
</view>
</template>
@ -9,15 +64,379 @@
export default {
data() {
return {
listData:[],
hasMore:true,
page:0,
pageSize:10,
timeRange:[],
contentText: {
contentdown: "点击查看更多",
contentrefresh: "正在加载...",
contentnomore: "没有更多数据了",
},
status: '',
}
},
onShow() {
this.page = 0;
this.hasMore = true;
this.listData = [];
this.loadMore()
},
methods: {
loadMore(){
if (this.hasMore) {
this.page = this.page + 1;
this.status = 'loading';
let params = {
page:this.page,
pageSize:this.pageSize,
reportDateStart:this.timeRange.length !== 0 ? this.timeRange[0] : '',
reportDateEnd:this.timeRange.length !== 0 ? this.timeRange[1] : '',
_t:Date.parse(new Date())
}
this.$request(getApp().globalData.baseUrl + '/api/biz/bizPilotData/list',params,"GET").then(res =>{
console.log(res)
if(res.code == 200){
res.data.list.map(item =>{
item.show = false;
})
this.listData = this.listData.concat(res.data.list);
if(res.data.list.length == 0 || res.data.list.length < this.size){
this.hasMore = false;
this.status = 'nomore';
}else{
this.status = 'more';
}
}
})
}
},
//
handleSearch(){
this.$refs.popup.open('bottom')
},
//
searchList(){
this.hasMore = true;
this.page = 0;
this.listData = [];
this.$refs.popup.close()
this.loadMore()
},
//
searchReset(){
this.timeRange = [];
this.listData = [];
this.hasMore = true;
this.page = 0;
this.$refs.popup.close()
this.loadMore();
},
//
editItem(row){
uni.navigateTo({
// url:"/pages/bus/busDataInfo/form?type=edit&item=" + JSON.stringify(row)
url:"/pages/portShipping/pilotStation/form?type=edit&item=" + JSON.stringify(row)
})
},
}
}
</script>
<style>
<style lang="scss" scoped>
.page_box{
min-height: 100vh;
padding: 30rpx 30rpx 195rpx;
.top_box{
.list_box{
width: 690rpx;
display: flex;
flex-direction: column;
margin: 0 auto;
.list_item{
width: 630rpx;
padding: 30rpx;
border-radius: 30rpx;
background: #FFFFFF;
margin-bottom: 30rpx;
.list_top {
display: flex;
.unit_tags {
height: 37rpx;
line-height: 37rpx;
color: #E37616;
font-size: 20rpx;
font-family: PingFang SC-Regular, PingFang SC;
font-weight: 400;
background: #FFF7E4;
border-radius: 10rpx;
border: 1rpx solid #EF9A4F;
padding: 0 11rpx;
}
.unit_name {
color: #333333;
font-size: 30rpx;
font-family: PingFang SC-Bold, PingFang SC;
font-weight: bold;
line-height: 48rpx;
margin-left: 20rpx;
word-break: break-all;
}
}
.report_time {
color: #999999;
font-size: 24rpx;
font-family: PingFang SC-Regular, PingFang SC;
font-weight: 400;
line-height: 48rpx;
text-align: center;
margin-bottom: 30rpx;
}
.item{
width: 570rpx;
// display: flex;
background: #F8F8F8;
border-radius: 30rpx 30rpx 30rpx 30rpx;
padding: 30rpx;
// justify-content: space-between;
margin-bottom: 40rpx;
.item_line{
width: 100%;
display: flex;
justify-content: space-between;
.left_txt{
font-size: 26rpx;
color: #666;
}
.right_txt{
color: #333;
font-size: 28rpx;
}
}
.item_bottom{
width: 100%;
.bott_item{
width: 100%;
display: flex;
justify-content: space-between;
margin-top: 32rpx;
.left_txt{
font-size: 26rpx;
color: #666;
}
.right_txt{
color: #333;
font-size: 28rpx;
}
}
.omit{
font-size: 26rpx;
font-weight: 400;
color: #666666;
line-height: 48rpx;
margin: 20rpx 0;
}
.list_item_shouqi {
color: #2D8CF0;
font-size: 24rpx;
font-family: PingFang SC-Regular, PingFang SC;
font-weight: 400;
text-align: center;
line-height: 33rpx;
padding-bottom: 30rpx;
.txt {
margin-left: 12rpx;
}
}
}
}
.button_box{
width: 630rpx;
display: flex;
justify-content: flex-end;
.button{
width: 180rpx;
height: 70rpx;
background: #FFFFFF;
border-radius: 100rpx;
border: 1rpx solid #C1C1C1;
display: flex;
align-items: center;
justify-content: center;
font-size: 28rpx;
color: #666;
margin-left: 30rpx;
&.edit{
background: #2D8CF0;
border-radius: 100rpx 100rpx 100rpx 100rpx;
border: none;
color: #fff;
}
}
}
}
}
}
.bottom_box{
position: fixed;
left: 0;
right: 0;
bottom: 0;
display: flex;
justify-content: space-around;
background-color: #F8F8F8;
padding: 20px 30rpx;
.act_btn {
width: 690rpx;
height: 90rpx;
line-height: 88rpx;
display: flex;
justify-content: center;
color: #FFFFFF;
font-size: 28rpx;
font-family: PingFang SC-Regular, PingFang SC;
font-weight: 400;
background: #2D8CF0;
border-radius: 100rpx;
border: 1rpx solid #2D8CF0;
.txt {
margin-left: 9rpx;
}
&.btn1 {
color: #2D8CF0;
background: #F6F6F6;
}
}
}
.pop_conbox{
.pop_box {
border-radius: 30rpx 30rpx 0 0;
background-color: #fff;
padding: 30rpx;
.pop_title {
color: #333333;
font-size: 32rpx;
font-family: PingFang SC-Bold, PingFang SC;
font-weight: bold;
line-height: 45rpx;
text-align: center;
margin: 20rpx 0;
.pop_close {
float: right;
}
}
.popup-content {
// display: flex;
// flex-direction: column;
.cont_tit {
width: 100%;
color: #333333;
font-size: 26rpx;
font-family: PingFang SC-Bold, PingFang SC;
font-weight: bold;
line-height: 37rpx;
display: flex;
margin-bottom: 40rpx;
&.picker {
display: flex;
justify-content: space-between;
margin: 60rpx 0;
.picker_select {
color: #D4D4D4;
font-size: 28rpx;
font-family: PingFang SC-Regular, PingFang SC;
font-weight: 400;
text-align: right;
}
}
}
.time_box {
width: 690rpx;
margin: 0 auto;
/deep/ .uni-date-x--border {
border-radius: 30rpx;
.uni-date-x {
background: transparent;
.icon-calendar {
padding-left: 20rpx;
}
}
}
/deep/ .uni-date-editor--x .uni-date__icon-clear {
padding-right: 20rpx;
}
}
.picker_box {
width: 690rpx;
margin: 0 auto;
/deep/.input-value-border {
border-radius: 30rpx;
}
}
}
.btn_box {
width: 100%;
height: 120rpx;
display: flex;
margin-top: 20px;
align-items: center;
justify-content: space-between;
.btn {
width: 290rpx;
height: 90rpx;
background: #FFFFFF;
border-radius: 100rpx;
border: 1rpx solid #C1C1C1;
color: #666;
font-size: 28rpx;
line-height: 88rpx;
text-align: center;
&:last-child {
background: #2D8CF0;
color: #FFFFFF;
border-color: #2D8CF0;
}
}
}
}
}
}
</style>

@ -9,9 +9,16 @@
<view class="basic_box">
<view class="con_tit">基本信息</view>
<view class="edit_item">
<p class="left">填报单位</p>
<p class="left unit">填报单位</p>
<view class="right">
<p v-if="pageType == 'add'">{{roadData.reportingUnitId ? roadData.reportingUnitId : ''}}</p>
<!-- <p v-if="pageType == 'add'">{{roadData.reportingUnitId ? roadData.reportingUnitId : ''}}</p> -->
<picker v-if="pageType == 'add' && deptNameList.length > 1" :value="roadData.reportingUnitIdIndex" :range="deptNameList"
range-key="deptName" @change="bindDeptChange">
<text class="picker_select"
:style="roadData.reportingUnitId?'color:#333;':''">{{roadData.reportingUnitId?roadData.reportingUnitId:'请选择'}}</text>
<uni-icons type="right" size="16" color="#D4D4D4"></uni-icons>
</picker>
<text v-else>{{roadData.reportingUnitId}}</text>
</view>
</view>
<view class="edit_item">
@ -47,7 +54,13 @@
<view class="edit_item input">
<p class="left">负责人及联系电话</p>
<view class="right">
<uni-easyinput v-model="roadData.responsiblePersonId" placeholder="请输入" placeholderStyle="color:#d4d4d4;"></uni-easyinput>
<!-- <uni-easyinput v-model="roadData.responsiblePersonId" placeholder="请输入" placeholderStyle="color:#d4d4d4;"></uni-easyinput> -->
<picker :value="peopleIndex" :range="peopleList"
range-key="people" @change="bindPeoChange">
<text class="picker_select"
:style="peopleName?'color:#333;':''">{{peopleName ? peopleName : '请选择'}}</text>
<uni-icons type="right" size="16" color="#D4D4D4"></uni-icons>
</picker>
</view>
</view>
<!-- <view class="edit_item input">
@ -77,7 +90,7 @@
<view class="edit_item input">
<p class="left">投放运力-除定线农民工包车()</p>
<view class="right">
<uni-easyinput type="number" @blur="calcRatio" v-model="roadData.otherCharter" placeholder="请输入" placeholderStyle="color:#d4d4d4;"></uni-easyinput>
<uni-easyinput type="number" v-model="roadData.otherCharter" placeholder="请输入" placeholderStyle="color:#d4d4d4;"></uni-easyinput>
</view>
</view>
<view class="edit_item input">
@ -89,17 +102,21 @@
<view class="edit_item input">
<p class="left">投放运力-总客车数</p>
<view class="right">
<uni-easyinput @blur="calcRatio" v-model="roadData.capacityTotalBus" placeholder="请输入" placeholderStyle="color:#d4d4d4;"></uni-easyinput>
<uni-easyinput @blur="getRatio" v-model="roadData.capacityTotalBus" placeholder="请输入" placeholderStyle="color:#d4d4d4;"></uni-easyinput>
</view>
</view>
<view class="per_con">
<view class="per_con"
>
<!-- :class="roadData.capacityTotalBus == roadData.capacityTotalBus ? 'danger' : ''" -->
<view class="content top">
<view class="left">客车总量环比</view>
<view class="right">{{roadData.totalBusIncreaseRatio != '' ? roadData.passengerVolumeRatio == 0 ? 0 : roadData.totalBusIncreaseRatio.toFixed(2) + '%' : '--%'}}</view>
<!-- <view class="right">{{roadData.totalBusIncreaseRatio != '' ? roadData.passengerVolumeRatio == 0 ? 0 : roadData.totalBusIncreaseRatio.toFixed(2) + '%' : '--%'}}</view> -->
<view class="right">{{roadData.totalBusIncreaseRatio === 0 ? roadData.totalBusIncreaseRatio : roadData.totalBusIncreaseRatio ? formatDigit(roadData.totalBusIncreaseRatio) : '--'}}%</view>
</view>
<view class="content">
<view class="left">客车总量同比</view>
<view class="right">{{roadData.totalBusIncreaseRatio != '' ? roadData.passengerVolumeRatio == 0 ? 0 : roadData.totalBusIncreaseRatio.toFixed(2) + '%' : '--%'}}</view>
<view class="right">{{roadData.totalBusIncreaseRatio === 0 ? roadData.totalBusIncreaseRatio : roadData.totalBusIncreaseRatio ? formatDigit(roadData.totalBusIncreaseRatio) : '--'}}%</view>
<!-- <view class="right">{{roadData.totalBusIncreaseRatio != '' ? roadData.passengerVolumeRatio == 0 ? 0 : roadData.totalBusIncreaseRatio.toFixed(2) + '%' : '--%'}}</view> -->
</view>
</view>
<view class="edit_item input">
@ -147,7 +164,7 @@
<view class="edit_item input">
<p class="left">班车客运量()</p>
<view class="right">
<uni-easyinput @blur="calcRatio" v-model="roadData.shuttlePassengerVolume" placeholder="请输入" placeholderStyle="color:#d4d4d4;"></uni-easyinput>
<uni-easyinput v-model="roadData.shuttlePassengerVolume" placeholder="请输入" placeholderStyle="color:#d4d4d4;"></uni-easyinput>
</view>
</view>
<view class="edit_item input">
@ -171,17 +188,19 @@
<view class="edit_item input">
<p class="left">完成客运量()</p>
<view class="right">
<uni-easyinput v-model="roadData.totalPassengerVolume" placeholder="请输入" placeholderStyle="color:#d4d4d4;"></uni-easyinput>
<uni-easyinput @blur="getRatio" v-model="roadData.totalPassengerVolume" placeholder="请输入" placeholderStyle="color:#d4d4d4;"></uni-easyinput>
</view>
</view>
<view class="per_con">
<view class="content top">
<view class="left">客运量环比</view>
<view class="right">{{roadData.passengerVolumeRatio != '' ? roadData.passengerVolumeRatio == 0 ? 0 : roadData.passengerVolumeRatio.toFixed(2) + '%' : '--%'}}</view>
<view class="right">{{roadData.passengerVolumeRatio === 0 ? roadData.passengerVolumeRatio : roadData.passengerVolumeRatio ? formatDigit(roadData.passengerVolumeRatio) : '--'}}%</view>
<!-- <view class="right">{{roadData.passengerVolumeRatio != '' ? roadData.passengerVolumeRatio == 0 ? 0 : roadData.passengerVolumeRatio.toFixed(2) + '%' : '--%'}}</view> -->
</view>
<view class="content">
<view class="left">客运量同比</view>
<view class="right">{{roadData.passengerVolumeRatio != '' ? roadData.passengerVolumeRatio == 0 ? 0 : roadData.passengerVolumeRatio.toFixed(2) + '%' : '--%'}}</view>
<view class="right">{{roadData.passengerVolumeRatio === 0 ? roadData.passengerVolumeRatio : roadData.passengerVolumeRatio ? formatDigit(roadData.passengerVolumeRatio) : '--'}}%</view>
<!-- <view class="right">{{roadData.passengerVolumeRatio != '' ? roadData.passengerVolumeRatio == 0 ? 0 : roadData.passengerVolumeRatio.toFixed(2) + '%' : '--%'}}</view> -->
</view>
</view>
<view class="edit_item input">
@ -288,7 +307,7 @@
</template>
<script>
import { checkNotEmpty, getDateStr, lastYearDate } from '../../../common/util'
import { calcMom, calcYoy, checkNotEmpty, getDateStr, lastYearDate } from '../../../common/util'
export default {
data() {
return {
@ -299,6 +318,7 @@ import { checkNotEmpty, getDateStr, lastYearDate } from '../../../common/util'
timeName:'',
pageType:'',
index:'',
deptNameList:[],
roadData:{
statisticalDate:'', //
reportPhase:'', //
@ -341,30 +361,44 @@ import { checkNotEmpty, getDateStr, lastYearDate } from '../../../common/util'
},
lastyearDay:'',
beforeDay:'',
lastData:{}
lastData:{},
unitId:'',
peopleList:[],
peopleIndex:'',
peopleName:''
}
},
onLoad(options){
this.getUnitData()
this.getPersonData();
if(options.item){
let arr = uni.getStorageSync('deptName');
this.deptNameList = checkNotEmpty(arr) ? arr : [];
if(options.type == 'edit'){
const item = JSON.parse(options.item);
this.pageType = 'edit'
this.getDetail(item.id);
// uni.setNavigationBarTitle({
// title:""
// })
}else if(options.id){
this.getDetail(options.id)
}else if(options.type == 'add'){
this.pageType = 'add';
this.roadData.reportingUnitId = this.deptNameList.length > 0 ? this.deptNameList[0].deptName : '';
this.roadData.reportingUnitIdIndex = this.deptNameList.length > 0 ? 0 : '';
this.unitId = this.deptNameList.length > 0 ? this.deptNameList[0].deptId : '';
this.getRoadTime()
this.getPeople()
let now = new Date();
this.roadData.statisticalDate = getDateStr(now, -1);//
}
},
methods: {
getPeople(){
this.$request(getApp().globalData.baseUrl + '/api/user/getByDeptId/' + this.unitId,{},"GET").then(res =>{
console.log('人员列表 ===>',res)
res.data.map(item =>{
this.peopleList.push({id:item.id,people:item.username + ',' + item.mobile})
})
})
},
getDetail(id){
this.$request(getApp().globalData.baseUrl + '/api/biz/roadtransport/road/find/' + id,{},"GET").then(res =>{
this.roadData = res.data;
@ -383,6 +417,15 @@ import { checkNotEmpty, getDateStr, lastYearDate } from '../../../common/util'
this.roadData.statisticalDate = e.detail.value;
this.getRatio()
},
//
bindPeoChange(e){
console.log(e.detail.value)
let index = e.target.value //
var selected = this.peopleList[index] //
this.roadData.responsiblePersonId = selected.id;
this.peopleName = selected.people;
this.roadData.contactNumber = this.peopleName.split(',')[1];
},
//
confirmRoad(){
let params = this.roadData;
@ -403,27 +446,28 @@ import { checkNotEmpty, getDateStr, lastYearDate } from '../../../common/util'
content:params.id == undefined ? "您确认提交该条报送数据?" : "您确认将该条数据进行修改?",
success:(res) =>{
if(res.confirm){
this.$request(getApp().globalData.baseUrl + '/api/biz/roadtransport/road/saveOrUpdate',params,'POST').then(res =>{
if(res.code == 200){
uni.showToast({
title:"报送提交成功",
icon:"none",
success: () => {
if(params.id == undefined){
setTimeout(() => {
uni.redirectTo({
url:"/pages/roadTransport/transportData/list"
})
}, 300)
}else{
setTimeout(() =>{
uni.navigateBack()
},300)
}
}
})
}
})
console.log(params)
// this.$request(getApp().globalData.baseUrl + '/api/biz/roadtransport/road/saveOrUpdate',params,'POST').then(res =>{
// if(res.code == 200){
// uni.showToast({
// title:"",
// icon:"none",
// success: () => {
// if(params.id == undefined){
// setTimeout(() => {
// uni.redirectTo({
// url:"/pages/roadTransport/transportData/list"
// })
// }, 300)
// }else{
// setTimeout(() =>{
// uni.navigateBack()
// },300)
// }
// }
// })
// }
// })
}
}
})
@ -479,15 +523,21 @@ import { checkNotEmpty, getDateStr, lastYearDate } from '../../../common/util'
// 20-0100
// 30-
// 40(-)/ * 100
this.roadData.passengerVolumeRatio = (checkNotEmpty(this.roadData.otherPassengerVolume) && this.roadData.otherPassengerVolume != 0 && checkNotEmpty(this.lastData.otherPassengerVolume) && this.lastData.otherPassengerVolume === 0) ? 100 :
(checkNotEmpty(this.roadData.otherPassengerVolume) && checkNotEmpty(this.lastData.otherPassengerVolume) && this.roadData.otherPassengerVolume != 0 && this.lastData.otherPassengerVolume != 0) ?
(this.roadData.otherPassengerVolume - this.lastData.otherPassengerVolume) / this.lastData.otherPassengerVolume * 100 :
(this.roadData.otherPassengerVolume == 0 && this.lastData.otherPassengerVolume == 0) ? 0 : ''
console.log()
this.roadData.passengerVolumeRatio = calcYoy(this.roadData.totalPassengerVolume,this.lastData.totalPassengerVolume)
// (checkNotEmpty(this.roadData.totalPassengerVolume) && this.roadData.totalPassengerVolume != 0 && checkNotEmpty(this.lastData.totalPassengerVolume) && this.lastData.totalPassengerVolume === 0) ? 100 :
// (checkNotEmpty(this.roadData.totalPassengerVolume) && checkNotEmpty(this.lastData.totalPassengerVolume) && this.roadData.totalPassengerVolume != 0 && this.lastData.totalPassengerVolume != 0) ?
// (this.roadData.totalPassengerVolume - this.lastData.totalPassengerVolume) / this.lastData.totalPassengerVolume * 100 :
// (this.roadData.totalPassengerVolume == 0 && this.lastData.totalPassengerVolume == 0) ? 0 : ''
//
this.roadData.totalBusIncreaseRatio = (checkNotEmpty(this.roadData.otherCharter) && this.roadData.otherCharter != 0 && checkNotEmpty(this.lastData.otherCharter) && this.lastData.otherCharter === 0) ? 100 :
(checkNotEmpty(this.roadData.otherCharter) && checkNotEmpty(this.lastData.otherCharter) && this.roadData.otherCharter != 0 && this.lastData.otherCharter != 0) ?
(this.roadData.otherCharter - this.lastData.otherCharter) / this.lastData.otherCharter * 100 :
(this.roadData.otherCharter == 0 && this.lastData.otherCharter == 0) ? 0 : ''
this.roadData.totalBusIncreaseRatio =
calcYoy(this.roadData.capacityTotalBus,this.lastData.capacityTotalBus)
// (checkNotEmpty(this.roadData.capacityTotalBus) && this.roadData.capacityTotalBus != 0 && checkNotEmpty(this.lastData.capacityTotalBus) && this.lastData.capacityTotalBus === 0) ? 100 :
// (checkNotEmpty(this.roadData.capacityTotalBus) && checkNotEmpty(this.lastData.capacityTotalBus) && this.roadData.capacityTotalBus != 0 && this.lastData.capacityTotalBus != 0) ?
// (this.roadData.capacityTotalBus - this.lastData.capacityTotalBus) / this.lastData.capacityTotalBus * 100 :
// (this.roadData.capacityTotalBus == 0 && this.lastData.capacityTotalBus == 0) ? 0 : ''
// console.log((parseInt(0.12) - parseInt(0.5156) ) /parseInt(0.5156) * 100)
// console.log(' ===>',this.roadData.totalBusIncreaseRatio)
},
//
getPersonData(){
@ -503,6 +553,9 @@ import { checkNotEmpty, getDateStr, lastYearDate } from '../../../common/util'
this.roadData.reportPhase = selected.dictValue;
this.timeName = selected.dictLabel
},
formatDigit(data) {
return (data+'').indexOf('.') > -1 && (data+'').substring((data+'').indexOf('.')).length > 2 ? data.toFixed(2) : data;
},
}
}
</script>
@ -583,9 +636,13 @@ import { checkNotEmpty, getDateStr, lastYearDate } from '../../../common/util'
.left{
// margin-left: 30rpx;
min-width: 416rpx;
min-width: 320rpx;
color: #666;
font-size: 26rpx;
&.unit{
min-width: 0;
}
}
.right{
// margin-right: 30rpx;
@ -630,27 +687,28 @@ import { checkNotEmpty, getDateStr, lastYearDate } from '../../../common/util'
margin: 0 auto;
background-color: #F6F6F6;
border-radius: 30rpx;
margin-top: 30rpx;
margin-top: 15rpx;
.content{
width: 576rpx;
padding: 34rpx 32rpx 30rpx 22rpx;
padding: 34rpx 0 30rpx 0;
display: flex;
justify-content: space-between;
align-items: center;
margin: 0 auto;
&.top{
border-bottom: 1rpx solid #FFFFFF;
border-bottom: 1rpx solid #dfdfdf;
}
.left{
font-size: 24rpx;
color: #C8C8C8;
color: #666;
}
.right{
color: #D4D4D4;
color: #333;
font-size: 28rpx;
&.green{

Loading…
Cancel
Save