Compare commits
No commits in common. "747a5ae37e70a38525ea0c9f94e0f58cff911f06" and "104ad8372af6aae3ed246c0fc95455ca260ee3e0" have entirely different histories.
747a5ae37e
...
104ad8372a
|
|
@ -2,16 +2,9 @@ import request from '@/api/request.js'
|
||||||
|
|
||||||
|
|
||||||
export function deleteFile(fileId) {
|
export function deleteFile(fileId) {
|
||||||
// 删除文件
|
// 查询组织架构树
|
||||||
return request({
|
return request({
|
||||||
url: '/flowable/process/file/' + fileId,
|
url: '/flowable/process/file/' + fileId,
|
||||||
method: 'delete',
|
method: 'delete',
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getProcessListener(type){
|
|
||||||
return request({
|
|
||||||
url: `/flowable/process/listener/option/${type}`,
|
|
||||||
method: 'get',
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -1,45 +0,0 @@
|
||||||
import request from '@/api/request.js'
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 系统内置监听器
|
|
||||||
* @param param
|
|
||||||
* @returns {*}
|
|
||||||
*/
|
|
||||||
// 获取系统内置监听器列表
|
|
||||||
export function getListenerList(param) {
|
|
||||||
return request({
|
|
||||||
url: "/flowable/listener",
|
|
||||||
method: "get",
|
|
||||||
data: param
|
|
||||||
})
|
|
||||||
}
|
|
||||||
// 获取系统内置监听器详细信息
|
|
||||||
export function getListenerById(id) {
|
|
||||||
return request({
|
|
||||||
url: "/flowable/listener/"+id,
|
|
||||||
method: "get"
|
|
||||||
})
|
|
||||||
}
|
|
||||||
// 新增系统内置监听器
|
|
||||||
export function addListener(param) {
|
|
||||||
return request({
|
|
||||||
url: "/flowable/listener",
|
|
||||||
method: "post",
|
|
||||||
data: param
|
|
||||||
})
|
|
||||||
}
|
|
||||||
// 修改系统内置监听器
|
|
||||||
export function updateListener(param) {
|
|
||||||
return request({
|
|
||||||
url: '/flowable/listener',
|
|
||||||
method: "put",
|
|
||||||
data: param
|
|
||||||
})
|
|
||||||
}
|
|
||||||
//删除系统内置监听器
|
|
||||||
export function deleteListener(idList) {
|
|
||||||
return request({
|
|
||||||
url: "/flowable/listener/" + idList,
|
|
||||||
method: "delete",
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
@ -38,12 +38,6 @@ const router = new Router({
|
||||||
name: "design",
|
name: "design",
|
||||||
component: () => import("@/views/admin/FormProcessDesign.vue"),
|
component: () => import("@/views/admin/FormProcessDesign.vue"),
|
||||||
meta: {title: '表单流程设计', viewport: viewport}
|
meta: {title: '表单流程设计', viewport: viewport}
|
||||||
},
|
|
||||||
{
|
|
||||||
path: "/admin/listener",
|
|
||||||
name: "listener",
|
|
||||||
component: () => import("@/views/admin/Listener.vue"),
|
|
||||||
meta: {title: '表单流程设计', viewport: viewport}
|
|
||||||
/* children: [
|
/* children: [
|
||||||
{
|
{
|
||||||
path: "baseSetting",
|
path: "baseSetting",
|
||||||
|
|
|
||||||
|
|
@ -5,9 +5,9 @@
|
||||||
<div class="work-panel">
|
<div class="work-panel">
|
||||||
<div class="user">
|
<div class="user">
|
||||||
<el-button type="primary" round size="small" @click="showRolePicker()" icon="el-icon-user">选择本次登录者</el-button>
|
<el-button type="primary" round size="small" @click="showRolePicker()" icon="el-icon-user">选择本次登录者</el-button>
|
||||||
<div v-if="token !== '' && token !== null" class="chooseUser">
|
<div v-if="token !== '' && token !== null">
|
||||||
<el-avatar size="large" :src="loginUser.avatar"></el-avatar>
|
<el-avatar size="large" :src="loginUser.avatar"></el-avatar>
|
||||||
<span style="margin-left: 5px">{{ loginUser.name }}</span>
|
<span>{{ loginUser.name }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="panel">
|
<div class="panel">
|
||||||
|
|
@ -116,15 +116,10 @@ h4 {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
left: 20%;
|
left: 20%;
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
div {
|
||||||
button{
|
|
||||||
height: 30px;
|
|
||||||
}
|
|
||||||
.chooseUser {
|
|
||||||
margin-left: 20px;
|
margin-left: 20px;
|
||||||
display: flex;
|
display: inline-block;
|
||||||
align-items: center;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -256,6 +256,7 @@ export default {
|
||||||
process: this.setup.process,
|
process: this.setup.process,
|
||||||
remark: this.setup.remark
|
remark: this.setup.remark
|
||||||
}
|
}
|
||||||
|
console.log(JSON.stringify(this.setup.process))
|
||||||
addProcessDefinition(template).then(res => {
|
addProcessDefinition(template).then(res => {
|
||||||
if (res.code === 1000){
|
if (res.code === 1000){
|
||||||
if (this.isNew){
|
if (this.isNew){
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,6 @@
|
||||||
@click="$router.push('/')"></el-button>
|
@click="$router.push('/')"></el-button>
|
||||||
<span>流程面板</span>
|
<span>流程面板</span>
|
||||||
<div>
|
<div>
|
||||||
<el-button type="primary" size="mini" @click="$router.push('/admin/listener')">跳转下一页</el-button>
|
|
||||||
<el-button type="primary" icon="el-icon-plus" size="mini" @click="newProcess">新建表单</el-button>
|
<el-button type="primary" icon="el-icon-plus" size="mini" @click="newProcess">新建表单</el-button>
|
||||||
<el-button icon="el-icon-plus" @click="addGroup" size="mini">新建分组</el-button>
|
<el-button icon="el-icon-plus" @click="addGroup" size="mini">新建分组</el-button>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -84,7 +83,7 @@
|
||||||
</el-button>
|
</el-button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<el-dialog title="历史版本" :visible.sync="openHistory"
|
<el-dialog title="历史版本" :visible.sync="openHhistory"
|
||||||
width="1000px"
|
width="1000px"
|
||||||
:close-on-click-modal="true">
|
:close-on-click-modal="true">
|
||||||
<el-table
|
<el-table
|
||||||
|
|
@ -142,7 +141,6 @@
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</draggable>
|
</draggable>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -164,7 +162,7 @@ export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
loading: true,
|
loading: true,
|
||||||
openHistory: false,
|
openHhistory: false,
|
||||||
moveSelect: "",
|
moveSelect: "",
|
||||||
visible: false,
|
visible: false,
|
||||||
groupsSort: false,
|
groupsSort: false,
|
||||||
|
|
@ -275,7 +273,7 @@ export default {
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
this.$message.error(err.response.data);
|
this.$message.error(err.response.data);
|
||||||
});
|
});
|
||||||
this.openHistory = true;
|
this.openHhistory = true;
|
||||||
},
|
},
|
||||||
//启用,挂起历史版本
|
//启用,挂起历史版本
|
||||||
// suspendOrActivateHistoryView(row) {
|
// suspendOrActivateHistoryView(row) {
|
||||||
|
|
|
||||||
|
|
@ -1,273 +0,0 @@
|
||||||
<template>
|
|
||||||
<div style="padding: 50px">
|
|
||||||
<el-button type="primary" size="small" @click="addListenShow=true">新增</el-button>
|
|
||||||
<!-- <el-dialog title="系统内置监听器列表" :visible.sync="openListener"-->
|
|
||||||
<!-- width="1000px"-->
|
|
||||||
<!-- :close-on-click-modal="true">-->
|
|
||||||
<el-table
|
|
||||||
:header-cell-style="{background:'#f5f6f6'}"
|
|
||||||
:data="listenerList"
|
|
||||||
border
|
|
||||||
v-loading="loading" style="display: table-cell;">
|
|
||||||
<el-table-column
|
|
||||||
prop="listenerName"
|
|
||||||
label="监听器名称"
|
|
||||||
width="200">
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
prop="listenerType"
|
|
||||||
label="监听器类型"
|
|
||||||
width="200">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<span v-if="scope.row.listenerType ==='1'">任务监听</span>
|
|
||||||
<span v-else>执行监听</span>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
prop="listenerValue"
|
|
||||||
label="类路径"
|
|
||||||
width="200"/>
|
|
||||||
<el-table-column
|
|
||||||
prop="listenerValueType"
|
|
||||||
label="监听器数据类型"
|
|
||||||
width="200">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<span v-if="scope.row.listenerValueType ==='0'">Java类</span>
|
|
||||||
<span v-if="scope.row.listenerValueType ==='1'">表达式</span>
|
|
||||||
<span v-if="scope.row.listenerValueType ==='2'">代理表达式</span>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
prop="eventType"
|
|
||||||
label="事件类型"
|
|
||||||
width="200">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<div v-for="(item,index) in scope.row.eventType" :key="index">
|
|
||||||
{{item}}
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column
|
|
||||||
fixed="right"
|
|
||||||
label="操作"
|
|
||||||
width="140"
|
|
||||||
>
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<el-button type="text" icon="el-icon-delete" size="mini" style="color: red" @click="deleteListener(scope.row)">
|
|
||||||
删除
|
|
||||||
</el-button>
|
|
||||||
<el-button type="text" icon="el-icon-edit-outline" size="mini" @click="openUpdateListener(scope.row)">
|
|
||||||
修改
|
|
||||||
</el-button>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
</el-table>
|
|
||||||
<!-- </el-dialog>-->
|
|
||||||
<!-- 新增监听器-->
|
|
||||||
<el-dialog custom-class="custom-dialog" class="border" width="600px" title="新增监听器"
|
|
||||||
append-to-body :close-on-click-modal="true"
|
|
||||||
:destroy-on-close="true" :visible.sync="addListenShow">
|
|
||||||
<el-form ref="listenerForm" :model="queryForms" label-position="left" label-width="100px" :rules="listenerRules">
|
|
||||||
<el-form-item label="监听器名称" prop="listenerName" >
|
|
||||||
<el-input placeholder="请设置监听器名称" size="small" v-model="queryForms.listenerName"/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="监听器类型" prop="eventType" >
|
|
||||||
<el-select placeholder="请选择监听器类型" @change="queryForms.eventType = []"
|
|
||||||
v-model="queryForms.listenerType">
|
|
||||||
<el-option :value="'1'" label="任务监听"/>
|
|
||||||
<el-option :value="'2'" label="执行监听"/>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="事件类型" prop="listenerType" >
|
|
||||||
<el-select multiple placeholder="请选择事件类型" v-model="queryForms.eventType">
|
|
||||||
<el-option value="create" label="create"/>
|
|
||||||
<el-option v-if="queryForms.listenerType === '2'" value="end" label="end"/>
|
|
||||||
<el-option v-if="queryForms.listenerType === '2'" value="take" label="take"/>
|
|
||||||
<el-option v-if="queryForms.listenerType === '1'" value="assignment" label="assignment"/>
|
|
||||||
<el-option v-if="queryForms.listenerType === '1'" value="complete" label="complete"/>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="值类型" prop="listenerValueType" >
|
|
||||||
<el-radio-group size="small" style="margin: 0 5px;" @change="listenerValueTypeChange"
|
|
||||||
v-model="queryForms.listenerValueType">
|
|
||||||
<el-radio-button :label="'0'">Java类</el-radio-button>
|
|
||||||
<el-radio-button :label="'1'">表达式</el-radio-button>
|
|
||||||
<el-radio-button :label="'2'">代理表达式</el-radio-button>
|
|
||||||
</el-radio-group>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="值" prop="listenerValue" >
|
|
||||||
<el-input :placeholder="listenerValuePlaceholder" size="small" v-model="queryForms.listenerValue"/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-form>
|
|
||||||
<div slot="footer">
|
|
||||||
<el-button size="mini" @click="addListenShow = false">取消</el-button>
|
|
||||||
<el-button size="mini" type="primary" @click="addListener()">确认</el-button>
|
|
||||||
</div>
|
|
||||||
</el-dialog>
|
|
||||||
|
|
||||||
<!-- 修改监听器 -->
|
|
||||||
<el-dialog custom-class="custom-dialog" class="border" width="600px" title="修改监听器"
|
|
||||||
append-to-body :close-on-click-modal="true"
|
|
||||||
:destroy-on-close="true" :visible.sync="editListenerShow">
|
|
||||||
<el-form ref="listenerForm" :model="selectListen" label-position="left" label-width="100px" :rules="listenerRules">
|
|
||||||
<el-form-item label="监听器名称" prop="listenerName">
|
|
||||||
<el-input placeholder="请设置监听器名称" size="small" v-model="selectListen.listenerName"/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="监听器类型" prop="eventType" >
|
|
||||||
<el-select placeholder="请选择监听器类型" @change="selectListen.eventType = []"
|
|
||||||
v-model="selectListen.listenerType">
|
|
||||||
<el-option :value="'1'" label="任务监听"/>
|
|
||||||
<el-option :value="'2'" label="执行监听"/>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="事件类型" prop="listenerType" >
|
|
||||||
<el-select multiple placeholder="请选择事件类型" v-model="selectListen.eventType">
|
|
||||||
<el-option value="create" label="create"/>
|
|
||||||
<el-option v-if="selectListen.listenerType === '2'" value="end" label="end"/>
|
|
||||||
<el-option v-if="selectListen.listenerType === '2'" value="take" label="take"/>
|
|
||||||
<el-option v-if="selectListen.listenerType === '1'" value="assignment" label="assignment"/>
|
|
||||||
<el-option v-if="selectListen.listenerType === '1'" value="complete" label="complete"/>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="值类型" prop="listenerValueType" >
|
|
||||||
<el-radio-group size="small" style="margin: 0 5px;" @change="listenerValueTypeChange"
|
|
||||||
v-model="selectListen.listenerValueType">
|
|
||||||
<el-radio-button :label="'0'">Java类</el-radio-button>
|
|
||||||
<el-radio-button :label="'1'">表达式</el-radio-button>
|
|
||||||
<el-radio-button :label="'2'">代理表达式</el-radio-button>
|
|
||||||
</el-radio-group>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="值" prop="listenerValue" >
|
|
||||||
<el-input :placeholder="listenerValuePlaceholder" size="small" v-model="selectListen.listenerValue"/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-form>
|
|
||||||
<div slot="footer">
|
|
||||||
<el-button size="mini" @click="editListenerShow = false">取消</el-button>
|
|
||||||
<el-button size="mini" type="primary" @click="handleUpdateListener()">确认</el-button>
|
|
||||||
</div>
|
|
||||||
</el-dialog>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import {getListenerList, addListener, deleteListener, updateListener, getListenerById} from "../../api/listener";
|
|
||||||
|
|
||||||
export default {
|
|
||||||
name: "Listener",
|
|
||||||
data() {
|
|
||||||
const checkLength = (rule, value, callback) => {
|
|
||||||
if (value.length === 0) {
|
|
||||||
callback(new Error("事件类型不能为空!"))
|
|
||||||
} else {
|
|
||||||
callback()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return {
|
|
||||||
loading: true,
|
|
||||||
// openListener: true,
|
|
||||||
listenerList: [],
|
|
||||||
queryForms:{
|
|
||||||
listenerName:'',
|
|
||||||
listenerType:'1',
|
|
||||||
eventType:'',
|
|
||||||
listenerValueType:'0',
|
|
||||||
listenerValue:''
|
|
||||||
},
|
|
||||||
selectListen: {
|
|
||||||
listenerName:'',
|
|
||||||
listenerType:'1',
|
|
||||||
eventType:'',
|
|
||||||
listenerValueType:'0',
|
|
||||||
listenerValue:''
|
|
||||||
},
|
|
||||||
addListenShow: false,
|
|
||||||
editListenerShow:false,
|
|
||||||
listenerValuePlaceholder: '请输入类路径',
|
|
||||||
listenerRules: {
|
|
||||||
listenerName: [
|
|
||||||
{required: true, message: '监听器名称不能为空', trigger: 'blur'}
|
|
||||||
],
|
|
||||||
eventType: [
|
|
||||||
{required: true, message: '监听器类型不能为空', trigger: 'blur'},
|
|
||||||
{validator: checkLength, trigger: 'blur'}
|
|
||||||
],
|
|
||||||
listenerType: [
|
|
||||||
{required: true, message: '监听器类型不能为空', trigger: 'blur'},
|
|
||||||
],
|
|
||||||
listenerValue: [
|
|
||||||
{required: true, message: '值不能为空', trigger: 'blur'}
|
|
||||||
],
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
mounted() {
|
|
||||||
this.getListenerList()
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
//获取系统内置监听器列表
|
|
||||||
getListenerList() {
|
|
||||||
getListenerList().then(res => {
|
|
||||||
this.loading = false;
|
|
||||||
this.listenerList = res.data.rows
|
|
||||||
})
|
|
||||||
},
|
|
||||||
//新增系统内置监听器
|
|
||||||
addListener() {
|
|
||||||
addListener({
|
|
||||||
listenerName:this.queryForms.listenerName,
|
|
||||||
listenerType:this.queryForms.listenerType,
|
|
||||||
eventType:this.queryForms.eventType,
|
|
||||||
listenerValueType:this.queryForms.listenerValueType,
|
|
||||||
listenerValue:this.queryForms.listenerValue
|
|
||||||
}).then(res => {
|
|
||||||
this.addListenShow = false
|
|
||||||
this.getListenerList()
|
|
||||||
})
|
|
||||||
},
|
|
||||||
openUpdateListener(row){
|
|
||||||
this.editListenerShow=true
|
|
||||||
getListenerById(row.id).then(res => {
|
|
||||||
this.selectListen = res.data
|
|
||||||
})
|
|
||||||
},
|
|
||||||
//修改系统内置监听器
|
|
||||||
handleUpdateListener(){
|
|
||||||
updateListener({
|
|
||||||
id:this.selectListen.id,
|
|
||||||
listenerName:this.selectListen.listenerName,
|
|
||||||
listenerType:this.selectListen.listenerType,
|
|
||||||
eventType:this.selectListen.eventType,
|
|
||||||
listenerValueType:this.selectListen.listenerValueType,
|
|
||||||
listenerValue:this.selectListen.listenerValue
|
|
||||||
}).then(res => {
|
|
||||||
this.editListenerShow = false
|
|
||||||
this.getListenerList()
|
|
||||||
})
|
|
||||||
},
|
|
||||||
//删除系统内置监听器
|
|
||||||
deleteListener(row){
|
|
||||||
this.$confirm("您确定要删除监听器名称为: " + row.listenerName + " 吗,删除后无法恢复,是否继续?", "提示", {
|
|
||||||
confirmButtonText: "确定",
|
|
||||||
cancelButtonText: "取消",
|
|
||||||
type: "warning"
|
|
||||||
}).then(() => {
|
|
||||||
deleteListener(row.id).then(res => {
|
|
||||||
this.getListenerList()
|
|
||||||
})
|
|
||||||
});
|
|
||||||
},
|
|
||||||
listenerValueTypeChange(val) {
|
|
||||||
if (val === '0') {
|
|
||||||
this.listenerValuePlaceholder = '请输入类路径'
|
|
||||||
} else {
|
|
||||||
this.listenerValuePlaceholder = '请输入表达式'
|
|
||||||
}
|
|
||||||
console.log(val)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style scoped>
|
|
||||||
|
|
||||||
</style>
|
|
||||||
|
|
@ -33,10 +33,6 @@ export const APPROVAL_PROPS = {
|
||||||
leader: { //第几级领导
|
leader: { //第几级领导
|
||||||
level: 1
|
level: 1
|
||||||
},
|
},
|
||||||
listener:{
|
|
||||||
state: false,
|
|
||||||
list:[]
|
|
||||||
},
|
|
||||||
roleList: [], //角色列表
|
roleList: [], //角色列表
|
||||||
refuse: { //拒绝的操作
|
refuse: { //拒绝的操作
|
||||||
type: 'TO_END', //驳回规则 TO_END TO_NODE TO_BEFORE
|
type: 'TO_END', //驳回规则 TO_END TO_NODE TO_BEFORE
|
||||||
|
|
|
||||||
|
|
@ -6,9 +6,7 @@
|
||||||
<el-radio v-for="item in approvalTypes" :label="item.type" :key="item.type">{{ item.name }}</el-radio>
|
<el-radio v-for="item in approvalTypes" :label="item.type" :key="item.type">{{ item.name }}</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
<div v-if="nodeProps.assignedType === 'ASSIGN_USER'">
|
<div v-if="nodeProps.assignedType === 'ASSIGN_USER'">
|
||||||
<el-button size="mini" icon="el-icon-plus" type="primary" @click="$refs.userPicker.showUserPicker()" round>
|
<el-button size="mini" icon="el-icon-plus" type="primary" @click="$refs.userPicker.showUserPicker()" round>选择人员</el-button>
|
||||||
选择人员
|
|
||||||
</el-button>
|
|
||||||
<user-picker title="请选择系统角色" :multiple="false" ref="userPicker" :v-model="assignedUser" @ok="selectedUser"/>
|
<user-picker title="请选择系统角色" :multiple="false" ref="userPicker" :v-model="assignedUser" @ok="selectedUser"/>
|
||||||
<avatar-ellipsis :row="3" :user-info="assignedUser"/>
|
<avatar-ellipsis :row="3" :user-info="assignedUser"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -43,9 +41,7 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</div>
|
</div>
|
||||||
<div v-else-if="nodeProps.assignedType === 'ROLE'">
|
<div v-else-if="nodeProps.assignedType === 'ROLE'">
|
||||||
<el-button size="mini" icon="el-icon-plus" type="primary" @click="$refs.rolePicker.showRolePicker()" round>
|
<el-button size="mini" icon="el-icon-plus" type="primary" @click="$refs.rolePicker.showRolePicker()" round>选择系统角色</el-button>
|
||||||
选择系统角色
|
|
||||||
</el-button>
|
|
||||||
<role-picker title="请选择人员" :multiple="false" ref="rolePicker" :v-model="roleList" @ok="selectedRole"/>
|
<role-picker title="请选择人员" :multiple="false" ref="rolePicker" :v-model="roleList" @ok="selectedRole"/>
|
||||||
<role-items v-model="nodeProps.roleList"/>
|
<role-items v-model="nodeProps.roleList"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -71,11 +67,8 @@
|
||||||
<el-radio label="TO_USER">转交到指定人员</el-radio>
|
<el-radio label="TO_USER">转交到指定人员</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
<div style="margin-top: 10px" v-if="nodeProps.nobody.handler === 'TO_USER'">
|
<div style="margin-top: 10px" v-if="nodeProps.nobody.handler === 'TO_USER'">
|
||||||
<el-button size="mini" icon="el-icon-plus" type="primary" @click="$refs.toUserPicker.showUserPicker()" round>
|
<el-button size="mini" icon="el-icon-plus" type="primary" @click="$refs.toUserPicker.showUserPicker()" round>选择人员</el-button>
|
||||||
选择人员
|
<user-picker title="请指定用户" :multiple="false" ref="toUserPicker" :v-model="nobodyAssignedUser" @ok="selectNoSetUser"/>
|
||||||
</el-button>
|
|
||||||
<user-picker title="请指定用户" :multiple="false" ref="toUserPicker" :v-model="nobodyAssignedUser"
|
|
||||||
@ok="selectNoSetUser"/>
|
|
||||||
<avatar-ellipsis :row="3" :user-info="nobodyAssignedUser"/>
|
<avatar-ellipsis :row="3" :user-info="nobodyAssignedUser"/>
|
||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
@ -138,81 +131,11 @@
|
||||||
:value="node.id"></el-option>
|
:value="node.id"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="自定义监听器">
|
|
||||||
<div slot="label">
|
|
||||||
<span style="margin-left: 20px">使用自定义监听器: </span>
|
|
||||||
<el-switch v-model="config.listener.state" @change="getListener"></el-switch>
|
|
||||||
</div>
|
|
||||||
<div v-if="config.listener.state">
|
|
||||||
<div slot="label">
|
|
||||||
<span style="margin-right: 10px">设置监听器</span>
|
|
||||||
<el-button type="text" @click="addListener(config.listener.list)"> + 添加</el-button>
|
|
||||||
</div>
|
|
||||||
<div v-for="(listen, index) in config.listener.list" :key="index">
|
|
||||||
<el-input v-if="listen.isSys" placeholder="监听器名称" :disabled="true" size="small" style="width: 100px;"
|
|
||||||
v-model="listen.listenerName"/>
|
|
||||||
<el-input v-if="!listen.isSys" placeholder="监听器名称" size="small" style="width: 100px;"
|
|
||||||
v-model="listen.listenerName"/>
|
|
||||||
<el-radio-group size="small" style="margin: 0 5px;" @change="typeChange(listen)" v-model="listen.isSys">
|
|
||||||
<el-radio-button :label="true">内置</el-radio-button>
|
|
||||||
<el-radio-button :label="false">自定义</el-radio-button>
|
|
||||||
</el-radio-group>
|
|
||||||
<el-select v-if="listen.isSys" style="width: 180px;" v-model="listen.listenerValue" size="small"
|
|
||||||
@change="listenerOptionChange(listen)"
|
|
||||||
placeholder="请选择表单字段">
|
|
||||||
<el-option v-for="option in listenerOption" :key="option.value" :label="option.label"
|
|
||||||
:value="option.value"/>
|
|
||||||
</el-select>
|
|
||||||
<!-- <el-input v-if="listen.isSys" placeholder="请设置字段值" size="small" v-model="listen.listenerValue" style="width: 180px;"/>-->
|
|
||||||
<el-button v-if="!listen.isSys" type="text" size="small" @click="settingListener(listen)">设置</el-button>
|
|
||||||
<el-button @click="delListener(config.listener.list, index)"
|
|
||||||
class="el-icon-delete" type="text"
|
|
||||||
style="margin-left: 5px; color: #c75450;"/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
<el-dialog custom-class="custom-dialog" class="border" width="600px" title="定义监听器设置"
|
|
||||||
append-to-body :close-on-click-modal="true"
|
|
||||||
:destroy-on-close="true" :visible.sync="editListenShow">
|
|
||||||
<el-form ref="listenerForm" label-position="left" label-width="100px" :rules="listenerRules">
|
|
||||||
<el-form-item label="监听器名称" prop="listenerName" class="listen">
|
|
||||||
<el-input placeholder="请设置监听器名称" size="small" v-model="selectListen.listenerName"/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="监听器类型" prop="eventType" class="listen">
|
|
||||||
<el-select placeholder="请选择监听器类型" @change="selectListen.eventType = []"
|
|
||||||
v-model="selectListen.listenerType">
|
|
||||||
<el-option :value="'1'" label="任务监听"/>
|
|
||||||
<el-option :value="'2'" label="执行监听"/>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="事件类型" prop="listenerType" class="listen">
|
|
||||||
<el-select multiple placeholder="请选择事件类型" v-model="selectListen.eventType">
|
|
||||||
<el-option value="create" label="create"/>
|
|
||||||
<el-option v-if="selectListen.listenerType === '2'" value="end" label="end"/>
|
|
||||||
<el-option v-if="selectListen.listenerType === '2'" value="take" label="take"/>
|
|
||||||
<el-option v-if="selectListen.listenerType === '1'" value="assignment" label="assignment"/>
|
|
||||||
<el-option v-if="selectListen.listenerType === '1'" value="complete" label="complete"/>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="值类型" prop="listenerValueType" class="listen">
|
|
||||||
<el-radio-group size="small" style="margin: 0 5px;" @change="listenerValueTypeChange" v-model="selectListen.listenerValueType">
|
|
||||||
<el-radio-button :label="'0'">Java类</el-radio-button>
|
|
||||||
<el-radio-button :label="'1'">表达式</el-radio-button>
|
|
||||||
<el-radio-button :label="'2'">代理表达式</el-radio-button>
|
|
||||||
</el-radio-group>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="值" prop="listenerValue" class="listen">
|
|
||||||
<el-input :placeholder="listenerValuePlaceholder" size="small" v-model="selectListen.listenerValue"/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-form>
|
|
||||||
<div slot="footer">
|
|
||||||
<el-button size="mini" @click="editListenShow = false">取消</el-button>
|
|
||||||
<el-button size="mini" type="primary" @click="editListenShow = false">确认</el-button>
|
|
||||||
</div>
|
|
||||||
</el-dialog>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
@ -220,7 +143,6 @@
|
||||||
import RolePicker from "@/components/common/RolePicker";
|
import RolePicker from "@/components/common/RolePicker";
|
||||||
import UserPicker from "@/components/common/UserPicker";
|
import UserPicker from "@/components/common/UserPicker";
|
||||||
import RoleItems from "../RoleItems";
|
import RoleItems from "../RoleItems";
|
||||||
import {getProcessListener} from "@/api/common";
|
|
||||||
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
|
@ -235,13 +157,6 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
const checkLength =(rule,value,callback) =>{
|
|
||||||
if (value.length === 0){
|
|
||||||
callback(new Error("事件类型不能为空!"))
|
|
||||||
}else {
|
|
||||||
callback()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return {
|
return {
|
||||||
showOrgSelect: false,
|
showOrgSelect: false,
|
||||||
orgPickerSelected: [],
|
orgPickerSelected: [],
|
||||||
|
|
@ -253,26 +168,7 @@ export default {
|
||||||
{name: "角色", type: "ROLE"},
|
{name: "角色", type: "ROLE"},
|
||||||
{name: "发起人自己", type: "SELF"},
|
{name: "发起人自己", type: "SELF"},
|
||||||
{name: "表单内联系人", type: "FORM_USER"}
|
{name: "表单内联系人", type: "FORM_USER"}
|
||||||
],
|
]
|
||||||
listenerOption: [],
|
|
||||||
selectListen: {},
|
|
||||||
editListenShow: false,
|
|
||||||
listenerValuePlaceholder:'请输入类路径',
|
|
||||||
listenerRules:{
|
|
||||||
listenerName:[
|
|
||||||
{required: true,message:'监听器名称不能为空',trigger:'blur'}
|
|
||||||
],
|
|
||||||
eventType:[
|
|
||||||
{required: true,message:'监听器类型不能为空',trigger:'blur'},
|
|
||||||
{validator: checkLength,trigger:'blur'}
|
|
||||||
],
|
|
||||||
listenerType:[
|
|
||||||
{required: true,message:'监听器类型不能为空',trigger:'blur'},
|
|
||||||
],
|
|
||||||
listenerValue:[
|
|
||||||
{required: true,message:'值不能为空',trigger:'blur'}
|
|
||||||
],
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
|
@ -334,9 +230,6 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
|
||||||
this.getListener(this.config.listener.state)
|
|
||||||
},
|
|
||||||
methods: {
|
methods: {
|
||||||
selectNoSetUser(select) {
|
selectNoSetUser(select) {
|
||||||
let userInfoList = []
|
let userInfoList = []
|
||||||
|
|
@ -365,58 +258,6 @@ export default {
|
||||||
}
|
}
|
||||||
this.assignedUser = userInfoList
|
this.assignedUser = userInfoList
|
||||||
},
|
},
|
||||||
getListener(value) {
|
|
||||||
if (!value) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
getProcessListener(1).then(res => {
|
|
||||||
this.listenerOption = res.data
|
|
||||||
})
|
|
||||||
},
|
|
||||||
addListener(list) {
|
|
||||||
if (list.length > 0 && (list[list.length - 1].listenerName.trim() === ''
|
|
||||||
|| list[list.length - 1].listenerValue.trim() === '')) {
|
|
||||||
this.$message.warning("请完善之前项后在添加")
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
let item = {
|
|
||||||
listenerType: '1',
|
|
||||||
listenerName: '',
|
|
||||||
listenerValue: '',
|
|
||||||
eventType: [],
|
|
||||||
listenerValueType: '0',
|
|
||||||
isSys: true,
|
|
||||||
}
|
|
||||||
list.push(item)
|
|
||||||
},
|
|
||||||
delListener(list, index) {
|
|
||||||
console.log(list)
|
|
||||||
list.splice(index, 1)
|
|
||||||
},
|
|
||||||
listenerOptionChange(listen) {
|
|
||||||
for (let option of this.listenerOption) {
|
|
||||||
if (option.value === listen.listenerValue) {
|
|
||||||
listen.listenerName = option.label
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
typeChange(listen) {
|
|
||||||
listen.listenerValue = ''
|
|
||||||
listen.listenerName = ''
|
|
||||||
},
|
|
||||||
settingListener(listen){
|
|
||||||
this.selectListen = listen
|
|
||||||
this.editListenShow = true
|
|
||||||
},
|
|
||||||
listenerValueTypeChange(val){
|
|
||||||
if (val === '0'){
|
|
||||||
this.listenerValuePlaceholder = '请输入类路径'
|
|
||||||
}else {
|
|
||||||
this.listenerValuePlaceholder = '请输入表达式'
|
|
||||||
}
|
|
||||||
console.log(val)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
@ -472,10 +313,4 @@ export default {
|
||||||
/deep/ .el-divider--horizontal {
|
/deep/ .el-divider--horizontal {
|
||||||
margin: 10px 0;
|
margin: 10px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.listen {
|
|
||||||
/deep/ .el-form-item__label {
|
|
||||||
line-height: 40px !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="top_right">
|
<div class="top_right">
|
||||||
<div style="margin-bottom: 12px">
|
<div style="margin-bottom: 12px">
|
||||||
<span style="font-size: 15px;margin-right: 15px;">{{ selectProcessInstance.deploymentName }}</span>
|
<span style="font-size: 15px;">{{ selectProcessInstance.deploymentName }}</span>
|
||||||
<el-tag class="state_tag" v-if="selectProcessInstance.state === '1'" size="mini">进行中</el-tag>
|
<el-tag class="state_tag" v-if="selectProcessInstance.state === '1'" size="mini">进行中</el-tag>
|
||||||
<el-tag class="state_tag" v-if="selectProcessInstance.state === '4'" size="mini" type="success">审批通过
|
<el-tag class="state_tag" v-if="selectProcessInstance.state === '4'" size="mini" type="success">审批通过
|
||||||
</el-tag>
|
</el-tag>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue