引用抽屉组件

This commit is contained in:
zhujiyan
2024-05-06 19:56:23 +08:00
parent c584d2fce8
commit f33b077960

View File

@@ -7,133 +7,134 @@
* @LastEditTime: 2022年2月9日16:48:49
-->
<template>
<div class="workflow-design">
<!-- 配置流程全局属性 -->
<div style="float: right; padding-right: 10px">
<span v-if="!toDataLegal(childNode)" style="padding-right: 5px">
<!-- <exclamation-circle-outlined style="color: red; font-size: 18px" />-->
<!-- <Warning style="color: red; font-size: 18px"/>-->
</span>
<!-- <el-tooltip>-->
<!-- <template #title></template>-->
<!-- <el-button @click="$refs.process.showDrawer()">-->
<!-- <template #icon>-->
<!--&lt;!&ndash; <setting-outlined />&ndash;&gt;-->
<!-- <Setting />-->
<!-- </template>-->
<!-- -->
<!-- </el-button>-->
<!-- </el-tooltip>-->
<div class="workflow-design">
<!-- 配置流程全局属性 -->
<div style="float: right; padding-right: 10px">
<span v-if="!toDataLegal(childNode)" style="padding-right: 5px">
<!-- <exclamation-circle-outlined style="color: red; font-size: 18px" />-->
<!-- <Warning style="color: red; font-size: 18px"/>-->
</span>
<!-- <el-tooltip>-->
<!-- <template #title></template>-->
<!-- <el-button @click="$refs.process.showDrawer()">-->
<!-- <template #icon>-->
<!--&lt;!&ndash; <setting-outlined />&ndash;&gt;-->
<!-- <Setting />-->
<!-- </template>-->
<!-- -->
<!-- </el-button>-->
<!-- </el-tooltip>-->
<el-tooltip
class="box-item"
effect="dark"
content="配置流程全局属性"
placement="top"
>
<el-button :icon='Setting'>
<el-tooltip class="box-item" effect="dark" content="配置流程全局属性" placement="top">
<el-button :icon="Setting" @click="drawerVisibile=true">
全局配置
<template #icon>
<Setting />
</template>
</el-button>
</el-tooltip>
</div>
<div class="box-scale">
<node-wrap
v-if="childNode"
v-model="childNode.childNode"
:form-field-list-value="childFormFieldListValue"
:record-data="childRecordData"
:process-config-info="childNode.properties.configInfo"
:execution-listener-array="executionListenerArray"
:task-listener-array="taskListenerArray"
:selector-api-function="selectorApiFunction"
/>
<div class="end-node">
<div class="end-node-circle"></div>
<div class="end-node-text">流程结束</div>
</div>
</div>
<process
ref="process"
v-model="childNode"
:form-field-list-value="childFormFieldListValue"
:record-data="childRecordData"
:sn-template-array="snTemplateArray"
:print-template-array="printTemplateArray"
:execution-listener-array="executionListenerArray"
:execution-listener-selector-for-custom-event-array="executionListenerSelectorForCustomEventArray"
:task-listener-array="taskListenerArray"
:selector-api-function="selectorApiFunction"
/>
</div>
</div>
<div class="box-scale">
<node-wrap
v-if="childNode"
v-model="childNode.childNode"
:form-field-list-value="childFormFieldListValue"
:record-data="childRecordData"
:process-config-info="childNode.properties.configInfo"
:execution-listener-array="executionListenerArray"
:task-listener-array="taskListenerArray"
:selector-api-function="selectorApiFunction"
/>
<div class="end-node">
<div class="end-node-circle"></div>
<div class="end-node-text">流程结束</div>
</div>
</div>
<process
ref="process"
v-model="childNode"
:form-field-list-value="childFormFieldListValue"
:record-data="childRecordData"
:sn-template-array="snTemplateArray"
:print-template-array="printTemplateArray"
:execution-listener-array="executionListenerArray"
:execution-listener-selector-for-custom-event-array="executionListenerSelectorForCustomEventArray"
:task-listener-array="taskListenerArray"
:selector-api-function="selectorApiFunction"
/>
</div>
<!-- 全局属性抽屉组件 -->
<drawerTabs v-if="drawerVisibile" v-model="drawerVisibile" @updateDrawer="updateDrawer"></drawerTabs>
</template>
<script>
import nodeWrap from './nodeWrap.vue'
import { Warning, Setting, Plus } from '@element-plus/icons-vue'
import process from './process.vue'
export default {
computed: {
Plus() {
return Plus
import nodeWrap from './nodeWrap.vue'
import { Warning, Setting, Plus } from '@element-plus/icons-vue'
import process from './process.vue'
import drawerTabs from './components/drawerTabs.vue'
export default {
computed: {
Plus() {
return Plus
}
},
components: {
nodeWrap,
Warning,
Setting,
process,
drawerTabs
},
props: {
modelValue: { type: Object, default: () => {} },
formFieldListValue: { type: Array, default: () => [] },
recordData: { type: Object, default: () => {} },
snTemplateArray: { type: Array, default: () => [] },
printTemplateArray: { type: Array, default: () => [] },
executionListenerArray: { type: Array, default: () => [] },
executionListenerSelectorForCustomEventArray: { type: Array, default: () => [] },
listenerType: { type: String, default: () => 'default' },
taskListenerArray: { type: Array, default: () => [] },
selectorApiFunction: { type: Object, default: () => {} }
},
data() {
return {
drawerVisibile: false,
childNode: this.modelValue,
childFormFieldListValue: this.formFieldListValue,
childRecordData: this.recordData
}
},
watch: {
modelValue(val) {
this.childNode = val
},
// 监听字段列表传输的相关动静
formFieldListValue(val) {
this.childFormFieldListValue = val
},
recordData(val) {
this.childRecordData = val
},
childNode(val) {
this.$emit('update:modelValue', val)
},
},
methods: {
toDataLegal(childNode) {
if (childNode === undefined) {
return false
} else {
return childNode.dataLegal
}
},
components: {
nodeWrap,
Warning,
Setting,
process
},
props: {
modelValue: { type: Object, default: () => {} },
formFieldListValue: { type: Array, default: () => [] },
recordData: { type: Object, default: () => {} },
snTemplateArray: { type: Array, default: () => [] },
printTemplateArray: { type: Array, default: () => [] },
executionListenerArray: { type: Array, default: () => [] },
executionListenerSelectorForCustomEventArray: { type: Array, default: () => [] },
listenerType: { type: String, default: () => 'default' },
taskListenerArray: { type: Array, default: () => [] },
selectorApiFunction: { type: Object, default: () => {} }
},
data() {
return {
childNode: this.modelValue,
childFormFieldListValue: this.formFieldListValue,
childRecordData: this.recordData
}
},
watch: {
modelValue(val) {
this.childNode = val
},
// 监听字段列表传输的相关动静
formFieldListValue(val) {
this.childFormFieldListValue = val
},
recordData(val) {
this.childRecordData = val
},
childNode(val) {
this.$emit('update:modelValue', val)
}
},
methods: {
toDataLegal(childNode) {
if (childNode === undefined) {
return false
} else {
return childNode.dataLegal
}
}
updateDrawer(){
this.drawerVisibile=false;
}
}
}
}
</script>
<style lang="less">
@import './flowIndex.less';
@import './flowIndex.less';
</style>