拆分核验,增加数据核验数据展示功能

master
白美平 7 months ago
parent fe944a661b
commit 211677ef5c

@ -12,18 +12,28 @@ export const getSelectList = data => post("/devProjectJt/selectData/getListByTyp
//根据门架查询所有计费单元明细数据 //根据门架查询所有计费单元明细数据
export const getListByPage = data => post("/devProjectJt/divFeeDetail/getListPage", data,"") export const getListByPage = data => post("/devProjectJt/divFeeDetail/getListPage", data,"")
export const getTotal = data => post("/devProjectJt/divFeeDetail/getTotal", data,"")
//查询汇总中各拆分状态 //查询汇总中各拆分状态
export const getDivDataList = data => post("/devProjectJt/divFeeStat/getDivDataList", data,"") export const getDivDataList = data => post("/devProjectJt/divFeeStat/getDivDataList", data,"")
export const getFeeTotal = data => post("/devProjectJt/divFeeStat/getFeeTotal", data,"") export const getFeeTotal = data => post("/devProjectJt/divFeeStat/getFeeTotal", data,"")
export const getHbData = data => post("/devProjectJt/divFeeStat/getHbData", data,"")
export const getFeeTotalStatus = data => post("/devProjectJt/divFeeStat/getFeeTotalStatus", data,"")
//查询所有计费单元的经纬度,通过门架查找
//查询所有计费单元的经纬度,通过门架查找
export const getFeeLntLagList = data => post("/devProjectJt/divFeeDetail/getListByPage", data,"") export const getFeeLntLagList = data => post("/devProjectJt/divFeeDetail/getListByPage", data,"")
//查询汇总排名 //查询汇总排名
export const getRankList = data => post("/devProjectJt/divFeeStat/getRankList", data,"") export const getRankList = data => post("/devProjectJt/divFeeStat/getRankList", data,"")
//汇总金额查询 //汇总金额查询
export const getHzData = data => post("/devProjectJt/divFeeStat/getHzData", data,"") export const getHzData = data => post("/devProjectJt/divFeeStat/getHzData", data,"")
export const getEveryClassFee = data => post("/devProjectJt/divFeeStat/getEveryClassFee", data,"")
//导出明细数据 //导出明细数据
export const exportDivPassidAllData = data => download("/devProjectJt/exportData/exportList", data,null) export const exportDivPassidAllData = data => download("/devProjectJt/exportData/exportList", data,null)
//20250417 数据核验数据展示
export const getFeeShowTotal = data => post("/devProjectJt/divFeeStat/getFeeShowTotal", data,"")
export const getStatusToal = data => post("/devProjectJt/divFeeStat/getStatusToal", data,"")
export const getVehicleClassToal = data => post("/devProjectJt/divFeeStat/getVehicleClassToal", data,"")

@ -1,5 +1,6 @@
import * as vueRouter from "vue-router"; import * as vueRouter from "vue-router";
import gsCheckMain from '@/views/dev/gsCheckMain.vue'; import gsCheckMain from '@/views/dev/gsCheckMain.vue';
import divfeeShowStat from '@/views/dev/divfeeShowStat.vue';
import mapfee from '@/views/dev/detail/map.vue'; import mapfee from '@/views/dev/detail/map.vue';
@ -8,8 +9,8 @@ import mapfee from '@/views/dev/detail/map.vue';
const routes = [ const routes = [
{ {
path: '/', path: '/devProjectJt/divfeeShowStat',
component: gsCheckMain,// component: divfeeShowStat,//
}, { }, {
path: '/devProjectJt/index', path: '/devProjectJt/index',
component: gsCheckMain,// component: gsCheckMain,//

@ -140,6 +140,13 @@ let pro = {
// nextDate = nextYear + "-" + nextMonth+'-'+nextDate.getDate()+" "+nextDate.getHours()+":"+nextDate.getMonth()+":"+nextDate.getSeconds(); // nextDate = nextYear + "-" + nextMonth+'-'+nextDate.getDate()+" "+nextDate.getHours()+":"+nextDate.getMonth()+":"+nextDate.getSeconds();
date = nextDate; date = nextDate;
return date; return date;
},DayDec(date,num) {//前 num天数 的日期
var dd = new Date(date);
dd.setDate(dd.getDate() + num);
var y = dd.getFullYear();
var m = dd.getMonth() + 1 < 10 ? "0" + (dd.getMonth() + 1) : dd.getMonth() + 1;
var d = dd.getDate() < 10 ? "0" + dd.getDate() : dd.getDate();
return y + "-" + m + "-" + d;
}, },
YearAdd(date,num) { YearAdd(date,num) {
let currentDate = date; let currentDate = date;

@ -0,0 +1,300 @@
<!-- 每日数据拆分准确未拆分少拆分多拆分逾期拒付-->
<template>
<div id="contain_jt" style="width:100%;height: 100%;position: inherit">
<div style="height: 100%;width: 100%">
<el-table
:data="tableData"
v-loading="isLoading"
highlight-current-row=true,
show-summary="true"
style="width: 100%;height: 100%">
<el-table-column prop="classdate" label="日期" resizable align="center" :formatter="dateFormatter" fixed="left" width="140" />
<el-table-column label="集团应收/拆分" width="300" resizable align="center" fixed="left" >
<el-table-column prop="jtysmoney" label="应收(元)" resizable align="center" width="130" />
<el-table-column prop="jtcfmoney" label="拆分(元)" resizable align="center" width="130" />
</el-table-column>
<el-table-column label="未拆分" width="200" resizable align="center" >
<el-table-column prop="nodivmoney" label="金额(元)" resizable align="center" width="130"/>
<el-table-column prop="nodivflow" label="流量(辆)" resizable align="center" width="100" />
</el-table-column>
<el-table-column label="未计费" width="200" resizable align="center">
<el-table-column prop="nofeemoney" label="金额(元)" resizable align="center" width="130"/>
<el-table-column prop="nofeeflow" label="流量(辆)" resizable align="center" width="100"/>
</el-table-column>
<el-table-column label="拆分准确" width="200" resizable align="center">
<el-table-column prop="rightmoney" label="金额(元)" resizable align="center" width="130" />
<el-table-column prop="rightflow" label="流量(辆)" resizable align="center" width="100"/>
</el-table-column>
<el-table-column label="少拆分" width="200" resizable align="center">
<el-table-column
prop="lessdivmoneygpa"
label="计费金额(元)"
resizable align="center"
width="130">
</el-table-column>
<el-table-column
prop="lessdivmoneydiv"
label="拆分金额(元)"
resizable align="center"
width="130">
</el-table-column>
<el-table-column
prop="lessdivmoney"
label="金额(元)"
resizable align="center"
width="130">
</el-table-column>
<!-- <el-table-column
prop="lessdivflow"
label="流量(辆)"
resizable align="center"
width="100">
</el-table-column>-->
</el-table-column>
<el-table-column label="多拆分" width="200" resizable align="center">
<el-table-column
prop="moredivmoneygpa"
label="计费金额(元)"
resizable align="center"
width="130">
</el-table-column>
<el-table-column
prop="moredivmoneydiv"
label="拆分金额(元)"
resizable align="center"
width="130">
</el-table-column>
<el-table-column
prop="morevivmoney"
label="金额(元)"
resizable align="center"
width="130">
</el-table-column>
<!-- <el-table-column
prop="moredivflow"
label="流量(辆)"
resizable align="center"
width="100">
</el-table-column>-->
</el-table-column>
<!-- <el-table-column label="操作" width="280" resizable align="center" fixed="right">
<template #default="scope">
<el-button type="primary" round size="small" style="background-color: #1da1f2" @click="getSubTableData(scope.row)"></el-button>
<el-button type="primary" round size="small" style="background-color: #5db479" @click="getRoadTableData(scope.row)"></el-button>
<el-button type="primary" round size="small" style="background-color: #5a5b85" @click="getVehTypeTableData(scope.row)"></el-button>
<el-button type="primary" round size="small" style="background-color: #c48ed9" @click="getTableData(scope.row)"></el-button>
</template>
</el-table-column>-->
</el-table>
</div>
<!-- <div style="height: 80px;width: 100%">
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-sizes="[15, 30,50,100]"
:page-size="pageSize"
:total="totalCount"
layout="total, sizes, prev, pager, next, jumper"
style="width: 90%;height:50px;padding: 0;position:relative;margin-top:10px;bottom: 0;font-size: x-small">
</el-pagination>
</div>-->
</div>
<!-- <el-dialog id="detail_dialog" v-model="isShowDivDetail" title="" draggable >
<detailTab ref="detailTab" :key="new Date().getTime()" :beginDate="querybeginDate" :dataType="dataType" ></detailTab>
</el-dialog>-->
<!-- <el-dialog id="detail_dialog" v-model="isShowSubComDetail" title="分公司信息" draggable >
<detailDataSubCom ref="detailDataSubCom" :key="updateSubCom" :beginDate="querybeginDate" :dataType="dataType" ></detailDataSubCom>
</el-dialog>
<el-dialog id="detail_dialog" v-model="isShowDetailRoad" title="路段信息" draggable >
<detailDataRoad ref="detailDataRoad" :key="updateRoad" :beginDate="querybeginDate" :dataType="dataType" ></detailDataRoad>
</el-dialog>
<el-dialog id="detail_dialog" v-model="isShowDetailVehType" title="车型信息" draggable >
<detailDataVehType ref="detailDataVehType" :key="updateVehType" :beginDate="querybeginDate" :dataType="dataType" ></detailDataVehType>
</el-dialog>
<el-dialog id="detail_dialog" v-model="isShowDetail" title="明细" draggable >
<stanDataDialog ref="stanDataDialog" :key="updateDetail" :classDate="querybeginDate" :dataType="dataType" :detailType="detailType"></stanDataDialog>
</el-dialog>-->
</template>
<style>
body{
width: 100% !important;
height: 100% !important;
}
#contain_jt{
height: 100% ;
width:100% ;
margin: 0px;
}
#detail_dialog{
height:90% !important;
width: 90% !important;
margin-top: 2% !important;
margin-left: 5% !important;
}
</style>
<script >
import {Filter,Search} from '@element-plus/icons-vue'
import { getFeeTotalStatus} from "@/util/api/api.js"
/*import detailTab from "@/views/dev/detail/detailTab.vue";
import detailDataSubCom from '@/views/dev/detail/detailDataSubCom.vue'
import detailDataRoad from '@/views/dev/detail/detailDataRoad.vue'
import detailDataVehType from '@/views/dev/detail/detailDataVehType.vue'
import stanDataDialog from '@/views/dev/detail/stanDataDialog.vue'*/
var _this;
export default{
data(){
return {
tableData:[],
currentPage: 1,
pageSize: 20,
querybeginDate:'',
totalCount:500,
isLoading:false,
isShowSubComDetail:false,
isShowDetailRoad:false,
isShowDetailVehType:false,
isShowDetail:false,
updateSubCom:0,
updateRoad:0,
updateVehType:0,
detailType:'mainType',
updateDetail:0,
toolTip:true,
columnShow:true,
dataType:"JT",
beginDate:"",
endDate:""
}},
methods:{
refreshData(beginDate,endDate,subcomno,roadno,stanno,dataType){
this.beginDate=beginDate ;
this.endDate=endDate ;
getTableData(beginDate,endDate,subcomno,roadno,stanno,dataType);
},
handleSizeChange(val) {
this.pageSize = val;
this.isLoding=true;
},
handleCurrentChange(val) {
this.currentPage = val;
this.isLoading=true;
}, dateFormatter(row, column, cellValue){
if(cellValue==null || cellValue=="" || cellValue==undefined){
return "";
}
const date = new Date(cellValue);
//
//return `${date.toLocaleDateString()}`;
return formatDate(cellValue,"YYYY-MM-DD");
},getSubTableData(row){
this.querybeginDate=formatDate(row.CLASSDATE,"YYYY-MM-DD");
this.isShowSubComDetail=true;
this.isShowDetailRoad=false;
this.isShowDetailVehType=false;
this.isShowDetail=false;
this.updateSubCom= this.updateSubCom+1
},getRoadTableData(row){
this.querybeginDate=formatDate(row.CLASSDATE,"YYYY-MM-DD");
this.isShowSubComDetail=false;
this.isShowDetailRoad=true;
this.isShowDetailVehType=false;
this.isShowDetail=false;
this.updateRoad= this.updateRoad+1;
},getVehTypeTableData(row){
this.querybeginDate=formatDate(row.CLASSDATE,"YYYY-MM-DD");
this.isShowSubComDetail=false;
this.isShowDetailRoad=false;
this.isShowDetailVehType=true;
this.isShowDetail=false;
this.updateVehType= this.updateVehType+1;
},getTableData(row){
this.querybeginDate=formatDate(row.CLASSDATE,"YYYY-MM-DD");
this.isShowSubComDetail=false;
this.isShowDetailRoad=false;
this.isShowDetailVehType=false;
this.isShowDetail=true;
this.updateDetail= this.updateDetail+1;
}
},components:{
/* detailTab,
detailDataSubCom,
detailDataRoad,
detailDataVehType,
stanDataDialog,*/
Search
},
mounted(){
_this=this;
/* this.tableData=[{"classDate":"2024-10-31","rightMoney":"100000","rightFlow":"203010","noDivMoney":"10000","noDivFlow":"10000","lessDivMoney":"1000","lessDivFlow":"30","moreDivMoney":"10000","moreDivFlow":"50","YQMoney":"1001.21","YQFlow":"20","JFMoney":"1568","JFFlow":"23"},
{"classDate":"2024-10-30","rightMoney":"195000","rightFlow":"253010","noDivMoney":"55000","noDivFlow":"25102","lessDivMoney":"15230","lessDivFlow":"2510","moreDivMoney":"5201","moreDivFlow":"500","YQMoney":"1895","YQFlow":"28","JFMoney":"4500","JFFlow":"39"}
]*/
/* if(this.dataType==='JT'){
this.columnShow=true;
}else{
this.columnShow=false;
}
this.$nextTick(
getTableData(this.beginDate,this.endDate,this.dataType)
)*/
}
}
function getTableData(beginDate,endDate,subcomno,roadno,stanno,dataType){
_this.isLoading=true;
var paramsObj={
"queryStartTime":beginDate,
"queryEndTime":endDate,
"subcomno":subcomno,
"roadno":roadno,
"stano":stanno,
"type":dataType
}
getFeeTotalStatus(paramsObj).then(
res=>{
if (res.code > 0) {
let _data = res.data;
if (_data.length > 0) {
_this.tableData = _data;
}
}
_this.isLoading=false;
}
)
}
function formatDate(dateString,format) {
const date = new Date(dateString);
const year = date.getFullYear();
const month = (date.getMonth() + 1).toString().padStart(2, '0');
const day = date.getDate().toString().padStart(2, '0');
let hour=date.getHours();
let minute=date.getMinutes();
let second=date.getSeconds();
if(hour<10){
hour ="0"+hour;
}
if(minute<10){
minute ="0"+minute;
}
if(second<10){
second ="0"+second;
}
const milSecond=date.getMilliseconds();
if(format=="YYYY-MM-DD"){
return `${year}-${month}-${day}`;
}else if(format=="YYYY-MM-DD HH:MM:SS"){
return `${year}-${month}-${day} ${hour}:${minute}:${second}`;
}else if(format=="YYYY-MM-DD HH:MM:SS:SSS"){
return `${year}-${month}-${day} ${hour}:${minute}:${second}:${milSecond}`;
}else if(format=="HH:MM:SS"){
return `${hour}:${minute}:${second}:${milSecond}`;
}
return "";
}
</script>

@ -0,0 +1,200 @@
<!-- 每日数据拆分准确未拆分少拆分多拆分逾期拒付-->
<template>
<div id="contain_jt" style="width:100%;height: 100%;position: inherit">
<div style="height: 100%;width: 100%">
<el-table
:data="tableData"
v-loading="isLoading"
border="black 1px solid"
highlight-current-row=true,
show-summary="true"
:header-cell-style="headlerCss"
style="width: 100%;height: 100%">
<el-table-column prop="classdate" label="日期" resizable align="center" :formatter="dateFormatter" fixed="left" width="140" />
<el-table-column prop="jmtotal" label="总减免(元)" resizable align="center" width="180" />
<el-table-column prop="jmgw" label="公务车(元)" resizable align="center" width="160" />
<el-table-column prop="jmjunjing" label="军警车(元)" resizable align="center" width="180" />
<el-table-column prop="jmjinji" label="紧急车(元)" resizable align="center" width="180" />
<el-table-column prop="jmmf" label="免费车(元)" resizable align="center" width="180" />
<el-table-column prop="jmcd" label="车队(元)" resizable align="center" width="160" />
<el-table-column prop="jmgreen" label="绿通车(元)" resizable align="center" width="170" />
<el-table-column prop="jmsgj" label="联合收割机(元)" resizable align="center" width="170" />
<el-table-column prop="jmqxjzc" label="抢险救灾车(元)" resizable align="center" width="170" />
<el-table-column prop="jmyjbzc" label="应急保障车(元)" resizable align="center" width="180" />
</el-table>
</div>
</div>
</template>
<style>
body{
width: 100% !important;
height: 100% !important;
}
#contain_jt{
height: 100% ;
width:100% ;
margin: 0px;
}
#detail_dialog{
height:90% !important;
width: 90% !important;
margin-top: 2% !important;
margin-left: 5% !important;
}
</style>
<script >
import {Search} from '@element-plus/icons-vue'
import {getEveryClassFee} from "@/util/api/api.js"
var _this;
export default{
data(){
return {
tableData:[],
currentPage: 1,
pageSize: 20,
querybeginDate:'',
totalCount:500,
isLoading:false,
isShowSubComDetail:false,
isShowDetailRoad:false,
isShowDetailVehType:false,
isShowDetail:false,
updateSubCom:0,
updateRoad:0,
updateVehType:0,
detailType:'mainType',
updateDetail:0,
toolTip:true,
columnShow:true,
dataType:"JT",
beginDate:"",
endDate:""
}},
methods:{
refreshData(beginDate,endDate,subcomno,roadno,stanno,dataType){
this.beginDate=beginDate ;
this.endDate=endDate ;
getTableData(beginDate,endDate,subcomno,roadno,stanno,dataType);
},
handleSizeChange(val) {
this.pageSize = val;
this.isLoding=true;
},
handleCurrentChange(val) {
this.currentPage = val;
this.isLoading=true;
}, dateFormatter(row, column, cellValue){
if(cellValue==null || cellValue=="" || cellValue==undefined){
return "";
}
const date = new Date(cellValue);
//
//return `${date.toLocaleDateString()}`;
return formatDate(cellValue,"YYYY-MM-DD");
},getSubTableData(row){
this.querybeginDate=formatDate(row.CLASSDATE,"YYYY-MM-DD");
this.isShowSubComDetail=true;
this.isShowDetailRoad=false;
this.isShowDetailVehType=false;
this.isShowDetail=false;
this.updateSubCom= this.updateSubCom+1
},getRoadTableData(row){
this.querybeginDate=formatDate(row.CLASSDATE,"YYYY-MM-DD");
this.isShowSubComDetail=false;
this.isShowDetailRoad=true;
this.isShowDetailVehType=false;
this.isShowDetail=false;
this.updateRoad= this.updateRoad+1;
},getVehTypeTableData(row){
this.querybeginDate=formatDate(row.CLASSDATE,"YYYY-MM-DD");
this.isShowSubComDetail=false;
this.isShowDetailRoad=false;
this.isShowDetailVehType=true;
this.isShowDetail=false;
this.updateVehType= this.updateVehType+1;
},getTableData(row){
this.querybeginDate=formatDate(row.CLASSDATE,"YYYY-MM-DD");
this.isShowSubComDetail=false;
this.isShowDetailRoad=false;
this.isShowDetailVehType=false;
this.isShowDetail=true;
this.updateDetail= this.updateDetail+1;
}, headlerCss(row){
if(row.rowIndex<1){
return {
'background-color': '#e1dede',
'color':'#6c6b6b'
}
}
return {
'background-color':""
}
}
},components:{
/* detailTab,
detailDataSubCom,
detailDataRoad,
detailDataVehType,
stanDataDialog,*/
Search
},
mounted(){
_this=this;
}
}
function getTableData(beginDate,endDate,subcomno,roadno,stanno,dataType){
_this.isLoading=true;
var paramsObj={
"queryStartTime":beginDate,
"queryEndTime":endDate,
"subcomno":subcomno,
"roadno":roadno,
"stano":stanno,
"type":dataType
}
getEveryClassFee(paramsObj).then(
res=>{
if (res.code > 0) {
let _data = res.data;
if (_data.length > 0) {
_this.tableData = _data;
}
}
_this.isLoading=false;
}
)
}
function formatDate(dateString,format) {
const date = new Date(dateString);
const year = date.getFullYear();
const month = (date.getMonth() + 1).toString().padStart(2, '0');
const day = date.getDate().toString().padStart(2, '0');
let hour=date.getHours();
let minute=date.getMinutes();
let second=date.getSeconds();
if(hour<10){
hour ="0"+hour;
}
if(minute<10){
minute ="0"+minute;
}
if(second<10){
second ="0"+second;
}
const milSecond=date.getMilliseconds();
if(format=="YYYY-MM-DD"){
return `${year}-${month}-${day}`;
}else if(format=="YYYY-MM-DD HH:MM:SS"){
return `${year}-${month}-${day} ${hour}:${minute}:${second}`;
}else if(format=="YYYY-MM-DD HH:MM:SS:SSS"){
return `${year}-${month}-${day} ${hour}:${minute}:${second}:${milSecond}`;
}else if(format=="HH:MM:SS"){
return `${hour}:${minute}:${second}:${milSecond}`;
}
return "";
}
</script>

@ -105,13 +105,15 @@
</el-form> </el-form>
</div> </div>
<div style="height: 85%;width: 100%"> <div style="height: 85%;width: 100%">
<el-table :data="tableDataDetail" height="100%" :header-cell-style="{background:'rgb(213,216,217)',align:'center'}" border v-loading="loading"> <el-table :data="tableDataDetail" height="100%" :header-cell-style="{background:'rgb(213,216,217)',align:'center'}" border v-loading="loading"
show-summary
:summary-method="sumTotal">
<el-table-column type="index" label="序号" align="center" width="100px"/> <el-table-column type="index" label="序号" align="center" width="100px"/>
<el-table-column prop="classdate" label="日期" :show-overflow-tooltip="true" :formatter="dateFormatter" width="180px" resizable align="center" /> <el-table-column prop="classdate" label="日期" :show-overflow-tooltip="true" :formatter="dateFormatter" width="180px" resizable align="center" />
<el-table-column prop="passid" label="PASSID" :show-overflow-tooltip="true" width="280px" resizable align="center" /> <el-table-column prop="passid" label="PASSID" :show-overflow-tooltip="true" width="280px" resizable align="center" />
<el-table-column prop="tollintervalid" label="计费单元id" v-if="tableDisable" align="center" /> <el-table-column prop="tollintervalid" label="计费单元id" v-if="tableDisable" align="center" />
<el-table-column prop="fee" label="计费金额(元)" :show-overflow-tooltip="true" width="120px" resizable align="center" /> <el-table-column prop="fee" label="计费金额(元)" :show-overflow-tooltip="true" width="120px" resizable align="center" />
<el-table-column prop="payfee" label="实收金额" :show-overflow-tooltip="true" width="100px" resizable align="center" /> <el-table-column prop="payfee" label="实收金额" :show-overflow-tooltip="true" v-if="tableDisable" width="100px" resizable align="center" />
<el-table-column prop="transtime" label="日期" v-if="tableDisable" width="280px" resizable align="center" /> <el-table-column prop="transtime" label="日期" v-if="tableDisable" width="280px" resizable align="center" />
<el-table-column prop="mediatype" label="通行介质" v-if="tableDisable" width="100px" resizable align="center" /> <el-table-column prop="mediatype" label="通行介质" v-if="tableDisable" width="100px" resizable align="center" />
<el-table-column prop="vehicleid" label="车牌号" :show-overflow-tooltip="true" width="100px" resizable align="center" /> <el-table-column prop="vehicleid" label="车牌号" :show-overflow-tooltip="true" width="100px" resizable align="center" />
@ -143,7 +145,7 @@
</div> </div>
</template> </template>
<script> <script>
import {getListByPage, getFeeLntLagList, exportDivPassidAllData, getSelectList} from "@/util/api/api"; import {getListByPage, exportDivPassidAllData, getSelectList, getTotal} from "@/util/api/api";
import pro from "@/util/tool"; import pro from "@/util/tool";
import {Search} from "@element-plus/icons-vue"; import {Search} from "@element-plus/icons-vue";
var _this; var _this;
@ -194,7 +196,9 @@ export default {
enname:"", enname:"",
exname:"", exname:"",
SPASSID:"", SPASSID:"",
SEXITFEETYPE:"" SEXITFEETYPE:"",
totalfee:'0',
totaldivfee:'0'
}; };
}, },
methods: { methods: {
@ -207,6 +211,7 @@ export default {
this.isLoding=true; this.isLoding=true;
this.getDataListByPage(); this.getDataListByPage();
},getDataListByPage(){// },getDataListByPage(){//
this.loading=true;
var params={ var params={
"tollintervalid":this.tollvalid, "tollintervalid":this.tollvalid,
"pageNum":this.pageNum, "pageNum":this.pageNum,
@ -221,11 +226,39 @@ export default {
"SPASSID":this.SPASSID, "SPASSID":this.SPASSID,
"SEXITFEETYPE":this.SEXITFEETYPE "SEXITFEETYPE":this.SEXITFEETYPE
} }
if(this.classdate !=="" && this.classdate !==undefined){
params.queryStartTime="";
params.queryEndTime="";
}
getListByPage(params).then(res=>{ getListByPage(params).then(res=>{
this.tableDataDetail=res.records; this.tableDataDetail=res.records;
this.loading=false; this.loading=false;
this.totalCount=res.total; this.totalCount=res.total;
}) })
getTotal(params).then(res=>{
console.log("明细页面====fee==="+(res.fee/100)+"====divfee==="+(res.divfee /100))
this.totalfee = (res.fee /1000000).toFixed(2);
this.totaldivfee= (res.divfee /1000000).toFixed(2);
})
},sumTotal(paramsd){
const sums = [];
sums[0] = '合计';
sums[1] = '';
sums[2] = '';
sums[3] = this.totalfee+'万元';
sums[4] = '';
sums[5] = '';
sums[6] = '';
sums[7] = '';
sums[8] = this.totaldivfee+'万元';
sums[9] = '';
sums[10] = '';
sums[11] = '';
sums[12] = '';
sums[13] = '';
sums[14] = '';
return sums;
},exportExcle(){ },exportExcle(){
exportData(); exportData();
},dateFormatterSSS(row, column, cellValue){ },dateFormatterSSS(row, column, cellValue){

@ -0,0 +1,248 @@
<template>
<div id="contain" style="width:100%;height:100%;position: inherit">
<el-table :data="tableData" :row-style="{height:50}" width="100%" height="100%" class="table_el"
:header-cell-style="{align:'center'}"
:row-class-name="rowClass"
:span-method="objectSpanMethod"
border
v-loading="tableloading">
<el-table-column prop="GONGSI" label="分公司" :show-overflow-tooltip="true" width="200px" resizable align="center"/>
<el-table-column prop="HBDECODE" label="环比减收(万元)" :show-overflow-tooltip="true" width="150px" resizable align="center" />
<el-table-column prop="HBRATE" label="减收占比(%)" :show-overflow-tooltip="true" width="150px" resizable align="center" />
<el-table-column prop="ROADNAME" label="重点减收路段" :show-overflow-tooltip="true" width="185px" resizable align="center" />
<el-table-column prop="ROADDECODE" label="减收通行费(万元)" :show-overflow-tooltip="true" width="150px" resizable align="center" />
<el-table-column prop="DATEAVG" label="日均(万元)" :show-overflow-tooltip="true" width="150px" resizable align="center" />
<el-table-column label="重点减收车型" :show-overflow-tooltip="true" width="800px" resizable align="center" >
<el-table-column label="客车" resizable align="center" width="210px">
<el-table-column prop="KCTYPENAME" label="车型" resizable align="center" width="150px" />
<el-table-column prop="KCDECODE" label="减收金额(万元)" resizable align="center" width="160px" />
<el-table-column prop="KCDECODERATE" label="日均(万元)" resizable align="center" width="150px" />
</el-table-column>
<el-table-column label="货车" resizable align="center" width="210px">
<el-table-column prop="HCTYPENAME" label="车型" resizable align="center" width="150px" />
<el-table-column prop="HCDECODE" label="减收金额(万元)" resizable align="center" width="160px" />
<el-table-column prop="HCDECODERATE" label="日均(万元)" resizable align="center" width="150px" />
</el-table-column>
</el-table-column>
</el-table>
</div>
</template>
<style>
body{
width: 100% !important;
height: 100% !important;
}
#contain{
height: 100% ;
width:100% ;
margin: 0px;
}
.table_el .cell {
padding: 10px !important;
}
</style>
<script >
import {
getHbData
} from "@/util/api/api.js";
import {Search} from '@element-plus/icons-vue'
var _this;
export default{
data(){
return {
type1:true,
type2:true,
type3:true,
type4:true,
tableData:[],
queryStartTime:"",
queryEndTime:"",
tableloading:false
}},
props:['startDate','endDate','startDateHB','endDateHB'],
methods:{
rowStyle(row,rowIndex){
if(this.doubleclikIndex===row.row.RN){
return {
"background-color":"lightcyan",
"cursor":"pointer"
}
}
return {
"cursor":"pointer"
}
},rowClass(row,rowIndex){
if(row.GONGSI==="总计"){
return "fixed-row";
}
},formatData(row, column, cellValue, index){
if((cellValue ==="" || cellValue===undefined) && index < this.tableData.length-1){
return "0";
}else{
return cellValue;
}
},flitterData(arr){
let spanOneArr = [],
spanTwoArr = [],
spanThreeArr = [],
spanFourArr = [],
spanFiveArr = [],
spanSixArr = [],
concatOne = 0,
concatTwo = 0,
concatThree =0,
concatFour =0,
concatFive =0,
concatSix =0;
arr.forEach((item,index)=>{
if(index === 0){
spanOneArr.push(1);
spanTwoArr.push(1);
spanThreeArr.push(1);
spanFourArr.push(1);
spanFiveArr.push(1);
spanSixArr.push(1);
}else{
if(item.GONGSI === arr[index - 1].GONGSI){ //
spanOneArr[concatOne] += 1;
spanOneArr.push(0);
}else{
spanOneArr.push(1);
concatOne = index;
};
if(item.HBDECODE === arr[index - 1].HBDECODE && item.GONGSI === arr[index - 1].GONGSI){//
spanTwoArr[concatTwo] += 1;
spanTwoArr.push(0);
}else{
spanTwoArr.push(1);
concatTwo = index;
};
if(item.GONGSI === arr[index - 1].GONGSI&&item.HBRATE === arr[index - 1].HBRATE){ //
spanThreeArr[concatThree] += 1;
spanThreeArr.push(0);
}else{
spanThreeArr.push(1);
concatThree = index;
};
if(item.GONGSI === arr[index - 1].GONGSI && item.ROADNAME === arr[index - 1].ROADNAME){ //
spanFourArr[concatFour] += 1;
spanFourArr.push(0);
}else{
spanFourArr.push(1);
concatFour = index;
};
if(item.GONGSI === arr[index - 1].GONGSI && item.ROADNAME === arr[index - 1].ROADNAME && item.ROADDECODE === arr[index - 1].ROADDECODE){ //
spanFiveArr[concatFive] += 1;
spanFiveArr.push(0);
}else{
spanFiveArr.push(1);
concatFive = index;
};
if(item.GONGSI === arr[index - 1].GONGSI && item.ROADNAME === arr[index - 1].ROADNAME && item.DATEAVG === arr[index - 1].DATEAVG){ //
spanSixArr[concatSix] += 1;
spanSixArr.push(0);
}else{
spanSixArr.push(1);
concatSix = index;
};
}
});
return {
one: spanOneArr,
two: spanTwoArr,
three: spanThreeArr,
four: spanFourArr,
five: spanFiveArr,
six: spanSixArr,
}
},objectSpanMethod({ row, column, rowIndex, columnIndex }) {
if(columnIndex === 0 ) {
const _row = (this.flitterData(this.tableData).one)[rowIndex];
const _col = _row > 0 ? 1 : 0;
return {
rowspan: _row,
colspan: _col
};
}
if(columnIndex === 1) {
const _row = (this.flitterData(this.tableData).two)[rowIndex];
const _col = _row > 0 ? 1 : 0;
return {
rowspan: _row,
colspan: _col
};
}
if(columnIndex === 2) {
const _row = (this.flitterData(this.tableData).three)[rowIndex];
const _col = _row > 0 ? 1 : 0;
return {
rowspan: _row,
colspan: _col
};
}
if(columnIndex === 3) {
const _row = (this.flitterData(this.tableData).four)[rowIndex];
const _col = _row > 0 ? 1 : 0;
return {
rowspan: _row,
colspan: _col
};
}
if(columnIndex === 4) {
const _row = (this.flitterData(this.tableData).five)[rowIndex];
const _col = _row > 0 ? 1 : 0;
return {
rowspan: _row,
colspan: _col
};
}
if(columnIndex === 5) {
const _row = (this.flitterData(this.tableData).six)[rowIndex];
const _col = _row > 0 ? 1 : 0;
return {
rowspan: _row,
colspan: _col
};
}
},refreshDataHb(startDate,endDate,startDateHB,endDateHB){
return getTableDatas(startDate,endDate,startDateHB,endDateHB);
}
},components:{
Search
},
mounted(){
_this=this;
/* let _startDate=_this.$props.startDate;
let _endDate=_this.$props.endDate;
if(this.queryStartTime !==_startDate || this.queryEndTime !==_endDate){
this.queryStartTime=_startDate
this.queryEndTime=_endDate
getTableDatas();
}*/
}
}
var getTableDatas=function(startDate,endDate,startDateHB,endDateHB){
var paramsData={
"startDate": startDate,
"endDate":endDate,
"startDateHB":startDateHB,
"endDateHB": endDateHB
}
_this.tableloading=true;
getHbData(paramsData).then(res=>{
_this.tableLoading=false;
if(res.code<=0){
_this.tableloading=false;
return 0;
}else{
_this.tableData=res.data
_this.tableloading=false;
}
return 1;
})
}
</script>

@ -0,0 +1,278 @@
<!-- 20250417 拆分核验数据汇总展示-->
<template>
<div class="top_div-stat">
<el-form :inline="true" :model="formInline" label-position="right" class="demo-form-inline" style="width:100%;height: 100%">
<el-form-item label="日期:" class="s_el_row">
<el-date-picker
v-model="rpTime"
type="datetimerange"
range-separator="To"
start-placeholder="开始时间"
end-placeholder="结束时间"
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
@calendar-change="calendarChange"
/>
</el-form-item>
<el-form-item label="" style="width:8%;margin-right:5px" class="s_el_row">
<div style="display:flex;text-align: left; height:100%; position: relative;margin:0;padding:0">
<el-button type="primary" style="margin-top: 0px;" @click="search" class="query_button" size="default" :icon="searchButton">查询</el-button>
</div>
</el-form-item>
</el-form>
</div>
<div class="contain-div-stat">
<div class="div_left" >
<div style="width:100%;padding-bottom: 20px;height: 10%" >
<p style="font-size: 20px">应收{{feeTotal}}&nbsp;</p>
</div>
<div id="statPie" style="width:100%;height: 40%" v-loading="tableloading">
</div>
<div id="vehicleclassRate" style="width:100%;height: 44%" v-loading="tableloading">
</div>
</div>
<div class="middle-div-stat">
<div style="width:100%;padding-bottom: 20px;height: 10%" >
<p style="font-size: 20px">拆分金额{{divfeeTotal}}&nbsp;</p>
</div>
<div id="statdivfeePie" style="width:100%;height: 40%" v-loading="tableloading">
</div>
<div id="vehicleclassdivFlow" style="width:100%;height: 44%" v-loading="tableloading">
</div>
</div>
<div class="middle-div-right-stat" style="height: 870px;overflow-y: auto">
<echatsTotalLineShow ref="echatsTotalLineShow"></echatsTotalLineShow>
</div>
</div>
</template>
<style >
html{
height: 98% !important;
width: 100% !important;
}
body{
height: 100% !important;
width: 99% !important;
}
#app{
height: 100% !important;
width: 100% !important;
}
.contain-div-stat{
height: 95%;
width: 100%;
display: flex;
}
.top_div-stat{
height: 5%;
width: 100%;
border-bottom: #c9c6c6 1px solid;
top: 0;
/*z-index: 1000; /* 确保它在其他内容之上 */
}
.middle-div-stat{
height: 100%;
width: 30%;
border-right: #c9c6c6 1px solid;
display: block;
}
.div_left{
height: 100%;
width: 30%;
/*border-right: #c9c6c6 solid;*/
position:relative;
}
.middle-div-right-stat{
height: 100%;
width: 40%;
position:relative;
}
</style>
<script >
import {
Search
} from '@element-plus/icons-vue'
import {getFeeShowTotal, getStatusToal, getVehicleClassToal} from "@/util/api/api";
import echatsTotalLineShow from "@/views/dev/echarts/echatsTotalLineShow.vue";
import tool from '@/util/tool';
var _this;
export default {
name: "divfeeShowStat",
data() {
return {
tableloading:false,
rpTime:[tool.DayDec(new Date(),-1),tool.DayDec(new Date(),-1)],
feeTotal:"0",
divfeeTotal:"0",
begindate:"",
enddate:"",
searchButton:Search,
}
},
methods: {
search() {//
console.log(tool.DayDec(new Date(),-1))
if(this.rpTime){
this.begindate=this.rpTime[0];
this.enddate=this.rpTime[1];
this.tableloading=true;
}else{
alert("请选择日期");
return ;
}
var params={
"queryStartTime":this.begindate,
"queryEndTime":this.enddate,
}
getFeeShowTotal(params).then(res=>{
if(res.count>0 && (res.data)[0] !== null && (res.data)[0] !== undefined && (res.data)[0] !== 'null' ){
this.feeTotal=(res.data)[0].feeTotal;
this.divfeeTotal=(res.data)[0].divfeeTotal;
}
//
var params={
"queryStartTime":this.begindate,
"queryEndTime":this.enddate,
}
getStatusToal(params).then(res=>{
let feeStatusTotal=res.data.feeStatusTotal;
if(feeStatusTotal !== null && feeStatusTotal !==undefined){
this.initEcharts('status',feeStatusTotal,'statPie','各状态金额','单位:元');
}
let divfeeStatusTotal=res.data.divfeeStatusTotal;
if(divfeeStatusTotal !== null && divfeeStatusTotal !==undefined){
this.initEcharts('status',divfeeStatusTotal,'statdivfeePie','各状态金额','单位:元');
}
var params={
"queryStartTime":this.begindate,
"queryEndTime":this.enddate,
}
getVehicleClassToal(params).then(res=>{
let vehicleClassTotal=res.data.vehicleClassTotal;
if(vehicleClassTotal !== null && vehicleClassTotal !==undefined){
this.initEcharts('classmoney',vehicleClassTotal,'vehicleclassRate','车种占比','');
}
let vehicleClassFlowTotal=res.data.vehicleClassFlowTotal;
if(vehicleClassFlowTotal !== null && vehicleClassFlowTotal !==undefined){
this.initEcharts('classflow',vehicleClassFlowTotal,'vehicleclassdivFlow','车种流量','单位:辆');
}
})
})
this.tableloading=false;
})
this.$refs["echatsTotalLineShow"].refreshData(this.begindate,this.enddate);
},calendarChange (val) {
this.firstChooseDate = val[0].getTime() //
if (val[1]) {
const timeRange = 1 * 24 * 60 * 60 * 1000;
let diffDay=(val[1].getTime() -val[0].getTime())/timeRange ;
this.diffDate = (diffDay==0?1:diffDay+1)//
this.firstChooseDate = "" //
}
},initOption(data,echartsId,title,subtext) {
let myChart = this.$echarts.init(document.getElementById(echartsId))
//
this.option = {
title: {
text: title,
subtext: subtext,
left: 'center'
},
tooltip: {
trigger: 'item',
left:'left'
},
legend: {
orient: 'horizontal', // vertical
top: 'bottom',
fontSize:'5px'
},
series: [
{
type: 'pie',
avoidLabelOverlap: true, //
radius: '50%',//55 , label
//radius: ['50%','70%'],//55 , label
center: ['50%', '50%'],// X Y
itemStyle: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
},
label: {
show: true,
formatter: echartsId==='vehicleclassRate'?'{b}:{c}%':'{b}:{c}'
},
labelline:{
show: true
},
//
emphasis: {
itemStyle: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
},
data: data
}
]
};
myChart.setOption(this.option);
}, initEcharts(dataType,echartsData,echartsId,title,subtext) {//
var data = [];
if (echartsData != null && echartsData.length > 0) {
for (var i=0;i<echartsData.length;i++) {
let item = echartsData[i];
switch (dataType) {
case "status":
data.push({
value: item.feeTotal,
name: item.statusName
});
break;
case "classmoney":
if(this.feeTotal !==undefined && this.feeTotal !=="0" && this.feeTotal !=="null"){
data.push({
value: Number.parseFloat(((item.feeTotal*100 )/(this.feeTotal*100)) *100).toFixed(2),
name: item.statusName
});
}
break;
case "classflow":
data.push({
value: item.feeTotal,
name: item.statusName
});
break;
}
}
}else{
data.push(
{value:0,name:"无数据"} )
}
this.initOption(data,echartsId,title,subtext)
},
},
components: {
echatsTotalLineShow
},
mounted() {
_this=this;
this.search();
}
}
function getCurrentDate(){
var myDate = new Date(); //
myDate.setDate(myDate.getDate() - 1);
// dateTemp = myDate.getFullYear()+"/"+(c)+"/"+myDate.getDate();
return myDate.getFullYear()+"-"+((myDate.getMonth()+1) >9?(myDate.getMonth()+1):"0"+(myDate.getMonth()+1))+"-"+(myDate.getDate() >9?myDate.getDate():"0"+myDate.getDate());
}
</script>

@ -1,34 +1,34 @@
<template> <template>
<div style="display: flex;width:1880px;height: 250px"> <div style="display: flex;width:1680px;height: 250px">
<div style="display: block;width:50%;height: 250px"> <div style="display: block;width:50%;height: 250px">
<div style="border-bottom: #d5d8d9 solid 2px;height: 30px;width:90%;position: relative"><b style="font-size: 15px;">应收</b></div> <div style="border-bottom: #d5d8d9 solid 2px;height: 30px;width:90%;position: relative"><b style="font-size: 15px;">应收</b></div>
<div id="YSLine" style="width: 940px;height:220px" v-loading="feeloading" ></div> <div id="YSLine" style="width: 800px;height:220px" v-loading="feeloading" ></div>
</div> </div>
<div style="display: block;width:50%;height: 250px"> <div style="display: block;width:50%;height: 250px">
<div style="border-bottom: #d5d8d9 solid 2px;height: 30px;width:90%;position: relative"><b style="font-size: 15px;">拆分准确</b></div> <div style="border-bottom: #d5d8d9 solid 2px;height: 30px;width:90%;position: relative"><b style="font-size: 15px;">拆分准确</b></div>
<div id="divRightLine" style="width: 940px;height:220px" v-loading="loading" ></div> <div id="divRightLine" style="width: 800px;height:220px" v-loading="loading" ></div>
</div> </div>
</div> </div>
<div style="display: flex;width:1880px;height: 250px"> <div style="display: flex;width:1680px;height: 250px">
<div style="display: block;width:50%;height: 250px"> <div style="display: block;width:50%;height: 250px">
<div style="border-bottom: #d5d8d9 solid 2px;height: 30px;width:90%;position: relative"><b style="font-size: 15px;">未拆分</b></div> <div style="border-bottom: #d5d8d9 solid 2px;height: 30px;width:90%;position: relative"><b style="font-size: 15px;">未拆分</b></div>
<div id="noDivLine" style="width: 940px;height:220px" v-loading="loading" ></div> <div id="noDivLine" style="width: 800px;height:220px" v-loading="loading" ></div>
</div> </div>
<div style="display: block;width:50%;height: 250px"> <div style="display: block;width:50%;height: 250px">
<div style="border-bottom: #d5d8d9 solid 2px;height: 30px;width:90%;position: relative"><b style="font-size: 15px;">未计费</b></div> <div style="border-bottom: #d5d8d9 solid 2px;height: 30px;width:90%;position: relative"><b style="font-size: 15px;">未计费</b></div>
<div id="noFeeLine" style="width: 940px;height:220px" v-loading="loading" ></div> <div id="noFeeLine" style="width: 800px;height:220px" v-loading="loading" ></div>
</div> </div>
</div> </div>
<div style="display: flex;width:1880px;height: 250px"> <div style="display: flex;width:1680px;height: 250px">
<div style="display: block;width:50%;height: 250px"> <div style="display: block;width:50%;height: 250px">
<div style="border-bottom: #d5d8d9 solid 2px;height: 30px;width:90%;position: relative"><b style="font-size: 15px;">计费大于拆分</b></div> <div style="border-bottom: #d5d8d9 solid 2px;height: 30px;width:90%;position: relative"><b style="font-size: 15px;">计费大于拆分</b></div>
<div id="lessDivLine" style="width: 940px;height:220px" v-loading="loading" ></div> <div id="lessDivLine" style="width: 800px;height:220px" v-loading="loading" ></div>
</div> </div>
<div style="display: block;width:50%;height: 250px"> <div style="display: block;width:50%;height: 250px">
<div style="border-bottom: #d5d8d9 solid 2px;height: 30px;width:90%;position: relative"><b style="font-size: 15px;">计费小于拆分</b></div> <div style="border-bottom: #d5d8d9 solid 2px;height: 30px;width:90%;position: relative"><b style="font-size: 15px;">计费小于拆分</b></div>
<div id="moreDivLine" style="width: 940px;height:220px" v-loading="loading" ></div> <div id="moreDivLine" style="width: 800px;height:220px" v-loading="loading" ></div>
</div> </div>
</div> </div>
</template> </template>
@ -66,7 +66,8 @@ export default {
"queryEndTime":endDate, "queryEndTime":endDate,
"subcomno":subcomno, "subcomno":subcomno,
"roadno":roadno, "roadno":roadno,
"stano":stano "stano":stano,
"isNoContainJm":"Y" //
} }
getDivDataList(paramsObj).then( getDivDataList(paramsObj).then(
res=>{ res=>{
@ -84,9 +85,11 @@ export default {
var dataNoFeeFlow = []; var dataNoFeeFlow = [];
var dataLessDiv = []; var dataLessDiv = [];
var dataLessDivFee = [];
var dataLessDivFlow = []; var dataLessDivFlow = [];
var dataMoreDiv = []; var dataMoreDiv = [];
var dataMoreDivFee = [];
var dataMoreDivFlow = []; var dataMoreDivFlow = [];
if(_data !==undefined ){ if(_data !==undefined ){
@ -104,10 +107,12 @@ export default {
} }
if(divData.status ==="2"){// if(divData.status ==="2"){//
dataLessDiv.push(tool.NumRound(divData.fee)); dataLessDiv.push(tool.NumRound(divData.fee));
dataLessDivFee.push(tool.NumRound(divData.divfee));
dataLessDivFlow.push(divData.carcount); dataLessDivFlow.push(divData.carcount);
} }
if(divData.status ==="3"){// if(divData.status ==="3"){//
dataMoreDiv.push(tool.NumRound(divData.fee)); dataMoreDiv.push(tool.NumRound(divData.fee));
dataMoreDivFee.push(tool.NumRound(divData.divfee));
dataMoreDivFlow.push(divData.carcount); dataMoreDivFlow.push(divData.carcount);
} }
if(divData.status ==="4"){// if(divData.status ==="4"){//
@ -124,8 +129,8 @@ export default {
this.initOptionLine('divRightLine', dataX, dataRight, dataRightFlow); this.initOptionLine('divRightLine', dataX, dataRight, dataRightFlow);
this.initOptionLine('noDivLine', dataX, dataNoDiv, dataNoDivFlow); this.initOptionLine('noDivLine', dataX, dataNoDiv, dataNoDivFlow);
this.initOptionLine('noFeeLine', dataX, dataNoFee, dataNoFeeFlow); this.initOptionLine('noFeeLine', dataX, dataNoFee, dataNoFeeFlow);
this.initOptionLine('lessDivLine', dataX, dataLessDiv, dataLessDivFlow); this.initOptionLineMoreLess('lessDivLine', dataX, dataLessDiv,dataLessDivFee, dataLessDivFlow);
this.initOptionLine('moreDivLine', dataX, dataMoreDiv, dataMoreDivFlow); this.initOptionLineMoreLess('moreDivLine', dataX, dataMoreDiv,dataMoreDivFee, dataMoreDivFlow);
}) })
} }
} }
@ -293,6 +298,151 @@ export default {
// //
_this.$emit("changeGantryCount",params.name); _this.$emit("changeGantryCount",params.name);
});*/ });*/
},initOptionLineMoreLess(divId,dataX,dataMoney,dataFeeMoney,dataFlow) {
let myChart = this.$echarts.init(document.getElementById(divId))
//
this.option = {
title : {
text: '',
subtext: ''
},
tooltip : {
trigger: 'axis',
//position:['20px','20px']
},
legend: {
data:["流量(辆)","计费金额(元)","拆分金额(元)"]
},
toolbox: {
show : true,
orient: 'vertical',
title : {
line : '折线图',
bar : '柱形图'
},
feature : {
mark : {show: true},
//
//dataView : {show: true, readOnly: false},
magicType : {show: true,
title : {
line : '折线图',
bar : '柱形图'
},
type: ['line', 'bar']},
}
},
calculable : true,
xAxis :
{
type : 'category',
name:'日期',
nameTextStyle:{
lineHeight:30,
verticalAlign:'top'
},
boundaryGap : true,
axisTick: {
show: true,
alignWithLabel:true
},
axisLabel: { //x
show:true,
interval:0,//使x
//rotate:45,
textStyle:{fontSize:10}
},
data : dataX
}, dataZoom: [{
type: 'slider',
show: true, //flase
xAxisIndex: [0],
backgroundColor:'rgb(233,236,238)',
handleColor:'rgba(147,145,145,0.81)',
fillerColor:'rgb(184,186,187)',
handleSize:30,//
height:30,
left: '9%', //
bottom: -5,
start: 0,//
end: 110 //x
}],
yAxis :[
{
type : 'value',
axisLabel : {
formatter: '{value}'
},
show:false,
splitLine:{
show:true
},
lineStyle:{
color:'black',
type:'solid',
width:2
},
sync: true,
splitNumber:10,
position:'left'
},{
type : 'value',
axisLabel : {
formatter: '{value}'
},
show:false,
splitLine:{
show:true
},
lineStyle:{
color:'black',
type:'solid',
width:2
},
sync: true,
splitNumber:100,
position:'right'
}
],
series : [
{
name:'流量(辆)',
type:'line',
data:dataFlow,
label:{
show: true, //
position: 'top', //
formatter: '{c}' // {c}
},
yAxisIndex:0
},{
name:'计费金额(元)',
type:'bar',
data:dataMoney,
label:{
show: true, //
position: 'inside', //
formatter: '{c}' // {c}
},
yAxisIndex:1
},{
name:'拆分金额(元)',
type:'bar',
data:dataFeeMoney,
label:{
show: true, //
position: 'inside', //
formatter: '{c}' // {c}
},
yAxisIndex:1
}
]
};
myChart.setOption(this.option);
} }
},mounted() { },mounted() {
_this=this; _this=this;

@ -0,0 +1,534 @@
<!-- 20250417 拆分核验数据汇总展示-->
<template>
<div style="width:100%;height: 1500px">
<div style="display: block;width:100%;height:250px">
<div style="width:90%;position: relative"><b>应收</b></div>
<div id="YSLine" style="width: 700px;height:230px;border-bottom: #6b778c 1px solid" v-loading="loading" ></div>
</div>
<div style="display: block;width:100%;height: 250px">
<div style="width:90%;position: relative"><b >拆分准确</b></div>
<div id="divRightLine" style="width: 700px;height:230px;border-bottom: #6b778c 1px solid" v-loading="loading" ></div>
</div>
<div style="display: block;width:100%;height: 250px">
<div style="width:90%;position: relative"><b >未拆分</b></div>
<div id="noDivLine" style="width: 700px;height:230px;border-bottom: #6b778c 1px solid" v-loading="loading" ></div>
</div>
<div style="display: block;width:100%;height: 250px">
<div style="width:90%;position: relative"><b >未计费</b></div>
<div id="noFeeLine" style="width: 700px;height:230px;border-bottom: #6b778c 1px solid" v-loading="loading" ></div>
</div>
<div style="display: block;width:100%;height: 250px">
<div style="width:90%;position: relative"><b >计费大于拆分</b></div>
<div id="lessDivLine" style="width: 700px;height:230px;border-bottom: #6b778c 1px solid" v-loading="loading" ></div>
</div>
<div style="display: block;width:100%;height: 250px">
<div style="width:90%;position: relative"><b >计费小于拆分</b></div>
<div id="moreDivLine" style="width: 700px;height:230px;" v-loading="loading" ></div>
</div>
</div>
</template>
<script>
import {ref } from 'vue';
import tool from '@/util/tool';
import {getDivDataList, getFeeTotal} from "@/util/api/api";
//import {getGantryPassDivStatList} from '../../../util/api/api.js'
var _this;
export default {
name: "echatsTotalLine",
data() {
return {
loading:ref(false),
feeloading:ref(false),
beginDate:"",
endDate:"",
dataType:"JT",
//dateTime:'2024-07-22'
}
},
methods: {
refreshData(beginDate,endDate){
this.loading=true;
this.feeloading=true;
this.queryStartTime= beginDate;
this.queryEndTime= endDate;
var paramsObj={
"queryStartTime":beginDate,
"queryEndTime":endDate,
"subcomno":"",
"roadno":"",
"stano":"",
"isNoContainJm":""
}
getDivDataList(paramsObj).then(
res=>{
this.loading=false;
if (res.code > 0) {
let _data = res.data;
let dataX=[];
var dataRight = [];
var dataRightFlow = [];
var dataNoDiv = [];
var dataNoDivFlow = [];
var dataNoFee = [];
var dataNoFeeFlow = [];
var dataLessDiv = [];
var dataLessDivFee = [];
var dataLessDivFlow = [];
var dataMoreDiv = [];
var dataMoreDivFee = [];
var dataMoreDivFlow = [];
if(_data !==undefined ){
if (_data.length > 0) {
var _classdate="";
for(var k=0;k<_data.length;k++){
let divData=_data[k];
if(_classdate !== divData.classdate){
dataX.push(tool.formatDate(new Date(divData.classdate),"YYYY-MM-DD"));
_classdate=divData.classdate;
}
if(divData.status ==="1"){
dataRight.push(tool.NumRound(divData.fee));
dataRightFlow.push(divData.carcount);
}
if(divData.status ==="2"){//
dataLessDiv.push(tool.NumRound(divData.fee));
dataLessDivFee.push(tool.NumRound(divData.divfee));
dataLessDivFlow.push(divData.carcount);
}
if(divData.status ==="3"){//
dataMoreDiv.push(tool.NumRound(divData.fee));
dataMoreDivFee.push(tool.NumRound(divData.divfee));
dataMoreDivFlow.push(divData.carcount);
}
if(divData.status ==="4"){//
dataNoFee.push(tool.NumRound(divData.divfee));
dataNoFeeFlow.push(divData.carcount);
}
if(divData.status ==="5"){//
dataNoDiv.push(tool.NumRound(divData.fee));
dataNoDivFlow.push(divData.carcount);
}
}
}
this.$nextTick(() => {
this.initOptionLine('divRightLine', dataX, dataRight, dataRightFlow);
this.initOptionLine('noDivLine', dataX, dataNoDiv, dataNoDivFlow);
this.initOptionLine('noFeeLine', dataX, dataNoFee, dataNoFeeFlow);
this.initOptionLineMoreLess('lessDivLine', dataX, dataLessDiv,dataLessDivFee, dataLessDivFlow);
this.initOptionLineMoreLess('moreDivLine', dataX, dataMoreDiv,dataMoreDivFee, dataMoreDivFlow);
})
}
}
}
)
getFeeTotal(paramsObj).then(
res=>{
this.feeloading=false;
if (res.code > 0) {
let _data = res.data;
if (_data.length > 0) {
let dataX=[];
var dataYS = [];
var dataYSFlow = [];
if(_data !==undefined ){
for(var k=0;k<_data.length;k++){
let divData=_data[k];
dataX.push(tool.formatDate(new Date(divData.classdate),"YYYY-MM-DD"));
dataYS.push(tool.NumRound(divData.fee));
dataYSFlow.push(divData.carcount);
}
}
this.$nextTick(() => {
this.initOptionLine('YSLine', dataX, dataYS, dataYSFlow);
})
}
}
}
)
},initOptionLine(divId,dataX,dataMoney,dataFlow) {
let myChart = this.$echarts.init(document.getElementById(divId))
//
this.option = {
title : {
text: '',
subtext: ''
},
tooltip : {
trigger: 'axis',
//position:['20px','20px']
},
legend: {
data:["流量(辆)","金额(元)"]
},
calculable : true,
xAxis :
{
type : 'category',
name:'日期',
nameTextStyle:{
lineHeight:30,
verticalAlign:'top'
},
boundaryGap : true,
axisTick: {
show: true,
alignWithLabel:true
},
axisLabel: { //x
show:true,
interval:0,//使x
//rotate:45,
textStyle:{fontSize:10}
},
data : dataX
}, dataZoom: [{
type: 'slider',
show: true, //flase
xAxisIndex: [0],
backgroundColor:'rgb(233,236,238)',
handleColor:'rgba(147,145,145,0.81)',
fillerColor:'rgb(184,186,187)',
handleSize:30,//
height:30,
left: '9%', //
bottom: -5,
start: 0,//
end: 110 //x
}],
yAxis :[
{
type : 'value',
axisLabel : {
formatter: '{value}'
},
show:false,
splitLine:{
show:true
},
lineStyle:{
color:'black',
type:'solid',
width:2
},
sync: true,
splitNumber:10,
position:'left'
},{
type : 'value',
axisLabel : {
formatter: '{value}'
},
show:false,
splitLine:{
show:true
},
lineStyle:{
color:'black',
type:'solid',
width:2
},
sync: true,
splitNumber:100,
position:'right'
}
],
series : [
{
name:'流量(辆)',
type:'line',
data:dataFlow,
label:{
show: true, //
position: 'top', //
formatter: '{c}' // {c}
},
yAxisIndex:0
},{
name:'金额(元)',
type:'bar',
data:dataMoney,
label:{
show: true, //
position: 'inside', //
formatter: '{c}' // {c}
},
yAxisIndex:1
}
]
};
myChart.setOption(this.option);
/*myChart.on('click', function(params) {
//
_this.$emit("changeGantryCount",params.name);
});*/
},initOptionLineMoreLess(divId,dataX,dataMoney,dataFeeMoney,dataFlow) {
let myChart = this.$echarts.init(document.getElementById(divId))
//
this.option = {
title : {
text: '',
subtext: ''
},
tooltip : {
trigger: 'axis',
//position:['20px','20px']
},
legend: {
data:["流量(辆)","计费金额(元)","拆分金额(元)"]
},
/* toolbox: {
show : true,
orient: 'vertical',
title : {
line : '折线图',
bar : '柱形图'
},
feature : {
mark : {show: true},
//
//dataView : {show: true, readOnly: false},
magicType : {show: true,
title : {
line : '折线图',
bar : '柱形图'
},
type: ['line', 'bar']},
}
},*/
calculable : true,
xAxis :
{
type : 'category',
name:'日期',
nameTextStyle:{
lineHeight:30,
verticalAlign:'top'
},
boundaryGap : true,
axisTick: {
show: true,
alignWithLabel:true
},
axisLabel: { //x
show:true,
interval:0,//使x
//rotate:45,
textStyle:{fontSize:10}
},
data : dataX
}, dataZoom: [{
type: 'slider',
show: true, //flase
xAxisIndex: [0],
backgroundColor:'rgb(233,236,238)',
handleColor:'rgba(147,145,145,0.81)',
fillerColor:'rgb(184,186,187)',
handleSize:30,//
height:30,
left: '9%', //
bottom: -5,
start: 0,//
end: 110 //x
}],
yAxis :[
{
type : 'value',
axisLabel : {
formatter: '{value}'
},
show:false,
splitLine:{
show:true
},
lineStyle:{
color:'black',
type:'solid',
width:2
},
sync: true,
splitNumber:10,
position:'left'
},{
type : 'value',
axisLabel : {
formatter: '{value}'
},
show:false,
splitLine:{
show:true
},
lineStyle:{
color:'black',
type:'solid',
width:2
},
sync: true,
splitNumber:100,
position:'right'
}
],
series : [
{
name:'流量(辆)',
type:'line',
data:dataFlow,
label:{
show: true, //
position: 'top', //
formatter: '{c}' // {c}
},
yAxisIndex:0
},{
name:'计费金额(元)',
type:'bar',
data:dataMoney,
label:{
show: true, //
position: 'inside', //
formatter: '{c}' // {c}
},
yAxisIndex:1
},{
name:'拆分金额(元)',
type:'bar',
data:dataFeeMoney,
label:{
show: true, //
position: 'inside', //
formatter: '{c}' // {c}
},
yAxisIndex:1
}
]
};
myChart.setOption(this.option);
}
},mounted() {
_this=this;
/*
var paramsObj={
"beginDate":this.beginDate,
"endDate":this.endDate,
"dataType":this.dataType
}
getDivDataList(paramsObj).then(
res=>{
if (res.code > 0) {
let _data = res.data;
if (_data.length > 0) {
let dataX=[];
var dataYS = [];
var dataYSFlow = [];
var dataRight = [];
var dataRightFlow = [];
var dataNoDiv = [];
var dataNoDivFlow = [];
var dataNoFee = [];
var dataNoFeeFlow = [];
var dataLessDiv = [];
var dataLessDivFlow = [];
var dataMoreDiv = [];
var dataMoreDivFlow = [];
var dataYQ = [];
var dataYQFlow = [];
var dataJF = [];
var dataJFFlow = [];
if(_data !==undefined ){
for(var k=0;k<_data.length;k++){
dataX.push(tool.formatDate(new Date(_data[k].CLASSDATE),"YYYY-MM-DD"));
dataYS.push(tool.NumRound(_data[k].JTYSMONEY/10000));
dataYSFlow.push(_data[k].JTYSFLOW);
dataRight.push(tool.NumRound(_data[k].RIGHTMONEY /10000));
dataRightFlow.push(_data[k].RIGHTFLOW);
dataNoDiv.push(tool.NumRound(_data[k].NODIVMONEY/10000));
dataNoDivFlow.push(_data[k].NODIVFLOW);
dataNoFee.push(tool.NumRound(_data[k].NOFEEMONEY/10000));
dataNoFeeFlow.push(_data[k].NOFEEFLOW);
dataLessDiv.push(tool.NumRound(_data[k].LESSDIVMONEY/10000));
dataLessDivFlow.push(_data[k].LESSDIVFLOW);
dataMoreDiv.push(tool.NumRound(_data[k].MOREDIVMONEY/10000));
dataMoreDivFlow.push(_data[k].MOREDIVFLOW);
dataYQ.push(tool.NumRound(_data[k].YQMONEY/10000));
dataYQFlow.push(_data[k].YQFLOW);
dataJF.push(tool.NumRound(_data[k].JFMONEY/10000));
dataJFFlow.push(_data[k].JFFLOW);
}
}
this.initOptionLine('YSLine',dataX,dataYS,dataYSFlow);
this.initOptionLine('divRightLine',dataX,dataRight,dataRightFlow);
this.initOptionLine('noDivLine',dataX,dataNoDiv,dataNoDivFlow);
this.initOptionLine('noFeeLine',dataX,dataNoFee,dataNoFeeFlow);
this.initOptionLine('lessDivLine',dataX,dataLessDiv,dataLessDivFlow);
this.initOptionLine('moreDivLine',dataX,dataMoreDiv,dataMoreDivFlow);
this.initOptionLine('yqLine',dataX,dataYQ,dataYQFlow);
this.initOptionLine('jfLine',dataX,dataJF,dataJFFlow);
}
_this.loading=false;
}
}
)*/
}
}
/*function formatDate(dateString,format) {
const date = new Date(dateString);
const year = date.getFullYear();
const month = (date.getMonth() + 1).toString().padStart(2, '0');
const day = date.getDate().toString().padStart(2, '0');
let hour=date.getHours();
let minute=date.getMinutes();
let second=date.getSeconds();
if(hour<10){
hour ="0"+hour;
}
if(minute<10){
minute ="0"+minute;
}
if(second<10){
second ="0"+second;
}
const milSecond=date.getMilliseconds();
if(format=="YYYY-MM-DD"){
return `${year}-${month}-${day}`;
}else if(format=="YYYY-MM-DD HH:MM:SS"){
return `${year}-${month}-${day} ${hour}:${minute}:${second}`;
}else if(format=="YYYY-MM-DD HH:MM:SS:SSS"){
return `${year}-${month}-${day} ${hour}:${minute}:${second}:${milSecond}`;
}else if(format=="HH:MM:SS"){
return `${hour}:${minute}:${second}:${milSecond}`;
}
return "";
}*/
</script>
<style>
</style>

@ -1,5 +1,4 @@
<template> <template>
<div class="contain-div">
<div class="top_div"> <div class="top_div">
<el-form :inline="true" :model="formInline" :label-position="right" class="demo-form-inline" style="width:100%;height: 100%"> <el-form :inline="true" :model="formInline" :label-position="right" class="demo-form-inline" style="width:100%;height: 100%">
<el-form-item label="日期:" class="s_el_row"> <el-form-item label="日期:" class="s_el_row">
@ -11,6 +10,7 @@
end-placeholder="结束时间" end-placeholder="结束时间"
value-format="YYYY-MM-DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss"
format="YYYY-MM-DD HH:mm:ss" format="YYYY-MM-DD HH:mm:ss"
@calendar-change="calendarChange"
/> />
</el-form-item> </el-form-item>
<el-form-item label="分公司名称:" class="s_el_row" style="width:13%"> <el-form-item label="分公司名称:" class="s_el_row" style="width:13%">
@ -23,7 +23,7 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="路段名称:" class="s_el_row"> <el-form-item label="路段名称:" class="s_el_row" style="width:12%">
<el-select v-model="roadno" @change="changeroadValue" filterable placeholder="请选择..." clearable style="width:100%;height:100%;border-color: gainsboro"> <el-select v-model="roadno" @change="changeroadValue" filterable placeholder="请选择..." clearable style="width:100%;height:100%;border-color: gainsboro">
<el-option <el-option
v-for="item in roadDatas" v-for="item in roadDatas"
@ -33,7 +33,7 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="收费站:" class="s_el_row" style="width:13%"> <el-form-item label="收费站:" class="s_el_row" style="width:10%">
<el-select v-model="stano" filterable placeholder="请选择..." style="width:100%;height:100%;border-color: gainsboro" clearable> <el-select v-model="stano" filterable placeholder="请选择..." style="width:100%;height:100%;border-color: gainsboro" clearable>
<el-option <el-option
v-for="item in staDatas" v-for="item in staDatas"
@ -43,14 +43,33 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="" style="width:8%;" class="s_el_row"> <el-form-item style="padding: 0px;margin-right:5px;">
<el-radio-group v-model="radio" @change="changeRadio">
<el-radio :label="6">集团汇总</el-radio>
<el-radio :label="9">减免汇总</el-radio>
<el-radio :label="3">环比数据</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="" style="width:8%;margin-right:5px" class="s_el_row">
<div style="display:flex;text-align: left; height:100%; position: relative;margin:0;padding:0"> <div style="display:flex;text-align: left; height:100%; position: relative;margin:0;padding:0">
<el-button type="primary" style="margin-top: 0px;" @click="search" class="query_button" size="default" :icon="searchButton">查询</el-button> <el-button type="primary" style="margin-top: 0px;" @click="search" class="query_button" size="default" :icon="searchButton">查询</el-button>
</div> </div>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
<div class="charts_div" style="height: 800px"> <div class="contain-div">
<div class="everydata_div" style="width:100%;height: 600px;border-bottom: #6b778c 1px solid;position:relative">
<div style="width:100%;padding-bottom: 20px;height: 100%" v-show="hbShow">
<hbData ref="hbData" ></hbData>
</div>
<div class="grid_main" style="width:100%;height: 100%" v-show="showHZ">
<everyDayData ref="everyDayData" ></everyDayData>
</div>
<div class="grid_main" style="width:100%;height: 100%" v-show="showClass">
<everyDayDataJM ref="everyDayDataJM" ></everyDayDataJM>
</div>
</div>
<div class="charts_div" style="height: 800px;position:relative">
<echatsTotalLine ref="echatsTotalLine" /> <echatsTotalLine ref="echatsTotalLine" />
</div> </div>
<div class="middle-div"> <div class="middle-div">
@ -154,13 +173,15 @@ body{
width: 100% !important; width: 100% !important;
} }
.contain-div{ .contain-div{
height: 100%; height: 90%;
width: 100%; width: 100%;
} }
.top_div{ .top_div{
height: 5%; height: 5%;
width: 100%; width: 100%;
border-bottom: #c9c6c6 solid; border-bottom: #c9c6c6 solid;
top: 0;
/*z-index: 1000; /* 确保它在其他内容之上 */
} }
.middle-div{ .middle-div{
height: 95%; height: 95%;
@ -195,12 +216,21 @@ import {watch,ref} from 'vue'
import { getSelectList,getRankList,getHzData} from "@/util/api/api"; import { getSelectList,getRankList,getHzData} from "@/util/api/api";
import mapvue from '@/views/dev/detail/map.vue' import mapvue from '@/views/dev/detail/map.vue'
import feeStatDetail from '@/views/dev/detail/feeStatDetail.vue' import feeStatDetail from '@/views/dev/detail/feeStatDetail.vue'
import everyDayData from "@/views/dev/detail/everyDayData.vue";
import hbData from "@/views/dev/detail/hbData.vue";
import echatsTotalLine from "@/views/dev/echarts/echatsTotalLine.vue"; import echatsTotalLine from "@/views/dev/echarts/echatsTotalLine.vue";
import everyDayDataJM from "@/views/dev/detail/everyDayDataJM.vue";
import tool from "@/util/tool";
var _this; var _this;
export default { export default {
name: "checkEcharts", name: "checkEcharts",
data() { data() {
return { return {
hbShow:false,
showClass:false,
radio:6,
showHZ:true,
showHZMF:false,
tableloading:false, tableloading:false,
rpTime:"", rpTime:"",
searchButton:Search, searchButton:Search,
@ -218,6 +248,10 @@ data() {
typedivfeeTotal:"0", typedivfeeTotal:"0",
begindate:"", begindate:"",
enddate:"", enddate:"",
diffDate:1,//
firstChooseDate:"",
hbStartTimeQuery:"",
hbEndTimeQuery:"",
rankdata:[], rankdata:[],
rankNum:10, rankNum:10,
vehicleclassText:"KC", vehicleclassText:"KC",
@ -233,17 +267,60 @@ data() {
} }
}, },
methods: { methods: {
changeRadio(value){
if(value===3){
this.hbShow=true;
this.showHZ=false;
this.showHZMF=false;
this.showClass=false;
if(this.begindate && this.enddate && this.enddate!==""){
this.hbStartTimeQuery=tool.DayDec(this.begindate,0- this.diffDate);
this.hbEndTimeQuery=tool.DayDec(this.enddate,0- this.diffDate);
this.$refs["hbData"].refreshDataHb(this.begindate,this.enddate,this.hbStartTimeQuery,this.hbEndTimeQuery)
}
}else if(value===9){
this.hbShow=false;
this.showHZ=false;
this.showHZMF=false;
this.showClass=true;
this.$refs["everyDayDataJM"].refreshData(this.begindate,this.enddate,this.subcomno,this.roadno,this.stano,this.radio)
}else if(value===6 ){
this.hbShow=false;
this.showHZ=true;
this.showHZMF=false;
this.showClass=false;
this.$refs["everyDayData"].refreshData(this.begindate,this.enddate,this.subcomno,this.roadno,this.stano,this.radio)
}
},calendarChange (val) {
this.firstChooseDate = val[0].getTime() //
if (val[1]) {
const timeRange = 1 * 24 * 60 * 60 * 1000;
let diffDay=(val[1].getTime() -val[0].getTime())/timeRange ;
this.diffDate = (diffDay==0?1:diffDay+1)//
this.firstChooseDate = "" //
}
},
search() {// search() {//
console.log(this.rpTime) console.log(this.rpTime)
if(this.rpTime){ if(this.rpTime){
this.begindate=this.rpTime[0]; this.begindate=this.rpTime[0];
this.enddate=this.rpTime[1]; this.enddate=this.rpTime[1];
this.tableloading=true; this.tableloading=true;
this.hbStartTimeQuery=tool.DayDec(this.begindate,0- this.diffDate);
this.hbEndTimeQuery=tool.DayDec(this.enddate,0- this.diffDate);
}else{ }else{
alert("请选择日期"); alert("请选择日期");
return ; return ;
} }
this.$refs["echatsTotalLine"].refreshData(this.begindate,this.enddate,this.subcomno,this.roadno,this.stano); this.$refs["echatsTotalLine"].refreshData(this.begindate,this.enddate,this.subcomno,this.roadno,this.stano);
if(this.radio ===3){
this.$refs["hbData"].refreshDataHb(this.begindate,this.enddate,this.hbStartTimeQuery,this.hbEndTimeQuery)
}else if(this.radio ===9){
this.$refs["everyDayDataJM"].refreshData(this.begindate,this.enddate,this.subcomno,this.roadno,this.stano,this.radio)
}else{
this.$refs["everyDayData"].refreshData(this.begindate,this.enddate,this.subcomno,this.roadno,this.stano,this.radio)
}
var params={ var params={
"pageNum":1, "pageNum":1,
"pageSize":10, "pageSize":10,
@ -347,9 +424,11 @@ methods: {
}, },
components: { components: {
echatsTotalLine, echatsTotalLine,
Search, everyDayDataJM,
mapvue, mapvue,
feeStatDetail feeStatDetail,
everyDayData,
hbData
}, },
mounted() { mounted() {
_this=this; _this=this;

Loading…
Cancel
Save