feat: There is no way the Transfer and withdrawal

This commit is contained in:
super_liu
2021-09-02 15:20:34 +08:00
parent 7ae9e262e8
commit f197165cbb
5 changed files with 212 additions and 58 deletions
@@ -29,7 +29,6 @@
v-if="tzclrEnable"
class="common-button-default"
@click="adjustmentHandler"
v-btn-permission="'39ETS7LEANXL8GG9MH8T'"
round
>调整处理人</el-button>
<!--临时屏蔽 start-->
@@ -113,17 +112,24 @@
</el-table-column>
</el-table>
<loading :loading="loading">流程列表加载中</loading>
<!-- 上汽全公司选人解决方案 -->
<org-table
title="调整处理人"
:visible.sync="drawerModal"
dialog-model
:config="orgTableConfig"
:max-selected="1"
max-selected-tips="处理人只能选择一个用户"
:excludeUser="excludeUser"
@confirm="addTree"
></org-table>
<!-- 福田全公司选人解决方案 -->
<Role-tree
check-box
:is-title="drawerTitle"
:is-visible.sync="drawerModal"
@checkedRole="checkedRole"
:nodeList="nodeList"
></Role-tree>
<!-- <org-table-->
<!-- title="调整处理人"-->
<!-- :visible.sync="drawerModal"-->
<!-- dialog-model-->
<!-- :config="orgTableConfig"-->
<!-- :max-selected="1"-->
<!-- max-selected-tips="处理人只能选择一个用户"-->
<!-- :excludeUser="excludeUser"-->
<!-- @confirm="addTree"-->
<!-- ></org-table>-->
</div>
</div>
</template>
@@ -140,6 +146,8 @@ export default {
loginPeople: '',
// 调整处理人抽屉状态
drawerModal: false,
drawerTitle: '',
nodeList: [],
tasksName: '',
selectPeople: '',
// loading
@@ -167,6 +175,25 @@ export default {
}
},
methods: {
checkedRole (data) {
this.assigneeNewLoading = true
changeAssigneeNew({
taskId: this.selectPeople.id, // 任务id
assignee: data[0].id, // 被委托人
userId: this.selectPeople.assigneeId, // 委托人
pId: this.selectPeople.processInstanceId // 流程实例
}).then(res => {
this.assigneeNewLoading = false
if (res.success) {
this.drawerModal = false
this.$message.success('调整成功')
this.processNum()
this.processTable()
} else {
this.$message.warning(res.message)
}
})
},
/**
* @author liruohao
* @date 2019/4/22
@@ -821,6 +848,7 @@ export default {
adjustmentHandler () {
if (this.tableRow.length === 1 && !this.tableRow[0].endTime) {
this.drawerModal = true
this.drawerTitle = '调整处理人'
this.selectPeople = this.tableRow[0]
} else {
this.$message.warning('请选择一条未完成的数据')
@@ -40,11 +40,10 @@ export default {
title: '已发流程',
name: 'AlreadySend'
},
{
title: '监控流程',
name: 'MonitorProcess',
permission: 'XYK2MHR5UMBL6SJ5BCHV'
},
// {
// title: '监控流程',
// name: 'MonitorProcess',
// },
{
title: '草稿',
name: 'TaskDraft'
@@ -128,6 +128,7 @@
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '查看']" v-btn-permission="'b9abd00768c8ed97be89547c2da3f0eb'">查看</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '强制撤回']">强制撤回</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
@@ -173,6 +174,33 @@ export default {
case '查看':
this.dealWith(command[0])
break
case '强制撤回':
this.rejectTaskToStart(command[0])
break
}
},
// 强制撤回
rejectTaskToStart (rows) {
if (rows.isEnd === '0') {
this.$confirm('您确认要强制撤回该任务吗', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
confirmButtonClass: 'common-button-primary',
roundButton: true
}).then(() => {
this.$http.get('lawss/activiti/forceRecall', {
prcId: rows.prcId
}, {
_this: this
}, res => {
this.$message.success('撤回成功')
this.queryProcess()
}, e => {
})
})
} else {
this.$message.warning('当前流程数据已完成,请选择未完成的流程数据')
}
},
resetSelect () { //清空
@@ -134,6 +134,7 @@
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '办理']">办理</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '转办']">转办</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
@@ -149,13 +150,24 @@
@pageChange="pageChange"
@pageSizeChange="pageSizeChange"></pagination>
<loading :loading="loading">数据获取中</loading>
<!-- 福田全公司选人解决方案 -->
<Role-tree
check-box
:is-title="drawerTitle"
:is-visible.sync="drawerModal"
@checkedRole="checkedRole"
:nodeList="nodeList"
></Role-tree>
</div>
</div>
</template>
<script>
import {mapMutations, mapActions} from 'vuex'
import { changeAssigneeNew } from 'api/process'
import ProcessMixin from '../../../components/ProcessMixin'
import axios from 'axios'
export default {
name: 'ProcessCenter',
mixins: [ProcessMixin],
@@ -166,6 +178,12 @@ export default {
prcNum: '',
prcType: ''
},
assigneeNewLoading: false, // 调整处理人确定loading
// 调整处理人抽屉状态
drawerModal: false,
drawerTitle: '',
nodeList: [],
selectPeople:'',
total: 0,
pageNo: 1,
loading: false,
@@ -174,11 +192,54 @@ export default {
}
},
methods: {
checkedRole (data) {
this.assigneeNewLoading = true
changeAssigneeNew({
taskId: this.selectPeople.taskIds, // 任务id
assignee: data[0].id, // 被委托人
userId: this.selectPeople.taskAssignee, // 委托人
pId: this.selectPeople.prcId // 流程实例
}).then(res => {
this.assigneeNewLoading = false
if (res.success) {
this.drawerModal = false
this.$message.success('调整成功')
this.processNum()
this.queryProcess()
} else {
this.$message.warning(res.message)
}
})
},
// 请求转换流程图
processNum (row) {
axios.request({
url: '/api/lawss/activiti/getImg?_t=' + new Date().getTime(),
responseType: 'blob',
method: 'get',
params: {
prcNum: this.selectPeople.prcNum
}
}).then(res => {
// let blob = new Blob([res.data], {type: 'image/jpg'})
// let url = window.URL.createObjectURL(res.data)
this.processStep = window.URL.createObjectURL(res.data)
})
},
// 调整处理人
adjustmentHandler (row) {
this.drawerModal = true
this.drawerTitle = '调整处理人'
this.selectPeople = row
},
handleCommand (command) {
switch (command[1]) {
case '办理':
this.dealWith(command[0])
break
case '转办':
this.adjustmentHandler(command[0])
break
}
},
resetSelect () { //清空
@@ -127,7 +127,7 @@
<el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item :command="[scope.row, '办理']" v-btn-permission="'fa19fb2dc2cf3055a64732dab6c40cb9'">办理</el-dropdown-item>
<el-dropdown-item :command="[scope.row, '办理']">办理</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
@@ -215,10 +215,32 @@ export default {
//草稿办理待开发
const { prcType, id } = row
const mes = JSON.parse(row.mes)
console.log(mes)
switch (prcType) {
// 标准入库、
case '1':
if (mes.taskInfo === '申请人发起') {
if(mes !== null && mes.taskInfo !== null){
if (mes.taskInfo === '申请人发起') {
this.$router.push({
name: 'bzrkStep1',
query: {
type: '1',
processName: '申请人发起流程',
bpnId: id,
verifySarStandard: true,
}
})
} else if (mes.taskInfo === '申请人修订') {
this.$router.push({
name: 'bzrkStep4',
query: {
type: '1',
processName: '申请人修订流程',
bpnId: id
}
})
}
}else {
this.$router.push({
name: 'bzrkStep1',
query: {
@@ -228,15 +250,6 @@ export default {
verifySarStandard: true,
}
})
} else if (mes.taskInfo === '申请人修订') {
this.$router.push({
name: 'bzrkStep4',
query: {
type: '1',
processName: '申请人修订流程',
bpnId: id
}
})
}
break
// 法规入库及评估流程
@@ -262,7 +275,28 @@ export default {
})
break
case '4':
if (mes.taskInfo === '引入法规标准清单') {
if(mes !== null && mes.taskInfo !== null){
if (mes.taskInfo === '引入法规标准清单') {
this.$router.push({
name: 'bzqdfbStep1-1',
query: {
type: '4',
processName: '标准清单发布流程',
bpnId: id,
verifySarStandard: true,
}
})
} else if (mes.taskInfo === '根据会签意见修订') {
this.$router.push({
name: 'bzqdfbStep1-3',
query: {
type: '4',
processName: '申请人修订流程',
bpnId: id
}
})
}
}else {
this.$router.push({
name: 'bzqdfbStep1-1',
query: {
@@ -272,19 +306,41 @@ export default {
verifySarStandard: true,
}
})
} else if (mes.taskInfo === '根据会签意见修订') {
this.$router.push({
name: 'bzqdfbStep1-3',
query: {
type: '4',
processName: '申请人修订流程',
bpnId: id
}
})
}
break
case '5':
if (mes.taskInfo === '选择已拆分标准') {
if(mes !== null && mes.taskInfo !== null){
if (mes.taskInfo === '选择已拆分标准') {
this.$router.push({
name: 'xmpgStep1-1',
query: {
type: '5',
processName: '项目合规评估流程-标准',
bpnId: id,
verifySarStandard: true,
}
})
}
// else if (mes.taskInfo === '分发责任人分发任务') {
// this.$router.push({
// name: 'bzqdfbStep1-3',
// query: {
// type: '5',
// processName: '项目合规评估流程-标准',
// bpnId: id
// }
// })
// }else if (mes.taskInfo === '责任人填写评估反馈') {
// this.$router.push({
// name: 'bzqdfbStep1-3',
// query: {
// type: '5',
// processName: '项目合规评估流程-标准',
// bpnId: id
// }
// })
// }
}else {
this.$router.push({
name: 'xmpgStep1-1',
query: {
@@ -295,25 +351,7 @@ export default {
}
})
}
// else if (mes.taskInfo === '分发责任人分发任务') {
// this.$router.push({
// name: 'bzqdfbStep1-3',
// query: {
// type: '5',
// processName: '项目合规评估流程-标准',
// bpnId: id
// }
// })
// }else if (mes.taskInfo === '责任人填写评估反馈') {
// this.$router.push({
// name: 'bzqdfbStep1-3',
// query: {
// type: '5',
// processName: '项目合规评估流程-标准',
// bpnId: id
// }
// })
// }
break
case '6':
this.$router.push({