|
@@ -52,6 +52,7 @@
|
|
<el-checkbox
|
|
<el-checkbox
|
|
v-if="data.isUser"
|
|
v-if="data.isUser"
|
|
v-model="node.checked"
|
|
v-model="node.checked"
|
|
|
|
+ :disabled="checkNodeDisabled(data)"
|
|
@change="(val) => userChange(val, data)"
|
|
@change="(val) => userChange(val, data)"
|
|
>
|
|
>
|
|
{{ node.label }}
|
|
{{ node.label }}
|
|
@@ -82,7 +83,7 @@
|
|
<el-tag
|
|
<el-tag
|
|
v-for="user in selectedUsers"
|
|
v-for="user in selectedUsers"
|
|
:key="user.id"
|
|
:key="user.id"
|
|
- closable
|
|
|
|
|
|
+ :closable="!checkNodeDisabled(user)"
|
|
:disable-transitions="false"
|
|
:disable-transitions="false"
|
|
@close="toDeleteUser(user)"
|
|
@close="toDeleteUser(user)"
|
|
>
|
|
>
|
|
@@ -106,11 +107,12 @@
|
|
<script>
|
|
<script>
|
|
import { deepCopy } from "@/plugins/utils";
|
|
import { deepCopy } from "@/plugins/utils";
|
|
import { organizationList } from "../../../base/api";
|
|
import { organizationList } from "../../../base/api";
|
|
|
|
+import { markMarkerBindList } from "../../api";
|
|
|
|
|
|
export default {
|
|
export default {
|
|
name: "modify-mark-group",
|
|
name: "modify-mark-group",
|
|
props: {
|
|
props: {
|
|
- instance: {
|
|
|
|
|
|
+ data: {
|
|
type: Object,
|
|
type: Object,
|
|
default() {
|
|
default() {
|
|
return {};
|
|
return {};
|
|
@@ -139,6 +141,7 @@ export default {
|
|
userTree: [],
|
|
userTree: [],
|
|
userList: [],
|
|
userList: [],
|
|
selectedUsers: [],
|
|
selectedUsers: [],
|
|
|
|
+ disabledUserIds: [],
|
|
selectedUserIds: [],
|
|
selectedUserIds: [],
|
|
defaultProps: {
|
|
defaultProps: {
|
|
children: "children",
|
|
children: "children",
|
|
@@ -159,12 +162,21 @@ export default {
|
|
this.getOrgData();
|
|
this.getOrgData();
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
- visibleChange() {
|
|
|
|
|
|
+ async visibleChange() {
|
|
this.filterLabel = "";
|
|
this.filterLabel = "";
|
|
this.userType = "course";
|
|
this.userType = "course";
|
|
- this.selectedUsers = [];
|
|
|
|
- this.selectedUserIds = [];
|
|
|
|
|
|
+ const res = await markMarkerBindList(this.data);
|
|
|
|
+ this.selectedUserIds = res || [];
|
|
|
|
+ this.disabledUserIds = [...this.selectedUserIds];
|
|
this.labelChange();
|
|
this.labelChange();
|
|
|
|
+
|
|
|
|
+ this.$nextTick(() => {
|
|
|
|
+ const users = this.$refs.UserTree.getCheckedNodes(true);
|
|
|
|
+ this.selectedUsers = users;
|
|
|
|
+ });
|
|
|
|
+ },
|
|
|
|
+ checkNodeDisabled(data) {
|
|
|
|
+ return this.disabledUserIds.includes(data.id);
|
|
},
|
|
},
|
|
cancel() {
|
|
cancel() {
|
|
this.modalIsShow = false;
|
|
this.modalIsShow = false;
|