Browse Source

首页及其详情页面样式调整且兼容125%,修改任务中心绩效结果考核申报功能;绩效结果考核申报新增功能权限修改;移动端增加对标考评公告页面及其详情页面;

SunZehao 1 year ago
parent
commit
6849ea8476

+ 15 - 1
src/api/api.js

@@ -86,6 +86,13 @@ export function apiGetevaluationportallist(params) {
         params: params
     })
 }
+//----------首页年份和季度数据
+export function apiGetevaluationportalhomeSeason() {
+    return httpRequest({
+        url: 'evaluation/portal/homeSeason',
+        method: 'get'
+    })
+}
 //----------通告服务
 export function apiGetevaluationCircularDisplaylist(params) {
     return httpRequest({
@@ -317,7 +324,6 @@ export function apideptAdState(params) {
 }
 
 //  获取人数
-
 export function apiGetparticipantsNumber(params) {
     return httpRequest({
         url: `evaluation-dept-ad/participantsNumber/${params}`,
@@ -325,6 +331,14 @@ export function apiGetparticipantsNumber(params) {
     })
 }
 
+// 任务中心---绩效结果考核申报  修改评定等级
+export function apideptAdmodify(params) {
+    return httpRequest({
+        url: 'evaluation-dept-ad/modify',
+        method: 'post',
+        params: params
+    })
+}
 
 //----"部门考评指标考核-保存or修改"----新增后修改状态
 export function apideptModifyassessmentState(params) {

+ 1 - 1
src/components/evaluationSystem/evaluationDepartmentPage.vue

@@ -100,7 +100,7 @@
                         </el-form-item>
                         <el-form-item label="部门应用" prop="departmentIn">
                             <el-checkbox-group v-model="ruleForm.departmentIn">
-                                <el-checkbox label="业绩指标计划" name="type" :disabled="ruleForm.departmentLeader !== ''" />
+                                <el-checkbox label="业绩指标计划" name="type" :disabled="ruleForm.depart2ment !== ''" />
                                 <el-checkbox label="绩效考核申报" name="type" />
                             </el-checkbox-group>
                         </el-form-item>

+ 3 - 3
src/components/gateWay/gatewayNewSeasonFrom.vue

@@ -347,10 +347,10 @@ export default {
                         font-size: 14px;
                         color: #414141;
                         .headerNameForeTit_left{
-                            width: 30%;
+                            width: 26%;
                         }
                         .headerNameForeTit_right{
-                            width: 72%;
+                            width: 74%;
                             display: flex;
                             justify-content: space-between;
                         }
@@ -410,7 +410,7 @@ export default {
                     }
                     span:nth-child(3){
                         display: inline-block;
-                        width: 7%;
+                        width: 13%;
                         font-weight: 600;
                         margin-right: 15px;
                         color: #666;

+ 7 - 6
src/components/gateWay/gatewayNewYearFrom.vue

@@ -17,7 +17,7 @@
             <el-row class="yearFrom">
                 <el-col :span="evaluationYearDataRight.length>0?12:24" :style="evaluationYearDataRight.length>0?'border-right: 1px solid #E1E3EA;': ''">
                     <div class="yearFromHeader">
-                        <div class="headerNameTit">
+                        <div class="headerNameTit" :style="winPix === 1.25?'padding: 8px 45px 8px 20px;':''">
                             <div class="headerNameTit_left">
                                 <span>排名</span>
                                 <span style="margin-left: 20px">单位名称</span>
@@ -34,14 +34,14 @@
                                 <span :style="rankStyle()">{{item.rank}}</span>
                                 <span :style="companyStyle()">{{item.company}}</span>
                                 <span>{{item.grade}}</span>
-                                <span>{{item.score}}</span>
+                                <span :style="winPix === 1.25?'width:20%':''">{{item.score}}</span>
                             </div>
                         </div>
                     </div>
                 </el-col>
                 <el-col :span="12" v-if="evaluationYearDataRight.length>0">
                     <div class="yearFromHeader">
-                        <div class="headerNameTit">
+                        <div class="headerNameTit" :style="winPix === 1.25?'padding: 8px 45px 8px 20px;':''">
                             <div class="headerNameTit_left">
                                 <span>排名</span>
                                 <span style="margin-left: 20px">单位名称</span>
@@ -58,7 +58,7 @@
                                 <span :style="rankStyle()">{{item.rank}}</span>
                                 <span :style="companyStyle()">{{item.company}}</span>
                                 <span>{{item.grade}}</span>
-                                <span>{{item.score}}</span>
+                                <span :style="winPix === 1.25?'width:20%':''">{{item.score}}</span>
                             </div>
                         </div>
                     </div>
@@ -204,7 +204,8 @@ export default {
                         .headerNameTit{
                             display: flex;
                             justify-content: space-between;
-                            padding: 8px 20px;
+                            // padding: 8px 20px;
+                            padding: 8px 36px 8px 20px;
                             font-size: 14px;
                             color: #414141;
                         }
@@ -254,7 +255,7 @@ export default {
                             }
                             span:nth-child(4){
                                 display: inline-block;
-                                width: 10%;
+                                width: 12%;
                                 font-weight: 600;
                                 color: #666;
                             }

+ 70 - 23
src/components/gatewaynNewPage.vue

@@ -90,9 +90,9 @@
                             <div class="mainThreeMsg">
                                 <img :src="item.img" alt="">
                                 <div class="msgProgress">
-                                    <span :style="getFooter12Sty()">{{item.company}}</span>
+                                    <span :style="winPix === 1.25?'font-size: 12px;width: 65%':''">{{item.company}}</span>
                                     <span>{{item.grade}}</span>
-                                    <span>{{item.score}}</span>
+                                    <span :style="winPix === 1.25?'width: 25%':''">{{item.score}}</span>
                                 </div>
                             </div>
                         </div>
@@ -228,7 +228,8 @@
                 <div class="gateway_report">
                     <div class="reportTit">
                         <p :style="winPix === 1.25? 'font-size: 16px;':''">通告栏</p>
-                        <el-icon :size="20" color="#3B7AD1" :style="winPix === 1.25? 'left: 80px;':''" @click="watchAllNotification">
+                        <el-icon :size="20" color="#3B7AD1" :style="winPix === 1.25? 'left: 80px;':''"
+                            @click="watchAllNotification">
                             <Plus />
                         </el-icon>
                     </div>
@@ -238,8 +239,10 @@
                             <div class="rightTitMsg">
                                 <p @click="watchDetail(it)" style="cursor:pointer">{{it.noticeTitle}}</p>
                                 <div style="margin-top: 5px; display: flex">
-                                    <span style="margin-right: 10px">{{it.createTime.substring(0, it.createTime.indexOf(' '))}}</span>
-                                    <span  class="rightTwoSpanMsg" :style="winPix === 1.25? 'width: 50%;':''">{{it.releaseDeptName}}</span>
+                                    <span
+                                        style="margin-right: 10px">{{it.createTime.substring(0, it.createTime.indexOf(' '))}}</span>
+                                    <span class="rightTwoSpanMsg"
+                                        :style="winPix === 1.25? 'width: 50%;':''">{{it.releaseDeptName}}</span>
                                 </div>
                             </div>
                         </div>
@@ -264,7 +267,7 @@
     import cenImg from '../assets/getwayImg/cenNew.png'
 
     import {
-        apiGetevaluationportallist,
+        apiGetevaluationportallist,apiGetevaluationportalhomeSeason,
         apiGetevaluationCircularDisplaylist
     } from '../api/api'
 
@@ -302,8 +305,6 @@
             }
         },
         created() {
-            this.changeYear = (new Date().getFullYear() - 1).toString()
-            this.seasonStr = '第一季度'
             this.cupFootMsgArr = [{
                     level: 'A',
                     points: '134',
@@ -319,10 +320,32 @@
             ]
         },
         mounted() {
-            this.getGateWayData()
+            this.getYearSeasonData()
             this.getDeptNoticeData()
         },
         methods: {
+            // 获取首页年份和季度数据
+            getYearSeasonData() {
+                let that = this
+                apiGetevaluationportalhomeSeason().then(datas =>{
+                    if (datas.success) {
+                        if (datas.data) {
+                            that.changeYear = datas.data.year
+                            if (datas.data.season === '1') {
+                                that.seasonStr = '第一季度'
+                            } else if (datas.data.season === '2') {
+                                that.seasonStr = '第二季度'
+                            } else {
+                                that.seasonStr = '第三季度'
+                            }
+                        }
+                    } else {
+                        that.changeYear = (new Date().getFullYear() - 1).toString()
+                        that.seasonStr = '第一季度'
+                    }
+                    that.getGateWayData()
+                })
+            },
             getDeptNoticeData() {
                 let that = this
                 let userMes = JSON.parse(window.sessionStorage.getItem('user'))
@@ -544,7 +567,7 @@
 
             getEchartsData(data, name) {
                 let total = 0
-                data.forEach(it =>{
+                data.forEach(it => {
                     total += it.value
                 })
                 let option = {
@@ -560,7 +583,7 @@
                         label: {
                             show: true,
                             position: 'center',
-                            formatter: () =>{
+                            formatter: () => {
                                 return total
                             },
                             fontSize: 16,
@@ -621,6 +644,7 @@
                 .el-date-editor--year {
                     width: 130px;
                     margin: 10px 0 0 20px;
+
                     .el-input__wrapper {
                         background: #2C7EDC;
                         height: 30px;
@@ -662,6 +686,7 @@
                 // height: 75px;
                 height: 9vh;
                 width: 100%;
+
                 .headerComTit {
                     // height: 40px;
                     height: 5vh;
@@ -679,11 +704,13 @@
                     padding: 8px 10px;
                     font-size: 12px;
                     color: #414141;
-                    .headerNameTit_left{
-                        width: 71%;
+
+                    .headerNameTit_left {
+                        width: 60%;
                     }
-                    .headerNameTit_right{
-                        width: 29%;
+
+                    .headerNameTit_right {
+                        width: 40%;
                         display: flex;
                         justify-content: center;
                     }
@@ -728,16 +755,19 @@
                         top: 10px;
                         left: 40%;
                     }
-                    .headerNameForeTit{
+
+                    .headerNameForeTit {
                         display: flex;
                         justify-content: space-between;
                         padding: 8px 10px;
                         font-size: 12px;
                         color: #414141;
-                        .headerNameForeTit_left{
+
+                        .headerNameForeTit_left {
                             width: 30%;
                         }
-                        .headerNameForeTit_right{
+
+                        .headerNameForeTit_right {
                             width: 72%;
                             display: flex;
                             justify-content: space-between;
@@ -776,8 +806,10 @@
                     width: 12%;
                     border-right: 1px solid #E1E3EA;
                     position: relative;
-                    .mainTwoMsg{
+
+                    .mainTwoMsg {
                         position: relative;
+
                         .mainTwoComColor {
                             display: inline-block;
                             width: 6px;
@@ -794,6 +826,7 @@
                             margin-left: 5px;
                         }
                     }
+
                     .echartsNum {
                         font-size: 16px;
                         font-weight: 600;
@@ -802,7 +835,7 @@
                         left: 65px;
                     }
 
-                    
+
                 }
 
                 .mainThree {
@@ -874,6 +907,8 @@
                             }
 
                             span:nth-child(3) {
+                                display: inline-block;
+                                width: 20%;
                                 font-weight: 600;
                                 color: #666;
                             }
@@ -921,6 +956,7 @@
                             top: 6px;
                             display: inline-block;
                         }
+
                         .mainFourcompany {
                             width: 27%;
                             overflow: hidden;
@@ -935,12 +971,14 @@
                             display: flex;
                             justify-content: space-between;
                             width: 76%;
-                            .mainFourImgSpan{
+
+                            .mainFourImgSpan {
                                 width: 5%;
                                 font-weight: 600;
                                 // margin-right: 15px;
                                 color: #666;
                             }
+
                             img {
                                 width: 20px;
                                 height: 20px;
@@ -959,6 +997,7 @@
                 display: flex;
                 // height: 100px;
                 height: 10vh;
+
                 .footerOne {
                     // width: 35px;
                     width: 3%;
@@ -1019,6 +1058,9 @@
                             .footerOneSpan {
                                 display: inline-block;
                                 width: 35%;
+                                overflow: hidden;
+                                text-overflow: ellipsis;
+                                white-space: nowrap;
                                 font-weight: 400;
                                 color: #666;
                                 margin-right: 10px;
@@ -1042,6 +1084,8 @@
                             }
 
                             .footerThreeSpan {
+                                display: inline-block;
+                                width: 12%;
                                 font-weight: 600;
                                 color: #666;
                             }
@@ -1088,6 +1132,7 @@
                             display: flex;
                             border-radius: 5px;
                             background: #F6F7FA;
+
                             span {
                                 display: inline-block;
                                 // width: 100%;
@@ -1177,6 +1222,7 @@
                         .rightTitMsg {
                             margin-left: 15px;
                             width: calc(100% - 20px);
+
                             p {
                                 // width: 300px;
                                 width: 100%;
@@ -1196,9 +1242,10 @@
                                 color: #8991B0;
                                 display: inline-block;
                             }
-                            .rightTwoSpanMsg{
+
+                            .rightTwoSpanMsg {
                                 width: 60%;
-                                overflow: hidden; 
+                                overflow: hidden;
                                 text-overflow: ellipsis;
                                 white-space: nowrap;
                             }

+ 70 - 4
src/components/taskCenter/taskApplicationFrom.vue

@@ -45,9 +45,17 @@
                         </div>
                     </el-col>
                     <el-col :span="6">
-                        <div class="danjuMsg_data">
+                        <div class="danjuMsgSelect">
                             <span class="data_tit">评定等级:</span>
-                            <span>{{receiptMsg.ratingGrade}}</span>
+                            <span v-if="userMes.deptId !== '23031009'">{{receiptMsg.ratingGrade}}</span>
+                            <el-select v-model="receiptMsg.ratingGrade" placeholder="请选择评定等级" @change="changeratingGrade" v-else>
+                                <el-option
+                                v-for="item in ratingGradeOption"
+                                :key="item.value"
+                                :label="item.label"
+                                :value="item.value">
+                                </el-option>
+                            </el-select>
                         </div>
                     </el-col>
                 </el-row>
@@ -136,7 +144,7 @@
 
 <script>
 import importDailog from '../importPage/importDailog.vue'
-import {apiPostevaluationdeptadDetails,apiGetevaluationdeptadUpdate, apiGetevaluationdeptadDelete,apiPostIsdoAction,
+import {apiPostevaluationdeptadDetails,apiGetevaluationdeptadUpdate, apiGetevaluationdeptadDelete,apiPostIsdoAction,apideptAdmodify,
 apiPostevaluationdeptadDetailsHead, apiGetuserPageList} from '../../api/api'
 import ExcelJS from 'exceljs'
 import fileSave from 'file-saver'
@@ -188,17 +196,40 @@ export default {
                 currentPage: 1,
                 total: 0
             },
-            deptLeaderOptionDet: []
+            deptLeaderOptionDet: [],
+            ratingGradeOption: [],
+            userMes: {},
+            keyId: ''
         }
     },
     created() {
+        this.ratingGradeOption = [
+            {
+                label: 'A',
+                value: 'A'
+            },
+            {
+                label: 'B',
+                value: 'B'
+            },
+            {
+                label: 'C',
+                value: 'C'
+            },
+            {
+                label: 'D',
+                value: 'D'
+            }
+        ]
     },
     methods: {
         init(row, id) {
             this.dialogVisible = true
+            this.userMes = JSON.parse(window.sessionStorage.getItem('user'))
             this.activeName = 'first'
             this.getDetails(id)
             this.getDetailsHeader(id)
+            this.keyId = id
             this.changeDeptLead(row.deptId)
             this.rowMsg = row
         },
@@ -216,6 +247,26 @@ export default {
                 }
             })
         },
+        changeratingGrade(val) {
+            let that = this
+            let params = {
+                id: that.keyId,
+                ratingGrade: val
+            }
+            apideptAdmodify(params).then(datas =>{
+                if (datas.success) {
+                    that.$message({
+                        message: '修改成功',
+                        type: 'success'
+                    });
+                } else {
+                    that.$message({
+                        message: '修改失败',
+                        type: 'error'
+                    });
+                }
+            })
+        },
         handleClick() {
             this.changeDateSelect = []
         },
@@ -468,6 +519,21 @@ export default {
                                 }
                             }
                         }
+                        .danjuMsgSelect{
+                            display: flex;
+                            .data_tit{
+                                margin-right: 10px;
+                                font-weight: bold;
+                                font-size: 14px;
+                                font-family: Microsoft YaHei;
+                                color: #8991B0;
+                            }
+                            .el-select{
+                                width: 30%;
+                                position: relative;
+                                top: -5px;
+                            }
+                        }
                     }
                     .el-select, .el-input{
                         width: 100%;

+ 30 - 25
src/components/taskCenter/taskCenterPage.vue

@@ -81,7 +81,11 @@ export default {
     },
     data() {
         return {
-            taskCenterData: [],
+            taskCenterData: [
+                {
+                    assigneeNames: '22222'
+                }
+            ],
             workflowVisible: false,
             iframeURL: '',
             page:{
@@ -93,7 +97,7 @@ export default {
         }
     },
     created() {
-        this.getEvaluationData()
+        // this.getEvaluationData()
     },
     methods:{
         // 查询指标数据
@@ -118,29 +122,30 @@ export default {
             this.iframeURL = 'http://10.65.78.23:8080/agilebpm-ui/bpm/instance/instanceImageDialog.html?instanceId='+row.instId+'&defId='+row.defId+'&taskId='+row.taskId+'&iamCode='+window.localStorage.getItem('code')
         },
         taskProcess(row) {
-            let that = this
-            let params = {
-                id: row.instId,
-                iamCode: window.localStorage.getItem('code')
-            }
-            apiPostgetInstanceAndChildren(params).then(datas =>{
-                if (datas && datas.data) {
-                    let allData = datas.data.data.bpmInstance
-                    let keyId = datas.data.data.bpmInstance.bizKey
-                    let taskDefKey = datas.data.data.bpmInstance.defKey
-                    if (taskDefKey === 'bbbmyjzbjh') {
-                        that.$refs.taskCenterdeptEvl.init(row, keyId, allData)
-                    } else if(taskDefKey === 'bbbmyjzbkh'){
-                        that.$refs.taskCenterdeptbusinessEvl.init(row, keyId, allData)
-                    } else if(taskDefKey === 'jxjgkhsb'){
-                        that.$refs.taskApplicationFrom.init(row, keyId)
-                    } else if(taskDefKey === 'yddwkplc' || taskDefKey === 'jddwkplc' || taskDefKey === 'nddwkplc') {
-                        that.$refs.taskCenterEvl.init(row, allData)
-                    } else if (taskDefKey === 'dwkpmbqd' || taskDefKey === 'dwkpmbxd') {
-                        that.$refs.taskEvaluationStart.init(row)
-                    }
-                }
-            })
+            this.$refs.taskApplicationFrom.init(row)
+            // let that = this
+            // let params = {
+            //     id: row.instId,
+            //     iamCode: window.localStorage.getItem('code')
+            // }
+            // apiPostgetInstanceAndChildren(params).then(datas =>{
+            //     if (datas && datas.data) {
+            //         let allData = datas.data.data.bpmInstance
+            //         let keyId = datas.data.data.bpmInstance.bizKey
+            //         let taskDefKey = datas.data.data.bpmInstance.defKey
+            //         if (taskDefKey === 'bbbmyjzbjh') {
+            //             that.$refs.taskCenterdeptEvl.init(row, keyId, allData)
+            //         } else if(taskDefKey === 'bbbmyjzbkh'){
+            //             that.$refs.taskCenterdeptbusinessEvl.init(row, keyId, allData)
+            //         } else if(taskDefKey === 'jxjgkhsb'){
+            //             that.$refs.taskApplicationFrom.init(row, keyId)
+            //         } else if(taskDefKey === 'yddwkplc' || taskDefKey === 'jddwkplc' || taskDefKey === 'nddwkplc') {
+            //             that.$refs.taskCenterEvl.init(row, allData)
+            //         } else if (taskDefKey === 'dwkpmbqd' || taskDefKey === 'dwkpmbxd') {
+            //             that.$refs.taskEvaluationStart.init(row)
+            //         }
+            //     }
+            // })
         },
         rowClick(selection, row) {
             this.changeDateSelect = selection

+ 66 - 97
src/mobeilComponent/earlyWarningPage.vue

@@ -28,39 +28,15 @@
                                 placeholder="单位名称"
                                 />
                                 <van-field
-                                    v-model="form.checkCycle"
-                                    is-link
-                                    readonly
-                                    label="考评周期"
-                                    placeholder="点击考评周期"
-                                    @click="showcheckCycle = true"
-                                    />
-                                <van-popup v-model:show="showcheckCycle" position="bottom">
-                                    <van-picker
-                                        :columns="checkCycleSection"
-                                        @confirm="selectcheckCycle"
-                                        @cancel="showcheckCycle = false"
-                                    />
-                                </van-popup>
-                                <van-field
-                                    v-model="form.time"
-                                    is-link
-                                    readonly
-                                    name="datePicker"
-                                    label="时间选择"
-                                    placeholder="点击选择时间"
-                                    @click="showDatePicker = true"
-                                    />
-                                <van-popup v-model:show="showDatePicker" position="bottom">
-                                    <van-date-picker
-                                        v-model="datePickerData"
-                                        :columns-type="['year', 'month']"
-                                        @confirm="confirmFn"
-                                        @cancel="cancelpickerFn"
-                                        />
-                                </van-popup>
+                                v-model="form.warningMsg"
+                                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="seachmobeilReportData">
+                                    <div class="seachBtnFrom" @click="getSeach">
                                         <span>搜索</span>
                                     </div>
                                     <div class="restBtnFrom" @click="restSeach">
@@ -114,18 +90,21 @@ export default {
             sortImg: sortImg,
             seachImg: seachImg,
             showDatePicker: false,
+            showVanPopup: false,
             currentDate: [],
+            minDate: '',
+            maxDate: '',
             form: {
                 company: '',
-                checkCycle: '',
+                warningMsg: '',
                 time: ''
             },
-            showDate: '',
             evaluationWaringData: [],
         }
     },
     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.getevaluationWaringData()        
     },
     methods: {
@@ -135,9 +114,10 @@ export default {
             let params = {
                 pageNum: 1,
                 pageSize: 100,
-                binStation: '',
-                st: '',
-                et: ''
+                company: that.form.company,
+                content: that.form.warningMsg,
+                st: that.form.time ? that.form.time.substring(0, that.form.time.indexOf(' - ')) : '',
+                et: that.form.time ? that.form.time.substring(that.form.time.indexOf(' - ')+3, that.form.time.length) : ''
             }
             apiGetevaluationwarninginfoList(params).then(datas =>{
                 if (datas && datas.data) {
@@ -145,19 +125,28 @@ export default {
                 }
             })
         },
+        getSeach() {
+            this.getevaluationWaringData()
+            this.showVanPopup = false
+        },
+        restSeach() {
+            this.form = {
+                company: '',
+                warningMsg: '',
+                time: ''
+            }
+            this.showVanPopup = false
+            this.getevaluationWaringData()
+        },
+        showPopup() {
+            this.showVanPopup = true
+        },
         chooseMenu() {
             this.$router.push({ path: "/menu"})
         },
         confirmFn(val) {
-            this.form.time = val.selectedValues[0]+'年'+val.selectedValues[1]+'月'
-            this.datePickerData = val.selectedValues
-            this.cancelpickerFn()
-        },
-        selectcheckCycle({selectedOptions}) {
-            this.form.checkCycle = selectedOptions[0].text
-            this.showcheckCycle = false
-        },
-        cancelpickerFn() {
+            const [start, end] = val;
+            this.form.time = `${this.$utils.getNYRTime(start)} - ${this.$utils.getNYRTime(end)}`;
             this.showDatePicker = false
         },
     }
@@ -233,71 +222,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;

+ 2 - 2
src/mobeilComponent/homeMobeilPage.vue

@@ -513,13 +513,13 @@ export default {
                                 }
                                 span:nth-child(2){
                                     display: inline-block;
-                                    width: 25%;
+                                    width: 17%;
                                     font-weight: 600;
                                     color: #F65177;
                                 }
                                 span:nth-child(3){
                                     display: inline-block;
-                                    width: 10%;
+                                    width: 20%;
                                     font-weight: 600;
                                     color: #666;
                                 }

+ 2 - 4
src/mobeilComponent/menuMobeilPage.vue

@@ -9,14 +9,12 @@
                 <p>全业务域考评系统</p>
             </div>
             <div class="menuMainBot">
-                <!-- <p @click="enterPage('report')">单位考评报告</p>
-                <p @click="enterPage('earlyWarning')">单位考评预警</p>
-                <p @click="enterPage('notificationMobeil')">对标考评公告</p> -->
+                <!-- <p @click="enterPage('earlyWarning')">单位考评预警</p> -->
                 <p @click="enterPage('mobeil')">年度单位评级</p>
                 <p @click="enterPage('quarterConpany')">季度单位评级</p>
                 <p @click="enterPage('report')">单位考评报告</p>
                 <p>单位考评预警</p>
-                <p>对标考评公告</p>
+                <p @click="enterPage('notificationMobeil')">对标考评公告</p>
                 <img :src="closeMenu" alt="" @click="goBack">
             </div>
         </div>

+ 87 - 134
src/mobeilComponent/notificationPage.vue

@@ -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;

+ 1 - 1
src/mobeilComponent/notificationPageDetail.vue

@@ -120,7 +120,7 @@ export default {
             this.$router.push({ path: "/menu"})
         },
         onClickLeft() {
-            this.$router.push({ path: "/notification"})
+            this.$router.push({ path: "/notificationMobeil"})
         },
         previewFile(it) {
             // this.filesVisible = true

+ 2 - 0
src/mobeilComponent/reportConpanyPage.vue

@@ -214,6 +214,8 @@ export default {
                 binSection: '',
                 time: ''
             }
+            this.showVanPopup = false
+            this.getReportData()
         },
         showPopup() {
             this.showVanPopup = true

+ 8 - 1
src/utils/index.js

@@ -20,7 +20,14 @@ const until = {
             return 'padding: 10px 0;'
         }
     },
-
+    getNYRTime(date){
+        var y = date.getFullYear();  
+        var m = date.getMonth() + 1;  
+        m = m < 10 ? ('0' + m) : m;  
+        var d = date.getDate();  
+        d = d < 10 ? ('0' + d) : d;
+        return y + '-' + m + '-' + d
+    },
     //后端导出
     downloadPer(url,fileName, idss, idsmo) {
         let params = {}