|
@@ -1,28 +1,158 @@
|
|
<template>
|
|
<template>
|
|
- <div class="approve-node-wrap">
|
|
|
|
- <p>审批人节点</p>
|
|
|
|
- <AddNode />
|
|
|
|
- <component
|
|
|
|
- :is="flowNode.childrenNode.nodeName"
|
|
|
|
- :flowNode="flowNode.childrenNode"
|
|
|
|
- v-if="flowNode.childrenNode"
|
|
|
|
- />
|
|
|
|
|
|
+ <div class="approve-node-wrap node-wrap">
|
|
|
|
+ <div class="node-content">
|
|
|
|
+ <div class="head">
|
|
|
|
+ <span class="icon"><i class="el-icon-s-check"></i></span>
|
|
|
|
+ <span class="name">审核人</span>
|
|
|
|
+ <span class="icon-btn" @click="removeNode"><i class="el-icon-close"></i></span>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="content" @click="showDrawer">{{flowNode.approvers[0]||'请选择审批人'}}</div>
|
|
|
|
+ </div>
|
|
|
|
+ <AddNode :node="flowNode" v-on="$listeners"/>
|
|
|
|
+ <el-drawer
|
|
|
|
+ direction="rtl"
|
|
|
|
+ :visible.sync="drawer"
|
|
|
|
+ :withHeader="false"
|
|
|
|
+ :modal-append-to-body="false"
|
|
|
|
+ >
|
|
|
|
+ <div class="approve-drawer-wrap">
|
|
|
|
+ <div class="header">
|
|
|
|
+ <p>审批人设置</p>
|
|
|
|
+ <span class="close-icon"><i class="el-icon-close"></i></span>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="drawer-content">
|
|
|
|
+ <div class="block">
|
|
|
|
+ <p>选择审批人</p>
|
|
|
|
+ <div class="choose-box">
|
|
|
|
+ <el-radio v-model="block1" :label="1">指定人员</el-radio>
|
|
|
|
+ <el-button @click="chooseDialogShow=true">选择人员</el-button>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="approve-list">
|
|
|
|
+ <TreeTransfer/>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <!-- <div class="block">
|
|
|
|
+ <p>多人审批时</p>
|
|
|
|
+ <el-radio-group v-model="block2">
|
|
|
|
+ <el-radio :label="1">
|
|
|
|
+ 依次审批
|
|
|
|
+ <el-tooltip effect="dark" placement="top" content="多个审批人依次进行审批;只有当所有审批人同意,该节点才能通过;按选择顺序审批" >
|
|
|
|
+ <span class="hint-text">
|
|
|
|
+ <i class="el-icon-warning-outline"></i>
|
|
|
|
+ </span>
|
|
|
|
+ </el-tooltip>
|
|
|
|
+ </el-radio>
|
|
|
|
+ <el-radio :label="2">
|
|
|
|
+ 会签
|
|
|
|
+ <el-tooltip effect="dark" placement="top" content="所有审批人同意,该节点才能通过;审批无先后顺序" >
|
|
|
|
+ <span class="hint-text">
|
|
|
|
+ <i class="el-icon-warning-outline"></i>
|
|
|
|
+ </span>
|
|
|
|
+ </el-tooltip>
|
|
|
|
+ </el-radio>
|
|
|
|
+ <el-radio :label="3">
|
|
|
|
+ 或签
|
|
|
|
+ <el-tooltip effect="dark" placement="top" content="所有审批人同意,该节点才能通过;审批无先后顺序" >
|
|
|
|
+ <span class="hint-text">
|
|
|
|
+ <i class="el-icon-warning-outline"></i>
|
|
|
|
+ </span>
|
|
|
|
+ </el-tooltip>
|
|
|
|
+ </el-radio>
|
|
|
|
+ </el-radio-group>
|
|
|
|
+ </div> -->
|
|
|
|
+ </div>
|
|
|
|
+ <div class="drawer-btn">
|
|
|
|
+ <el-button>取消</el-button>
|
|
|
|
+ <el-button>确认</el-button>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </el-drawer>
|
|
|
|
+ <!-- 选择人员弹窗 -->
|
|
|
|
+ <el-dialog
|
|
|
|
+ title="选择人员"
|
|
|
|
+ width="600"
|
|
|
|
+ :visible.sync="chooseDialogShow"
|
|
|
|
+ :modal-append-to-body="false"
|
|
|
|
+ :append-to-body="false"
|
|
|
|
+ >
|
|
|
|
+ <div class="dialog-wrap">
|
|
|
|
+ <TreeTransfer />
|
|
|
|
+ </div>
|
|
|
|
+ </el-dialog>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
|
|
+import TreeTransfer from '../treeTransfer.vue';
|
|
import mixin from './nodeMixin'
|
|
import mixin from './nodeMixin'
|
|
export default {
|
|
export default {
|
|
- mixins:[mixin],
|
|
|
|
|
|
+ mixins: [mixin],
|
|
data() {
|
|
data() {
|
|
- return {};
|
|
|
|
|
|
+ return {
|
|
|
|
+ drawer: false,
|
|
|
|
+ block1: 1,
|
|
|
|
+ block2: 1,
|
|
|
|
+ chooseDialogShow: false,
|
|
|
|
+ };
|
|
},
|
|
},
|
|
- methods: {},
|
|
|
|
|
|
+ methods: {
|
|
|
|
+ removeNode() {
|
|
|
|
+ this.$emit('removeNode', this.flowNode);
|
|
|
|
+ },
|
|
|
|
+ showDrawer() {
|
|
|
|
+ //设置一下里面的文字啥的
|
|
|
|
+ this.drawer = true;
|
|
|
|
+ },
|
|
|
|
+ },
|
|
|
|
+ created() { console.log('test', this.flowNode); },
|
|
|
|
+ mounted() {
|
|
|
|
+ console.log('test', this.flowNode);
|
|
|
|
+ },
|
|
|
|
+ components: { TreeTransfer }
|
|
};
|
|
};
|
|
</script>
|
|
</script>
|
|
|
|
|
|
|
|
+<style lang="scss">
|
|
|
|
+.approve-node-wrap{
|
|
|
|
+ .el-drawer__body{
|
|
|
|
+ overflow: hidden;
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+</style>
|
|
<style scoped lang="scss">
|
|
<style scoped lang="scss">
|
|
.approve-node-wrap{
|
|
.approve-node-wrap{
|
|
- background-color: brown;
|
|
|
|
|
|
+ .head{
|
|
|
|
+ background-color: brown;
|
|
|
|
+ }
|
|
|
|
+ .approve-drawer-wrap{
|
|
|
|
+ height: 100%;
|
|
|
|
+ display: flex;
|
|
|
|
+ flex-direction: column;
|
|
|
|
+ overflow: hidden;
|
|
|
|
+ .header{
|
|
|
|
+ display: flex;
|
|
|
|
+ align-items: center;
|
|
|
|
+ justify-content: space-between;
|
|
|
|
+ font-weight: bold;
|
|
|
|
+ font-size: 18px;
|
|
|
|
+ height:35px;
|
|
|
|
+ padding:10px;
|
|
|
|
+ border-bottom: 1px solid gray;
|
|
|
|
+ }
|
|
|
|
+ .drawer-content{
|
|
|
|
+ flex:1;
|
|
|
|
+ overflow-y: auto;
|
|
|
|
+ box-sizing: border-box;
|
|
|
|
+ padding:10px;
|
|
|
|
+ .block{
|
|
|
|
+ height: 500px;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ .drawer-btn{
|
|
|
|
+ text-align: right;
|
|
|
|
+ margin:10px 10px 10px 0;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|
|
</style>
|
|
</style>
|