Jelajahi Sumber

新增业务属性配置页面,业务阶段配置页面,指标分类配置也买你(增删改查服务联调);单位考评月季年得指标考评打分页面列表增加排序功能;单位目标考评与修订详情页面搜索功能问题修改;通告管理页面新增服务修改为新增各项参数服务和新增附件服务;

SunZehao 1 tahun lalu
induk
melakukan
8a5038d7d3

+ 62 - 0
src/api/api.js

@@ -1192,6 +1192,68 @@ export function apiPostmultiplebrandRemove(params) {
 }
 
 
+//----业务属性配置-list
+export function apiGetBaseBinSectionList(params) {
+    return httpRequest({
+        url: 'bin-section/list',
+        method: 'get',
+        params: params
+    })
+}
+//----"业务属性配置-保存/修改"
+export function apiPostBaseBinSectionSave(params) {
+    return httpRequest.post('bin-section/save', params)
+}
+//----"业务属性配置批量删除"
+export function apiPostBaseBinSectionRemove(params) {
+    return httpRequest({
+        url: `bin-section/remove/${params}`,
+        method: 'post'
+    })
+}
+
+
+//----业务阶段配置-list
+export function apiGetBaseBinStageList(params) {
+    return httpRequest({
+        url: 'bin-stage/list',
+        method: 'get',
+        params: params
+    })
+}
+//----"业务阶段配置-保存/修改"
+export function apiPostBaseBinStageSave(params) {
+    return httpRequest.post('bin-stage/save', params)
+}
+//----"业务阶段配置批量删除"
+export function apiPostBaseBinStageRemove(params) {
+    return httpRequest({
+        url: `bin-stage/remove/${params}`,
+        method: 'post'
+    })
+}
+
+
+//----指标分类配置-list
+export function apiGetBaseIndicatorTypeList(params) {
+    return httpRequest({
+        url: 'indicator-type/list',
+        method: 'get',
+        params: params
+    })
+}
+//----"指标分类配置-保存/修改"
+export function apiPostBaseIndicatorTypeSave(params) {
+    return httpRequest.post('indicator-type/save', params)
+}
+//----"指标分类配置批量删除"
+export function apiPostBaseIndicatorTypeRemove(params) {
+    return httpRequest({
+        url: `indicator-type/remove/${params}`,
+        method: 'post'
+    })
+}
+
 //----------------------------------------考评知识库------------------------------------------------
 //----考评得分规则列表查询-list
 export function apiGetevaluationscoringruleList(params) {

+ 5 - 4
src/components/assessment/evaluationAmendmentNewFrom.vue

@@ -51,7 +51,7 @@
                             <div class="detailsHeader">
                                 <div class="headerRight">
                                     <div class="seachFor">
-                                        <el-input v-model="compNameSa" placeholder="请输入单位名称" @keyup.enter="getTableData(isClickTagId)"></el-input>
+                                        <el-input v-model="compNameSa" placeholder="请输入单位名称" @keyup.enter="getTableData(addstageId)"></el-input>
                                         <!-- <el-icon :size="20" color="#3B7AD1" @click="getTableData(isClickTagId)"><Search /></el-icon> -->
                                     </div>
                                     <!-- <div class="tableBtn add" @click="addTableDetail"
@@ -381,7 +381,8 @@ export default {
             let params = {
                 responsibilityId: that.rowMsg.id,
                 binSection: that.binSectionStr,
-                binStage: id
+                binStage: id,
+                organizationShortName: that.compNameSa
             }
             apiGetgetevaluationrevisiondetails(params).then(datas =>{
                 if (datas && datas.data) {
@@ -514,7 +515,7 @@ export default {
                     type: 'error'
                 });
             }
-            this.getTableData(this.isClickTagId)
+            this.getTableData(this.addstageId)
         },
         saveDetail() {
             let that = this
@@ -541,7 +542,7 @@ export default {
             this.$refs.importPage.upload.url = '/responsibility-indicator-info/import-excel'
         },
         successImport(val) {
-            that.getTableData(that.isClickTagId)
+            that.getTableData(that.addstageId)
         },
         handleExport() {
             let that = this

+ 5 - 4
src/components/assessment/evaluationStartNewFrom.vue

@@ -51,7 +51,7 @@
                             <div class="detailsHeader">
                                 <div class="headerRight">
                                     <div class="seachFor">
-                                        <el-input v-model="compNameSa" placeholder="请输入单位名称" @keyup.enter="getTableData(isClickTagId)"></el-input>
+                                        <el-input v-model="compNameSa" placeholder="请输入单位名称" @keyup.enter="getTableData(addstageId)"></el-input>
                                         <!-- <el-icon :size="20" color="#3B7AD1" @click="getTableData(isClickTagId)"><Search /></el-icon> -->
                                     </div>
                                     <!-- <div class="tableBtn add" @click="addTableDetail"
@@ -356,7 +356,8 @@ export default {
             let params = {
                 responsibilityId: that.rowMsg.id,
                 binSection: that.binSectionStr,
-                binStage: id
+                binStage: id,
+                organizationShortName: that.compNameSa
             }
             apiGetgetResponsibilityInfoList(params).then(datas =>{
                 if (datas && datas.data) {
@@ -469,7 +470,7 @@ export default {
                     type: 'error'
                 });
             }
-            this.getTableData(this.isClickTagId)
+            this.getTableData(this.addstageId)
         },
         saveDetail() {
             let that = this
@@ -496,7 +497,7 @@ export default {
             this.$refs.importPage.upload.url = '/responsibility-indicator-info/import-excel'
         },
         successImport(val) {
-            that.getTableData(that.isClickTagId)
+            that.getTableData(that.addstageId)
         },
         handleExport() {
             let that = this

+ 1 - 1
src/components/assessment/monthQuarterYearReport.vue

@@ -38,7 +38,7 @@
                                     </el-table-column>
                                 </el-table-column>
                             </el-table-column>
-                            <el-table-column label="综合得分" prop="zhdf" width="100" v-if="isShowZHDF" />
+                            <el-table-column label="综合得分" prop="zhdf" width="100" sortable v-if="isShowZHDF" />
                         <!-- </el-table-column> -->
                     </el-table>
                 </div>

+ 343 - 0
src/components/baseInfomation/baseBinSectionPage.vue

@@ -0,0 +1,343 @@
+<template>
+    <div class="baseBinSection">
+        <div class="baseBinSectionBtn">
+            <div class="collectSeach" :style="$utils.collectSeachSty()">
+                <div class="exceed">
+                    <span class="exceedSpan">业务属性:</span>
+                    <el-input v-model="sectionNameS" placeholder="请输入业务属性"></el-input>
+                </div>
+                <seachs @handleSeach="getSeachData" @handleRest="resetSeach"></seachs>
+            </div>
+            <div class="PeriodBtn" :style="$utils.PeriodBtnSty()">
+                <btns
+                :showImport="false"
+                :showExport="false"
+                :showAdd="true"
+                :showSave="true"
+                :showDelete="true"
+                :disSave="changeDateSelect.length === 0 || changeDateSelect.length>1"
+                :disDelete="changeDateSelect.length === 0"
+                @handleAdd="handleAdd"
+                @handleEdit="handleEdit"
+                @handleDelete="handleDelete"
+                ></btns>
+            </div>
+            <div class="baseBinSectionTableData">
+                <el-table :data="baseBinSectionData" style="width: 100%" @select="rowClick" @select-all="rowClick">
+                    <el-table-column type="selection" label="操作" align="center" />
+                    <el-table-column label="属性名称" prop="sectionName" />
+                    <el-table-column label="属性编码" prop="sectionCode" />
+                    <el-table-column label="排序" prop="orderNum" />
+                    <el-table-column label="类型" prop="type" />
+                </el-table>
+            </div>
+            <el-dialog :title="title" v-model="dialogVisible" width="600px" :close-on-click-modal="false">
+                <div class="periodFrom">
+                    <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm" :validate-on-rule-change="false">
+                        <el-form-item label="属性名称" prop="sectionName">
+                            <el-input v-model="ruleForm.sectionName" placeholder="请输入属性名称"></el-input>
+                        </el-form-item>
+                        <el-form-item label="属性编码" prop="sectionCode">
+                            <el-input v-model="ruleForm.sectionCode" placeholder="请输入属性编码" :disabled="isSave"></el-input>
+                        </el-form-item>
+                        <el-form-item label="排序">
+                            <el-input-number v-model="ruleForm.orderNum" min="1" />
+                        </el-form-item>
+                        <el-form-item label="类型" prop="type">
+                            <el-input v-model="ruleForm.type" placeholder="请输入类型"></el-input>
+                        </el-form-item>
+                    </el-form>
+                </div>
+                <template #footer>
+                    <span class="dialog-footer">
+                        <el-button @click="dialogVisible = false">取 消</el-button>
+                        <el-button type="primary" @click="savebaseBinSectionMsg('ruleForm')">确 定</el-button>
+                    </span>
+                </template>
+            </el-dialog>
+        </div>
+    </div>
+</template>
+
+<script>
+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 {apiGetBaseBinSectionList, apiPostBaseBinSectionSave, apiPostBaseBinSectionRemove} from '../../api/api'
+export default {
+  components: { btns, seachs },
+    data() {
+        return {
+            dialogVisible: false,
+            title: '',
+            isSave: false,
+            changeDateSelect: [],
+            sectionNameS: '',
+            baseBinSectionData:[],
+            addW: addW,
+            addIcon: addIcon,
+            ruleForm: {
+                sectionName: '',
+                sectionCode: '',
+                orderNum: 1,
+                type: ''
+            },
+            rules: {
+                sectionName: [
+                    { required: true, message: '请输入属性名称', trigger: 'blur' }
+                ],
+                sectionCode: [
+                    { required: true, message: '请输入属性编码', trigger: 'blur' }
+                ],
+                type: [
+                    { required: true, message: '请输入类型', trigger: 'blur' }
+                ]
+            },
+            evalradio: {},
+            winPix: window.devicePixelRatio,
+        }
+    },
+    created() {
+        this.getBinSectionData()
+    },
+    methods:{
+        // 查询列表数据
+        getBinSectionData() {
+            let that = this
+            let params = {
+                pageNum: 1,
+                pageSize: 500,
+                sectionName: that.sectionNameS
+            }
+            apiGetBaseBinSectionList(params).then(datas =>{
+                if (datas && datas.data) {
+                    that.baseBinSectionData = datas.data
+                }
+            })
+        },
+        handleAdd() {
+            this.dialogVisible = true
+            this.isSave = false
+            this.title = '新增业务属性'
+            this.$nextTick(() =>{
+                this.ruleForm = {
+                    sectionName: '',
+                    sectionCode: '',
+                    orderNum: 1,
+                    type: ''
+                }
+            })
+        },
+        handleEdit() {
+            this.dialogVisible = true
+            this.isSave = true
+            this.title = '修改业务属性'
+            this.evalradio = this.changeDateSelect[0]
+            this.ruleForm = {
+                sectionName: this.evalradio.sectionName,
+                sectionCode: this.evalradio.sectionCode,
+                orderNum: this.evalradio.orderNum,
+                type: this.evalradio.type
+            }
+        },
+        savebaseBinSectionMsg(formName) {
+            let that = this
+            that.$refs[formName].validate((valid) => {
+                if (valid) {
+                    that.saveAndEditIndicatorData()
+                }
+            });
+        },
+        //新增/修改指标数据
+        saveAndEditIndicatorData() {
+            let that = this
+            let params = {
+                sectionName: that.ruleForm.sectionName,
+                sectionCode: that.ruleForm.sectionCode,
+                orderNum: that.ruleForm.orderNum,
+                type: that.ruleForm.type
+            }
+            if (that.isSave) {
+                params.id = that.evalradio.id
+            }
+            apiPostBaseBinSectionSave(params).then(datas =>{
+                if (!datas.success) {
+                    that.$message({
+                        message: datas.message,
+                        type: 'error'
+                    });
+                } else {
+                    if (!that.isSave) {
+                        that.$message({
+                            message: '业务属性新增成功',
+                            type: 'success'
+                        });
+                    } else {
+                        that.$message({
+                            message: '业务属性修改成功',
+                            type: 'success'
+                        });
+                    }
+                    that.dialogVisible = false
+                    that.changeDateSelect = []
+                    that.getBinSectionData()
+                }
+            })
+        },
+        //删除部门数据
+        handleDelete() {
+            this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
+                confirmButtonText: '确定',
+                cancelButtonText: '取消',
+                type: 'warning'
+            }).then(() => {
+                let that = this
+                let paramsArr = []
+                that.changeDateSelect.forEach(it =>{
+                    paramsArr.push(it.id)
+                })
+                apiPostBaseBinSectionRemove(paramsArr.join(',')).then(datas =>{
+                    if (datas) {
+                        that.$message({
+                            type: 'success',
+                            message: '删除成功!'
+                        });
+                        that.changeDateSelect = []
+                        that.getBinSectionData()
+                    }
+                })
+            })
+        },
+        rowClick(selection, row) {
+            this.changeDateSelect = selection
+        },
+        getSeachData() {
+            this.getBinSectionData()
+        },
+        resetSeach() {
+            this.sectionNameS = ''
+            this.getBinSectionData()
+        },
+    }
+}
+</script>
+
+<style lang="less">
+.baseBinSection{
+  .baseBinSectionBtn{
+        .collectSeach{
+            display: flex;
+            padding: 24px 20px;
+            border-bottom: 1px solid#D6DBEA;
+                .exceed{
+                    display: flex;
+                    .exceedSpan{
+                        width: 100px;
+                        height: 12px;
+                        font-size: 14px;
+                        font-family: Microsoft YaHei;
+                        font-weight: 400;
+                        color: #8991B0;
+                        line-height: 12px;
+                        margin-top: 14px;
+                    }
+                    .el-input{
+                        margin-right:10px;
+                        .el-input__inner{
+                            height:30px;
+                        }
+                        .el-input__suffix{
+                            .el-select__caret{
+                                line-height:30px;
+                            }
+                        }
+                    }
+                }
+                .el-select{
+                    margin-right:10px;
+                    .el-input__inner{
+                        height:30px;
+                    }
+                    .el-input__suffix{
+                        .el-select__caret{
+                            line-height:30px;
+                        }
+                    }
+                }
+        }
+        span{
+            font-size:14px;
+        }
+        .PeriodBtn{
+            display: flex;
+            justify-content: end;
+            padding: 20px 0;
+        }
+        .el-button{
+            height: 30px;
+            // width:100px;
+            padding: 0 30px ;
+            // padding-top: 8px;
+            span{
+                margin:0;
+            }
+        }
+        .el-overlay{
+            .el-dialog{
+                margin-top: 10vh;
+                .el-dialog__body{
+                    padding: 30px 60px 30px 20px !important;
+                    .periodFrom{
+                        .el-select, .el-input{
+                            width: 100%;
+                        }
+                        .el-input{
+                            height: 30px;
+                        }
+                    }
+                }
+                .el-dialog__footer{
+                    .dialog-footer{
+                        display: flex;
+                        justify-content: center;
+                        .el-button{
+                            width: 180px !important;
+                            height: 40px !important;
+                        }
+                    }
+                }
+            }
+        }
+    }
+  .baseBinSectionTableData{
+    .el-table{
+        .el-table__body-wrapper{
+            height: 60vh !important;
+        }
+        .el-input__inner{
+            height: 30px !important;
+        }
+        .el-radio__label{
+            display: none;
+        }
+        
+        .indicitem{
+            color: #409EFF;
+            font-size: 12px;
+            margin-right: 20px;
+            cursor:pointer;
+            &:hover{
+                text-decoration: underline;
+            }
+        }
+    }
+    .el-pagination{
+        margin-top: 20px;
+        text-align: end;
+        position: relative;
+    }
+    }
+    
+}
+</style>

+ 343 - 0
src/components/baseInfomation/baseBinStagePage.vue

@@ -0,0 +1,343 @@
+<template>
+    <div class="baseBinStage">
+        <div class="baseBinStageBtn">
+            <div class="collectSeach" :style="$utils.collectSeachSty()">
+                <div class="exceed">
+                    <span class="exceedSpan">业务阶段:</span>
+                    <el-input v-model="stageNameS" placeholder="请输入业务阶段"></el-input>
+                </div>
+                <seachs @handleSeach="getSeachData" @handleRest="resetSeach"></seachs>
+            </div>
+            <div class="PeriodBtn" :style="$utils.PeriodBtnSty()">
+                <btns
+                :showImport="false"
+                :showExport="false"
+                :showAdd="true"
+                :showSave="true"
+                :showDelete="true"
+                :disSave="changeDateSelect.length === 0 || changeDateSelect.length>1"
+                :disDelete="changeDateSelect.length === 0"
+                @handleAdd="handleAdd"
+                @handleEdit="handleEdit"
+                @handleDelete="handleDelete"
+                ></btns>
+            </div>
+            <div class="baseBinStageTableData">
+                <el-table :data="baseBinStageData" style="width: 100%" @select="rowClick" @select-all="rowClick">
+                    <el-table-column type="selection" label="操作" align="center" />
+                    <el-table-column label="阶段名称" prop="stageName" />
+                    <el-table-column label="阶段编码" prop="stageCode" />
+                    <el-table-column label="排序" prop="orderNum" />
+                    <el-table-column label="类型" prop="type" />
+                </el-table>
+            </div>
+            <el-dialog :title="title" v-model="dialogVisible" width="600px" :close-on-click-modal="false">
+                <div class="periodFrom">
+                    <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm" :validate-on-rule-change="false">
+                        <el-form-item label="阶段名称" prop="stageName">
+                            <el-input v-model="ruleForm.stageName" placeholder="请输入阶段名称"></el-input>
+                        </el-form-item>
+                        <el-form-item label="阶段编码" prop="stageCode">
+                            <el-input v-model="ruleForm.stageCode" placeholder="请输入阶段编码" :disabled="isSave"></el-input>
+                        </el-form-item>
+                        <el-form-item label="排序">
+                            <el-input-number v-model="ruleForm.orderNum" min="1" />
+                        </el-form-item>
+                        <el-form-item label="类型" prop="type">
+                            <el-input v-model="ruleForm.type" placeholder="请输入类型"></el-input>
+                        </el-form-item>
+                    </el-form>
+                </div>
+                <template #footer>
+                    <span class="dialog-footer">
+                        <el-button @click="dialogVisible = false">取 消</el-button>
+                        <el-button type="primary" @click="savebaseBinStageMsg('ruleForm')">确 定</el-button>
+                    </span>
+                </template>
+            </el-dialog>
+        </div>
+    </div>
+</template>
+
+<script>
+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 {apiGetBaseBinStageList, apiPostBaseBinStageSave, apiPostBaseBinStageRemove} from '../../api/api'
+export default {
+  components: { btns, seachs },
+    data() {
+        return {
+            dialogVisible: false,
+            title: '',
+            isSave: false,
+            changeDateSelect: [],
+            stageNameS: '',
+            baseBinStageData:[],
+            addW: addW,
+            addIcon: addIcon,
+            ruleForm: {
+                stageName: '',
+                stageCode: '',
+                orderNum: 1,
+                type: ''
+            },
+            rules: {
+                stageName: [
+                    { required: true, message: '请输入阶段名称', trigger: 'blur' }
+                ],
+                stageCode: [
+                    { required: true, message: '请输入阶段编码', trigger: 'blur' }
+                ],
+                type: [
+                    { required: true, message: '请输入类型', trigger: 'blur' }
+                ]
+            },
+            evalradio: {},
+            winPix: window.devicePixelRatio,
+        }
+    },
+    created() {
+        this.getBinStageData()
+    },
+    methods:{
+        // 查询列表数据
+        getBinStageData() {
+            let that = this
+            let params = {
+                pageNum: 1,
+                pageSize: 500,
+                stageName: that.stageNameS
+            }
+            apiGetBaseBinStageList(params).then(datas =>{
+                if (datas && datas.data) {
+                    that.baseBinStageData = datas.data
+                }
+            })
+        },
+        handleAdd() {
+            this.dialogVisible = true
+            this.isSave = false
+            this.title = '新增业务阶段'
+            this.$nextTick(() =>{
+                this.ruleForm = {
+                    stageName: '',
+                    stageCode: '',
+                    orderNum: 1,
+                    type: ''
+                }
+            })
+        },
+        handleEdit() {
+            this.dialogVisible = true
+            this.isSave = true
+            this.title = '修改业务阶段'
+            this.evalradio = this.changeDateSelect[0]
+            this.ruleForm = {
+                stageName: this.evalradio.stageName,
+                stageCode: this.evalradio.stageCode,
+                orderNum: this.evalradio.orderNum,
+                type: this.evalradio.type
+            }
+        },
+        savebaseBinStageMsg(formName) {
+            let that = this
+            that.$refs[formName].validate((valid) => {
+                if (valid) {
+                    that.saveAndEditIndicatorData()
+                }
+            });
+        },
+        //新增/修改指标数据
+        saveAndEditIndicatorData() {
+            let that = this
+            let params = {
+                stageName: that.ruleForm.stageName,
+                stageCode: that.ruleForm.stageCode,
+                orderNum: that.ruleForm.orderNum,
+                type: that.ruleForm.type
+            }
+            if (that.isSave) {
+                params.id = that.evalradio.id
+            }
+            apiPostBaseBinStageSave(params).then(datas =>{
+                if (!datas.success) {
+                    that.$message({
+                        message: datas.message,
+                        type: 'error'
+                    });
+                } else {
+                    if (!that.isSave) {
+                        that.$message({
+                            message: '业务阶段新增成功',
+                            type: 'success'
+                        });
+                    } else {
+                        that.$message({
+                            message: '业务阶段修改成功',
+                            type: 'success'
+                        });
+                    }
+                    that.dialogVisible = false
+                    that.changeDateSelect = []
+                    that.getBinStageData()
+                }
+            })
+        },
+        //删除部门数据
+        handleDelete() {
+            this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
+                confirmButtonText: '确定',
+                cancelButtonText: '取消',
+                type: 'warning'
+            }).then(() => {
+                let that = this
+                let paramsArr = []
+                that.changeDateSelect.forEach(it =>{
+                    paramsArr.push(it.id)
+                })
+                apiPostBaseBinStageRemove(paramsArr.join(',')).then(datas =>{
+                    if (datas) {
+                        that.$message({
+                            type: 'success',
+                            message: '删除成功!'
+                        });
+                        that.changeDateSelect = []
+                        that.getBinStageData()
+                    }
+                })
+            })
+        },
+        rowClick(selection, row) {
+            this.changeDateSelect = selection
+        },
+        getSeachData() {
+            this.getBinStageData()
+        },
+        resetSeach() {
+            this.stageNameS = ''
+            this.getBinStageData()
+        },
+    }
+}
+</script>
+
+<style lang="less">
+.baseBinStage{
+  .baseBinStageBtn{
+        .collectSeach{
+            display: flex;
+            padding: 24px 20px;
+            border-bottom: 1px solid#D6DBEA;
+                .exceed{
+                    display: flex;
+                    .exceedSpan{
+                        width: 100px;
+                        height: 12px;
+                        font-size: 14px;
+                        font-family: Microsoft YaHei;
+                        font-weight: 400;
+                        color: #8991B0;
+                        line-height: 12px;
+                        margin-top: 14px;
+                    }
+                    .el-input{
+                        margin-right:10px;
+                        .el-input__inner{
+                            height:30px;
+                        }
+                        .el-input__suffix{
+                            .el-select__caret{
+                                line-height:30px;
+                            }
+                        }
+                    }
+                }
+                .el-select{
+                    margin-right:10px;
+                    .el-input__inner{
+                        height:30px;
+                    }
+                    .el-input__suffix{
+                        .el-select__caret{
+                            line-height:30px;
+                        }
+                    }
+                }
+        }
+        span{
+            font-size:14px;
+        }
+        .PeriodBtn{
+            display: flex;
+            justify-content: end;
+            padding: 20px 0;
+        }
+        .el-button{
+            height: 30px;
+            // width:100px;
+            padding: 0 30px ;
+            // padding-top: 8px;
+            span{
+                margin:0;
+            }
+        }
+        .el-overlay{
+            .el-dialog{
+                margin-top: 10vh;
+                .el-dialog__body{
+                    padding: 30px 60px 30px 20px !important;
+                    .periodFrom{
+                        .el-select, .el-input{
+                            width: 100%;
+                        }
+                        .el-input{
+                            height: 30px;
+                        }
+                    }
+                }
+                .el-dialog__footer{
+                    .dialog-footer{
+                        display: flex;
+                        justify-content: center;
+                        .el-button{
+                            width: 180px !important;
+                            height: 40px !important;
+                        }
+                    }
+                }
+            }
+        }
+    }
+  .baseBinStageTableData{
+    .el-table{
+        .el-table__body-wrapper{
+            height: 60vh !important;
+        }
+        .el-input__inner{
+            height: 30px !important;
+        }
+        .el-radio__label{
+            display: none;
+        }
+        
+        .indicitem{
+            color: #409EFF;
+            font-size: 12px;
+            margin-right: 20px;
+            cursor:pointer;
+            &:hover{
+                text-decoration: underline;
+            }
+        }
+    }
+    .el-pagination{
+        margin-top: 20px;
+        text-align: end;
+        position: relative;
+    }
+    }
+    
+}
+</style>

+ 343 - 0
src/components/baseInfomation/baseIndicatorTypePage.vue

@@ -0,0 +1,343 @@
+<template>
+    <div class="baseIndicatorType">
+        <div class="baseIndicatorTypeBtn">
+            <div class="collectSeach" :style="$utils.collectSeachSty()">
+                <div class="exceed">
+                    <span class="exceedSpan">指标分类:</span>
+                    <el-input v-model="typeNameS" placeholder="请输入指标分类"></el-input>
+                </div>
+                <seachs @handleSeach="getSeachData" @handleRest="resetSeach"></seachs>
+            </div>
+            <div class="PeriodBtn" :style="$utils.PeriodBtnSty()">
+                <btns
+                :showImport="false"
+                :showExport="false"
+                :showAdd="true"
+                :showSave="true"
+                :showDelete="true"
+                :disSave="changeDateSelect.length === 0 || changeDateSelect.length>1"
+                :disDelete="changeDateSelect.length === 0"
+                @handleAdd="handleAdd"
+                @handleEdit="handleEdit"
+                @handleDelete="handleDelete"
+                ></btns>
+            </div>
+            <div class="baseIndicatorTypeTableData">
+                <el-table :data="baseIndicatorTypeData" style="width: 100%" @select="rowClick" @select-all="rowClick">
+                    <el-table-column type="selection" label="操作" align="center" />
+                    <el-table-column label="指标名称" prop="typeName" />
+                    <el-table-column label="指标编码" prop="typeCode" />
+                    <el-table-column label="排序" prop="orderNum" />
+                    <el-table-column label="类型" prop="type" />
+                </el-table>
+            </div>
+            <el-dialog :title="title" v-model="dialogVisible" width="600px" :close-on-click-modal="false">
+                <div class="periodFrom">
+                    <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm" :validate-on-rule-change="false">
+                        <el-form-item label="指标名称" prop="typeName">
+                            <el-input v-model="ruleForm.typeName" placeholder="请输入指标名称"></el-input>
+                        </el-form-item>
+                        <el-form-item label="指标编码" prop="typeCode">
+                            <el-input v-model="ruleForm.typeCode" placeholder="请输入指标编码" :disabled="isSave"></el-input>
+                        </el-form-item>
+                        <el-form-item label="排序">
+                            <el-input-number v-model="ruleForm.orderNum" min="1" />
+                        </el-form-item>
+                        <el-form-item label="类型" prop="type">
+                            <el-input v-model="ruleForm.type" placeholder="请输入类型"></el-input>
+                        </el-form-item>
+                    </el-form>
+                </div>
+                <template #footer>
+                    <span class="dialog-footer">
+                        <el-button @click="dialogVisible = false">取 消</el-button>
+                        <el-button type="primary" @click="savebaseIndicatorTypeMsg('ruleForm')">确 定</el-button>
+                    </span>
+                </template>
+            </el-dialog>
+        </div>
+    </div>
+</template>
+
+<script>
+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 {apiGetBaseIndicatorTypeList, apiPostBaseIndicatorTypeSave, apiPostBaseIndicatorTypeRemove} from '../../api/api'
+export default {
+  components: { btns, seachs },
+    data() {
+        return {
+            dialogVisible: false,
+            title: '',
+            isSave: false,
+            changeDateSelect: [],
+            typeNameS: '',
+            baseIndicatorTypeData:[],
+            addW: addW,
+            addIcon: addIcon,
+            ruleForm: {
+                typeName: '',
+                typeCode: '',
+                orderNum: 1,
+                type: ''
+            },
+            rules: {
+                typeName: [
+                    { required: true, message: '请输入指标名称', trigger: 'blur' }
+                ],
+                typeCode: [
+                    { required: true, message: '请输入指标编码', trigger: 'blur' }
+                ],
+                type: [
+                    { required: true, message: '请输入类型', trigger: 'blur' }
+                ]
+            },
+            evalradio: {},
+            winPix: window.devicePixelRatio,
+        }
+    },
+    created() {
+        this.getIndicatorTypeData()
+    },
+    methods:{
+        // 查询列表数据
+        getIndicatorTypeData() {
+            let that = this
+            let params = {
+                pageNum: 1,
+                pageSize: 500,
+                typeName: that.typeNameS
+            }
+            apiGetBaseIndicatorTypeList(params).then(datas =>{
+                if (datas && datas.data) {
+                    that.baseIndicatorTypeData = datas.data
+                }
+            })
+        },
+        handleAdd() {
+            this.dialogVisible = true
+            this.isSave = false
+            this.title = '新增指标分类'
+            this.$nextTick(() =>{
+                this.ruleForm = {
+                    typeName: '',
+                    typeCode: '',
+                    orderNum: 1,
+                    type: ''
+                }
+            })
+        },
+        handleEdit() {
+            this.dialogVisible = true
+            this.isSave = true
+            this.title = '修改指标分类'
+            this.evalradio = this.changeDateSelect[0]
+            this.ruleForm = {
+                typeName: this.evalradio.typeName,
+                typeCode: this.evalradio.typeCode,
+                orderNum: this.evalradio.orderNum,
+                type: this.evalradio.type
+            }
+        },
+        savebaseIndicatorTypeMsg(formName) {
+            let that = this
+            that.$refs[formName].validate((valid) => {
+                if (valid) {
+                    that.saveAndEditIndicatorData()
+                }
+            });
+        },
+        //新增/修改指标数据
+        saveAndEditIndicatorData() {
+            let that = this
+            let params = {
+                typeName: that.ruleForm.typeName,
+                typeCode: that.ruleForm.typeCode,
+                orderNum: that.ruleForm.orderNum,
+                type: that.ruleForm.type
+            }
+            if (that.isSave) {
+                params.id = that.evalradio.id
+            }
+            apiPostBaseIndicatorTypeSave(params).then(datas =>{
+                if (!datas.success) {
+                    that.$message({
+                        message: datas.message,
+                        type: 'error'
+                    });
+                } else {
+                    if (!that.isSave) {
+                        that.$message({
+                            message: '指标分类新增成功',
+                            type: 'success'
+                        });
+                    } else {
+                        that.$message({
+                            message: '指标分类修改成功',
+                            type: 'success'
+                        });
+                    }
+                    that.dialogVisible = false
+                    that.changeDateSelect = []
+                    that.getIndicatorTypeData()
+                }
+            })
+        },
+        //删除部门数据
+        handleDelete() {
+            this.$confirm('此操作将永久删除该数据, 是否继续?', '提示', {
+                confirmButtonText: '确定',
+                cancelButtonText: '取消',
+                type: 'warning'
+            }).then(() => {
+                let that = this
+                let paramsArr = []
+                that.changeDateSelect.forEach(it =>{
+                    paramsArr.push(it.id)
+                })
+                apiPostBaseIndicatorTypeRemove(paramsArr.join(',')).then(datas =>{
+                    if (datas) {
+                        that.$message({
+                            type: 'success',
+                            message: '删除成功!'
+                        });
+                        that.changeDateSelect = []
+                        that.getIndicatorTypeData()
+                    }
+                })
+            })
+        },
+        rowClick(selection, row) {
+            this.changeDateSelect = selection
+        },
+        getSeachData() {
+            this.getIndicatorTypeData()
+        },
+        resetSeach() {
+            this.typeNameS = ''
+            this.getIndicatorTypeData()
+        },
+    }
+}
+</script>
+
+<style lang="less">
+.baseIndicatorType{
+  .baseIndicatorTypeBtn{
+        .collectSeach{
+            display: flex;
+            padding: 24px 20px;
+            border-bottom: 1px solid#D6DBEA;
+                .exceed{
+                    display: flex;
+                    .exceedSpan{
+                        width: 100px;
+                        height: 12px;
+                        font-size: 14px;
+                        font-family: Microsoft YaHei;
+                        font-weight: 400;
+                        color: #8991B0;
+                        line-height: 12px;
+                        margin-top: 14px;
+                    }
+                    .el-input{
+                        margin-right:10px;
+                        .el-input__inner{
+                            height:30px;
+                        }
+                        .el-input__suffix{
+                            .el-select__caret{
+                                line-height:30px;
+                            }
+                        }
+                    }
+                }
+                .el-select{
+                    margin-right:10px;
+                    .el-input__inner{
+                        height:30px;
+                    }
+                    .el-input__suffix{
+                        .el-select__caret{
+                            line-height:30px;
+                        }
+                    }
+                }
+        }
+        span{
+            font-size:14px;
+        }
+        .PeriodBtn{
+            display: flex;
+            justify-content: end;
+            padding: 20px 0;
+        }
+        .el-button{
+            height: 30px;
+            // width:100px;
+            padding: 0 30px ;
+            // padding-top: 8px;
+            span{
+                margin:0;
+            }
+        }
+        .el-overlay{
+            .el-dialog{
+                margin-top: 10vh;
+                .el-dialog__body{
+                    padding: 30px 60px 30px 20px !important;
+                    .periodFrom{
+                        .el-select, .el-input{
+                            width: 100%;
+                        }
+                        .el-input{
+                            height: 30px;
+                        }
+                    }
+                }
+                .el-dialog__footer{
+                    .dialog-footer{
+                        display: flex;
+                        justify-content: center;
+                        .el-button{
+                            width: 180px !important;
+                            height: 40px !important;
+                        }
+                    }
+                }
+            }
+        }
+    }
+  .baseIndicatorTypeTableData{
+    .el-table{
+        .el-table__body-wrapper{
+            height: 60vh !important;
+        }
+        .el-input__inner{
+            height: 30px !important;
+        }
+        .el-radio__label{
+            display: none;
+        }
+        
+        .indicitem{
+            color: #409EFF;
+            font-size: 12px;
+            margin-right: 20px;
+            cursor:pointer;
+            &:hover{
+                text-decoration: underline;
+            }
+        }
+    }
+    .el-pagination{
+        margin-top: 20px;
+        text-align: end;
+        position: relative;
+    }
+    }
+    
+}
+</style>

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

@@ -264,7 +264,6 @@ export default {
             if (this.evalradio.jxjgkhsbType === '1') {
                 departmentInStr.push('绩效考核申报')
             }
-            this.evalradio.yjzbjhType
             this.ruleForm = {
                 department: this.evalradio.deptId,
                 departmentLeader: this.evalradio.chargePersonId,

+ 12 - 9
src/components/notification/notificationMangePage.vue

@@ -563,18 +563,18 @@ export default {
             if (this.evalradio.releaseState === '已发布') {
                 this.isDisable = true
             }
-            let conStr = ''
-            for(let i in this.evalradio.noticeContent) {
-                let it = this.evalradio.noticeContent[i]
-                if (it === ' ' && i !== 0 && this.evalradio.noticeContent[i-1] !== ' ') {
-                    it = it+'\n'
-                }
-                conStr += it 
-            }
+            // let conStr = ''
+            // for(let i in this.evalradio.noticeContent) {
+            //     let it = this.evalradio.noticeContent[i]
+            //     if (it === ' ' && i !== 0 && this.evalradio.noticeContent[i-1] !== ' ') {
+            //         it = it+'\n'
+            //     }
+            //     conStr += it 
+            // }
             this.ruleForm = {
                 serialNumber: this.evalradio.serialNumber*1,
                 noticeTitle: this.evalradio.noticeTitle,
-                noticeContent: conStr,
+                noticeContent: this.evalradio.noticeContent,
                 sendTo: this.evalradio.sendTo,
                 sendToContent: this.evalradio.sendToContent.split(','),
                 releaseDept: this.evalradio.releaseDept,
@@ -851,6 +851,9 @@ export default {
                             .spanOne{
                                 color: #1063CB;
                             }
+                            .spanTwo{
+                                text-align: center;
+                            }
                             .fileOperate{
                                 width: 160px;
                                 display: flex;

+ 4 - 3
src/components/taskCenter/taskEvaluationStart.vue

@@ -51,7 +51,7 @@
                             <div class="detailsHeader">
                                 <div class="headerRight">
                                     <div class="seachFor">
-                                        <el-input v-model="compNameSa" placeholder="请输入单位名称" @keyup.enter="getTableData(isClickTagId)"></el-input>
+                                        <el-input v-model="compNameSa" placeholder="请输入单位名称" @keyup.enter="getTableData(addstageId)"></el-input>
                                         <!-- <el-icon :size="20" color="#3B7AD1" @click="getTableData(isClickTagId)"><Search /></el-icon> -->
                                     </div>
                                     <!-- <div class="tableBtn add" @click="addTableDetail"
@@ -383,7 +383,8 @@ export default {
             let params = {
                 responsibilityId: that.tastbizKey,
                 binSection: that.binSectionStr,
-                binStage: id
+                binStage: id,
+                organizationShortName: that.compNameSa
             }
             apiGetgetResponsibilityInfoList(params).then(datas =>{
                 if (datas && datas.data) {
@@ -444,7 +445,7 @@ export default {
             this.$refs.importPage.upload.url = '/responsibility-indicator-info/import-excel'
         },
         successImport(val) {
-            that.getTableData(that.isClickTagId)
+            that.getTableData(that.addstageId)
         },
         handleExport() {
             let that = this

+ 1 - 0
src/mobeilComponent/homeMobeilPage.vue

@@ -131,6 +131,7 @@ export default {
     },
     created() {
         this.showDate = new Date().getFullYear()
+        this.currentDate = [this.showDate]
         this.getyearCompanyList()
     },
     methods: {

+ 2 - 1
src/mobeilComponent/seasonConpanyPage.vue

@@ -128,7 +128,8 @@ export default {
         }
     },
     created() {
-        this.showDate = new Date().getFullYear()-1
+        this.showDate = new Date().getFullYear()
+        this.currentDate = [this.showDate]
         this.getSeasonData(this.binSection, this.showDate)
         this.columnSection = [
             { text: '火电', value: 'HD' },

+ 34 - 1
src/router/index.js

@@ -316,12 +316,45 @@ const routes = [
                         path: '/baseInfomation/moreBrand',
                         name: 'moreBrand',
                         meta: {
-                            title: '多牌配置',
+                            title: '单位营业收入',
                         },
                         component: () =>
                             import(
                                 '../components/baseInfomation/moreBrandPage.vue'
                             ),
+                    },
+                    {
+                        path: '/baseInfomation/baseBinSection',
+                        name: 'baseBinSection',
+                        meta: {
+                            title: '业务属性配置',
+                        },
+                        component: () =>
+                            import(
+                                '../components/baseInfomation/baseBinSectionPage.vue'
+                            ),
+                    },
+                    {
+                        path: '/baseInfomation/baseBinStage',
+                        name: 'baseBinStage',
+                        meta: {
+                            title: '业务阶段配置',
+                        },
+                        component: () =>
+                            import(
+                                '../components/baseInfomation/baseBinStagePage.vue'
+                            ),
+                    },
+                    {
+                        path: '/baseInfomation/baseIndicatorType',
+                        name: 'baseIndicatorType',
+                        meta: {
+                            title: '指标分类配置',
+                        },
+                        component: () =>
+                            import(
+                                '../components/baseInfomation/baseIndicatorTypePage.vue'
+                            ),
                     }
                 ]
             },

+ 1 - 0
src/views/Login.vue

@@ -146,6 +146,7 @@ export default {
                         }
                     }).catch(e =>{
                         that.loading = false
+                        that.loginLoading = false
                     })
                 }
             })

+ 14 - 1
src/views/homePage.vue

@@ -198,7 +198,20 @@
             //         index: '5',
             //         name: '基础信息配置',
             //         img: quanxianImg,
-            //         children: [{
+            //         children: [
+            //             {
+            //                 index: '/baseInfomation/baseBinSection',
+            //                 name: '业务属性配置',
+            //             },
+            //             {
+            //                 index: '/baseInfomation/baseBinStage',
+            //                 name: '业务阶段配置',
+            //             },
+            //             {
+            //                 index: '/baseInfomation/baseIndicatorType',
+            //                 name: '指标分类配置',
+            //             },
+            //             {
             //                 index: '',
             //                 href: '',
             //                 name: '人员权限配置',