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

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 { export default {
name: 'formList', name: 'formList-1',
components: { components: {
ProcessTitle, ProcessTitle,
}, },
@@ -492,7 +492,7 @@ export default {
default: false default: false
}, },
verifySarStandard: { verifySarStandard: {
type: Boolean, type: [Boolean,String],
default: false default: false
}, },
opinionsShow: { opinionsShow: {
@@ -6,7 +6,7 @@
</ProcessHeader> </ProcessHeader>
<div class="headerTabs"> <div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div> <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 class="headerTabsItem" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
</div> </div>
<div class="content"> <div class="content">
@@ -65,85 +65,9 @@
</el-collapse> </el-collapse>
</div> </div>
</div> </div>
<!-- <div class="block" id="active2" v-show="active === '2'">--> <div class="block" id="active2" v-show="active === '2'">
<!-- <ProcessTitle>--> <AllScore></AllScore>
<!-- <template slot="title">模块信息</template>--> </div>
<!-- </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" style="padding-top: 20px;" v-show="active === '3'"> <div class="block" style="padding-top: 20px;" v-show="active === '3'">
<div class="flow-list"> <div class="flow-list">
<el-table <el-table
@@ -209,6 +133,7 @@
</div> </div>
<!-- 保存||提交--> <!-- 保存||提交-->
<ProcessFooter <ProcessFooter
v-if="false"
v-show="verifySarStandard" v-show="verifySarStandard"
:show-save="false" :show-save="false"
show-over2 show-over2
@@ -571,6 +496,7 @@
<script> <script>
import formList from './common/formList-1.vue' import formList from './common/formList-1.vue'
import AllScore from "./common/allScore.vue"
import ProcessHeader from '../../components/ProcessHeader' import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter' import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle' import ProcessTitle from '../../components/ProcessTitle'
@@ -578,6 +504,8 @@
import TreeSelect from '@/components/treeSelect/treeSelect.vue'; import TreeSelect from '@/components/treeSelect/treeSelect.vue';
import TreeSelectNew from '@/components/treeSelect/treeSelectNew.vue'; import TreeSelectNew from '@/components/treeSelect/treeSelectNew.vue';
let Base64 = require('js-base64').Base64; let Base64 = require('js-base64').Base64;
import {getEvaluationIndex} from "api/businessApi";
export default { export default {
name: "bussLibrary11", name: "bussLibrary11",
@@ -587,7 +515,8 @@
ProcessFooter, ProcessFooter,
ProcessTitle, ProcessTitle,
TreeSelect, TreeSelect,
TreeSelectNew TreeSelectNew,
AllScore
}, },
data () { data () {
const validateZrUserIdName = (rule, value, callback) => { const validateZrUserIdName = (rule, value, callback) => {
@@ -2329,7 +2258,7 @@
dateArr[1] = processForm.commentCycleEnd dateArr[1] = processForm.commentCycleEnd
this.commentCycleDate = dateArr this.commentCycleDate = dateArr
} }
this.form.commentText = this.formTongGuo.commentText = processForm.commentText
this.getFormFieldList(processForm) this.getFormFieldList(processForm)
this.FBGBUSSFileList=this.assemble(processForm.FBGBUSS,processForm.FBGBUSSName); this.FBGBUSSFileList=this.assemble(processForm.FBGBUSS,processForm.FBGBUSSName);
this.BZSMBUSSFileList=this.assemble(processForm.BZSMBUSS,processForm.BZSMBUSSName); this.BZSMBUSSFileList=this.assemble(processForm.BZSMBUSS,processForm.BZSMBUSSName);
@@ -2373,13 +2302,28 @@
}) })
}) })
}, },
getScore(){ getEvaluation() {
this.axios.get('/api/busProcessEvaluation/evaluationHisListRepSum',{ return new Promise((resolve, reject) => {
params:{ getEvaluationIndex({
pid:this.$route.query.prcId 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 () { mounted () {
this.getData() this.getData()
@@ -2420,7 +2364,6 @@
} }
this.busVsFunc() this.busVsFunc()
this.modelFunc() this.modelFunc()
this.getScore();//评分
} }
} }
@@ -2431,6 +2374,9 @@
/deep/ .el-input__suffix{ /deep/ .el-input__suffix{
display: none !important; display: none !important;
} }
/deep/ .column1{
font-size: 18px !important;
}
/deep/ #active2 .el-form-item__content{ /deep/ #active2 .el-form-item__content{
margin-left: 0px !important; margin-left: 0px !important;
} }