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