|
|
|
|
@ -6,9 +6,9 @@ |
|
|
|
|
<view class="form_item"> |
|
|
|
|
<view class="form_item_label">统计日期:</view> |
|
|
|
|
<view class="form_item_input picker"> |
|
|
|
|
<picker mode="date" :value="form.statDate" @change="bindDateChange"> |
|
|
|
|
<picker mode="date" :value="form.reportDate" @change="bindDateChange"> |
|
|
|
|
<text class="picker_select" |
|
|
|
|
:style="form.statDate?'color:#333;':''">{{form.statDate?form.statDate:'请选择统计日期'}}</text> |
|
|
|
|
:style="form.reportDate?'color:#333;':''">{{form.reportDate?form.reportDate:'请选择统计日期'}}</text> |
|
|
|
|
<uni-icons type="right" size="16" color="#D4D4D4"></uni-icons> |
|
|
|
|
</picker> |
|
|
|
|
</view> |
|
|
|
|
@ -16,26 +16,410 @@ |
|
|
|
|
<view class="form_item"> |
|
|
|
|
<view class="form_item_label">统计时段:</view> |
|
|
|
|
<view class="form_item_input picker"> |
|
|
|
|
<picker :value="index" :range="array" range-key="dictLabel" @change="queryYoYMom"> |
|
|
|
|
<picker :value="index" :range="timeArray" range-key="dictLabel" @change="bindtimeChange"> |
|
|
|
|
<text class="picker_select" |
|
|
|
|
:style="index>-1?'color:#333;':''">{{index>-1?array[index].dictLabel:'请选择统计时段'}}</text> |
|
|
|
|
:style="index>-1?'color:#333;':''">{{timeName ? timeName :'请选择统计时段'}}</text> |
|
|
|
|
<uni-icons type="right" size="16" color="#D4D4D4"></uni-icons> |
|
|
|
|
</picker> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
<view class="form_item_box bottom"> |
|
|
|
|
<view class="form_item_li" v-for="(item,index) in form.bizBusDataDetailVOList" :key="index"> |
|
|
|
|
<view class="form_item" |
|
|
|
|
style="display:flex; justify-content: space-between; font-size: 30rpx;color:#333;font-weight: bold;margin-top: 30rpx;"> |
|
|
|
|
运行数据-{{index+1}} |
|
|
|
|
<uni-icons type="trash" color="red" @click="delRow(index)" size="18"></uni-icons> |
|
|
|
|
</view> |
|
|
|
|
<view class="form_item"> |
|
|
|
|
<view class="form_item_label">名称:</view> |
|
|
|
|
<view class="form_item_input picker"> |
|
|
|
|
<picker :value="item.busIndex" :range="busArray" range-key="stationId" |
|
|
|
|
@change="e => changeBusway(e, 'bizBusDataDetailVOList', index)"> |
|
|
|
|
<text class="picker_select" |
|
|
|
|
:style="item.busUnit?'color:#333;':''">{{item.busUnit ? item.busUnit : '请选择'}}</text> |
|
|
|
|
<uni-icons type="right" size="16" color="#D4D4D4"></uni-icons> |
|
|
|
|
</picker> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
<view class="form_item"> |
|
|
|
|
<view class="form_item_label">投入车辆:</view> |
|
|
|
|
<view class="form_item_input form_input"><!-- digit --> |
|
|
|
|
<uni-easyinput type="digit" v-model="item.vehicleInput" placeholderStyle="color: #D4D4D4;font-size:28rpx;" |
|
|
|
|
placeholder="请输入" @blur="checkNumber('vehicleInput','bizBusDataDetailVOList',index)"></uni-easyinput> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
<view class="form_item_rate" v-if="item.vehicleInputMom || item.vehicleInputYoy" :class="item.vehicleInputMom == 0 ? 'danger' : '' "> |
|
|
|
|
<view class="rate_item"> |
|
|
|
|
<view class="rate_item_label" :style="item.vehicleInputMom == 0 ? 'color: #EB4747' : ''">投入车辆环比(%)</view> |
|
|
|
|
<view class="rate_item_input" :style="item.vehicleInputMom == 0 ? 'color: #EB4747' : ''"> |
|
|
|
|
{{item.vehicleInputMom === 0 ? item.vehicleInputMom : item.vehicleInputMom ? item.vehicleInputMom.toFixed(2) : ''}} |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
<view class="line"></view> |
|
|
|
|
<view class="rate_item"> |
|
|
|
|
<view class="rate_item_label">投入车辆同比(%)</view> |
|
|
|
|
<view class="rate_item_input"> |
|
|
|
|
{{item.vehicleInputYoy === 0 ? item.vehicleInputYoy : item.vehicleInputYoy ? item.vehicleInputYoy.toFixed(2) : ''}} |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
<view class="form_item"> |
|
|
|
|
<view class="form_item_label">运行班次:</view> |
|
|
|
|
<view class="form_item_input form_input"><!-- digit --> |
|
|
|
|
<uni-easyinput type="number" v-model="item.operatingShifts" placeholderStyle="color: #D4D4D4;font-size:28rpx;" |
|
|
|
|
placeholder="请输入" @blur="checkNumber('operatingShifts','bizBusDataDetailVOList',index)"></uni-easyinput> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
<view class="form_item_rate" v-if="item.operatingShiftsMom || item.operatingShiftsYoy" :class="item.operatingShiftsMom == 0 ? 'danger' : '' "> |
|
|
|
|
<view class="rate_item"> |
|
|
|
|
<view class="rate_item_label" :style="item.operatingShiftsMom == 0 ? 'color: #EB4747' : ''">运行班次环比(%)</view> |
|
|
|
|
<view class="rate_item_input" :style="item.operatingShiftsMom == 0 ? 'color: #EB4747' : ''"> |
|
|
|
|
{{item.operatingShiftsMom === 0 ? item.operatingShiftsMom : item.operatingShiftsMom ? item.operatingShiftsMom.toFixed(2) : ''}} |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
<view class="line"></view> |
|
|
|
|
<view class="rate_item"> |
|
|
|
|
<view class="rate_item_label">运行班次同比(%)</view> |
|
|
|
|
<view class="rate_item_input"> |
|
|
|
|
{{item.operatingShiftsYoy === 0 ? item.operatingShiftsYoy : item.operatingShiftsYoy ? item.operatingShiftsYoy.toFixed(2) : ''}} |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
<view class="form_item"> |
|
|
|
|
<view class="form_item_label">人数(万人):</view> |
|
|
|
|
<view class="form_item_input form_input"> |
|
|
|
|
<uni-easyinput type="digit" v-model="item.passengerCount" placeholderStyle="color: #D4D4D4;font-size:28rpx;" |
|
|
|
|
placeholder="请输入" @blur="checkNumber('passengerCount','bizBusDataDetailVOList',index)"></uni-easyinput> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
<view class="form_item_rate" v-if="item.passengerCountMom || item.passengerCountYoy" :class="item.passengerCountMom == 0 ? 'danger' : '' "> |
|
|
|
|
<view class="rate_item"> |
|
|
|
|
<view class="rate_item_label" :style="item.passengerCountMom == 0 ? 'color: #EB4747' : ''">人数环比(%)</view> |
|
|
|
|
<view class="rate_item_input" :style="item.passengerCountMom == 0 ? 'color: #EB4747' : ''"> |
|
|
|
|
{{item.passengerCountMom === 0 ? item.passengerCountMom : item.passengerCountMom ? item.passengerCountMom.toFixed(2) : ''}} |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
<view class="line"></view> |
|
|
|
|
<view class="rate_item"> |
|
|
|
|
<view class="rate_item_label">人数同比(%)</view> |
|
|
|
|
<view class="rate_item_input"> |
|
|
|
|
{{item.passengerCountYoy === 0 ? item.passengerCountYoy : item.passengerCountYoy ? item.passengerCountYoy.toFixed(2) : ''}} |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
<view class="form_item"> |
|
|
|
|
<view class="form_item_label">昨日投入车辆:</view> |
|
|
|
|
<view class="form_item_input form_input"> |
|
|
|
|
<uni-easyinput type="digit" v-model="item.yestVehicleInput" placeholderStyle="color: #D4D4D4;font-size:28rpx;" |
|
|
|
|
placeholder="请输入" @blur="checkNumber('yestVehicleInput','bizBusDataDetailVOList',index)"></uni-easyinput> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
<view class="form_item"> |
|
|
|
|
<view class="form_item_label">昨日运行班次:</view> |
|
|
|
|
<view class="form_item_input form_input"> |
|
|
|
|
<uni-easyinput type="digit" v-model="item.yestOperatingShifts" placeholderStyle="color: #D4D4D4;font-size:28rpx;" |
|
|
|
|
placeholder="请输入" @blur="checkNumber('yestOperatingShifts','bizBusDataDetailVOList',index)"></uni-easyinput> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
<view class="form_item"> |
|
|
|
|
<view class="form_item_label">昨日人数:</view> |
|
|
|
|
<view class="form_item_input form_input"> |
|
|
|
|
<uni-easyinput type="digit" v-model="item.yestPassengerCount" placeholderStyle="color: #D4D4D4;font-size:28rpx;" |
|
|
|
|
placeholder="请输入" @blur="checkNumber('yestPassengerCount','bizBusDataDetailVOList',index)"></uni-easyinput> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
<view class="form_item"> |
|
|
|
|
<view class="form_item_label">去年投入车辆:</view> |
|
|
|
|
<view class="form_item_input form_input"> |
|
|
|
|
<uni-easyinput type="digit" v-model="item.lyVehicleInput" placeholderStyle="color: #D4D4D4;font-size:28rpx;" |
|
|
|
|
placeholder="请输入" @blur="checkNumber('lyVehicleInput','bizBusDataDetailVOList',index)"></uni-easyinput> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
<view class="form_item"> |
|
|
|
|
<view class="form_item_label">去年运行班次:</view> |
|
|
|
|
<view class="form_item_input form_input"> |
|
|
|
|
<uni-easyinput type="digit" v-model="item.lyOperatingShifts" placeholderStyle="color: #D4D4D4;font-size:28rpx;" |
|
|
|
|
placeholder="请输入" @blur="checkNumber('lyOperatingShifts','bizBusDataDetailVOList',index)"></uni-easyinput> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
<view class="form_item"> |
|
|
|
|
<view class="form_item_label">去年人数:</view> |
|
|
|
|
<view class="form_item_input form_input"> |
|
|
|
|
<uni-easyinput type="digit" v-model="item.lyPassengerCount" placeholderStyle="color: #D4D4D4;font-size:28rpx;" |
|
|
|
|
placeholder="请输入" @blur="checkNumber('lyPassengerCount','bizBusDataDetailVOList',index)"></uni-easyinput> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
<view class="line"></view> |
|
|
|
|
</view> |
|
|
|
|
<view class="add_btn" @click="addRow()">增行</view> |
|
|
|
|
</view> |
|
|
|
|
<view class="foot_btn"> |
|
|
|
|
<view class="act_btn" @click="doCancel">取消</view> |
|
|
|
|
<view class="act_btn blue" @click="doSubmit">确认</view> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
</template> |
|
|
|
|
|
|
|
|
|
<script> |
|
|
|
|
import { getDateStr } from '../../../common/util' |
|
|
|
|
export default { |
|
|
|
|
data() { |
|
|
|
|
return { |
|
|
|
|
|
|
|
|
|
timeArray:[], |
|
|
|
|
pageType:'', |
|
|
|
|
form:{ |
|
|
|
|
reportDate:'', |
|
|
|
|
bizBusDataDetailVOList:[ |
|
|
|
|
{ |
|
|
|
|
busUnit:'', |
|
|
|
|
busIndex:'', |
|
|
|
|
vehicleInput:'', |
|
|
|
|
vehicleInputMom:0, |
|
|
|
|
vehicleInputYoy:0, |
|
|
|
|
operatingShiftsMom:0, |
|
|
|
|
operatingShiftsYoy:0, |
|
|
|
|
passengerCount:'', |
|
|
|
|
passengerCountMom:0, |
|
|
|
|
passengerCountYoy:0, |
|
|
|
|
yestVehicleInput:'', |
|
|
|
|
yestOperatingShifts:'', |
|
|
|
|
yestPassengerCount:'', |
|
|
|
|
lyVehicleInput:'', |
|
|
|
|
lyOperatingShifts:'', |
|
|
|
|
lyPassengerCount:'' |
|
|
|
|
} |
|
|
|
|
], |
|
|
|
|
bizBusDataBodySaveOrUpdateDTOList:[] |
|
|
|
|
}, |
|
|
|
|
index:'', |
|
|
|
|
timeName:'', |
|
|
|
|
busArray:[], |
|
|
|
|
yoyMom:{}, |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
onLoad(options) { |
|
|
|
|
console.log(options) |
|
|
|
|
this.getRoadTime(); |
|
|
|
|
// this.getBusData(); |
|
|
|
|
this.getPermiss() |
|
|
|
|
if(options.type == 'add'){ |
|
|
|
|
this.pageType = 'add'; |
|
|
|
|
let now = new Date(); |
|
|
|
|
this.form.reportDate = getDateStr(now,0) |
|
|
|
|
}else if(options.type == 'edit'){ |
|
|
|
|
this.pageType == 'edit'; |
|
|
|
|
this.form = JSON.parse(options.item) |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
methods: { |
|
|
|
|
// 获取权限 |
|
|
|
|
getPermiss(){ |
|
|
|
|
this.$request(getApp().globalData.baseUrl + '/api/biz/bizBusAuthority/findList',{},"GET").then(res =>{ |
|
|
|
|
console.log('数据权限==>',res) |
|
|
|
|
this.busArray = res.data |
|
|
|
|
}) |
|
|
|
|
}, |
|
|
|
|
// 获取时段 |
|
|
|
|
getRoadTime(){ |
|
|
|
|
this.$request(getApp().globalData.baseUrl + '/api/dict/dictList?dictType=airport_time&_t=' + Date.parse(new Date()),"GET").then(res =>{ |
|
|
|
|
this.timeArray = res.data; |
|
|
|
|
if(this.pageType == 'edit'){ |
|
|
|
|
this.index = this.timeArray.findIndex(item => item.dictValue == this.form.statPeriod) |
|
|
|
|
this.timeName = this.timeArray.find(item => item.dictValue == this.form.statPeriod).dictLabel |
|
|
|
|
}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.timeArray.findIndex(item => item.dictValue == "0012") |
|
|
|
|
this.timeName = this.timeArray.find(item => item.dictValue == "0012").dictLabel |
|
|
|
|
}else{ |
|
|
|
|
this.form.statPeriod = "03"; |
|
|
|
|
this.index = this.timeArray.findIndex(item => item.dictValue == "03") |
|
|
|
|
this.timeName = this.timeArray.find(item => item.dictValue == "03").dictLabel |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
}) |
|
|
|
|
}, |
|
|
|
|
// 获取同比环比 |
|
|
|
|
getYoyMom(item,index){ |
|
|
|
|
let params = { |
|
|
|
|
busUnit:item.busUnit, |
|
|
|
|
statDate:this.form.reportDate |
|
|
|
|
} |
|
|
|
|
// console.log(params) |
|
|
|
|
this.$request(getApp().globalData.baseUrl + '/api/biz/busdata/getYoyMom', params,"GET").then(res =>{ |
|
|
|
|
console.log('同比环比数据===>',res) |
|
|
|
|
this.yoyMom = res.data; |
|
|
|
|
this.checkYoyMom(index) |
|
|
|
|
}) |
|
|
|
|
}, |
|
|
|
|
// 点击确定按钮 |
|
|
|
|
doSubmit(){ |
|
|
|
|
this.form.bizBusDataBodySaveOrUpdateDTOList = this.form.bizBusDataDetailVOList |
|
|
|
|
console.log(this.form) |
|
|
|
|
let params = this.form; |
|
|
|
|
if(!this.form.reportDate){ |
|
|
|
|
uni.showToast({ |
|
|
|
|
title:"请选择统计日期", |
|
|
|
|
icon:"none" |
|
|
|
|
}) |
|
|
|
|
}else if(!this.form.statPeriod){ |
|
|
|
|
uni.showToast({ |
|
|
|
|
title:"请选择统计时段", |
|
|
|
|
icon:"none" |
|
|
|
|
}) |
|
|
|
|
}else{ |
|
|
|
|
uni.showModal({ |
|
|
|
|
title:'提示', |
|
|
|
|
content:"确认保存当前报送数据吗?", |
|
|
|
|
success: (res) => { |
|
|
|
|
if(res.confirm){ |
|
|
|
|
uni.showLoading({ |
|
|
|
|
title: '提交中...', |
|
|
|
|
mask: true |
|
|
|
|
}) |
|
|
|
|
this.$request(getApp().globalData.baseUrl + '/api/biz/busdata/saveOrUpdate',params,"POST").then(res =>{ |
|
|
|
|
console.log(res) |
|
|
|
|
if(res.code == 200){ |
|
|
|
|
uni.hideLoading(); |
|
|
|
|
uni.showToast({ |
|
|
|
|
title: '报送提交成功', |
|
|
|
|
icon: 'none', |
|
|
|
|
success: () => { |
|
|
|
|
if(!this.form.id) { |
|
|
|
|
uni.redirectTo({ |
|
|
|
|
url:"/pages/bus/busDataInfo/list" |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
else { |
|
|
|
|
uni.navigateBack(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
// 计算同比环比 |
|
|
|
|
checkYoyMom(index){ |
|
|
|
|
// 环比 |
|
|
|
|
if(this.yoyMom.yesterdayData){ |
|
|
|
|
// this.form.bizBusDataDetailVOList[index].operatingShiftsMom = this.form.bizBusDataDetailVOList[index].operatingShifts && this.yoyMom.yesterdayData.operatingShifts ? |
|
|
|
|
// (this.form.bizBusDataDetailVOList[index].operatingShifts - this.yoyMom.yesterdayData.operatingShifts) / this.yoyMom.yesterdayData.operatingShifts * 100 : ''; |
|
|
|
|
|
|
|
|
|
this.form.bizBusDataDetailVOList[index].operatingShiftsMom = !checkNotEmpty(this.yoyMom.yesterdayData.operatingShifts) || this.yoyMom.yesterdayData.operatingShifts === 0 ? 100 : this.form.bizBusDataDetailVOList[index].operatingShifts ? (parseInt(this |
|
|
|
|
.form.bizBusDataDetailVOList[index].operatingShifts) - this.yoyMom.yesterdayData.operatingShifts) / this.yoyMom.yesterdayData.operatingShifts * |
|
|
|
|
100 : ''; |
|
|
|
|
|
|
|
|
|
// this.form.bizBusDataDetailVOList[index].passengerCountMom = this.form.bizBusDataDetailVOList[index].passengerCount && this.yoyMom.yesterdayData.passengerCount ? |
|
|
|
|
// (this.form.bizBusDataDetailVOList[index].passengerCount - this.yoyMom.yesterdayData.passengerCount) / this.yoyMom.yesterdayData.passengerCount * 100 : ''; |
|
|
|
|
|
|
|
|
|
this.form.bizBusDataDetailVOList[index].passengerCountMom = !checkNotEmpty(this.yoyMom.yesterdayData.passengerCount) || this.yoyMom.yesterdayData.passengerCount === 0 ? 100 : this.form.bizBusDataDetailVOList[index].passengerCount ? (parseInt(this |
|
|
|
|
.form.bizBusDataDetailVOList[index].passengerCount) - this.yoyMom.yesterdayData.passengerCount) / this.yoyMom.yesterdayData.passengerCount * |
|
|
|
|
100 : ''; |
|
|
|
|
|
|
|
|
|
// this.form.bizBusDataDetailVOList[index].vehicleInputMom = this.form.bizBusDataDetailVOList[index].vehicleInput && this.yoyMom.yesterdayData.vehicleInput ? |
|
|
|
|
// (this.form.bizBusDataDetailVOList[index].vehicleInput - this.yoyMom.yesterdayData.vehicleInput) / this.yoyMom.yesterdayData.vehicleInput * 100 : ''; |
|
|
|
|
|
|
|
|
|
this.form.bizBusDataDetailVOList[index].vehicleInputMom = !checkNotEmpty(this.yoyMom.yesterdayData.vehicleInput) || this.yoyMom.yesterdayData.vehicleInput === 0 ? 100 : this.form.bizBusDataDetailVOList[index].vehicleInput ? (parseInt(this |
|
|
|
|
.form.bizBusDataDetailVOList[index].vehicleInput) - this.yoyMom.yesterdayData.vehicleInput) / this.yoyMom.yesterdayData.vehicleInput * |
|
|
|
|
100 : ''; |
|
|
|
|
} |
|
|
|
|
// 同比 |
|
|
|
|
if(this.yoyMom.lastYearData){ |
|
|
|
|
// this.form.bizBusDataDetailVOList[index].operatingShiftsYoy = this.form.bizBusDataDetailVOList[index].operatingShifts && this.yoyMom.lastYearData.operatingShifts ? |
|
|
|
|
// (this.form.bizBusDataDetailVOList[index].operatingShifts - this.yoyMom.lastYearData.operatingShifts) / this.yoyMom.lastYearData.operatingShifts * 100 : ''; |
|
|
|
|
|
|
|
|
|
this.form.bizBusDataDetailVOList[index].operatingShiftsYoy = !checkNotEmpty(this.yoyMom.lastYearData.operatingShifts) || this.yoyMom.lastYearData.operatingShifts === 0 ? 100 : this.form.bizBusDataDetailVOList[index].operatingShifts ? (parseInt(this |
|
|
|
|
.form.bizBusDataDetailVOList[index].operatingShifts) - this.yoyMom.lastYearData.operatingShifts) / this.yoyMom.lastYearData.operatingShifts * |
|
|
|
|
100 : ''; |
|
|
|
|
|
|
|
|
|
// this.form.bizBusDataDetailVOList[index].passengerCountYoy = this.form.bizBusDataDetailVOList[index].passengerCount && this.yoyMom.lastYearData.passengerCount ? |
|
|
|
|
// (this.form.bizBusDataDetailVOList[index].passengerCount - this.yoyMom.lastYearData.passengerCount) / this.yoyMom.lastYearData.passengerCount * 100 : ''; |
|
|
|
|
|
|
|
|
|
this.form.bizBusDataDetailVOList[index].passengerCountYoy = !checkNotEmpty(this.yoyMom.lastYearData.passengerCount) || this.yoyMom.lastYearData.passengerCount === 0 ? 100 : this.form.bizBusDataDetailVOList[index].passengerCount ? (parseInt(this |
|
|
|
|
.form.bizBusDataDetailVOList[index].passengerCount) - this.yoyMom.lastYearData.passengerCount) / this.yoyMom.lastYearData.passengerCount * |
|
|
|
|
100 : ''; |
|
|
|
|
|
|
|
|
|
// this.form.bizBusDataDetailVOList[index].vehicleInputYoy = this.form.bizBusDataDetailVOList[index].vehicleInput && this.yoyMom.lastYearData.vehicleInput ? |
|
|
|
|
// (this.form.bizBusDataDetailVOList[index].vehicleInput - this.yoyMom.lastYearData.vehicleInput) / this.yoyMom.lastYearData.vehicleInput * 100 : ''; |
|
|
|
|
|
|
|
|
|
this.form.bizBusDataDetailVOList[index].vehicleInputYoy = !checkNotEmpty(this.yoyMom.lastYearData.vehicleInput) || this.yoyMom.lastYearData.vehicleInput === 0 ? 100 : this.form.bizBusDataDetailVOList[index].vehicleInput ? (parseInt(this |
|
|
|
|
.form.bizBusDataDetailVOList[index].vehicleInput) - this.yoyMom.lastYearData.vehicleInput) / this.yoyMom.lastYearData.vehicleInput * |
|
|
|
|
100 : ''; |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
// 获取公交车 |
|
|
|
|
// getBusData(){ |
|
|
|
|
// this.$request(getApp().globalData.baseUrl + '/api/dict/dictList?dictType=bus_unit&_t=' + Date.parse(new Date()),{},"GET").then(res =>{ |
|
|
|
|
// this.busArray = res.data |
|
|
|
|
// }) |
|
|
|
|
// }, |
|
|
|
|
//选择统计日期 |
|
|
|
|
bindDateChange(e) { |
|
|
|
|
this.form.reportDate = e.detail.value; |
|
|
|
|
}, |
|
|
|
|
//选择时段 |
|
|
|
|
bindtimeChange(e){ |
|
|
|
|
let index = e.target.value; |
|
|
|
|
var selected = this.timeArray[index]; |
|
|
|
|
this.form.statPeriod = selected.dictValue; |
|
|
|
|
this.timeName = selected.dictLabel |
|
|
|
|
}, |
|
|
|
|
// 切换公交车 |
|
|
|
|
changeBusway(e,key,index){ |
|
|
|
|
this.form[key][index].busIndex = e.detail.value; |
|
|
|
|
this.form[key][index].busUnit = this.busArray[e.detail.value].stationId; |
|
|
|
|
this.getYoyMom(this.form[key][index],index) |
|
|
|
|
}, |
|
|
|
|
// 验证格式为数字且最多只有一个小数点 |
|
|
|
|
checkNumber(val,key,index){ // 值允许输入一个小数点和数字 |
|
|
|
|
if(this.form[key][index][val]){ |
|
|
|
|
if(val == 'operatingShifts' || val == 'passengerCount' || val == 'vehicleInput'){ |
|
|
|
|
console.log(this.form[key][index]) |
|
|
|
|
this.getYoyMom(this.form[key][index]) |
|
|
|
|
} |
|
|
|
|
this.form[key][index][val] = this.form[key][index][val].replace(/[^\d.]/g,""); //先把非数字的都替换掉,除了数字和. |
|
|
|
|
this.form[key][index][val] = this.form[key][index][val].replace(/^\./g,""); //必须保证第一个为数字而不是. |
|
|
|
|
this.form[key][index][val] = this.form[key][index][val].replace(/\.{2,}/g,"."); //保证只有出现一个.而没有多个. |
|
|
|
|
this.form[key][index][val] = this.form[key][index][val].replace(".","$#$").replace(/\./g,"").replace("$#$","."); //保证.只出现一次,而不能出现两次以上 |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
// 点击增行按钮 |
|
|
|
|
addRow(){ |
|
|
|
|
this.form.bizBusDataDetailVOList.push( |
|
|
|
|
{ |
|
|
|
|
busUnit:'', |
|
|
|
|
busIndex:'', |
|
|
|
|
vehicleInput:'', |
|
|
|
|
vehicleInputMom:0, |
|
|
|
|
vehicleInputYoy:0, |
|
|
|
|
operatingShiftsMom:0, |
|
|
|
|
operatingShiftsYoy:0, |
|
|
|
|
passengerCount:'', |
|
|
|
|
passengerCountMom:0, |
|
|
|
|
passengerCountYoy:0, |
|
|
|
|
yestVehicleInput:'', |
|
|
|
|
yestOperatingShifts:'', |
|
|
|
|
yestPassengerCount:'', |
|
|
|
|
lyVehicleInput:'', |
|
|
|
|
lyOperatingShifts:'', |
|
|
|
|
lyPassengerCount:'' |
|
|
|
|
} |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
// 点击删行按钮 |
|
|
|
|
delRow(index){ |
|
|
|
|
this.form.bizBusDataDetailVOList.splice(index, 1); |
|
|
|
|
}, |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
</script> |
|
|
|
|
@ -63,6 +447,10 @@ |
|
|
|
|
background-color: #fff; |
|
|
|
|
border-radius: 30rpx; |
|
|
|
|
|
|
|
|
|
&.bottom{ |
|
|
|
|
margin-top: 30rpx; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//环比同比 |
|
|
|
|
.form_item_rate{ |
|
|
|
|
background: #F6F6F6; |
|
|
|
|
@ -173,6 +561,57 @@ |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
//增行 |
|
|
|
|
.line { |
|
|
|
|
height: 1px; |
|
|
|
|
background-color: #E1E1E1; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.add_btn { |
|
|
|
|
height: 90rpx; |
|
|
|
|
line-height: 90rpx; |
|
|
|
|
color: #2D8CF0; |
|
|
|
|
font-size: 28rpx; |
|
|
|
|
font-family: PingFang SC-Regular, PingFang SC; |
|
|
|
|
font-weight: 400; |
|
|
|
|
text-align: center; |
|
|
|
|
background: #ECF5FF; |
|
|
|
|
border-radius: 30rpx; |
|
|
|
|
border: 2rpx solid #2D8CF0; |
|
|
|
|
margin-top: 30rpx; |
|
|
|
|
} |
|
|
|
|
.foot_btn { |
|
|
|
|
position: fixed; |
|
|
|
|
left: 0; |
|
|
|
|
right: 0; |
|
|
|
|
bottom: 0; |
|
|
|
|
display: flex; |
|
|
|
|
justify-content: space-between; |
|
|
|
|
padding: 40rpx 30rpx; |
|
|
|
|
background-color: #f5f5f5; |
|
|
|
|
z-index: 11; |
|
|
|
|
|
|
|
|
|
.act_btn { |
|
|
|
|
width: 329rpx; |
|
|
|
|
height: 90rpx; |
|
|
|
|
color: #666666; |
|
|
|
|
font-size: 28rpx; |
|
|
|
|
line-height: 90rpx; |
|
|
|
|
font-family: PingFang SC-Regular, PingFang SC; |
|
|
|
|
font-weight: 400; |
|
|
|
|
text-align: center; |
|
|
|
|
background: #F6F6F6; |
|
|
|
|
border-radius: 100rpx; |
|
|
|
|
border: 1rpx solid #C1C1C1; |
|
|
|
|
|
|
|
|
|
&.blue { |
|
|
|
|
color: #fff; |
|
|
|
|
background: #2D8CF0; |
|
|
|
|
border-color: #2D8CF0; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
</style> |
|
|
|
|
|