|
@@ -45,16 +45,31 @@
|
|
|
>审批人
|
|
|
</div>
|
|
|
<div v-if="node.type === 'PROCESS'" class="flow-node-content">
|
|
|
- <p>
|
|
|
- {{
|
|
|
- node.property.approveUsers.map(item => item.name).join(",")
|
|
|
- }}
|
|
|
- </p>
|
|
|
- <p v-if="node.property.copyForUsers.length">
|
|
|
- 抄送:{{
|
|
|
- node.property.copyForUsers.map(item => item.name).join(",")
|
|
|
- }}
|
|
|
- </p>
|
|
|
+ <div v-if="node.property.approveUserType === 'USER'">
|
|
|
+ <p>
|
|
|
+ {{
|
|
|
+ node.property.approveUsers
|
|
|
+ .map(item => item.name)
|
|
|
+ .join(",")
|
|
|
+ }}
|
|
|
+ </p>
|
|
|
+ <p v-if="node.property.copyForUsers.length">
|
|
|
+ 抄送:{{
|
|
|
+ node.property.copyForUsers
|
|
|
+ .map(item => item.name)
|
|
|
+ .join(",")
|
|
|
+ }}
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
+ <div v-else>
|
|
|
+ <p>
|
|
|
+ {{
|
|
|
+ node.property.approveRoles
|
|
|
+ .map(item => item.name)
|
|
|
+ .join(",")
|
|
|
+ }}
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<div v-else class="flow-node-content">
|
|
|
<span><i :class="nodeIcons[node.type]"></i></span>
|
|
@@ -73,7 +88,24 @@
|
|
|
<h3 class="flow-property-title">节点属性</h3>
|
|
|
<div class="property-part">
|
|
|
<h4 class="property-part-title">设置审批人</h4>
|
|
|
- <div class="flow-users">
|
|
|
+ <div class="flow-radio">
|
|
|
+ <el-radio-group
|
|
|
+ v-model="curNode.property.approveUserType"
|
|
|
+ size="small"
|
|
|
+ @change="curNodeChange"
|
|
|
+ >
|
|
|
+ <el-radio
|
|
|
+ v-for="(val, key) in APPROVE_USER_TYPE"
|
|
|
+ :key="key"
|
|
|
+ :label="key"
|
|
|
+ >{{ val }}</el-radio
|
|
|
+ >
|
|
|
+ </el-radio-group>
|
|
|
+ </div>
|
|
|
+ <div
|
|
|
+ v-if="curNode.property.approveUserType === 'USER'"
|
|
|
+ class="flow-users"
|
|
|
+ >
|
|
|
<el-button
|
|
|
size="small"
|
|
|
type="primary"
|
|
@@ -102,8 +134,36 @@
|
|
|
>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <div v-else class="flow-users">
|
|
|
+ <el-button size="small" type="primary" @click="toAddApproveRole"
|
|
|
+ >添加角色</el-button
|
|
|
+ >
|
|
|
+ <div class="user-list">
|
|
|
+ <el-tag
|
|
|
+ v-for="role in curNode.property.approveRoles"
|
|
|
+ :key="role.id"
|
|
|
+ size="small"
|
|
|
+ closable
|
|
|
+ :disable-transitions="false"
|
|
|
+ @close="deleteApproveRole(role)"
|
|
|
+ >
|
|
|
+ {{ role.name }}
|
|
|
+ </el-tag>
|
|
|
+ <el-button
|
|
|
+ class="user-clear"
|
|
|
+ type="danger"
|
|
|
+ size="mini"
|
|
|
+ plain
|
|
|
+ @click="clearApproveRole"
|
|
|
+ >清空</el-button
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- <div class="property-part">
|
|
|
+ <div
|
|
|
+ v-if="curNode.property.approveUserType === 'USER'"
|
|
|
+ class="property-part"
|
|
|
+ >
|
|
|
<h4 class="property-part-title">设置抄送人</h4>
|
|
|
<div class="flow-users">
|
|
|
<el-button
|
|
@@ -200,6 +260,12 @@
|
|
|
:users="curAddUsers"
|
|
|
@modified="userModified"
|
|
|
></select-user-dialog>
|
|
|
+ <!-- SelectRoleDialog -->
|
|
|
+ <select-role-dialog
|
|
|
+ ref="SelectRoleDialog"
|
|
|
+ :data="curAddRoles"
|
|
|
+ @modified="roleModified"
|
|
|
+ ></select-role-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -207,6 +273,7 @@
|
|
|
import { deepCopy } from "../../../plugins/utils";
|
|
|
import { flowDetail, updateFlowDetail } from "../api";
|
|
|
import SelectUserDialog from "./SelectUserDialog";
|
|
|
+import SelectRoleDialog from "./SelectRoleDialog";
|
|
|
|
|
|
const DEFAULT_NODE = {
|
|
|
id: "",
|
|
@@ -229,7 +296,7 @@ const DEFAULT_NODE = {
|
|
|
|
|
|
export default {
|
|
|
name: "modify-flow-detail",
|
|
|
- components: { SelectUserDialog },
|
|
|
+ components: { SelectUserDialog, SelectRoleDialog },
|
|
|
props: {
|
|
|
instance: {
|
|
|
type: Object,
|
|
@@ -412,11 +479,15 @@ export default {
|
|
|
const nodeUserValid = !this.nodes
|
|
|
.filter(node => node.type === "PROCESS")
|
|
|
.some(node => {
|
|
|
- return !node.property.approveUsers.length;
|
|
|
- // return !(
|
|
|
- // node.property.approveUsers.length &&
|
|
|
- // node.property.copyForUsers.length
|
|
|
- // );
|
|
|
+ if (node.property.approveUserType === "USER") {
|
|
|
+ return !node.property.approveUsers.length;
|
|
|
+ // return !(
|
|
|
+ // node.property.approveUsers.length &&
|
|
|
+ // node.property.copyForUsers.length
|
|
|
+ // );
|
|
|
+ } else {
|
|
|
+ return !node.property.approveRoles.length;
|
|
|
+ }
|
|
|
});
|
|
|
if (!nodeUserValid) {
|
|
|
this.$message.error("请完成节点设置");
|