feat: There is no way the,

This commit is contained in:
super_liu
2022-01-27 22:34:40 +08:00
parent 0955daf4f9
commit 1cc3bfff12
23 changed files with 3546 additions and 56 deletions
+24
View File
@@ -480,6 +480,30 @@ export function evaluationHisList (data) {
})
}
export function evaluationHisListByOne (data) {
return axios({
url: '/api/lawss/activiti/evaluationHisListByOne',
method: 'get',
params: data
})
}
export function evaluationHisListRepSum (data) {
return axios({
url: '/api/lawss/activiti/evaluationHisListRepSum',
method: 'get',
params: data
})
}
export function evaluationHisListRep (data) {
return axios({
url: '/api/lawss/activiti/evaluationHisListRep',
method: 'get',
params: data
})
}
export function execTask (data) {
return axios({
url: '/api/lawss/activiti/execTask',
+23 -1
View File
@@ -120,6 +120,17 @@ export default {
prcType: row.prcType
}
})
}else if (row.taskInfo === '重新发起企标制修订-技术标准流程'){
this.$router.push({
name: 'bussLibraryC1',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}else if (row.taskInfo === '标准化员初审'){
this.$router.push({
name: 'bussLibrary4',
@@ -186,7 +197,18 @@ export default {
prcType: row.prcType
}
})
}else if (row.taskInfo === '审核'){
}else if (row.taskInfo === '起草单位高级经理审核'){
this.$router.push({
name: 'bussLibrary8',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}else if (row.taskInfo === '标准法规部高级经理审核'){
this.$router.push({
name: 'bussLibrary9',
query: {
@@ -64,6 +64,7 @@
icon="el-icon-s-promotion"
@click="handleTransfer"
:loading="submitLoading"
:disabled="disabledStatus"
v-if="showTransfer"
>转办</el-button>
<el-button
@@ -72,9 +73,31 @@
class="common-button-primary"
icon="el-icon-check"
@click="handleSubmit2"
:disabled="disabledStatus"
:loading="submitLoading"
v-if="showSubmit2"
>通过</el-button>
<el-popover
v-if="showOver3"
class="common-button-danger"
style="margin-left: 10px;margin-right: 10px;"
placement="top"
width="250">
<p>选择驳回类型 质量问题其他问题</p>
<div style="text-align: right; margin-top: 25px">
<el-button type="primary" size="mini" :loading="submitLoading" @click="handleOver3">其他问题</el-button>
<el-button type="primary" size="mini" :loading="submitLoading" @click="handleOver4">质量问题</el-button>
</div>
<el-button
type="danger"
size="small"
class="common-button-danger"
icon="el-icon-close"
slot="reference"
:loading="submitLoading"
v-if="showOver3"
>驳回</el-button>
</el-popover>
<el-button
type="danger"
size="small"
@@ -89,6 +112,7 @@
size="mini"
class="common-button-primary"
@click="handleSave"
:disabled="disabledStatus"
:loading="saveLoading"
v-if="showSave">
<i class="iconfont">&#xe608;</i>
@@ -108,6 +132,7 @@
size="small"
class="common-button-primary"
icon="el-icon-check"
:disabled="disabledStatus"
@click="handleSubmit"
:loading="submitLoading"
v-if="showSubmit"
@@ -188,6 +213,14 @@ export default {
type: Boolean,
default: false
},
showOver3: {
type: Boolean,
default: false
},
visible: {
type: Boolean,
default: false
},
// 是否显示保存按钮
showSave: {
type: Boolean,
@@ -248,6 +281,11 @@ export default {
type: Boolean,
default: false
},
// 按钮disabled 是否可用
disabledStatus: {
type: Boolean,
default: false
},
//转办按钮loading
transferLoading: {
type: Boolean,
@@ -329,6 +367,12 @@ export default {
handleOver2() {
this.$emit('over2')
},
handleOver3() {
this.$emit('over3')
},
handleOver4() {
this.$emit('over4')
},
handleSave() {
this.$emit('save')
},
@@ -17,11 +17,6 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item label="制修订类型" prop="reviseStatus" class="add-form-item form-item-disabled" >
<template>
<div style="padding-left: 10px; color: #666666;">{{ form.reviseStatus === ''? '' : (form.reviseStatus === '1'? '制定' : '修订') }}</div>
</template>
</el-form-item>
<el-form-item label="中文名称" prop="standName" class="add-form-item form-item-disabled">
<el-input
v-model="form.standName"
@@ -29,12 +24,15 @@
clearable
></el-input>
</el-form-item>
<el-form-item label="英文名称" prop="standEnName" class="add-form-item form-item-disabled">
<el-input
v-model="form.standEnName"
placeholder="请输入英文名称"
clearable
></el-input>
<el-form-item v-show="fbNode" label="发布日期" prop="issueTime" class="add-form-item form-item-disabled">
<el-datePicker v-model="form.issueTime" :disabled="disabledState"
:editable="false"
></el-datePicker>
</el-form-item>
<el-form-item label="制修订类型" prop="reviseStatus" class="add-form-item form-item-disabled" >
<template>
<div style="padding-left: 10px; color: #666666;">{{ form.reviseStatus === ''? '' : (form.reviseStatus === '1'? '制定' : '修订') }}</div>
</template>
</el-form-item>
<!-- <el-form-item label="文本状态" prop="textStatusBuss" class="add-form-item form-item-disabled">-->
<!-- <el-select :popper-append-to-body="false" v-model="form.textStatusBuss" placeholder="请选择文本状态">-->
@@ -86,10 +84,12 @@
clearable
></el-input>
</el-form-item>
<el-form-item v-show="fbNode" label="发布日期" prop="issueTime" class="add-form-item form-item-disabled">
<el-datePicker v-model="form.issueTime" :disabled="disabledState"
:editable="false"
></el-datePicker>
<el-form-item label="英文名称" prop="standEnName" class="add-form-item form-item-disabled">
<el-input
v-model="form.standEnName"
placeholder="请输入英文名称"
clearable
></el-input>
</el-form-item>
<el-form-item v-show="verifySarStandard" label="企标实施日期" prop="putTime" class="add-form-item form-item-disabled">
<el-datePicker v-model="form.putTime"
@@ -592,22 +592,22 @@
</el-form-item>
</el-card>
</el-timeline-item>
<!-- <el-timeline-item timestamp="审核" prop="fggcsUserName" placement="top" :color="roleForm.jsfzrUserName ? '#66b1ff' : ''">-->
<!-- <el-card>-->
<!-- <el-form-item prop="jsfzrUserName" style="margin-bottom: 0">-->
<!-- <h4>起草单位高级经理/标准法规部高级经理</h4>-->
<!-- <div style="margin-top: 10px;width: 300px;">-->
<!-- <el-input v-model="roleForm.jsfzrUserName" readonly="readonly" placeholder="选择起草单位高级经理" @click.native="choiceZRR('jsfzrUserId', '选择起草单位高级经理', roleForm.jsfzrUserId)"></el-input>-->
<!-- </div>-->
<!-- </el-form-item>-->
<!-- </el-card>-->
<!-- </el-timeline-item>-->
<el-timeline-item timestamp="审核" prop="jsfzrUserName" placement="top" :color="roleForm.jsfzrUserName ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="jsfzrUserName" style="margin-bottom: 0">
<h4>起草单位高级经理</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.jsfzrUserName" readonly="readonly" placeholder="选择起草单位高级经理" @click.native="choiceZRR('jsfzrUserId', '选择起草单位高级经理', roleForm.jsfzrUserId)"></el-input>
</div>
</el-form-item>
</el-card>
</el-timeline-item>
<el-timeline-item timestamp="审核" prop="bzUserName" placement="top" :color="roleForm.bzUserName ? '#66b1ff' : ''">
<el-card>
<el-form-item prop="bzUserName" style="margin-bottom: 0">
<h4>起草单位高级经理/标准法规部高级经理</h4>
<h4>标准法规部高级经理</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.bzUserName" readonly="readonly" placeholder="选择起草单位高级经理/标准法规部高级经理" @click.native="choiceZRRList('bzUserId', '选择起草单位高级经理/标准法规部高级经理', roleForm.bzUserId)"></el-input>
<el-input v-model="roleForm.bzUserName" readonly="readonly" placeholder="选择标准法规部高级经理" @click.native="choiceZRR('bzUserId', '选择标准法规部高级经理', roleForm.bzUserId)"></el-input>
</div>
</el-form-item>
</el-card>
@@ -1332,6 +1332,7 @@
commentCycleDate:'',
planDisabled:true,
form: {
fsRejectStatus:'',
planId:'',
planStatus:'',
reviseStatus:'',
@@ -1393,6 +1394,8 @@
standNum:'',
}, // 标准信息
roleForm:{
cfqUserId: this.$store.getters.userInfo.userId,
cfqUserName: this.$store.getters.userInfo.userName,
hzUserId: this.$store.getters.userInfo.userId,
hzUserName: this.$store.getters.userInfo.userName,
xdUserId: this.$store.getters.userInfo.userId,
@@ -1451,7 +1454,7 @@
{ required: true, message: '选择起草单位高级经理', trigger: 'blur' },
],
bzUserName: [
{ required: true, message: '选择标准法规部高级经理审核', trigger: 'blur' },
{ required: true, message: '选择标准法规部高级经理', trigger: 'blur' },
],
fzrUserName: [
{ required: true, message: '选择起草单位中心主任', trigger: 'blur' },
@@ -798,6 +798,7 @@
countryArr:'',
commentCycleDate:'',
form: {
fsRejectStatus:'',
planId:'',
planStatus:'',
reviseStatus:'',
@@ -798,6 +798,7 @@
countryArr:'',
commentCycleDate:'',
form: {
fsRejectStatus:'',
planId:'',
planStatus:'',
reviseStatus:'',
@@ -807,6 +807,7 @@
countryArr:'',
commentCycleDate:'',
form: {
fsRejectStatus:'',
planId:'',
planStatus:'',
reviseStatus:'',
@@ -587,7 +587,7 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {saveTaskFirst, queryTaskFirst, getBusStandFileByAttId,inboundLiaisonDetail,processCreateBuss,evaluationHisList} from "api/process";
import {saveTaskFirst, queryTaskFirst, getBusStandFileByAttId,taskDel,inboundLiaisonDetail,processCreateBuss,evaluationHisList} from "api/process";
import TreeSelect from '@/components/treeSelect/treeSelect.vue';
import TreeSelectNew from '@/components/treeSelect/treeSelectNew.vue';
let Base64 = require('js-base64').Base64;
@@ -808,6 +808,7 @@
countryArr:'',
commentCycleDate:'',
form: {
fsRejectStatus:'',
planId:'',
planStatus:'',
reviseStatus:'',
@@ -2378,6 +2379,14 @@
this.$http.post("esRevisePlan/es-revise-plan/modPlan", planForm, {
_this: this
}, res => {
if (this.$route.query.bpnId !== '') {
let taskId = {
id: this.$route.query.bpnId
}
taskDel(taskId).then(res=>{
return res
})
}
this.submitLoading = false
this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
})
@@ -5,7 +5,9 @@
<template slot="proNode">企标编写流程</template>
</ProcessHeader>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
<div class="headerTabsItem" v-show="form.fsRejectStatus === 2" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">历史评分</div>
<div class="headerTabsItem" v-show="form.fsRejectStatus === 2" :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">基础信息</div>
<div class="headerTabsItem" v-show="form.fsRejectStatus !== 2" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</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 +19,130 @@
class="label-input-form"
label-width="210px"
>
<div style="flex: auto;" v-show="active === '1'">
<div id="active1" style="flex: auto;position: relative;" v-show="form.fsRejectStatus === 2 && active === '1'">
<template style="width: 10%">
<el-table
:data="historyData"
height="250"
border
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
style="width: 10%;float: left;margin-right: 20px;">
<el-table-column
prop="userName"
align="center"
label="质量评价人"
min-width="100%">
<template slot-scope="scope">
<div @click="ccc(scope.row)">{{scope.row.userName}}-{{scope.row.taskInfo}}</div>
</template>
</el-table-column>
</el-table>
</template>
<template style="width: 90%">
<div style="position: absolute;z-index: 2;right: 67px;top: 5px;">
<el-button type="primary" plain>计算质量评价总平均分</el-button>
<span style="font-size: 20px;color: rgb(255, 153, 0);position: relative;top: 3px;margin-left: 15px;">
{{calScope()}} {{form.fsRejectStatus === 2 ? '质量问题' : ''}}
</span>
</div>
<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: 88%">
<el-table-column label="企业标准编写质量评价表" align="center" label-class-name="column1">
<el-table-column
label="标准类别"
>
<el-table-column
prop="oneIndexTitle"
align="center"
label="一级指标"
width = '120'
>
</el-table-column>
</el-table-column>
<el-table-column
:label="form.standSort"
>
<el-table-column
prop="twoIndexTitle"
align="center"
label="二级指标"
width = '120'
>
<template slot-scope="scope">
{{form.fsRejectStatus === 2 ? filterTwoTitle(scope.row) : scope.row.twoIndexTitle}}
</template>
</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 disabled v-model.number="scope.row.score" placeholder="请填写分值" />
</el-form-item>
</template>
</el-table-column>
<el-table-column
prop="scoreMin"
align="center"
label="分值小计"
width = '80'
>
<template slot-scope="scope">
{{setScoreMin(scope.row)}}
</template>
</el-table-column>
<el-table-column
prop="reason"
align="center"
label="简述扣分理由(不合格<6分,必填)"
>
<template slot-scope="scope" v-if="(scope.row.valueType !== 'add' && scope.row.score !== undefined && scope.row.score !== '' && scope.row.score < 10)">
<el-form-item
:prop="'evaluationData.'+scope.$index + '.reason'"
:rules="scope.row.score < 6 ? rules.reason : rules.reasonNot" >
<el-input disabled v-model="scope.row.reason" placeholder="请填写扣分理由" />
</el-form-item>
</template>
</el-table-column>
</el-table-column>
</el-table-column>
</el-table>
</template>
</div>
<div style="flex: auto;" v-show="form.fsRejectStatus === 2 ? active === '2' : active === '1'">
<formList
:form = "form"
:FBGBUSSFileList = "FBGBUSSFileList"
@@ -569,7 +694,7 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {saveTaskFirst, queryTaskFirst, getBusStandFileByAttId,inboundLiaisonDetail,processModelHisOne} from "api/process";
import {saveTaskFirst, queryTaskFirst, getBusStandFileByAttId,inboundLiaisonDetail,processModelHisOne,evaluationHisListRepSum,evaluationHisListRep} from "api/process";
import TreeSelect from '@/components/treeSelect/treeSelect.vue';
import TreeSelectNew from '@/components/treeSelect/treeSelectNew.vue';
let Base64 = require('js-base64').Base64;
@@ -648,6 +773,7 @@
prcNum: this.$route.query.prcNum,
prcName: this.$route.query.prcName,
detailData: [],
historyData: [],
fileList: [],
footFileList: [],
FBGBUSSFileList: [],
@@ -788,6 +914,7 @@
countryArr:'',
commentCycleDate:'',
form: {
fsRejectStatus:'',
planId:'',
planStatus:'',
reviseStatus:'',
@@ -1050,6 +1177,134 @@
},
},
methods: {
ccc(row){
this.form.evaluationData = []
this.form.evaluationData = JSON.parse(row.mesg)
},
filterTwoTitle(row){
if(row.twoIndexTitle && row.twoIndexTitle.indexOf("%") === -1 && row.twoIndexTitle !== "创新性" && row.twoIndexTitle !== "经济效益" && row.twoIndexTitle !== "社会效益" ){
return row.twoIndexTitle + '%'
}
return row.twoIndexTitle
},
calScope(){
if(this.evaluationMap){
const hqSum = this.evaluationMap["会签征求意见"]
const jsWySum = this.evaluationMap["技术委员会评审/评审意见修改评审"]
const fsSum = this.evaluationMap["复审"]
const shSum = this.evaluationMap["标准法规部高级经理审核"]
const aveCount = (hqSum ? hqSum * 0.3 : 0) + (jsWySum ? jsWySum * 0.4 : 0) + (fsSum ? fsSum * 0.3 : 0) + (shSum ? shSum * 0.3 : 0)
return parseFloat(aveCount).toFixed(1)
}
return 0
},
evaluationHisListRep() {
return new Promise((resolve, reject) => {
evaluationHisListRep({
pid: this.pId
}).then(res => {
this.historyData = res
if(this.historyData && this.historyData.length > 0){
this.form.evaluationData = JSON.parse(this.historyData[0].mesg)
}
this.$forceUpdate()
}).catch(e => {
})
})
},
evaluationHisListRepSum() {
return new Promise((resolve, reject) => {
evaluationHisListRepSum({
pid: this.pId
}).then(res => {
this.evaluationMap = res
this.$forceUpdate()
}).catch(e => {
})
})
},
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);
}
});
if(this.form.evaluationData && this.form.evaluationData.length > 0){
this.form.evaluationData[0].sum = sums[4]
}
return sums;
},
objectSpanMethod({ row, column, rowIndex, columnIndex },value) {
if (columnIndex === 0) {
if (rowIndex === 0) {
return {
rowspan: value.length,
colspan: 1
};
} else {
return {
rowspan: 0,
colspan: 0
};
}
}else if(columnIndex === 1 ) {
const _row = (this.filterData2(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)
@@ -1252,6 +1507,7 @@
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.fileList=this.assemble(this.form.footFile,this.form.footFileName);
this.footFileList=this.assemble(this.form.footFile,this.form.footFileName);
this.FBGBUSSFileList=this.assemble(this.form.FBGBUSS,this.form.FBGBUSSName);
this.BZSMBUSSFileList=this.assemble(this.form.BZSMBUSS,this.form.BZSMBUSSName);
@@ -2335,6 +2591,9 @@
this.form.prcNum = this.prcNum
this.form.prcName = this.prcName
this.form['id'] = item.id
this.form.evaluationData = []
this.evaluationHisListRep()
this.evaluationHisListRepSum()
})
},
assemble(ids,names){
@@ -2367,6 +2626,7 @@
this.getFormFieldList(processForm)
if(processForm.footFile !== undefined && processForm.footFile !== ""){
this.footFileList=this.assemble(processForm.footFile,processForm.footFileName);
this.fileList=this.assemble(processForm.footFile,processForm.footFileName);
}
this.FBGBUSSFileList=this.assemble(processForm.FBGBUSS,processForm.FBGBUSSName);
this.BZSMBUSSFileList=this.assemble(processForm.BZSMBUSS,processForm.BZSMBUSSName);
@@ -2457,6 +2717,9 @@
/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;
}
@@ -854,6 +854,7 @@
countryArr:'',
commentCycleDate:'',
form: {
fsRejectStatus:'',
planId:'',
planStatus:'',
reviseStatus:'',
@@ -795,6 +795,7 @@
countryArr:'',
commentCycleDate:'',
form: {
fsRejectStatus:'',
planId:'',
planStatus:'',
reviseStatus:'',
@@ -1058,6 +1058,7 @@
countryArr:'',
commentCycleDate:'',
form: {
fsRejectStatus:'',
planId:'',
planStatus:'',
reviseStatus:'',
@@ -1384,6 +1385,9 @@
sums[index] = parseFloat(sums[index]).toFixed(1);
}
});
if(this.form.evaluationData && this.form.evaluationData.length > 0){
this.form.evaluationData[0].sum = sums[4]
}
return sums;
},
objectSpanMethod({ row, column, rowIndex, columnIndex },value) {
@@ -1087,6 +1087,7 @@
countryArr:'',
commentCycleDate:'',
form: {
fsRejectStatus:'',
evaluationData:[],
planId:'',
planStatus:'',
@@ -1432,6 +1433,9 @@
sums[index] = parseFloat(sums[index]).toFixed(1);
}
});
if(this.form.evaluationData && this.form.evaluationData.length > 0){
this.form.evaluationData[0].sum = sums[4]
}
return sums;
},
objectSpanMethod({ row, column, rowIndex, columnIndex },value) {
@@ -82,7 +82,7 @@
<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-input :disabled="form.fsRejectStatus === 1" v-model.number="scope.row.score" placeholder="请填写分值" />
</el-form-item>
</template>
</el-table-column>
@@ -105,7 +105,7 @@
<el-form-item
:prop="'evaluationData.'+scope.$index + '.reason'"
:rules="scope.row.score < 6 ? rules.reason : rules.reasonNot" >
<el-input v-model="scope.row.reason" placeholder="请填写扣分理由" />
<el-input :disabled="form.fsRejectStatus === 1" v-model="scope.row.reason" placeholder="请填写扣分理由" />
</el-form-item>
</template>
</el-table-column>
@@ -677,7 +677,7 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {saveTaskFirst, queryTaskFirst, getBusStandFileByAttId,inboundLiaisonDetail,changeAssigneeNew} from "api/process";
import {saveTaskFirst, queryTaskFirst, getBusStandFileByAttId,inboundLiaisonDetail,changeAssigneeNew,evaluationHisListByOne} from "api/process";
import {getEvaluationIndex} from "api/businessApi";
import TreeSelect from '@/components/treeSelect/treeSelect.vue';
import TreeSelectNew from '@/components/treeSelect/treeSelectNew.vue';
@@ -916,6 +916,7 @@
countryArr:'',
commentCycleDate:'',
form: {
fsRejectStatus:'',
planId:'',
planStatus:'',
reviseStatus:'',
@@ -1240,6 +1241,9 @@
sums[index] = parseFloat(sums[index]).toFixed(1);
}
});
if(this.form.evaluationData && this.form.evaluationData.length > 0){
this.form.evaluationData[0].sum = sums[4]
}
return sums;
},
objectSpanMethod({ row, column, rowIndex, columnIndex },value) {
@@ -2502,7 +2506,11 @@
this.$nextTick(() => {
this.form = JSON.parse(JSON.stringify(item))
this.form.evaluationData = []
this.getEvaluation()
if(this.form.fsRejectStatus === 1){
this.evaluationHisListByOne()
}else {
this.getEvaluation()
}
this.form.prcNum = this.prcNum
this.form.prcName = this.prcName
this.form['id'] = item.id
@@ -2518,6 +2526,19 @@
return list;
},
evaluationHisListByOne() {
return new Promise((resolve, reject) => {
evaluationHisListByOne({
pid: this.pId,taskInfo:'技术委员会评审/评审意见修改评审'
}).then(res => {
if (res) {
this.form.evaluationData = JSON.parse(res.mesg)
this.$forceUpdate()
}
}).catch(e => {
})
})
},
getEvaluation() {
return new Promise((resolve, reject) => {
getEvaluationIndex({
@@ -2,7 +2,7 @@
<!-- 标准入库流程-->
<ProcessHeader toggle>
<template slot="proName">企标制修订-技术标准</template>
<template slot="proNode">审核</template>
<template slot="proNode">起草单位高级经理审核</template>
</ProcessHeader>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
@@ -738,6 +738,7 @@
countryArr:'',
commentCycleDate:'',
form: {
fsRejectStatus:'',
planId:'',
planStatus:'',
reviseStatus:'',
@@ -2,7 +2,7 @@
<!-- 标准入库流程-->
<ProcessHeader toggle>
<template slot="proName">企标制修订-技术标准</template>
<template slot="proNode">审核</template>
<template slot="proNode">标准法规部高级经理审核</template>
</ProcessHeader>
<div class="headerTabs">
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">审核评分</div>
@@ -18,8 +18,14 @@
class="label-input-form"
label-width="210px"
>
<div style="flex: auto;" id="active1" v-show="active === '1'">
<div style="flex: auto;position: relative" id="active1" v-show="active === '1'">
<template>
<div style="position: absolute;z-index: 2;right: 67px;top: 5px;">
<el-button type="primary" plain @click="subFunc()">计算质量评价总平均分</el-button>
<span style="font-size: 20px;color: rgb(255, 153, 0);position: relative;top: 3px;margin-left: 15px;">
{{calScope()}}
</span>
</div>
<el-table
:data="form.evaluationData"
:summary-method="getSummaries"
@@ -47,6 +53,9 @@
label="二级指标"
width = '120'
>
<template slot-scope="scope">
{{form.fsRejectStatus === 1 ? filterTwoTitle(scope.row) : scope.row.twoIndexTitle}}
</template>
</el-table-column>
<el-table-column
prop="threeIndexTitle"
@@ -82,7 +91,7 @@
<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-input :disabled="form.fsRejectStatus === 1" v-model.number="scope.row.score" placeholder="请填写分值" />
</el-form-item>
</template>
</el-table-column>
@@ -105,7 +114,7 @@
<el-form-item
:prop="'evaluationData.'+scope.$index + '.reason'"
:rules="scope.row.score < 6 ? rules.reason : rules.reasonNot" >
<el-input v-model="scope.row.reason" placeholder="请填写扣分理由" />
<el-input :disabled="form.fsRejectStatus === 1" v-model="scope.row.reason" placeholder="请填写扣分理由" />
</el-form-item>
</template>
</el-table-column>
@@ -314,15 +323,17 @@
<ProcessFooter
v-show="verifySarStandard"
show-save
show-over2
show-over3
show-submit2
show-transfer
:submitLoading="isSubmit"
:saveLoading="saveLoading"
:disabledStatus="calScope() < 60"
@save="handleSave"
@transfer="handleTransfer"
@submit2="handle2"
@over2="handle1"
@over3="handle3"
@over4="handle4"
>
</ProcessFooter>
<el-dialog width='400px' :visible.sync="fileMadel" title="上传文件">
@@ -677,7 +688,7 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {saveTaskFirst, queryTaskFirst, getBusStandFileByAttId,inboundLiaisonDetail,changeAssigneeNew} from "api/process";
import {saveTaskFirst, queryTaskFirst, getBusStandFileByAttId,inboundLiaisonDetail,changeAssigneeNew,evaluationHisListByOne,evaluationHisListRepSum} from "api/process";
import {getEvaluationIndex} from "api/businessApi";
import TreeSelect from '@/components/treeSelect/treeSelect.vue';
import TreeSelectNew from '@/components/treeSelect/treeSelectNew.vue';
@@ -778,6 +789,7 @@
prcNum: this.$route.query.prcNum,
prcName: this.$route.query.prcName,
detailData: [],
evaluationMap: new Map(),
fileList: [],
FBGBUSSFileList: [],
BZSMBUSSFileList: [],
@@ -917,6 +929,7 @@
countryArr:'',
commentCycleDate:'',
form: {
fsRejectStatus:'',
planId:'',
planStatus:'',
reviseStatus:'',
@@ -1189,6 +1202,31 @@
},
},
methods: {
filterTwoTitle(row){
if(row.twoIndexTitle && row.twoIndexTitle.indexOf("%") === -1 && row.twoIndexTitle !== "创新性" && row.twoIndexTitle !== "经济效益" && row.twoIndexTitle !== "社会效益" ){
return row.twoIndexTitle + '%'
}
return row.twoIndexTitle
},
calScope(){
if(this.evaluationMap){
const hqSum = this.evaluationMap["会签征求意见"]
const jsWySum = this.evaluationMap["技术委员会评审/评审意见修改评审"]
const fsSum = this.evaluationMap["复审"]
const shSum = this.form.evaluationData && this.form.evaluationData.length > 0 ? this.form.evaluationData[0].sum : 0
const aveCount = (hqSum ? hqSum * 0.3 : 0) + (jsWySum ? jsWySum * 0.4 : 0) + (fsSum ? fsSum * 0.3 : 0) + (shSum ? shSum * 0.3 : 0)
return parseFloat(aveCount).toFixed(1)
}
return 0
},
subFunc(){
this.form.fsRejectStatus = 2
this.$refs['form'].validate((valid) => {
if (valid) {
}
})
},
filterData2(){
let spanOneArr = []
let concatOne = 0
@@ -1243,6 +1281,9 @@
sums[index] = parseFloat(sums[index]).toFixed(1);
}
});
if(this.form.evaluationData && this.form.evaluationData.length > 0){
this.form.evaluationData[0].sum = sums[4]
}
return sums;
},
objectSpanMethod({ row, column, rowIndex, columnIndex },value) {
@@ -2404,13 +2445,29 @@
this.drawerModal = true
this.drawerTitle = '转办处理人'
},
handle1(){
handle3(){
this.formTongGuo.approvalOpinion = 1
this.handleSubmit()
this.form.fsRejectStatus = 1
const json = JSON.stringify(this.form);
console.log(json)
this.$refs['form'].validate((valid) => {
if (valid) {
this.handleSubmit()
}
})
},
handle4(){
const json = JSON.stringify(this.form);
this.formTongGuo.approvalOpinion = 2
this.form.fsRejectStatus = 2
this.$refs['form'].validate((valid) => {
if (valid) {
this.handleSubmit()
}
})
},
handle2(){
const json = JSON.stringify(this.form);
console.log(json)
this.formTongGuo.approvalOpinion = 0
this.$refs['form'].validate((valid) => {
if (valid) {
@@ -2500,10 +2557,15 @@
this.$nextTick(() => {
this.form = JSON.parse(JSON.stringify(item))
this.form.evaluationData = []
this.getEvaluation()
if(this.form.fsRejectStatus === 1){
this.evaluationHisListByOne()
}else {
this.getEvaluation()
}
this.form.prcNum = this.prcNum
this.form.prcName = this.prcName
this.form['id'] = item.id
this.evaluationHisListRepSum()
})
},
assemble(ids,names){
@@ -2516,6 +2578,30 @@
return list;
},
evaluationHisListRepSum() {
return new Promise((resolve, reject) => {
evaluationHisListRepSum({
pid: this.pId
}).then(res => {
this.evaluationMap = res
this.$forceUpdate()
}).catch(e => {
})
})
},
evaluationHisListByOne() {
return new Promise((resolve, reject) => {
evaluationHisListByOne({
pid: this.pId,taskInfo:'技术委员会评审/评审意见修改评审'
}).then(res => {
if (res) {
this.form.evaluationData = JSON.parse(res.mesg)
this.$forceUpdate()
}
}).catch(e => {
})
})
},
getEvaluation() {
return new Promise((resolve, reject) => {
getEvaluationIndex({
@@ -2531,6 +2617,10 @@
item.processNode = this.taskInfo
evalList.push(item)
})
if(evalList && evalList.length > 0){
evalList[0].sum = ''
}
this.form.evaluationData = evalList
this.$forceUpdate()
}
File diff suppressed because it is too large Load Diff
@@ -82,7 +82,7 @@
<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-input :disabled="form.fsRejectStatus === 1" v-model.number="scope.row.score" placeholder="请填写分值" />
</el-form-item>
</template>
</el-table-column>
@@ -105,7 +105,7 @@
<el-form-item
:prop="'evaluationData.'+scope.$index + '.reason'"
:rules="scope.row.score < 6 ? rules.reason : rules.reasonNot" >
<el-input v-model="scope.row.reason" placeholder="请填写扣分理由" />
<el-input :disabled="form.fsRejectStatus === 1" v-model="scope.row.reason" placeholder="请填写扣分理由" />
</el-form-item>
</template>
</el-table-column>
@@ -835,7 +835,7 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import {saveTaskFirst, queryTaskFirst, getBusStandFileByAttId,inboundLiaisonDetail,processModelHisOneCount} from "api/process";
import {saveTaskFirst, queryTaskFirst, getBusStandFileByAttId,inboundLiaisonDetail,processModelHisOneCount,evaluationHisListByOne} from "api/process";
import TreeSelect from '@/components/treeSelect/treeSelect.vue';
import TreeSelectNew from '@/components/treeSelect/treeSelectNew.vue';
import {getEvaluationIndex} from "api/businessApi";
@@ -1087,6 +1087,7 @@
countryArr:'',
commentCycleDate:'',
form: {
fsRejectStatus:'',
evaluationData:[],
planId:'',
planStatus:'',
@@ -1432,6 +1433,9 @@
sums[index] = parseFloat(sums[index]).toFixed(1);
}
});
if(this.form.evaluationData && this.form.evaluationData.length > 0){
this.form.evaluationData[0].sum = sums[4]
}
return sums;
},
objectSpanMethod({ row, column, rowIndex, columnIndex },value) {
@@ -2848,8 +2852,13 @@
getFormFieldList (item) {
this.$nextTick(() => {
this.form = JSON.parse(JSON.stringify(item))
console.log(this.form)
this.form.evaluationData = []
this.getEvaluation()
if(this.form.fsRejectStatus === 1){
this.evaluationHisListByOne()
}else {
this.getEvaluation()
}
this.form.prcNum = this.prcNum
this.form.prcName = this.prcName
this.form['id'] = item.id
@@ -2889,6 +2898,19 @@
})
})
},
evaluationHisListByOne() {
return new Promise((resolve, reject) => {
evaluationHisListByOne({
pid: this.pId,taskInfo:'技术委员会评审/评审意见修改评审'
}).then(res => {
if (res) {
this.form.evaluationData = JSON.parse(res.mesg)
this.$forceUpdate()
}
}).catch(e => {
})
})
},
getData() {
if(this.taskIds && this.pId){
return new Promise((resolve, reject) => {
@@ -782,6 +782,7 @@
countryArr:'',
commentCycleDate:'',
form: {
fsRejectStatus:'',
modelData:[],
modelDataNameVerify:[],
modelDataZrUserVerify:[],
@@ -341,6 +341,17 @@ export default {
prcType: row.prcType
}
})
}else if (row.taskInfo === '重新发起企标制修订-技术标准流程'){
this.$router.push({
name: 'bussLibraryC1',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}else if (row.taskInfo === '标准化员初审'){
this.$router.push({
name: 'bussLibrary4',
@@ -407,7 +418,18 @@ export default {
prcType: row.prcType
}
})
}else if (row.taskInfo === '审核'){
}else if (row.taskInfo === '起草单位高级经理审核'){
this.$router.push({
name: 'bussLibrary8',
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
})
}else if (row.taskInfo === '标准法规部高级经理审核'){
this.$router.push({
name: 'bussLibrary9',
query: {
@@ -301,6 +301,16 @@ export default {
verifySarStandard: true,
}
})
}else if (mes.taskInfo === '重新发起企标制修订-技术标准流程'){
this.$router.push({
name: 'bussLibraryC1',
query: {
type: 'buss1',
processName: mes.taskInfo,
bpnId: id,
verifySarStandard: true,
}
})
}else if (mes.taskInfo === '企标编写汇总修订'){
this.$router.push({
name: 'bussLibrary3',
@@ -377,7 +387,7 @@ export default {
verifySarStandard: true,
}
})
}else if (mes.taskInfo === '审核'){
}else if (mes.taskInfo === '起草单位高级经理审核'){
this.$router.push({
name: 'bussLibrary8',
query: {
@@ -388,7 +398,7 @@ export default {
verifySarStandard: true,
}
})
}else if (mes.taskInfo === '审核'){
}else if (mes.taskInfo === '标准法规部高级经理审核'){
this.$router.push({
name: 'bussLibrary9',
query: {
+8
View File
@@ -1033,6 +1033,14 @@ const routes = [
requireAuth: true,
title: '企标制修订流程及企业标准库流程'
}
}, {
path: '/bussLibraryC1',
name: 'bussLibraryC1',
component: () => import('@/pages/processCenter/pages/creatProcess/qbrk/stepC1.vue'),
meta: {
requireAuth: true,
title: '企标制修订流程及企业标准库流程'
}
},
{
path: '/bussLibrary2',