You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

374 lines
17 KiB
Vue

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<!-- 稽核数据查看-->
<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>