<template>
<!-- 分析报告 -->
<div class="analysis-report">
<div class="analysis-report-body">
<tableFormworkPage>
<template v-slot:btnBox>
<div class="report-top">
<a-button type="primary" style="margin-right: 12px">{{ $t('批量下载') }}</a-button>
<a-checkbox v-model="checkAll" :indeterminate="indeterminate" @change="onCheckAllChange">
{{ $t('全选') }}
</a-checkbox>
</div>
</template>
<template v-slot:serchBox>
<div class="input-box">
<div class="search-items">
<span class="search-name">{{ $t('报表名称') }}:</span>
<a-input allow-clear placeholder="报表名称" style="width: 200px" v-model="weeklyName"></a-input>
</div>
<div class="search-items">
<span class="search-name">{{ $t('统计时间段') }}:</span>
<a-range-picker @change="timerChange" format="YYYY-MM-DD" v-model="timer" />
</div>
<div class="searchButton">
<a-button @click="onWeightConfig" type="primary">
{{ $t('权重配置') }}
</a-button>
<a-button @click="getSearchVal" type="primary">
{{ $t('common.scf.btn.search') }}
</a-button>
<a-button @click="resetInputValue">
{{ $t('common.scf.btn.reset') }}
</a-button>
</div>
</div>
</template>
<template v-slot:tableBox>
<div class="card-container">
<div class="card-box" v-for="(item, index) in dataList" :key="index">
<div class="card" :class="{ cardIsCheck: item.checkbox }">
<div class="card-content">
<div class="header">
<div class="checkbox-box">
<a-checkbox v-model="item.checkbox" @change="onChange"></a-checkbox>
</div>
<div class="downloadIcon" @click="onDownload(item)">
<i class="ico-download_center"></i>
</div>
</div>
<div class="body"></div>
<div class="bottom"></div>
</div>
</div>
</div>
</div>
</template>
<template v-slot:paginationBox>
<div v-if="dataList.length">
<my-pagination
style="padding: 0"
:showSizeChanger="true"
:pageIndex.sync="pagination.currentPage"
@changePage="changePage"
:pageSize="pagination.pageSize"
:total="pagination.totalRows"
@onShowSizeChange="onShowSizeChange"
></my-pagination>
</div>
</template>
</tableFormworkPage>
</div>
<!-- 编辑权重 -->
<edit-weight ref="editWeight"></edit-weight>
</div>
</template>
<script>
import EditWeight from './components/editWeight.vue'
import tableFormworkPage from '@/components/scfComponents/tableFormwork/tableFormworkPage'
import myPagination from '@/components/scfComponents/paginationFormwork/myPagination.vue'
export default {
components: {
EditWeight,
myPagination,
tableFormworkPage,
},
data() {
return {
checkAll: false,
checkedList: [],
dataList: [
{ checkbox: false },
{ checkbox: true },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
{ checkbox: false },
],
indeterminate: false,
pagination: {
pageSize: 10,
currentPage: 1,
totalRows: 0,
},
}
},
mounted() {},
methods: {
// 全选
onCheckAllChange(e) {
this.dataList.forEach(el => {
el.checkbox = e.target.checked
})
if (this.checkAll) {
this.indeterminate = false
}
},
// 单选
onChange() {
let checkedList = this.dataList.filter(e => e.checkbox) || []
this.indeterminate = !!checkedList.length && checkedList.length < this.dataList.length
this.checkAll = checkedList.length === this.dataList.length
},
// 返回被选中的卡片
getDataListIsCheck() {
return this.dataList.filter(e => e.checkbox) || []
},
onWeightConfig() {
this.$refs.editWeight.openModal()
},
},
}
</script>
<style lang="less" scoped>
.analysis-report {
width: 100%;
height: 100%;
box-sizing: border-box;
padding: 0 20px;
.analysis-report-body {
width: 100%;
position: relative;
height: calc(100% - 30px);
}
.report-top {
display: flex;
align-items: center;
}
.input-box {
display: flex;
flex-direction: row;
align-items: center;
.search-items {
display: flex;
flex-direction: row;
align-items: center;
margin-left: 12px;
.search-name {
min-width: 50px;
max-width: 100px;
margin-right: 4px;
}
.search-input {
width: 200px;
}
}
.searchButton {
display: flex;
button {
margin-left: 12px;
}
}
}
.card-container {
width: 100%;
display: flex;
flex-wrap: wrap;
.card-box {
width: 20%;
height: 120px;
padding: 5px;
position: relative;
.card {
width: 100%;
height: 100%;
padding: 0 16px;
border-radius: 6px;
border: 1px solid #e6e9ed;
.cardIsCheck {
border: 1px solid #1c79f4;
}
.header {
display: flex;
align-items: center;
justify-content: space-between;
}
}
.card:hover {
border: 1px solid #1c79f4;
}
}
}
}
</style> 代码评审
最新发布