拆分核验,稽核页面添加详情请

master
白美平 5 months ago
parent 744122a98a
commit e43d2200ff

@ -44,6 +44,7 @@ export const getVehicleClassToal = data => post("/devProjectJt/divFeeStat/getVeh
//20250507 未计费 未拆分数据核验 //20250507 未计费 未拆分数据核验
export const getFeeListByPage = data => post("/devProjectJt/divPassidAll/getFeeListByPage", data,"") export const getFeeListByPage = data => post("/devProjectJt/divPassidAll/getFeeListByPage", data,"")
export const getMatchListByPage = data => post("/devProjectJt/divPassidAllMatch/getMatchListByPage", data,"") export const getMatchListByPage = data => post("/devProjectJt/divPassidAllMatch/getMatchListByPage", data,"")
export const getMatchDetail = data => post("/devProjectJt/divPassidAllMatch/getMatchDetail", data,"")
export const getProvinceListByPage = data => post("/devProjectJt/divPassidAll/getListByPage", data,"") export const getProvinceListByPage = data => post("/devProjectJt/divPassidAll/getListByPage", data,"")
export const getProvinceData = data => post("/devProjectJt/divPassidAll/getProvinceData", data,"") export const getProvinceData = data => post("/devProjectJt/divPassidAll/getProvinceData", data,"")
export const getDivFeeListByPage = data => post("/devProjectJt/divPassidAll/getDivFeeListByPage", data,"") export const getDivFeeListByPage = data => post("/devProjectJt/divPassidAll/getDivFeeListByPage", data,"")

@ -14,7 +14,7 @@
<el-table-column prop="passid" label="PASSID" :show-overflow-tooltip="true" width="220px" resizable align="center" /> <el-table-column prop="passid" label="PASSID" :show-overflow-tooltip="true" width="220px" resizable align="center" />
<el-table-column prop="vehicleid" label="车牌号" :show-overflow-tooltip="true" width="150px" resizable align="center" /> <el-table-column prop="vehicleid" label="车牌号" :show-overflow-tooltip="true" width="150px" resizable align="center" />
<el-table-column prop="vehicleidColor" label="车牌颜色" :show-overflow-tooltip="true" width="120px" resizable align="center" /> <el-table-column prop="vehicleidColor" label="车牌颜色" :show-overflow-tooltip="true" width="120px" resizable align="center" />
<el-table-column prop="divFee" label="拆分金额(元)" width="150px" resizable align="center" /> <el-table-column prop="divFee" label="拆分金额(元)" width="150px" resizable align="center" />
<el-table-column prop="vehicletypeName" label="车型" :show-overflow-tooltip="true" width="150px" resizable align="center" /> <el-table-column prop="vehicletypeName" label="车型" :show-overflow-tooltip="true" width="150px" resizable align="center" />
<el-table-column prop="divTollintervalidName" label="路径" :show-overflow-tooltip="true" width="580px" align="center" /> <el-table-column prop="divTollintervalidName" label="路径" :show-overflow-tooltip="true" width="580px" 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" />
@ -42,7 +42,7 @@
<el-table-column prop="passid" label="PASSID" :show-overflow-tooltip="true" width="220px" resizable align="center" /> <el-table-column prop="passid" label="PASSID" :show-overflow-tooltip="true" width="220px" resizable align="center" />
<el-table-column prop="vehicleid" label="车牌号" :show-overflow-tooltip="true" width="150px" resizable align="center" /> <el-table-column prop="vehicleid" label="车牌号" :show-overflow-tooltip="true" width="150px" resizable align="center" />
<el-table-column prop="vehicleidColor" label="车牌颜色" :show-overflow-tooltip="true" width="120px" resizable align="center" /> <el-table-column prop="vehicleidColor" label="车牌颜色" :show-overflow-tooltip="true" width="120px" resizable align="center" />
<el-table-column prop="gpaFee" label="计费金额(元)" width="150px" resizable align="center" /> <el-table-column prop="gpaFee" label="计费金额(元)" width="150px" resizable align="center" />
<el-table-column prop="gpaFeeOld" label="计费总金额" v-if="tableDisable" width="150px" resizable align="center" /> <el-table-column prop="gpaFeeOld" label="计费总金额" v-if="tableDisable" width="150px" resizable align="center" />
<el-table-column prop="vehicletypeName" label="车型" :show-overflow-tooltip="true" width="150px" resizable align="center" /> <el-table-column prop="vehicletypeName" label="车型" :show-overflow-tooltip="true" width="150px" resizable align="center" />
<el-table-column prop="gpaFeegroup" label="计费金额(元)" v-if="tableDisable" width="200px" resizable align="center" /> <el-table-column prop="gpaFeegroup" label="计费金额(元)" v-if="tableDisable" width="200px" resizable align="center" />
@ -178,7 +178,6 @@ export default {
paramsData.dataType=2; paramsData.dataType=2;
paramsData.VEHICLEID=row.vehicleid; paramsData.VEHICLEID=row.vehicleid;
paramsData.vehicleidColor=this.tableDataFee[0].vehicleidColor; paramsData.vehicleidColor=this.tableDataFee[0].vehicleidColor;
matchData(paramsData).then(res=>{ matchData(paramsData).then(res=>{
this.div_full_loading=false; this.div_full_loading=false;
if(res.code<=0){ if(res.code<=0){
@ -189,6 +188,28 @@ export default {
this.$emit('subMethod'); this.$emit('subMethod');
} }
}) })
/* this.$confirm(', ?', '', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
matchData(paramsData).then(res=>{
this.div_full_loading=false;
if(res.code<=0){
alert("匹配失败");
return false;
}else{
alert("匹配成功");
this.$emit('subMethod');
}
})
}).catch(() => {
this.div_full_loading=false;
this.$message({
type: 'info',
message: '已取消'
});
});*/
},cancelDivMatch(){ },cancelDivMatch(){
this.isShowDivMap=false; this.isShowDivMap=false;
this.statusCheck=""; this.statusCheck="";
@ -232,6 +253,29 @@ export default {
this.$emit('subMethod'); this.$emit('subMethod');
} }
}) })
/* this.$confirm(', ?', '', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
matchData(paramsData).then(res=>{
this.div_full_loading=false;
if(res.code<=0){
alert("处理失败");
return false;
}else{
alert("处理成功");
this.$emit('subMethod');
}
})
}).catch(() => {
this.div_full_loading=false;
this.$message({
type: 'info',
message: '已取消'
});
});*/
}, },
handleSizeChange(val) { handleSizeChange(val) {
this.pageSize = val; this.pageSize = val;
@ -247,7 +291,7 @@ export default {
sums[index] = '总计'; sums[index] = '总计';
return; return;
} }
if(index === 6){ if(index === 7){
const values = data.map(item => Number(item[column.property])); const values = data.map(item => Number(item[column.property]));
if (!values.every(value => isNaN(value))) { if (!values.every(value => isNaN(value))) {
sums[index] = values.reduce((prev, curr) => { sums[index] = values.reduce((prev, curr) => {

@ -14,7 +14,7 @@
<el-table-column prop="passid" label="PASSID" :show-overflow-tooltip="true" width="220px" resizable align="center" /> <el-table-column prop="passid" label="PASSID" :show-overflow-tooltip="true" width="220px" resizable align="center" />
<el-table-column prop="vehicleid" label="车牌号" :show-overflow-tooltip="true" width="150px" resizable align="center" /> <el-table-column prop="vehicleid" label="车牌号" :show-overflow-tooltip="true" width="150px" resizable align="center" />
<el-table-column prop="vehicleidColor" label="车牌颜色" :show-overflow-tooltip="true" width="120px" resizable align="center" /> <el-table-column prop="vehicleidColor" label="车牌颜色" :show-overflow-tooltip="true" width="120px" resizable align="center" />
<el-table-column prop="gpaFee" label="计费金额(元)" width="150px" resizable align="center" /> <el-table-column prop="gpaFee" label="计费金额(元)" width="150px" resizable align="center" />
<el-table-column prop="vehicletypeName" label="车型" :show-overflow-tooltip="true" width="150px" resizable align="center" /> <el-table-column prop="vehicletypeName" label="车型" :show-overflow-tooltip="true" width="150px" resizable align="center" />
<el-table-column prop="gpaTollintervalidName" label="路径" :show-overflow-tooltip="true" width="580px" align="center" /> <el-table-column prop="gpaTollintervalidName" label="路径" :show-overflow-tooltip="true" width="580px" align="center" />
<el-table-column prop="gpaTollintervalid" label="计费单元组id" v-if="tableDisable" align="center" /> <el-table-column prop="gpaTollintervalid" label="计费单元组id" v-if="tableDisable" align="center" />
@ -46,10 +46,10 @@
<el-table-column prop="passid" label="PASSID" :show-overflow-tooltip="true" width="220px" resizable align="center" /> <el-table-column prop="passid" label="PASSID" :show-overflow-tooltip="true" width="220px" resizable align="center" />
<el-table-column prop="vehicleid" label="车牌号" :show-overflow-tooltip="true" width="150px" resizable align="center" /> <el-table-column prop="vehicleid" label="车牌号" :show-overflow-tooltip="true" width="150px" resizable align="center" />
<el-table-column prop="vehicleidColor" label="车牌颜色" :show-overflow-tooltip="true" width="120px" resizable align="center" /> <el-table-column prop="vehicleidColor" label="车牌颜色" :show-overflow-tooltip="true" width="120px" resizable align="center" />
<el-table-column prop="divFee" label="拆分金额(元)" width="150px" resizable align="center" /> <el-table-column prop="divFee" label="拆分金额(元)" width="150px" resizable align="center" />
<el-table-column prop="vehicletypeName" label="车型" :show-overflow-tooltip="true" width="150px" resizable align="center" /> <el-table-column prop="vehicletypeName" label="车型" :show-overflow-tooltip="true" width="150px" resizable align="center" />
<el-table-column prop="vehicleclassName" label="车种" :show-overflow-tooltip="true" width="100px" resizable align="center" /> <el-table-column prop="vehicleclassName" label="车种" :show-overflow-tooltip="true" width="100px" resizable 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="divTollintervalidName" label="路径" :show-overflow-tooltip="true" width="400" align="center" /> <el-table-column prop="divTollintervalidName" label="路径" :show-overflow-tooltip="true" width="400" 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="mediatype" label="通行介质" v-if="tableDisable" width="200px" resizable align="center" /> <el-table-column prop="mediatype" label="通行介质" v-if="tableDisable" width="200px" resizable align="center" />
@ -194,6 +194,29 @@ export default {
this.$emit('subMethod'); this.$emit('subMethod');
} }
}) })
/*this.$confirm(', ?', '', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
matchData(paramsData).then(res=>{
this.div_full_loading=false;
if(res.code<=0){
alert("匹配失败");
return false;
}else{
alert("匹配成功");
this.$emit('subMethod');
}
})
}).catch(() => {
this.div_full_loading=false;
this.$message({
type: 'info',
message: '已取消'
});
});*/
},matchMainDataOper(row){ },matchMainDataOper(row){
this.isShowFeeMap=true; this.isShowFeeMap=true;
},getSumData(param){ },getSumData(param){
@ -268,6 +291,30 @@ export default {
this.$emit('subMethod'); this.$emit('subMethod');
} }
}) })
/* this.$confirm(', ?', '', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
matchData(paramsData).then(res=>{
this.div_full_loading=false;
if(res.code<=0){
alert("处理失败");
return false;
}else{
alert("处理成功");
this.isShowFeeMap=false;
this.$emit('subMethod');
}
})
}).catch(() => {
this.div_full_loading=false;
this.$message({
type: 'info',
message: '已取消'
});
});*/
}, },
handleSizeChange(val) { handleSizeChange(val) {
this.pageSize = val; this.pageSize = val;

@ -6,6 +6,8 @@
<div style="height: 94%;width: 100%"> <div style="height: 94%;width: 100%">
<el-table :data="tableData" width="100%" id="table_el" :header-cell-style="{background:'#e9ecee',align:'center'}" border <el-table :data="tableData" width="100%" id="table_el" :header-cell-style="{background:'#e9ecee',align:'center'}" border
v-loading="tableLoading" v-loading="tableLoading"
:row-style="rowStyle"
@row-dblclick="showMatchDetail"
> >
<el-table-column type="index" label="序号" :index="indexmethod" width="100px" align="center"/> <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="classdate" label="日期" :show-overflow-tooltip="true" :formatter="dateFormatter" width="150px" resizable align="center" />
@ -21,9 +23,33 @@
<el-table-column prop="createTime" label="处理时间" :show-overflow-tooltip="true" :formatter="dateFormatterSSS" width="200px" 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="checkStatus" 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> </el-table>
</div> </div>
<div tyle="height: 5%;width: 100%"> <div>
<!-- 分页 --> <!-- 分页 -->
<el-pagination <el-pagination
@size-change="handleSizeChange" @size-change="handleSizeChange"
@ -38,6 +64,12 @@
</div> </div>
</div> </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>
</template> </template>
<style > <style >
@ -45,28 +77,38 @@
height: 100% ; height: 100% ;
width: 100%; width: 100%;
} }
#detail_dialog_fee{ #detail_dialog_fee_match{
margin-top: 20px !important; height: 78% !important;
padding: 0 !important;
width: 80%;
}
#detail_dialog_div_match{
height: 78% !important;
width: 80%; width: 80%;
height: 75%;
padding-bottom: 0 !important;
} }
</style> </style>
<script > <script >
import { ref} from "vue"; import { ref} from "vue";
import {exportExcleQueryMatch, getMatchListByPage} from "@/util/api/api"; import { getMatchListByPage} from "@/util/api/api";
import tool from "@/util/tool"; 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; var _this;
export default { export default {
data() { data() {
return { return {
currentPage: 1, currentPage: 1,
pageSize: 10, pageSize: 15,
totalCount: 0, totalCount: 0,
tableData: ref([]), tableData: ref([]),
tableLoading: false, tableLoading: false,
params:{} params:{},
tableDisable:false,
isShowFeeDetailMatch:false,
isShowDivDetailMatch:false,
closeD:false,
doubleclikIndex:"-1"
} }
}, },
@ -75,8 +117,6 @@ 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;
@ -87,11 +127,62 @@ export default {
getQueryDataLists(); getQueryDataLists();
},indexmethod(index){ },indexmethod(index){
return index + this.pageSize * (this.currentPage -1)+1; return index + this.pageSize * (this.currentPage -1)+1;
},showMatchDetail(row,column,e){
debugger
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) { }, dateFormatter(row, column, cellValue) {
if (cellValue == null || cellValue == "" || cellValue == undefined) { if (cellValue == null || cellValue == "" || cellValue == undefined) {
return ""; return "";
} }
//return `${date.toLocaleDateString()}`;
return formatDate(cellValue, "YYYY-MM-DD"); return formatDate(cellValue, "YYYY-MM-DD");
}, dateFormatterSSS(row, column, cellValue) { }, dateFormatterSSS(row, column, cellValue) {
if (cellValue == null || cellValue == "" || cellValue == undefined) { if (cellValue == null || cellValue == "" || cellValue == undefined) {
@ -99,7 +190,7 @@ export default {
} }
return formatDate(cellValue, "YYYY-MM-DD HH:MM:SS"); return formatDate(cellValue, "YYYY-MM-DD HH:MM:SS");
}, rowStyle(row, rowIndex) { }, rowStyle(row, rowIndex) {
if (this.doubleclikIndex === row.row.RN) { if (this.doubleclikIndex === row.row.id) {
return { return {
"background-color": "lightcyan", "background-color": "lightcyan",
"cursor": "pointer" "cursor": "pointer"
@ -111,7 +202,8 @@ export default {
} }
}, components: { }, components: {
querySolveDataFee,
querySolveDataDiv
}, },
mounted() { mounted() {
_this = this; _this = this;
@ -169,58 +261,4 @@ function formatDate(dateString,format) {
return ""; return "";
} }
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());
}
function getCurrentDateHour(){
var date = new Date(); //
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;
}
// dateTemp = myDate.getFullYear()+"/"+(c)+"/"+myDate.getDate();
return `${year}${month}${day}${hour}${minute}${second}`;
}
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>

@ -0,0 +1,218 @@
<!-- 计费未拆分 拆分未计费数据进行匹配-->
<template>
<div id="contain_nofee_match" style="width:100%;height: 100%;position: inherit">
<div style="height:100%;width:100%;position:inherit" v-loading="div_full_loading">
<div style="height: 30%;width: 100%">
<el-table :data="tableDataFee" width="100%" id="query_match_fee" :header-cell-style="{background:'#e9ecee',align:'center'}" border
v-loading="tableLoadingFee"
>
<el-table-column type="index" label="序号" 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="divEntime" label="开始日期" :show-overflow-tooltip="true" :formatter="dateFormatterSSS" width="150px" resizable align="center" />
<el-table-column prop="divExtime" label="结束日期" :show-overflow-tooltip="true" :formatter="dateFormatterSSS" width="150px" resizable align="center" />
<el-table-column prop="id" label="PASSID" :show-overflow-tooltip="true" width="220px" resizable align="center" />
<el-table-column prop="vehicleid" label="车牌号" :show-overflow-tooltip="true" width="150px" resizable align="center" />
<el-table-column prop="vehicleidColor" label="车牌颜色" :show-overflow-tooltip="true" width="120px" resizable align="center" />
<el-table-column prop="divFee" label="拆分金额(元)" width="150px" resizable align="center" />
<el-table-column prop="vehicletype" label="车型" :show-overflow-tooltip="true" width="150px" resizable align="center" />
<el-table-column prop="divTollintervalidName" label="路径" :show-overflow-tooltip="true" width="580px" align="center" />
<el-table-column prop="checkStatus" label="处理结果" width="150px" resizable align="center" />
</el-table>
</div>
<div style="height: 60%;width: 100%;margin-top:1%">
<el-table :data="tableDataFeeMatch" width="100%" id="query_match_div" :header-cell-style="{background:'#e9ecee',align:'center'}" border
v-loading="tableLoadingFee"
show-summary
:summary-method="getSumDataDiv"
>
<el-table-column type="index" label="序号" 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="gpaEntime" label="开始日期" :show-overflow-tooltip="true" :formatter="dateFormatterSSS" width="150px" resizable align="center" />
<el-table-column prop="gpaExtime" label="结束日期" :show-overflow-tooltip="true" :formatter="dateFormatterSSS" width="150px" resizable align="center" />
<el-table-column prop="passid" label="PASSID" :show-overflow-tooltip="true" width="220px" resizable align="center" />
<el-table-column prop="vehicleid" label="车牌号" :show-overflow-tooltip="true" width="150px" resizable align="center" />
<el-table-column prop="vehicleidColor" label="车牌颜色" :show-overflow-tooltip="true" width="120px" resizable align="center" />
<el-table-column prop="gpaFee" label="计费金额(元)" width="150px" resizable align="center" />
<el-table-column prop="vehicletypeName" label="车型" :show-overflow-tooltip="true" width="150px" resizable align="center" />
<el-table-column prop="gpaTollintervalidName" label="路径" :show-overflow-tooltip="true" width="400" align="center" />
<el-table-column prop="statusName" label="拆分状态" width="200px" resizable align="center" />
</el-table>
</div>
</div>
</div>
</template>
<style >
#query_match_fee{
height: 100% ;
width: 100%;
}
#query_match_div{
height: 100% ;
width: 100%;
}
</style>
<script >
import { ref} from "vue";
import {Filter,Search} from '@element-plus/icons-vue'
import { getMatchDetail} from "@/util/api/api";
var _this;
export default {
data() {
return {
currentPage: 1,
pageSize: 20,
totalCount: 0,
tableDataFee: ref([]),
tableDataFeeMatch: ref([]),
isShowDivMap: false,
isShowDivDetail: false,
tableDisable:false,
div_full_loading:false,
mapParams: {},
Filter: Filter,
tableLoadingFee: false,
searchButton: Search,
doubleclikIndex: -1,//
params:{}
}
},
//props: ['params'],
methods: {
refreshDataMatchDiv(paramAll){
this.params=paramAll;
this.isShowDivMap=false;
getTableDataLists();
},getSumDataDiv(param){
const { columns, data } = param;
const sums = [];
columns.forEach((column, index) => {
if (index === 0) {
sums[index] = '总计';
return;
}
if(index === 7){
const values = data.map(item => Number(item[column.property]));
if (!values.every(value => isNaN(value))) {
sums[index] = values.reduce((prev, curr) => {
const value = Number(curr);
if (!isNaN(value)) {
return prev + curr;
} else {
return prev;
}
}, 0);
sums[index] =sums[index].toFixed(2);
sums[index] += ' 元';
}
}else {
sums[index] = '';
}
});
return sums;
}, 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");
}, dateFormatterSSS(row, column, cellValue) {
if (cellValue == null || cellValue == "" || cellValue == undefined) {
return "";
}
const date = new Date(cellValue);
//
//return `${date.toLocaleDateString()}`;
return formatDate(cellValue, "YYYY-MM-DD HH:MM:SS");
}
}, components: {
// mapFeeData,
Search
},
mounted() {
_this = this;
}
}
function getTableDataLists(){
_this.tableLoadingFee=true;
var paramsData=_this.params;
getMatchDetail(paramsData).then(res=>{
_this.tableLoadingFee=false;
if(res.code<=0){
return false;
}else{
_this.tableDataFee=res.data.feelist;
_this.tableDataFeeMatch=res.data.nofeelist;
}
})
}
//
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 "";
}
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());
}
function getCurrentDateHour(){
var date = new Date(); //
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;
}
// dateTemp = myDate.getFullYear()+"/"+(c)+"/"+myDate.getDate();
return `${year}${month}${day}${hour}${minute}${second}`;
}
</script>

@ -0,0 +1,202 @@
<template>
<div id="contain_nofee_match" style="width:100%;height: 100%;position: inherit">
<div style="height:100%;width:100%;position:inherit" v-loading="div_full_loading">
<div style="height: 30%;width: 100%">
<el-table :data="tableDataFee" width="100%" id="table_el_div_match_fee" :header-cell-style="{background:'#e9ecee',align:'center'}" border
v-loading="tableLoadingFee"
:row-style="rowStyle">
<el-table-column type="index" label="序号" 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="gpaEntime" label="开始日期" :show-overflow-tooltip="true" :formatter="dateFormatterSSS" width="150px" resizable align="center" />
<el-table-column prop="gpaExtime" label="结束日期" :show-overflow-tooltip="true" :formatter="dateFormatterSSS" width="150px" resizable align="center" />
<el-table-column prop="passid" label="PASSID" :show-overflow-tooltip="true" width="220px" resizable align="center" />
<el-table-column prop="vehicleid" label="车牌号" :show-overflow-tooltip="true" width="150px" resizable align="center" />
<el-table-column prop="vehicleidColor" label="车牌颜色" :show-overflow-tooltip="true" width="120px" resizable align="center" />
<el-table-column prop="gpaFee" label="计费金额(元)" width="150px" resizable align="center" />
<el-table-column prop="vehicletype" label="车型" :show-overflow-tooltip="true" width="150px" resizable align="center" />
<el-table-column prop="gpaTollintervalidName" label="路径" :show-overflow-tooltip="true" width="580px" align="center" />
<el-table-column prop="checkStatus" label="处理结果" width="150px" resizable align="center" />
</el-table>
</div>
<div style="height: 60%;width: 100%;margin-top:1%">
<el-table :data="tableDataFeeMatch" width="100%" id="table_el_div_match_div" :header-cell-style="{background:'#e9ecee',align:'center'}" border
v-loading="tableLoadingFee"
show-summary
:summary-method="getSumData"
:row-style="rowStyle">
<el-table-column type="index" label="序号" 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="divEntime" label="开始日期" :show-overflow-tooltip="true" :formatter="dateFormatterSSS" width="150px" resizable align="center" />
<el-table-column prop="divExtime" label="结束日期" :show-overflow-tooltip="true" :formatter="dateFormatterSSS" width="150px" resizable align="center" />
<el-table-column prop="passid" label="PASSID" :show-overflow-tooltip="true" width="220px" resizable align="center" />
<el-table-column prop="vehicleid" label="车牌号" :show-overflow-tooltip="true" width="150px" resizable align="center" />
<el-table-column prop="vehicleidColor" label="车牌颜色" :show-overflow-tooltip="true" width="120px" resizable align="center" />
<el-table-column prop="divFee" label="拆分金额(元)" width="150px" resizable align="center" />
<el-table-column prop="vehicletypeName" label="车型" :show-overflow-tooltip="true" width="150px" resizable align="center" />
<el-table-column prop="vehicleclassName" label="车种" :show-overflow-tooltip="true" width="100px" resizable align="center" />
<el-table-column prop="divTollintervalidName" label="路径" :show-overflow-tooltip="true" width="400" align="center" />
<el-table-column prop="statusName" label="拆分状态" width="200px" resizable align="center" />
</el-table>
</div>
</div>
</div>
</template>
<style >
#table_el_div_match_fee{
height: 100% ;
width: 100%;
}
#table_el_div_match_div{
height: 100% ;
width: 100%;
}
</style>
<script >
import { ref} from "vue";
import {Filter,Search} from '@element-plus/icons-vue'
import {getMatchDetail} from "@/util/api/api";
var _this;
export default {
data() {
return {
currentPage: 1,
pageSize: 20,
totalCount: 0,
tableDataFee: ref([]),
tableDataFeeMatch: ref([]),
isShowDivDetail: false,
tableDisable:false,
mapParams: {},
Filter: Filter,
tableLoadingFee: false,
searchButton: Search,
doubleclikIndex: -1,//
params:{},
div_full_loading:false,
paramsData:{}
}
},
//props: ['params'],
methods: {
refreshDataMatchFee(paramAll){
console.log("进来了啦");
this.params=paramAll;
getTableDataLists();
},getSumData(param){
const { columns, data } = param;
const sums = [];
columns.forEach((column, index) => {
if (index === 0) {
sums[index] = '总计';
return;
}
if(index === 7){
const values = data.map(item => Number(item[column.property]));
if (!values.every(value => isNaN(value))) {
sums[index] = values.reduce((prev, curr) => {
const value = Number(curr);
if (!isNaN(value)) {
return prev + curr;
} else {
return prev;
}
}, 0);
sums[index] =sums[index].toFixed(2);
sums[index] += ' 元';
}
}else {
sums[index] = '';
}
});
return sums;
}, 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");
}, dateFormatterSSS(row, column, cellValue) {
if (cellValue == null || cellValue === "" || cellValue === undefined) {
return "";
}
const date = new Date(cellValue);
//
//return `${date.toLocaleDateString()}`;
return formatDate(cellValue, "YYYY-MM-DD HH:MM:SS");
}, rowStyle(row, rowIndex) {
if (this.doubleclikIndex === row.row.RN) {
return {
"background-color": "lightcyan",
"cursor": "pointer"
}
}
return {
"cursor": "pointer"
}
}
}, components: {
Search
},
mounted() {
_this = this;
}
}
function getTableDataLists(){
_this.tableLoadingFee=true;
var paramsData=_this.params;
getMatchDetail(paramsData).then(res=>{
_this.tableLoadingFee=false;
if(res.code<=0){
return false;
}else{
_this.tableDataFee=res.data.feelist;
_this.tableDataFeeMatch=res.data.nofeelist;
}
})
}
//
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>

@ -328,11 +328,21 @@ export default {
this.$refs["querySolveData"].exportExcleQuery(this.paramAll) this.$refs["querySolveData"].exportExcleQuery(this.paramAll)
}else{} }else{}
},querySearch(){ },querySearch(){
console.log("是否选择日期===="+ !this.rpTime); console.log("是否选择日期==="+this.rpTime);
if(!this.rpTime){ if(!this.rpTime){
this.paramAll.queryStartTime=""; this.paramAll.queryStartTime="";
this.paramAll.queryEndTime=""; this.paramAll.queryEndTime="";
}else{
this.paramAll.queryStartTime=this.queryStartTime;
this.paramAll.queryEndTime=this.queryEndTime;
} }
this.paramAll.subcomno=this.subcomno;
this.paramAll.roadno =this.roadno;
this.paramAll.stano =this.stano;
this.paramAll.multiType =this.multiType;
this.paramAll.status=this.radio;
this.paramAll.passid=this.passid;
this.paramAll.vehicleId=this.vehicleId;
this.showQueryData=true; this.showQueryData=true;
this.showExportButton=true; this.showExportButton=true;
this.showFeeNoDiv=false; this.showFeeNoDiv=false;

Loading…
Cancel
Save