修改 汇总(企标制修订-技术标准)

This commit is contained in:
zyn
2022-12-22 16:39:50 +08:00
parent 1916e3bc49
commit 157989fdcb
3 changed files with 263 additions and 90 deletions
@@ -0,0 +1,227 @@
<template>
<div class="allScore">
<div v-for="item in evaluationDataList" :key="item.id">
<ProcessTitle>
<template slot="title">{{item.taskInfo}}</template>
</ProcessTitle>
<template>
<el-table
:data="item.evaluationData"
:summary-method="getSummaries"
show-summary
:span-method="(({row, column, rowIndex, columnIndex})=>objectSpanMethod({row, column, rowIndex, columnIndex},item.evaluationData))"
style="width: 100%">
<el-table-column label="企业标准编写质量评价表" align="center" label-class-name="column1">
<el-table-column
label="标准类别"
>
<el-table-column
prop="oneIndexTitle"
align="center"
label="一级指标"
width = '120'
>
</el-table-column>
</el-table-column>
<el-table-column
:label="form.standSort"
>
<el-table-column
prop="twoIndexTitle"
align="center"
label="二级指标"
width = '120'
>
</el-table-column>
<el-table-column
prop="threeIndexTitle"
label="三级指标"
width="300"
>
</el-table-column>
</el-table-column>
<el-table-column
label="标准名称"
>
<el-table-column
prop="weight"
align="center"
label="指标权重 %"
width = '100'
>
<template slot-scope="scope">
{{scope.row.valueType === 'number' ? scope.row.weight * 100 : '加分项('+scope.row.weight+'分)'}}
</template>
</el-table-column>
</el-table-column>
<el-table-column
:label="form.standName"
>
<el-table-column
prop="score"
align="center"
label="指标分值10分制8合格68不合格6"
width = '200'
>
<template slot-scope="scope">
<el-form-item
:prop="'evaluationData.'+scope.$index + '.score'" >
<el-input v-model.number="scope.row.score" placeholder="请填写分值" disabled/>
</el-form-item>
</template>
</el-table-column>
<el-table-column
prop="scoreMin"
align="center"
label="分值小计"
width = '80'
>
<template slot-scope="scope">
{{setScoreMin(scope.row)}}
</template>
</el-table-column>
<el-table-column
prop="reason"
align="center"
label="简述扣分理由不合格6必填"
>
<template slot-scope="scope" v-if="(scope.row.valueType !== 'add' && scope.row.score !== undefined && scope.row.score !== '' && scope.row.score < 10)">
<el-form-item
:prop="'evaluationData.'+scope.$index + '.reason'">
<el-input v-model="scope.row.reason" placeholder="请填写扣分理由" disabled/>
</el-form-item>
</template>
</el-table-column>
</el-table-column>
</el-table-column>
</el-table>
</template>
</div>
</div>
</template>
<script>
import ProcessTitle from "../../../components/ProcessTitle";
export default {
name: "allScore",
components: {
ProcessTitle,
},
data(){
return {
evaluationDataList:[],
form:{
standSort:'',
standName:''
}
}
},
mounted(){
// 获取所有评分
this.getScore();
},
methods:{
getScore(){
this.$http.get('lawss/activiti/evaluationHisList', {pid:this.$route.query.prcId}, {
_this: this
}, res => {
if(res){
res.forEach(item => {
const mesg = JSON.parse(item.mesg)
item.evaluationData = mesg;
this.evaluationDataList.push(item)
})
console.log(this.evaluationDataList)
}
})
},
getSummaries(param) {
const { columns, data } = param;
const sums = [];
columns.forEach((column, index) => {
if (index === 3) {
sums[index] = '合计:';
return;
}else if(index === 6){
sums[index] = '';
return;
}
const values = data.map(item => Number(item[column.property]));
if (!values.every(value => isNaN(value))) {
sums[index] = values.reduce((prev, curr) => {
const value = Number(curr);
if (!isNaN(value)) {
return prev + curr;
} else {
return prev;
}
}, 0);
sums[index] += ' ';
} else {
sums[index] = '';
}
if(sums[index] !== '' && sums[index].indexOf(".") !== -1){
sums[index] = parseFloat(sums[index]).toFixed(1);
}
});
if(this.form.evaluationData && this.form.evaluationData.length > 0){
this.form.evaluationData[0].sum = sums[4]
}
return sums;
},
objectSpanMethod({ row, column, rowIndex, columnIndex },value) {
if (columnIndex === 0) {
if (rowIndex === 0) {
return {
rowspan: value.length,
colspan: 1
};
} else {
return {
rowspan: 0,
colspan: 0
};
}
}else if(columnIndex === 1 ) {
const _row = (this.filterData2(value).one)[rowIndex]
const _col = _row > 0 ? 1 : 0
return {
rowspan: _row,
colspan: _col
}
}
},
setScoreMin(row){
return row.scoreMin = ((row.score === undefined || row.score === '') ? '' : row.valueType === 'add' ? row.score : (row.score / 10).toFixed(1))
},
filterData2(value){
let spanOneArr = []
let concatOne = 0
value.forEach((item,index)=>{//循环后端查询出来的数据(orderdata)
if(index === 0){
spanOneArr.push(1)
}else{
//name 修改
if(item.twoIndexTitle === value[index - 1].twoIndexTitle){ //第一列需合并相同内容的字段
spanOneArr[concatOne] += 1
spanOneArr.push(0)
}else{
spanOneArr.push(1)
concatOne = index
}
}
})
return {
one: spanOneArr,
}
},
}
}
</script>
<style scoped>
</style>
@@ -454,7 +454,7 @@ import axios from "axios";
export default {
name: 'formList',
name: 'formList-1',
components: {
ProcessTitle,
},
@@ -492,7 +492,7 @@ export default {
default: false
},
verifySarStandard: {
type: Boolean,
type: [Boolean,String],
default: false
},
opinionsShow: {
@@ -6,7 +6,7 @@
</ProcessHeader>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<!-- <div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">模块信息</div>-->
<div class="headerTabsItem" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">会签评分</div>
<div class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
</div>
<div class="content">
@@ -65,85 +65,9 @@
</el-collapse>
</div>
</div>
<!-- <div class="block" id="active2" v-show="active === '2'">-->
<!-- <ProcessTitle>-->
<!-- <template slot="title">模块信息</template>-->
<!-- </ProcessTitle>-->
<!-- <template>-->
<!-- <div class="prc-content-border" style="height: 66vh;position: relative;">-->
<!-- <div class="action-bar">-->
<!-- <el-button type="primary" class="common-button-primary add-button" size="mini" @click="choiceZRRS('', 2, '')">-->
<!-- 批量编辑-->
<!-- </el-button>-->
<!-- <el-button-->
<!-- type="primary"-->
<!-- size="mini"-->
<!-- class="common-button-primary add-button"-->
<!-- @click="createRow"-->
<!-- >创建模块</el-button>-->
<!-- </div>-->
<!-- <el-table-->
<!-- ref="selection"-->
<!-- tooltip-effect="dark"-->
<!-- style="width: 100%;margin-bottom: 20px;overflow-y:auto;height:56vh;border-bottom: 1px solid #EBEEF5;"-->
<!-- :header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',-->
<!-- fontWeight: 'bold', height: '48px'}"-->
<!-- @selection-change="handleSelectionChange"-->
<!-- row-key="id"-->
<!-- :data="form.modelData"-->
<!-- border-->
<!-- default-expand-all-->
<!-- :tree-props="{children: 'children', hasChildren: 'hasChildren'}">-->
<!-- <el-table-column type="selection" min-width="5%" :selectable="checkSelect" align="center"/>-->
<!-- <el-table-column-->
<!-- prop="modelNum"-->
<!-- label="序号"-->
<!-- min-width="15%"-->
<!-- align="center"-->
<!-- :tree-props="{children: 'children', hasChildren: 'hasChildren'}">-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- label="名称"-->
<!-- align="center"-->
<!-- min-width="30%">-->
<!-- <template slot-scope="scope">-->
<!-- <el-form-item-->
<!-- style="margin-left: 0;margin-bottom:0;"-->
<!-- >-->
<!-- <el-input v-model="scope.row.modelName" :disabled="scope.row.disabled" placeholder="请维护模块名称" @blur="modelNameFunc(scope.row)"/>-->
<!-- </el-form-item>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- label="责任人"-->
<!-- min-width="15%"-->
<!-- align="center">-->
<!-- <template slot-scope="scope">-->
<!-- <el-form-item-->
<!-- style="margin-left: 0;margin-bottom:0;"-->
<!-- >-->
<!-- <el-input v-model="scope.row.zrUserIdName" v-if="scope.row.pid === '0'" placeholder="请选择责任人" @click.native="choiceZRRS(scope.row.zrUserId, 1, scope.$index)"/>-->
<!-- </el-form-item>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="操作" align="center" min-width="5%">-->
<!-- <template slot-scope="scope">-->
<!-- <div @click.stop style="display: inline-block">-->
<!-- <el-dropdown trigger="click" @command="handleCommand">-->
<!-- <i class="iconfont">&#xe61e;</i>-->
<!-- <el-dropdown-menu slot="dropdown">-->
<!-- <el-dropdown-item :command="[scope.$index,scope.row, '新增']" v-btn-permission="''">新增</el-dropdown-item>-->
<!-- <el-dropdown-item :command="[scope.$index,scope.row, '维护']" v-btn-permission="''">维护</el-dropdown-item>-->
<!-- <el-dropdown-item :command="[scope.$index,scope.row, '删除']" v-btn-permission="''">删除</el-dropdown-item>-->
<!-- </el-dropdown-menu>-->
<!-- </el-dropdown>-->
<!-- </div>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- </el-table>-->
<!-- </div>-->
<!-- </template>-->
<!-- </div>-->
<div class="block" id="active2" v-show="active === '2'">
<AllScore></AllScore>
</div>
<div class="block" style="padding-top: 20px;" v-show="active === '3'">
<div class="flow-list">
<el-table
@@ -209,6 +133,7 @@
</div>
<!-- 保存||提交-->
<ProcessFooter
v-if="false"
v-show="verifySarStandard"
:show-save="false"
show-over2
@@ -571,6 +496,7 @@
<script>
import formList from './common/formList-1.vue'
import AllScore from "./common/allScore.vue"
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
@@ -578,6 +504,8 @@
import TreeSelect from '@/components/treeSelect/treeSelect.vue';
import TreeSelectNew from '@/components/treeSelect/treeSelectNew.vue';
let Base64 = require('js-base64').Base64;
import {getEvaluationIndex} from "api/businessApi";
export default {
name: "bussLibrary11",
@@ -587,7 +515,8 @@
ProcessFooter,
ProcessTitle,
TreeSelect,
TreeSelectNew
TreeSelectNew,
AllScore
},
data () {
const validateZrUserIdName = (rule, value, callback) => {
@@ -2329,7 +2258,7 @@
dateArr[1] = processForm.commentCycleEnd
this.commentCycleDate = dateArr
}
this.form.commentText = this.formTongGuo.commentText = processForm.commentText
this.getFormFieldList(processForm)
this.FBGBUSSFileList=this.assemble(processForm.FBGBUSS,processForm.FBGBUSSName);
this.BZSMBUSSFileList=this.assemble(processForm.BZSMBUSS,processForm.BZSMBUSSName);
@@ -2373,13 +2302,28 @@
})
})
},
getScore(){
this.axios.get('/api/busProcessEvaluation/evaluationHisListRepSum',{
params:{
pid:this.$route.query.prcId
getEvaluation() {
return new Promise((resolve, reject) => {
getEvaluationIndex({
indexType: 'quality'
}).then(res => {
if (res) {
const evalList = []
res.data.forEach(item =>{
item.score = ''
item.scoreMin = ''
item.reason = ''
item.userId = this.userId
item.processNode = this.taskInfo
evalList.push(item)
})
this.form.evaluationData = evalList
this.$forceUpdate()
}
}).catch(e => {
})
}
})
},
},
mounted () {
this.getData()
@@ -2420,7 +2364,6 @@
}
this.busVsFunc()
this.modelFunc()
this.getScore();//评分
}
}
@@ -2431,6 +2374,9 @@
/deep/ .el-input__suffix{
display: none !important;
}
/deep/ .column1{
font-size: 18px !important;
}
/deep/ #active2 .el-form-item__content{
margin-left: 0px !important;
}