Merge remote-tracking branch 'origin/develop' into develop
This commit is contained in:
@@ -2544,7 +2544,7 @@
|
||||
pId: this.pId
|
||||
}).then(res => {
|
||||
if (res) {
|
||||
this.taskInfo = res.taskInfo
|
||||
this.taskInfo = '企标编写流程'
|
||||
const processForm = JSON.parse(res.mesg)
|
||||
const dateArr = []
|
||||
if(processForm.commentCycleStart && processForm.commentCycleEnd){
|
||||
|
||||
@@ -2543,7 +2543,7 @@
|
||||
pId: this.pId
|
||||
}).then(res => {
|
||||
if (res) {
|
||||
this.taskInfo = res.taskInfo
|
||||
this.taskInfo = '企标汇总修订'
|
||||
const processForm = JSON.parse(res.mesg)
|
||||
const dateArr = []
|
||||
if(processForm.commentCycleStart && processForm.commentCycleEnd){
|
||||
|
||||
@@ -278,10 +278,10 @@
|
||||
<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-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"
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<template slot="proNode">会签征求意见</template>
|
||||
</ProcessHeader>
|
||||
<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>
|
||||
@@ -81,7 +81,7 @@
|
||||
<template slot-scope="scope">
|
||||
<el-form-item
|
||||
:prop="'evaluationData.'+scope.$index + '.score'"
|
||||
:rules="rules.score" >
|
||||
:rules="scope.row.valueType !== 'add' ? rules.score : rules.scoreNot" >
|
||||
<el-input v-model.number="scope.row.score" placeholder="请填写分值" />
|
||||
</el-form-item>
|
||||
</template>
|
||||
@@ -101,7 +101,7 @@
|
||||
align="center"
|
||||
label="简述扣分理由(不合格<6分,必填)"
|
||||
>
|
||||
<template slot-scope="scope" v-if="(scope.row.score !== undefined && scope.row.score !== '' && scope.row.score < 6)">
|
||||
<template slot-scope="scope" v-if="(scope.row.valueType !== 'add' && scope.row.score !== undefined && scope.row.score !== '' && scope.row.score < 6)">
|
||||
<el-form-item
|
||||
:prop="'evaluationData.'+scope.$index + '.reason'"
|
||||
:rules="rules.reason" >
|
||||
@@ -917,6 +917,14 @@
|
||||
TreeSelectNew
|
||||
},
|
||||
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('评分分值不可为空'))
|
||||
@@ -1306,6 +1314,9 @@
|
||||
],
|
||||
},
|
||||
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' },
|
||||
@@ -1463,7 +1474,7 @@
|
||||
}
|
||||
},
|
||||
setScoreMin(row){
|
||||
return row.scoreMin = ((row.score === undefined || row.score === '') ? '' : (row.score / 10).toFixed(1))
|
||||
return row.scoreMin = ((row.score === undefined || row.score === '') ? '' : row.valueType === 'add' ? row.score : (row.score / 10).toFixed(1))
|
||||
|
||||
},
|
||||
getSummaries(param) {
|
||||
@@ -2653,12 +2664,12 @@
|
||||
// }
|
||||
this.$refs['form'].validate((valid) => {
|
||||
if (valid) {
|
||||
return
|
||||
this.$refs['formTongGuo'].validate((valid) => {
|
||||
if (valid) {
|
||||
this.isSubmit = true
|
||||
this.form.commentText = this.formTongGuo.commentText
|
||||
this.form.approvalOpinion = this.formTongGuo.approvalOpinion
|
||||
// 会签意见存储
|
||||
const infoList = []
|
||||
const info = {}
|
||||
info.userId = this.userId
|
||||
@@ -2725,6 +2736,7 @@
|
||||
getFormFieldList (item) {
|
||||
this.$nextTick(() => {
|
||||
this.form = JSON.parse(JSON.stringify(item))
|
||||
this.getEvaluation()
|
||||
this.form.prcNum = this.prcNum
|
||||
this.form.prcName = this.prcName
|
||||
this.form['id'] = item.id
|
||||
@@ -2756,7 +2768,6 @@
|
||||
evalList.push(item)
|
||||
})
|
||||
this.form.evaluationData = evalList
|
||||
console.log(this.form.evaluationData)
|
||||
this.$forceUpdate()
|
||||
}
|
||||
}).catch(e => {
|
||||
@@ -2771,7 +2782,7 @@
|
||||
pId: this.pId
|
||||
}).then(res => {
|
||||
if (res) {
|
||||
this.taskInfo = res.taskInfo
|
||||
this.taskInfo = '会签征求意见'
|
||||
const processForm = JSON.parse(res.mesg)
|
||||
const dateArr = []
|
||||
if(processForm.commentCycleStart && processForm.commentCycleEnd){
|
||||
@@ -2825,7 +2836,6 @@
|
||||
},
|
||||
mounted () {
|
||||
this.getTaskId()
|
||||
this.getEvaluation()
|
||||
this.getData()
|
||||
this.processTable()
|
||||
this.$http.get('sys/dictype/getDicTypeListCode', '', {
|
||||
@@ -2870,12 +2880,12 @@
|
||||
/deep/ .column1{
|
||||
font-size: 18px !important;
|
||||
}
|
||||
/deep/ .el-input__suffix{
|
||||
display: none !important;
|
||||
}
|
||||
/deep/ #active1 .el-form-item__content{
|
||||
margin-left: 0px !important;
|
||||
}
|
||||
/deep/ .el-input__suffix{
|
||||
display: none !important;
|
||||
}
|
||||
/deep/ #active2 .el-form-item__content{
|
||||
margin-left: 0px !important;
|
||||
}
|
||||
|
||||
@@ -875,6 +875,7 @@
|
||||
},
|
||||
loading: false,
|
||||
disabledState: true,
|
||||
taskInfo:'主起草人修订并组织评审',
|
||||
userId:this.$store.getters.userInfo.userId,
|
||||
taskIds: this.$route.query.taskIds,
|
||||
pId: this.$route.query.prcId,
|
||||
@@ -2337,16 +2338,10 @@
|
||||
// _formData.append('id', this.bpnId)
|
||||
_formData.append('createUser', this.$store.getters.userInfo.userId)
|
||||
_formData.append('createUserName', this.$store.getters.userInfo.uName)
|
||||
_formData.append('prcType', 'laws1')
|
||||
_formData.append('prcName', '政策入库流程')
|
||||
_formData.append('prcType', 'buss1')
|
||||
_formData.append('prcName', '企标制修订流程及企业标准库流程')
|
||||
_formData.append('json', JSON.stringify({
|
||||
// prcForm: this.prcForm,
|
||||
// sarAccessInfoList: this.sarAccessInfoList,
|
||||
// sarAccessInfoListADMIN: this.sarAccessInfoListADMIN,
|
||||
// bzqdForm: this.bzqdForm,
|
||||
// listInfo: this.listInfo,
|
||||
// id: this.id
|
||||
taskInfo: '申请人发起',
|
||||
taskInfo: this.taskInfo,
|
||||
form: this.form,
|
||||
roleForm: this.roleForm,
|
||||
commentText: this.commentText
|
||||
|
||||
@@ -5,7 +5,8 @@
|
||||
<template slot="proNode">标准法规工程师复审</template>
|
||||
</ProcessHeader>
|
||||
<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>
|
||||
@@ -17,7 +18,135 @@
|
||||
class="label-input-form"
|
||||
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.standCode"
|
||||
>
|
||||
<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分;合格6~8分;不合格<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 < 6)">
|
||||
<el-form-item
|
||||
:prop="'evaluationData.'+scope.$index + '.reason'"
|
||||
:rules="rules.reason" >
|
||||
<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'">
|
||||
<ProcessTitle>
|
||||
<template slot="title">基础信息</template>
|
||||
</ProcessTitle>
|
||||
@@ -267,38 +396,6 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
<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 class="block" id="active2" v-show="active === '2'">-->
|
||||
<!-- <ProcessTitle>-->
|
||||
@@ -457,6 +554,7 @@
|
||||
show-submit
|
||||
:saveLoading="saveLoading"
|
||||
:submitLoading="isSubmit"
|
||||
@save="handleSave"
|
||||
@submit="handleSubmit"
|
||||
>
|
||||
</ProcessFooter>
|
||||
@@ -804,6 +902,7 @@
|
||||
import ProcessFooter from '../../components/ProcessFooter'
|
||||
import ProcessTitle from '../../components/ProcessTitle'
|
||||
import {saveTaskFirst, queryTaskFirst, getBusStandFileByAttId,inboundLiaisonDetail} from "api/process";
|
||||
import {getEvaluationIndex} from "api/businessApi";
|
||||
import TreeSelect from '@/components/treeSelect/treeSelect.vue';
|
||||
import TreeSelectNew from '@/components/treeSelect/treeSelectNew.vue';
|
||||
let Base64 = require('js-base64').Base64;
|
||||
@@ -818,6 +917,25 @@
|
||||
TreeSelectNew
|
||||
},
|
||||
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) => {
|
||||
if(this.FBGBUSSFileList.length === 0){
|
||||
callback(new Error('请上传发布稿文件!'))
|
||||
@@ -873,6 +991,7 @@
|
||||
},
|
||||
loading: false,
|
||||
disabledState: true,
|
||||
taskInfo:'标准法规工程师复审',
|
||||
userId:this.$store.getters.userInfo.userId,
|
||||
taskIds: this.$route.query.taskIds,
|
||||
pId: this.$route.query.prcId,
|
||||
@@ -1018,6 +1137,7 @@
|
||||
countryArr:'',
|
||||
commentCycleDate:'',
|
||||
form: {
|
||||
evaluationData:[],
|
||||
modelData:[],
|
||||
modelDataNameVerify:[],
|
||||
modelDataZrUserVerify:[],
|
||||
@@ -1193,6 +1313,14 @@
|
||||
],
|
||||
},
|
||||
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' }],
|
||||
commentText: [{ required: true, message: '请输入意见', trigger: 'blur' }],
|
||||
approvalOpinion: [{ required: true, message: '请选择审批意见', trigger: 'change' }],
|
||||
zrUserIdName: [
|
||||
@@ -1323,6 +1451,84 @@
|
||||
},
|
||||
},
|
||||
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
|
||||
}
|
||||
}
|
||||
},
|
||||
modelProp(row,index){
|
||||
console.log(row)
|
||||
console.log(index)
|
||||
@@ -1525,6 +1731,11 @@
|
||||
let mes = JSON.parse(res.mes)
|
||||
mes.form.date = new Date(this.$moment(mes.form.date).format('YYYY-MM-DD'))
|
||||
this.form = mes.form
|
||||
this.FBGBUSSFileList=this.assemble(this.form.FBGBUSS,this.form.FBGBUSSName);
|
||||
this.BZSMBUSSFileList=this.assemble(this.form.BZSMBUSS,this.form.BZSMBUSSName);
|
||||
this.LSBBBUSSFileList=this.assemble(this.form.LSBBBUSS,this.form.LSBBBUSSName);
|
||||
this.QTWJBUSSFileList=this.assemble(this.form.QTWJBUSS,this.form.QTWJBUSSName);
|
||||
this.GLWJBUSSFileList=this.assemble(this.form.GLWJBUSS,this.form.GLWJBUSSName);
|
||||
this.roleForm = mes.roleForm
|
||||
this.commentText = mes.commentText
|
||||
})
|
||||
@@ -2319,8 +2530,7 @@
|
||||
this.active = name
|
||||
},
|
||||
//保存
|
||||
handleSave() {
|
||||
this.form.country=this.countryArr;
|
||||
handleSave() {this.form.country=this.countryArr;
|
||||
// if(item.country !== undefined && item.country !== null){
|
||||
// this.sarStandardsInfoEO.country = item.country.split(",");
|
||||
// }
|
||||
@@ -2330,16 +2540,10 @@
|
||||
// _formData.append('id', this.bpnId)
|
||||
_formData.append('createUser', this.$store.getters.userInfo.userId)
|
||||
_formData.append('createUserName', this.$store.getters.userInfo.uName)
|
||||
_formData.append('prcType', 'laws1')
|
||||
_formData.append('prcName', '政策入库流程')
|
||||
_formData.append('prcType', 'buss1')
|
||||
_formData.append('prcName', '企标制修订流程及企业标准库流程')
|
||||
_formData.append('json', JSON.stringify({
|
||||
// prcForm: this.prcForm,
|
||||
// sarAccessInfoList: this.sarAccessInfoList,
|
||||
// sarAccessInfoListADMIN: this.sarAccessInfoListADMIN,
|
||||
// bzqdForm: this.bzqdForm,
|
||||
// listInfo: this.listInfo,
|
||||
// id: this.id
|
||||
taskInfo: '申请人发起',
|
||||
taskInfo: this.taskInfo,
|
||||
form: this.form,
|
||||
roleForm: this.roleForm,
|
||||
commentText: this.commentText
|
||||
@@ -2456,37 +2660,41 @@
|
||||
// } else if (val === '') {
|
||||
// this.form.country = []
|
||||
// }
|
||||
this.$refs['formTongGuo'].validate((valid) => {
|
||||
if (valid) {
|
||||
this.isSubmit = true
|
||||
this.form.commentText = this.formTongGuo.commentText
|
||||
this.form.approvalOpinion = this.formTongGuo.approvalOpinion
|
||||
const json = JSON.stringify(this.form);
|
||||
this.$http.post('lawss/activiti/completeTask', {
|
||||
taskIds: this.taskIds,
|
||||
userId : this.userId,
|
||||
json: json
|
||||
}, {
|
||||
_this: this
|
||||
}, res => {
|
||||
if (res.success) {
|
||||
this.$message.success(res.message)
|
||||
// 流程提交之后,应该流转至待办任务页面
|
||||
this.isSubmit = false
|
||||
this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
|
||||
// if(this.formTongGuo.approvalOpinion === '1'){
|
||||
// this.$message.warning("驳回成功")
|
||||
// this.isSubmit = false
|
||||
// // 流程提交之后,应该流转至待办任务页面
|
||||
// this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
|
||||
// }else{
|
||||
// this.processCreateLaws(json)
|
||||
// }
|
||||
}else {
|
||||
this.$message.success(res.message)
|
||||
}
|
||||
})
|
||||
}})
|
||||
this.$refs['form'].validate((valid) => {
|
||||
if (valid) {
|
||||
this.$refs['formTongGuo'].validate((valid) => {
|
||||
if (valid) {
|
||||
this.isSubmit = true
|
||||
this.form.commentText = this.formTongGuo.commentText
|
||||
this.form.approvalOpinion = this.formTongGuo.approvalOpinion
|
||||
const json = JSON.stringify(this.form);
|
||||
this.$http.post('lawss/activiti/completeTask', {
|
||||
taskIds: this.taskIds,
|
||||
userId : this.userId,
|
||||
json: json
|
||||
}, {
|
||||
_this: this
|
||||
}, res => {
|
||||
if (res.success) {
|
||||
this.$message.success(res.message)
|
||||
// 流程提交之后,应该流转至待办任务页面
|
||||
this.isSubmit = false
|
||||
this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
|
||||
// if(this.formTongGuo.approvalOpinion === '1'){
|
||||
// this.$message.warning("驳回成功")
|
||||
// this.isSubmit = false
|
||||
// // 流程提交之后,应该流转至待办任务页面
|
||||
// this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
|
||||
// }else{
|
||||
// this.processCreateLaws(json)
|
||||
// }
|
||||
}else {
|
||||
this.$message.success(res.message)
|
||||
}
|
||||
})
|
||||
}})
|
||||
}
|
||||
})
|
||||
},
|
||||
busVsFunc(){
|
||||
this.$http.get('sarVppsTree/list', '', {
|
||||
@@ -2518,6 +2726,7 @@
|
||||
getFormFieldList (item) {
|
||||
this.$nextTick(() => {
|
||||
this.form = JSON.parse(JSON.stringify(item))
|
||||
this.getEvaluation()
|
||||
this.form.prcNum = this.prcNum
|
||||
this.form.prcName = this.prcName
|
||||
this.form['id'] = item.id
|
||||
@@ -2533,6 +2742,28 @@
|
||||
|
||||
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() {
|
||||
if(this.taskIds && this.pId){
|
||||
return new Promise((resolve, reject) => {
|
||||
@@ -2593,6 +2824,7 @@
|
||||
},
|
||||
},
|
||||
mounted () {
|
||||
this.getTaskId()
|
||||
this.getData()
|
||||
this.processTable()
|
||||
this.$http.get('sys/dictype/getDicTypeListCode', '', {
|
||||
@@ -2634,9 +2866,15 @@
|
||||
|
||||
<style lang="less" scoped>
|
||||
@import '~@/assets/styles/style';
|
||||
/deep/ .column1{
|
||||
font-size: 18px !important;
|
||||
}
|
||||
/deep/ .el-input__suffix{
|
||||
display: none !important;
|
||||
}
|
||||
/deep/ #active1 .el-form-item__content{
|
||||
margin-left: 0px !important;
|
||||
}
|
||||
/deep/ #active2 .el-form-item__content{
|
||||
margin-left: 0px !important;
|
||||
}
|
||||
|
||||
@@ -5,7 +5,8 @@
|
||||
<template slot="proNode">技术委员会负责人/起草中心主任审核</template>
|
||||
</ProcessHeader>
|
||||
<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>
|
||||
@@ -17,7 +18,135 @@
|
||||
class="label-input-form"
|
||||
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.standCode"
|
||||
>
|
||||
<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分;合格6~8分;不合格<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 < 6)">
|
||||
<el-form-item
|
||||
:prop="'evaluationData.'+scope.$index + '.reason'"
|
||||
:rules="rules.reason" >
|
||||
<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'">
|
||||
<ProcessTitle>
|
||||
<template slot="title">基础信息</template>
|
||||
</ProcessTitle>
|
||||
@@ -267,38 +396,6 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
<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 class="block" id="active2" v-show="active === '2'">-->
|
||||
<!-- <ProcessTitle>-->
|
||||
@@ -453,12 +550,13 @@
|
||||
<!-- 保存||提交-->
|
||||
<ProcessFooter
|
||||
v-show="verifySarStandard"
|
||||
:show-save="false"
|
||||
show-save
|
||||
show-over2
|
||||
show-submit2
|
||||
show-transfer
|
||||
:submitLoading="isSubmit"
|
||||
:saveLoading="saveLoading"
|
||||
@save="handleSave"
|
||||
@transfer="handleTransfer"
|
||||
@submit2="handle2"
|
||||
@over2="handle1"
|
||||
@@ -816,6 +914,7 @@
|
||||
import ProcessFooter from '../../components/ProcessFooter'
|
||||
import ProcessTitle from '../../components/ProcessTitle'
|
||||
import {saveTaskFirst, queryTaskFirst, getBusStandFileByAttId,inboundLiaisonDetail,changeAssigneeNew} from "api/process";
|
||||
import {getEvaluationIndex} from "api/businessApi";
|
||||
import TreeSelect from '@/components/treeSelect/treeSelect.vue';
|
||||
import TreeSelectNew from '@/components/treeSelect/treeSelectNew.vue';
|
||||
let Base64 = require('js-base64').Base64;
|
||||
@@ -830,6 +929,25 @@
|
||||
TreeSelectNew
|
||||
},
|
||||
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) => {
|
||||
if(this.FBGBUSSFileList.length === 0){
|
||||
callback(new Error('请上传发布稿文件!'))
|
||||
@@ -885,6 +1003,7 @@
|
||||
},
|
||||
loading: false,
|
||||
drawerModal: false,
|
||||
taskInfo:'技术委员会负责人/起草中心主任审核',
|
||||
assigneeNewLoading: false,
|
||||
disabledState: true,
|
||||
userId:this.$store.getters.userInfo.userId,
|
||||
@@ -1032,6 +1151,7 @@
|
||||
countryArr:'',
|
||||
commentCycleDate:'',
|
||||
form: {
|
||||
evaluationData:[],
|
||||
modelData:[],
|
||||
modelDataNameVerify:[],
|
||||
modelDataZrUserVerify:[],
|
||||
@@ -1207,6 +1327,14 @@
|
||||
],
|
||||
},
|
||||
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' }],
|
||||
commentText: [{ required: true, message: '请输入意见', trigger: 'blur' }],
|
||||
approvalOpinion: [{ required: true, message: '请选择审批意见', trigger: 'change' }],
|
||||
zrUserIdName: [
|
||||
@@ -1337,6 +1465,84 @@
|
||||
},
|
||||
},
|
||||
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
|
||||
}
|
||||
}
|
||||
},
|
||||
modelProp(row,index){
|
||||
console.log(row)
|
||||
console.log(index)
|
||||
@@ -1558,6 +1764,11 @@
|
||||
let mes = JSON.parse(res.mes)
|
||||
mes.form.date = new Date(this.$moment(mes.form.date).format('YYYY-MM-DD'))
|
||||
this.form = mes.form
|
||||
this.FBGBUSSFileList=this.assemble(this.form.FBGBUSS,this.form.FBGBUSSName);
|
||||
this.BZSMBUSSFileList=this.assemble(this.form.BZSMBUSS,this.form.BZSMBUSSName);
|
||||
this.LSBBBUSSFileList=this.assemble(this.form.LSBBBUSS,this.form.LSBBBUSSName);
|
||||
this.QTWJBUSSFileList=this.assemble(this.form.QTWJBUSS,this.form.QTWJBUSSName);
|
||||
this.GLWJBUSSFileList=this.assemble(this.form.GLWJBUSS,this.form.GLWJBUSSName);
|
||||
this.roleForm = mes.roleForm
|
||||
this.commentText = mes.commentText
|
||||
})
|
||||
@@ -2363,16 +2574,10 @@
|
||||
// _formData.append('id', this.bpnId)
|
||||
_formData.append('createUser', this.$store.getters.userInfo.userId)
|
||||
_formData.append('createUserName', this.$store.getters.userInfo.uName)
|
||||
_formData.append('prcType', 'laws1')
|
||||
_formData.append('prcName', '政策入库流程')
|
||||
_formData.append('prcType', 'buss1')
|
||||
_formData.append('prcName', '企标制修订流程及企业标准库流程')
|
||||
_formData.append('json', JSON.stringify({
|
||||
// prcForm: this.prcForm,
|
||||
// sarAccessInfoList: this.sarAccessInfoList,
|
||||
// sarAccessInfoListADMIN: this.sarAccessInfoListADMIN,
|
||||
// bzqdForm: this.bzqdForm,
|
||||
// listInfo: this.listInfo,
|
||||
// id: this.id
|
||||
taskInfo: '申请人发起',
|
||||
taskInfo: this.taskInfo,
|
||||
form: this.form,
|
||||
roleForm: this.roleForm,
|
||||
commentText: this.commentText
|
||||
@@ -2479,7 +2684,11 @@
|
||||
},
|
||||
handle2(){
|
||||
this.formTongGuo.approvalOpinion = 0
|
||||
this.handleSubmit()
|
||||
this.$refs['form'].validate((valid) => {
|
||||
if (valid) {
|
||||
this.handleSubmit()
|
||||
}
|
||||
})
|
||||
},
|
||||
getRule(){
|
||||
if (this.formTongGuo.approvalOpinion === 0) {
|
||||
@@ -2560,6 +2769,7 @@
|
||||
getFormFieldList (item) {
|
||||
this.$nextTick(() => {
|
||||
this.form = JSON.parse(JSON.stringify(item))
|
||||
this.getEvaluation()
|
||||
this.form.prcNum = this.prcNum
|
||||
this.form.prcName = this.prcName
|
||||
this.form['id'] = item.id
|
||||
@@ -2575,6 +2785,28 @@
|
||||
|
||||
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() {
|
||||
if(this.taskIds && this.pId){
|
||||
return new Promise((resolve, reject) => {
|
||||
@@ -2635,6 +2867,7 @@
|
||||
},
|
||||
},
|
||||
mounted () {
|
||||
this.getTaskId()
|
||||
this.getData()
|
||||
this.processTable()
|
||||
this.$http.get('sys/dictype/getDicTypeListCode', '', {
|
||||
@@ -2676,6 +2909,12 @@
|
||||
|
||||
<style lang="less" scoped>
|
||||
@import '~@/assets/styles/style';
|
||||
/deep/ .column1{
|
||||
font-size: 18px !important;
|
||||
}
|
||||
/deep/ #active1 .el-form-item__content{
|
||||
margin-left: 0px !important;
|
||||
}
|
||||
/deep/ .el-input__suffix{
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
@@ -5,7 +5,8 @@
|
||||
<template slot="proNode">标准法规部部长审核</template>
|
||||
</ProcessHeader>
|
||||
<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>
|
||||
@@ -17,7 +18,135 @@
|
||||
class="label-input-form"
|
||||
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.standCode"
|
||||
>
|
||||
<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分;合格6~8分;不合格<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 < 6)">
|
||||
<el-form-item
|
||||
:prop="'evaluationData.'+scope.$index + '.reason'"
|
||||
:rules="rules.reason" >
|
||||
<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'">
|
||||
<ProcessTitle>
|
||||
<template slot="title">基础信息</template>
|
||||
</ProcessTitle>
|
||||
@@ -267,38 +396,6 @@
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
<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 class="block" id="active2" v-show="active === '2'">-->
|
||||
<!-- <ProcessTitle>-->
|
||||
@@ -453,12 +550,13 @@
|
||||
<!-- 保存||提交-->
|
||||
<ProcessFooter
|
||||
v-show="verifySarStandard"
|
||||
:show-save="false"
|
||||
show-save
|
||||
show-over2
|
||||
show-submit2
|
||||
show-transfer
|
||||
:submitLoading="isSubmit"
|
||||
:saveLoading="saveLoading"
|
||||
@save="handleSave"
|
||||
@transfer="handleTransfer"
|
||||
@submit2="handle2"
|
||||
@over2="handle1"
|
||||
@@ -816,6 +914,7 @@
|
||||
import ProcessFooter from '../../components/ProcessFooter'
|
||||
import ProcessTitle from '../../components/ProcessTitle'
|
||||
import {saveTaskFirst, queryTaskFirst, getBusStandFileByAttId,inboundLiaisonDetail,changeAssigneeNew} from "api/process";
|
||||
import {getEvaluationIndex} from "api/businessApi";
|
||||
import TreeSelect from '@/components/treeSelect/treeSelect.vue';
|
||||
import TreeSelectNew from '@/components/treeSelect/treeSelectNew.vue';
|
||||
let Base64 = require('js-base64').Base64;
|
||||
@@ -830,6 +929,25 @@
|
||||
TreeSelectNew
|
||||
},
|
||||
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) => {
|
||||
if(this.FBGBUSSFileList.length === 0){
|
||||
callback(new Error('请上传发布稿文件!'))
|
||||
@@ -1032,6 +1150,7 @@
|
||||
countryArr:'',
|
||||
commentCycleDate:'',
|
||||
form: {
|
||||
evaluationData:[],
|
||||
modelData:[],
|
||||
modelDataNameVerify:[],
|
||||
modelDataZrUserVerify:[],
|
||||
@@ -1207,6 +1326,14 @@
|
||||
],
|
||||
},
|
||||
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' }],
|
||||
commentText: [{ required: true, message: '请输入意见', trigger: 'blur' }],
|
||||
approvalOpinion: [{ required: true, message: '请选择审批意见', trigger: 'change' }],
|
||||
zrUserIdName: [
|
||||
@@ -1337,6 +1464,84 @@
|
||||
},
|
||||
},
|
||||
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
|
||||
}
|
||||
}
|
||||
},
|
||||
modelProp(row,index){
|
||||
console.log(row)
|
||||
console.log(index)
|
||||
@@ -1558,6 +1763,11 @@
|
||||
let mes = JSON.parse(res.mes)
|
||||
mes.form.date = new Date(this.$moment(mes.form.date).format('YYYY-MM-DD'))
|
||||
this.form = mes.form
|
||||
this.FBGBUSSFileList=this.assemble(this.form.FBGBUSS,this.form.FBGBUSSName);
|
||||
this.BZSMBUSSFileList=this.assemble(this.form.BZSMBUSS,this.form.BZSMBUSSName);
|
||||
this.LSBBBUSSFileList=this.assemble(this.form.LSBBBUSS,this.form.LSBBBUSSName);
|
||||
this.QTWJBUSSFileList=this.assemble(this.form.QTWJBUSS,this.form.QTWJBUSSName);
|
||||
this.GLWJBUSSFileList=this.assemble(this.form.GLWJBUSS,this.form.GLWJBUSSName);
|
||||
this.roleForm = mes.roleForm
|
||||
this.commentText = mes.commentText
|
||||
})
|
||||
@@ -2363,16 +2573,10 @@
|
||||
// _formData.append('id', this.bpnId)
|
||||
_formData.append('createUser', this.$store.getters.userInfo.userId)
|
||||
_formData.append('createUserName', this.$store.getters.userInfo.uName)
|
||||
_formData.append('prcType', 'laws1')
|
||||
_formData.append('prcName', '政策入库流程')
|
||||
_formData.append('prcType', 'buss1')
|
||||
_formData.append('prcName', '企标制修订流程及企业标准库流程')
|
||||
_formData.append('json', JSON.stringify({
|
||||
// prcForm: this.prcForm,
|
||||
// sarAccessInfoList: this.sarAccessInfoList,
|
||||
// sarAccessInfoListADMIN: this.sarAccessInfoListADMIN,
|
||||
// bzqdForm: this.bzqdForm,
|
||||
// listInfo: this.listInfo,
|
||||
// id: this.id
|
||||
taskInfo: '申请人发起',
|
||||
taskInfo: this.taskInfo,
|
||||
form: this.form,
|
||||
roleForm: this.roleForm,
|
||||
commentText: this.commentText
|
||||
@@ -2478,8 +2682,14 @@
|
||||
this.handleSubmit()
|
||||
},
|
||||
handle2(){
|
||||
const json = JSON.stringify(this.form);
|
||||
console.log(json)
|
||||
this.formTongGuo.approvalOpinion = 0
|
||||
this.handleSubmit()
|
||||
this.$refs['form'].validate((valid) => {
|
||||
if (valid) {
|
||||
this.handleSubmit()
|
||||
}
|
||||
})
|
||||
},
|
||||
getRule(){
|
||||
if (this.formTongGuo.approvalOpinion === 0) {
|
||||
@@ -2560,6 +2770,7 @@
|
||||
getFormFieldList (item) {
|
||||
this.$nextTick(() => {
|
||||
this.form = JSON.parse(JSON.stringify(item))
|
||||
this.getEvaluation()
|
||||
this.form.prcNum = this.prcNum
|
||||
this.form.prcName = this.prcName
|
||||
this.form['id'] = item.id
|
||||
@@ -2575,6 +2786,28 @@
|
||||
|
||||
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() {
|
||||
if(this.taskIds && this.pId){
|
||||
return new Promise((resolve, reject) => {
|
||||
@@ -2635,6 +2868,7 @@
|
||||
},
|
||||
},
|
||||
mounted () {
|
||||
this.getTaskId()
|
||||
this.getData()
|
||||
this.processTable()
|
||||
this.$http.get('sys/dictype/getDicTypeListCode', '', {
|
||||
@@ -2676,6 +2910,12 @@
|
||||
|
||||
<style lang="less" scoped>
|
||||
@import '~@/assets/styles/style';
|
||||
/deep/ .column1{
|
||||
font-size: 18px !important;
|
||||
}
|
||||
/deep/ #active1 .el-form-item__content{
|
||||
margin-left: 0px !important;
|
||||
}
|
||||
/deep/ .el-input__suffix{
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user