|
@@ -1,6 +1,4 @@
|
|
|
<template>
|
|
|
- <div :class="showDatePicker || showSelect? 'homeMobeilMask': ''">
|
|
|
- </div>
|
|
|
<div class="notificationPage">
|
|
|
<van-nav-bar title="对标考评公告" />
|
|
|
<div class="mobeilVant">
|
|
@@ -18,34 +16,37 @@
|
|
|
</div>
|
|
|
<div class="notificationMain">
|
|
|
<div class="mainSeach">
|
|
|
- <div class="rankingList">
|
|
|
- <span>{{showDate}}年度</span>
|
|
|
- <img :src="dateImg" @click="changePickerDate" alt="">
|
|
|
- </div>
|
|
|
- <div class="sectionModel">
|
|
|
- <span @click="changeSelect">{{binSectionName}}板块</span>
|
|
|
- </div>
|
|
|
- <div class="mainSeachImg">
|
|
|
- <img :src="sortImg" alt="">
|
|
|
- <img :src="seachImg" alt="" @click="getNotificationData(binSection, showDate)">
|
|
|
+ <div class="seachFrom" @click="showVanPopup = true">
|
|
|
+ <span>搜索栏</span>
|
|
|
</div>
|
|
|
+ <van-popup v-model:show="showVanPopup" position="top">
|
|
|
+ <div class="vanForm">
|
|
|
+ <van-form>
|
|
|
+ <van-field
|
|
|
+ v-model="form.company"
|
|
|
+ label="所属部门"
|
|
|
+ placeholder="所属部门"
|
|
|
+ />
|
|
|
+ <van-field
|
|
|
+ v-model="form.reportMsg"
|
|
|
+ label="公告名称"
|
|
|
+ placeholder="公告名称"
|
|
|
+ />
|
|
|
+ <van-cell title="选择日期区间" :value="form.time" @click="showDatePicker = true" />
|
|
|
+ <van-calendar v-model:show="showDatePicker" type="range" :min-date="minDate" :max-date="maxDate" @confirm="confirmFn" />
|
|
|
+
|
|
|
+ <div style="margin: 16px;display: flex;justify-content: space-between;">
|
|
|
+ <div class="seachBtnFrom" @click="getSeach">
|
|
|
+ <span>搜索</span>
|
|
|
+ </div>
|
|
|
+ <div class="restBtnFrom" @click="restSeach">
|
|
|
+ <span>重置</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </van-form>
|
|
|
+ </div>
|
|
|
+ </van-popup>
|
|
|
</div>
|
|
|
- <van-date-picker
|
|
|
- v-model="currentDate"
|
|
|
- title="选择年季"
|
|
|
- :columns-type="['year', 'month']"
|
|
|
- :filter="filterPicker"
|
|
|
- @confirm="confirmFn"
|
|
|
- @cancel="cancelpickerFn"
|
|
|
- v-if="showDatePicker"
|
|
|
- />
|
|
|
- <van-picker
|
|
|
- title="选择板块"
|
|
|
- :columns="columnSection"
|
|
|
- @confirm="selectConfirm"
|
|
|
- @cancel="cancelSelect"
|
|
|
- v-if="showSelect"
|
|
|
- />
|
|
|
<div class="mainModel">
|
|
|
<el-table :data="noticeData" style="width: 100%" @row-click="noticDetail">
|
|
|
<el-table-column type="index" label="序号" align="center"></el-table-column>
|
|
@@ -80,26 +81,23 @@ export default {
|
|
|
sortImg: sortImg,
|
|
|
seachImg: seachImg,
|
|
|
showDatePicker: false,
|
|
|
- showSelect: false,
|
|
|
+ showVanPopup: false,
|
|
|
currentDate: [],
|
|
|
- showDate: '',
|
|
|
- binSection: 'HD',
|
|
|
- binSectionName: '火电',
|
|
|
noticeData: [],
|
|
|
- columnSection: []
|
|
|
+ columnSection: [],
|
|
|
+ minDate: '',
|
|
|
+ maxDate: '',
|
|
|
+ form: {
|
|
|
+ company: '',
|
|
|
+ reportMsg: '',
|
|
|
+ time: ''
|
|
|
+ },
|
|
|
}
|
|
|
},
|
|
|
created() {
|
|
|
- this.showDate = new Date().getFullYear()-1
|
|
|
+ this.minDate = new Date(`${new Date().getFullYear()-5}/${new Date().getMonth() + 1}/${new Date().getDate()}`)
|
|
|
+ this.maxDate = new Date(`${new Date().getFullYear()+5}/${new Date().getMonth() + 1}/${new Date().getDate()}`)
|
|
|
this.getNotificationData()
|
|
|
- this.columnSection = [
|
|
|
- { text: '火电', value: 'HD' },
|
|
|
- { text: '水电', value: 'SD' },
|
|
|
- { text: '新能源', value: 'XNYFG' },
|
|
|
- { text: '海外业务', value: 'GJYW' },
|
|
|
- { text: '煤电一体化', value: 'MDYTH' }
|
|
|
- ]
|
|
|
-
|
|
|
},
|
|
|
methods: {
|
|
|
// 获取公告数据
|
|
@@ -110,7 +108,10 @@ export default {
|
|
|
let params = {
|
|
|
// deptId: userMes.deptId,
|
|
|
deptId: '1',
|
|
|
- noticeTitle: ''
|
|
|
+ releaseDeptName: that.form.company,
|
|
|
+ noticeTitle: that.form.reportMsg,
|
|
|
+ beginDataTime: that.form.time ? that.form.time.substring(0, that.form.time.indexOf(' - ')) + ' 00:00:00' : '',
|
|
|
+ endDataTime: that.form.time ? that.form.time.substring(that.form.time.indexOf(' - ')+3, that.form.time.length) + ' 23:59:59' : ''
|
|
|
}
|
|
|
apiGetevaluationCircularDisplaylist(params).then(datas => {
|
|
|
if (datas && datas.data) {
|
|
@@ -119,11 +120,18 @@ export default {
|
|
|
})
|
|
|
// }
|
|
|
},
|
|
|
- filterPicker(type, options) {
|
|
|
- if (type === 'month') {
|
|
|
- return options.filter((option) => Number(option.value) < 5);
|
|
|
+ getSeach() {
|
|
|
+ this.getNotificationData()
|
|
|
+ this.showVanPopup = false
|
|
|
+ },
|
|
|
+ restSeach() {
|
|
|
+ this.form = {
|
|
|
+ company: '',
|
|
|
+ reportMsg: '',
|
|
|
+ time: ''
|
|
|
}
|
|
|
- return options;
|
|
|
+ this.showVanPopup = false
|
|
|
+ this.getNotificationData()
|
|
|
},
|
|
|
noticDetail(row) {
|
|
|
let detailObj = JSON.stringify(row)
|
|
@@ -132,51 +140,16 @@ export default {
|
|
|
chooseMenu() {
|
|
|
this.$router.push({ path: "/menu"})
|
|
|
},
|
|
|
- changePickerDate() {
|
|
|
- this.showDatePicker = true
|
|
|
- },
|
|
|
- changeSelect() {
|
|
|
- this.showSelect = true
|
|
|
- },
|
|
|
confirmFn(val) {
|
|
|
- this.showDate = val.selectedValues[0]
|
|
|
- this.cancelpickerFn()
|
|
|
- },
|
|
|
- selectConfirm(val) {
|
|
|
- this.binSection = val.selectedValues[0]
|
|
|
- if (this.binSection === 'HD') {
|
|
|
- this.binSectionName = '火电'
|
|
|
- } else if (this.binSection === 'SD') {
|
|
|
- this.binSectionName = '水电'
|
|
|
- } else if (this.binSection === 'XNYFG') {
|
|
|
- this.binSectionName = '新能源'
|
|
|
- } else if (this.binSection === 'GJYW') {
|
|
|
- this.binSectionName = '海外业务'
|
|
|
- } else if (this.binSection === 'MDYTH') {
|
|
|
- this.binSectionName = '煤电一体化'
|
|
|
- }
|
|
|
- this.cancelSelect()
|
|
|
- },
|
|
|
- cancelpickerFn() {
|
|
|
+ const [start, end] = val;
|
|
|
+ this.form.time = `${this.$utils.getNYRTime(start)} - ${this.$utils.getNYRTime(end)}`;
|
|
|
this.showDatePicker = false
|
|
|
- },
|
|
|
- cancelSelect() {
|
|
|
- this.showSelect = false
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
|
|
|
|
<style lang="less">
|
|
|
-.homeMobeilMask{
|
|
|
- position: fixed;
|
|
|
- top: 0;
|
|
|
- left: 0;
|
|
|
- width: 100%;
|
|
|
- height: 100%;
|
|
|
- background-color: rgba(0,0,0,0.5);
|
|
|
- z-index: 111;
|
|
|
-}
|
|
|
.notificationPage {
|
|
|
background-color: #184FB4;
|
|
|
.van-nav-bar{
|
|
@@ -245,71 +218,51 @@ export default {
|
|
|
padding: 17px 20px;
|
|
|
width: calc(100% - 40px);
|
|
|
.mainSeach{
|
|
|
- display: flex;
|
|
|
+ display: flex;
|
|
|
// justify-content: space-between;
|
|
|
- .rankingList{
|
|
|
- width: 37%;
|
|
|
+ .seachFrom{
|
|
|
+ width: 100%;
|
|
|
height: 40px;
|
|
|
background: #184FB4;
|
|
|
border-radius: 5px;
|
|
|
margin-bottom: 15px;
|
|
|
- margin-right: 10px;
|
|
|
+ text-align: center;
|
|
|
span{
|
|
|
display: inline-block;
|
|
|
- width: 85%;
|
|
|
- font-family: MicrosoftYaHei;
|
|
|
- font-weight: 400;
|
|
|
- font-size: 16px;
|
|
|
color: #fff;
|
|
|
- margin-right: 5px;
|
|
|
- position: relative;
|
|
|
- left: 20px;
|
|
|
- top: 10px;
|
|
|
- }
|
|
|
- img{
|
|
|
- width: 22px;
|
|
|
- height: 18px;
|
|
|
- position: relative;
|
|
|
- top: -10px;
|
|
|
- left: 90px;
|
|
|
- }
|
|
|
- }
|
|
|
- .sectionModel{
|
|
|
- width: 37%;
|
|
|
- height: 40px;
|
|
|
- background: #838DAB;
|
|
|
- border-radius: 5px;
|
|
|
- margin-bottom: 15px;
|
|
|
- margin-right: 15px;
|
|
|
- span{
|
|
|
- display: inline-block;
|
|
|
- width: 100%;
|
|
|
line-height: 40px;
|
|
|
- text-align: center;
|
|
|
- color: #fff;
|
|
|
}
|
|
|
}
|
|
|
- .mainSeachImg{
|
|
|
- width: 17%;
|
|
|
- display: flex;
|
|
|
- justify-content: space-between;
|
|
|
- position: relative;
|
|
|
- top: 10px;
|
|
|
- img:nth-child(1){
|
|
|
- width: 25px;
|
|
|
- height: 15px;
|
|
|
- position: relative;
|
|
|
- top: 2px;
|
|
|
+ .vanForm{
|
|
|
+ margin-top: 60px;
|
|
|
+ .seachBtnFrom{
|
|
|
+ width: 65%;
|
|
|
+ height: 40px;
|
|
|
+ background: #184FB4;
|
|
|
+ border-radius: 5px;
|
|
|
+ margin-bottom: 15px;
|
|
|
+ text-align: center;
|
|
|
+ span{
|
|
|
+ display: inline-block;
|
|
|
+ color: #fff;
|
|
|
+ line-height: 40px;
|
|
|
+ }
|
|
|
}
|
|
|
- img:nth-child(2){
|
|
|
- width: 22px;
|
|
|
- height: 22px;
|
|
|
+ .restBtnFrom{
|
|
|
+ width: 30%;
|
|
|
+ height: 40px;
|
|
|
+ background: #838DAB;
|
|
|
+ border-radius: 5px;
|
|
|
+ margin-bottom: 15px;
|
|
|
+ text-align: center;
|
|
|
+ span{
|
|
|
+ display: inline-block;
|
|
|
+ color: #fff;
|
|
|
+ line-height: 40px;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- .van-picker{
|
|
|
- z-index: 222222
|
|
|
- }
|
|
|
.mainModel{
|
|
|
background: #fff;
|
|
|
border-radius: 5px;
|