<!--
|
* @Author: shuishen 1109946754@qq.com
|
* @Date: 2023-03-13 14:54:26
|
* @LastEditors: shuishen 1109946754@qq.com
|
* @LastEditTime: 2023-03-13 15:00:55
|
* @FilePath: \forest-fire\src\views\statistics\components\box\dataContent.vue
|
* @Description:
|
*
|
* Copyright (c) 2023 by ${git_name_email}, All Rights Reserved.
|
-->
|
<script setup>
|
import publicContent from "./publicContent.vue";
|
import { getList } from "@/api/space/space";
|
import { getDictionary } from "@/api/dict/dict";
|
import { reactive } from "vue";
|
const loading = ref(false);
|
|
const tableData = ref([]);
|
const opertionData = ref([]);
|
const pages = {
|
page: 1,
|
pageSize: 10,
|
total: 0,
|
};
|
|
function positionColor() {
|
return (row) => {
|
if (
|
(row.X && row.X != 0) ||
|
(row.lng && row.lng != 0) ||
|
(row.longitude && row.longitude != 0) ||
|
(row.x && row.x != 0)
|
) {
|
return "#1AFA29";
|
} else {
|
return "#ccc";
|
}
|
};
|
}
|
|
function positionDisabled() {
|
return (row) => {
|
if (
|
(row.X && row.X != 0) ||
|
(row.lng && row.lng != 0) ||
|
(row.longitude && row.longitude != 0) ||
|
(row.x && row.x != 0)
|
) {
|
return false;
|
} else {
|
return true;
|
}
|
};
|
}
|
|
onMounted(() => {
|
// 获取下拉字典信息
|
getDictData("emergency_space_type");
|
// 获取列表信息
|
getLists();
|
});
|
// 表格样式
|
const tableCellStyle = ({ row, column }) => {
|
return { background: "#152851", color: "#fff" };
|
};
|
// 表格表头样式
|
const headerCellStyle = ({}) => {
|
return {
|
background: "#152851",
|
color: "#fff",
|
};
|
};
|
// 搜索条件
|
const formInline = reactive({
|
name: "",
|
type: "",
|
});
|
|
// 提交查询
|
const onSubmit = () => {
|
resetPage();
|
console.log("submit!");
|
getLists(formInline);
|
};
|
|
// 重置分页数据
|
const resetPage = () => {
|
pages.page = 1;
|
pages.pageSize = 10;
|
pages.total = 0;
|
};
|
|
// 分页树改变
|
const handleSizeChange = (val) => {
|
pages.pageSize = val;
|
getLists(formInline);
|
};
|
// 分页改变
|
const handleCurrentChange = (val) => {
|
pages.page = val;
|
getLists(formInline);
|
};
|
// 重置条件
|
const clearBtn = () => {
|
formInline.name = "";
|
formInline.type = "";
|
resetPage();
|
getLists(formInline);
|
};
|
|
// 获取下拉字典
|
function getDictData(code) {
|
const param = {
|
code: code,
|
};
|
getDictionary(param).then((res) => {
|
opertionData.value = res.data.data;
|
});
|
}
|
|
// 查询分页数据
|
function getLists(param = {}) {
|
param.current = pages.page;
|
param.size = pages.pageSize;
|
loading.value = true;
|
getList(param)
|
.then((res) => {
|
const data = res.data.data;
|
tableData.value = data.records;
|
pages.total = data.total;
|
loading.value = false;
|
})
|
.catch((err) => {
|
loading.value = false;
|
console.log(err);
|
});
|
}
|
|
// 行点击
|
function rowClick(row) {
|
// 读取定位飞
|
}
|
|
// 查看详情
|
function goDetail(row) {}
|
</script>
|
|
<template>
|
<public-content>
|
<template #content>
|
<div>
|
<el-form :inline="true" :model="formInline" class="demo-form-inline">
|
<el-form-item label="名称">
|
<el-input
|
v-model="formInline.name"
|
placeholder="请输入名称"
|
clearable
|
style="width: 350px"
|
/>
|
</el-form-item>
|
<el-form-item label="类型">
|
<el-select
|
v-model="formInline.type"
|
placeholder="请选择"
|
clearable
|
style="width: 120px"
|
>
|
<el-option
|
v-for="item in opertionData"
|
:label="item.dictValue"
|
:value="item.dictKey"
|
/>
|
</el-select>
|
</el-form-item>
|
<el-form-item>
|
<el-button siz="default" type="primary" @click="onSubmit"
|
>查询</el-button
|
>
|
<el-button siz="default" type="" @click="clearBtn">重置</el-button>
|
</el-form-item>
|
</el-form>
|
<el-table
|
:data="tableData"
|
style="width: 100%"
|
:header-cell-style="headerCellStyle"
|
:cell-style="tableCellStyle"
|
v-loading="loading"
|
>
|
<el-table-column fixed prop="name" label="名称" />
|
<el-table-column prop="emergencySpaceType" label="类型" width="70" />
|
<el-table-column prop="mainFuncName" label="作用" width="60" />
|
<el-table-column width="60" label="操作" align="center">
|
<template #default="scope">
|
<el-button link type="primary" size="small" :disabled="scope.row.lng==''"
|
@click="rowClick(scope.row)">
|
定位
|
</el-button>
|
<!-- <el-button link type="primary" size="small" @click="goDetail">
|
<i class="el-icon-document" style="color: #66b1ff"></i>详情
|
</el-button> -->
|
</template>
|
</el-table-column>
|
</el-table>
|
<div class="el-page">
|
<el-pagination
|
background
|
layout="prev, pager, next"
|
:page-size="pages.pageSize"
|
:total="pages.total"
|
@size-change="handleSizeChange"
|
@current-change="handleCurrentChange"
|
/>
|
</div>
|
</div>
|
</template>
|
</public-content>
|
</template>
|
|
<style lang="scss" scoped>
|
.el-form-item__label {
|
color: #fff !important;
|
}
|
|
/* 当表格没有数据时,修改表格的背景颜色 */
|
.el-table--empty .el-table__body {
|
background-color: #19284e !important; /* 你想要的背景颜色 */
|
}
|
|
.el-page {
|
margin-top: 10px;
|
width: 100%;
|
display: flex;
|
align-items: center;
|
// margin-bottom:10px;
|
}
|
</style>
|