clay : 任意节点退回完成 #34

Merged
clay merged 5 commits from master into pro 2023-03-20 09:29:16 +00:00
3 changed files with 36 additions and 17 deletions
Showing only changes of commit f98ca9efbb - Show all commits

View File

@ -19,7 +19,6 @@
<el-tree :data="dataList" ref="tree" :props="defaultProps" empty-text="" node-key="value" <el-tree :data="dataList" ref="tree" :props="defaultProps" empty-text="" node-key="value"
:default-expanded-keys="expandedKeys" :default-expanded-keys="expandedKeys"
@node-click="handleChange" @node-click="handleChange"
:filter-node-method="filterNode"
> >
<div class="tree-node" slot-scope="{ node,data }"> <div class="tree-node" slot-scope="{ node,data }">
<div v-if="data.type === 0" style="display: flex;align-items: center"> <div v-if="data.type === 0" style="display: flex;align-items: center">
@ -70,6 +69,12 @@ export default {
return []; return [];
} }
}, },
selected: {
type: Array,
default: () => {
return [];
}
},
multiple: { // multiple: { //
default: true, default: true,
type: Boolean type: Boolean
@ -128,32 +133,42 @@ export default {
getList() { getList() {
getUserTree(this.radio, this.chooseId).then(res => { getUserTree(this.radio, this.chooseId).then(res => {
console.log('人员', res.data) console.log('人员', res.data)
if (res.data) { // if (res.data) {
if (this.selectItem.type === -1 || this.selectItem.type === -2) { if (this.selectItem.type === -1 || this.selectItem.type === -2) {
this.dataList = this.setData(res.data) this.dataList = res.data
} else if (this.selectItem.type === 1) { }
else if (this.selectItem.type === 1) {
this.selectItem.children = res.data this.selectItem.children = res.data
} else if (this.selectItem.type === 2) { } else if (this.selectItem.type === 2) {
this.selectItem.children = this.setData(res.data) this.selectItem.children = res.data
}
} }
// }
}); });
}, },
setData(source) { setData(source) {
for (let item of source) { // for (let item of source) {
this.$set(item, "value", this.selectItem.value + "-" + item.id) // this.$set(item, "value", this.selectItem.value + "-" + item.id)
} // }
return source; return source;
}, },
// //
filterNode(value, data) { // filterNode(value, data) {
if (!value) return true; // if (!value) return true;
return data.name.indexOf(value) !== -1; // return data.name.indexOf(value) !== -1;
}, // },
// //
showUserPicker() { showUserPicker() {
this.getList(); this.selectItem = {
type: -1,
value: '0',
}
this.dataList = []
// this.selectList = []
this.chooseId = 0
this.radio = 0
this.visible = true; this.visible = true;
this.getList();
}, },
// //
handleChange(item, check) { handleChange(item, check) {
@ -201,6 +216,7 @@ export default {
// //
selectConfirm() { selectConfirm() {
this.$emit("ok", this.selectList); this.$emit("ok", this.selectList);
// this.dataList = []
this.visible = false; this.visible = false;
} }
} }

View File

@ -9,7 +9,7 @@
<el-button icon="el-icon-user" type="primary" size="mini" round @click="$refs.userPicker.showUserPicker()"> <el-button icon="el-icon-user" type="primary" size="mini" round @click="$refs.userPicker.showUserPicker()">
选择人员 选择人员
</el-button> </el-button>
<user-select type="user" :multiple="multiple" ref="userPicker" :selected="_value" @ok="selected"/> <user-select :multiple="multiple" ref="userPicker" title="请选择系统用户" :v-mode="_value" @ok="selected"/>
<span class="placeholder"> {{ placeholder }}</span> <span class="placeholder"> {{ placeholder }}</span>
<div style="display: flex;"> <div style="display: flex;">
<div class="userStyle" v-for="(user, i) in _value" :key="i"> <div class="userStyle" v-for="(user, i) in _value" :key="i">

View File

@ -42,8 +42,8 @@
@insertNode="type => $emit('insertNode', type)"></insert-button> @insertNode="type => $emit('insertNode', type)"></insert-button>
</div> </div>
</div> </div>
<user-picker v-if="selectUser.show" title="请选择系统角色" :multiple="selectUser.multiple" ref="userPicker" <user-picker v-if="selectUser.show" title="请选择系统用户" :multiple="selectUser.multiple" ref="userPicker"
:v-model="userInfo" :selected="userInfo"
@ok="selectedUser"/> @ok="selectedUser"/>
</div> </div>
</template> </template>
@ -137,6 +137,9 @@ export default {
viewer() { viewer() {
return this.$store.state.diagramMode === 'viewer' return this.$store.state.diagramMode === 'viewer'
}, },
getUserInfo(){
return this.userInfo
}
}, },
methods: { methods: {
selectedUser(select) { selectedUser(select) {