11 changed files with 637 additions and 409 deletions
@ -1,393 +1,552 @@ |
|||||
<template> |
<template> |
||||
<Dialog v-model="modelVisible" title="收费站管制统计" style="width: 100%;"> |
<Dialog v-model="modelVisible" title="收费站管制统计" style="width: 100%"> |
||||
<div class="search"> |
<div class="search"> |
||||
<InputSearch :formList="searchFormList" @handleSearch="handleSearch" style="width: 502px;" /> |
<InputSearch |
||||
</div> |
:formList="searchFormList" |
||||
|
@handleSearch="handleSearch" |
||||
<div class="StatsDetail"> |
style="width: 502px" |
||||
<el-table key="table1" v-if="searchType == 2" :data="tableData" style="width: 100%" |
/> |
||||
:span-method="arraySpanMethod"> |
</div> |
||||
<el-table-column prop="controlCauseName" label="封闭原因" width="150" align="center"> |
|
||||
</el-table-column> |
<div class="StatsDetail"> |
||||
<el-table-column prop="causeTypeName" label="" align="center"> |
<el-table |
||||
</el-table-column> |
key="table1" |
||||
<el-table-column label="封闭站次" align="center"> |
v-if="searchType == 2 && controlType == 1" |
||||
<el-table-column label="目标时段" width="120" align="center"> |
:data="tableData" |
||||
<el-table-column prop="num" label="站次" width="120" align="center"> |
style="width: 100%" |
||||
</el-table-column> |
:span-method="arraySpanMethod" |
||||
<el-table-column prop="numRatio" label="占比(%)" width="120" align="center"> |
> |
||||
</el-table-column> |
<el-table-column |
||||
</el-table-column> |
prop="controlCauseName" |
||||
<el-table-column label="去年同期时间段" align="center"> |
label="封闭原因" |
||||
<el-table-column prop="lastYearNum" label="站次" width="120" align="center"> |
width="150" |
||||
</el-table-column> |
align="center" |
||||
<el-table-column prop="lastYearNumRatio" label="占比(%)" width="120" align="center"> |
> |
||||
</el-table-column> |
</el-table-column> |
||||
</el-table-column> |
<el-table-column prop="causeTypeName" label="" align="center"> |
||||
<el-table-column prop="yearNumRatio" label="同比(%)" align="center"></el-table-column> |
</el-table-column> |
||||
</el-table-column> |
<el-table-column label="封闭站次" align="center"> |
||||
<el-table-column label="封闭时长" align="center"> |
<el-table-column label="目标时段" width="120" align="center"> |
||||
<el-table-column label="目标时段" width="120" align="center"> |
<el-table-column prop="num" label="站次" width="120" align="center"> |
||||
<el-table-column prop="minuteTime" label="时长(分钟)" width="120" align="center"> |
</el-table-column> |
||||
</el-table-column> |
<el-table-column |
||||
<el-table-column prop="timeRatio" label="占比(%)" width="120" align="center"> |
prop="numRatio" |
||||
</el-table-column> |
label="占比(%)" |
||||
</el-table-column> |
width="120" |
||||
<el-table-column label="去年同期时间段" align="center"> |
align="center" |
||||
<el-table-column prop="lastYearTime" label="时长(分钟)" width="120" align="center"> |
> |
||||
</el-table-column> |
</el-table-column> |
||||
<el-table-column prop="lastYearTimeRatio" label="占比(%)" width="120" align="center"> |
</el-table-column> |
||||
</el-table-column> |
<el-table-column label="去年同期时间段" align="center"> |
||||
</el-table-column> |
<el-table-column |
||||
<el-table-column prop="yearTimeRatio" label="同比(%)" align="center"></el-table-column> |
prop="lastYearNum" |
||||
</el-table-column> |
label="站次" |
||||
</el-table> |
width="120" |
||||
<el-table key="table2" v-else :data="facilityTableData" style="width: 100%"> |
align="center" |
||||
<el-table-column prop="facilityName" label="" width="150" align="center"> |
> |
||||
</el-table-column> |
</el-table-column> |
||||
<el-table-column prop="facilityClose" label="封闭" align="center"> |
<el-table-column |
||||
</el-table-column> |
prop="lastYearNumRatio" |
||||
<el-table-column prop="facilityRestriction" label="限行" align="center"> |
label="占比(%)" |
||||
</el-table-column> |
width="120" |
||||
<el-table-column prop="facilityInterval" label="间隔放行" align="center"> |
align="center" |
||||
</el-table-column> |
> |
||||
<el-table-column prop="total" label="合计" align="center"> |
</el-table-column> |
||||
</el-table-column> |
</el-table-column> |
||||
</el-table> |
<el-table-column |
||||
|
prop="yearNumRatio" |
||||
</div> |
label="同比(%)" |
||||
</Dialog> |
align="center" |
||||
|
></el-table-column> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="封闭时长" align="center"> |
||||
|
<el-table-column label="目标时段" width="120" align="center"> |
||||
|
<el-table-column |
||||
|
prop="minuteTime" |
||||
|
label="时长(分钟)" |
||||
|
width="120" |
||||
|
align="center" |
||||
|
> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="timeRatio" |
||||
|
label="占比(%)" |
||||
|
width="120" |
||||
|
align="center" |
||||
|
> |
||||
|
</el-table-column> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="去年同期时间段" align="center"> |
||||
|
<el-table-column |
||||
|
prop="lastYearTime" |
||||
|
label="时长(分钟)" |
||||
|
width="120" |
||||
|
align="center" |
||||
|
> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="lastYearTimeRatio" |
||||
|
label="占比(%)" |
||||
|
width="120" |
||||
|
align="center" |
||||
|
> |
||||
|
</el-table-column> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="yearTimeRatio" |
||||
|
label="同比(%)" |
||||
|
align="center" |
||||
|
></el-table-column> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
<el-table |
||||
|
key="table2" |
||||
|
v-else-if="searchType == 2 && controlType == 2" |
||||
|
:data="tableData" |
||||
|
style="width: 100%" |
||||
|
:span-method="arraySpanMethod" |
||||
|
> |
||||
|
<el-table-column |
||||
|
prop="controlCauseName" |
||||
|
label="限行原因" |
||||
|
width="150" |
||||
|
align="center" |
||||
|
> |
||||
|
</el-table-column> |
||||
|
<el-table-column prop="causeTypeName" label="" align="center"> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="限行站次" align="center"> |
||||
|
<el-table-column label="目标时段" width="120" align="center"> |
||||
|
<el-table-column prop="num" label="站次" width="120" align="center"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="numRatio" |
||||
|
label="占比(%)" |
||||
|
width="120" |
||||
|
align="center" |
||||
|
> |
||||
|
</el-table-column> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="去年同期时间段" align="center"> |
||||
|
<el-table-column |
||||
|
prop="lastYearNum" |
||||
|
label="站次" |
||||
|
width="120" |
||||
|
align="center" |
||||
|
> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="lastYearNumRatio" |
||||
|
label="占比(%)" |
||||
|
width="120" |
||||
|
align="center" |
||||
|
> |
||||
|
</el-table-column> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="yearNumRatio" |
||||
|
label="同比(%)" |
||||
|
align="center" |
||||
|
></el-table-column> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="限行时长" align="center"> |
||||
|
<el-table-column label="目标时段" width="120" align="center"> |
||||
|
<el-table-column |
||||
|
prop="minuteTime" |
||||
|
label="时长(分钟)" |
||||
|
width="120" |
||||
|
align="center" |
||||
|
> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="timeRatio" |
||||
|
label="占比(%)" |
||||
|
width="120" |
||||
|
align="center" |
||||
|
> |
||||
|
</el-table-column> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="去年同期时间段" align="center"> |
||||
|
<el-table-column |
||||
|
prop="lastYearTime" |
||||
|
label="时长(分钟)" |
||||
|
width="120" |
||||
|
align="center" |
||||
|
> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="lastYearTimeRatio" |
||||
|
label="占比(%)" |
||||
|
width="120" |
||||
|
align="center" |
||||
|
> |
||||
|
</el-table-column> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="yearTimeRatio" |
||||
|
label="同比(%)" |
||||
|
align="center" |
||||
|
></el-table-column> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
<el-table |
||||
|
key="table3" |
||||
|
v-else |
||||
|
show-summary |
||||
|
:data="facilityTableData" |
||||
|
style="width: 100%" |
||||
|
> |
||||
|
<el-table-column |
||||
|
prop="facilityName" |
||||
|
label="" |
||||
|
width="150" |
||||
|
align="center" |
||||
|
> |
||||
|
</el-table-column> |
||||
|
<el-table-column prop="facilityClose" label="封闭" align="center"> |
||||
|
</el-table-column> |
||||
|
<el-table-column prop="facilityRestriction" label="限行" align="center"> |
||||
|
</el-table-column> |
||||
|
<el-table-column |
||||
|
prop="facilityInterval" |
||||
|
label="间隔放行" |
||||
|
align="center" |
||||
|
> |
||||
|
</el-table-column> |
||||
|
<el-table-column prop="total" label="合计" align="center"> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
</div> |
||||
|
</Dialog> |
||||
</template> |
</template> |
||||
|
|
||||
<script> |
<script> |
||||
import Dialog from "@screen/components/Dialog/index"; |
import Dialog from "@screen/components/Dialog/index"; |
||||
import InputSearch from '@screen/components/InputSearch/index.vue'; |
import InputSearch from "@screen/components/InputSearch/index.vue"; |
||||
import Table from "@screen/components/Table.vue"; |
import Table from "@screen/components/Table.vue"; |
||||
import { selectTollStation } from "@/api/event/governanceAnalysis" |
import { selectTollStation } from "@/api/event/governanceAnalysis"; |
||||
import options from "../assets/charts"; |
import options from "../assets/charts"; |
||||
import request from "@/utils/request"; |
import request from "@/utils/request"; |
||||
export default { |
export default { |
||||
name: 'StatsDetail', |
name: "StatsDetail", |
||||
components: { |
components: { |
||||
Dialog, |
Dialog, |
||||
InputSearch, |
InputSearch, |
||||
Table |
Table, |
||||
}, |
}, |
||||
model: { |
model: { |
||||
prop: 'visible', |
prop: "visible", |
||||
event: 'update:value' |
event: "update:value", |
||||
}, |
}, |
||||
props: { |
props: { |
||||
visible: Boolean |
visible: Boolean, |
||||
}, |
}, |
||||
data() { |
data() { |
||||
return { |
return { |
||||
num: 0, |
num: 0, |
||||
tableData: [], |
tableData: [], |
||||
weatherNum: [], |
weatherNum: [], |
||||
startTime: "", |
startTime: "", |
||||
endTime: "", |
endTime: "", |
||||
|
pickerOptions: { |
||||
|
disabledDate(time) { |
||||
|
return time.getTime() > Date.now(); |
||||
|
}, |
||||
|
}, |
||||
|
searchType: 1, |
||||
|
controlType: 1, |
||||
|
facilityIds: [], |
||||
|
facilityTableData: [], |
||||
|
searchFormList: [ |
||||
|
{ |
||||
|
label: "查询条件:", |
||||
|
key: "searchType", |
||||
|
required: true, |
||||
|
isAlone: true, |
||||
|
type: "RadioGroup", |
||||
|
default: 1, |
||||
|
options: { |
||||
|
type: "circle", |
||||
|
options: [ |
||||
|
{ |
||||
|
key: 1, |
||||
|
label: "站点", |
||||
|
}, |
||||
|
{ |
||||
|
key: 2, |
||||
|
label: "原因", |
||||
|
}, |
||||
|
], |
||||
|
}, |
||||
|
}, |
||||
|
{ |
||||
|
label: "事件类型:", |
||||
|
key: "controlType", |
||||
|
required: true, |
||||
|
isAlone: true, |
||||
|
type: "RadioGroup", |
||||
|
visible: (data) => { |
||||
|
if (data.searchType == 2) { |
||||
|
return true; |
||||
|
} |
||||
|
}, |
||||
|
default: 1, |
||||
|
options: { |
||||
|
type: "circle", |
||||
|
options: [ |
||||
|
{ |
||||
|
key: 1, |
||||
|
label: "收费站封闭", |
||||
|
}, |
||||
|
{ |
||||
|
key: 2, |
||||
|
label: "收费站限行", |
||||
|
}, |
||||
|
], |
||||
|
}, |
||||
|
}, |
||||
|
{ |
||||
|
label: "选择站点:", |
||||
|
key: "facilityId", |
||||
|
required: true, |
||||
|
type: "Select", |
||||
|
options: { |
||||
|
multiple: true, |
||||
|
options: [], |
||||
|
}, |
||||
|
visible: (data) => { |
||||
|
if (data.searchType == 1) { |
||||
|
return true; |
||||
|
} |
||||
|
}, |
||||
|
}, |
||||
|
{ |
||||
|
label: "日期:", |
||||
|
key: "date", |
||||
|
required: true, |
||||
|
type: "datePicker", |
||||
|
options: { |
||||
pickerOptions: { |
pickerOptions: { |
||||
disabledDate(time) { |
disabledDate(time) { |
||||
return time.getTime() > Date.now(); |
return time.getTime() > Date.now(); |
||||
}, |
}, |
||||
}, |
}, |
||||
|
valueFormat: "yyyy-MM-dd", |
||||
|
type: "daterange", |
||||
|
}, |
||||
|
}, |
||||
|
], |
||||
|
}; |
||||
|
}, |
||||
|
computed: { |
||||
|
modelVisible: { |
||||
|
get() { |
||||
|
return this.visible; |
||||
|
}, |
||||
|
set(val) { |
||||
|
this.$emit("update:value", val); |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
|
||||
|
methods: { |
||||
|
getFacilityList() { |
||||
|
Promise.allSettled([ |
||||
|
// 查询收费站 |
||||
|
request({ |
||||
|
url: `/business/facility/query`, |
||||
|
method: "get", |
||||
|
}), |
||||
|
]).then((res) => { |
||||
|
if (res[0].status === "fulfilled" && res[0].value.code == 200) { |
||||
|
this.searchFormList[2].options.options = res[0].value.data.map( |
||||
|
(item) => ({ |
||||
|
key: item.id, |
||||
|
label: item.facilityName, |
||||
|
}) |
||||
|
); |
||||
|
this.facilityIds = res[0].value.data.map((item) => item.id); |
||||
|
// this.searchFormList[2].default = res[0].value.data.map(item => item.id) |
||||
|
let currentMonth = moment().format("YYYY-MM"); |
||||
|
let currentDate = moment().format("YYYY-MM-DD"); |
||||
|
let data = { |
||||
searchType: 1, |
searchType: 1, |
||||
facilityIds: [], |
facilityId: this.facilityIds, |
||||
facilityTableData: [], |
date: [currentMonth + "-01", currentDate], |
||||
searchFormList: [ |
}; |
||||
{ |
this.getSelectTollStation(data); |
||||
label: "查询条件:", |
|
||||
key: "searchType", |
|
||||
required: true, |
|
||||
isAlone: true, |
|
||||
type: "RadioGroup", |
|
||||
default: 1, |
|
||||
options: { |
|
||||
type: 'circle', |
|
||||
options: [ |
|
||||
{ |
|
||||
key: 1, |
|
||||
label: "站点", |
|
||||
}, |
|
||||
{ |
|
||||
key: 2, |
|
||||
label: "原因", |
|
||||
} |
|
||||
] |
|
||||
} |
|
||||
}, |
|
||||
{ |
|
||||
label: "事件类型:", |
|
||||
key: "controlType", |
|
||||
required: true, |
|
||||
isAlone: true, |
|
||||
type: "RadioGroup", |
|
||||
visible: data => { |
|
||||
if (data.searchType == 2) { |
|
||||
return true |
|
||||
} |
|
||||
}, |
|
||||
default: 1, |
|
||||
options: { |
|
||||
type: 'circle', |
|
||||
options: [{ |
|
||||
key: 1, |
|
||||
label: "收费站封闭", |
|
||||
}, |
|
||||
{ |
|
||||
key: 2, |
|
||||
label: "收费站限行", |
|
||||
}] |
|
||||
} |
|
||||
}, |
|
||||
{ |
|
||||
label: "选择站点:", |
|
||||
key: "facilityId", |
|
||||
required: true, |
|
||||
type: "Select", |
|
||||
options: { |
|
||||
multiple: true, |
|
||||
options: [] |
|
||||
}, |
|
||||
visible: data => { |
|
||||
if (data.searchType == 1) { |
|
||||
return true |
|
||||
} |
|
||||
}, |
|
||||
}, |
|
||||
{ |
|
||||
label: "日期:", |
|
||||
key: "date", |
|
||||
required: true, |
|
||||
type: "datePicker", |
|
||||
options: { |
|
||||
pickerOptions: { |
|
||||
disabledDate(time) { |
|
||||
return time.getTime() > Date.now(); |
|
||||
}, |
|
||||
}, |
|
||||
valueFormat: "yyyy-MM-dd", |
|
||||
type: "daterange" |
|
||||
} |
|
||||
}, |
|
||||
], |
|
||||
} |
} |
||||
|
}); |
||||
}, |
}, |
||||
computed: { |
handleSearch(data) { |
||||
modelVisible: { |
this.getSelectTollStation(data); |
||||
get() { |
}, |
||||
return this.visible; |
arraySpanMethod({ row, column, rowIndex, columnIndex }) { |
||||
}, |
if (this.searchType == 2) { |
||||
set(val) { |
if (!row.causeTypeName) { |
||||
this.$emit('update:value', val) |
if (columnIndex === 0) { |
||||
|
return [1, 2]; |
||||
|
} else if (columnIndex === 1) { |
||||
|
return [0, 0]; |
||||
|
} |
||||
|
} |
||||
|
if (row.controlCauseName === "恶劣天气") { |
||||
|
if (columnIndex === 0) { |
||||
|
console.log(this.weatherNum.length); |
||||
|
if (rowIndex === 0) { |
||||
|
return [this.weatherNum.length, 1]; |
||||
|
} else if (rowIndex <= this.weatherNum.length) { |
||||
|
return [0, 0]; |
||||
} |
} |
||||
|
// if (rowIndex === 2) { |
||||
|
// return [7, 1]; |
||||
|
// } |
||||
|
// else if (rowIndex === 3) { |
||||
|
// return [0, 0]; |
||||
|
// } else if (rowIndex === 4) { |
||||
|
// return [0, 0]; |
||||
|
// } |
||||
|
// else if (rowIndex === 5) { |
||||
|
// return [0, 0]; |
||||
|
// } |
||||
|
// else if (rowIndex === 6) { |
||||
|
// return [0, 0]; |
||||
|
// } |
||||
|
// else if (rowIndex === 7) { |
||||
|
// return [0, 0]; |
||||
|
// } |
||||
|
// else if (rowIndex === 8) { |
||||
|
// return [0, 0]; |
||||
|
// } |
||||
|
} |
||||
|
// this.weatherNum = 0 |
||||
} |
} |
||||
|
} |
||||
}, |
}, |
||||
|
getSelectTollStation(data) { |
||||
methods: { |
let startTime = ""; |
||||
getFacilityList() { |
let endTime = ""; |
||||
Promise.allSettled([ |
if (data) { |
||||
// 查询收费站 |
startTime = data.date[0] + " 00:00:00"; |
||||
request({ |
endTime = data.date[1] + " 23:59:59"; |
||||
url: `/business/facility/query`, |
} else { |
||||
method: "get", |
startTime = new Date("2024-01-01 11:12:21"); |
||||
}), |
startTime = new Date("2024-01-26 11:12:36"); |
||||
]) |
} |
||||
.then((res) => { |
|
||||
if (res[0].status === 'fulfilled' && res[0].value.code == 200) { |
var formData = new FormData(); |
||||
this.searchFormList[2].options.options = res[0].value.data.map(item => ({ |
this.searchType = data.searchType; |
||||
key: item.id, |
this.controlType = data.controlType; |
||||
label: item.facilityName, |
if (data.searchType == 1) { |
||||
})) |
formData.append("facilityId", data.facilityId); |
||||
this.facilityIds = res[0].value.data.map(item => item.id) |
} else { |
||||
// this.searchFormList[2].default = res[0].value.data.map(item => item.id) |
formData.append("controlType", data.controlType); |
||||
|
} |
||||
let date = moment().format('YYYY-MM-DD') |
formData.append("searchType", data.searchType); |
||||
let data = { |
formData.append("startTime", startTime); |
||||
searchType: 1, |
formData.append("endTime", endTime); |
||||
facilityId: this.facilityIds, |
let weatherData = []; |
||||
date: [date + " 00:00:00", date + " 23:59:59"] |
let otherData = []; |
||||
} |
selectTollStation(formData).then((res) => { |
||||
this.getSelectTollStation(data) |
if (data.searchType == 2) { |
||||
} |
this.weatherNum = []; |
||||
}) |
res.data.forEach((item) => { |
||||
|
if (item.causeTypeName) { |
||||
}, |
this.weatherNum.push(item.causeTypeName); |
||||
handleSearch(data) { |
weatherData.push(item); |
||||
this.getSelectTollStation(data) |
|
||||
}, |
|
||||
arraySpanMethod({ row, column, rowIndex, columnIndex }) { |
|
||||
|
|
||||
if (this.searchType == 2) { |
|
||||
|
|
||||
if (!row.causeTypeName) { |
|
||||
if (columnIndex === 0) { |
|
||||
return [1, 2]; |
|
||||
} |
|
||||
else if (columnIndex === 1) { |
|
||||
return [0, 0]; |
|
||||
} |
|
||||
}; |
|
||||
if (row.controlCauseName === '恶劣天气') { |
|
||||
if (columnIndex === 0) { |
|
||||
console.log(this.weatherNum.length) |
|
||||
if (rowIndex === 0) { |
|
||||
return [this.weatherNum.length, 1]; |
|
||||
} else if (rowIndex <= this.weatherNum.length) { |
|
||||
return [0, 0]; |
|
||||
} |
|
||||
// if (rowIndex === 2) { |
|
||||
// return [7, 1]; |
|
||||
// } |
|
||||
// else if (rowIndex === 3) { |
|
||||
// return [0, 0]; |
|
||||
// } else if (rowIndex === 4) { |
|
||||
// return [0, 0]; |
|
||||
// } |
|
||||
// else if (rowIndex === 5) { |
|
||||
// return [0, 0]; |
|
||||
// } |
|
||||
// else if (rowIndex === 6) { |
|
||||
// return [0, 0]; |
|
||||
// } |
|
||||
// else if (rowIndex === 7) { |
|
||||
// return [0, 0]; |
|
||||
// } |
|
||||
// else if (rowIndex === 8) { |
|
||||
// return [0, 0]; |
|
||||
// } |
|
||||
|
|
||||
} |
|
||||
// this.weatherNum = 0 |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
|
|
||||
}, |
|
||||
getSelectTollStation(data) { |
|
||||
let startTime = "" |
|
||||
let endTime = "" |
|
||||
if (data) { |
|
||||
startTime = data.date[0] + ' 00:00:00' |
|
||||
endTime = data.date[1] + ' 23:59:59' |
|
||||
} else { |
} else { |
||||
startTime = new Date("2024-01-01 11:12:21") |
otherData.push(item); |
||||
startTime = new Date("2024-01-26 11:12:36") |
|
||||
} |
} |
||||
|
}); |
||||
var formData = new FormData(); |
this.tableData = weatherData.concat(otherData); |
||||
this.searchType = data.searchType |
} else { |
||||
if (data.searchType == 1) { |
res.data.forEach((item) => { |
||||
formData.append("facilityId", data.facilityId); |
item.total = |
||||
} else { |
item.facilityClose + |
||||
formData.append("controlType", data.controlType); |
item.facilityRestriction + |
||||
} |
item.facilityInterval; |
||||
formData.append("searchType", data.searchType); |
}); |
||||
formData.append("startTime", startTime); |
this.facilityTableData = res.data; |
||||
formData.append("endTime", endTime); |
|
||||
let weatherData = [] |
|
||||
let otherData = [] |
|
||||
selectTollStation(formData).then((res) => { |
|
||||
if (data.searchType == 2) { |
|
||||
this.weatherNum = [] |
|
||||
res.data.forEach(item => { |
|
||||
if (item.causeTypeName) { |
|
||||
this.weatherNum.push(item.causeTypeName) |
|
||||
weatherData.push(item) |
|
||||
} else { |
|
||||
otherData.push(item) |
|
||||
} |
|
||||
}); |
|
||||
this.tableData = weatherData.concat(otherData) |
|
||||
} else { |
|
||||
res.data.forEach((item) => { |
|
||||
item.total = item.facilityClose + item.facilityRestriction + item.facilityInterval |
|
||||
}) |
|
||||
this.facilityTableData = res.data |
|
||||
|
|
||||
} |
|
||||
|
|
||||
}) |
|
||||
|
|
||||
} |
} |
||||
|
}); |
||||
}, |
}, |
||||
mounted() { |
}, |
||||
this.getFacilityList() |
mounted() { |
||||
|
this.getFacilityList(); |
||||
|
}, |
||||
} |
}; |
||||
} |
|
||||
</script> |
</script> |
||||
|
|
||||
<style lang="scss" scoped> |
<style lang="scss" scoped> |
||||
.dialog { |
.dialog { |
||||
min-height: 800px; |
min-height: 800px; |
||||
} |
} |
||||
|
|
||||
.search { |
.search { |
||||
display: flex; |
display: flex; |
||||
flex-direction: row-reverse; |
flex-direction: row-reverse; |
||||
} |
} |
||||
|
|
||||
::v-deep .is-scrolling-none { |
::v-deep .is-scrolling-none { |
||||
background: #0B6581; |
background: #0b6581; |
||||
|
|
||||
} |
} |
||||
|
|
||||
::v-deep .el-table__empty-text { |
::v-deep .el-table__empty-text { |
||||
color: #3AE0F8; |
color: #3ae0f8; |
||||
} |
} |
||||
|
|
||||
.StatsDetail { |
.StatsDetail { |
||||
// height: 770px; |
// height: 770px; |
||||
margin: 20px 0; |
margin: 20px 0; |
||||
width: 100%; |
width: 100%; |
||||
display: flex; |
display: flex; |
||||
gap: 5px; |
gap: 5px; |
||||
} |
} |
||||
|
|
||||
.el-table { |
.el-table { |
||||
border: 1px solid #07AEC6; |
border: 1px solid #07aec6; |
||||
background: #0B6581; |
background: #0b6581; |
||||
} |
} |
||||
|
|
||||
::v-deep .el-table .el-table__header-wrapper th, |
::v-deep .el-table .el-table__header-wrapper th, |
||||
.el-table .el-table__fixed-header-wrapper th { |
.el-table .el-table__fixed-header-wrapper th { |
||||
background: #0B6581; |
background: #0b6581; |
||||
border: 1px solid #07AEC6; |
border: 1px solid #07aec6; |
||||
} |
} |
||||
|
|
||||
::v-deep .el-table th.el-table__cell>.cell { |
::v-deep .el-table th.el-table__cell > .cell { |
||||
color: #3DE8FF; |
color: #3de8ff; |
||||
} |
} |
||||
|
|
||||
::v-deep .el-table thead.is-group th.el-table__cell { |
::v-deep .el-table thead.is-group th.el-table__cell { |
||||
background: #0B6581; |
background: #0b6581; |
||||
border: 1px solid #07AEC6; |
border: 1px solid #07aec6; |
||||
} |
} |
||||
|
|
||||
// ::v-deep .el-table th.el-table__cell.is-leaf, |
// ::v-deep .el-table th.el-table__cell.is-leaf, |
||||
::v-deep .el-table td.el-table__cell { |
::v-deep .el-table td.el-table__cell { |
||||
border: 1px solid #07AEC6; |
border: 1px solid #07aec6; |
||||
background: #1B586D; |
background: #1b586d; |
||||
color: #fff; |
color: #fff; |
||||
} |
} |
||||
|
|
||||
::v-deep .el-table tr { |
::v-deep .el-table tr { |
||||
border: 1px solid #07AEC6; |
border: 1px solid #07aec6; |
||||
background-color: #0B6581; |
background-color: #0b6581; |
||||
} |
} |
||||
|
|
||||
::v-deep .el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell { |
::v-deep |
||||
background: #1B586D; |
.el-table--enable-row-hover |
||||
border: 1px solid #07AEC6; |
.el-table__body |
||||
|
tr:hover |
||||
|
> td.el-table__cell { |
||||
|
background: #1b586d; |
||||
|
border: 1px solid #07aec6; |
||||
} |
} |
||||
|
|
||||
::v-deep .el-table::before, |
::v-deep .el-table::before, |
||||
.el-table--group::after, |
.el-table--group::after, |
||||
.el-table--border::after { |
.el-table--border::after { |
||||
background: none; |
background: none; |
||||
} |
} |
||||
</style> |
</style> |
||||
|
Loading…
Reference in new issue