浏览代码

优化多有页面的搜索重置按钮;新增考评对标分析页面,列表服务联调,增加导出功能;测试环境重新配置菜单

SunZehao 2 年之前
父节点
当前提交
b79a8790b1

二进制
src/assets/btnIcon/rest.png


二进制
src/assets/btnIcon/seach.png


+ 4 - 4
src/components/assessment/evaluationAmendmentPage.vue

@@ -10,8 +10,7 @@
                     <span class="exceedSpan">业务简述:</span>
                     <el-input v-model="resDes" placeholder="请输入业务简述"></el-input>
                 </div>
-                <el-button type="primary" style="margin-left: 10px;" @click="getSeachData">搜索</el-button>
-                <el-button style="margin-left: 10px;" @click="resetSeach">重置</el-button>
+                <seachs @handleSeach="getSeachData" @handleRest="resetSeach"></seachs>
             </div>
             <div class="PeriodBtn">
                 <btns
@@ -173,13 +172,14 @@
 <script>
 import startFromList from './evaluationStartFrom.vue'
 import btns from '../elbuttonS.vue'
-import { getToken } from '../../api/auth'
+import seachs from '../seachGroup.vue'
 import {apiGetdeptresponsibilityList, apiGetdeptresponsibilitySave,apiGetdoAction,apiGetworkflowgetOpinion,
 apiGetdeptresponsibilitygenerate, apiGetdatadictionaryList, apiPostresponsiDelete} from '../../api/api'
 export default {
     components: {
         startFromList,
-        btns
+        btns,
+        seachs
     },
     data() {
         return {

+ 87 - 67
src/components/assessment/evaluationBenchmarkingIndicPage.vue

@@ -17,9 +17,9 @@
                     <span class="exceedSpan" style="margin-left: 10px;width: 80px">指标类型:</span>
                     <el-select v-model="indicatorIds" placeholder="请选择指标类型">
                         <el-option
-                        v-for="item in indicatorData"
+                        v-for="item in indicatorTypeData"
                         :key="item.id"
-                        :label="item.sectionName"
+                        :label="item.typeName"
                         :value="item.id">
                         </el-option>
                     </el-select>
@@ -44,10 +44,10 @@
                         placeholder="选择时间"
                     />
                 </div>
-                <el-button type="primary" style="margin-left: 10px;" @click="getSeachData">搜索</el-button>
-                <el-button style="margin-left: 10px;" @click="resetSeach">重置</el-button>
+                <seachs @handleSeach="getSeachData" @handleRest="resetSeach"></seachs>
+                <el-button type="info" icon="Download" size="mini" @click="handleExport" style="margin-left:50px">导出</el-button>
             </div>
-            <div class="PeriodBtn">
+            <!-- <div class="PeriodBtn">
                 <btns 
                     :showImport="false" :showExport="true" 
                     :showAdd="false"
@@ -57,63 +57,33 @@
                     :disDelete="true" :disImport="true" :disExport="true"
                     @handleAdd="handleAdd" @handleEdit="handleEdit" @handleDelete="handleDelete"
                     @handleImport="handleImport" @handleExport="handleExport"></btns>
-            </div>
+            </div> -->
             <div class="benchmarkingIndicatorTableData">
                 <div class="tableMain">
-                    <el-table :data="benchmarkingIndicatorData" style="width: 100%">
+                    <el-table :data="benchmarkingIndicatorData" style="width: 100%" ref="benchmark">
                         <el-table-column type="index" label="序号" align="center"></el-table-column>
-                        <el-table-column label="考评单位" prop="organizationShortName" width="200">
+                        <el-table-column label="考评单位" prop="organization_name" width="200">
                             <template #default="scope">
-                                <el-tooltip class="box-item" effect="customized" :content="scope.row.organizationShortName"
+                                <el-tooltip class="box-item" effect="customized" :content="scope.row.organization_name"
                                     placement="right">
-                                    <span class="tooltipCC">{{scope.row.organizationShortName}}</span>
+                                    <span class="tooltipCC">{{scope.row.organization_name}}</span>
                                 </el-tooltip>
                             </template>
                         </el-table-column>
-                        <el-table-column label="排名" prop="organizationType" />
-                        <el-table-column label="综合得分" prop="evaluationCycle" />
-                        <el-table-column label="经营回报" align="center">
-                            <el-table-column label="净利润" prop="zzc" />
-                            <el-table-column label="EBITDA" prop="k1" />
-                            <el-table-column label="售电成本" prop="k1" />
-                        </el-table-column>
-                        <el-table-column label="生产运营及协同指标" align="center">
-                            <el-table-column label="财务'一集中三加强'" prop="zzc" />
-                            <el-table-column label="发电量" prop="k1" />
-                            <el-table-column label="市场占有率" prop="k1" />
-                            <el-table-column label="电力营销" prop="k1" />
-                            <el-table-column label="供电煤耗" prop="k1" />
-                            <el-table-column prop="k1">
-                                <template #header>
-                                    <div>综合厂</div>
-                                    <div>用电率</div>
-                                </template>
-                            </el-table-column>
-                            <el-table-column label="非计划停运和出力受阻" prop="k1" />
-                            <el-table-column prop="k1">
-                                <template #header>
-                                    <div>内部煤炭</div>
-                                    <div>接卸量</div>
-                                </template>
-                            </el-table-column>
-                            <el-table-column prop="k1">
-                                <template #header>
-                                    <div>外部煤炭</div>
-                                    <div>采购量</div>
-                                </template>
-                            </el-table-column>
-                            <el-table-column prop="k1">
-                                <template #header>
-                                    <div>入厂入炉</div>
-                                    <div>标单差</div>
+                        <el-table-column label="排名" prop="level" />
+                        <el-table-column label="综合得分" prop="ZHDF" />
+                        <el-table-column  v-for="(it, index) in benchmarkingIndicatorHeader" :key="index" :label="it.name" align="center">
+                            <el-table-column v-for="(iv, index) in it.children" :key="index" :label="iv.key">
+                                <template #default="scope">
+                                    <span :style="scope.row[iv.code+'_flag'] === '1'?'color:#3B7AD1': scope.row[iv.code+'_flag'] === '-1'?'color:#F65177':'color:#666666'">{{scope.row[iv.code]}}</span>
                                 </template>
                             </el-table-column>
                         </el-table-column>
                     </el-table>
-                    <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
+                    <!-- <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
                         :current-page="page.currentPage" :page-size="page.pagesize"
                         layout="total, prev, pager, next, jumper" :total="page.total">
-                    </el-pagination>
+                    </el-pagination> -->
                 </div>
                 <div class="tableSeach">
                     <div class="seachType" v-for="item in titleMsgArr" :key="item.isName"
@@ -130,6 +100,12 @@
 
 <script>
 import btns from '../elbuttonS.vue'
+import seachs from '../seachGroup.vue'
+
+import * as XLSX from 'xlsx'
+import { saveAs } from 'file-saver'
+import  * as XLSXD from 'xlsx-js-style'
+
 import huoDef from '../../assets/benchmarkImg/huoDef.png'
 import shuiDef from '../../assets/benchmarkImg/shuiDef.png'
 import xinDef from '../../assets/benchmarkImg/xinDef.png'
@@ -143,20 +119,21 @@ import xinCha from '../../assets/benchmarkImg/xinCha.png'
 import meiCha from '../../assets/benchmarkImg/meiCha.png'
 import guoCha from '../../assets/benchmarkImg/guoCha.png'
 import zongCha from '../../assets/benchmarkImg/zongCha.png'
-import {apiGetscoreCountevaluationList, apiGetbinstageList} from '../../api/api'
+import {apiGetscoreCountevaluationList, apiGetbinstageList, apiGetIndicatorTypeList} from '../../api/api'
 export default {
-    components: {btns},
+    components: {btns, seachs},
     data() {
         return {
             benchmarkingIndicatorData: [],
-            indicatorData: [],
+            benchmarkingIndicatorHeader: [],
+            indicatorTypeData: [],
             stageData: [],
             companyDatas: [],
             periodId: '',
             stageIds: '',
             indicatorIds: '',
             timeIds: '',
-            timeStr: '',
+            timeStr: 'JDKP',
             binSectionStr: 'HD',
             page: {
                 pagesize: 12,
@@ -168,18 +145,25 @@ export default {
         }
     },
     created() {
+        let year = new Date().getFullYear()
+        let month = new Date().getMonth() + 1
+        if (month<10) {
+            this.timeIds = (year + '-0' + month).toString()
+        } else {
+            this.timeIds = (year + '-' + month).toString()
+        }
         this.timerData = [
             {
                 label: '年度',
-                value: '1'
+                value: 'NDKP'
             },
             {
                 label: '季度',
-                value: '2'
+                value: 'JDKP'
             },
             {
                 label: '月度',
-                value: '3'
+                value: 'YDKP'
             }
         ]
         this.titleMsgArr = [
@@ -239,6 +223,7 @@ export default {
             }
         ]
         this.getEvalBenchmarkingIndicData()
+        this.getBinstageAndType()
     },
     methods: {
         // 查询考评对标分析数据
@@ -253,15 +238,36 @@ export default {
             }
             apiGetscoreCountevaluationList(params).then(datas => {
                 if (datas && datas.data) {
-                    that.benchmarkingIndicatorData = datas.data.records
-                    that.page.total = datas.data.total
+                    that.benchmarkingIndicatorData = datas.data.value
+                    if (datas.data.title) {
+                        let header = []
+                        for(let i in datas.data.title) {
+                            let obj = {
+                                name: i,
+                                children: datas.data.title[i]
+                            }
+                            header.push(obj)
+                        }
+                        that.benchmarkingIndicatorHeader = header
+                    }
                 }
             })
-            apiGetbinstageList(params).then(datas =>{
+        },
+        // 获取阶段数据及指标类型数据
+        getBinstageAndType() {
+            let that = this
+            apiGetbinstageList().then(datas =>{
                 if (datas && datas.data) {
                     that.stageData = datas.data
                 }
             })
+            apiGetIndicatorTypeList({
+                type: 2
+            }).then(datas =>{
+                if (datas && datas.data) {
+                    that.indicatorTypeData = datas.data
+                }
+            })
         },
         changType(data) {
             this.titleMsgArr.forEach(it =>{
@@ -271,6 +277,7 @@ export default {
                     this.binSectionStr = it.isNameEn
                 }
             })
+            this.getEvalBenchmarkingIndicData()
         },
         getSeachData() {
             this.page.currentPage = 1
@@ -284,13 +291,23 @@ export default {
             this.binSectionIds = ''
             this.getEvalBenchmarkingIndicData()
         },
-        handleSizeChange(val) {
-            this.page.pagesize = val
-            this.getEvalBenchmarkingIndicData()
-        },
-        handleCurrentChange(val) {
-            this.page.currentPage = val
-            this.getEvalBenchmarkingIndicData()
+        handleExport() {
+            let $e = this.$refs.benchmark.$el
+            try {
+                let $table = $e.querySelector('.el-table__fixed')
+                if(!$table) {
+                    $table = $e
+                }
+                const wb = XLSX.utils.table_to_book($table, {raw:true})
+
+                const wbout = XLSXD.write(wb, {bookType: 'xlsx', bookSST:true, type: 'array'})
+                saveAs(
+                    new Blob([wbout],{type: 'application/octet-stream'}),
+                    `考评对标分析数据导出.xlsx`,
+                )
+            } catch (e) {
+                if (typeof console !== 'undefined') console.error(e)
+            }
         }
     }
 }
@@ -395,11 +412,13 @@ export default {
 
         .benchmarkingIndicatorTableData {
             display: flex;
+            width: 100%;
+            margin-top: 20px;
             .tableMain{
-                width: 95%;
+                width: calc(100% - 95px);
                 .el-table {
                     .el-table__body-wrapper {
-                        height: 55vh !important;
+                        height: 68vh !important;
                     }
     
                     .el-input__inner {
@@ -436,6 +455,7 @@ export default {
                 }
             }
             .tableSeach{
+                width: 81px;
                 height: 100%;
                 margin-left: 10px;
                 border: 1px solid #D6DBEA;

+ 4 - 3
src/components/assessment/evaluationDeptBusinessPage.vue

@@ -10,8 +10,7 @@
                     <span class="exceedSpan">业务简述:</span>
                     <el-input v-model="resDes" placeholder="请输入业务简述"></el-input>
                 </div>
-                <el-button type="primary" style="margin-left: 10px;" @click="getSeachData">搜索</el-button>
-                <el-button style="margin-left: 10px;" @click="resetSeach">重置</el-button>
+                <seachs @handleSeach="getSeachData" @handleRest="resetSeach"></seachs>
             </div>
             <div class="evaluationStartTableData">
                 <el-table :data="evaluationBusinessData" style="width: 100%"  @row-dblclick="getDetail">
@@ -78,13 +77,15 @@
 <script>
 import businessFromList from './evaluationDeptBusinessFrom.vue'
 import btns from '../elbuttonS.vue'
+import seachs from '../seachGroup.vue'
 import { saveAs } from 'file-saver'
 import {apiGetevaluationdeptassessmentlist, apiGetdoAction, apideptModifyassessmentState,apiGetworkflowgetOpinion,
 apiGetevaluationgenerateReport,apiGetevaluationdownloadReport} from '../../api/api'
 export default {
     components: {
         businessFromList,
-        btns
+        btns,
+        seachs
     },
     data() {
         return {

+ 4 - 3
src/components/assessment/evaluationDeptRatingPage.vue

@@ -10,8 +10,7 @@
                     <span class="exceedSpan" style="width: 80px">考评年度:</span>
                     <el-date-picker v-model="resAnnual" type="year" value-format="YYYY" placeholder="选择年份" />
                 </div>
-                <el-button type="primary" style="margin-left: 10px;" @click="getSeachData">搜索</el-button>
-                <el-button style="margin-left: 10px;" @click="resetSeach">重置</el-button>
+                <seachs @handleSeach="getSeachData" @handleRest="resetSeach"></seachs>
             </div>
             <div class="PeriodBtn">
                 <btns
@@ -143,6 +142,7 @@
 import importDailog from '../importPage/importDailog.vue'
 import startFromList from './evaluationDeptStartFrom.vue'
 import btns from '../elbuttonS.vue'
+import seachs from '../seachGroup.vue'
 import ExcelJS from 'exceljs'
 import fileSave from 'file-saver'
 import {apiGetevaluationdeptratinglist, apiGetevaluationdeptratingsave,
@@ -151,7 +151,8 @@ export default {
     components: {
         startFromList,
         importDailog,
-        btns
+        btns,
+        seachs
     },
     data() {
         return {

+ 4 - 3
src/components/assessment/evaluationDeptStartPage.vue

@@ -10,8 +10,7 @@
                     <span class="exceedSpan">业务简述:</span>
                     <el-input v-model="resDes" placeholder="请输入业务简述"></el-input>
                 </div>
-                <el-button type="primary" style="margin-left: 10px;" @click="getSeachData">搜索</el-button>
-                <el-button style="margin-left: 10px;" @click="resetSeach">重置</el-button>
+                <seachs @handleSeach="getSeachData" @handleRest="resetSeach"></seachs>
             </div>
             <div class="PeriodBtn">
                 <btns
@@ -166,13 +165,15 @@
 <script>
 import startFromList from './evaluationDeptStartFrom.vue'
 import btns from '../elbuttonS.vue'
+import seachs from '../seachGroup.vue'
 import {apiGetevaluatiodeptplanList, apiGetevaluationdeptplanSave,apiGetdoAction,
 apiGetworkflowgetOpinion,apiGetevaluationdeptplanModify,apiGetevaluationdeptplanReport,apiGetevaluationdownloadReport,
 apideptModifyState, apiGetdatadictionaryList, apiPostevaluationdeptplanDelete} from '../../api/api'
 export default {
     components: {
         startFromList,
-        btns
+        btns,
+        seachs
     },
     data() {
         return {

+ 4 - 4
src/components/assessment/evaluationMonthPage.vue

@@ -10,8 +10,7 @@
                     <span class="exceedSpan">业务简述:</span>
                     <el-input v-model="resDes" placeholder="请输入业务简述"></el-input>
                 </div>
-                <el-button type="primary" style="margin-left: 10px;" @click="getSeachData">搜索</el-button>
-                <el-button style="margin-left: 10px;" @click="resetSeach">重置</el-button>
+                <seachs @handleSeach="getSeachData" @handleRest="resetSeach"></seachs>
             </div>
             <div class="PeriodBtn">
                 <btns
@@ -157,13 +156,14 @@
 <script>
 import startFromList from './monthQuarterFrom.vue'
 import btns from '../elbuttonS.vue'
-import { getToken } from '../../api/auth'
+import seachs from '../seachGroup.vue'
 import {apiGetOrgEvaluationList, apiPostOrgEvaSave,apiPostOrgevaluationDelete,apiGetdoAction,apiGetgenerateEvaluateReport,
 apiGetgenerateUnitMonthEvaluation, apiGetdatadictionaryList, apiGetcalculatorcron, apiGetworkflowgetOpinion} from '../../api/api'
 export default {
     components: {
         startFromList,
-        btns
+        btns,
+        seachs
     },
     data() {
         return {

+ 4 - 4
src/components/assessment/evaluationQuarterPage.vue

@@ -10,8 +10,7 @@
                     <span class="exceedSpan">业务简述:</span>
                     <el-input v-model="resDes" placeholder="请输入业务简述"></el-input>
                 </div>
-                <el-button type="primary" style="margin-left: 10px;" @click="getSeachData">搜索</el-button>
-                <el-button style="margin-left: 10px;" @click="resetSeach">重置</el-button>
+                <seachs @handleSeach="getSeachData" @handleRest="resetSeach"></seachs>
             </div>
             <div class="PeriodBtn">
                 <!-- $utils.havePurview('evaluationQuarter:oneLevel:add') -->
@@ -159,13 +158,14 @@
 <script>
 import startFromList from './monthQuarterFrom.vue'
 import btns from '../elbuttonS.vue'
-import { getToken } from '../../api/auth'
+import seachs from '../seachGroup.vue'
 import {apiGetOrgEvaluationList, apiPostOrgEvaSave,apiPostOrgevaluationDelete,apiGetdoAction,apiGetgenerateEvaluateReport,
 apiGetgenerateUnitMonthEvaluation, apiGetdatadictionaryList, apiGetcalculatorcron, apiGetworkflowgetOpinion} from '../../api/api'
 export default {
     components: {
         startFromList,
-        btns
+        btns,
+        seachs
     },
     data() {
         return {

+ 4 - 3
src/components/assessment/evaluationReportPage.vue

@@ -26,8 +26,7 @@
                         </el-option>
                     </el-select>
                 </div>
-                <el-button type="primary" style="margin-left: 10px;" @click="getSeachData">搜索</el-button>
-                <el-button style="margin-left: 10px;" @click="resetSeach">重置</el-button>
+                <seachs @handleSeach="getSeachData" @handleRest="resetSeach"></seachs>
             </div>
             <div class="PeriodBtn">
                 <btns
@@ -77,6 +76,7 @@
 
 <script>
 import btns from '../elbuttonS.vue'
+import seachs from '../seachGroup.vue'
 import ExcelJS from 'exceljs'
 import fileSave from 'file-saver'
 import evaluationReportTable from './evaluationReportTable.vue'
@@ -84,7 +84,8 @@ import {apiGetEvalReportList, apiGetdatadictionaryList, apiGetbinsectionList} fr
 export default {
     components: {
         btns,
-        evaluationReportTable
+        evaluationReportTable,
+        seachs
     },
     data() {
         return {

+ 4 - 4
src/components/assessment/evaluationStartPage.vue

@@ -10,8 +10,7 @@
                     <span class="exceedSpan">业务简述:</span>
                     <el-input v-model="resDes" placeholder="请输入业务简述"></el-input>
                 </div>
-                <el-button type="primary" style="margin-left: 10px;" @click="getSeachData">搜索</el-button>
-                <el-button style="margin-left: 10px;" @click="resetSeach">重置</el-button>
+                <seachs @handleSeach="getSeachData" @handleRest="resetSeach"></seachs>
             </div>
             <div class="PeriodBtn">
                 <btns
@@ -173,13 +172,14 @@
 <script>
 import startFromList from './evaluationStartFrom.vue'
 import btns from '../elbuttonS.vue'
-import { getToken } from '../../api/auth'
+import seachs from '../seachGroup.vue'
 import {apiGetdeptresponsibilityList, apiGetdeptresponsibilitySave,apiGetdoAction,apiGetworkflowgetOpinion,
 apiGetdeptresponsibilitygenerate, apiGetdatadictionaryList, apiPostresponsiDelete} from '../../api/api'
 export default {
     components: {
         startFromList,
-        btns
+        btns,
+        seachs
     },
     data() {
         return {

+ 4 - 3
src/components/assessment/evaluationYearPage.vue

@@ -10,8 +10,7 @@
                     <span class="exceedSpan">业务简述:</span>
                     <el-input v-model="resDes" placeholder="请输入业务简述"></el-input>
                 </div>
-                <el-button type="primary" style="margin-left: 10px;" @click="getSeachData">搜索</el-button>
-                <el-button style="margin-left: 10px;" @click="resetSeach">重置</el-button>
+                <seachs @handleSeach="getSeachData" @handleRest="resetSeach"></seachs>
             </div>
             <div class="PeriodBtn">
                 <btns
@@ -154,12 +153,14 @@
 <script>
 import startFromList from './evaluationYearFrom.vue'
 import btns from '../elbuttonS.vue'
+import seachs from '../seachGroup.vue'
 import {apiGetOrgEvaluationList, apiPostOrgEvaSave,apiPostOrgevaluationDelete,apiGetgenerateEvaluateReport,
 apiGetgenerateUnitYearEvaluation, apiGetdatadictionaryList, apiGetcalculatorcron, apiGetworkflowgetOpinion} from '../../api/api'
 export default {
     components: {
         startFromList,
-        btns
+        btns,
+        seachs
     },
     data() {
         return {

+ 5 - 5
src/components/elbuttonS.vue

@@ -2,7 +2,7 @@
     <el-row :gutter="10" class="btnsA">
         <el-col :span="1.5" v-if="showAdd">
             <el-button
-            type="primary"
+            color="#3B7AD1"
             size="mini"
             :disabled="disAdd"
             @click="handleAdd"
@@ -13,7 +13,7 @@
         </el-col>
         <el-col :span="1.5" v-if="showSave">
             <el-button
-            type="success"
+            color="#F5A623"
             size="mini"
             @click="handleEdit"
             :disabled="disSave"
@@ -24,7 +24,7 @@
         </el-col>
         <el-col :span="1.5" v-if="showDelete">
             <el-button
-            type="danger"
+            color="#F65177"
             size="mini"
             :disabled="disDelete"
             @click="handleDelete"
@@ -35,7 +35,7 @@
         </el-col>
         <el-col :span="1.5" v-if="showImport">
             <el-button
-            type="info"
+            type="success"
             icon="Upload"
             size="mini"
             :disabled="disImport"
@@ -44,7 +44,7 @@
         </el-col>
         <el-col :span="1.5" v-if="showExport">
             <el-button
-            type="warning"
+            type="info"
             icon="Download"
             size="mini"
             :disabled="disExport"

+ 3 - 3
src/components/evaluationSystem/achievementKPage.vue

@@ -6,8 +6,7 @@
                     <span class="exceedSpan">业务编码:</span>
                     <el-input v-model="coefficientStr" placeholder="请输入业务编码"></el-input>
                 </div>
-                <el-button type="primary" style="margin-left: 10px;" @click="getSeachData">搜索</el-button>
-                <el-button style="margin-left: 10px;" @click="resetSeach">重置</el-button>
+                <seachs @handleSeach="getSeachData" @handleRest="resetSeach"></seachs>
             </div>
             <div class="PeriodBtn">
                 <btns
@@ -235,10 +234,11 @@
 <script>
 import achievementDetail from './achievementKDetail.vue'
 import btns from '../elbuttonS.vue'
+import seachs from '../seachGroup.vue'
 import {apiGetyeargroupcoefficientList, apiGetyeargroupcoefficientsaveGroup, apiDeleteyearcoefficientRemove,apiGetbinsectionList,
  apiGetorganizationstructureFromTree, apiGetorganizationgetTree, apigetyeargroupcoefficientlistById} from '../../api/api'
 export default {
-  components: { btns, achievementDetail },
+  components: { btns, achievementDetail, seachs },
     data() {
         return {
             dialogVisible: false,

+ 4 - 3
src/components/evaluationSystem/evaluationCompanyPage.vue

@@ -39,8 +39,7 @@
                         </el-option>
                     </el-select>
                 </div>
-                <el-button type="primary" style="margin-left: 10px;" @click="getSeachData">搜索</el-button>
-                <el-button style="margin-left: 10px;" @click="resetSeach">重置</el-button>
+                <seachs @handleSeach="getSeachData" @handleRest="resetSeach"></seachs>
             </div>
             <div class="PeriodBtn">
                 <btns 
@@ -203,6 +202,7 @@
 <script>
     import importDailog from '../importPage/importDailog.vue'
     import btns from '../elbuttonS.vue'
+    import seachs from '../seachGroup.vue'
     import {
         apiGetOrganizationList,
         apiGetorganizationSaveList,
@@ -216,7 +216,8 @@
     export default {
         components: {
             importDailog,
-            btns
+            btns,
+            seachs
         },
         data() {
             return {

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

@@ -6,8 +6,7 @@
                     <span class="exceedSpan">部门名称:</span>
                     <el-input v-model="departmentS" placeholder="请输入部门名称"></el-input>
                 </div>
-                <el-button type="primary" style="margin-left: 10px;" @click="getSeachData">搜索</el-button>
-                <el-button style="margin-left: 10px;" @click="resetSeach">重置</el-button>
+                <seachs @handleSeach="getSeachData" @handleRest="resetSeach"></seachs>
             </div>
             <div class="PeriodBtn">
                 <!-- $utils.havePurview('evalDepartment:oneLevel:add')
@@ -200,12 +199,13 @@
 <script>
 import importDailog from '../importPage/importDailog.vue'
 import btns from '../elbuttonS.vue'
+import seachs from '../seachGroup.vue'
 import addW from '../../assets/btnIcon/addW.png'
 import addIcon from '../../assets/btnIcon/add.png'
 import {apiGetEvaluationDeptList, apiGetevaluationdeptSave, apiGetevaluationdeptremoveAll, apiGetdataZBXList,
 apiGetdatadictionaryList, apiGetevaluationdeptremoveItem} from '../../api/api'
 export default {
-  components: { importDailog, btns },
+  components: { importDailog, btns, seachs },
     data() {
         return {
             dialogVisible: false,

+ 3 - 3
src/components/evaluationSystem/evaluationIndexPage.vue

@@ -17,8 +17,7 @@
                         </el-option>
                     </el-select>
                 </div>
-                <el-button type="primary" style="margin-left: 10px;" @click="getSeachData">搜索</el-button>
-                <el-button style="margin-left: 10px;" @click="resetSeach">重置</el-button>
+                <seachs @handleSeach="getSeachData" @handleRest="resetSeach"></seachs>
             </div>
             <div class="PeriodBtn">
                 <btns
@@ -270,13 +269,14 @@
 import importDailog from '../importPage/importDailog.vue'
 import indicatorItem from './IndicatorItemPage.vue'
 import btns from '../elbuttonS.vue'
+import seachs from '../seachGroup.vue'
 import addW from '../../assets/btnIcon/addW.png'
 import saveW from '../../assets/btnIcon/saveW.png'
 import addIcon from '../../assets/btnIcon/add.png'
 import {apiGetIndicatorList, apiPostindicatorsaveGroup, apiGetIndicatorDelete,apiGetbinsectionList,apiGetIndicatordicdeleteList,
  apiGetIndicatorTypeList, apiGetdatadictionaryList, apiGetbinstageList, apiGetdataZBXList, apiGetIndidicselectById} from '../../api/api'
 export default {
-  components: { importDailog, indicatorItem, btns },
+  components: { importDailog, indicatorItem, btns, seachs },
     data() {
         return {
             dialogVisible: false,

+ 3 - 3
src/components/evaluationSystem/evaluationPersonnelPage.vue

@@ -6,8 +6,7 @@
                     <span class="exceedSpan">人员名称:</span>
                     <el-input v-model="companyS" placeholder="请输入人员名称"></el-input>
                 </div>
-                <el-button type="primary" style="margin-left: 10px;" @click="getSeachData">搜索</el-button>
-                <el-button style="margin-left: 10px;" @click="resetSeach">重置</el-button>
+                <seachs @handleSeach="getSeachData" @handleRest="resetSeach"></seachs>
             </div>
             <div class="PeriodBtn">
                 <btns
@@ -157,10 +156,11 @@
 <script>
 import importDailog from '../importPage/importDailog.vue'
 import btns from '../elbuttonS.vue'
+import seachs from '../seachGroup.vue'
 import {apiGetpersonnelList, apiGetpersonnelSaveList, apiGetpersonneldeleteList,
  apiGetevaluateListAll, apiGetorganizationgetTree, apiGetdatadictionaryList, apiGetuserListAll} from '../../api/api'
 export default {
-  components: { importDailog, btns },
+  components: { importDailog, btns, seachs },
     data() {
         return {
             dialogVisible: false,

+ 3 - 3
src/components/evaluationSystem/evaluationRulesPage.vue

@@ -13,8 +13,7 @@
                         </el-option>
                     </el-select>
                 </div>
-                <el-button type="primary" style="margin-left: 10px;" @click="getSeachData">搜索</el-button>
-                <el-button style="margin-left: 10px;" @click="resetSeach">重置</el-button>
+                <seachs @handleSeach="getSeachData" @handleRest="resetSeach"></seachs>
             </div>
             <div class="PeriodBtn">
                 <btns
@@ -112,9 +111,10 @@
 import importDailog from '../importPage/importDailog.vue'
 import ruleDetailPage from './ruleDetailPage.vue'
 import btns from '../elbuttonS.vue'
+import seachs from '../seachGroup.vue'
 import {apiGetevaluateRuleList, apiGetevaluateRuleSaveList, apiGetevaluateRuledeleteList, apiGetbinsectionList, apiGetbinstageList} from '../../api/api'
 export default {
-    components: { importDailog, ruleDetailPage, btns },
+    components: { importDailog, ruleDetailPage, btns, seachs },
     data() {
         return {
             dialogVisible: false,

+ 3 - 3
src/components/evaluationSystem/partyBuildingKPage.vue

@@ -13,8 +13,7 @@
                         </el-option>
                     </el-select>
                 </div>
-                <el-button type="primary" style="margin-left: 10px;" @click="getSeachData">搜索</el-button>
-                <el-button style="margin-left: 10px;" @click="resetSeach">重置</el-button>
+                <seachs @handleSeach="getSeachData" @handleRest="resetSeach"></seachs>
             </div>
             <div class="PeriodBtn">
                 <btns
@@ -113,10 +112,11 @@
 import importDailog from '../importPage/importDailog.vue'
 // import partyBuildingDetail from './partyBuildingKDetail.vue'
 import btns from '../elbuttonS.vue'
+import seachs from '../seachGroup.vue'
 import {apiGetpartybuildingList, apiDeletepartyBuildRemove,apiGetbinsectionList,
  apiGetorganizationgetTree, apiPostpartybuildSave} from '../../api/api'
 export default {
-  components: { btns, importDailog },
+  components: { btns, importDailog, seachs },
     data() {
         return {
             dialogVisible: false,

+ 5 - 2
src/components/evaluationSystem/ruleDetailPage.vue

@@ -8,8 +8,7 @@
                             <span class="indicatorSpan">指标:</span>
                             <el-input v-model="indicItem" placeholder="请输入指标名称"></el-input>
                         </div>
-                        <el-button type="primary" style="margin-left: 10px;" @click="getSeachData">搜索</el-button>
-                        <el-button style="margin-left: 10px;" @click="resetSeach">重置</el-button>
+                        <seachs @handleSeach="getSeachData" @handleRest="resetSeach"></seachs>
                     </div>
                     <div class="PeriodBtn">
                         <el-row :gutter="10" style="padding-left: 10px;">
@@ -117,8 +116,12 @@
 import addW from '../../assets/btnIcon/addW.png'
 import editW from '../../assets/btnIcon/editW.png'
 import deleteW from '../../assets/btnIcon/deleteW.png'
+import seachs from '../seachGroup.vue'
 import {apiGetevaluateRuleinfoList, apiGetevaluateRuleInfoSaveList, apiGetevaluateRuleinfodeleteList, apiGetindicatorListAll} from '../../api/api'
 export default {
+    components: {
+        seachs
+    },
     data() {
         return {
             addW: addW,

+ 3 - 3
src/components/evaluationknowledgePage/scoringRulesPage.vue

@@ -17,8 +17,7 @@
                     <span class="exceedSpan" style="width:100px">规则名称:</span>
                     <el-input v-model="indicatorStr" placeholder="请输入规则名称"></el-input>
                 </div>
-                <el-button type="primary" style="margin-left: 10px;" @click="getSeachData">搜索</el-button>
-                <el-button style="margin-left: 10px;" @click="reset">重置</el-button>
+                <seachs @handleSeach="getSeachData" @handleRest="reset"></seachs>
             </div>
             <div class="PeriodBtn">
                 <btns
@@ -120,10 +119,11 @@
 <script>
 import scoringRulesDetailPage from './scoringRulesDetailPage.vue'
 import btns from '../elbuttonS.vue'
+import seachs from '../seachGroup.vue'
 import {apiGetevaluationscoringruleList, apiGetindicatorListAll, apiGetbinsectionList, apiGetevaluationscoringSaveList, apiGetevaluationruleRemove} from '../../api/api'
 export default {
     // 
-  components: { scoringRulesDetailPage,btns },
+  components: { scoringRulesDetailPage,btns,seachs },
     data() {
         return {
             dialogVisible: false,

+ 7 - 6
src/components/notification/notificationMangePage.vue

@@ -6,8 +6,7 @@
                     <span class="exceedSpan">通告标题:</span>
                     <el-input v-model="noticeTitle" placeholder="请输入通告标题"></el-input>
                 </div>
-                <el-button type="primary" style="margin-left: 10px;" @click="getSeachData">搜索</el-button>
-                <el-button style="margin-left: 10px;" @click="resetSeach">重置</el-button>
+                <seachs @handleSeach="getSeachData" @handleRest="resetSeach"></seachs>
             </div>
             <div class="PeriodBtn">
                 <btns
@@ -161,11 +160,13 @@
 
 <script>
 import btns from '../elbuttonS.vue'
+import seachs from '../seachGroup.vue'
 import {apiGetevaluationdeptnoticeList, apiGetevaluationdeptnoticeSave,apievaluationdeptnoticeDelete,
 apiGetdatadictionaryList, apiPostevaluationdeptnoticeDelete} from '../../api/api'
 export default {
     components: {
-        btns
+        btns,
+        seachs
     },
     data() {
         return {
@@ -274,7 +275,7 @@ export default {
         //新增/修改考评启动数据
         saveAndEditnotificationData(type) {
             let that = this
-            // let userMes = JSON.parse(window.sessionStorage.getItem('user'))
+            let userMes = JSON.parse(window.sessionStorage.getItem('user'))
             let params = {
                 serialNumber: that.ruleForm.serialNumber,
                 noticeTitle: that.ruleForm.noticeTitle,
@@ -282,8 +283,8 @@ export default {
                 sendTo: that.ruleForm.sendTo,
                 sendToContent: that.ruleForm.sendToContent.join(','),
                 releaseState: type === '草稿'? '草稿': type === '发布'?'已发布':'未发布',
-                // releaseDept: userMes.deptId,
-                // releasePeople: userMes.id
+                releaseDept: userMes.deptId,
+                releasePeople: userMes.id
             }
             debugger
             const formData = new FormData()

+ 53 - 0
src/components/seachGroup.vue

@@ -0,0 +1,53 @@
+<template>
+    <el-row :gutter="10" class="btnsA">
+        <el-col :span="1.5">
+            <el-button
+            type="primary"
+            size="mini"
+            @click="handleSeach"
+            >
+            <img :src="seach" style="margin-right: 10px">
+            <span>搜索</span>
+            </el-button>
+        </el-col>
+        <el-col :span="1.5">
+            <el-button
+            size="mini"
+            @click="handleRest"
+            >
+            <img :src="rest" style="margin-right: 10px">
+            <span>重置</span>
+            </el-button>
+        </el-col>
+    </el-row>
+</template>
+
+<script>
+import seach from '../assets/btnIcon/seach.png'
+import rest from '../assets/btnIcon/rest.png'
+export default {
+    data() {
+        return {
+            seach: seach,
+            rest: rest
+        }
+    },
+    methods: {
+        handleSeach() {
+            this.$emit('handleSeach')
+        },
+        handleRest() {
+            this.$emit('handleRest')
+        }
+    }
+}
+</script>
+
+<style lang="less">
+.btnsA{
+    padding-left: 10px;
+    .is-disabled{
+        opacity: 0.5;
+    }
+}
+</style>