添加汇总页面(企标制修订计划管控)
This commit is contained in:
@@ -0,0 +1,833 @@
|
|||||||
|
<template>
|
||||||
|
<div class="qbzxd-jhgk">
|
||||||
|
<ProcessHeader toggle>
|
||||||
|
<template slot="proName">企标制修订计划管控</template>
|
||||||
|
<template slot="proNode">起草</template>
|
||||||
|
</ProcessHeader>
|
||||||
|
<div class="headerTabs">
|
||||||
|
<div class="headerTabsItem" :class="active === '1' ? 'active' : ''" @click="handleTabs('1')">基础信息</div>
|
||||||
|
<div class="headerTabsItem" v-if="approvalFlag" :class="active === '3' ? 'active' : ''" @click="handleTabs('3')">审批历史</div>
|
||||||
|
<div class="headerTabsItem" v-else :class="active === '2' ? 'active' : ''" @click="handleTabs('2')">人员信息</div>
|
||||||
|
</div>
|
||||||
|
<div class="content" v-show="active === '1'">
|
||||||
|
<div style="flex: auto; overflow: auto">
|
||||||
|
<process-title v-if="showFlag">
|
||||||
|
<template slot="title">基础信息</template>
|
||||||
|
</process-title>
|
||||||
|
<el-form
|
||||||
|
v-if="showFlag"
|
||||||
|
class="label-input-form prc-content-border"
|
||||||
|
label-width="150px"
|
||||||
|
>
|
||||||
|
<el-row :gutter="24">
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="调整类型" class="add-form-item form-item-disabled">
|
||||||
|
<el-button :disabled="disabledXX" size="small" type="primary" style="margin: 10px;" @click="toggleComName('establish')">立项
|
||||||
|
</el-button>
|
||||||
|
<el-button :disabled="disabledXX" size="small" type="primary" style="margin: 10px;" @click="toggleComName('merge')">合并
|
||||||
|
</el-button>
|
||||||
|
<el-button :disabled="disabledXX" size="small" type="primary" style="margin: 10px;" @click="toggleComName('delay')">延期
|
||||||
|
</el-button>
|
||||||
|
<el-button :disabled="disabledXX" size="small" type="primary" style="margin: 10px;" @click="toggleComName('cancel')">取消
|
||||||
|
</el-button>
|
||||||
|
<el-button :disabled="disabledXX" size="small" type="primary" style="margin: 10px;" @click="toggleComName('rename')">更名
|
||||||
|
</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
<component ref="childForm" :message="qbfsForm" :is="comName"></component>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<el-collapse accordion v-model="activeNames">
|
||||||
|
<el-collapse-item title="回执说明" name="1">
|
||||||
|
<div style="margin: 10px 0;">
|
||||||
|
<el-input :disabled="disabledXX"
|
||||||
|
type="textarea"
|
||||||
|
:rows="3"
|
||||||
|
resize="none"
|
||||||
|
placeholder="请输入意见"
|
||||||
|
v-model="commentText">
|
||||||
|
</el-input>
|
||||||
|
</div>
|
||||||
|
</el-collapse-item>
|
||||||
|
</el-collapse>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<loading :loading="formLoading">数据加载中...</loading>
|
||||||
|
<div class="content" v-show="active === '2'">
|
||||||
|
<div class="block" style="padding-top: 20px;">
|
||||||
|
<el-timeline>
|
||||||
|
<el-form
|
||||||
|
ref="roleForm"
|
||||||
|
:roleMessage="roleForm"
|
||||||
|
:model="roleForm"
|
||||||
|
:rules="roleFormRules"
|
||||||
|
class="label-input-form">
|
||||||
|
<el-timeline-item timestamp="起草" placement="top" :color="roleForm.prcCreateUser ? '#66b1ff' : ''">
|
||||||
|
<el-card>
|
||||||
|
<el-form-item prop="prcCreateUserName" style="margin-bottom: 0">
|
||||||
|
<h4>标准立项申请人</h4>
|
||||||
|
<div style="margin-top: 10px;width: 300px;">
|
||||||
|
<el-input :disabled="disabledXX" v-model="roleForm.prcCreateUser" style="display: none;"></el-input>
|
||||||
|
<el-input :disabled="disabledXX" v-model="roleForm.prcCreateUserName" placeholder="标准立项申请人"
|
||||||
|
disabled></el-input>
|
||||||
|
</div>
|
||||||
|
</el-form-item>
|
||||||
|
</el-card>
|
||||||
|
</el-timeline-item>
|
||||||
|
<el-timeline-item timestamp="审核" placement="top"
|
||||||
|
:color="roleForm.dockUser ? '#66b1ff' : ''">
|
||||||
|
<el-card>
|
||||||
|
<el-form-item prop="dockUserName" style="margin-bottom: 0">
|
||||||
|
<h4>标准立项单位整车/系统总工</h4>
|
||||||
|
<div style="margin-top: 10px;width: 300px;">
|
||||||
|
<el-input :disabled="disabledXX" v-model="roleForm.dockUser" style="display: none;"></el-input>
|
||||||
|
<el-input :disabled="disabledXX" v-model="roleForm.dockUserName" readonly placeholder="选择标准立项单位整车/系统总工"
|
||||||
|
@click.native="choiceZRR('dockUser', '选择标准立项单位整车/系统总工', roleForm.dockUser)">
|
||||||
|
</el-input>
|
||||||
|
</div>
|
||||||
|
</el-form-item>
|
||||||
|
</el-card>
|
||||||
|
</el-timeline-item>
|
||||||
|
<el-timeline-item timestamp="会签" placement="top"
|
||||||
|
:color="roleForm.countersigner ? '#66b1ff' : ''">
|
||||||
|
<el-card>
|
||||||
|
<el-form-item prop="countersignerName" style="margin-bottom: 0">
|
||||||
|
<h4>创新技术委员会成员/标准体系工作组成员(必选)</h4>
|
||||||
|
<h4>二级研发(部所所长、总工、中心主任/研究院院长)(可选)</h4>
|
||||||
|
<h4>质量相关人员(可选)</h4>
|
||||||
|
<h4>制造部相关人员(可选)</h4>
|
||||||
|
<h4>采购部相关人员(可选)</h4>
|
||||||
|
<h4>海外相关人员(可选)</h4>
|
||||||
|
<div style="margin-top: 10px;width: 300px;">
|
||||||
|
<el-input :disabled="disabledXX" v-model="roleForm.countersigner" style="display: none;"></el-input>
|
||||||
|
<el-input :disabled="disabledXX" v-model="roleForm.countersignerName" readonly placeholder="选择会签人员"
|
||||||
|
@click.native="choiceZRRS">
|
||||||
|
</el-input>
|
||||||
|
</div>
|
||||||
|
</el-form-item>
|
||||||
|
</el-card>
|
||||||
|
</el-timeline-item>
|
||||||
|
<el-timeline-item timestamp="审定" placement="top"
|
||||||
|
:color="roleForm.examine ? '#66b1ff' : ''">
|
||||||
|
<el-card>
|
||||||
|
<el-form-item prop="examineName" style="margin-bottom: 0">
|
||||||
|
<h4>标准体系工作组组长</h4>
|
||||||
|
<div style="margin-top: 10px;width: 300px;">
|
||||||
|
<el-input :disabled="disabledXX" v-model="roleForm.examine" style="display: none;"></el-input>
|
||||||
|
<el-input :disabled="disabledXX" v-model="roleForm.examineName" readonly placeholder="选择标准体系工作组组长"
|
||||||
|
@click.native="choiceZRR('examine', '选择标准体系工作组组长', roleForm.examine)">
|
||||||
|
</el-input>
|
||||||
|
</div>
|
||||||
|
</el-form-item>
|
||||||
|
</el-card>
|
||||||
|
</el-timeline-item>
|
||||||
|
<el-timeline-item timestamp="批准" placement="top"
|
||||||
|
:color="roleForm.approver ? '#66b1ff' : ''">
|
||||||
|
<el-card>
|
||||||
|
<el-form-item prop="approverName" style="margin-bottom: 0">
|
||||||
|
<h4>标准法规部高级经理</h4>
|
||||||
|
<div style="margin-top: 10px;width: 300px;">
|
||||||
|
<el-input :disabled="disabledXX" v-model="roleForm.approver" style="display: none;"></el-input>
|
||||||
|
<el-input :disabled="disabledXX" v-model="roleForm.approverName" readonly placeholder="选择标准法规部高级经理"
|
||||||
|
@click.native="choiceZRR('approver', '选择标准法规部高级经理', roleForm.approver)">
|
||||||
|
</el-input>
|
||||||
|
</div>
|
||||||
|
</el-form-item>
|
||||||
|
</el-card>
|
||||||
|
</el-timeline-item>
|
||||||
|
<!-- <el-timeline-item timestamp="抄送" placement="top"-->
|
||||||
|
<!-- :color="roleForm.engineer ? '#66b1ff' : ''">-->
|
||||||
|
<!-- <el-card>-->
|
||||||
|
<!-- <el-form-item prop="engineerName" style="margin-bottom: 0">-->
|
||||||
|
<!-- <h4>相关单位、工程研究总院标准法规部</h4>-->
|
||||||
|
<!-- <div style="margin-top: 10px;width: 300px;">-->
|
||||||
|
<!-- <el-input :disabled="disabledXX" v-model="roleForm.engineer" style="display: none;"></el-input>-->
|
||||||
|
<!-- <el-input :disabled="disabledXX" v-model="roleForm.engineerName" readonly placeholder="选择相关单位、工程研究总院标准法规部"-->
|
||||||
|
<!-- @click.native="choiceZRR('engineer', '选择相关单位、工程研究总院标准法规部', roleForm.engineer)">-->
|
||||||
|
<!-- </el-input>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- </el-form-item>-->
|
||||||
|
<!-- </el-card>-->
|
||||||
|
<!-- </el-timeline-item>-->
|
||||||
|
</el-form>
|
||||||
|
</el-timeline>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="content" v-show="active === '3'">
|
||||||
|
<div class="flow-list" style="height: 100%">
|
||||||
|
<el-table
|
||||||
|
height="100%"
|
||||||
|
ref="selection"
|
||||||
|
:data="detailData"
|
||||||
|
tooltip-effect="dark"
|
||||||
|
style="width: 100%"
|
||||||
|
border
|
||||||
|
row-key="id"
|
||||||
|
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
|
||||||
|
>
|
||||||
|
<el-table-column
|
||||||
|
type="selection"
|
||||||
|
width="55"
|
||||||
|
align="center">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
prop="name"
|
||||||
|
label="任务步骤"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
prop="assignee"
|
||||||
|
label="任务受理人"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
prop="createTime"
|
||||||
|
label="创建时间"
|
||||||
|
align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ scope.row.createTime ? $moment(scope.row.createTime).format("YYYY-MM-DD") : "" }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
prop="endTime"
|
||||||
|
label="完成时间"
|
||||||
|
align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ scope.row.endTime ? $moment(scope.row.endTime).format("YYYY-MM-DD") : "" }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
prop="comment"
|
||||||
|
label="流程信息"
|
||||||
|
align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ scope.row.commentText }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
prop="completeFlag"
|
||||||
|
label="状态"
|
||||||
|
align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ scope.row.endTime ? "已完成" : "未完成" }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<loading :loading="loading">流程列表加载中</loading>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<ProcessFooter v-show="!disabledXX"
|
||||||
|
show-save
|
||||||
|
show-submit
|
||||||
|
:submitLoading="isSubmit"
|
||||||
|
:saveLoading="saveLoading"
|
||||||
|
@save="handleSave"
|
||||||
|
@submit="handleSubmit"
|
||||||
|
>
|
||||||
|
</ProcessFooter>
|
||||||
|
<!-- 多选择责任人-->
|
||||||
|
<Role-tree v-if="!disabledXX"
|
||||||
|
is-title="选择责任部门对接人"
|
||||||
|
:is-visible.sync="modalshowflag2"
|
||||||
|
@checkedRole="checkedRole2"
|
||||||
|
:nodeList="nodeList2"
|
||||||
|
></Role-tree>
|
||||||
|
<!-- 单选人-->
|
||||||
|
<Role-tree v-if="!disabledXX"
|
||||||
|
check-box
|
||||||
|
:is-title="drawerTitle"
|
||||||
|
:is-visible.sync="modalshowflag"
|
||||||
|
@checkedRole="checkedRole"
|
||||||
|
:nodeList="nodeList"
|
||||||
|
></Role-tree>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import ProcessHeader from "../../components/ProcessHeader";
|
||||||
|
import ProcessFooter from "../../components/ProcessFooter";
|
||||||
|
import ProcessTitle from "../../components/ProcessTitle";
|
||||||
|
import merge from "process/creatProcess/qbzxdjhgk/component/merge";
|
||||||
|
import rename from "process/creatProcess/qbzxdjhgk/component/rename";
|
||||||
|
import establish from "process/creatProcess/qbzxdjhgk/component/establish";
|
||||||
|
import delay from "process/creatProcess/qbzxdjhgk/component/delay";
|
||||||
|
import cancel from "process/creatProcess/qbzxdjhgk/component/cancel";
|
||||||
|
import axios from "axios";
|
||||||
|
import { saveTaskFirst, queryTaskFirst, inboundLiaisonDetail, taskDel, saveTaskForPub } from "api/process";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "qbzxdjhgkStep1",
|
||||||
|
components: {
|
||||||
|
ProcessHeader,
|
||||||
|
ProcessFooter,
|
||||||
|
ProcessTitle,
|
||||||
|
merge,
|
||||||
|
rename,
|
||||||
|
establish,
|
||||||
|
delay,
|
||||||
|
cancel
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
activeNames:'1',
|
||||||
|
disabledXX:!!this.$route.query.disabledXX,
|
||||||
|
submitFlag: '',
|
||||||
|
toggleType: '5',
|
||||||
|
comFlag: 1,
|
||||||
|
active: "1",
|
||||||
|
commentText: "",
|
||||||
|
comName: "establish",
|
||||||
|
qbfsForm: {},
|
||||||
|
formLoading: false,
|
||||||
|
approvalFlag: false,
|
||||||
|
showFlag: true,
|
||||||
|
taskIds: '',
|
||||||
|
bpnId: '',
|
||||||
|
drawerTitle: "",
|
||||||
|
nodeList: [],
|
||||||
|
nodeList2: [],
|
||||||
|
detailData: [],
|
||||||
|
isSubmit: false,
|
||||||
|
saveLoading: false,
|
||||||
|
modalshowflag: false,
|
||||||
|
modalshowflag2: false,
|
||||||
|
loading: false,
|
||||||
|
roleForm: {
|
||||||
|
prcCreateUserName: this.$store.getters.userInfo.userName,
|
||||||
|
prcCreateUser: this.$store.getters.userInfo.userId,
|
||||||
|
dockUser: "",
|
||||||
|
dockUserName: "",
|
||||||
|
countersigner: "",
|
||||||
|
countersignerName: "",
|
||||||
|
approver: "",
|
||||||
|
approverName: "",
|
||||||
|
engineer: "",
|
||||||
|
engineerName: "",
|
||||||
|
examine: "",
|
||||||
|
examineName: ""
|
||||||
|
},
|
||||||
|
//必填人员校验规则
|
||||||
|
roleFormRules: {
|
||||||
|
dockUserName: [
|
||||||
|
{ required: true, message: "请选择标准立项单位整车/系统总工", trigger: "change" }
|
||||||
|
],
|
||||||
|
countersignerName:[
|
||||||
|
{required: true, message:'请选择会签人员', trigger: "change" }
|
||||||
|
],
|
||||||
|
examineName:[
|
||||||
|
{required: true, message:'请选择标准体系工作组组长', trigger: "change" }
|
||||||
|
],
|
||||||
|
approverName:[
|
||||||
|
{required: true, message:'请选择总院技术委员会覆盖领域企业标准:专委会主任/总院技术委员会未覆盖领域企业标准:总院院长或总院主管副院长', trigger: "change" }
|
||||||
|
],
|
||||||
|
engineerName:[
|
||||||
|
{required: true, message:'请选择相关单位、工程研究总院标准法规部', trigger: "change" }
|
||||||
|
],
|
||||||
|
}
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
this.taskIds = this.$route.query.taskIds
|
||||||
|
this.bpnId = this.$route.query.bpnId
|
||||||
|
if (this.bpnId !== undefined) {
|
||||||
|
this.getData()
|
||||||
|
}
|
||||||
|
if(this.taskIds){
|
||||||
|
this.approvalFlag = true
|
||||||
|
this.processTable()
|
||||||
|
//被驳回时调用
|
||||||
|
this.getHistoryData()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
processTable() {
|
||||||
|
this.$http.get("lawss/activiti/get_list_by_instance", {
|
||||||
|
prcNum: this.$route.query.prcNum,
|
||||||
|
sortWord: this.shunxu ? this.paixu : "",
|
||||||
|
shunxu: this.shunxu
|
||||||
|
}, {
|
||||||
|
loading: "loading",
|
||||||
|
_this: this
|
||||||
|
}, res => {
|
||||||
|
this.detailData = res
|
||||||
|
}, e => {
|
||||||
|
})
|
||||||
|
},
|
||||||
|
getData() {
|
||||||
|
this.formLoading = true
|
||||||
|
this.showFlag = false
|
||||||
|
queryTaskFirst({
|
||||||
|
bpnId: this.$route.query.bpnId
|
||||||
|
}).then(res => {
|
||||||
|
let mes = JSON.parse(res.mes)
|
||||||
|
this.getFormFieldList(mes);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
getHistoryData() {
|
||||||
|
this.submitFlag = '重新起草'
|
||||||
|
this.showFlag = false
|
||||||
|
this.formLoading = true
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
inboundLiaisonDetail({
|
||||||
|
taskIds: this.$route.query.taskIds,
|
||||||
|
pId: this.$route.query.prcId,
|
||||||
|
}).then(res => {
|
||||||
|
if (res) {
|
||||||
|
const processForm = JSON.parse(res.mesg)
|
||||||
|
this.getFormFieldList(processForm)
|
||||||
|
}
|
||||||
|
}).catch(e => {
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* @description: 动态表单读取
|
||||||
|
*/
|
||||||
|
getFormFieldList(item) {
|
||||||
|
console.log(item);
|
||||||
|
this.toggleType= item.type || item.qbfsForm.type
|
||||||
|
this.$nextTick(() => {
|
||||||
|
switch (this.toggleType){
|
||||||
|
case '1':
|
||||||
|
this.comName = "merge"
|
||||||
|
break
|
||||||
|
case '2':
|
||||||
|
this.comName = "delay"
|
||||||
|
break
|
||||||
|
case '3':
|
||||||
|
this.comName = "cancel"
|
||||||
|
break
|
||||||
|
case '4':
|
||||||
|
this.comName = "rename"
|
||||||
|
break
|
||||||
|
case '5':
|
||||||
|
this.comName = "establish"
|
||||||
|
break
|
||||||
|
}
|
||||||
|
this.qbfsForm = item.qbfsForm || item;
|
||||||
|
if (this.qbfsForm.bussSort) {
|
||||||
|
if(this.qbfsForm.bussSort instanceof Array){
|
||||||
|
this.qbfsForm.bussSort = this.qbfsForm.bussSort[0]
|
||||||
|
}else {
|
||||||
|
let val = this.qbfsForm.bussSort.replace('//',"").replace('["',"").replace('"]',"").toString()
|
||||||
|
if (val !== '' && val !== null && typeof (val) !== 'undefined') {
|
||||||
|
if (val instanceof Array) {
|
||||||
|
this.qbfsForm.bussSort = this.form.bussSort.join(",")[0];
|
||||||
|
} else {
|
||||||
|
this.qbfsForm.bussSort = val
|
||||||
|
}
|
||||||
|
} else if (val === '') {
|
||||||
|
this.qbfsForm.bussSort = ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.qbfsForm.bussSort = ""
|
||||||
|
}
|
||||||
|
this.formLoading = false;
|
||||||
|
// this.commentText = item.commentText
|
||||||
|
this.roleForm.dockUser = item.dockUser || item.roleForm.dockUser;
|
||||||
|
this.roleForm.dockUserName = item.dockUserName || item.roleForm.dockUserName;
|
||||||
|
this.roleForm.countersigner = item.countersigner || item.roleForm.countersigner;
|
||||||
|
this.roleForm.countersignerName = item.countersignerName || item.roleForm.countersignerName;
|
||||||
|
this.roleForm.approver = item.approver ||item.roleForm.approver;
|
||||||
|
this.roleForm.approverName = item.approverName || item.roleForm.approverName;
|
||||||
|
this.roleForm.engineer = item.engineer || item.roleForm.engineer;
|
||||||
|
this.roleForm.engineerName = item.engineerName || item.roleForm.engineerName;
|
||||||
|
this.roleForm.examine = item.examine || item.roleForm.examine;
|
||||||
|
this.roleForm.examineName = item.examineName || item.roleForm.examineName;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
handleTabs(name) {
|
||||||
|
this.active = name;
|
||||||
|
},
|
||||||
|
toggleComName(name) {
|
||||||
|
this.qbfsForm = {}
|
||||||
|
this.comName = name;
|
||||||
|
if(this.comName === 'merge'){
|
||||||
|
this.toggleType = '1'
|
||||||
|
}else if(this.comName === 'delay'){
|
||||||
|
this.toggleType = '2'
|
||||||
|
}else if(this.comName === 'cancel'){
|
||||||
|
this.toggleType = '3'
|
||||||
|
}else if(this.comName === 'rename'){
|
||||||
|
this.toggleType = '4'
|
||||||
|
}else if(this.comName === 'establish'){
|
||||||
|
this.toggleType = '5'
|
||||||
|
this.$refs.childForm.saveEditFile()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//流程保存
|
||||||
|
handleSave() {
|
||||||
|
if(this.approvalFlag){
|
||||||
|
//被驳回后的保存
|
||||||
|
this.saveLoading = true;
|
||||||
|
let qbzxdFrom = this.$refs["childForm"].qbfsForm;
|
||||||
|
qbzxdFrom.type = this.toggleType
|
||||||
|
qbzxdFrom.commentText = this.commentText
|
||||||
|
this.saveLoading = true
|
||||||
|
let _formData = new FormData()
|
||||||
|
_formData.append("id", this.bpnId || "");
|
||||||
|
_formData.append("taskIds", this.taskIds);
|
||||||
|
_formData.append('prcType', '25')
|
||||||
|
_formData.append('json', JSON.stringify({
|
||||||
|
roleForm: this.roleForm,
|
||||||
|
qbfsForm: qbzxdFrom,
|
||||||
|
commentText: this.commentText
|
||||||
|
}))
|
||||||
|
saveTaskForPub(_formData).then(res => {
|
||||||
|
this.saveLoading = false;
|
||||||
|
this.$message.success("保存成功");
|
||||||
|
this.bpnId = res.result;
|
||||||
|
}).catch(e => {
|
||||||
|
this.saveLoading = false;
|
||||||
|
});
|
||||||
|
}else{
|
||||||
|
//第一次正常保存
|
||||||
|
let qbzxdFrom = this.$refs["childForm"].qbfsForm;
|
||||||
|
qbzxdFrom.type = this.toggleType
|
||||||
|
this.saveLoading = true
|
||||||
|
let _formData = new FormData()
|
||||||
|
_formData.append("id", this.bpnId || "");
|
||||||
|
_formData.append('createUser', this.$store.getters.userInfo.userId)
|
||||||
|
_formData.append('createUserName', this.$store.getters.userInfo.userName)
|
||||||
|
_formData.append('prcType', '25')
|
||||||
|
_formData.append('json', JSON.stringify({
|
||||||
|
roleForm: this.roleForm,
|
||||||
|
qbfsForm: qbzxdFrom,
|
||||||
|
commentText: this.commentText
|
||||||
|
}))
|
||||||
|
saveTaskFirst(_formData).then(res => {
|
||||||
|
this.saveLoading = false
|
||||||
|
this.$message.success('保存成功')
|
||||||
|
this.bpnId = res.result
|
||||||
|
}).catch(e => {
|
||||||
|
this.saveLoading = false
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
addLog(qbzxdFrom){
|
||||||
|
let json = Object.assign(qbzxdFrom);
|
||||||
|
this.$http.post("esRevisePlanLog/log/addLog", {
|
||||||
|
json: JSON.stringify(json)
|
||||||
|
}, {
|
||||||
|
_this: this
|
||||||
|
}, res => {
|
||||||
|
});
|
||||||
|
},
|
||||||
|
//流程提交
|
||||||
|
handleSubmit() {
|
||||||
|
if(!this.$refs["childForm"].qbfsForm.type){
|
||||||
|
this.$refs["childForm"].qbfsForm.type = this.toggleType
|
||||||
|
}
|
||||||
|
if(this.comFlag === 0){
|
||||||
|
this.$message.warning('企标名称已存在,请更改!')
|
||||||
|
}else {
|
||||||
|
if (this.$route.query.prcNum === undefined) {
|
||||||
|
this.$refs["childForm"].validateForm(()=>{
|
||||||
|
let qbzxdFrom = this.$refs["childForm"].qbfsForm;
|
||||||
|
this.$refs["roleForm"].validate((valid) => {
|
||||||
|
if (valid) {
|
||||||
|
this.isSubmit = true;
|
||||||
|
qbzxdFrom.commentText = this.commentText;
|
||||||
|
qbzxdFrom.addFlag = '0'
|
||||||
|
let json = Object.assign(qbzxdFrom, this.roleForm);
|
||||||
|
this.$http.post("lawss/activiti/startProcessRollBack", {
|
||||||
|
createUser: this.$store.getters.userInfo.userId,
|
||||||
|
createUserName: this.$store.getters.userInfo.userName,
|
||||||
|
type: '25',
|
||||||
|
json: JSON.stringify({
|
||||||
|
roleForm: this.roleForm,
|
||||||
|
qbfsForm: qbzxdFrom,
|
||||||
|
commentText: this.commentText
|
||||||
|
})
|
||||||
|
}, {
|
||||||
|
_this: this
|
||||||
|
}, res => {
|
||||||
|
if (res.ok) {
|
||||||
|
this.$http.post("lawss/activiti/completeTask", {
|
||||||
|
taskIds: res.data,
|
||||||
|
userId: this.$store.getters.userInfo.userId,
|
||||||
|
json: JSON.stringify(json)
|
||||||
|
}, {
|
||||||
|
_this: this
|
||||||
|
}, res => {
|
||||||
|
if (res.success) {
|
||||||
|
this.$message.success(res.message);
|
||||||
|
// this.addLog(qbzxdFrom)
|
||||||
|
if (this.bpnId !== '' && this.bpnId !== undefined) {
|
||||||
|
let taskId = {
|
||||||
|
id: this.bpnId
|
||||||
|
}
|
||||||
|
taskDel(taskId).then(res=>{
|
||||||
|
return res
|
||||||
|
})
|
||||||
|
}
|
||||||
|
this.isSubmit = false;
|
||||||
|
this.$router.push({ path: "/processCenter?tabsName=ProcessCenter" });
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.$message.warning("请完善人员信息");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
// if (flag) {
|
||||||
|
//
|
||||||
|
// } else {
|
||||||
|
// this.$message.warning("请完善基础信息");
|
||||||
|
// }
|
||||||
|
} else {
|
||||||
|
let flag = this.$refs["childForm"].validateForm(() => {
|
||||||
|
let qbzxdFrom = this.$refs["childForm"].qbfsForm;
|
||||||
|
if(this.$route.query.taskInfo == '重新起草'){
|
||||||
|
this.isSubmit = true;
|
||||||
|
qbzxdFrom.commentText = this.commentText;
|
||||||
|
qbzxdFrom.addFlag = '0'
|
||||||
|
let json = Object.assign(qbzxdFrom, this.roleForm);
|
||||||
|
this.$http.post("lawss/activiti/startProcessRollBack", {
|
||||||
|
createUser: this.$store.getters.userInfo.userId,
|
||||||
|
createUserName: this.$store.getters.userInfo.userName,
|
||||||
|
type: '25',
|
||||||
|
json: JSON.stringify({
|
||||||
|
roleForm: this.roleForm,
|
||||||
|
qbfsForm: qbzxdFrom,
|
||||||
|
commentText: this.commentText
|
||||||
|
})
|
||||||
|
}, {
|
||||||
|
_this: this
|
||||||
|
}, res => {
|
||||||
|
if (res.ok) {
|
||||||
|
this.$http.post("lawss/activiti/completeTask", {
|
||||||
|
taskIds: res.data,
|
||||||
|
userId: this.$store.getters.userInfo.userId,
|
||||||
|
json: JSON.stringify(json)
|
||||||
|
}, {
|
||||||
|
_this: this
|
||||||
|
}, res => {
|
||||||
|
if (res.success) {
|
||||||
|
this.$message.success(res.message);
|
||||||
|
// this.addLog(qbzxdFrom)
|
||||||
|
if (this.bpnId !== '' && this.bpnId !== undefined) {
|
||||||
|
let taskId = {
|
||||||
|
id: this.bpnId
|
||||||
|
}
|
||||||
|
taskDel(taskId).then(res=>{
|
||||||
|
return res
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
this.isSubmit = false;
|
||||||
|
this.$router.push({ path: "/processCenter?tabsName=ProcessCenter" });
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}else {
|
||||||
|
this.$refs["roleForm"].validate((valid) => {
|
||||||
|
if (valid) {
|
||||||
|
this.isSubmit = true;
|
||||||
|
qbzxdFrom.commentText = this.commentText;
|
||||||
|
qbzxdFrom.addFlag = '0'
|
||||||
|
var json = Object.assign(qbzxdFrom, this.roleForm);
|
||||||
|
this.$http.post("lawss/activiti/completeTask", {
|
||||||
|
taskIds: this.$route.query.taskIds,
|
||||||
|
userId: this.$store.getters.userInfo.userId,
|
||||||
|
json: JSON.stringify(json)
|
||||||
|
}, {
|
||||||
|
_this: this
|
||||||
|
}, res => {
|
||||||
|
if (res.success) {
|
||||||
|
this.$message.success(res.message);
|
||||||
|
this.isSubmit = false;
|
||||||
|
// this.addLog(qbzxdFrom)
|
||||||
|
this.$router.push({ path: "/processCenter?tabsName=ProcessCenter" });
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.$message.warning("请完善人员信息");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// if (flag) {
|
||||||
|
//
|
||||||
|
// } else {
|
||||||
|
// this.$message.warning("请完善基础信息");
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 流程阶段负责人选择
|
||||||
|
choiceZRR(type, title, id) {
|
||||||
|
this.nodeList = [];
|
||||||
|
this.nodeList.push(id);
|
||||||
|
this.type = type;
|
||||||
|
this.drawerTitle = title;
|
||||||
|
this.modalshowflag = true;
|
||||||
|
},
|
||||||
|
checkedRole(data) {
|
||||||
|
if (this.type === "dockUser") {
|
||||||
|
this.roleForm.dockUser = data[0].id;
|
||||||
|
this.roleForm.dockUserName = data[0].name;
|
||||||
|
} else if (this.type === "examine") {
|
||||||
|
this.roleForm.examine = data[0].id;
|
||||||
|
this.roleForm.examineName = data[0].name;
|
||||||
|
} else if (this.type === "approver") {
|
||||||
|
this.roleForm.approver = data[0].id;
|
||||||
|
this.roleForm.approverName = data[0].name;
|
||||||
|
} else if (this.type === "engineer") {
|
||||||
|
this.roleForm.engineer = data[0].id;
|
||||||
|
this.roleForm.engineerName = data[0].name;
|
||||||
|
}
|
||||||
|
this.modalshowflag = false;
|
||||||
|
},
|
||||||
|
choiceZRRS() {
|
||||||
|
this.nodeList2 = [];
|
||||||
|
if (this.roleForm.countersigner.length > 0) {
|
||||||
|
this.nodeList2 = this.roleForm.countersigner.split(",");
|
||||||
|
}
|
||||||
|
this.modalshowflag2 = true;
|
||||||
|
},
|
||||||
|
checkedRole2(data) {
|
||||||
|
var idList = "";
|
||||||
|
var nameList = "";
|
||||||
|
data.forEach(item => {
|
||||||
|
if (nameList.length > 0) {
|
||||||
|
nameList += ",";
|
||||||
|
idList += ",";
|
||||||
|
}
|
||||||
|
idList += item.id;
|
||||||
|
nameList += item.name;
|
||||||
|
});
|
||||||
|
this.roleForm.countersigner = idList;
|
||||||
|
this.roleForm.countersignerName = nameList;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="less" scoped>
|
||||||
|
@import '~@/assets/styles/style';
|
||||||
|
|
||||||
|
.qbzxd-jhgk {
|
||||||
|
/deep/ .el-drawer__container {
|
||||||
|
.prc-content-border {
|
||||||
|
border: none;
|
||||||
|
padding: 0 20px 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.fileClass {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fileClass:hover {
|
||||||
|
color: #0c91e5;
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
& > a {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
& > i {
|
||||||
|
display: inline-block;
|
||||||
|
margin-left: 3px;
|
||||||
|
width: 18px;
|
||||||
|
height: 16px;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
background-position: center center;
|
||||||
|
vertical-align: sub;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon-download {
|
||||||
|
background-image: url("~assets/images/shangqi/img/download.png");
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon-download2 {
|
||||||
|
background-image: url("~assets/images/shangqi/img/download2.png");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.choiceBtn {
|
||||||
|
.el-button--primary {
|
||||||
|
width: 150px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
position: relative;
|
||||||
|
height: 100%;
|
||||||
|
|
||||||
|
.headerTabs {
|
||||||
|
height: 52px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
right: 10px;
|
||||||
|
|
||||||
|
.headerTabsItem {
|
||||||
|
border: 1px solid #c1c1c1;
|
||||||
|
padding: 0 5px;
|
||||||
|
height: 30px;
|
||||||
|
line-height: 30px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.active {
|
||||||
|
border: 1px solid #E6A23C;
|
||||||
|
color: #fff;
|
||||||
|
background: #E6A23C;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.content {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: space-between;
|
||||||
|
height: calc(~'100% - 103px');
|
||||||
|
overflow: auto;
|
||||||
|
|
||||||
|
.tableTitle {
|
||||||
|
margin-bottom: 10px;
|
||||||
|
height: 30px;
|
||||||
|
line-height: 30px;
|
||||||
|
position: relative;
|
||||||
|
font-size: 13px;
|
||||||
|
font-weight: bold;
|
||||||
|
|
||||||
|
.tableButton {
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.accessStandardsAndRegulations {
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.add-form-el-select {
|
||||||
|
/deep/ .el-select {
|
||||||
|
width: 210px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.demo-drawer-content {
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -263,7 +263,7 @@ export default {
|
|||||||
this.toProcessDetail('qbfzStep1',row)
|
this.toProcessDetail('qbfzStep1',row)
|
||||||
}else if(prcType === '25'){
|
}else if(prcType === '25'){
|
||||||
//企标制修订计划管控 1
|
//企标制修订计划管控 1
|
||||||
this.toProcessDetail('qbzxdjhgkStep1',row)
|
this.toProcessDetail('qbzxdjhgkStep1-1',row)
|
||||||
}else if(prcType === '26'){
|
}else if(prcType === '26'){
|
||||||
//企标制修订计划立项 1
|
//企标制修订计划立项 1
|
||||||
this.toProcessDetail('qbzxdlxStep1',row)
|
this.toProcessDetail('qbzxdlxStep1',row)
|
||||||
|
|||||||
@@ -2309,6 +2309,15 @@ const routes = [
|
|||||||
title: '企标制修订计划管控流程'
|
title: '企标制修订计划管控流程'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: '/qbzxdjhgkStep1-1',
|
||||||
|
name: 'qbzxdjhgkStep1-1',
|
||||||
|
component: () => import('@/pages/processCenter/pages/creatProcess/qbzxdjhgk/step1-1.vue'),
|
||||||
|
meta: {
|
||||||
|
requireAuth: true,
|
||||||
|
title: '企标制修订计划管控流程'
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: '/qbzxdjhgkStep2',
|
path: '/qbzxdjhgkStep2',
|
||||||
name: 'qbzxdjhgkStep2',
|
name: 'qbzxdjhgkStep2',
|
||||||
|
|||||||
Reference in New Issue
Block a user