Merge remote-tracking branch 'origin/master'
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
This commit is contained in:
commit
14bad32d92
|
|
@ -0,0 +1,45 @@
|
|||
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,6 +38,12 @@ const router = new Router({
|
|||
name: "design",
|
||||
component: () => import("@/views/admin/FormProcessDesign.vue"),
|
||||
meta: {title: '表单流程设计', viewport: viewport}
|
||||
},
|
||||
{
|
||||
path: "/admin/listener",
|
||||
name: "listener",
|
||||
component: () => import("@/views/admin/Listener.vue"),
|
||||
meta: {title: '表单流程设计', viewport: viewport}
|
||||
/* children: [
|
||||
{
|
||||
path: "baseSetting",
|
||||
|
|
|
|||
|
|
@ -5,9 +5,9 @@
|
|||
<div class="work-panel">
|
||||
<div class="user">
|
||||
<el-button type="primary" round size="small" @click="showRolePicker()" icon="el-icon-user">选择本次登录者</el-button>
|
||||
<div v-if="token !== '' && token !== null">
|
||||
<el-avatar size="large" :src="loginUser.avatar"></el-avatar>
|
||||
<span>{{ loginUser.name }}</span>
|
||||
<div v-if="token !== '' && token !== null" class="chooseUser">
|
||||
<el-avatar size="large" :src="loginUser.avatar" ></el-avatar>
|
||||
<span style="margin-left: 5px">{{ loginUser.name }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel">
|
||||
|
|
@ -116,10 +116,15 @@ h4 {
|
|||
position: absolute;
|
||||
left: 20%;
|
||||
margin-top: 20px;
|
||||
|
||||
div {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
button{
|
||||
height: 30px;
|
||||
}
|
||||
.chooseUser {
|
||||
margin-left: 20px;
|
||||
display: inline-block;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
@click="$router.push('/')"></el-button>
|
||||
<span>流程面板</span>
|
||||
<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 icon="el-icon-plus" @click="addGroup" size="mini">新建分组</el-button>
|
||||
</div>
|
||||
|
|
@ -83,7 +84,7 @@
|
|||
</el-button>
|
||||
</div>
|
||||
|
||||
<el-dialog title="历史版本" :visible.sync="openHhistory"
|
||||
<el-dialog title="历史版本" :visible.sync="openHistory"
|
||||
width="1000px"
|
||||
:close-on-click-modal="true">
|
||||
<el-table
|
||||
|
|
@ -141,6 +142,7 @@
|
|||
</el-table-column>
|
||||
</el-table>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</draggable>
|
||||
</div>
|
||||
|
|
@ -162,7 +164,7 @@ export default {
|
|||
data() {
|
||||
return {
|
||||
loading: true,
|
||||
openHhistory: false,
|
||||
openHistory: false,
|
||||
moveSelect: "",
|
||||
visible: false,
|
||||
groupsSort: false,
|
||||
|
|
@ -273,7 +275,7 @@ export default {
|
|||
}).catch(err => {
|
||||
this.$message.error(err.response.data);
|
||||
});
|
||||
this.openHhistory = true;
|
||||
this.openHistory = true;
|
||||
},
|
||||
//启用,挂起历史版本
|
||||
// suspendOrActivateHistoryView(row) {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,274 @@
|
|||
<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>
|
||||
|
|
@ -64,7 +64,7 @@
|
|||
</div>
|
||||
<div class="top_right">
|
||||
<div style="margin-bottom: 12px">
|
||||
<span style="font-size: 15px;">{{ selectProcessInstance.deploymentName }}</span>
|
||||
<span style="font-size: 15px;margin-right: 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 === '4'" size="mini" type="success">审批通过
|
||||
</el-tag>
|
||||
|
|
|
|||
Loading…
Reference in New Issue