committed by
Gitee
4 changed files with 243 additions and 2 deletions
@ -0,0 +1,72 @@ |
|||
<template> |
|||
<el-dialog title="内置监听器" |
|||
width="900px" |
|||
:visible.sync="dialogVisible" |
|||
append-to-body |
|||
:close-on-click-modal="false" |
|||
:close-on-press-escape="false" |
|||
:show-close="false" |
|||
:before-close="close" |
|||
> |
|||
<flow-listener @handleSelect="handleSelect"/> |
|||
<span slot="footer" class="dialog-footer"> |
|||
<el-button @click="close">取 消</el-button> |
|||
<el-button type="primary" @click="checkComplete">确 定</el-button> |
|||
</span> |
|||
</el-dialog> |
|||
</template> |
|||
|
|||
<script> |
|||
import FlowListener from '@/components/flow/Listener' |
|||
|
|||
export default { |
|||
name: 'ListentList', |
|||
components: { FlowListener }, |
|||
props: { |
|||
visible: { |
|||
type: Boolean, |
|||
default: false |
|||
} |
|||
}, |
|||
data() { |
|||
return { |
|||
dialogVisible: this.visible, |
|||
listenerList: [] |
|||
} |
|||
}, |
|||
watch: { |
|||
visible: { |
|||
handler(newVal) { |
|||
this.dialogVisible = newVal |
|||
}, |
|||
immediate: true, |
|||
deep: true |
|||
} |
|||
}, |
|||
methods: { |
|||
close() { |
|||
this.dialogVisible = false |
|||
this.$emit('close') |
|||
}, |
|||
checkComplete() { |
|||
this.close() |
|||
this.$emit('submit', this.listenerList) |
|||
}, |
|||
handleSelect(selection) { |
|||
const type = ['class', 'expression', 'delegateExpression'] |
|||
let list = [] |
|||
selection.forEach(data => { |
|||
const formData = { |
|||
event: data.eventType, |
|||
type: type[parseInt(data.valueType) - 1], |
|||
className: data.value |
|||
} |
|||
list.push(formData) |
|||
}) |
|||
this.listenerList = list |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style></style> |
|||
@ -0,0 +1,125 @@ |
|||
<template> |
|||
<div> |
|||
<el-row> |
|||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px"> |
|||
<el-form-item label="名称" prop="name"> |
|||
<el-input |
|||
v-model="queryParams.name" |
|||
placeholder="请输入名称" |
|||
clearable |
|||
@keyup.enter.native="handleQuery" |
|||
/> |
|||
</el-form-item> |
|||
<el-form-item label="监听类型" prop="type"> |
|||
<el-select v-model="queryParams.type" placeholder="请选择监听类型" clearable> |
|||
<el-option |
|||
v-for="dict in dict.type.sys_listener_type" |
|||
:key="dict.value" |
|||
:label="dict.label" |
|||
:value="dict.value" |
|||
/> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> |
|||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> |
|||
</el-form-item> |
|||
</el-form> |
|||
</el-row> |
|||
|
|||
<el-table v-loading="loading" :data="listenerList" @selection-change="handleSelectionChange"> |
|||
<el-table-column type="selection" width="55" align="center"/> |
|||
<el-table-column label="名称" align="center" prop="name"/> |
|||
<el-table-column label="监听类型" align="center" prop="type"> |
|||
<template slot-scope="scope"> |
|||
<dict-tag :options="dict.type.sys_listener_type" :value="scope.row.type"/> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="事件类型" align="center" prop="eventType"/> |
|||
<el-table-column label="值类型" align="center" prop="valueType"> |
|||
<template slot-scope="scope"> |
|||
<dict-tag :options="dict.type.sys_listener_value_type" :value="scope.row.valueType"/> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="执行内容" align="center" prop="value"/> |
|||
</el-table> |
|||
|
|||
<pagination |
|||
v-show="total>0" |
|||
:total="total" |
|||
:page-sizes="[5,10]" |
|||
:page.sync="queryParams.pageNum" |
|||
:limit.sync="queryParams.pageSize" |
|||
@pagination="getList" |
|||
/> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import { listListener } from '@/api/system/listener' |
|||
|
|||
export default { |
|||
name: 'FlowListener', |
|||
dicts: ['sys_listener_value_type', 'sys_listener_type', 'common_status', 'sys_listener_event_type'], |
|||
props: { |
|||
selectValues: { |
|||
type: Number | String | Array, |
|||
default: null, |
|||
required: false |
|||
} |
|||
}, |
|||
data() { |
|||
return { |
|||
/** 遮罩层 */ |
|||
loading: true, |
|||
/** 流程监听表格数据 */ |
|||
listenerList: [], |
|||
/** 总条数 */ |
|||
total: 0, |
|||
/** 查询参数 */ |
|||
queryParams: { |
|||
pageNum: 1, |
|||
pageSize: 5, |
|||
name: null, |
|||
type: null, |
|||
eventType: null, |
|||
valueType: null, |
|||
value: null, |
|||
status: null |
|||
} |
|||
} |
|||
}, |
|||
mounted() { |
|||
this.getList() |
|||
}, |
|||
methods: { |
|||
/** 查询流程监听列表 */ |
|||
getList() { |
|||
this.loading = true |
|||
listListener(this.queryParams).then(response => { |
|||
this.listenerList = response.rows |
|||
this.total = response.total |
|||
this.loading = false |
|||
}) |
|||
}, |
|||
/** 搜索按钮操作 */ |
|||
handleQuery() { |
|||
this.queryParams.pageNum = 1 |
|||
this.getList() |
|||
}, |
|||
/** 重置按钮操作 */ |
|||
resetQuery() { |
|||
this.resetForm('queryForm') |
|||
this.handleQuery() |
|||
}, |
|||
/** 多选框选中数据 */ |
|||
handleSelectionChange(selection) { |
|||
this.$emit('handleSelect', selection) |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style scoped> |
|||
|
|||
</style> |
|||
Loading…
Reference in new issue