【新增】流程增加草稿

This commit is contained in:
zhoulingpo
2023-04-27 17:49:00 +08:00
parent 444ee279cf
commit f36fb8b247
8 changed files with 253 additions and 13 deletions
+17 -1
View File
@@ -99,6 +99,14 @@ export default {
})
},
// 通用草稿流程详细信息查询
getDraftDetail( data ){
return request({
url: '/api/queryDetailByDataId',
method: 'get',
params: data
})
},
// 停用流程发起
startProcess(data) {
return request({
@@ -107,6 +115,14 @@ export default {
data: data
})
}
},
// 保存到草稿
saveProcess(data) {
return request({
url: '/api/saveTaskFirst',
method: 'post',
data: data
})
},
}
+9
View File
@@ -28,6 +28,15 @@ export default {
data: data
})
},
//caogao
draftProcessPage(data) {
return request({
url: '/api/queryTaskDraft',
method: 'post',
data: data
})
},
// 获取监控流程详情
+1 -1
View File
@@ -103,7 +103,7 @@ labelUpdate(data){
// 报告管理列表
reportListManager (data) {
return request({
url: '/api/report/list-auth',
url: '/api/report/reportManagerPage',
method: 'POST',
data
})
+28
View File
@@ -119,6 +119,34 @@
})
})
},
//保存到草稿
saveProcess(param){
return new Promise((resolve,reject)=> {
this.$api.process.saveProcess(param).then(res => {
resolve()
}).catch(()=>{
reject()
})
})
},
// 获取草稿详细信息
getDraftDetail(){
let dataId=this.$store.getters.handleProcess.dataId
return new Promise((resolve,reject)=>{
this.$api.process.getDraftDetail({
dataId: dataId,
prcType: this.prcType,
prcId: this.prcId
}).then(res=>{
let data=res.data
this.processOld=data
console.log( this.processOld,"processOld")
resolve()
}).catch(err=>{
reject()
})
})
},
},
computed: {},
@@ -135,6 +135,8 @@ export default {
this.dialogVisible = false
},
show () {
this.checkList=[]
this.checkIds=[]
// 调取接口获取数据
this.reset()
this.ids = this.alreadyData.map(item => item.id)
+61 -10
View File
@@ -1,7 +1,7 @@
<template>
<div class="process">
<div class="process_box">
<process-header v-if="$route.query.isBegin" :title="'发起流程'"></process-header>
<process-header v-if="$route.query.isBegin || $route.query.isDraft" :title="'发起流程'"></process-header>
<process-header v-else-if="$route.query.type == 'yiban'" :title="'已办流程'" :proceesNum="prcNum"></process-header>
<process-header v-else :title="'发起人修改'" :proceesNum="prcNum"></process-header>
<div class="procedure">
@@ -87,11 +87,11 @@
<process-footer
v-if="!formControl"
showCancel
:show-reset="isShowReset"
:show-save="isShowSave"
:show-submit="isShowSubmit"
:submitLoading="isSubmit"
:resetLoading="resetLoading"
@reset="handleReset"
:resetLoading="saveLoading"
@save="handleSave"
@submit="handleSubmit"
></process-footer>
<orgTable :visible.sync="visibleOrgTable" title="人员列表" dialog-model :config="{
@@ -130,8 +130,8 @@ export default {
orgTableValName: '',
visibleOrgTable: false,
isSubmit: false,
resetLoading: false,
isShowReset: true,
saveLoading: false,
isShowSave: false,
isShowSubmit: true,
formControl: false,
formControlname: false,
@@ -200,21 +200,38 @@ export default {
// if (this.$route.query.ids.split(',').length > 0) {
// this.reportList(this.$route.query.ids)
// }
this.isShowSave = true
this.$store.commit('setHandleProcess','')
this.handleReset()
}
// 如果是从草稿进入的
if (this.$route.query.isDraft) {
this.isShowSave = true
this.taskId = this.$store.getters.handleProcess?.taskId
this.prcNum = this.$store.getters.handleProcess?.prcNum
this.prcId = this.$store.getters.handleProcess?.prcId
this.prcName = this.$store.getters.handleProcess?.prcName
this.getDraftDetail().then(res => {
let tableData = JSON.parse(this.processOld.dataJson)
this.processForm.prcName = this.prcName
this.applicationForm.power = tableData[0].power
this.applicationForm.applyReason = tableData[0].applyReason
if(tableData[0].reportId){
this.tableData=tableData
}
debugger
if(this.processOld.submitJson !== '{}'){
this.assignForm =JSON.parse(this.processOld.submitJson)
}
})
}
if (this.$store.getters.handleProcess.taskDefinitionKey == 'aid4' ) {
if (this.$route.query.taskDefinitionKey == 'aid4' ) {
this.taskId = this.$store.getters.handleProcess.taskId
this.prcNum = this.$store.getters.handleProcess.prcNum
this.prcId = this.$store.getters.handleProcess.prcId
this.prcName = this.$store.getters.handleProcess.prcName
this.initShow = true
// this.formControlname = true
this.formControlname = true
this.getProcessDetail().then(res => {
//基础信息
@@ -222,7 +239,6 @@ export default {
this.applicationForm.power = this.tableData[0].power
this.applicationForm.applyReason = this.tableData[0].applyReason
this.processForm.prcName = this.prcName
debugger
//指派信息
({oneApprove:this.assignForm.oneApprove,oneApproveName:this.assignForm.oneApproveName,twoApprove:this.assignForm.twoApprove,twoApproveName:this.assignForm.twoApproveName,remark:this.assignForm.remark}= JSON.parse(this.processOld.submitJson))
})
@@ -327,6 +343,41 @@ export default {
return item
})
},
// 保存
handleSave(){
this.saveLoading = true
if(this.tableData.length > 0){
// 处理表格数据
this.organizeData()
}else{
this.tableData=[{...this.applicationForm}]
}
let submitJson = JSON.stringify({...this.assignForm, userId: this.$store.getters.userInfo.usid,approvalOpinion:this.assignForm.remark})
let dataJson = JSON.stringify(this.tableData)
let params = {
prcName: this.processForm.prcName,
userId: this.$store.getters.userInfo.usid,
prcType: this.prcType,
createUserName: this.$store.getters.userInfo.usname,
createUser: this.$store.getters.userInfo.usid,
submitJson,
dataJson
}
this.saveProcess(params).then(
()=>{
this.saveLoading = false
this.$message['success']('保存成功')
this.$router.push({
path: "/userCenter/processCenter",
query: {
id: 'AEHJB8YNJ3'
}
})
}
).catch(()=>{
this.saveLoading = false
})
},
// 提交
handleSubmit() {
console.log(this.$store.getters.userInfo.usid, " this.$store.getters.userInfo.USID")
+6 -1
View File
@@ -13,6 +13,9 @@
<el-tab-pane label="监控流程" name="fourth">
<monitorProcesses v-if="activeName=='fourth'" :form="form"></monitorProcesses>
</el-tab-pane>
<el-tab-pane label="草稿箱" name="five">
<task-draft v-if="activeName=='five'" :form="form"></task-draft>
</el-tab-pane>
</el-tabs>
</div>
</template>
@@ -22,13 +25,15 @@ import gencyProcess from './gencyProcess.vue'
import finishProcess from './finishProcess.vue'
import monitorProcesses from './monitorProcesses.vue'
import sentProcess from './sentProcess.vue'
import taskDraft from './taskDraft'
export default {
name: 'tabs',
components:{
gencyProcess,
finishProcess,
monitorProcesses,
sentProcess
sentProcess,
taskDraft
},
data() {
return {
@@ -0,0 +1,129 @@
<template>
<div>
<div class="table">
<vxe-table ref="xTable" :data="tableData" :empty-render="{name: 'NotData'}" align="center" border stripe v-table-min-height="'calc(100vh - 380px)'">
<vxe-column show-overflow show-header-overflow type="seq" title="序号" width="77">
<template #default="{ row, rowIndex }">
{{ rowIndex + (q.current - 1) * q.size + 1 }}
</template>
</vxe-column>
<vxe-column show-overflow show-header-overflow field="prcNum"
title="流程编号">
<template #default="{ row,index }" >
<div class="blurcolor" @click="handle(row)">{{row.prcNum}}</div>
</template>
</vxe-column>
<vxe-column show-overflow show-header-overflow field="prcType"
title="流程类型">
<template #default="{ row,index }">
<div>{{getPrcName(row.prcType)}}</div>
</template>
</vxe-column>
<vxe-column show-overflow show-header-overflow field="prcName" title="流程名称">
<template #default="{ row,index }" >
<div class="blurcolor" @click="handle(row)">{{row.prcName}}</div>
</template>
</vxe-column>
<vxe-column show-overflow show-header-overflow field="creatUserName"
title="发起人"></vxe-column>
<vxe-column show-overflow show-header-overflow field="creatTime" title="创建时间"></vxe-column>
<vxe-column show-overflow show-header-overflow title="操作" width="200" fixed="right">
<template #default="{ row }">
<el-button @click.native.prevent="handle(row)" type="text" size="small">
办理
</el-button>
</template>
</vxe-column>
</vxe-table>
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="q.current"
:page-sizes="[5, 10, 20]" :page-size="q.size" layout="total, sizes, prev, pager, next, jumper"
:total="total" />
</div>
</div>
</template>
<script>
import ProcessMixin from "../../../components/ProcessMixin";
export default {
name: "gencyProcess",
mixins:[ProcessMixin],
data() {
return {
q:{
current:1,
size:10
},
total: 0,
tableData: []
};
},
props:{
form:{
type:Object,
default:{},
}
},
watch: {
form:{
handler(){
console.log("我见他",this.form)
this.loadData()
},
deep:true
}
},
mounted () {
this.loadData()
},
methods: {
loadData() {
let userId=this.$store.getters.userInfo.usid
this.$api.processCenter.draftProcessPage({...this.q,...this.form,userId:userId}).then(res=>{
this.tableData = res.data.list
this.total = res.data.count
})
},
// 单页数据量
handleSizeChange(val) {
this.q.size = val;
this.q.current = 1;
this.loadData();
},
// 第几页
handleCurrentChange(val) {
this.q.current = val;
this.loadData();
},
handle(row) {
let params = row
this.$store.commit('setHandleProcess',params)
switch (row.prcType) {
case '1' :
this.$router.push({
path: '/permission/launch',
query: {
id: this.$route.query.id,
isDraft: 1
}
})
}
},
},
};
</script>
<style lang="scss" scoped>
::v-deep .el-table__fixed, ::v-deep .el-table__fixed-right ::before{
height: 0px !important;
}
.table {
margin: 0 14px 0 13px;
::v-deep .el-pagination {
margin-top: 13px;
padding-left: 20px;
padding-bottom: 10px;
}
}
</style>