|
@@ -46,10 +46,10 @@
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<div class="detaTableBtns">
|
|
|
- <!-- <div class="tableBtn add">
|
|
|
+ <div class="tableBtn add" @click="addTableDetail" v-if="activeName === 'second'">
|
|
|
<img :src="addIcon" alt="">
|
|
|
<span>新增</span>
|
|
|
- </div> -->
|
|
|
+ </div>
|
|
|
<div class="tableBtn save" @click="saveDetail">
|
|
|
<img :src="saveIcon" alt="">
|
|
|
<span>保存</span>
|
|
@@ -76,25 +76,146 @@
|
|
|
<el-table-column label="指标项" prop="optionName" v-if="instanceChild.defKey === 'yddwkplc'" />
|
|
|
<el-table-column label="计划值" width="150">
|
|
|
<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" :disabled="!scope.row.updateMark"/>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="单位" prop="unit" />
|
|
|
+ <el-table-column label="审核状态">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-select v-model="scope.row.state" placeholder="请选择审核状态" :disabled="!scope.row.updateMark">
|
|
|
+ <el-option
|
|
|
+ v-for="item in statusData"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.id">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
</el-table>
|
|
|
</el-tab-pane>
|
|
|
<el-tab-pane label="考评评价指标内容" name="second">
|
|
|
<el-table :data="nonQuantifiedList" style="width: 100%">
|
|
|
<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">
|
|
|
+ <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="指标项" prop="optionName">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-input v-model="scope.row.optionName" disabled />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="目标值">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-input v-model="scope.row.nonQuantifiedValue"
|
|
|
+ :disabled="(taskDefKey === 'nddwkplc' && scope.row.showInput) || !scope.row.updateMark" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="审核状态">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-select v-model="scope.row.state" placeholder="请选择审核状态" :disabled="!scope.row.updateMark">
|
|
|
+ <el-option
|
|
|
+ v-for="item in statusData"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.id">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </el-tab-pane>
|
|
|
+ <!-- $utils.havePurview('taskList:twoLevel:see') -->
|
|
|
+ <el-tab-pane label="查看得分" name="three">
|
|
|
+ <el-table :data="pointList" style="width: 100%">
|
|
|
+ <el-table-column type="index" label="序号" width="80" />
|
|
|
<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="childName" v-if="instanceChild.defKey === 'yddwkplc'" />
|
|
|
- <el-table-column label="指标项" prop="optionName" v-if="instanceChild.defKey === 'yddwkplc'" />
|
|
|
- <el-table-column label="计划值" width="150">
|
|
|
+ <el-table-column label="部门名称" prop="keyName" />
|
|
|
+ <el-table-column label="指标名称" prop="indicatorName" />
|
|
|
+ <el-table-column label="业务类别" prop="stageName" width="260" />
|
|
|
+ <el-table-column label="所属板块" prop="sectionName" />
|
|
|
+ <el-table-column label="计算得分" prop="score" />
|
|
|
+ <el-table-column label="折算得分" prop="obversionScore" >
|
|
|
<template #default="scope">
|
|
|
- <el-input v-model="scope.row.nonQuantifiedValue" />
|
|
|
+ <el-input-number v-model="scope.row.obversionScore" :precision="2" :step="0.1" :min="0" />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
@@ -116,7 +237,9 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import {apiGettaskevalStartDetail,apiGettaskmothAyearDetail,apiGetindicatorsaveBatchDto, apiPostIsdoAction, apiPostgetInstanceAndChildren} from '../../api/api'
|
|
|
+import {apiGettaskevalStartDetail,apiGettaskmothAyearDetail,apiGetindicatorsaveBatchDto,
|
|
|
+apiPostIsdoAction, apiPostgetInstanceAndChildren, apiGetindicatorListAll,apiGetscoreCountList,apiPostScoreCountSave,
|
|
|
+ apiGetOrganizationRule, apiGetbinstageList, apiGetIndicatorTypeList, apiGetOrgEvaInfoBatchDto} from '../../api/api'
|
|
|
import addIcon from '../../assets/btnIcon/add.png'
|
|
|
import saveIcon from '../../assets/btnIcon/save.png'
|
|
|
import editIcon from '../../assets/btnIcon/edit.png'
|
|
@@ -129,6 +252,7 @@ export default {
|
|
|
activeName: 'first',
|
|
|
quantifiedList: [],
|
|
|
nonQuantifiedList: [],
|
|
|
+ pointList: [],
|
|
|
changeDateSelect: [],
|
|
|
receiptMsg: {
|
|
|
code: '',
|
|
@@ -146,10 +270,33 @@ export default {
|
|
|
deleteIcon: deleteIcon,
|
|
|
rowMsg: {},
|
|
|
descMsg: '',
|
|
|
- instanceChild: {}
|
|
|
+ instanceChild: {},
|
|
|
+ orgruleData: [],
|
|
|
+ indicatorTypeData: [],
|
|
|
+ stageData: [],
|
|
|
+ sectionNameArr: [],
|
|
|
+ indicItemoptions: [],
|
|
|
+ deptNameArr: [],
|
|
|
+ statusData: [],
|
|
|
+ taskDefKey: '',
|
|
|
+ tastbizKey: ''
|
|
|
}
|
|
|
},
|
|
|
created() {
|
|
|
+ this.statusData = [
|
|
|
+ {
|
|
|
+ name: '已完成',
|
|
|
+ id: '1'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: '待审核',
|
|
|
+ id: '0'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name: '未开始',
|
|
|
+ id: '-1'
|
|
|
+ }
|
|
|
+ ]
|
|
|
},
|
|
|
methods: {
|
|
|
init(row) {
|
|
@@ -158,11 +305,24 @@ export default {
|
|
|
this.instanceChild = {}
|
|
|
this.descMsg = ''
|
|
|
this.getTaskId(row)
|
|
|
+ this.getindList()
|
|
|
this.rowMsg = row
|
|
|
},
|
|
|
handleClick() {
|
|
|
this.changeDateSelect = []
|
|
|
},
|
|
|
+ // 获取得分数据
|
|
|
+ getPointData(id) {
|
|
|
+ let that = this
|
|
|
+ let params = {
|
|
|
+ organizationEvaluationId: id
|
|
|
+ }
|
|
|
+ apiGetscoreCountList(params).then(datas =>{
|
|
|
+ if (datas && datas.data) {
|
|
|
+ that.pointList = datas.data
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
// 根据流程ID获取业务ID
|
|
|
getTaskId(row) {
|
|
|
let that = this
|
|
@@ -174,7 +334,10 @@ export default {
|
|
|
if (datas && datas.data) {
|
|
|
that.instanceChild = datas.data.data.bpmInstance
|
|
|
let keyId = datas.data.data.bpmInstance.bizKey
|
|
|
+ that.tastbizKey = datas.data.data.bpmInstance.bizKey
|
|
|
+ that.taskDefKey = datas.data.data.bpmInstance.defKey
|
|
|
that.getevalStartDetails(keyId, that.instanceChild.defKey)
|
|
|
+ that.getOrgRule(keyId, that.instanceChild.defKey)
|
|
|
}
|
|
|
})
|
|
|
},
|
|
@@ -193,6 +356,36 @@ export default {
|
|
|
that.getDataMsg('dwkpmbqd', datas)
|
|
|
})
|
|
|
}
|
|
|
+ that.getPointData(id)
|
|
|
+ },
|
|
|
+ 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
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 考评评价指标内容
|
|
|
+ getOrgRule(id, type) {
|
|
|
+ let that = this
|
|
|
+ let params = {
|
|
|
+ id: id,
|
|
|
+ type: type === 'dwkpmbqd' ? 'mb' : 'kp'
|
|
|
+ }
|
|
|
+ apiGetOrganizationRule(params).then(datas =>{
|
|
|
+ if (datas && datas.data) {
|
|
|
+ that.orgruleData = datas.data
|
|
|
+ }
|
|
|
+ })
|
|
|
},
|
|
|
getDataMsg(type, datas) {
|
|
|
if (datas && datas.data) {
|
|
@@ -211,6 +404,60 @@ export default {
|
|
|
this.nonQuantifiedList = item.map.nonQuantifiedList
|
|
|
}
|
|
|
},
|
|
|
+ changeOrgZa(val) {
|
|
|
+ this.sectionNameArr = []
|
|
|
+ this.orgruleData.forEach(item =>{
|
|
|
+ if (item.id === val) {
|
|
|
+ let obj = {
|
|
|
+ id: item.binSection,
|
|
|
+ secName: item.binSectionName
|
|
|
+ }
|
|
|
+ this.sectionNameArr.push(obj)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ changeIndic(val, row) {
|
|
|
+ if (row.stageName !== '' && row.sectionName !== '') {
|
|
|
+ this.getIndListAll(row)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ changeDept(val) {
|
|
|
+ this.deptNameArr = []
|
|
|
+ this.indicItemoptions.forEach(item =>{
|
|
|
+ if (item.id === val) {
|
|
|
+ let obj = {
|
|
|
+ id: item.dept,
|
|
|
+ deptName: item.deptName
|
|
|
+ }
|
|
|
+ this.deptNameArr.push(obj)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ 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
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ addTableDetail() {
|
|
|
+ let obj = {
|
|
|
+ showInput: true,
|
|
|
+ stageName: '',
|
|
|
+ sectionName: '',
|
|
|
+ organizationName: '',
|
|
|
+ deptName: '',
|
|
|
+ typeName: '',
|
|
|
+ optionName: '',
|
|
|
+ nonQuantifiedValue: ''
|
|
|
+ }
|
|
|
+ this.nonQuantifiedList.unshift(obj)
|
|
|
+ },
|
|
|
saveDetail() {
|
|
|
let that = this
|
|
|
let params = []
|
|
@@ -219,29 +466,76 @@ export default {
|
|
|
let obj = {
|
|
|
id: item.id,
|
|
|
isQuantified: '是',
|
|
|
- quantifiedValue: item.quantifiedValue
|
|
|
+ quantifiedValue: item.quantifiedValue,
|
|
|
+ state: item.state
|
|
|
}
|
|
|
params.push(obj)
|
|
|
})
|
|
|
- } else {
|
|
|
+ } else if(that.activeName === 'second') {
|
|
|
that.nonQuantifiedList.forEach(item =>{
|
|
|
let obj = {
|
|
|
- id: item.id,
|
|
|
isQuantified: '否',
|
|
|
- nonQuantifiedValue: item.nonQuantifiedValue
|
|
|
+ quantifiedValue: 0.0,
|
|
|
+ optionCode: 'ZRMB', // 指标项
|
|
|
+ nonQuantifiedValue: item.nonQuantifiedValue,
|
|
|
+ state: item.state
|
|
|
+ }
|
|
|
+ if (that.taskDefKey === 'dwkpmbqd') {
|
|
|
+ obj.deptResponsibilityId = that.tastbizKey
|
|
|
+ } else {
|
|
|
+ obj.organizationEvaluationId = that.tastbizKey
|
|
|
+ }
|
|
|
+ if (item.showInput) {
|
|
|
+ obj.organizationEvaluationRuleId = item.organizationName //单位id
|
|
|
+ obj.indicatorId = item.childName //指标id
|
|
|
+
|
|
|
+ } else {
|
|
|
+ obj.id = item.id
|
|
|
+ obj.organizationEvaluationRuleId = item.organizationEvaluationRuleId
|
|
|
+ obj.indicatorId = item.indicatorId
|
|
|
+ }
|
|
|
+ params.push(obj)
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ that.pointList.forEach(item =>{
|
|
|
+ let obj = {
|
|
|
+ id: item.id,
|
|
|
+ obversionScore: item.obversionScore
|
|
|
}
|
|
|
params.push(obj)
|
|
|
})
|
|
|
}
|
|
|
- apiGetindicatorsaveBatchDto(params).then(datas =>{
|
|
|
- if (datas && datas.success) {
|
|
|
- that.$message({
|
|
|
+ if (that.activeName === 'first' || that.activeName === 'second') {
|
|
|
+ if (that.taskDefKey === 'dwkpmbqd') {
|
|
|
+ apiGetindicatorsaveBatchDto(params).then(datas =>{
|
|
|
+ that.getsaveDataMsg(datas)
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ apiGetOrgEvaInfoBatchDto(params).then(datas =>{
|
|
|
+ that.getsaveDataMsg(datas)
|
|
|
+ })
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ apiPostScoreCountSave(params).then(datas =>{
|
|
|
+ that.getsaveDataMsg(datas)
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ getsaveDataMsg(datas) {
|
|
|
+ if (datas) {
|
|
|
+ if (datas.success) {
|
|
|
+ this.$message({
|
|
|
message: '保存成功',
|
|
|
type: 'success'
|
|
|
});
|
|
|
- that.getDetails(that.rowMsg.id)
|
|
|
+ this.getevalStartDetails(this.tastbizKey, this.taskDefKey)
|
|
|
+ } else {
|
|
|
+ this.$message({
|
|
|
+ message: datas.data,
|
|
|
+ type: 'error'
|
|
|
+ })
|
|
|
}
|
|
|
- })
|
|
|
+ }
|
|
|
},
|
|
|
examineAndApprove(type) {
|
|
|
let that = this
|
|
@@ -364,7 +658,7 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
.add{
|
|
|
- cursor: no-drop;
|
|
|
+ cursor: pointer;
|
|
|
span{
|
|
|
color: #3B7AD1;
|
|
|
}
|