|
@@ -154,7 +154,7 @@
|
|
|
<el-table
|
|
|
:data="state.tableData"
|
|
|
stripe
|
|
|
- style="height: calc(100% - 60px)"
|
|
|
+ style="height: calc(100% - 150px)"
|
|
|
@sort-change="handleSortChange"
|
|
|
>
|
|
|
<el-table-column
|
|
@@ -215,6 +215,22 @@
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
+ <div class="pagination-wrapper">
|
|
|
+ <el-pagination
|
|
|
+ layout="total, prev, pager, next"
|
|
|
+ :current-page="query.page"
|
|
|
+ :page-size="query.limit"
|
|
|
+ :total="query.pageTotal"
|
|
|
+ @size-change="
|
|
|
+ (value) => {
|
|
|
+ query.page = 1;
|
|
|
+ query.limit = value;
|
|
|
+ getTableList();
|
|
|
+ }
|
|
|
+ "
|
|
|
+ @current-change="handlePageChange"
|
|
|
+ ></el-pagination>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<el-dialog
|
|
|
v-model="dialogVisible"
|
|
@@ -286,6 +302,12 @@ onMounted(() => {
|
|
|
const pageTitle = "报警分析";
|
|
|
const store = useStore();
|
|
|
const changZhanArray = ref([]);
|
|
|
+const windName = ref([]);
|
|
|
+const query = reactive({
|
|
|
+ page: 1,
|
|
|
+ limit: 10,
|
|
|
+ pageTotal: null,
|
|
|
+});
|
|
|
const state = reactive({
|
|
|
typeVal: "windturbine",
|
|
|
typeList: [
|
|
@@ -616,10 +638,17 @@ function getAlarmId() {
|
|
|
];
|
|
|
getTableList();
|
|
|
}
|
|
|
+// 分页导航
|
|
|
+const handlePageChange = (val) => {
|
|
|
+ query.page = val;
|
|
|
+ getTableList();
|
|
|
+};
|
|
|
// 获取列表数据 调用接口
|
|
|
function getTableList() {
|
|
|
if (state.components?.length) {
|
|
|
getAlarmCountList({
|
|
|
+ pageNum: query.page,
|
|
|
+ pageSize: query.limit,
|
|
|
stationid: state.changZhan || "",
|
|
|
begin: state.starttime,
|
|
|
end: state.endtime,
|
|
@@ -629,7 +658,13 @@ function getTableList() {
|
|
|
alarmIds: state.alarmIds,
|
|
|
alarmType: state.typeVal,
|
|
|
}).then((res) => {
|
|
|
- changeTableData(res)
|
|
|
+ if (res && res.result.length>0) {
|
|
|
+ changeTableData(res.result)
|
|
|
+ query.pageTotal = res.total
|
|
|
+ } else {
|
|
|
+ state.tHeard = [];
|
|
|
+ state.tableData = [];
|
|
|
+ }
|
|
|
}).catch(() =>{
|
|
|
changeTableData(dataJson.data.data.dataList)
|
|
|
});
|
|
@@ -642,6 +677,9 @@ function getTableList() {
|
|
|
|
|
|
const changeTableData = (res) => {
|
|
|
if (res.length) {
|
|
|
+ if (query.page === 1) {
|
|
|
+ windName.value = []
|
|
|
+ }
|
|
|
let tableData = [];
|
|
|
let tHeard = [];
|
|
|
let data = res;
|
|
@@ -651,21 +689,28 @@ const changeTableData = (res) => {
|
|
|
return wtId === tableItem.windturbineId;
|
|
|
});
|
|
|
!wtItem && (wtItem = { wtId });
|
|
|
- pEle[wtId].forEach((cEle) => {
|
|
|
- let someRes = tHeard.some((findEle) => {
|
|
|
- return findEle.label == cEle.alertText;
|
|
|
- });
|
|
|
+ if (pEle[wtId].length>0) {
|
|
|
+ pEle[wtId].forEach((cEle) => {
|
|
|
+ let someRes = tHeard.some((findEle) => {
|
|
|
+ return findEle.label == cEle.alertText;
|
|
|
+ });
|
|
|
|
|
|
- if (!someRes) {
|
|
|
- tHeard.push({
|
|
|
- label: cEle.alertText,
|
|
|
- code: cEle.alarmid,
|
|
|
+ if (!someRes) {
|
|
|
+ tHeard.push({
|
|
|
+ label: cEle.alertText,
|
|
|
+ code: cEle.alarmid,
|
|
|
+ });
|
|
|
+ }
|
|
|
+ wtItem[`${cEle.alarmid}_count`] = cEle.count;
|
|
|
+ wtItem[`${cEle.alarmid}_time`] = cEle.time;
|
|
|
+ wtItem["wtname"] = cEle.windturbineCode
|
|
|
});
|
|
|
- }
|
|
|
- wtItem[`${cEle.alarmid}_count`] = cEle.count;
|
|
|
- wtItem[`${cEle.alarmid}_time`] = cEle.time;
|
|
|
- wtItem["wtname"] = cEle.windturbineCode;
|
|
|
- });
|
|
|
+ } else {
|
|
|
+ wtItem["wtname"] = windName.value[index]
|
|
|
+ }
|
|
|
+ if (query.page === 1) {
|
|
|
+ windName.value.push(wtItem["wtname"])
|
|
|
+ }
|
|
|
tableData.push(wtItem);
|
|
|
}
|
|
|
});
|
|
@@ -798,7 +843,7 @@ const compare = function (property) {
|
|
|
}
|
|
|
.table_all {
|
|
|
width: calc(100% - 20px);
|
|
|
- height: calc(100% - 130px);
|
|
|
+ height: calc(100% - 80px);
|
|
|
padding: 20px;
|
|
|
.leftContent[data-type~="greenSty"] {
|
|
|
background: url("~@/assets/imgs/title_left_bg1.png") no-repeat;
|
|
@@ -831,6 +876,11 @@ const compare = function (property) {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ .pagination-wrapper :deep {
|
|
|
+ height: 30px;
|
|
|
+ text-align: right;
|
|
|
+ margin-top: 10px;
|
|
|
+ }
|
|
|
}
|
|
|
.bar {
|
|
|
display: flex;
|