稽核数据新增处理结果维护页面

master
白美平 5 months ago
parent e43d2200ff
commit 891540f501

@ -53,6 +53,7 @@ export const getDivListByFeeId = data => post("/devProjectJt/divPassidAll/getDiv
export const getFeeListByDivFeeId = data => post("/devProjectJt/divPassidAll/getFeeListByDivFeeId", data,"") export const getFeeListByDivFeeId = data => post("/devProjectJt/divPassidAll/getFeeListByDivFeeId", data,"")
//数据匹配 //数据匹配
export const matchData = data => post("/devProjectJt/noFeeOrDivfee/matchData", data,"") export const matchData = data => post("/devProjectJt/noFeeOrDivfee/matchData", data,"")
export const updateMatchData = data => post("/devProjectJt/divPassidAllMatch/updateMatchData", data,"")
//20250513 //20250513
export const getFeeunitListByPage = data => post("/devProjectJt/feeunit/getListByPage", data,"") export const getFeeunitListByPage = data => post("/devProjectJt/feeunit/getListByPage", data,"")

@ -4,8 +4,8 @@ import {ElMessage} from "element-plus";
// axios.defaults.staticBaseURL = '../' // axios.defaults.staticBaseURL = '../'
axios.defaults.baseURL = 'http://' + window.location.host //正式 //axios.defaults.baseURL = 'http://' + window.location.host //正式
//axios.defaults.baseURL = 'http://' + window.location.hostname + ':9004' //测试 axios.defaults.baseURL = 'http://' + window.location.hostname + ':9004' //测试
//post请求头 //post请求头
//axios.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded;charset=UTF-8"; //axios.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded;charset=UTF-8";

@ -6,6 +6,7 @@ import divfeeShowStat from '@/views/dev/divfeeShowStat.vue';
import mapfee from '@/views/dev/detail/map.vue'; import mapfee from '@/views/dev/detail/map.vue';
import rankAndtollintervalid from '@/views/dev/rankAndtollintervalid.vue'; import rankAndtollintervalid from '@/views/dev/rankAndtollintervalid.vue';
import feeStatDetail from '@/views/dev/detail/feeStatDetail.vue'; import feeStatDetail from '@/views/dev/detail/feeStatDetail.vue';
import updateSolveData from '@/views/dev/detail/nodivandnofee/updateSolveData.vue';
@ -32,6 +33,9 @@ const routes = [
}, { }, {
path: '/devProjectJt/feeStatDetail', path: '/devProjectJt/feeStatDetail',
component: feeStatDetail,// component: feeStatDetail,//
}, {
path: '/devProjectJt/updateSolveData',
component: updateSolveData,//
} }
] ]

@ -21,11 +21,11 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table-column> </el-table-column>
<el-table-column label="有计费无拆分" width="200" resizable align="center" > <el-table-column label="未拆分(有计费数据)" width="200" resizable align="center" >
<el-table-column prop="nodivmoney" label="金额(万元)" resizable align="center" width="130"/> <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 prop="nodivflow" label="流量(万辆)" resizable align="center" width="100" />
</el-table-column> </el-table-column>
<el-table-column label="无计费有拆分" width="200" resizable align="center"> <el-table-column label="未计费(有拆分数据)" width="200" resizable align="center">
<el-table-column prop="nofeemoney" label="金额(万元)" resizable align="center" width="130"/> <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 prop="nofeeflow" label="流量(万辆)" resizable align="center" width="100"/>
</el-table-column> </el-table-column>

@ -122,8 +122,8 @@ export default {
searchButton: Search, searchButton: Search,
doubleclikIndex: -1,// doubleclikIndex: -1,//
params:{}, params:{},
nofeeTitle:"有计费无拆分", nofeeTitle:"",
feeTitle:"无计费有拆分", feeTitle:"未计费(有拆分数据",
statusCheckDivMaatch:'10' ,// statusCheckDivMaatch:'10' ,//
statusCheckListDivMaatch:[{"VALUE":"10","LABEL":"需处理"},{"VALUE":"12","LABEL":"作废"},{"VALUE":"11","LABEL":"其它"}] statusCheckListDivMaatch:[{"VALUE":"10","LABEL":"需处理"},{"VALUE":"12","LABEL":"作废"},{"VALUE":"11","LABEL":"其它"}]

@ -130,8 +130,8 @@ export default {
doubleclikIndex: -1,// doubleclikIndex: -1,//
params:{}, params:{},
tooltipContent:'这是第一行<br>这是第二行', tooltipContent:'这是第一行<br>这是第二行',
nofeeTitle:"无计费有拆分", nofeeTitle:"",
feeTitle:"有计费无拆分", feeTitle:"未拆分(有计费数据)",
div_full_loading:false, div_full_loading:false,
paramsData:{}, paramsData:{},
statusCheck:'10' ,// statusCheck:'10' ,//

@ -303,7 +303,7 @@ function exportFeeData(paramsData) {
if (res.data != "") { if (res.data != "") {
//fileName: //fileName:
var fileName = '有计费无拆分_' + tool.getCurrentDateHour(); //decodeURIComponent(res.headers["Content-Disposition"].split("=")[1]) var fileName = '未拆分(有计费数据)_' + tool.getCurrentDateHour(); //decodeURIComponent(res.headers["Content-Disposition"].split("=")[1])
let blob = new Blob([res.data], {type: 'application/vnd.ms-excel;charset=utf-8'}); let blob = new Blob([res.data], {type: 'application/vnd.ms-excel;charset=utf-8'});
// ie // ie
if (window.navigator && window.navigator.msSaveOrOpenBlob) { if (window.navigator && window.navigator.msSaveOrOpenBlob) {

@ -19,13 +19,16 @@
<el-table-column prop="divFee" label="拆分金额(元)" width="250px" resizable align="center" /> <el-table-column prop="divFee" label="拆分金额(元)" width="250px" resizable align="center" />
<el-table-column prop="vehicletype" label="车型" :show-overflow-tooltip="true" width="250px" resizable align="center" /> <el-table-column prop="vehicletype" label="车型" :show-overflow-tooltip="true" width="250px" resizable align="center" />
<el-table-column prop="vehicleclass" label="车种" :show-overflow-tooltip="true" width="100px" resizable align="center" /> <el-table-column prop="vehicleclass" label="车种" :show-overflow-tooltip="true" width="100px" resizable align="center" />
<el-table-column prop="maname" label="处理人" :show-overflow-tooltip="true" width="180px" resizable align="center" />
<el-table-column prop="createTime" label="处理时间" :show-overflow-tooltip="true" :formatter="dateFormatterSSS" width="200px" resizable align="center" />
<el-table-column prop="datatype" label="数据类型" :show-overflow-tooltip="true" width="200px" resizable align="center" /> <el-table-column prop="datatype" label="数据类型" :show-overflow-tooltip="true" width="200px" resizable align="center" />
<el-table-column prop="checkStatus" label="处理结果" :show-overflow-tooltip="true" width="200px" resizable align="center" /> <el-table-column prop="maname" label="稽核人员" :show-overflow-tooltip="true" width="180px" resizable align="center" />
<el-table-column prop="createTime" label="稽核时间" :show-overflow-tooltip="true" :formatter="dateFormatterSSS" width="200px" resizable align="center" />
<el-table-column prop="checkStatus" label="稽核结果" :show-overflow-tooltip="true" width="200px" resizable align="center" />
<el-table-column prop="solvemaname" label="处理人员" :show-overflow-tooltip="true" width="180px" resizable align="center" />
<el-table-column prop="solvetime" label="处理时间" :show-overflow-tooltip="true" :formatter="dateFormatterSSS" width="200px" resizable align="center" />
<el-table-column prop="solveStatus" label="处理结果" :show-overflow-tooltip="true" width="200px" resizable align="center" />
<el-table-column prop="solveRemark" label="处理结果描述" :show-overflow-tooltip="true" width="200px" resizable align="center" />
<el-table-column prop="divTollintervalid" label="计费单元组id" v-if="tableDisable" align="center" /> <el-table-column prop="divTollintervalid" label="计费单元组id" v-if="tableDisable" align="center" />
<el-table-column prop="datatype" label="数据类型" v-if="tableDisable" align="center" /> <!-- <el-table-column prop="datatype" label="数据类型" v-if="tableDisable" align="center" />-->
<el-table-column prop="divFeegroup" label="计费金额(元)" v-if="tableDisable" width="200px" resizable align="center" /> <el-table-column prop="divFeegroup" label="计费金额(元)" v-if="tableDisable" width="200px" resizable align="center" />
<el-table-column prop="vehicleclassname" label="车种" v-if="tableDisable" :show-overflow-tooltip="true" width="100px" resizable align="center" /> <el-table-column prop="vehicleclassname" label="车种" v-if="tableDisable" :show-overflow-tooltip="true" width="100px" resizable align="center" />
<el-table-column prop="vehicleclass" label="车种" v-if="tableDisable" :show-overflow-tooltip="true" width="100px" resizable align="center" /> <el-table-column prop="vehicleclass" label="车种" v-if="tableDisable" :show-overflow-tooltip="true" width="100px" resizable align="center" />
@ -90,7 +93,7 @@
<script > <script >
import { ref} from "vue"; import { ref} from "vue";
import { getMatchListByPage} from "@/util/api/api"; import { getMatchListByPage,exportExcleQueryMatch} from "@/util/api/api";
import tool from "@/util/tool"; import tool from "@/util/tool";
import querySolveDataDiv from "@/views/dev/detail/nodivandnofee/querySolveDataDiv.vue"; import querySolveDataDiv from "@/views/dev/detail/nodivandnofee/querySolveDataDiv.vue";
import querySolveDataFee from "@/views/dev/detail/nodivandnofee/querySolveDataFee.vue"; import querySolveDataFee from "@/views/dev/detail/nodivandnofee/querySolveDataFee.vue";
@ -117,6 +120,8 @@ export default {
refreshQueryData(paramAll){ refreshQueryData(paramAll){
this.params=paramAll; this.params=paramAll;
getQueryDataLists(); getQueryDataLists();
},exportExcleQuery(paramAll){
exportMatchData(paramAll);
}, handleSizeChange(val) { }, handleSizeChange(val) {
this.pageSize = val; this.pageSize = val;
this.isLoding = true; this.isLoding = true;
@ -165,17 +170,17 @@ export default {
"datatype": row.datatype "datatype": row.datatype
} }
if(row.datatype ==='有计费无拆分'){ if(row.datatype ==='未拆分(有计费数据)'){
this.isShowFeeDetailMatch=true; this.isShowFeeDetailMatch=true;
this.isShowDivDetailMatch=false; this.isShowDivDetailMatch=false;
}else if(row.datatype ==='无计费有拆分'){ }else if(row.datatype ==='未计费(有拆分数据)'){
this.isShowFeeDetailMatch=false; this.isShowFeeDetailMatch=false;
this.isShowDivDetailMatch=true; this.isShowDivDetailMatch=true;
} }
this.$nextTick(() => { this.$nextTick(() => {
if(row.datatype ==='有计费无拆分'){ if(row.datatype ==='未拆分(有计费数据)'){
this.$refs["querySolveDataFee"].refreshDataMatchFee(_params); this.$refs["querySolveDataFee"].refreshDataMatchFee(_params);
}else if(row.datatype ==='无计费有拆分'){ }else if(row.datatype ==='未计费(有拆分数据)'){
this.$refs["querySolveDataDiv"].refreshDataMatchDiv(_params); this.$refs["querySolveDataDiv"].refreshDataMatchDiv(_params);
} }
}) })
@ -261,4 +266,30 @@ function formatDate(dateString,format) {
return ""; return "";
} }
function exportMatchData(paramsData) {
exportExcleQueryMatch({paramsData: JSON.stringify(paramsData)}).then(res => {
if (res.data != "") {
//fileName:
var fileName = '稽核数据_' + tool.getCurrentDateHour(); //decodeURIComponent(res.headers["Content-Disposition"].split("=")[1])
let blob = new Blob([res.data], {type: 'application/vnd.ms-excel;charset=utf-8'});
// ie
if (window.navigator && window.navigator.msSaveOrOpenBlob) {
window.navigator.msSaveOrOpenBlob(blob, fileName);
} else {
//ie
var downloadElement = document.createElement("a");
var href = window.URL.createObjectURL(blob); //url
downloadElement.href = href;
downloadElement.download = fileName; //
document.body.appendChild(downloadElement);
downloadElement.click(); //
document.body.removeChild(downloadElement); //
window.URL.revokeObjectURL(href); //blob
}
}
//false
_this.tableLoading = false;
});
}
</script> </script>

@ -84,7 +84,6 @@ export default {
//props: ['params'], //props: ['params'],
methods: { methods: {
refreshDataMatchFee(paramAll){ refreshDataMatchFee(paramAll){
console.log("进来了啦");
this.params=paramAll; this.params=paramAll;
getTableDataLists(); getTableDataLists();
},getSumData(param){ },getSumData(param){

@ -0,0 +1,374 @@
<!-- 稽核数据查看-->
<template>
<div id="contain_update" style="width:100%;height: 100%;position: inherit">
<div style="height:5%;width:100%;position:relative">
<el-form :inline="true" :label-position="right" style="width:100%;height: 100%">
<el-form-item label="日期:" class="s_el_row">
<el-date-picker
v-model="rpTime"
type="date"
placeholder="选择日期"
value-format="YYYY-MM-DD"
format="YYYY-MM-DD">
</el-date-picker>
</el-form-item>
<el-form-item label="PASSID" style="width:13%" >
<el-input v-model="passid" clearable></el-input>
</el-form-item>
<el-form-item label="车牌号:" style="width:13%" >
<el-input v-model="vehicleId" clearable></el-input>
</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="searchSolveMatch" class="query_button" size="default" :icon="searchSolveButton">查询</el-button>
</div>
</el-form-item>
</el-form>
</div>
<div style="height:95%;width:100%;position:relative">
<div style="height: 94%;width: 100%">
<el-table :data="tableData" width="100%" id="table_el" :header-cell-style="{background:'#e9ecee',align:'center'}" border
v-loading="tableLoading"
:row-style="rowStyle"
@row-dblclick="showSolveMatchDetail"
>
<el-table-column type="index" label="序号" :index="indexmethod" width="100px" align="center"/>
<el-table-column prop="classdate" label="日期" :show-overflow-tooltip="true" :formatter="dateFormatter" width="150px" resizable align="center" />
<el-table-column prop="id" label="PASSID" :show-overflow-tooltip="true" width="200px" resizable align="center" />
<el-table-column prop="matchId" label="匹配数据PASSID" :show-overflow-tooltip="true" width="200px" resizable align="center" />
<el-table-column prop="vehicleid" label="车牌号" :show-overflow-tooltip="true" width="220px" resizable align="center" />
<el-table-column prop="vehicleidColor" label="车牌颜色" :show-overflow-tooltip="true" width="220px" resizable align="center" />
<el-table-column prop="gpaFee" label="计费金额(元)" width="250px" resizable align="center" />
<el-table-column prop="divFee" label="拆分金额(元)" width="250px" resizable align="center" />
<el-table-column prop="vehicletype" label="车型" :show-overflow-tooltip="true" width="250px" resizable align="center" />
<el-table-column prop="vehicleclass" label="车种" :show-overflow-tooltip="true" width="100px" resizable align="center" />
<el-table-column prop="datatype" label="数据类型" :show-overflow-tooltip="true" width="200px" resizable align="center" />
<el-table-column prop="maname" label="稽核人员" :show-overflow-tooltip="true" width="180px" resizable align="center" />
<el-table-column prop="createTime" label="稽核时间" :show-overflow-tooltip="true" :formatter="dateFormatterSSS" width="200px" resizable align="center" />
<el-table-column prop="checkStatus" label="稽核结果" :show-overflow-tooltip="true" width="200px" resizable align="center" />
<el-table-column prop="solvemaname" label="处理人员" :show-overflow-tooltip="true" width="180px" resizable align="center" />
<el-table-column prop="solvetime" label="处理时间" :show-overflow-tooltip="true" :formatter="dateFormatterSSS" width="200px" resizable align="center" />
<el-table-column prop="solvestatus" label="处理结果" :show-overflow-tooltip="true" width="200px" resizable align="center" />
<el-table-column prop="solveremark" label="处理结果描述" :show-overflow-tooltip="true" width="200px" resizable align="center" />
<el-table-column prop="divTollintervalid" label="计费单元组id" v-if="tableDisable" align="center" />
<el-table-column prop="datatype" label="数据类型" v-if="tableDisable" align="center" />
<el-table-column prop="divFeegroup" label="计费金额(元)" v-if="tableDisable" width="200px" resizable align="center" />
<el-table-column prop="vehicleclassname" label="车种" v-if="tableDisable" :show-overflow-tooltip="true" width="100px" resizable align="center" />
<el-table-column prop="vehicleclass" label="车种" v-if="tableDisable" :show-overflow-tooltip="true" width="100px" resizable align="center" />
<el-table-column prop="divEntollstationname" label="入口计费单元名称" v-if="tableDisable" width="400px" resizable align="center" />
<el-table-column prop="divExtollstationname" label="出口计费单元名称" v-if="tableDisable" width="400px" resizable align="center" />
<el-table-column prop="divEnpointid" label="入口计费单元id" v-if="tableDisable" width="400px" resizable align="center" />
<el-table-column prop="divExpointid" label="出口计费单元id" v-if="tableDisable" width="400px" resizable align="center" />
<el-table-column prop="bak1" label="本省/跨省" v-if="tableDisable" width="400px" resizable align="center" />
<el-table-column prop="divEntime" label="开始日期" width="200px" :formatter="dateFormatterSSS" v-if="tableDisable" align="center" />
<el-table-column prop="divExtime" label="结束日期" width="200px" :formatter="dateFormatterSSS" v-if="tableDisable" align="center" />
<el-table-column prop="gpaTollintervalid" label="计费单元组id" v-if="tableDisable" align="center" />
<el-table-column prop="gpaFeegroup" label="计费金额(元)" v-if="tableDisable" width="200px" resizable align="center" />
<el-table-column prop="gpaEntollstationname" label="入口计费单元名称" v-if="tableDisable" width="400px" resizable align="center" />
<el-table-column prop="gpaExtollstationname" label="出口计费单元名称" v-if="tableDisable" width="400px" resizable align="center" />
<el-table-column prop="gpaEnpointid" label="入口计费单元id" v-if="tableDisable" width="400px" resizable align="center" />
<el-table-column prop="gpaExpointid" label="出口计费单元id" v-if="tableDisable" width="400px" resizable align="center" />
<el-table-column prop="gpaFeeOld" label="计费金额" v-if="tableDisable" width="400px" resizable align="center" />
<el-table-column prop="vehicletype" label="车型" v-if="tableDisable" width="400px" resizable align="center" />
<el-table-column prop="gpaEntime" label="开始日期" :formatter="dateFormatterSSS" v-if="tableDisable" width="200px" align="center" />
<el-table-column prop="gpaExtime" label="结束日期" :formatter="dateFormatterSSS" v-if="tableDisable" width="200px" align="center" />
<el-table-column label="操作" v-slot="slot" fixed="right" align="center" width="200px">
<el-button type="primary" @click="solveDataOper(slot.row)" style="background-color: #67c23a">处理结果</el-button>
</el-table-column>
</el-table>
</div>
<div>
<!-- 分页 -->
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-sizes="[20, 30,50,100]"
:page-size="pageSize"
:total="totalCount"
layout="total, sizes, prev, pager, next, jumper"
style="width: 90%;height:5%;padding: 0;position:relative;margin-top:10px;bottom: 0;font-size: x-small">
</el-pagination>
</div>
</div>
</div>
<el-dialog id="detail_dialog_fee_match" v-model="isShowFeeDetailMatch" draggable :close-on-click-modal="closeD">
<querySolveDataFee ref="querySolveDataFee" ></querySolveDataFee>
</el-dialog>
<el-dialog id="detail_dialog_div_match" v-model="isShowDivDetailMatch" draggable :close-on-click-modal="closeD">
<querySolveDataDiv ref="querySolveDataDiv" ></querySolveDataDiv>
</el-dialog>
<el-dialog id="solve_match_dialog_div" v-model="isShowSolve" title="" style="width: 40%;height:50% !important;" :close-on-click-modal="closeD" :show-close="closeD">
<el-form style="width:100%;height:100%">
<el-form-item label="处理结果:" style="width:100%;height: 10%">
<el-radio-group v-model="solvestatus">
<el-radio :label="2">已完成</el-radio>
<el-radio :label="3">不处理</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="处理内容描述:" style="width:100%;height: 10%">
<el-input type="textarea" v-model="solveremark"/>
</el-form-item>
<el-form-item label="" style="width:100%;height: 80%">
<el-button @click="cancelMain"></el-button>
<el-button @click="saveMain"></el-button>
</el-form-item>
</el-form>
</el-dialog>
</template>
<style >
#table_el{
height: 100% ;
width: 100%;
}
#detail_dialog_fee_match{
height: 78% !important;
padding: 0 !important;
width: 80%;
}
#detail_dialog_div_match{
height: 78% !important;
width: 80%;
}
</style>
<script >
import { ref} from "vue";
import {
Search
} from '@element-plus/icons-vue'
import { getMatchListByPage,updateMatchData} from "@/util/api/api";
import tool from "@/util/tool";
import querySolveDataDiv from "@/views/dev/detail/nodivandnofee/querySolveDataDiv.vue";
import querySolveDataFee from "@/views/dev/detail/nodivandnofee/querySolveDataFee.vue";
var _this;
export default {
data() {
return {
rpTime:"",
passid:"",
vehicleId:"",
checkStatus:10,
currentPage: 1,
pageSize: 15,
totalCount: 0,
tableData: ref([]),
tableLoading: false,
params:{},
tableDisable:false,
isShowFeeDetailMatch:false,
isShowDivDetailMatch:false,
closeD:false,
doubleclikIndex:"-1",
isShowSolve:false,
solveremark:"",
solvestatus:"",
paramsUpdate:{},
searchSolveButton:Search
}
},
//props: ['params'],
methods: {
searchSolveMatch(){
if(!this.rpTime){
alert("请选择日期");
return ;
}
let paramAll={};
paramAll.queryStartTime=this.rpTime+" 00:00:00";
paramAll.queryEndTime=this.rpTime+" 00:00:00";
paramAll.passid=this.passid;
paramAll.vehicleId=this.vehicleId;
paramAll.checkStatus=this.checkStatus;
getQueryMatchDataLists(paramAll);
}, handleSizeChange(val) {
if(!this.rpTime){
alert("请选择日期");
return ;
}
this.pageSize = val;
this.isLoding = true;
let paramAll={};
paramAll.queryStartTime=this.rpTime+" 00:00:00";
paramAll.queryEndTime=this.rpTime+" 00:00:00";
paramAll.checkStatus=this.checkStatus;
paramAll.passid=this.passid;
paramAll.vehicleId=this.vehicleId;
getQueryMatchDataLists(paramAll);
},handleCurrentChange(val) {
if(!this.rpTime){
alert("请选择日期");
return ;
}
this.isLoding = true;
this.currentPage = val;
let paramAll={};
paramAll.queryStartTime=this.rpTime+" 00:00:00";
paramAll.queryEndTime=this.rpTime+" 00:00:00";
paramAll.passid=this.passid;
paramAll.checkStatus=this.checkStatus;
paramAll.vehicleId=this.vehicleId;
getQueryMatchDataLists(paramAll);
},indexmethod(index){
return index + this.pageSize * (this.currentPage -1)+1;
},showSolveMatchDetail(row,column,e){
this.doubleclikIndex=row.id;//
let _params={
"divTollintervalid": row.divTollintervalid,
"classdate": this.dateFormatter(null,null,row.classdate),
"divEntime": this.dateFormatterSSS(null,null,row.divEntime),
"divExtime": this.dateFormatterSSS(null,null,row.divExtime),
"passid": row.id,
"vehicleid": row.vehicleid,
"vehicleidColor": row.vehicleidColor,
"divFeeGroup": row.divFeegroup,
"divFee": row.divFee,
"divFeeOld": row.divFeeOld,
"feeStatus": 4,
"vehicleclass": row.vehicleclass,
"startTime": tool.DayDec(row.classdate,0),
"endTime": tool.DayDec(row.classdate,-10),
"divEntollstationname": row.divEntollstationname ,
"divExtollstationname": row.divExtollstationname ,
"divEnpointid": row.divEnpointid ,
"bak1": row.bak1 ,
"divExpointid": row.divExpointid,
"gpaTollintervalid": row.gpaTollintervalid,
"gpaEntime": this.dateFormatterSSS(null,null,row.gpaEntime),
"gpaExtime": this.dateFormatterSSS(null,null,row.gpaExtime),
"gpaFeeGroup": row.gpaFeegroup,
"gpaFee": row.gpaFee,
"gpaFeeOld": row.gpaFeeOld,
"vehicletype": row.vehicletype,
"gpaEntollstationname": row.gpaEntollstationname ,
"gpaExtollstationname": row.gpaExtollstationname ,
"gpaEnpointid": row.gpaEnpointid ,
"gpaExpointid": row.gpaExpointid,
"checkStatus": row.checkStatus,
"datatype": row.datatype
}
if(row.datatype ==='未拆分(有计费数据)'){
this.isShowFeeDetailMatch=true;
this.isShowDivDetailMatch=false;
}else if(row.datatype ==='未计费(有拆分数据)'){
this.isShowFeeDetailMatch=false;
this.isShowDivDetailMatch=true;
}
this.$nextTick(() => {
if(row.datatype ==='未拆分(有计费数据)'){
this.$refs["querySolveDataFee"].refreshDataMatchFee(_params);
}else if(row.datatype ==='未计费(有拆分数据)'){
this.$refs["querySolveDataDiv"].refreshDataMatchDiv(_params);
}
})
}, dateFormatter(row, column, cellValue) {
if (cellValue == null || cellValue == "" || cellValue == undefined) {
return "";
}
return formatDate(cellValue, "YYYY-MM-DD");
}, dateFormatterSSS(row, column, cellValue) {
if (cellValue == null || cellValue == "" || cellValue == undefined) {
return "";
}
return formatDate(cellValue, "YYYY-MM-DD HH:MM:SS");
}, rowStyle(row, rowIndex) {
if (this.doubleclikIndex === row.row.id) {
return {
"background-color": "lightcyan",
"cursor": "pointer"
}
}
return {
"cursor": "pointer"
}
},solveDataOper(row){
this.paramsUpdate.passid=row.id;
this.isShowSolve=true;
},saveMain(){
this.paramsUpdate.solvestatus=this.solvestatus;
this.paramsUpdate.solveremark=this.solveremark;
this.paramsUpdate.solvemano="0101001";
this.paramsUpdate.solvemaname="测试人员";
updateMatchData(this.paramsUpdate).then(res=>{
if(res.code<=0){
alert("处理失败");
}else{
alert("处理成功");
this.paramsUpdate={};
this.isShowSolve=false;
this.solveremark="";
this.solvestatus=""
this.searchSolveMatch();
}
})
},cancelMain(){
this.paramsUpdate={};
this.solveremark="";
this.solvestatus=""
this.isShowSolve=false;
}
}, components: {
querySolveDataFee,
querySolveDataDiv
},
mounted() {
_this = this;
}
}
function getQueryMatchDataLists(paramsData){
_this.tableLoading=true;
paramsData.pageNum=_this.currentPage;
paramsData.pageSize=_this.pageSize;
paramsData.status="";
getMatchListByPage(paramsData).then(res=>{
_this.tableLoading=false;
if(res.code<=0){
return false;
}else{
debugger
_this.totalCount=res.total;
_this.tableData=res.records;
_this.isLoding=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>

@ -1,7 +1,7 @@
<template> <template>
<div style="display: flex;width:1680px;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: 800px;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">
@ -12,7 +12,7 @@
<div style="display: flex;width:1680px;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: 800px;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">
@ -144,17 +144,21 @@ export default {
if (_data.length > 0) { if (_data.length > 0) {
let dataX=[]; let dataX=[];
var dataYS = []; var dataYS = [];
var dataCF = [];
var dataYSFlow = []; var dataYSFlow = [];
if(_data !==undefined ){ if(_data !==undefined ){
for(var k=0;k<_data.length;k++){ for(var k=0;k<_data.length;k++){
let divData=_data[k]; let divData=_data[k];
dataX.push(tool.formatDate(new Date(divData.classdate),"YYYY-MM-DD")); dataX.push(tool.formatDate(new Date(divData.classdate),"YYYY-MM-DD"));
dataYS.push(tool.NumRound(divData.fee)); dataYS.push(tool.NumRound(divData.fee));
dataCF.push(tool.NumRound(divData.divfee));
dataYSFlow.push(divData.carcount); dataYSFlow.push(divData.carcount);
} }
} }
this.$nextTick(() => { this.$nextTick(() => {
this.initOptionLine('YSLine', dataX, dataYS, dataYSFlow); // this.initOptionLine('YSLine', dataX, dataYS, dataYSFlow);
this.initOptionLineMoreLess('YSLine', dataX, dataYS, dataCF,dataYSFlow);
}) })
} }
} }
@ -452,116 +456,8 @@ export default {
} }
},mounted() { },mounted() {
_this=this; _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> </script>
<style> <style>

@ -10,11 +10,11 @@
<div id="divRightLine" style="width: 700px;height:230px;border-bottom: #6b778c 1px solid" v-loading="loading" ></div> <div id="divRightLine" style="width: 700px;height:230px;border-bottom: #6b778c 1px solid" v-loading="loading" ></div>
</div> </div>
<div style="display: block;width:100%;height: 250px"> <div style="display: block;width:100%;height: 250px">
<div style="width:90%;position: relative"><b >有计费无拆分</b></div> <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 id="noDivLine" style="width: 700px;height:230px;border-bottom: #6b778c 1px solid" v-loading="loading" ></div>
</div> </div>
<div style="display: block;width:100%;height: 250px"> <div style="display: block;width:100%;height: 250px">
<div style="width:90%;position: relative"><b >无计费有拆分</b></div> <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 id="noFeeLine" style="width: 700px;height:230px;border-bottom: #6b778c 1px solid" v-loading="loading" ></div>
</div> </div>
<div style="display: block;width:100%;height: 250px"> <div style="display: block;width:100%;height: 250px">

@ -66,7 +66,7 @@
<div id="feePie" style="width: 700px;height:290px" v-loading="loading" ></div> <div id="feePie" style="width: 700px;height:290px" v-loading="loading" ></div>
<div id="feeBar" style="width: 700px;height:290px" v-loading="loading" ></div> <div id="feeBar" style="width: 700px;height:290px" v-loading="loading" ></div>
</div> </div>
<div class="everydata_div" style="width:100%;height: 600px;border-bottom: #6b778c 1px solid;position:relative"> <div class="everydata_div" style="width:100%;height: 500px;border-bottom: #6b778c 1px solid;position:relative">
<div style="width:100%;padding-bottom: 20px;height: 100%" v-show="hbShow"> <div style="width:100%;padding-bottom: 20px;height: 100%" v-show="hbShow">
<hbData ref="hbData" ></hbData> <hbData ref="hbData" ></hbData>
</div> </div>
@ -495,7 +495,7 @@ mounted() {
}); });
this.initOptionPie(data,"feePie","未拆分金额与已拆分金额","单位:万元"); this.initOptionPie(data,"feePie","未拆分金额与已拆分金额","单位:万元");
this.initOptionBar("feeBar",['拆分准确','计费大于拆分','计费小于拆分','无计费有拆分','有计费无拆分'],[0,0,0,0,0],[0,0,0,0,0]); this.initOptionBar("feeBar",['拆分准确','计费大于拆分','计费小于拆分','未计费(有拆分数据)','未拆分(有计费数据)'],[0,0,0,0,0],[0,0,0,0,0]);
} }
} }
@ -607,7 +607,7 @@ function getBarData(){
} }
_this.loading=false; _this.loading=false;
_this.$nextTick(() => { _this.$nextTick(() => {
_this.initOptionBar("feeBar",['拆分准确','计费大于拆分','计费小于拆分','无计费有拆分','有计费无拆分'],_this.dataFee,_this.dataDivFee); _this.initOptionBar("feeBar",['拆分准确','计费大于拆分','计费小于拆分','未计费(有拆分数据)','未拆分(有计费数据)'],_this.dataFee,_this.dataDivFee);
}) })
} }
) )

@ -70,8 +70,8 @@
</el-form-item>--> </el-form-item>-->
<el-form-item style="padding: 0px;margin-right:5px;"> <el-form-item style="padding: 0px;margin-right:5px;">
<el-radio-group v-model="radio" @change="changeRadio" style="margin-right: 10px"> <el-radio-group v-model="radio" @change="changeRadio" style="margin-right: 10px">
<el-radio :label="5">有计费无拆分</el-radio> <el-radio :label="5">未拆分(有计费数据)</el-radio>
<el-radio :label="4">无计费有拆分</el-radio> <!-- <el-radio :label="4">无计费有拆分</el-radio>-->
<el-radio :label="2">计费大于拆分</el-radio> <el-radio :label="2">计费大于拆分</el-radio>
</el-radio-group> </el-radio-group>
<!-- <el-switch <!-- <el-switch

Loading…
Cancel
Save