t20-common-lib 0.12.10 → 0.12.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/packages/select-tree-unit/src/main.vue +7 -7
- package/packages/select-tree-unit/src/selectTree/Extends/ElSelect.vue +180 -0
- package/packages/select-tree-unit/src/selectTree/Tree/document.svg +8 -0
- package/packages/select-tree-unit/src/selectTree/Tree/folder.svg +9 -0
- package/packages/select-tree-unit/src/selectTree/forEachs.js +16 -0
- package/packages/select-tree-unit/src/selectTree/imgs/list-select.png +0 -0
- package/packages/select-tree-unit/src/selectTree/imgs/list-unselect.png +0 -0
- package/packages/select-tree-unit/src/selectTree/imgs/list.png +0 -0
- package/packages/select-tree-unit/src/selectTree/imgs/tree-select.png +0 -0
- package/packages/select-tree-unit/src/selectTree/imgs/tree-unselect.png +0 -0
- package/packages/select-tree-unit/src/selectTree/imgs/tree.png +0 -0
- package/packages/select-tree-unit-form/src/main.vue +7 -7
- package/packages/select-tree-unit-form/src/selectTreeForm/Tree/index.vue +254 -0
- package/src/common/{selectTree/Filters → Filters}/index.vue +2 -2
- /package/{src/common → packages/select-tree-unit/src}/selectTree/Tree/index.vue +0 -0
- /package/{src/common/selectTree → packages/select-tree-unit-form/src/selectTreeForm}/Extends/ElSelect.vue +0 -0
- /package/{src/common/selectTree → packages/select-tree-unit-form/src/selectTreeForm}/Tree/document.svg +0 -0
- /package/{src/common/selectTree → packages/select-tree-unit-form/src/selectTreeForm}/Tree/folder.svg +0 -0
- /package/{src/common/selectTree → packages/select-tree-unit-form/src/selectTreeForm}/forEachs.js +0 -0
- /package/{src/common/selectTree → packages/select-tree-unit-form/src/selectTreeForm}/imgs/list-select.png +0 -0
- /package/{src/common/selectTree → packages/select-tree-unit-form/src/selectTreeForm}/imgs/list-unselect.png +0 -0
- /package/{src/common/selectTree → packages/select-tree-unit-form/src/selectTreeForm}/imgs/list.png +0 -0
- /package/{src/common/selectTree → packages/select-tree-unit-form/src/selectTreeForm}/imgs/tree-select.png +0 -0
- /package/{src/common/selectTree → packages/select-tree-unit-form/src/selectTreeForm}/imgs/tree-unselect.png +0 -0
- /package/{src/common/selectTree → packages/select-tree-unit-form/src/selectTreeForm}/imgs/tree.png +0 -0
- /package/src/common/{selectTree/Filters → Filters}/defaultFilterItems.js +0 -0
package/package.json
CHANGED
|
@@ -126,15 +126,15 @@
|
|
|
126
126
|
</template>
|
|
127
127
|
|
|
128
128
|
<script>
|
|
129
|
-
import Tree from "
|
|
130
|
-
import ElSelect from "
|
|
131
|
-
import Filters from "../../../src/common/
|
|
129
|
+
import Tree from "./selectTree/Tree/index.vue";
|
|
130
|
+
import ElSelect from "./selectTree/Extends/ElSelect.vue";
|
|
131
|
+
import Filters from "../../../src/common/Filters/index.vue"
|
|
132
132
|
import request from "@/utils/request";
|
|
133
133
|
import { getCommonConfig } from "../../../src/api/common";
|
|
134
|
-
import treeSelectImg from "
|
|
135
|
-
import treeUnSelectImg from "
|
|
136
|
-
import listSelectImg from "
|
|
137
|
-
import listUnSelectImg from "
|
|
134
|
+
import treeSelectImg from "./selectTree/imgs/tree-select.png";
|
|
135
|
+
import treeUnSelectImg from "./selectTree/imgs/tree-unselect.png";
|
|
136
|
+
import listSelectImg from "./selectTree/imgs/list-select.png";
|
|
137
|
+
import listUnSelectImg from "./selectTree/imgs/list-unselect.png";
|
|
138
138
|
|
|
139
139
|
/** 兼容接口返回体在 res 顶层或 res.data */
|
|
140
140
|
function unwrapRequestData(res) {
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div
|
|
3
|
+
class="el-select"
|
|
4
|
+
:class="[selectSize ? 'el-select--' + selectSize : '']"
|
|
5
|
+
@click.stop="toggleMenu"
|
|
6
|
+
v-clickoutside="handleClose"
|
|
7
|
+
>
|
|
8
|
+
<div
|
|
9
|
+
class="el-select__tags"
|
|
10
|
+
v-if="multiple"
|
|
11
|
+
ref="tags"
|
|
12
|
+
:style="{ 'max-width': inputWidth - 32 + 'px', width: '100%' }"
|
|
13
|
+
>
|
|
14
|
+
<span v-if="collapseTags && selected.length">
|
|
15
|
+
<el-tag
|
|
16
|
+
:closable="!selectDisabled"
|
|
17
|
+
:size="collapseTagSize"
|
|
18
|
+
:hit="selected[0].hitState"
|
|
19
|
+
type="info"
|
|
20
|
+
@close="deleteTag($event, selected[0])"
|
|
21
|
+
disable-transitions
|
|
22
|
+
>
|
|
23
|
+
<span class="el-select__tags-text">{{
|
|
24
|
+
selected[0].currentLabel
|
|
25
|
+
}}</span>
|
|
26
|
+
</el-tag>
|
|
27
|
+
<el-tag
|
|
28
|
+
v-if="selected.length > 1"
|
|
29
|
+
:closable="false"
|
|
30
|
+
:size="collapseTagSize"
|
|
31
|
+
type="info"
|
|
32
|
+
disable-transitions
|
|
33
|
+
>
|
|
34
|
+
<span class="el-select__tags-text">+ {{ selected.length - 1 }}</span>
|
|
35
|
+
</el-tag>
|
|
36
|
+
</span>
|
|
37
|
+
<transition-group @after-leave="resetInputHeight" v-if="!collapseTags">
|
|
38
|
+
<el-tag
|
|
39
|
+
v-for="item in selected"
|
|
40
|
+
:key="getValueKey(item)"
|
|
41
|
+
:closable="!selectDisabled"
|
|
42
|
+
:size="collapseTagSize"
|
|
43
|
+
:hit="item.hitState"
|
|
44
|
+
type="info"
|
|
45
|
+
@close="deleteTag($event, item)"
|
|
46
|
+
disable-transitions
|
|
47
|
+
>
|
|
48
|
+
<span class="el-select__tags-text">{{ item.currentLabel }}</span>
|
|
49
|
+
</el-tag>
|
|
50
|
+
</transition-group>
|
|
51
|
+
<input
|
|
52
|
+
type="text"
|
|
53
|
+
class="el-select__input"
|
|
54
|
+
:class="[selectSize ? `is-${selectSize}` : '']"
|
|
55
|
+
:disabled="selectDisabled"
|
|
56
|
+
:autocomplete="autoComplete || autocomplete"
|
|
57
|
+
@focus="handleFocus"
|
|
58
|
+
@blur="softFocus = false"
|
|
59
|
+
@keyup="managePlaceholder"
|
|
60
|
+
@keydown="resetInputState"
|
|
61
|
+
@keydown.down.prevent="handleNavigate('next')"
|
|
62
|
+
@keydown.up.prevent="handleNavigate('prev')"
|
|
63
|
+
@keydown.enter.prevent="selectOption"
|
|
64
|
+
@keydown.esc.stop.prevent="visible = false"
|
|
65
|
+
@keydown.delete="deletePrevTag"
|
|
66
|
+
@keydown.tab="visible = false"
|
|
67
|
+
@compositionstart="handleComposition"
|
|
68
|
+
@compositionupdate="handleComposition"
|
|
69
|
+
@compositionend="handleComposition"
|
|
70
|
+
v-model="query"
|
|
71
|
+
@input="debouncedQueryChange"
|
|
72
|
+
v-if="filterable"
|
|
73
|
+
:style="{
|
|
74
|
+
'flex-grow': '1',
|
|
75
|
+
width: inputLength / (inputWidth - 32) + '%',
|
|
76
|
+
'max-width': inputWidth - 42 + 'px',
|
|
77
|
+
}"
|
|
78
|
+
ref="input"
|
|
79
|
+
/>
|
|
80
|
+
</div>
|
|
81
|
+
<el-input
|
|
82
|
+
ref="reference"
|
|
83
|
+
v-model="selectedLabel"
|
|
84
|
+
type="text"
|
|
85
|
+
:placeholder="currentPlaceholder"
|
|
86
|
+
:name="name"
|
|
87
|
+
:id="id"
|
|
88
|
+
:autocomplete="autoComplete || autocomplete"
|
|
89
|
+
:size="selectSize"
|
|
90
|
+
:disabled="selectDisabled"
|
|
91
|
+
:readonly="readonly"
|
|
92
|
+
:validate-event="false"
|
|
93
|
+
:class="{ 'is-focus': visible }"
|
|
94
|
+
:tabindex="multiple && filterable ? '-1' : null"
|
|
95
|
+
@focus="handleFocus"
|
|
96
|
+
@blur="handleBlur"
|
|
97
|
+
@input="debouncedOnInputChange"
|
|
98
|
+
@keydown.native.down.stop.prevent="handleNavigate('next')"
|
|
99
|
+
@keydown.native.up.stop.prevent="handleNavigate('prev')"
|
|
100
|
+
@keydown.native.enter.prevent="selectOption"
|
|
101
|
+
@keydown.native.esc.stop.prevent="visible = false"
|
|
102
|
+
@keydown.native.tab="visible = false"
|
|
103
|
+
@compositionstart="handleComposition"
|
|
104
|
+
@compositionupdate="handleComposition"
|
|
105
|
+
@compositionend="handleComposition"
|
|
106
|
+
@mouseenter.native="inputHovering = true"
|
|
107
|
+
@mouseleave.native="inputHovering = false"
|
|
108
|
+
>
|
|
109
|
+
<template slot="prefix" v-if="$slots.prefix">
|
|
110
|
+
<slot name="prefix"></slot>
|
|
111
|
+
</template>
|
|
112
|
+
<template slot="suffix">
|
|
113
|
+
<i
|
|
114
|
+
v-show="!showClose"
|
|
115
|
+
:class="[
|
|
116
|
+
'el-select__caret',
|
|
117
|
+
'el-input__icon',
|
|
118
|
+
'el-icon-' + iconClass,
|
|
119
|
+
]"
|
|
120
|
+
></i>
|
|
121
|
+
<i
|
|
122
|
+
v-if="showClose"
|
|
123
|
+
class="el-select__caret el-input__icon el-icon-circle-close"
|
|
124
|
+
@click="handleClearClick"
|
|
125
|
+
></i>
|
|
126
|
+
</template>
|
|
127
|
+
</el-input>
|
|
128
|
+
<transition
|
|
129
|
+
name="el-zoom-in-top"
|
|
130
|
+
@before-enter="handleMenuEnter"
|
|
131
|
+
@after-leave="doDestroy"
|
|
132
|
+
>
|
|
133
|
+
<el-select-menu
|
|
134
|
+
ref="popper"
|
|
135
|
+
:append-to-body="popperAppendToBody"
|
|
136
|
+
v-show="visible && emptyText !== false"
|
|
137
|
+
>
|
|
138
|
+
<el-scrollbar
|
|
139
|
+
tag="ul"
|
|
140
|
+
wrap-class="el-select-dropdown__wrap"
|
|
141
|
+
view-class="el-select-dropdown__list"
|
|
142
|
+
ref="scrollbar"
|
|
143
|
+
:class="{
|
|
144
|
+
'is-empty': !allowCreate && query && filteredOptionsCount === 0,
|
|
145
|
+
}"
|
|
146
|
+
v-show="options.length > 0 && !loading"
|
|
147
|
+
>
|
|
148
|
+
<el-option :value="query" created v-if="showNewOption"> </el-option>
|
|
149
|
+
<slot></slot>
|
|
150
|
+
</el-scrollbar>
|
|
151
|
+
<template
|
|
152
|
+
v-if="
|
|
153
|
+
emptyText &&
|
|
154
|
+
(!allowCreate || loading || (allowCreate && options.length === 0))
|
|
155
|
+
"
|
|
156
|
+
>
|
|
157
|
+
<slot name="empty" v-if="$slots.empty"></slot>
|
|
158
|
+
<p class="el-select-dropdown__empty" v-else>
|
|
159
|
+
{{ emptyText }}
|
|
160
|
+
</p>
|
|
161
|
+
</template>
|
|
162
|
+
</el-select-menu>
|
|
163
|
+
</transition>
|
|
164
|
+
</div>
|
|
165
|
+
</template>
|
|
166
|
+
<script>
|
|
167
|
+
import Select from "element-ui/packages/select/src/select.vue";
|
|
168
|
+
|
|
169
|
+
export default {
|
|
170
|
+
name: "ElSelect",
|
|
171
|
+
extends: Select,
|
|
172
|
+
methods: {
|
|
173
|
+
handleClose(flag = true) {
|
|
174
|
+
this.visible = !flag;
|
|
175
|
+
this.$emit("outClick");
|
|
176
|
+
},
|
|
177
|
+
},
|
|
178
|
+
};
|
|
179
|
+
</script>
|
|
180
|
+
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="20px" height="20px" viewBox="0 0 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
+
<title>页面</title>
|
|
4
|
+
<g id="页面" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
5
|
+
<rect id="矩形" fill="#000000" fill-rule="nonzero" opacity="0" x="0" y="0" width="20" height="20"></rect>
|
|
6
|
+
<path d="M16.6914062,5.63867188 C16.8085938,5.75585938 16.875,5.9140625 16.875,6.08007812 L16.875,18.125 C16.875,18.4707031 16.5957031,18.75 16.25,18.75 L3.75,18.75 C3.40429688,18.75 3.125,18.4707031 3.125,18.125 L3.125,1.875 C3.125,1.52929688 3.40429688,1.25 3.75,1.25 L12.0449219,1.25 C12.2109375,1.25 12.3710938,1.31640625 12.4882813,1.43359375 L16.6914062,5.63867188 Z M15.4335938,6.3671875 L11.7578125,2.69140625 L11.7578125,6.3671875 L15.4335938,6.3671875 Z M6.25,9.4140625 C6.16370551,9.4140625 6.09375,9.48401801 6.09375,9.5703125 L6.09375,10.5078125 C6.09375,10.594107 6.16370551,10.6640625 6.25,10.6640625 L13.75,10.6640625 C13.8362945,10.6640625 13.90625,10.594107 13.90625,10.5078125 L13.90625,9.5703125 C13.90625,9.48401801 13.8362945,9.4140625 13.75,9.4140625 L6.25,9.4140625 Z M6.25,12.0703125 C6.16370551,12.0703125 6.09375,12.140268 6.09375,12.2265625 L6.09375,13.1640625 C6.09375,13.250357 6.16370551,13.3203125 6.25,13.3203125 L9.84375,13.3203125 C9.93004449,13.3203125 10,13.250357 10,13.1640625 L10,12.2265625 C10,12.140268 9.93004449,12.0703125 9.84375,12.0703125 L6.25,12.0703125 Z" id="形状" fill="#1677FF" fill-rule="nonzero"></path>
|
|
7
|
+
</g>
|
|
8
|
+
</svg>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="20px" height="20px" viewBox="0 0 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
+
<title>文件</title>
|
|
4
|
+
<g id="文件" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
5
|
+
<rect id="矩形" fill="#000000" fill-rule="nonzero" opacity="0" x="0" y="0" width="20" height="20"></rect>
|
|
6
|
+
<rect id="矩形" fill="#FFBF00" opacity="0.300000012" x="3" y="4" width="14" height="11"></rect>
|
|
7
|
+
<path d="M17.1875,5.828125 L10.1757812,5.828125 L7.88476562,3.63671875 C7.85546875,3.609375 7.81640625,3.59375 7.77734375,3.59375 L2.8125,3.59375 C2.46679688,3.59375 2.1875,3.87304688 2.1875,4.21875 L2.1875,15.78125 C2.1875,16.1269531 2.46679688,16.40625 2.8125,16.40625 L17.1875,16.40625 C17.5332031,16.40625 17.8125,16.1269531 17.8125,15.78125 L17.8125,6.453125 C17.8125,6.10742188 17.5332031,5.828125 17.1875,5.828125 Z" id="路径" fill="#FFBF00" fill-rule="nonzero"></path>
|
|
8
|
+
</g>
|
|
9
|
+
</svg>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
function forEachs(arr, callback, branch = 'children', arrp = {}) {
|
|
2
|
+
if (typeof callback === 'function') {
|
|
3
|
+
_forEachs(arr, callback, branch, arrp)
|
|
4
|
+
}
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
function _forEachs(arr, callback, branch, arrp) {
|
|
8
|
+
arr.forEach(function (item, _i, _arr) {
|
|
9
|
+
callback(item, _i, _arr, arrp)
|
|
10
|
+
if (item[branch] && Array.isArray(item[branch])) {
|
|
11
|
+
_forEachs(item[branch], callback, branch, item)
|
|
12
|
+
}
|
|
13
|
+
})
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export default forEachs
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -107,15 +107,15 @@
|
|
|
107
107
|
|
|
108
108
|
<script>
|
|
109
109
|
import emitter from "element-ui/src/mixins/emitter";
|
|
110
|
-
import Tree from "
|
|
111
|
-
import ElSelect from "
|
|
112
|
-
import Filters from "../../../src/common/
|
|
110
|
+
import Tree from "../../select-tree-unit/src/selectTree/Tree/index.vue";
|
|
111
|
+
import ElSelect from "../../select-tree-unit/src/selectTree/Extends/ElSelect.vue";
|
|
112
|
+
import Filters from "../../../src/common/Filters/index.vue"
|
|
113
113
|
import request from "@/utils/request";
|
|
114
114
|
import { getCommonConfig } from "../../../src/api/common";
|
|
115
|
-
import treeSelectImg from "
|
|
116
|
-
import treeUnSelectImg from "
|
|
117
|
-
import listSelectImg from "
|
|
118
|
-
import listUnSelectImg from "
|
|
115
|
+
import treeSelectImg from "../../select-tree-unit/src/selectTree/imgs/tree-select.png";
|
|
116
|
+
import treeUnSelectImg from "../../select-tree-unit/src/selectTree/imgs/tree-unselect.png";
|
|
117
|
+
import listSelectImg from "../../select-tree-unit/src/selectTree/imgs/list-select.png";
|
|
118
|
+
import listUnSelectImg from "../../select-tree-unit/src/selectTree/imgs/list-unselect.png";
|
|
119
119
|
|
|
120
120
|
/** 兼容接口返回体在 res 顶层或 res.data */
|
|
121
121
|
function unwrapRequestData(res) {
|
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<el-tree
|
|
3
|
+
ref="tree"
|
|
4
|
+
class="cl-tree cl-tree-nstc"
|
|
5
|
+
:node-key="nodeKey"
|
|
6
|
+
:expand-on-click-node="multiple?true:false"
|
|
7
|
+
:default-expanded-keys="defaultExpandedKeys"
|
|
8
|
+
:data="data"
|
|
9
|
+
check-strictly
|
|
10
|
+
:show-checkbox="multiple"
|
|
11
|
+
:props="props"
|
|
12
|
+
v-bind="$attrs"
|
|
13
|
+
v-on="$listeners"
|
|
14
|
+
>
|
|
15
|
+
<div
|
|
16
|
+
slot-scope="{ node, data }"
|
|
17
|
+
:class="data.disabled ? 'nstc-tree-disabled' : ''"
|
|
18
|
+
class="flex-box flex-lr flex-v cl-tree-item"
|
|
19
|
+
@mouseenter="mouseenterTree(node, data)"
|
|
20
|
+
@mouseleave="checkFlag = false"
|
|
21
|
+
>
|
|
22
|
+
<div
|
|
23
|
+
class=" w-500px"
|
|
24
|
+
:title="
|
|
25
|
+
(data[props.value] ? '(' + data[props.value] + ') ' : '') +
|
|
26
|
+
data[props.label]
|
|
27
|
+
"
|
|
28
|
+
>
|
|
29
|
+
<!-- <img :src="node.level == 1 ? folder : desc" class="m-r-ss" alt="" /> -->
|
|
30
|
+
{{
|
|
31
|
+
(data[props.value] ? "(" + data[props.value] + ") " : "") +
|
|
32
|
+
data[props.label]
|
|
33
|
+
}}
|
|
34
|
+
</div>
|
|
35
|
+
<!-- {{ node.data[nodeKey] }} -->
|
|
36
|
+
<div class="row-point" v-show="multiple && !isList">
|
|
37
|
+
<el-dropdown @click.stop="() => null">
|
|
38
|
+
<span class="el-dropdown-link"> ... </span>
|
|
39
|
+
<el-dropdown-menu slot="dropdown" class="nstc-unit-tree-drop">
|
|
40
|
+
<el-dropdown-item
|
|
41
|
+
@click.native.stop="handleCheckedBro(node, data)"
|
|
42
|
+
>{{ $t("common_a_0006") }}</el-dropdown-item
|
|
43
|
+
>
|
|
44
|
+
<el-dropdown-item
|
|
45
|
+
@click.native.stop="handleCheckedChild(node, data, 'direct')"
|
|
46
|
+
>
|
|
47
|
+
{{ $t("common_a_0008") }}</el-dropdown-item
|
|
48
|
+
>
|
|
49
|
+
<el-dropdown-item
|
|
50
|
+
@click.native.stop="handleCheckedChild(node, data, 'all')"
|
|
51
|
+
>{{ $t("common_a_0007") }}</el-dropdown-item
|
|
52
|
+
>
|
|
53
|
+
<el-dropdown-item
|
|
54
|
+
@click.native.stop="handleCheckedChild(node, data, 'cancel')"
|
|
55
|
+
>{{ $t("common_a_0007_1") }}</el-dropdown-item
|
|
56
|
+
>
|
|
57
|
+
</el-dropdown-menu>
|
|
58
|
+
</el-dropdown>
|
|
59
|
+
<!-- <span-->
|
|
60
|
+
<!-- @click="-->
|
|
61
|
+
<!-- showDropMenu == node.data.id-->
|
|
62
|
+
<!-- ? (showDropMenu = null)-->
|
|
63
|
+
<!-- : (showDropMenu = node.data.id)-->
|
|
64
|
+
<!-- "-->
|
|
65
|
+
<!-- >-->
|
|
66
|
+
<!-- . . .-->
|
|
67
|
+
<!-- </span>-->
|
|
68
|
+
<!-- <div class="drop-box" v-if="showDropMenu == node.data.id">-->
|
|
69
|
+
<!-- <!– <div v-if="!node.data.disabled" @click="handleChecked(node, data)">只勾选本单位</div> –>-->
|
|
70
|
+
<!-- <!– 勾选本单位及平级单位–>-->
|
|
71
|
+
<!-- <div v-if="!node.data.disabled" @click="handleCheckedBro(node, data)">-->
|
|
72
|
+
<!-- {{ $t("common_a_0006") }}-->
|
|
73
|
+
<!-- </div>-->
|
|
74
|
+
<!-- <!–勾选直接下级单位–>-->
|
|
75
|
+
<!-- <div @click="handleCheckedChild(node, data, 'direct')">-->
|
|
76
|
+
<!-- {{ $t("common_a_0008") }}-->
|
|
77
|
+
<!-- </div>-->
|
|
78
|
+
<!-- <!–勾选所有下级单位–>-->
|
|
79
|
+
<!-- <div @click="handleCheckedChild(node, data, 'all')">-->
|
|
80
|
+
<!-- {{ $t("common_a_0007") }}-->
|
|
81
|
+
<!-- </div>-->
|
|
82
|
+
<!-- </div>-->
|
|
83
|
+
<!-- </div>-->
|
|
84
|
+
<!-- <el-button
|
|
85
|
+
v-if="
|
|
86
|
+
showCheckbox &&
|
|
87
|
+
node.checked &&
|
|
88
|
+
node.data[nodeKey] === (checkFlag && checkFlag.data && checkFlag.data[nodeKey])
|
|
89
|
+
"
|
|
90
|
+
type="text"
|
|
91
|
+
class="m-r-s"
|
|
92
|
+
@click="handleClose(node, data)"
|
|
93
|
+
>{{ $lc('取消勾选') }}</el-button
|
|
94
|
+
>
|
|
95
|
+
<el-button
|
|
96
|
+
v-else-if="
|
|
97
|
+
!node.data.disabled &&
|
|
98
|
+
showCheckbox &&
|
|
99
|
+
!node.checked &&
|
|
100
|
+
node.data[nodeKey] === (checkFlag && checkFlag.data && checkFlag.data[nodeKey])
|
|
101
|
+
"
|
|
102
|
+
type="text"
|
|
103
|
+
class="m-r-s"
|
|
104
|
+
@click="handleChecked(node, data)"
|
|
105
|
+
>{{ $lc('只勾选本层级') }}</el-button
|
|
106
|
+
> -->
|
|
107
|
+
</div>
|
|
108
|
+
</div>
|
|
109
|
+
</el-tree>
|
|
110
|
+
</template>
|
|
111
|
+
<script>
|
|
112
|
+
export default {
|
|
113
|
+
name: "Tree",
|
|
114
|
+
props: {
|
|
115
|
+
isList: {
|
|
116
|
+
type: Boolean,
|
|
117
|
+
default: false,
|
|
118
|
+
},
|
|
119
|
+
data: {
|
|
120
|
+
type: Array,
|
|
121
|
+
default: () => [],
|
|
122
|
+
},
|
|
123
|
+
defaultExpandedKeys: {
|
|
124
|
+
type: Array,
|
|
125
|
+
default: () => [],
|
|
126
|
+
},
|
|
127
|
+
props: {
|
|
128
|
+
type: Object,
|
|
129
|
+
default: () => ({}),
|
|
130
|
+
},
|
|
131
|
+
multiple: {
|
|
132
|
+
type: Boolean,
|
|
133
|
+
default: false,
|
|
134
|
+
},
|
|
135
|
+
// showCheckbox: {
|
|
136
|
+
// type: Boolean,
|
|
137
|
+
// default: false
|
|
138
|
+
// },
|
|
139
|
+
checkStrictly: {
|
|
140
|
+
type: Boolean,
|
|
141
|
+
default: false,
|
|
142
|
+
},
|
|
143
|
+
nodeKey: {
|
|
144
|
+
type: String,
|
|
145
|
+
default: "",
|
|
146
|
+
},
|
|
147
|
+
},
|
|
148
|
+
data() {
|
|
149
|
+
return {
|
|
150
|
+
folder: require("./folder.svg"),
|
|
151
|
+
desc: require("./document.svg"),
|
|
152
|
+
checkFlag: {},
|
|
153
|
+
showDropMenu: null,
|
|
154
|
+
list: [],
|
|
155
|
+
};
|
|
156
|
+
},
|
|
157
|
+
computed: {
|
|
158
|
+
checkStrictlyC: {
|
|
159
|
+
get() {
|
|
160
|
+
return this.checkStrictly;
|
|
161
|
+
},
|
|
162
|
+
set(v) {
|
|
163
|
+
// console.log(v, 123);
|
|
164
|
+
return this.$emit("update:checkStrictly", v);
|
|
165
|
+
},
|
|
166
|
+
},
|
|
167
|
+
},
|
|
168
|
+
mounted() {
|
|
169
|
+
this.setRefData();
|
|
170
|
+
},
|
|
171
|
+
methods: {
|
|
172
|
+
setRefData() {
|
|
173
|
+
const {
|
|
174
|
+
store,
|
|
175
|
+
filter,
|
|
176
|
+
updateKeyChildren,
|
|
177
|
+
getCheckedNodes,
|
|
178
|
+
setCheckedNodes,
|
|
179
|
+
getCheckedKeys,
|
|
180
|
+
setCheckedKeys,
|
|
181
|
+
setChecked,
|
|
182
|
+
getHalfCheckedNodes,
|
|
183
|
+
getHalfCheckedKeys,
|
|
184
|
+
getCurrentKey,
|
|
185
|
+
getCurrentNode,
|
|
186
|
+
setCurrentKey,
|
|
187
|
+
setCurrentNode,
|
|
188
|
+
getNode,
|
|
189
|
+
remove,
|
|
190
|
+
append,
|
|
191
|
+
insertBefore,
|
|
192
|
+
insertAfter,
|
|
193
|
+
} = this.$refs["tree"];
|
|
194
|
+
|
|
195
|
+
this.filter = filter;
|
|
196
|
+
this.updateKeyChildren = updateKeyChildren;
|
|
197
|
+
this.getCheckedNodes = getCheckedNodes;
|
|
198
|
+
this.setCheckedNodes = setCheckedNodes;
|
|
199
|
+
this.getCheckedKeys = getCheckedKeys;
|
|
200
|
+
this.setCheckedKeys = setCheckedKeys;
|
|
201
|
+
this.setChecked = setChecked;
|
|
202
|
+
this.getHalfCheckedNodes = getHalfCheckedNodes;
|
|
203
|
+
this.getHalfCheckedKeys = getHalfCheckedKeys;
|
|
204
|
+
this.getCurrentKey = getCurrentKey;
|
|
205
|
+
this.getCurrentNode = getCurrentNode;
|
|
206
|
+
this.setCurrentKey = setCurrentKey;
|
|
207
|
+
this.setCurrentNode = setCurrentNode;
|
|
208
|
+
this.getNode = getNode;
|
|
209
|
+
this.remove = remove;
|
|
210
|
+
this.append = append;
|
|
211
|
+
this.insertBefore = insertBefore;
|
|
212
|
+
this.insertAfter = insertAfter;
|
|
213
|
+
this.store = store;
|
|
214
|
+
},
|
|
215
|
+
handleChecked(node, data) {
|
|
216
|
+
// this.store.checkStrictly = true
|
|
217
|
+
this.setChecked(node.data, true);
|
|
218
|
+
this.$emit("check", data, {
|
|
219
|
+
checkedKeys: this.getCheckedKeys(),
|
|
220
|
+
checkedNodes: this.getCheckedNodes(),
|
|
221
|
+
halfCheckedNodes: this.getHalfCheckedNodes(),
|
|
222
|
+
halfCheckedKeys: this.getHalfCheckedKeys(),
|
|
223
|
+
});
|
|
224
|
+
// this.store.checkStrictly = false
|
|
225
|
+
},
|
|
226
|
+
handleCheckedBro(node, data) {
|
|
227
|
+
//勾选平级单位
|
|
228
|
+
this.$emit("checkedBro", data);
|
|
229
|
+
},
|
|
230
|
+
handleCheckedChild(node, data, type) {
|
|
231
|
+
//勾选平级单位
|
|
232
|
+
this.$emit("checkedChild", { node, data, type: type });
|
|
233
|
+
},
|
|
234
|
+
mouseenterTree(node, data) {
|
|
235
|
+
this.checkFlag = node;
|
|
236
|
+
},
|
|
237
|
+
handleClose(node, data) {
|
|
238
|
+
// this.store.checkStrictly = true
|
|
239
|
+
this.setChecked(node.data, false);
|
|
240
|
+
this.$emit("check", data, {
|
|
241
|
+
checkedKeys: this.getCheckedKeys(),
|
|
242
|
+
checkedNodes: this.getCheckedNodes(),
|
|
243
|
+
halfCheckedNodes: this.getHalfCheckedNodes(),
|
|
244
|
+
halfCheckedKeys: this.getHalfCheckedKeys(),
|
|
245
|
+
});
|
|
246
|
+
// this.store.checkStrictly = false
|
|
247
|
+
},
|
|
248
|
+
},
|
|
249
|
+
};
|
|
250
|
+
</script>
|
|
251
|
+
|
|
252
|
+
<style scoped>
|
|
253
|
+
|
|
254
|
+
</style>
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
</template>
|
|
26
26
|
|
|
27
27
|
<script>
|
|
28
|
-
import request from "
|
|
29
|
-
import getJsonc from "
|
|
28
|
+
import request from "../../utils/request"
|
|
29
|
+
import getJsonc from "../../utils/getJsonc"
|
|
30
30
|
import { cloneDefaultFilterItems } from "./defaultFilterItems"
|
|
31
31
|
|
|
32
32
|
export default {
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/{src/common/selectTree → packages/select-tree-unit-form/src/selectTreeForm}/Tree/folder.svg
RENAMED
|
File without changes
|
/package/{src/common/selectTree → packages/select-tree-unit-form/src/selectTreeForm}/forEachs.js
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/{src/common/selectTree → packages/select-tree-unit-form/src/selectTreeForm}/imgs/list.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
/package/{src/common/selectTree → packages/select-tree-unit-form/src/selectTreeForm}/imgs/tree.png
RENAMED
|
File without changes
|
|
File without changes
|