<template>
<!-- 图层管理 -->
<div class="home-wrapper">
<div class="table-list">
<div class="list">
<el-table :data="tableData" height="100%" style="width: 100%;" border>
<el-table-column type="expand">
<template slot-scope="props">
<el-table :data="props.row.tableData" :show-header="false" class="inner-table" style="width: calc(100% - 48px);margin-left: 48px;">
<el-table-column prop="itemName" align="center" width="320">
</el-table-column>
<el-table-column prop="itemIndexX" align="center" width="320">
</el-table-column>
<el-table-column prop="itemOpen1" align="center" width="320">
<template slot-scope="{row}">
<el-switch :value="row.itemOpen1" @change="handleOpen1(row)">
</el-switch>
</template>
</el-table-column>
<el-table-column prop="itemOpen2" align="center" width="320">
<template slot-scope="{row}">
<el-switch :value="row.itemOpen2" @change="handleOpen2(row)">
</el-switch>
</template>
</el-table-column>
<el-table-column label="操作" align="center">
<template slot-scope="{row}">
<el-button size="mini" type="text" icon="el-icon-view" @click="handleEdit(row)">编辑</el-button>
</template>
</el-table-column>
</el-table>
</template>
</el-table-column>
<el-table-column label="图层名称" prop="name" align="center" width="320">
</el-table-column>
<el-table-column label="排序" prop="indexX" align="center" width="320">
</el-table-column>
<el-table-column label="图层状态" align="center" width="320">
</el-table-column>
<el-table-column label="是否开放" align="center" width="320">
</el-table-column>
<el-table-column label="操作" align="center">
<template slot-scope="{row}">
<el-button size="mini" type="text" icon="el-icon-view" @click="handleEdit(row)">编辑</el-button>
</template>
</el-table-column>
</el-table>
</div>
<div class="pagination">
<el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="tableParams.pageNum" :page-sizes="[10, 20, 30, 40]" :page-size="tableParams.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="totalCount">
</el-pagination>
</div>
</div>
<!-- 编辑 -->
<editDialog v-if="editDialog" :dialogShow="editDialog" :form="form" @close="close"></editDialog>
</div>
</template>
<script>
import { getRequiresTime, timestampToTime1 } from "@/utils/index";
import editDialog from "./components/editDialog.vue";
export default {
components: { editDialog },
name: "index",
data() {
return {
tableParams: {
pageNum: 1,
pageSize: 10,
},
totalCount: 0,
tableData: [
{
name: "生态空间",
indexX: 1,
tableData: [
{
itemName: "11",
itemIndexX: 1,
itemOpen1: false,
itemOpen2: true,
},
{
itemName: "22",
itemIndexX: 2,
itemOpen1: false,
itemOpen2: true,
},
{
itemName: "33",
itemIndexX: 3,
itemOpen1: false,
itemOpen2: true,
},
],
},
],
editDialog: false,
form: {},
};
},
created() {
this.getListData();
},
mounted() {},
methods: {
getListData() {},
handleQuery() {
this.tableParams.pageNum = 1;
this.tableParams.pageSize = 10;
this.getListData();
},
handleOpen1(val) {
let titleName = "开启";
if (val.itemOpen1 == true) {
titleName = "开启后该图层将进行展示,是否确认";
} else {
titleName = "关闭后该图层将不进行展示,是否确认";
}
this.$confirm(`${titleName}`, "操作确认", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
confirmButtonClass: "confirm-button-sure",
cancelButtonClass: "confirm-button-cancel",
})
.then(() => {
console.log("确定", val);
val.itemOpen1 = !val.itemOpen1;
})
.catch(() => {
console.log("取消", val);
});
},
handleOpen2(val) {
let titleName = "开启";
if (val.itemOpen2 == true) {
titleName = "开启后该图层将公开展示,是否确认";
} else {
titleName = "关闭后该图层将不公开展示,是否确认";
}
this.$confirm(`${titleName}`, "操作确认", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
confirmButtonClass: "confirm-button-sure",
cancelButtonClass: "confirm-button-cancel",
})
.then(() => {
console.log("确定", val);
val.itemOpen2 = !val.itemOpen2;
})
.catch(() => {
console.log("取消", val);
});
},
handleEdit(val) {
this.form = val
this.editDialog = true;
},
handleSizeChange(val) {
this.tableParams.pageSize = val;
this.getListData();
},
handleCurrentChange(val) {
this.tableParams.pageNum = val;
this.getListData();
},
close(val) {
this.editDialog = val;
this.getListData();
},
},
};
</script>
<style lang="scss" scoped>
.table-list {
margin-top: 0;
overflow: hidden;
.list {
overflow: hidden;
}
}
::v-deep .el-table__expanded-cell {
padding: 0 !important;
}
::v-deep .inner-table {
.el-table__cell:last-child {
border-right: none !important;
}
.el-table__cell:first-child {
border-left: 1px solid #dfe6ec;
}
.el-table__row:last-child .el-table__cell {
border-bottom: none !important;
}
&::before {
height: 0px;
}
}
</style>