feat: There is no way the,

This commit is contained in:
super_liu
2022-01-07 15:49:18 +08:00
parent 27677c2402
commit 0beab0eabf
14 changed files with 409 additions and 298 deletions
@@ -627,12 +627,22 @@
</el-form-item> </el-form-item>
</el-card> </el-card>
</el-timeline-item> </el-timeline-item>
<el-timeline-item timestamp="发布" prop="pxUserName" placement="top" :color="roleForm.pxUserName ? '#66b1ff' : ''"> <el-timeline-item timestamp="培训" placement="top" :color="roleForm.pxUserName ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="hzUserName" style="margin-bottom: 0">
<h4>主起草人培训</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input disabled v-model="roleForm.pxUserName" readonly="readonly" clearable placeholder="主起草人培训"></el-input>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="发布" prop="pxUserName" placement="top" :color="roleForm.fbUserName ? '#66b1ff' : ''">
<el-card> <el-card>
<el-form-item prop="pxUserName" style="margin-bottom: 0"> <el-form-item prop="pxUserName" style="margin-bottom: 0">
<h4>标准法规部标准化工程师发布人员</h4> <h4>标准法规部标准化工程师发布人员</h4>
<div style="margin-top: 10px;width: 300px;"> <div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.pxUserName" readonly="readonly" placeholder="选择标准法规部标准化工程师" @click.native="choiceZRR('pxUserId', '选择标准法规部标准化工程师发布人员', roleForm.pxUserId)"></el-input> <el-input v-model="roleForm.fbUserName" readonly="readonly" placeholder="选择标准法规部标准化工程师" @click.native="choiceZRR('fbUserId', '选择标准法规部标准化工程师发布人员', roleForm.fbUserId)"></el-input>
</div> </div>
</el-form-item> </el-form-item>
</el-card> </el-card>
@@ -1381,8 +1391,10 @@
hzUserName: this.$store.getters.userInfo.userName, hzUserName: this.$store.getters.userInfo.userName,
xdUserId: this.$store.getters.userInfo.userId, xdUserId: this.$store.getters.userInfo.userId,
xdUserName: this.$store.getters.userInfo.userName, xdUserName: this.$store.getters.userInfo.userName,
pxUserId: '', pxUserId: this.$store.getters.userInfo.userId,
pxUserName: '', pxUserName: this.$store.getters.userInfo.userName,
fbUserId: '',
fbUserName: '',
qcUserId: '', // 多实例 qcUserId: '', // 多实例
qcUserName:'', // 多实例 qcUserName:'', // 多实例
bzhUserId:'', bzhUserId:'',
@@ -1738,6 +1750,19 @@
this.form.QCRBUSSID=idList; this.form.QCRBUSSID=idList;
this.form.QCRBUSS=nameList; this.form.QCRBUSS=nameList;
} }
if(data !== undefined && data && data.length > 0){
const institutionIdList = this.unique(data.map(item => item.institutionId)).join(",")
const institutionNameList = this.unique(data.map(item => item.institutionName)).join(",")
this.form.QCDWID = institutionIdList
this.form.QCDW = institutionNameList
}
this.modalShowRoleFlag = false
},
unique(newArr) {
const res = new Map();
return newArr.filter((newArr) => !res.has(newArr) && res.set(newArr, 1));
}, },
checkedRole (data) { checkedRole (data) {
if (this.type === 0) { if (this.type === 0) {
@@ -1780,6 +1805,9 @@
}else if(this.userType === 'pxUserId'){ }else if(this.userType === 'pxUserId'){
this.roleForm.pxUserId = data[0].id this.roleForm.pxUserId = data[0].id
this.roleForm.pxUserName = data[0].name this.roleForm.pxUserName = data[0].name
}else if(this.userType === 'fbUserId'){
this.roleForm.fbUserId = data[0].id
this.roleForm.fbUserName = data[0].name
} }
this.modalShowFlag = false this.modalShowFlag = false
}, },
@@ -2519,16 +2547,16 @@
this.form.QCDW = nameList this.form.QCDW = nameList
this.form.QCDWID = idList this.form.QCDWID = idList
if(this.form.QCDWID !== undefined && this.form.QCDWID && this.form.QCDWID.length > 0){ // if(this.form.QCDWID !== undefined && this.form.QCDWID && this.form.QCDWID.length > 0){
this.$http.get('SarInstitution/institution/getInstitutionIdToDept', {institutionIds:this.form.QCDWID}, { // this.$http.get('SarInstitution/institution/getInstitutionIdToDept', {institutionIds:this.form.QCDWID}, {
_this: this, // _this: this,
}, res=> { // }, res=> {
if(res){ // if(res){
this.form.QCRBUSSID = res.map(item => item.id).join(",") // this.form.QCRBUSSID = res.map(item => item.id).join(",")
this.form.QCRBUSS = res.map(item => item.name).join(",") // this.form.QCRBUSS = res.map(item => item.name).join(",")
} // }
}) // })
} // }
}, },
popoverHideBusVs (checkedIds, checkedData,isShow,isLoadChild,topId) { popoverHideBusVs (checkedIds, checkedData,isShow,isLoadChild,topId) {
@@ -865,6 +865,8 @@
xdUserName: this.$store.getters.userInfo.userName, xdUserName: this.$store.getters.userInfo.userName,
pxUserId: this.$store.getters.userInfo.userId, pxUserId: this.$store.getters.userInfo.userId,
pxUserName: this.$store.getters.userInfo.userName, pxUserName: this.$store.getters.userInfo.userName,
fbUserId: '',
fbUserName: '',
qcUserId: '', // 多实例 qcUserId: '', // 多实例
qcUserName:'', // 多实例 qcUserName:'', // 多实例
bzhUserId:'', bzhUserId:'',
@@ -864,6 +864,8 @@
xdUserName: this.$store.getters.userInfo.userName, xdUserName: this.$store.getters.userInfo.userName,
pxUserId: this.$store.getters.userInfo.userId, pxUserId: this.$store.getters.userInfo.userId,
pxUserName: this.$store.getters.userInfo.userName, pxUserName: this.$store.getters.userInfo.userName,
fbUserId: '',
fbUserName: '',
qcUserId: '', // 多实例 qcUserId: '', // 多实例
qcUserName:'', // 多实例 qcUserName:'', // 多实例
bzhUserId:'', bzhUserId:'',
@@ -855,6 +855,8 @@
xdUserName: this.$store.getters.userInfo.userName, xdUserName: this.$store.getters.userInfo.userName,
pxUserId: this.$store.getters.userInfo.userId, pxUserId: this.$store.getters.userInfo.userId,
pxUserName: this.$store.getters.userInfo.userName, pxUserName: this.$store.getters.userInfo.userName,
fbUserId: '',
fbUserName: '',
qcUserId: '', // 多实例 qcUserId: '', // 多实例
qcUserName:'', // 多实例 qcUserName:'', // 多实例
bzhUserId:'', bzhUserId:'',
@@ -855,6 +855,8 @@
xdUserName: this.$store.getters.userInfo.userName, xdUserName: this.$store.getters.userInfo.userName,
pxUserId: this.$store.getters.userInfo.userId, pxUserId: this.$store.getters.userInfo.userId,
pxUserName: this.$store.getters.userInfo.userName, pxUserName: this.$store.getters.userInfo.userName,
fbUserId: '',
fbUserName: '',
qcUserId: '', // 多实例 qcUserId: '', // 多实例
qcUserName:'', // 多实例 qcUserName:'', // 多实例
bzhUserId:'', bzhUserId:'',
@@ -921,6 +921,8 @@
xdUserName: this.$store.getters.userInfo.userName, xdUserName: this.$store.getters.userInfo.userName,
pxUserId: this.$store.getters.userInfo.userId, pxUserId: this.$store.getters.userInfo.userId,
pxUserName: this.$store.getters.userInfo.userName, pxUserName: this.$store.getters.userInfo.userName,
fbUserId: '',
fbUserName: '',
qcUserId: '', // 多实例 qcUserId: '', // 多实例
qcUserName:'', // 多实例 qcUserName:'', // 多实例
bzhUserId:'', bzhUserId:'',
@@ -1129,16 +1131,16 @@
}) })
this.form.QCDW = nameList this.form.QCDW = nameList
this.form.QCDWID = idList this.form.QCDWID = idList
if(this.form.QCDWID !== undefined && this.form.QCDWID && this.form.QCDWID.length > 0){ // if(this.form.QCDWID !== undefined && this.form.QCDWID && this.form.QCDWID.length > 0){
this.$http.get('SarInstitution/institution/getInstitutionIdToDept', {institutionIds:this.form.QCDWID}, { // this.$http.get('SarInstitution/institution/getInstitutionIdToDept', {institutionIds:this.form.QCDWID}, {
_this: this, // _this: this,
}, res=> { // }, res=> {
if(res){ // if(res){
this.form.QCRBUSSID = res.map(item => item.id).join(",") // this.form.QCRBUSSID = res.map(item => item.id).join(",")
this.form.QCRBUSS = res.map(item => item.name).join(",") // this.form.QCRBUSS = res.map(item => item.name).join(",")
} // }
}) // })
} // }
this.formKey++ this.formKey++
}, },
choiceQCDW(type, title, id) { choiceQCDW(type, title, id) {
@@ -1337,6 +1339,14 @@
this.form.QCRBUSS=nameList; this.form.QCRBUSS=nameList;
this.formKey++ this.formKey++
} }
if(data !== undefined && data && data.length > 0){
const institutionIdList = this.unique(data.map(item => item.institutionId)).join(",")
const institutionNameList = this.unique(data.map(item => item.institutionName)).join(",")
this.form.QCDWID = institutionIdList
this.form.QCDW = institutionNameList
}
this.modalShowRoleFlag = false
}, },
checkedRole (data) { checkedRole (data) {
if (this.type === 0) { if (this.type === 0) {
@@ -860,6 +860,8 @@
xdUserName: this.$store.getters.userInfo.userName, xdUserName: this.$store.getters.userInfo.userName,
pxUserId: this.$store.getters.userInfo.userId, pxUserId: this.$store.getters.userInfo.userId,
pxUserName: this.$store.getters.userInfo.userName, pxUserName: this.$store.getters.userInfo.userName,
fbUserId: '',
fbUserName: '',
qcUserId: '', // 多实例 qcUserId: '', // 多实例
qcUserName:'', // 多实例 qcUserName:'', // 多实例
bzhUserId:'', bzhUserId:'',
@@ -997,6 +997,8 @@
xdUserName: this.$store.getters.userInfo.userName, xdUserName: this.$store.getters.userInfo.userName,
pxUserId: this.$store.getters.userInfo.userId, pxUserId: this.$store.getters.userInfo.userId,
pxUserName: this.$store.getters.userInfo.userName, pxUserName: this.$store.getters.userInfo.userName,
fbUserId: '',
fbUserName: '',
qcUserId: '', // 多实例 qcUserId: '', // 多实例
qcUserName:'', // 多实例 qcUserName:'', // 多实例
bzhUserId:'', bzhUserId:'',
@@ -5,7 +5,8 @@
<template slot="proNode">技术委员会评审/评审意见修改评审</template> <template slot="proNode">技术委员会评审/评审意见修改评审</template>
</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 === '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>
@@ -17,7 +18,135 @@
class="label-input-form" class="label-input-form"
label-width="210px" label-width="210px"
> >
<div style="flex: auto;" v-show="active === '1'"> <div style="flex: auto;" id="active1" v-show="active === '1'">
<template>
<el-table
:data="form.evaluationData"
:summary-method="getSummaries"
show-summary
:span-method="(({row, column, rowIndex, columnIndex})=>objectSpanMethod({row, column, rowIndex, columnIndex},form.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'"
:rules="scope.row.valueType !== 'add' ? rules.score : rules.scoreNot" >
<el-input v-model.number="scope.row.score" placeholder="请填写分值" />
</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'"
:rules="scope.row.score < 6 ? rules.reason : rules.reasonNot" >
<el-input v-model="scope.row.reason" placeholder="请填写扣分理由" />
</el-form-item>
</template>
</el-table-column>
</el-table-column>
</el-table-column>
</el-table>
</template>
<div>
<el-collapse accordion v-model="activeName">
<el-collapse-item title="审批意见" name = "1">
<div style="margin: 10px 0;">
<el-form
ref="formTongGuo"
:model="formTongGuo"
:rules="rules">
<!-- <el-form-item-->
<!-- prop="approvalOpinion"-->
<!-- >-->
<!-- <el-select @change="getRule" v-model="formTongGuo.approvalOpinion" placeholder="请审批" style="margin-bottom: 20px;">-->
<!-- <el-option label="驳回" value="1"></el-option>-->
<!-- <el-option label="通过" value="0"></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item
prop="commentText"
>
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="formTongGuo.commentText">
</el-input>
</el-form-item>
</el-form>
</div>
</el-collapse-item>
</el-collapse>
</div>
</div>
<div style="flex: auto;" v-show="active === '2'">
<formEditList <formEditList
:key = "formKey" :key = "formKey"
:formSub = "form" :formSub = "form"
@@ -148,38 +277,6 @@
</el-row> </el-row>
</div> </div>
</template> </template>
<div>
<el-collapse accordion v-model="activeName">
<el-collapse-item title="审批意见" name = "1">
<div style="margin: 10px 0;">
<el-form
ref="formTongGuo"
:model="formTongGuo"
:rules="rules">
<!-- <el-form-item-->
<!-- prop="approvalOpinion"-->
<!-- >-->
<!-- <el-select @change="getRule" v-model="formTongGuo.approvalOpinion" placeholder="请审批" style="margin-bottom: 20px;">-->
<!-- <el-option label="驳回" value="1"></el-option>-->
<!-- <el-option label="通过" value="0"></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item
prop="commentText"
>
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="formTongGuo.commentText">
</el-input>
</el-form-item>
</el-form>
</div>
</el-collapse-item>
</el-collapse>
</div>
</div> </div>
<!-- <div class="block" id="active2" v-show="active === '2'">--> <!-- <div class="block" id="active2" v-show="active === '2'">-->
<!-- <ProcessTitle>--> <!-- <ProcessTitle>-->
@@ -696,6 +793,7 @@
import {saveTaskFirst, queryTaskFirst, getBusStandFileByAttId,inboundLiaisonDetail,processModelHisOneCount} from "api/process"; import {saveTaskFirst, queryTaskFirst, getBusStandFileByAttId,inboundLiaisonDetail,processModelHisOneCount} from "api/process";
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';
import {getEvaluationIndex} from "api/businessApi";
let Base64 = require('js-base64').Base64; let Base64 = require('js-base64').Base64;
export default { export default {
@@ -718,6 +816,25 @@
} }
}, },
data () { data () {
const numberCodeNot = (rule, value, callback) => {
let pattern = /^[1]*$/
if (!pattern.test(value)) {
return callback(new Error('评分分值只可为1分'))
} else {
callback()
}
};
const numberCode = (rule, value, callback) => {
if(value === undefined || value === ''){
return callback(new Error('评分分值不可为空'))
}
let pattern = /^[0-9]*$/
if (!pattern.test(value)) {
return callback(new Error('只能输入数字'))
} else {
callback()
}
};
const validateZrUserIdName = (rule, value, callback) => { const validateZrUserIdName = (rule, value, callback) => {
if(this.FBGBUSSFileList.length === 0){ if(this.FBGBUSSFileList.length === 0){
callback(new Error('请上传发布稿文件!')) callback(new Error('请上传发布稿文件!'))
@@ -925,6 +1042,7 @@
countryArr:'', countryArr:'',
commentCycleDate:'', commentCycleDate:'',
form: { form: {
evaluationData:[],
planId:'', planId:'',
planStatus:'', planStatus:'',
reviseStatus:'', reviseStatus:'',
@@ -995,6 +1113,8 @@
xdUserName: this.$store.getters.userInfo.userName, xdUserName: this.$store.getters.userInfo.userName,
pxUserId: this.$store.getters.userInfo.userId, pxUserId: this.$store.getters.userInfo.userId,
pxUserName: this.$store.getters.userInfo.userName, pxUserName: this.$store.getters.userInfo.userName,
fbUserId: '',
fbUserName: '',
qcUserId: '', // 多实例 qcUserId: '', // 多实例
qcUserName:'', // 多实例 qcUserName:'', // 多实例
bzhUserId:'', bzhUserId:'',
@@ -1055,6 +1175,15 @@
], ],
}, },
rules:{ rules:{
scoreNot:[
{required: false, validator: numberCodeNot, trigger: 'blur'},
],
score: [
{required: true, validator: numberCode, trigger: 'blur'},
{ type: 'number',min: 0, max: 10, message: '分值 0 ~ 10 分 ', trigger: 'blur' },
],
reason: [{ required: true, message: '请填写扣分理由', trigger: 'blur' }],
reasonNot:[],
commentText: [{ required: true, message: '请输入意见', trigger: 'blur' }], commentText: [{ required: true, message: '请输入意见', trigger: 'blur' }],
approvalOpinion: [{ required: true, message: '请选择审批意见', trigger: 'change' }], approvalOpinion: [{ required: true, message: '请选择审批意见', trigger: 'change' }],
zrUserIdName: [ zrUserIdName: [
@@ -1195,6 +1324,84 @@
}, },
}, },
methods: { methods: {
filterData2(){
let spanOneArr = []
let concatOne = 0
this.form.evaluationData.forEach((item,index)=>{//循环后端查询出来的数据(orderdata)
if(index === 0){
spanOneArr.push(1)
}else{
//name 修改
if(item.twoIndexTitle === this.form.evaluationData[index - 1].twoIndexTitle){ //第一列需合并相同内容的字段
spanOneArr[concatOne] += 1
spanOneArr.push(0)
}else{
spanOneArr.push(1)
concatOne = index
}
}
})
return {
one: spanOneArr,
}
},
setScoreMin(row){
return row.scoreMin = ((row.score === undefined || row.score === '') ? '' : row.valueType === 'add' ? row.score : (row.score / 10).toFixed(1))
},
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);
}
});
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(this.form.evaluationData).one)[rowIndex]
const _col = _row > 0 ? 1 : 0
return {
rowspan: _row,
colspan: _col
}
}
},
drawerCheckZRBM(data) { drawerCheckZRBM(data) {
let idList = '' let idList = ''
let nameList = '' let nameList = ''
@@ -1210,16 +1417,16 @@
}) })
this.form.QCDW = nameList this.form.QCDW = nameList
this.form.QCDWID = idList this.form.QCDWID = idList
if(this.form.QCDWID !== undefined && this.form.QCDWID && this.form.QCDWID.length > 0){ // if(this.form.QCDWID !== undefined && this.form.QCDWID && this.form.QCDWID.length > 0){
this.$http.get('SarInstitution/institution/getInstitutionIdToDept', {institutionIds:this.form.QCDWID}, { // this.$http.get('SarInstitution/institution/getInstitutionIdToDept', {institutionIds:this.form.QCDWID}, {
_this: this, // _this: this,
}, res=> { // }, res=> {
if(res){ // if(res){
this.form.QCRBUSSID = res.map(item => item.id).join(",") // this.form.QCRBUSSID = res.map(item => item.id).join(",")
this.form.QCRBUSS = res.map(item => item.name).join(",") // this.form.QCRBUSS = res.map(item => item.name).join(",")
} // }
}) // })
} // }
this.formKey++ this.formKey++
}, },
choiceQCDW(type, title, id) { choiceQCDW(type, title, id) {
@@ -1418,6 +1625,14 @@
this.form.QCRBUSS=nameList; this.form.QCRBUSS=nameList;
this.formKey++ this.formKey++
} }
if(data !== undefined && data && data.length > 0){
const institutionIdList = this.unique(data.map(item => item.institutionId)).join(",")
const institutionNameList = this.unique(data.map(item => item.institutionName)).join(",")
this.form.QCDWID = institutionIdList
this.form.QCDW = institutionNameList
}
this.modalShowRoleFlag = false
}, },
checkedRole (data) { checkedRole (data) {
if (this.type === 0) { if (this.type === 0) {
@@ -2579,6 +2794,8 @@
getFormFieldList (item) { getFormFieldList (item) {
this.$nextTick(() => { this.$nextTick(() => {
this.form = JSON.parse(JSON.stringify(item)) this.form = JSON.parse(JSON.stringify(item))
this.form.evaluationData = []
this.getEvaluation()
this.form.prcNum = this.prcNum this.form.prcNum = this.prcNum
this.form.prcName = this.prcName this.form.prcName = this.prcName
this.form['id'] = item.id this.form['id'] = item.id
@@ -2596,6 +2813,28 @@
} }
return list; return list;
}, },
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 => {
})
})
},
getData() { getData() {
if(this.taskIds && this.pId){ if(this.taskIds && this.pId){
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
@@ -983,6 +983,8 @@
xdUserName: this.$store.getters.userInfo.userName, xdUserName: this.$store.getters.userInfo.userName,
pxUserId: this.$store.getters.userInfo.userId, pxUserId: this.$store.getters.userInfo.userId,
pxUserName: this.$store.getters.userInfo.userName, pxUserName: this.$store.getters.userInfo.userName,
fbUserId: '',
fbUserName: '',
qcUserId: '', // 多实例 qcUserId: '', // 多实例
qcUserName:'', // 多实例 qcUserName:'', // 多实例
bzhUserId:'', bzhUserId:'',
@@ -5,8 +5,7 @@
<template slot="proNode">起草单位高级经理审核</template> <template slot="proNode">起草单位高级经理审核</template>
</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 === '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>
@@ -18,135 +17,7 @@
class="label-input-form" class="label-input-form"
label-width="210px" label-width="210px"
> >
<div style="flex: auto;" id="active1" v-show="active === '1'"> <div style="flex: auto;" v-show="active === '1'">
<template>
<el-table
:data="form.evaluationData"
:summary-method="getSummaries"
show-summary
:span-method="(({row, column, rowIndex, columnIndex})=>objectSpanMethod({row, column, rowIndex, columnIndex},form.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'"
:rules="scope.row.valueType !== 'add' ? rules.score : rules.scoreNot" >
<el-input v-model.number="scope.row.score" placeholder="请填写分值" />
</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'"
:rules="scope.row.score < 6 ? rules.reason : rules.reasonNot" >
<el-input v-model="scope.row.reason" placeholder="请填写扣分理由" />
</el-form-item>
</template>
</el-table-column>
</el-table-column>
</el-table-column>
</el-table>
</template>
<div>
<el-collapse accordion v-model="activeName">
<el-collapse-item title="审批意见" name = "1">
<div style="margin: 10px 0;">
<el-form
ref="formTongGuo"
:model="formTongGuo"
:rules="rules">
<!-- <el-form-item-->
<!-- prop="approvalOpinion"-->
<!-- >-->
<!-- <el-select @change="getRule" v-model="formTongGuo.approvalOpinion" placeholder="请审批" style="margin-bottom: 20px;">-->
<!-- <el-option label="驳回" value="1"></el-option>-->
<!-- <el-option label="通过" value="0"></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item
prop="commentText"
>
<el-input
type="textarea"
:rows="3"
resize="none"
placeholder="请输入意见"
v-model="formTongGuo.commentText">
</el-input>
</el-form-item>
</el-form>
</div>
</el-collapse-item>
</el-collapse>
</div>
</div>
<div style="flex: auto;" v-show="active === '2'">
<formList <formList
:form = "form" :form = "form"
:FBGBUSSFileList = "FBGBUSSFileList" :FBGBUSSFileList = "FBGBUSSFileList"
@@ -160,85 +31,6 @@
:opinionsShow = "true" :opinionsShow = "true"
></formList> ></formList>
</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" 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
@@ -985,6 +777,8 @@
xdUserName: this.$store.getters.userInfo.userName, xdUserName: this.$store.getters.userInfo.userName,
pxUserId: this.$store.getters.userInfo.userId, pxUserId: this.$store.getters.userInfo.userId,
pxUserName: this.$store.getters.userInfo.userName, pxUserName: this.$store.getters.userInfo.userName,
fbUserId: '',
fbUserName: '',
qcUserId: '', // 多实例 qcUserId: '', // 多实例
qcUserName:'', // 多实例 qcUserName:'', // 多实例
bzhUserId:'', bzhUserId:'',
@@ -985,6 +985,8 @@
xdUserName: this.$store.getters.userInfo.userName, xdUserName: this.$store.getters.userInfo.userName,
pxUserId: this.$store.getters.userInfo.userId, pxUserId: this.$store.getters.userInfo.userId,
pxUserName: this.$store.getters.userInfo.userName, pxUserName: this.$store.getters.userInfo.userName,
fbUserId: '',
fbUserName: '',
qcUserId: '', // 多实例 qcUserId: '', // 多实例
qcUserName:'', // 多实例 qcUserName:'', // 多实例
bzhUserId:'', bzhUserId:'',
@@ -909,6 +909,10 @@
GLWJBUSS: '', GLWJBUSS: '',
GLWJBUSSName: '', GLWJBUSSName: '',
XCSJBUSS: '', XCSJBUSS: '',
CBCD:'',
CYBZ:'',
YYBZ:'',
standNum:'',
}, // 标准信息 }, // 标准信息
roleForm:{ roleForm:{
hzUserId: this.$store.getters.userInfo.userId, hzUserId: this.$store.getters.userInfo.userId,
@@ -1125,16 +1129,16 @@
}) })
this.form.QCDW = nameList this.form.QCDW = nameList
this.form.QCDWID = idList this.form.QCDWID = idList
if(this.form.QCDWID !== undefined && this.form.QCDWID && this.form.QCDWID.length > 0){ // if(this.form.QCDWID !== undefined && this.form.QCDWID && this.form.QCDWID.length > 0){
this.$http.get('SarInstitution/institution/getInstitutionIdToDept', {institutionIds:this.form.QCDWID}, { // this.$http.get('SarInstitution/institution/getInstitutionIdToDept', {institutionIds:this.form.QCDWID}, {
_this: this, // _this: this,
}, res=> { // }, res=> {
if(res){ // if(res){
this.form.QCRBUSSID = res.map(item => item.id).join(",") // this.form.QCRBUSSID = res.map(item => item.id).join(",")
this.form.QCRBUSS = res.map(item => item.name).join(",") // this.form.QCRBUSS = res.map(item => item.name).join(",")
} // }
}) // })
} // }
this.formKey++ this.formKey++
}, },
choiceQCDW(type, title, id) { choiceQCDW(type, title, id) {
@@ -1333,6 +1337,14 @@
this.form.QCRBUSS=nameList; this.form.QCRBUSS=nameList;
this.formKey++ this.formKey++
} }
if(data !== undefined && data && data.length > 0){
const institutionIdList = this.unique(data.map(item => item.institutionId)).join(",")
const institutionNameList = this.unique(data.map(item => item.institutionName)).join(",")
this.form.QCDWID = institutionIdList
this.form.QCDW = institutionNameList
}
this.modalShowRoleFlag = false
}, },
checkedRole (data) { checkedRole (data) {
if (this.type === 0) { if (this.type === 0) {
@@ -983,6 +983,10 @@
GLWJBUSS: '', GLWJBUSS: '',
GLWJBUSSName: '', GLWJBUSSName: '',
XCSJBUSS: '', XCSJBUSS: '',
CBCD:'',
CYBZ:'',
YYBZ:'',
standNum:'',
}, // 标准信息 }, // 标准信息
roleForm:{ roleForm:{
hzUserId: this.$store.getters.userInfo.userId, hzUserId: this.$store.getters.userInfo.userId,
@@ -1206,16 +1210,16 @@
}) })
this.form.QCDW = nameList this.form.QCDW = nameList
this.form.QCDWID = idList this.form.QCDWID = idList
if(this.form.QCDWID !== undefined && this.form.QCDWID && this.form.QCDWID.length > 0){ // if(this.form.QCDWID !== undefined && this.form.QCDWID && this.form.QCDWID.length > 0){
this.$http.get('SarInstitution/institution/getInstitutionIdToDept', {institutionIds:this.form.QCDWID}, { // this.$http.get('SarInstitution/institution/getInstitutionIdToDept', {institutionIds:this.form.QCDWID}, {
_this: this, // _this: this,
}, res=> { // }, res=> {
if(res){ // if(res){
this.form.QCRBUSSID = res.map(item => item.id).join(",") // this.form.QCRBUSSID = res.map(item => item.id).join(",")
this.form.QCRBUSS = res.map(item => item.name).join(",") // this.form.QCRBUSS = res.map(item => item.name).join(",")
} // }
}) // })
} // }
this.formKey++ this.formKey++
}, },
choiceQCDW(type, title, id) { choiceQCDW(type, title, id) {
@@ -1414,6 +1418,14 @@
this.form.QCRBUSS=nameList; this.form.QCRBUSS=nameList;
this.formKey++ this.formKey++
} }
if(data !== undefined && data && data.length > 0){
const institutionIdList = this.unique(data.map(item => item.institutionId)).join(",")
const institutionNameList = this.unique(data.map(item => item.institutionName)).join(",")
this.form.QCDWID = institutionIdList
this.form.QCDW = institutionNameList
}
this.modalShowRoleFlag = false
}, },
checkedRole (data) { checkedRole (data) {
if (this.type === 0) { if (this.type === 0) {