|
@@ -1,6 +1,6 @@
|
|
<template>
|
|
<template>
|
|
<div class="startFrom">
|
|
<div class="startFrom">
|
|
- <el-dialog title="考评启动详情" v-model="dialogVisible" width="80vw" :fullscreen="true" :close-on-click-modal="false">
|
|
|
|
|
|
+ <el-dialog title="考评启动详情" v-model="dialogVisible" :fullscreen="true" :close-on-click-modal="false">
|
|
<div class="startDetail">
|
|
<div class="startDetail">
|
|
<p class="starttitleSty">单据信息:</p>
|
|
<p class="starttitleSty">单据信息:</p>
|
|
<el-row class="danjuMsg">
|
|
<el-row class="danjuMsg">
|
|
@@ -46,10 +46,10 @@
|
|
</el-col>
|
|
</el-col>
|
|
</el-row>
|
|
</el-row>
|
|
<div class="detaTableBtns">
|
|
<div class="detaTableBtns">
|
|
- <!-- <div class="tableBtn add">
|
|
|
|
|
|
+ <div class="tableBtn add" @click="addTableDetail" v-if="activeName === 'second'">
|
|
<img :src="addIcon" alt="">
|
|
<img :src="addIcon" alt="">
|
|
<span>新增</span>
|
|
<span>新增</span>
|
|
- </div> -->
|
|
|
|
|
|
+ </div>
|
|
<div class="tableBtn save" @click="saveDetail" v-if="$utils.havePurview('evalStart:twoLevel:save')">
|
|
<div class="tableBtn save" @click="saveDetail" v-if="$utils.havePurview('evalStart:twoLevel:save')">
|
|
<img :src="saveIcon" alt="">
|
|
<img :src="saveIcon" alt="">
|
|
<span>保存</span>
|
|
<span>保存</span>
|
|
@@ -68,12 +68,11 @@
|
|
<el-table :data="quantifiedList" style="width: 100%" @select="rowClick" @select-all="rowClick">
|
|
<el-table :data="quantifiedList" style="width: 100%" @select="rowClick" @select-all="rowClick">
|
|
<el-table-column type="selection" label="操作" align="center"></el-table-column>
|
|
<el-table-column type="selection" label="操作" align="center"></el-table-column>
|
|
<el-table-column type="index" label="序号" width="80" />
|
|
<el-table-column type="index" label="序号" width="80" />
|
|
- <el-table-column label="业务类别" prop="stageName" />
|
|
|
|
- <el-table-column label="所属板块" prop="sectionName" />
|
|
|
|
|
|
+ <el-table-column label="业务阶段" prop="stageName" />
|
|
|
|
+ <el-table-column label="业务属性" prop="sectionName" />
|
|
<el-table-column label="单位名称" prop="organizationName" width="300" />
|
|
<el-table-column label="单位名称" prop="organizationName" width="300" />
|
|
<el-table-column label="填报部门" prop="deptName" width="260" />
|
|
<el-table-column label="填报部门" prop="deptName" width="260" />
|
|
<el-table-column label="指标分类" prop="typeName" />
|
|
<el-table-column label="指标分类" prop="typeName" />
|
|
- <!-- <el-table-column label="指标项" prop="optionName" /> -->
|
|
|
|
<el-table-column label="计划值">
|
|
<el-table-column label="计划值">
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
<el-input-number v-model="scope.row.quantifiedValue" :precision="2" :step="0.1" :min="1" />
|
|
<el-input-number v-model="scope.row.quantifiedValue" :precision="2" :step="0.1" :min="1" />
|
|
@@ -82,15 +81,89 @@
|
|
<el-table-column label="单位" prop="unit" />
|
|
<el-table-column label="单位" prop="unit" />
|
|
</el-table>
|
|
</el-table>
|
|
</el-tab-pane>
|
|
</el-tab-pane>
|
|
- <el-tab-pane label="考评评测性指标内容" name="second">
|
|
|
|
|
|
+ <el-tab-pane label="考评评价指标内容" name="second">
|
|
<el-table :data="nonQuantifiedList" style="width: 100%">
|
|
<el-table :data="nonQuantifiedList" style="width: 100%">
|
|
<el-table-column type="index" label="序号" width="80" />
|
|
<el-table-column type="index" label="序号" width="80" />
|
|
- <el-table-column label="业务类别" prop="stageName" />
|
|
|
|
- <el-table-column label="所属板块" prop="sectionName" />
|
|
|
|
- <el-table-column label="单位名称" prop="organizationName" width="300" />
|
|
|
|
- <el-table-column label="填报部门" prop="deptName" width="260" />
|
|
|
|
- <el-table-column label="指标分类" prop="typeName" />
|
|
|
|
- <!-- <el-table-column label="指标项" prop="optionName" /> -->
|
|
|
|
|
|
+ <el-table-column label="单位名称" prop="organizationName" width="300">
|
|
|
|
+ <template #default="scope">
|
|
|
|
+ <el-select v-model="scope.row.organizationName" placeholder="请选择单位名称"
|
|
|
|
+ :disabled="!scope.row.showInput"
|
|
|
|
+ @change="changeOrgZa">
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="item in orgruleData"
|
|
|
|
+ :key="item.id"
|
|
|
|
+ :label="item.organizationName"
|
|
|
|
+ :value="item.id">
|
|
|
|
+ </el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column label="指标分类" prop="typeName">
|
|
|
|
+ <template #default="scope">
|
|
|
|
+ <el-select v-model="scope.row.typeName" :disabled="!scope.row.showInput" placeholder="请选择指标分类">
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="item in indicatorTypeData"
|
|
|
|
+ :key="item.id"
|
|
|
|
+ :label="item.typeName"
|
|
|
|
+ :value="item.id">
|
|
|
|
+ </el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column label="业务阶段" prop="stageName">
|
|
|
|
+ <template #default="scope">
|
|
|
|
+ <el-select v-model="scope.row.stageName" placeholder="请选择业务阶段"
|
|
|
|
+ :disabled="!scope.row.showInput"
|
|
|
|
+ @change="(val)=>changeIndic(val, scope.row)">
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="item in stageData"
|
|
|
|
+ :key="item.id"
|
|
|
|
+ :label="item.stageName"
|
|
|
|
+ :value="item.id">
|
|
|
|
+ </el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column label="业务属性" prop="sectionName">
|
|
|
|
+ <template #default="scope">
|
|
|
|
+ <el-select v-model="scope.row.sectionName" placeholder="请选择业务阶段"
|
|
|
|
+ :disabled="!scope.row.showInput"
|
|
|
|
+ @change="(val)=>changeIndic(val, scope.row)">
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="item in sectionNameArr"
|
|
|
|
+ :key="item.id"
|
|
|
|
+ :label="item.secName"
|
|
|
|
+ :value="item.id">
|
|
|
|
+ </el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column label="指标名称" prop="childName">
|
|
|
|
+ <template #default="scope">
|
|
|
|
+ <el-select v-model="scope.row.childName" placeholder="请选择业务阶段"
|
|
|
|
+ :disabled="!scope.row.showInput"
|
|
|
|
+ @change="changeDept">
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="item in indicItemoptions"
|
|
|
|
+ :key="item.id"
|
|
|
|
+ :label="item.indicatorName"
|
|
|
|
+ :value="item.id">
|
|
|
|
+ </el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column label="填报部门" prop="deptName" width="260">
|
|
|
|
+ <template #default="scope">
|
|
|
|
+ <el-select v-model="scope.row.deptName" placeholder="请选择业务阶段" :disabled="!scope.row.showInput">
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="item in deptNameArr"
|
|
|
|
+ :key="item.id"
|
|
|
|
+ :label="item.deptName"
|
|
|
|
+ :value="item.id">
|
|
|
|
+ </el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
<el-table-column label="计划值">
|
|
<el-table-column label="计划值">
|
|
<template #default="scope">
|
|
<template #default="scope">
|
|
<el-input v-model="scope.row.nonQuantifiedValue" />
|
|
<el-input v-model="scope.row.nonQuantifiedValue" />
|
|
@@ -111,7 +184,8 @@
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
-import {apiGetdeptresponDetail,apiGetindicatorsaveBatchDto} from '../../api/api'
|
|
|
|
|
|
+import {apiGetdeptresponDetail,apiGetindicatorsaveBatchDto, apiGetOrganizationRule,
|
|
|
|
+apiGetindicatorListAll, apiGetbinstageList, apiGetIndicatorTypeList} from '../../api/api'
|
|
import addIcon from '../../assets/btnIcon/add.png'
|
|
import addIcon from '../../assets/btnIcon/add.png'
|
|
import saveIcon from '../../assets/btnIcon/save.png'
|
|
import saveIcon from '../../assets/btnIcon/save.png'
|
|
import editIcon from '../../assets/btnIcon/edit.png'
|
|
import editIcon from '../../assets/btnIcon/edit.png'
|
|
@@ -138,7 +212,13 @@ export default {
|
|
saveIcon: saveIcon,
|
|
saveIcon: saveIcon,
|
|
editIcon: editIcon,
|
|
editIcon: editIcon,
|
|
deleteIcon: deleteIcon,
|
|
deleteIcon: deleteIcon,
|
|
- rowMsg: {}
|
|
|
|
|
|
+ rowMsg: {},
|
|
|
|
+ orgruleData: [],
|
|
|
|
+ indicatorTypeData: [],
|
|
|
|
+ stageData: [],
|
|
|
|
+ indicItemoptions: [],
|
|
|
|
+ sectionNameArr: [],
|
|
|
|
+ deptNameArr: []
|
|
}
|
|
}
|
|
},
|
|
},
|
|
created() {
|
|
created() {
|
|
@@ -158,8 +238,80 @@ export default {
|
|
recStage: '有效'
|
|
recStage: '有效'
|
|
}
|
|
}
|
|
this.getDetails(row.id)
|
|
this.getDetails(row.id)
|
|
|
|
+ this.getOrgRule(row)
|
|
|
|
+ this.getindList()
|
|
this.rowMsg = row
|
|
this.rowMsg = row
|
|
},
|
|
},
|
|
|
|
+ // 考评评价指标内容
|
|
|
|
+ getOrgRule(row) {
|
|
|
|
+ let that = this
|
|
|
|
+ let params = {
|
|
|
|
+ id: row.id,
|
|
|
|
+ type: 'mb'
|
|
|
|
+ }
|
|
|
|
+ apiGetOrganizationRule(params).then(datas =>{
|
|
|
|
+ if (datas && datas.data) {
|
|
|
|
+ that.orgruleData = datas.data
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ getindList() {
|
|
|
|
+ let that = this
|
|
|
|
+ let params = {
|
|
|
|
+ type: 2
|
|
|
|
+ }
|
|
|
|
+ apiGetbinstageList(params).then(datas =>{
|
|
|
|
+ if (datas && datas.data) {
|
|
|
|
+ that.stageData = datas.data
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ apiGetIndicatorTypeList(params).then(datas =>{
|
|
|
|
+ if (datas && datas.data) {
|
|
|
|
+ that.indicatorTypeData = datas.data
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ getIndListAll(row) {
|
|
|
|
+ let that = this
|
|
|
|
+ let params = {
|
|
|
|
+ binSection: row.sectionName,
|
|
|
|
+ binStage: row.stageName
|
|
|
|
+ }
|
|
|
|
+ apiGetindicatorListAll(params).then(datas =>{
|
|
|
|
+ if (datas && datas.data) {
|
|
|
|
+ that.indicItemoptions = datas.data
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ changeIndic(val, row) {
|
|
|
|
+ if (row.stageName !== '' && row.sectionName !== '') {
|
|
|
|
+ this.getIndListAll(row)
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ changeOrgZa(val) {
|
|
|
|
+ this.sectionNameArr = []
|
|
|
|
+ this.orgruleData.forEach(item =>{
|
|
|
|
+ if (item.id === val) {
|
|
|
|
+ let obj = {
|
|
|
|
+ id: item.binSection,
|
|
|
|
+ secName: item.binSectionName
|
|
|
|
+ }
|
|
|
|
+ this.sectionNameArr.push(obj)
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ changeDept(val) {
|
|
|
|
+ this.deptNameArr = []
|
|
|
|
+ this.indicItemoptions.forEach(item =>{
|
|
|
|
+ if (item.id === val) {
|
|
|
|
+ let obj = {
|
|
|
|
+ id: item.dept,
|
|
|
|
+ deptName: item.deptName
|
|
|
|
+ }
|
|
|
|
+ this.deptNameArr.push(obj)
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ },
|
|
handleClick() {
|
|
handleClick() {
|
|
this.changeDateSelect = []
|
|
this.changeDateSelect = []
|
|
},
|
|
},
|
|
@@ -175,10 +327,30 @@ export default {
|
|
apiGetdeptresponDetail(params).then(datas =>{
|
|
apiGetdeptresponDetail(params).then(datas =>{
|
|
if (datas && datas.data) {
|
|
if (datas && datas.data) {
|
|
that.quantifiedList = datas.data.quantifiedList
|
|
that.quantifiedList = datas.data.quantifiedList
|
|
- that.nonQuantifiedList = datas.data.nonQuantifiedList
|
|
|
|
|
|
+ // let nonarr = []
|
|
|
|
+ if (datas.data.nonQuantifiedList.length>0) {
|
|
|
|
+ datas.data.nonQuantifiedList.forEach(it =>{
|
|
|
|
+ it.childName = it.organizationName //指标id
|
|
|
|
+ // nonarr.push(obj)
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ that.nonQuantifiedList = datas.data.nonQuantifiedList.length>0?datas.data.nonQuantifiedList:[]
|
|
}
|
|
}
|
|
})
|
|
})
|
|
},
|
|
},
|
|
|
|
+ addTableDetail() {
|
|
|
|
+ let obj = {
|
|
|
|
+ showInput: true,
|
|
|
|
+ stageName: '',
|
|
|
|
+ sectionName: '',
|
|
|
|
+ organizationName: '',
|
|
|
|
+ deptName: '',
|
|
|
|
+ typeName: '',
|
|
|
|
+ optionName: '',
|
|
|
|
+ nonQuantifiedValue: ''
|
|
|
|
+ }
|
|
|
|
+ this.nonQuantifiedList.push(obj)
|
|
|
|
+ },
|
|
saveDetail() {
|
|
saveDetail() {
|
|
let that = this
|
|
let that = this
|
|
let params = []
|
|
let params = []
|
|
@@ -193,10 +365,31 @@ export default {
|
|
})
|
|
})
|
|
} else {
|
|
} else {
|
|
that.nonQuantifiedList.forEach(item =>{
|
|
that.nonQuantifiedList.forEach(item =>{
|
|
- let obj = {
|
|
|
|
- id: item.id,
|
|
|
|
- isQuantified: '否',
|
|
|
|
- nonQuantifiedValue: item.nonQuantifiedValue
|
|
|
|
|
|
+ let obj = {}
|
|
|
|
+ if (item.showInput) {
|
|
|
|
+ obj = {
|
|
|
|
+ deptResponsibilityId: that.rowMsg.id,
|
|
|
|
+ isQuantified: '否',
|
|
|
|
+ organizationEvaluationRuleId: item.organizationName, //单位id
|
|
|
|
+ // typeName: item.typeName,
|
|
|
|
+ // deptName: item.deptName,
|
|
|
|
+ // stageName: item.stageName,
|
|
|
|
+ // sectionName: item.sectionName,
|
|
|
|
+ quantifiedValue: 0.0,
|
|
|
|
+ indicatorId: item.childName, //指标id
|
|
|
|
+ optionCode: 'ZRMB', // 指标项
|
|
|
|
+ nonQuantifiedValue: item.nonQuantifiedValue
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ obj = {
|
|
|
|
+ deptResponsibilityId: item.id,
|
|
|
|
+ isQuantified: '否',
|
|
|
|
+ organizationEvaluationRuleId: item.organizationEvaluationRuleId,
|
|
|
|
+ quantifiedValue: 0.0,
|
|
|
|
+ indicatorId: item.indicatorId,
|
|
|
|
+ optionCode: 'ZRMB', // 指标项
|
|
|
|
+ nonQuantifiedValue: item.nonQuantifiedValue
|
|
|
|
+ }
|
|
}
|
|
}
|
|
params.push(obj)
|
|
params.push(obj)
|
|
})
|
|
})
|
|
@@ -288,7 +481,7 @@ export default {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
.add{
|
|
.add{
|
|
- cursor: no-drop;
|
|
|
|
|
|
+ cursor: pointer;
|
|
span{
|
|
span{
|
|
color: #3B7AD1;
|
|
color: #3B7AD1;
|
|
}
|
|
}
|