clay : 任意节点退回完成 #34
|
|
@ -19,7 +19,6 @@
|
|||
<el-tree :data="dataList" ref="tree" :props="defaultProps" empty-text="" node-key="value"
|
||||
:default-expanded-keys="expandedKeys"
|
||||
@node-click="handleChange"
|
||||
:filter-node-method="filterNode"
|
||||
>
|
||||
<div class="tree-node" slot-scope="{ node,data }">
|
||||
<div v-if="data.type === 0" style="display: flex;align-items: center">
|
||||
|
|
@ -70,6 +69,12 @@ export default {
|
|||
return [];
|
||||
}
|
||||
},
|
||||
selected: {
|
||||
type: Array,
|
||||
default: () => {
|
||||
return [];
|
||||
}
|
||||
},
|
||||
multiple: { //是否多选
|
||||
default: true,
|
||||
type: Boolean
|
||||
|
|
@ -128,32 +133,42 @@ export default {
|
|||
getList() {
|
||||
getUserTree(this.radio, this.chooseId).then(res => {
|
||||
console.log('人员', res.data)
|
||||
if (res.data) {
|
||||
// if (res.data) {
|
||||
if (this.selectItem.type === -1 || this.selectItem.type === -2) {
|
||||
this.dataList = this.setData(res.data)
|
||||
} else if (this.selectItem.type === 1) {
|
||||
this.dataList = res.data
|
||||
}
|
||||
else if (this.selectItem.type === 1) {
|
||||
this.selectItem.children = res.data
|
||||
} else if (this.selectItem.type === 2) {
|
||||
this.selectItem.children = this.setData(res.data)
|
||||
this.selectItem.children = res.data
|
||||
}
|
||||
}
|
||||
// }
|
||||
});
|
||||
},
|
||||
setData(source) {
|
||||
for (let item of source) {
|
||||
this.$set(item, "value", this.selectItem.value + "-" + item.id)
|
||||
}
|
||||
// for (let item of source) {
|
||||
// this.$set(item, "value", this.selectItem.value + "-" + item.id)
|
||||
// }
|
||||
return source;
|
||||
},
|
||||
//通过关键字过滤树节点
|
||||
filterNode(value, data) {
|
||||
if (!value) return true;
|
||||
return data.name.indexOf(value) !== -1;
|
||||
},
|
||||
// filterNode(value, data) {
|
||||
// if (!value) return true;
|
||||
// return data.name.indexOf(value) !== -1;
|
||||
// },
|
||||
//用于用户选择
|
||||
showUserPicker() {
|
||||
this.getList();
|
||||
this.selectItem = {
|
||||
type: -1,
|
||||
value: '0',
|
||||
}
|
||||
this.dataList = []
|
||||
// this.selectList = []
|
||||
this.chooseId = 0
|
||||
this.radio = 0
|
||||
this.visible = true;
|
||||
this.getList();
|
||||
|
||||
},
|
||||
//渲染子节点用户或部门及用户数据
|
||||
handleChange(item, check) {
|
||||
|
|
@ -201,6 +216,7 @@ export default {
|
|||
//确定按钮
|
||||
selectConfirm() {
|
||||
this.$emit("ok", this.selectList);
|
||||
// this.dataList = []
|
||||
this.visible = false;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
<el-button icon="el-icon-user" type="primary" size="mini" round @click="$refs.userPicker.showUserPicker()">
|
||||
选择人员
|
||||
</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>
|
||||
<div style="display: flex;">
|
||||
<div class="userStyle" v-for="(user, i) in _value" :key="i">
|
||||
|
|
|
|||
|
|
@ -42,8 +42,8 @@
|
|||
@insertNode="type => $emit('insertNode', type)"></insert-button>
|
||||
</div>
|
||||
</div>
|
||||
<user-picker v-if="selectUser.show" title="请选择系统角色" :multiple="selectUser.multiple" ref="userPicker"
|
||||
:v-model="userInfo"
|
||||
<user-picker v-if="selectUser.show" title="请选择系统用户" :multiple="selectUser.multiple" ref="userPicker"
|
||||
:selected="userInfo"
|
||||
@ok="selectedUser"/>
|
||||
</div>
|
||||
</template>
|
||||
|
|
@ -137,6 +137,9 @@ export default {
|
|||
viewer() {
|
||||
return this.$store.state.diagramMode === 'viewer'
|
||||
},
|
||||
getUserInfo(){
|
||||
return this.userInfo
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
selectedUser(select) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue