You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
suzhouyingjiPC/src/views/yingji/planManage.vue

394 lines
11 KiB

<!--
* @Descripttion:
* @version:
* @Author: JC9527
* @Date: 2023-09-04 10:20:06
* @LastEditors: JC9527
* @LastEditTime: 2023-09-05 15:54:32
-->
<template>
<div class="plan-management" :style="main">
<div class="plan-topBox">
<div class="drup-downs">
<div class="year">
<div class="year-span">年份:</div>
<el-select v-model="value" placeholder="请选择">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</div>
<div class="area">
<div class="area-span">区划:</div>
<el-select v-model="value2" placeholder="请选择">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</div>
</div>
<div class="btns">
<div class="export" @click="exportFile">
<img src="@/assets/images/export.png" alt="">
<span>导出excel</span>
</div>
<div class="newProject" @click="newProject">
<img src="@/assets/images/newProject.png" alt="">
<span>新增计划</span>
</div>
</div>
</div>
<div class="plan-bottomBox">
<div class="tables">
<el-table
:data="tableData"
style="width: 100%"
:border="false"
@selection-change="handleSelectionChange"
:row-class-name="tableRowClassName"
>
<el-table-column
type="selection"
width="55"
header-align="center"
>
</el-table-column>
<el-table-column
prop="date"
label="计划年份"
width="180"
header-align="center"
>
</el-table-column>
<el-table-column
prop="name"
label="行政区划"
width="180"
header-align="center"
>
</el-table-column>
<el-table-column
prop="address"
label="计划企业数量"
header-align="center"
>
</el-table-column>
<el-table-column
prop="address"
label="创建时间"
header-align="center"
>
</el-table-column>
<el-table-column
label="操作"
header-align="center"
>
<template slot-scope="scope">
<div class="tabs-btns">
<div class="look" @click="look(scope.row)">
<img src="@/assets/images/look.png" alt="">
<span>查看</span>
</div>
<div class="change" @click="change(scope.row)">
<img src="@/assets/images/change.png" alt="">
<span>修改</span>
</div>
<div class="delete" @click="deleteItem(scope.row)">
<img src="@/assets/images/delete.png" alt="">
<span>删除</span>
</div>
</div>
</template>
</el-table-column>
</el-table>
</div>
<div class="pagination">
<my-pagination :total="28" @pagesChange="pagesChange"></my-pagination>
</div>
</div>
<my-dialog ref="myDialog"></my-dialog>
</div>
</template>
<script>
import myPagination from "@/views/components/myPagination/index.vue"
import myDialog from "@/views/components/dialog/index.vue"
export default {
components:{myPagination,myDialog},
data() {
return {
options:[
],
value:'2022',
value2:'苏州',
tableData: [{
date: '2016-05-03',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄'
}, {
date: '2016-05-02',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄'
}, {
date: '2016-05-04',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄'
}, {
date: '2016-05-01',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄'
}, {
date: '2016-05-08',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄'
}, {
date: '2016-05-06',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄'
}, {
date: '2016-05-07',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄'
}, {
date: '2016-05-08',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄'
}, {
date: '2016-05-06',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄'
}, {
date: '2016-05-07',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄'
}],
multipleSelection: [],
main:{
height:'',
}
}
},
methods:{
// 页码,当前页切换事件
pagesChange(pages){
console.log(pages)
},
// 选中的数据
handleSelectionChange(val) {
this.multipleSelection = val;
},
// 导出
exportFile(){
console.log(this.multipleSelection)
},
// 新增计划
newProject(){
this.$refs.myDialog.open()
},
// 查看
look(row){
},
// 修改
change(row){
},
// 删除
deleteItem(row){
this.$modal.confirm("你确认要删除所选数据吗?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
// this.$api.overview.delete(row.id).then((response) => {
// console.log(response);
// });
// this.getList();
console.log(row)
console.log('确定删除')
})
.catch(() => {
console.log('取消删除')
});
},
tableRowClassName({row, rowIndex}) {
if (rowIndex % 2 !== 0) {
return 'success-row';
}
return '';
},
},
mounted() {
this.checkListTwo = this.checkList;
this.$nextTick(()=>{
let dom = document.getElementsByClassName('plan-management');
let height = dom[0].getBoundingClientRect();
let windowHeight = window.innerHeight;
let relativeHeight = windowHeight - height.top
this.main.height = relativeHeight + 'px'
})
},
}
</script>
<style lang="scss" scoped>
.plan-management {
padding: 0 40px 0 30px;
background-color: #fff;
.plan-topBox {
display: flex;
justify-content: space-between;
padding: 31px 0 12px 0;
// background-color: yellow;
.drup-downs {
display: flex;
align-items: center;
.year {
display: flex;
align-items: center;
margin-right: 81px;
.year-span {
font-size: 13px;
font-family: 'Alibaba PuHuiTi';
font-weight: 400;
color: #525966;
line-height: 40px;
margin-right: 10px;
}
}
.area {
display: flex;
align-items: center;
.area-span {
font-size: 13px;
font-family: 'Alibaba PuHuiTi';
font-weight: 400;
color: #525966;
line-height: 40px;
margin-right: 10px;
}
}
::v-deep .el-select {
background-color: transparent;
width: 276px;
.el-input__inner {
height: 33px;
}
// border-radius: 2px;
.el-input .el-input__suffix .el-input__suffix-inner .el-icon-arrow-up::before {
content: "";
background: url(../../assets/images/down2.png) center center no-repeat;
background-size: cover;
position: absolute;
width: 10px;
height: 7px;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
}
}
.btns {
display: flex;
align-items: center;
.export,.newProject {
display: flex;
align-items: center;
justify-content: center;
padding: 6px 19px;
cursor: pointer;
img {
width: 22px;
margin-right: 10px;
}
span {
color: #ffffff;
font-size: 14px;
font-family: 'Alibaba PuHuiTi';
font-weight: 400;
}
}
.export {
background-color: #2378EC;
margin-right: 30px;
}
.newProject {
background-color: #28B384;
}
}
}
.plan-bottomBox {
.tables {
background-color: #EAF2FD;
.tabs-btns {
display: flex;
align-items: center;
justify-content: center;
.look,.change,.delete {
display: flex;
align-items: center;
margin-right: 30px;
cursor: pointer;
img {
width: 20px;
margin-right: 5px;
}
span {
font-size: 15px;
font-family: Alibaba PuHuiTi;
font-weight: 400;
color: #045FFD;
}
}
.delete {
margin-right: 0;
span {
color: #F71052;
}
}
}
::v-deep .el-table {
.success-row {
background-color: rgba(234, 242, 253, 0.25);
}
td {
height: 42px;
text-align: center;
font-size: 14px;
font-family: 'Alibaba PuHuiTi';
font-weight: 400;
color: #525966;
}
th {
height: 45px;
background-color: #EAF2FD;
font-size: 15px;
font-family: 'Alibaba PuHuiTi';
font-weight: bold;
color: #525966;
.el-checkbox {
display: none;
}
}
.el-table__body-wrapper {
height: 450px !important;
overflow-y: auto;
}
}
::v-deep .el-table::before {
height: 0;
}
}
.pagination {
margin-top: 20px;
}
}
}
</style>