|
@@ -46,10 +46,21 @@ export default {
|
|
};
|
|
};
|
|
},
|
|
},
|
|
},
|
|
},
|
|
|
|
+ // 是否只选择一级
|
|
isFirst: {
|
|
isFirst: {
|
|
type: Boolean,
|
|
type: Boolean,
|
|
default: false,
|
|
default: false,
|
|
},
|
|
},
|
|
|
|
+ // 标签是否可移除
|
|
|
|
+ closable: {
|
|
|
|
+ type: Boolean,
|
|
|
|
+ default: true,
|
|
|
|
+ },
|
|
|
|
+ // 支持详情编辑
|
|
|
|
+ isEdit: {
|
|
|
|
+ type: Boolean,
|
|
|
|
+ default: false,
|
|
|
|
+ },
|
|
},
|
|
},
|
|
components: {},
|
|
components: {},
|
|
data() {
|
|
data() {
|
|
@@ -80,10 +91,27 @@ export default {
|
|
this.$emit("input", value);
|
|
this.$emit("input", value);
|
|
},
|
|
},
|
|
},
|
|
},
|
|
|
|
+ defaultChecked: {
|
|
|
|
+ get() {
|
|
|
|
+ let {
|
|
|
|
+ $props: { isEdit },
|
|
|
|
+ lastSelectData,
|
|
|
|
+ } = this;
|
|
|
|
+ if (isEdit) {
|
|
|
|
+ return lastSelectData.map((item) => item.id);
|
|
|
|
+ }
|
|
|
|
+ return [];
|
|
|
|
+ },
|
|
|
|
+ set() {},
|
|
|
|
+ },
|
|
},
|
|
},
|
|
watch: {
|
|
watch: {
|
|
innerValue: {
|
|
innerValue: {
|
|
handler: function (newValue) {
|
|
handler: function (newValue) {
|
|
|
|
+ if (this.$props.isEdit) {
|
|
|
|
+ this.lastSelectData = newValue;
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
if (!newValue) this.lastSelectData = [];
|
|
if (!newValue) this.lastSelectData = [];
|
|
},
|
|
},
|
|
},
|
|
},
|
|
@@ -186,7 +214,7 @@ export default {
|
|
</script>
|
|
</script>
|
|
<template>
|
|
<template>
|
|
<div class="popover-tree-select popover-tree-select--multiple">
|
|
<div class="popover-tree-select popover-tree-select--multiple">
|
|
- <el-input v-bind="$attrs" @focus="open">
|
|
|
|
|
|
+ <el-input v-bind="$attrs" @focus="open" style="width: 100%">
|
|
<i class="el-icon-search" slot="suffix" @click="open"> </i>
|
|
<i class="el-icon-search" slot="suffix" @click="open"> </i>
|
|
<template slot-scope="{ item }">
|
|
<template slot-scope="{ item }">
|
|
<p
|
|
<p
|
|
@@ -248,7 +276,8 @@ export default {
|
|
</el-input>
|
|
</el-input>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item>
|
|
<el-form-item>
|
|
- <el-button icon="el-icon-refresh" @click="useReset"></el-button>
|
|
|
|
|
|
+ <el-button icon="el-icon-search" @click="useQuery">搜索</el-button>
|
|
|
|
+ <el-button icon="el-icon-refresh" @click="useReset">重置</el-button>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-tree
|
|
<el-tree
|
|
v-loading="loading"
|
|
v-loading="loading"
|
|
@@ -260,6 +289,7 @@ export default {
|
|
highlight-current
|
|
highlight-current
|
|
ref="tree"
|
|
ref="tree"
|
|
node-key="id"
|
|
node-key="id"
|
|
|
|
+ :default-checked-keys="defaultChecked"
|
|
@check="useSelect($refs.tree.getCheckedNodes())"
|
|
@check="useSelect($refs.tree.getCheckedNodes())"
|
|
>
|
|
>
|
|
</el-tree>
|
|
</el-tree>
|
|
@@ -278,7 +308,7 @@ export default {
|
|
v-for="(tag, index) in lastSelectData"
|
|
v-for="(tag, index) in lastSelectData"
|
|
:size="size"
|
|
:size="size"
|
|
hit
|
|
hit
|
|
- closable
|
|
|
|
|
|
+ :closable="closable"
|
|
@close="useDelete(index)"
|
|
@close="useDelete(index)"
|
|
style="margin-right: 5px"
|
|
style="margin-right: 5px"
|
|
>
|
|
>
|