Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
zhutianqi
2022-02-24 16:27:46 +08:00
5 changed files with 1945 additions and 501 deletions
+19 -5
View File
@@ -1665,7 +1665,7 @@ export default {
}else if(row.taskInfo === '企标制修订计划整改') {
this.$router.push({
name: 'qbzxdjhgkStep1',
query:{
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
@@ -1674,11 +1674,25 @@ export default {
}
})
}
break
case 'laws2':
if (row.taskInfo === '责任对接人进行任务下发') {
break;
case "26":
if (row.taskInfo === "立项确认") {
this.$router.push({
name: 'zczqyjStep2',
name: "qbzxdlxStep2",
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
});
}
break;
case "laws2":
if (row.taskInfo === "责任对接人进行任务下发") {
this.$router.push({
name: "zczqyjStep2",
query: {
taskIds: row.taskIds,
prcId: row.prcId,
@@ -13,75 +13,77 @@
<ProcessTitle>
<template slot="title">基础信息</template>
</ProcessTitle>
<div class="content_form">
<el-form class="label-input-form" ref="qblx_pageData" :model="qblx_pageData" :rules="qblxRule">
<el-form-item label="项目目标:" class="add-form-item">
<el-form class="label-input-form prc-content-border" label-width="150px" ref="qblx_pageData" :model="qblx_pageData" :rules="qblxRule">
<el-form-item label="流程名称" class="add-form-item form-item-disabled">
<el-input
style="width: 90%"
clearable
v-model="qblx_pageData.processName"
placeholder="请输入流程名称"/>
</el-form-item>
<el-form-item label="项目目标" class="add-form-item form-item-disabled">
<el-input
style="width: 90%"
clearable
v-model="qblx_pageData.projectTarget"
placeholder="请输入项目目标"/>
</el-form-item>
<el-form-item label="附件:" class="add-form-item">
<el-upload
style="width: 100%"
class="upload_style"
:disabled="acceptShow"
multiple
ref="uploadFile"
:action="uploadPath"
name="file"
:file-list="fillFileList"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
:on-exceed="handleExceed"
:limit="1"
:before-upload="handleBeforeUpload"
:before-remove="handleBeforeRemove"
:on-success="handleOnsuccess"
>
<el-button
style="margin-left: 10px"
type="primary"
class="common-button-primary"
size="mini">
点击上传
</el-button>
</el-upload>
</el-form-item>
<el-form-item class="add-form-item">
<div style="margin-top: 10px;margin-bottom: 10px">
<el-button type="primary" size="small" @click="addQblx('add','企标制修订立项计划')">新增</el-button>
<el-button type="plain" size="small" @click="uploadQblx">上传</el-button>
<el-button type="success" size="small" @click="qblxTemplate">模板下载</el-button>
<el-button type="danger" size="small" @click="delQblx">删除</el-button>
<el-form-item label="附件" prop="fileName" class="add-form-item form-item-disabled">
<div>
<el-upload
:action="uploadFileListPath"
show-file-list
:file-list="fileInfoList"
name="file"
accept=".PDF, .pdf, .doc, .DOC, .docx, .DOCX, .xls, .xlsx, .ppt, .pptx, .PPT, .PPTX, .JPG, .JPEG, .PNG, .jpg, .jpeg, .png"
:on-remove="delFileInfo"
:on-success="uploadBackSuccess"
:before-upload="beforeUpload"
>
<el-button class="common-button-default" size="mini">
点击上传
</el-button>
</el-upload>
</div>
<el-table
:data="qblx_pageData.qblxData"
border
ref="entryTable"
height="49%"
style="width: 100%"
@selection-change="selectedDelete"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '20px'}">
<el-table-column type="selection" fixed="left" width="55"/>
<el-table-column type="index" label="序号" fixed="left" align="center" width="50"/>
<el-table-column prop="esName" label="企标名称" fixed="left" align="center" width="300" show-overflow-tooltip></el-table-column>
<el-table-column prop="dutyUnit" label="责任单位" width="200" align="center"></el-table-column>
<el-table-column prop="dutyPeople" label="责任人" width="150" align="center"></el-table-column>
<el-table-column prop="firstDraftTime" label="初稿完成日期" width="150" align="center"></el-table-column>
<el-table-column prop="planTime" label="计划完成日期" width="150" align="center"></el-table-column>
<el-table-column prop="endTime" label="截止日期" width="150" align="center"></el-table-column>
<el-table-column label="操作" align="center" width="100" fixed="right">
<template slot-scope="scope">
<el-button size="mini" type="primary" @click="editRow('edit','编辑信息',scope.row)">编辑</el-button>
</template>
</el-table-column>
</el-table>
</el-form-item>
</el-form>
<process-title style="margin-top:5px; margin-bottom: 5px">
<template slot="title">填写信息</template>
</process-title>
<div class="tableTitle">
<div class="tableButton">
<el-button type="primary" size="small" @click="addQblx('add','企标制修订立项计划')">新增</el-button>
<el-button type="plain" size="small" @click="uploadQblx">导入</el-button>
<el-button type="success" size="small" @click="qblxTemplate">模板下载</el-button>
<el-button type="danger" size="small" @click="delQblx">批量删除</el-button>
</div>
</div>
<el-table
:data="qblx_pageData.qblxData"
border
ref="entryTable"
height="68%"
style="width: 100%"
@selection-change="selectedDelete"
:header-cell-style="{background: '#e8e8e8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '20px'}">
<el-table-column type="selection" fixed="left" align="center" width="55"/>
<el-table-column prop="bussSort" label="企标类别" fixed="left" align="center" width="100"/>
<el-table-column prop="esName" label="企标名称" fixed="left" align="center" width="300" show-overflow-tooltip/>
<el-table-column prop="reviseStatus" label="制修订类型" width="200" align="center"></el-table-column>
<el-table-column prop="unitName" label="起草责任单位" width="200" align="center"></el-table-column>
<el-table-column prop="drafterName" label="起草人" width="150" align="center"></el-table-column>
<el-table-column prop="resPersonName" label="评审责任人" width="150" align="center"></el-table-column>
<el-table-column prop="wgLeaderName" label="工作组组长" width="150" align="center"></el-table-column>
<el-table-column prop="draftTime" label="初稿完成日期" width="150" align="center"></el-table-column>
<el-table-column prop="releaseTime" label="标准发布时间" width="150" align="center"></el-table-column>
<el-table-column prop="endTime" label="截止日期" align="center"></el-table-column>
<el-table-column label="操作" align="center" width="80" fixed="right">
<template slot-scope="scope">
<el-button size="mini" type="primary" @click="editRow('edit','编辑信息',scope.row)">编辑</el-button>
</template>
</el-table-column>
</el-table>
</div>
<el-collapse accordion>
<el-collapse-item title="回执说明">
@@ -121,7 +123,7 @@
<h4>责任工程师</h4>
<div style="margin-top: 10px;width: 300px;">
<el-input v-model="roleForm.dockUser" style="display: none;"></el-input>
<el-input v-model="roleForm.dockUserName" placeholder="责任工程师" disabled>
<el-input v-model="roleForm.dockUserName" placeholder="责任工程师" @click.native="choiceZRR('2')">
</el-input>
</div>
</el-form-item>
@@ -140,45 +142,78 @@
:wrapper-closable="false"
custom-class="demo-drawer"
>
<el-form class="label-input-form" ref="addQblxData" style="height: 100%" :model="addQblxData" :rules="addRule">
<el-form-item class="add-form-item" label="企标名称">
<el-input style="width: 90%" v-model="addQblxData.esName" placeholder="请输入企标名称"></el-input>
<el-form :model="addQblxData" class="label-input-form prc-content-border"
label-width="150px" :rules="addRule" ref="addQblxData">
<el-form-item prop="bussSort" label="企标类别" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-select v-model="addQblxData.bussSort" filterable placeholder="请选择企标类别" style="width: 100%;">
<el-option
v-for="(item, index) in standSortOptions"
:key="index"
:value="item.value"
:label="item.label">
</el-option>
</el-select>
</el-form-item>
<el-form-item class="add-form-item" label="责任单位">
<el-input style="width: 90%" v-model="addQblxData.dutyUnit" placeholder="请填写责任单位"></el-input>
<el-form-item prop="esName" label="企标名称" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input
v-model="addQblxData.esName"
placeholder="请输入企标名称"
:maxlength="500"/>
</el-form-item>
<el-form-item class="add-form-item" label="责任人" prop="dutyPeople">
<el-input v-model="addQblxData.dutyPeopleId" style="display: none"/>
<el-input style="width: 90%" v-model="addQblxData.dutyPeople" placeholder="请选择责任人" @click.native="choiceZRR"/>
<el-form-item prop="reviseStatus" label="制修订类型" style="width: 100%; margin-right:10px"
class="add-form-item form-item-disabled">
<el-select v-model="addQblxData.reviseStatus" placeholder="请选择制修订类型">
<el-option label="制定" value="制定"></el-option>
<el-option label="修订" value="修订"></el-option>
</el-select>
</el-form-item>
<el-form-item class="picker_style" label="初稿完成日期">
<el-form-item label="起草责任单位" style="width: 100%; margin-right:10px" prop="unitName" class="add-form-item form-item-disabled">
<el-input v-model="addQblxData.unit" style="display: none;"></el-input>
<el-input v-model="addQblxData.unitName" placeholder="请选择起草责任单位"
@click.native="choiceZRBM('unit', '选择起草责任单位', addQblxData.unit)">
</el-input>
</el-form-item>
<el-form-item prop="drafterName" label="起草人" style="width: 100%; margin-right:10px"
class="add-form-item form-item-disabled">
<el-input v-model="addQblxData.drafter" style="display: none;"></el-input>
<el-input v-model="addQblxData.drafterName" placeholder="请选择起草人" readonly
@click.native="choiceZRRS('1')">
</el-input>
</el-form-item>
<el-form-item prop="resPersonName" label="评审责任人" style="width: 100%; margin-right:10px"
class="add-form-item form-item-disabled">
<el-input v-model="addQblxData.resPerson" style="display: none;"></el-input>
<el-input v-model="addQblxData.resPersonName" placeholder="请选择评审责任人"
@click.native="choiceZRRS('2')">
</el-input>
</el-form-item>
<el-form-item prop="wgLeaderName" label="工作组组长" style="width: 100%; margin-right:10px" class="add-form-item form-item-disabled">
<el-input v-model="addQblxData.wgLeader" style="display: none;"></el-input>
<el-input v-model="addQblxData.wgLeaderName" placeholder="请选择工作组组长"
@click.native="choiceLeader"></el-input>
</el-form-item>
<el-form-item label="计划标准初稿完成时间" style="width: 100%; margin-right:10px" prop="draftTime" class="add-form-item form-item-disabled">
<el-date-picker
v-model="addQblxData.firstDraftTime"
type="datetime"
:picker-options="datePicker"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="选择初稿完成日期"
align="right">
v-model="addQblxData.draftTime"
value-format="yyyy-MM-dd"
type="date"
placeholder="请选择计划标准初稿完成时间">
</el-date-picker>
</el-form-item>
<el-form-item class="picker_style" label="计划完成日期">
<el-form-item label="计划标准发布时间" style="width: 100%; margin-right:10px" prop="releaseTime" class="add-form-item form-item-disabled">
<el-date-picker
v-model="addQblxData.planTime"
type="datetime"
:picker-options="datePicker"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="选择计划完成日期"
align="right">
v-model="addQblxData.releaseTime"
value-format="yyyy-MM-dd"
type="date"
placeholder="请选择计划标准发布时间">
</el-date-picker>
</el-form-item>
<el-form-item class="picker_style" label="截止日期">
<el-form-item label="立项完成时间" style="width: 100%; margin-right:10px" prop="endTime" class="add-form-item form-item-disabled">
<el-date-picker
v-model="addQblxData.endTime"
type="datetime"
:picker-options="datePicker"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="选择截止日期"
align="right">
value-format="yyyy-MM-dd"
type="date"
placeholder="请选择立项完成时间">
</el-date-picker>
</el-form-item>
</el-form>
@@ -187,7 +222,86 @@
<el-button type="primary" size="mini" @click="OkDrawer">确认</el-button>
</div>
</el-drawer>
<!-- 选择工作组抽屉-->
<el-drawer
title="选择工作组组长"
:visible.sync="workModel"
size="900px"
custom-class="demo-drawer"
>
<div class="demo-drawer-content">
<div style="position: absolute;bottom: 48px;top:60px;left: 0;right: 0">
<div style="position: absolute;bottom: 55px;top: 0;right: 0;left: 0">
<div class="left">
<el-form :modal="workSearch" :inline="true" class="label-input-form" style="margin-left:10px">
<el-form-item label="工作组" class="search-item">
<el-input
v-model="workSearch.workGroupName"
clearable
placeholder="根据工作组进行查找"
/>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
type="primary"
class="common-button-primary"
size="small"
@click="getWorkBtn">
查询
</el-button>
</el-form-item>
<el-form-item class="search-item btn-box">
<el-button
class="common-button-default"
size="small"
@click="clearSearch">清空
</el-button>
</el-form-item>
</el-form>
</div>
<el-table
ref="workGroup"
:data="workData"
tooltip-effect="dark"
border
style="width: 100%; flex: auto;"
class="drag-table"
height="100%"
@selection-change="workChange"
:header-cell-style="{background: '#E8E8E8', color: '#333333', fontSize: '16px',
fontWeight: 'bold', height: '48px'}">
>
<el-table-column
type="selection"
width="55"
align="center">
</el-table-column>
<el-table-column
prop="workGroup"
label="工作组"
align="center">
</el-table-column>
<el-table-column
prop="workLeader"
label="工作组组长"
align="center">
</el-table-column>
</el-table>
</div>
<pagination
:page="page"
:pageSize="pageSize"
:total="total"
@pageChange="pageChange"
@pageSizeChange="pageSizeChange"
/>
</div>
</div>
<div class="demo-drawer-footer">
<el-button size="mini" @click="closeDrawer">取消</el-button>
<el-button type="primary" size="mini" @click="OkWork">带入</el-button>
</div>
</el-drawer>
<ProcessFooter
show-save
show-submit
@@ -200,10 +314,30 @@
<Role-tree
check-box
is-title="选择责任人"
:is-visible.sync="modalshowflag"
:is-visible.sync="modalshowflag3"
:nodeList="nodeList"
@checkedRole="drawerCheck"
/>
<!-- 多选择责任人-->
<Role-tree
:is-title="drawerTitle2"
:is-visible.sync="modalshowflag2"
@checkedRole="checkedRole2"
:nodeList="nodeList2"
></Role-tree>
<Role-tree
check-box
:is-title="drawerTitle"
:is-visible.sync="modalshowflag"
@checkedRole="checkedRole"
:nodeList="nodeList"
></Role-tree>
<Mechanism-tree
is-title="选择起草责任单位"
:is-visible.sync="modalshowflagZRBM"
:nodeList="nodeListZRBM"
@checkedRole="drawerCheckZRBM"
/>
</div>
</template>
@@ -211,21 +345,45 @@
import ProcessHeader from '../../components/ProcessHeader'
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import MechanismTree from "@/components/mechanismTree";
import {completeTask, saveTaskFirst, taskDel, processBack, queryTaskFirst} from '@/api/process.js'
export default {
components: {
ProcessHeader,
ProcessFooter,
MechanismTree,
ProcessTitle
},
name: "qbzxdlxStep1",
data() {
return {
uploadFileListPath: "api/att/attFile/upload", // 上传的地址
fileInfoList: [], // 上传的附件
fileIds: [], // 上传的附件
fileListName: [], //上传的附件名称
standSortOptions: [], //企标类别下拉框
nodeListZRBM: [],
workData: [], //工作组数据
workChangeList: [],
modalshowflagZRBM: false,
modalshowflag2: false,
modalshowflag3: false,
workModel: false,
workSearch: {
workGroupName: "",
},
total: 0,
page: 1,
pageSize: this.$store.getters.userInfo.configContent,
roleType: '',
drawerTitle: '',
drawerTitle2: '',
listIndex: 0,
active: '1',
qblx_pageData: {
projectTarget: '',
qblxFile: [],
processName: '',
qblxData: [],
},
commentText: '',
@@ -242,7 +400,6 @@ export default {
acceptShow: false,
// 上传所储存文件数组
fillFileList: [],
// 新增弹框
qblxTitle: '',
btnType: '',
@@ -257,16 +414,43 @@ export default {
endTime: '',
},
addRule: {
dutyPeople: [{required: true, message: '请选择责任人', trigger: ['blur', 'change']}]
// unit: [
// { required: true, message: "请选择起草单位", trigger: "change" }
// ],
// bussSort: [
// { required: true, message: "请选择企标类别", trigger: "blur" }
// ],
// esName: [
// { required: true, message: "请输入企标名称", trigger: "blur" }
// ],
// reviseStatus: [
// { required: true, message: "请选择制修订类型", trigger: "blur" }
// ],
// resPersonName: [
// { required: true, message: "请输入评审责任人", trigger: "blur" }
// ],
// wgLeaderName: [
// { required: true, message: "请输入工作组组长", trigger: "blur" }
// ],
// unitName: [
// { required: true, message: "请选择起草责任单位", trigger: "blur" }
// ],
// draftTime: [
// { required: true, message: "请输入计划标准初稿完成时间", trigger: "blur" }
// ],
// releaseTime: [
// {required: true, message: '请输入计划标准发布时间', trigger: 'blur'},
// ],
// drafterName: [
// {required: true, message: '请选择起草人', trigger: 'change'},
// ],
},
isSubmit: false,
saveLoading: false,
// 选人组件
modalshowflag: false,
nodeList: [],
nodeList2: [],
taskID: '',
bpnId: '',
@@ -286,8 +470,155 @@ export default {
if (this.bpnId !== undefined) {
this.getData()
}
this.getWorkData()
//查询下拉框数据
this.$http.get('sys/dictype/getDicTypeListCode', '',{
_this: this
}, res => {
res.data.BUSSSTANDCLASS.forEach(item => {
if(item.label){
this.standSortOptions.push(item) //企标类别
}
})
})
},
methods: {
getWorkBtn(){
this.page = 1
this.getWorkData()
},
clearSearch(){
this.workSearch.workGroupName = ''
this.getWorkData()
},
pageChange(page){
this.page = page
this.getWorkData()
},
pageSizeChange(pageSize){
this.pageSize = pageSize
this.getWorkData()
},
workChange(data) {
this.workChangeList = data
},
OkWork(){
if(this.workChangeList.length > 1 ){
this.$message.warning('您只能选择一条数据进行带入')
}else if(this.workChangeList.length < 1 ){
this.$message.warning('请至少选择一条数据')
}else{
this.$set(this.addQblxData, 'wgLeader', this.workChangeList[0].workLeaderId)
this.$set(this.addQblxData, 'wgLeaderName', this.workChangeList[0].workLeader)
if(this.addQblxData.wgLeaderName){
this.$refs.qblx_pageData.validateField('wgLeaderName')
}
this.workModel = false
}
},
getWorkData() {
this.$http.get("workGroup/work-group", {
pageSize: this.pageSize,
page: this.page,
workGroupName: this.workSearch.workGroupName
}, {
_this: this
}, res => {
this.workData = res.data.records;
this.total = res.data.total;
}, e => {
});
},
choiceLeader(){
this.workModel = true
},
choiceZRBM(type, title, id) {
this.nodeListZRBM = []
this.nodeListZRBM.push(id)
this.drawerTitle = title
this.modalshowflagZRBM = true
},
drawerCheckZRBM(data) {
let idList = ''
let nameList = ''
data.forEach(item => {
if (nameList.length) {
nameList += ','
idList += ','
}
idList += item.id
nameList += item.name
})
this.$set(this.addQblxData, 'unit', idList)
this.$set(this.addQblxData, 'unitName', nameList)
if(this.addQblxData.unit){
this.$refs.qblx_pageData.validateField('unit')
}
if(this.addQblxData.unitName){
this.$refs.qblx_pageData.validateField('unitName')
}
},
choiceZRRS(type) {
this.roleType = type
if(type === '1' ){
this.drawerTitle2 = '请选择起草人'
this.nodeList2 = [];
if (this.addQblxData.drafter !== undefined) {
this.nodeList2 = this.addQblxData.drafter.split(",");
}
}else if(type === '2'){
this.drawerTitle2 = '请选择评审责任人'
this.nodeList2 = [];
if (this.addQblxData.resPerson !== undefined) {
this.nodeList2 = this.addQblxData.resPerson.split(",");
}
}
this.modalshowflag2 = true;
},
checkedRole(data) {
this.$set(this.addQblxData, 'wgLeader', data[0].id)
this.$set(this.addQblxData, 'wgLeaderName', data[0].name)
if(this.addQblxData.wgLeaderName){
this.$refs.qblx_pageData.validateField('wgLeaderName')
}
this.modalshowflag = false;
},
checkedRole2(data) {
console.log(data);
let idList = "", nameList = ""
let unitList = "", unitNameList = ""
data.forEach(item => {
if (nameList.length) {
nameList += ",";
idList += ",";
unitList += ",";
unitNameList += ",";
}
idList += item.id;
nameList += item.name;
unitList += item.institutionId
unitNameList += item.institutionName
});
if(this.roleType === '1'){
this.$set(this.addQblxData, 'drafter', idList)
this.$set(this.addQblxData, 'drafterName', nameList)
this.$set(this.addQblxData, 'unit', unitList)
this.$set(this.addQblxData, 'unitName', unitNameList)
}else if(this.roleType === '2'){
this.$set(this.addQblxData, 'resPerson', idList)
this.$set(this.addQblxData, 'resPersonName', nameList)
}
// === '0' false null undefined都属于false类变量 如果里面有值可以直接判断
if(this.addQblxData.drafterName){
this.$refs.qblx_pageData.validateField('drafterName');
}
if(this.addQblxData.unitName){
this.$refs.qblx_pageData.validateField('unitName');
}
if(this.addQblxData.resPersonName){
this.$refs.qblx_pageData.validateField('resPersonName');
}
},
// 右上标签页面切换
handleTabs(name) {
this.active = name
@@ -304,67 +635,50 @@ export default {
});
},
// 文件上传成功
handleOnsuccess(res, file, fileList) {
if (res.ok) {
if (this.fillFileList.length !== 0) {
this.newDataList = this.fillFileList
this.newDataList.push({
id: res.data.attId,
name: res.data.name
})
} else {
this.newDataList.push({
id: res.data.attId,
name: res.data.name
})
}
this.qblx_pageData.qblxFile = this.newDataList
this.$message({
showClose: true,
message: res.message,
type: 'success'
})
this.fileMadel = false
}
},
// 文件上传限制条件
handleBeforeUpload(file) {
var filename = file.name
var index1 = filename.lastIndexOf('.')
var index2 = filename.length
var fileSuffix = filename.substring(index1, index2)
// const fileSuffix = file.name.split('.')[1] // 后缀名
// 判断上传文件格式
if (fileSuffix === '.ZIP' || fileSuffix === '.docx' || fileSuffix === '.DOCX' || fileSuffix === '.zip' || fileSuffix === '.xls' || fileSuffix === '.xlsx' || fileSuffix === '.pdf' || fileSuffix === '.PDF') {
return true
} else {
this.spinShow = false
this.$message.error('文件' + file.name + '格式不正确,请上传ZIP/DOCX/PDF或XLS文件')
return false
}
// 判断文件上传大小
// eslint-disable-next-line no-unreachable
if (file.size / 1024 / 1024 <= 200) {
return true
} else {
this.$message.error('文件' + file.name + '大小不超过200M')
return false
}
return true
},
// 移除上传的文件
handleBeforeRemove(file, fileList) {
this.fillFileList.forEach((item, index) => {
if (item.name === file.name || item.id === file.id) {
this.fillFileList.splice(index, 1)
// 删除上传的文件
delFileInfo(file, fileList) {
this.fileInfoList.forEach((item, index) => {
if (item.name === file.name || item.id === file.id ) {
this.fileInfoList.splice(index,1)
}
})
this.qblx_pageData.qblxFile = this.fillFileList
},
// 限制上传
handleExceed(files, fileList) {
this.$message.error(`最多上传1个文件`)
// 上传文件成功回调
uploadBackSuccess(res, file, fileList) {
if (res.ok) {
this.fileInfoList.push(res.data)
this.$message.success("上传成功");
} else {
this.$message.error(res.message);
fileList.pop();
}
},
// 相关附件 上传之前钩子
beforeUpload(file) {
var filename = file.name;
// this.listForm.fileName = this.listForm.fileName + ',' + file.name
var index1 = filename.lastIndexOf(".");
var index2 = filename.length;
var fileSuffix = filename.substring(index1, index2);
//把后缀转大写
if (fileSuffix !== undefined && fileSuffix !== null) {
fileSuffix = fileSuffix.toUpperCase();
}
// 判断上传文件格式
if (fileSuffix === ".PDF" || fileSuffix === ".DOC" || fileSuffix === ".DOCX" || fileSuffix === ".PPT"
|| fileSuffix === ".PPTX" || fileSuffix === ".XLS" || fileSuffix === ".XLSX"
|| fileSuffix === ".PNG" || fileSuffix === ".JPG" || fileSuffix === ".JPEG") {
return true;
} else {
this.$message.error("文件" + file.name + "格式不正确,请上传pdf、doc、docx、ppt、pptx、xls、xlsx、png、jpg、jpeg等文件");
return false;
}
// 判断文件上传大小
if (file.size / 1024 / 1024 > 300) {
this.$message.warning("文件" + file.name + "大小不能超过300M");
return false;
}
return true;
},
// 表格勾选事件
@@ -377,12 +691,17 @@ export default {
this.nodeList = []
this.nodeList.push(id)
this.type = type
this.modalshowflag = true
this.modalshowflag3 = true
},
// 选人组件确认
drawerCheck(data) {
this.addQblxData.dutyPeopleId = data[0].id
this.addQblxData.dutyPeople = data[0].name
if(this.type === '1' ){
this.addQblxData.dutyPeopleId = data[0].id
this.addQblxData.dutyPeople = data[0].name
}else{
this.roleForm.dockUser = data[0].id
this.roleForm.dockUserName = data[0].name
}
this.modalshowflag = false
},
@@ -400,7 +719,16 @@ export default {
this.qblx_pageData.qblxData.push(this.addQblxData)
}
this.addQblxData = {}
this.qblxModel = false
this.qblxModel = false
this.addQblxData = {
esName: '',
dutyUnit: '',
dutyPeopleId: '',
dutyPeople: '',
firstDraftTime: '',
planTime: '',
endTime : ''
}
}
})
},
@@ -456,8 +784,10 @@ export default {
}
},
/** 数据上传到列表 */
uploadQblx() {},
/** 数据导入到列表 */
uploadQblx() {
},
/** 模板下载 */
qblxTemplate() {},
@@ -482,70 +812,79 @@ export default {
this.saveLoading = false
})
},
// 提交按钮
handleSubmit() {
let json = {
prcCreateUser: this.$store.getters.userInfo.userId,
prcCreateUserName: this.$store.getters.userInfo.userName,
qblx_pageData: this.qblx_pageData,
commentText: this.commentText
}
this.$refs['qblx_pageData'].validate((valid) => {
if (valid) {
this.$refs['roleForm'].validate((valid) => {
if (valid) {
this.isSubmit = true
let paramsInfo = new FormData()
// paramsInfo.append('id', this.bpnId || '')
paramsInfo.append('createUser', this.$store.getters.userInfo.userId)
paramsInfo.append('createUserName', this.$store.getters.userInfo.userName)
paramsInfo.append('type', '26')
paramsInfo.append('json', JSON.stringify({json}))
processBack(paramsInfo).then(res => {
this.taskID = res.data
const params = new FormData();
this.qblx_pageData.qblxData.forEach((item, index) => {
let newJson = {
prcCreateUser: this.$store.getters.userInfo.userId,
prcCreateUserName: this.$store.getters.userInfo.userName,
qblx_pageData: {
projectTarget: this.qblx_pageData.projectTarget,
qblxFile: this.qblx_pageData.qblxFile,
qblxData: item,
},
commentText: this.commentText
}
params.set('json', JSON.stringify(newJson))
params.set('userId', this.$store.getters.userInfo.userId)
params.set('taskId', this.taskID)
completeTask(params).then(res => {
if (res.success === true) {
if (index === this.qblx_pageData.qblxData.length) {
this.$message.success('提交成功')
if (this.bpnId !== '') {
let taskId = {
id: this.bpnId
}
taskDel(taskId).then(res => {
return res
})
}
this.$router.push("/processCenter");
}
}
this.isSubmit = false
})
})
})
} else {
this.$message.warning('请完成流程信息的人员选择')
}
listSubmit (item) {
return new Promise((resolve, reject) => {
let newForm = Object.assign(this.roleForm, item,this.qblx_pageData);
this.$http.post('lawss/activiti/startProcessRollBack',{
createUser: this.$store.getters.userInfo.userId,
createUserName: this.$store.getters.userInfo.userName,
type: '26',
json: JSON.stringify({
form: newForm,
roleForm: this.roleForm,
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(newForm)
}, {
_this: this
}, res => {
if (res.success) {
resolve()
this.$message.success(res.message);
if (this.bpnId !== '') {
let taskId = {
id: this.bpnId
}
taskDel(taskId).then(res=>{
// return res
})
}
// this.$router.push("/processCenter");
}
});
}
})
})
},
//流程提交事件
handleSubmit() {
let jsonData = this.qblx_pageData.qblxData
this.qblx_pageData.qblxFile = this.fileInfoList
this.qblx_pageData.commentText = this.commentText;
this.$refs["qblx_pageData"].validate((valid) => {
if (valid) {
this.$refs["roleForm"].validate(async (valid) => {
if (valid) {
this.isSubmit = true
let finishCount = 0;
while (finishCount < jsonData.length) {
await this.listSubmit(jsonData[finishCount])
.then(() => {
finishCount++
}).catch(e => {
})
}
if (finishCount === jsonData.length) {
this.isSubmit = false
this.$router.push("/processCenter");
}
this.isSubmit = false
} else {
return this.$message.warning("请完善人员信息");
}
});
} else {
return this.$message.warning("请完善基础信息");
}
});
},
}
}
@@ -569,6 +908,7 @@ export default {
/deep/ .el-drawer__container {
.prc-content-border {
height: 100%;
border: none;
padding: 0 20px 0;
}
@@ -614,7 +954,7 @@ export default {
.tableButton {
position: absolute;
right: 0;
left: 0;
top: 0;
}
}
@@ -650,7 +990,6 @@ export default {
border: 0;
}
}
}
</style>
File diff suppressed because it is too large Load Diff
@@ -99,6 +99,7 @@
<el-table-column
prop="standName"
align="center"
min-width="300"
label="中文名称"
>
<template slot-scope="scope">
@@ -108,6 +109,7 @@
<el-table-column
prop="standEnName"
label="英文名称"
min-width="300"
align="center"
>
<template slot-scope="scope">
@@ -117,6 +119,7 @@
<el-table-column
prop="standEnName"
label="分解单来源"
min-width="180"
align="center"
>
<template slot-scope="scope">
@@ -451,7 +454,7 @@ export default {
//选人的验证
roleFormRules: {
serviceManagerName: [
{ required: true, message: "请选择业务经理", trigger: "change" }
{ required: true, message: "请选择产品工程经理", trigger: "change" }
],
},
//选择人的数据
@@ -1330,6 +1330,20 @@ export default {
})
}
break
case "26":
if (row.taskInfo === "立项确认") {
this.$router.push({
name: "qbzxdlxStep2",
query: {
taskIds: row.taskIds,
prcId: row.prcId,
prcNum: row.prcNum,
prcName: row.prcName,
prcType: row.prcType
}
});
}
break;
case 'laws2':
if (row.taskInfo === '责任对接人进行任务下发') {
this.$router.push({