widget.qw 1.1.4 → 1.1.5
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/.env.development +1 -1
- package/build/style.css +19 -19
- package/build/widget.qw.es.js +28 -15
- package/build/widget.qw.umd.js +28 -15
- package/package.json +1 -1
- package/src/components/CascaderPicker.vue +11 -3
- package/src/components/CascaderPop.vue +28 -10
- package/src/views/cascaderpicker/index.vue +0 -0
- package/src/views/cascaderpicker/index_part.vue +0 -0
package/.env.development
CHANGED
|
@@ -7,4 +7,4 @@ VITE_NEED_LOGIN_CODE=401
|
|
|
7
7
|
# 注意:发布时 VITE_IS_DEBUG必须配置为false
|
|
8
8
|
# 本地开发时 VITE_IS_DEBUG必须配置为true
|
|
9
9
|
VITE_IS_DEBUG=true
|
|
10
|
-
VITE_DEBUG_TOKEN= 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.
|
|
10
|
+
VITE_DEBUG_TOKEN= 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsb2dpblR5cGUiOiJsb2dpbiIsImxvZ2luSWQiOiJIb3VNdSIsInJuU3RyIjoiVm1CUFdpRmpURnFoOGgzam5VSG43SEQyeU80b2FuZW8ifQ.OqAOTbI6tqVeFHKYTWHLhtGQ8KMMLONBdL1jck-p4qU'
|
package/build/style.css
CHANGED
|
@@ -675,25 +675,25 @@
|
|
|
675
675
|
margin:3px;
|
|
676
676
|
}
|
|
677
677
|
|
|
678
|
-
.cascader-pop[data-v-
|
|
678
|
+
.cascader-pop[data-v-0a051cd5] {
|
|
679
679
|
width: 100%;
|
|
680
680
|
overflow: hidden;
|
|
681
681
|
}
|
|
682
|
-
.cascader-selector[data-v-
|
|
682
|
+
.cascader-selector[data-v-0a051cd5] {
|
|
683
683
|
padding: 10px;
|
|
684
684
|
}
|
|
685
|
-
.search-buttons[data-v-
|
|
685
|
+
.search-buttons[data-v-0a051cd5] {
|
|
686
686
|
display: flex;
|
|
687
687
|
gap: 10px;
|
|
688
688
|
}
|
|
689
|
-
.clear-btn[data-v-
|
|
689
|
+
.clear-btn[data-v-0a051cd5] {
|
|
690
690
|
background-color: #f2f3f5;
|
|
691
691
|
border: none;
|
|
692
692
|
border-radius: 4px;
|
|
693
693
|
padding: 4px 8px;
|
|
694
694
|
font-size: 14px;
|
|
695
695
|
}
|
|
696
|
-
.confirm-btn[data-v-
|
|
696
|
+
.confirm-btn[data-v-0a051cd5] {
|
|
697
697
|
background-color: #1989fa;
|
|
698
698
|
color: white;
|
|
699
699
|
border: none;
|
|
@@ -701,19 +701,19 @@
|
|
|
701
701
|
padding: 4px 8px;
|
|
702
702
|
font-size: 14px;
|
|
703
703
|
}
|
|
704
|
-
.no-results[data-v-
|
|
704
|
+
.no-results[data-v-0a051cd5] {
|
|
705
705
|
text-align: center;
|
|
706
706
|
padding: 20px;
|
|
707
707
|
color: #969799;
|
|
708
708
|
}
|
|
709
|
-
.cascader-header[data-v-
|
|
709
|
+
.cascader-header[data-v-0a051cd5] {
|
|
710
710
|
padding: 10px;
|
|
711
711
|
border-bottom: 1px solid #ebedf0;
|
|
712
712
|
display: flex;
|
|
713
713
|
justify-content: space-between;
|
|
714
714
|
align-items: center;
|
|
715
715
|
}
|
|
716
|
-
.current-path[data-v-
|
|
716
|
+
.current-path[data-v-0a051cd5] {
|
|
717
717
|
flex: 1;
|
|
718
718
|
font-size: 14px;
|
|
719
719
|
margin-left: 5px;
|
|
@@ -722,25 +722,25 @@
|
|
|
722
722
|
overflow: hidden;
|
|
723
723
|
text-overflow: ellipsis;
|
|
724
724
|
}
|
|
725
|
-
.header-right[data-v-
|
|
725
|
+
.header-right[data-v-0a051cd5] {
|
|
726
726
|
display: flex;
|
|
727
727
|
gap: 8px;
|
|
728
728
|
margin-left: auto;
|
|
729
729
|
}
|
|
730
|
-
.cancel-btn[data-v-
|
|
730
|
+
.cancel-btn[data-v-0a051cd5] {
|
|
731
731
|
color: #969799;
|
|
732
732
|
margin-right: 5px;
|
|
733
733
|
}
|
|
734
|
-
.scroll-container[data-v-
|
|
734
|
+
.scroll-container[data-v-0a051cd5] {
|
|
735
735
|
height: calc(80vh - 150px);
|
|
736
736
|
overflow-y: auto;
|
|
737
737
|
}
|
|
738
|
-
.cell-content[data-v-
|
|
738
|
+
.cell-content[data-v-0a051cd5] {
|
|
739
739
|
display: flex;
|
|
740
740
|
align-items: center;
|
|
741
741
|
gap: 12px;
|
|
742
742
|
}
|
|
743
|
-
.circle-selector[data-v-
|
|
743
|
+
.circle-selector[data-v-0a051cd5] {
|
|
744
744
|
width: 20px;
|
|
745
745
|
height: 20px;
|
|
746
746
|
border-radius: 50%;
|
|
@@ -750,29 +750,29 @@
|
|
|
750
750
|
transition: all 0.2s;
|
|
751
751
|
flex-shrink: 0;
|
|
752
752
|
}
|
|
753
|
-
.circle-selector.selected[data-v-
|
|
753
|
+
.circle-selector.selected[data-v-0a051cd5] {
|
|
754
754
|
background-color: #1989fa;
|
|
755
755
|
border-color: #1989fa;
|
|
756
756
|
}
|
|
757
|
-
.circle-selector.selected .van-icon[data-v-
|
|
757
|
+
.circle-selector.selected .van-icon[data-v-0a051cd5] {
|
|
758
758
|
color: white;
|
|
759
759
|
font-size: 14px;
|
|
760
760
|
}
|
|
761
|
-
.van-cell__right-icon[data-v-
|
|
761
|
+
.van-cell__right-icon[data-v-0a051cd5] {
|
|
762
762
|
color: #969799;
|
|
763
763
|
font-size: 16px;
|
|
764
764
|
margin-left: 8px;
|
|
765
765
|
}
|
|
766
|
-
.name[data-v-
|
|
766
|
+
.name[data-v-0a051cd5] {
|
|
767
767
|
flex: 1;
|
|
768
768
|
overflow: hidden;
|
|
769
769
|
text-overflow: ellipsis;
|
|
770
770
|
white-space: nowrap;
|
|
771
771
|
}
|
|
772
|
-
.cancel-btn[data-v-
|
|
772
|
+
.cancel-btn[data-v-0a051cd5] {
|
|
773
773
|
color: #969799;
|
|
774
774
|
}
|
|
775
|
-
.search-field[data-v-
|
|
775
|
+
.search-field[data-v-0a051cd5] {
|
|
776
776
|
background: #fff;
|
|
777
777
|
padding: 10px 16px;
|
|
778
778
|
border-bottom: 1px solid #ebedf0;
|
package/build/widget.qw.es.js
CHANGED
|
@@ -21636,8 +21636,8 @@ const _sfc_main$4 = {
|
|
|
21636
21636
|
}
|
|
21637
21637
|
};
|
|
21638
21638
|
var TreePicker = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-ebc14630"]]);
|
|
21639
|
-
var CascaderPop_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.cascader-pop[data-v-
|
|
21640
|
-
const _withScopeId = (n) => (pushScopeId("data-v-
|
|
21639
|
+
var CascaderPop_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.cascader-pop[data-v-0a051cd5] {\r\n width: 100%;\r\n overflow: hidden;\n}\n.cascader-selector[data-v-0a051cd5] {\r\n padding: 10px;\n}\n.search-buttons[data-v-0a051cd5] {\r\n display: flex;\r\n gap: 10px;\n}\n.clear-btn[data-v-0a051cd5] {\r\n background-color: #f2f3f5;\r\n border: none;\r\n border-radius: 4px;\r\n padding: 4px 8px;\r\n font-size: 14px;\n}\n.confirm-btn[data-v-0a051cd5] {\r\n background-color: #1989fa;\r\n color: white;\r\n border: none;\r\n border-radius: 4px;\r\n padding: 4px 8px;\r\n font-size: 14px;\n}\n.no-results[data-v-0a051cd5] {\r\n text-align: center;\r\n padding: 20px;\r\n color: #969799;\n}\n.cascader-header[data-v-0a051cd5] {\r\n padding: 10px;\r\n border-bottom: 1px solid #ebedf0;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\n}\n.current-path[data-v-0a051cd5] {\r\n flex: 1;\r\n font-size: 14px;\r\n margin-left: 5px;\r\n color: #323233;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\n}\n.header-right[data-v-0a051cd5] {\r\n display: flex;\r\n gap: 8px;\r\n margin-left: auto;\n}\n.cancel-btn[data-v-0a051cd5] {\r\n color: #969799;\r\n margin-right: 5px;\n}\n.scroll-container[data-v-0a051cd5] {\r\n height: calc(80vh - 150px);\r\n overflow-y: auto;\n}\n.cell-content[data-v-0a051cd5] {\r\n display: flex;\r\n align-items: center;\r\n gap: 12px;\n}\n.circle-selector[data-v-0a051cd5] {\r\n width: 20px;\r\n height: 20px;\r\n border-radius: 50%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n transition: all 0.2s;\r\n flex-shrink: 0;\n}\n.circle-selector.selected[data-v-0a051cd5] {\r\n background-color: #1989fa;\r\n border-color: #1989fa;\n}\n.circle-selector.selected .van-icon[data-v-0a051cd5] {\r\n color: white;\r\n font-size: 14px;\n}\n.van-cell__right-icon[data-v-0a051cd5] {\r\n color: #969799;\r\n font-size: 16px;\r\n margin-left: 8px;\n}\n.name[data-v-0a051cd5] {\r\n flex: 1;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\n}\n.cancel-btn[data-v-0a051cd5] {\r\n color: #969799;\n}\n.search-field[data-v-0a051cd5] {\r\n background: #fff;\r\n padding: 10px 16px;\r\n border-bottom: 1px solid #ebedf0;\r\n position: sticky;\r\n top: 0;\r\n z-index: 999;\r\n margin-bottom: 10px;\r\n flex-shrink: 0;\r\n /* \u9632\u6B62\u538B\u7F29 */\n}\r\n")();
|
|
21640
|
+
const _withScopeId = (n) => (pushScopeId("data-v-0a051cd5"), n = n(), popScopeId(), n);
|
|
21641
21641
|
const _hoisted_1$3 = {
|
|
21642
21642
|
class: "cascader-selector"
|
|
21643
21643
|
};
|
|
@@ -21781,22 +21781,31 @@ const _sfc_main$3 = {
|
|
|
21781
21781
|
const ids2nodes2 = () => __async(this, null, function* () {
|
|
21782
21782
|
if (!data2.selectedNodeIds || data2.selectedNodeIds.length < 1)
|
|
21783
21783
|
return [];
|
|
21784
|
-
let
|
|
21784
|
+
let ids = data2.selectedNodeIds;
|
|
21785
|
+
let res = [];
|
|
21786
|
+
let receivedNodes = [];
|
|
21787
|
+
for (var i = 0; i < ids.length; i++) {
|
|
21788
|
+
let nodeId = ids[i];
|
|
21789
|
+
let selectNode = null;
|
|
21790
|
+
selectNode = util.findNode(nodeId, receivedNodes);
|
|
21791
|
+
if (selectNode) {
|
|
21792
|
+
res = [...res, selectNode];
|
|
21793
|
+
continue;
|
|
21794
|
+
}
|
|
21785
21795
|
let params = {};
|
|
21786
21796
|
params.id = nodeId;
|
|
21787
21797
|
params.isReturnParent = true;
|
|
21788
|
-
params.hasChildren =
|
|
21798
|
+
params.hasChildren = true;
|
|
21789
21799
|
params.hasPaths = true;
|
|
21790
21800
|
params.hasUsers = true;
|
|
21791
|
-
let selectNode = null;
|
|
21792
21801
|
yield props2.idQueryNode(params, (node) => {
|
|
21793
|
-
|
|
21794
|
-
selectNode = util.findNode(nodeId,
|
|
21802
|
+
receivedNodes = [...receivedNodes, ...node.children || []];
|
|
21803
|
+
selectNode = util.findNode(nodeId, receivedNodes);
|
|
21795
21804
|
});
|
|
21796
|
-
|
|
21797
|
-
|
|
21798
|
-
|
|
21799
|
-
return
|
|
21805
|
+
if (selectNode)
|
|
21806
|
+
res = [...res, selectNode];
|
|
21807
|
+
}
|
|
21808
|
+
return res;
|
|
21800
21809
|
});
|
|
21801
21810
|
const onSubmit2 = () => __async(this, null, function* () {
|
|
21802
21811
|
if (!data2.selectedNodeIds || data2.selectedNodeIds.length < 1) {
|
|
@@ -21965,7 +21974,7 @@ const _sfc_main$3 = {
|
|
|
21965
21974
|
};
|
|
21966
21975
|
}
|
|
21967
21976
|
};
|
|
21968
|
-
var CascaderPop = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-
|
|
21977
|
+
var CascaderPop = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-0a051cd5"]]);
|
|
21969
21978
|
const _hoisted_1$2 = {
|
|
21970
21979
|
style: {
|
|
21971
21980
|
"display": "flex",
|
|
@@ -22082,9 +22091,9 @@ const _sfc_main$2 = {
|
|
|
22082
22091
|
}
|
|
22083
22092
|
let params = {};
|
|
22084
22093
|
params.id = nodeId;
|
|
22085
|
-
params.isReturnParent =
|
|
22086
|
-
params.hasChildren =
|
|
22087
|
-
params.hasPaths =
|
|
22094
|
+
params.isReturnParent = true;
|
|
22095
|
+
params.hasChildren = true;
|
|
22096
|
+
params.hasPaths = true;
|
|
22088
22097
|
params.hasUsers = true;
|
|
22089
22098
|
yield props2.idQueryNode(params, (node) => {
|
|
22090
22099
|
receivedNodes = [...receivedNodes, ...node.children || []];
|
|
@@ -22105,6 +22114,10 @@ const _sfc_main$2 = {
|
|
|
22105
22114
|
data2.selectedNodeIds = [];
|
|
22106
22115
|
}
|
|
22107
22116
|
data2.selectedNodes = yield ids2nodes2();
|
|
22117
|
+
if (!props2.multiple)
|
|
22118
|
+
emit2("select", data2.selectedNodes[0]);
|
|
22119
|
+
else
|
|
22120
|
+
emit2("select", data2.selectedNodes);
|
|
22108
22121
|
}), {
|
|
22109
22122
|
immediate: true
|
|
22110
22123
|
});
|
package/build/widget.qw.umd.js
CHANGED
|
@@ -21639,8 +21639,8 @@ var __async = (__this, __arguments, generator) => {
|
|
|
21639
21639
|
}
|
|
21640
21640
|
};
|
|
21641
21641
|
var TreePicker = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-ebc14630"]]);
|
|
21642
|
-
var CascaderPop_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.cascader-pop[data-v-
|
|
21643
|
-
const _withScopeId = (n) => (vue.pushScopeId("data-v-
|
|
21642
|
+
var CascaderPop_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.cascader-pop[data-v-0a051cd5] {\r\n width: 100%;\r\n overflow: hidden;\n}\n.cascader-selector[data-v-0a051cd5] {\r\n padding: 10px;\n}\n.search-buttons[data-v-0a051cd5] {\r\n display: flex;\r\n gap: 10px;\n}\n.clear-btn[data-v-0a051cd5] {\r\n background-color: #f2f3f5;\r\n border: none;\r\n border-radius: 4px;\r\n padding: 4px 8px;\r\n font-size: 14px;\n}\n.confirm-btn[data-v-0a051cd5] {\r\n background-color: #1989fa;\r\n color: white;\r\n border: none;\r\n border-radius: 4px;\r\n padding: 4px 8px;\r\n font-size: 14px;\n}\n.no-results[data-v-0a051cd5] {\r\n text-align: center;\r\n padding: 20px;\r\n color: #969799;\n}\n.cascader-header[data-v-0a051cd5] {\r\n padding: 10px;\r\n border-bottom: 1px solid #ebedf0;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\n}\n.current-path[data-v-0a051cd5] {\r\n flex: 1;\r\n font-size: 14px;\r\n margin-left: 5px;\r\n color: #323233;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\n}\n.header-right[data-v-0a051cd5] {\r\n display: flex;\r\n gap: 8px;\r\n margin-left: auto;\n}\n.cancel-btn[data-v-0a051cd5] {\r\n color: #969799;\r\n margin-right: 5px;\n}\n.scroll-container[data-v-0a051cd5] {\r\n height: calc(80vh - 150px);\r\n overflow-y: auto;\n}\n.cell-content[data-v-0a051cd5] {\r\n display: flex;\r\n align-items: center;\r\n gap: 12px;\n}\n.circle-selector[data-v-0a051cd5] {\r\n width: 20px;\r\n height: 20px;\r\n border-radius: 50%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n transition: all 0.2s;\r\n flex-shrink: 0;\n}\n.circle-selector.selected[data-v-0a051cd5] {\r\n background-color: #1989fa;\r\n border-color: #1989fa;\n}\n.circle-selector.selected .van-icon[data-v-0a051cd5] {\r\n color: white;\r\n font-size: 14px;\n}\n.van-cell__right-icon[data-v-0a051cd5] {\r\n color: #969799;\r\n font-size: 16px;\r\n margin-left: 8px;\n}\n.name[data-v-0a051cd5] {\r\n flex: 1;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\n}\n.cancel-btn[data-v-0a051cd5] {\r\n color: #969799;\n}\n.search-field[data-v-0a051cd5] {\r\n background: #fff;\r\n padding: 10px 16px;\r\n border-bottom: 1px solid #ebedf0;\r\n position: sticky;\r\n top: 0;\r\n z-index: 999;\r\n margin-bottom: 10px;\r\n flex-shrink: 0;\r\n /* \u9632\u6B62\u538B\u7F29 */\n}\r\n")();
|
|
21643
|
+
const _withScopeId = (n) => (vue.pushScopeId("data-v-0a051cd5"), n = n(), vue.popScopeId(), n);
|
|
21644
21644
|
const _hoisted_1$3 = {
|
|
21645
21645
|
class: "cascader-selector"
|
|
21646
21646
|
};
|
|
@@ -21784,22 +21784,31 @@ var __async = (__this, __arguments, generator) => {
|
|
|
21784
21784
|
const ids2nodes2 = () => __async(this, null, function* () {
|
|
21785
21785
|
if (!data2.selectedNodeIds || data2.selectedNodeIds.length < 1)
|
|
21786
21786
|
return [];
|
|
21787
|
-
let
|
|
21787
|
+
let ids = data2.selectedNodeIds;
|
|
21788
|
+
let res = [];
|
|
21789
|
+
let receivedNodes = [];
|
|
21790
|
+
for (var i = 0; i < ids.length; i++) {
|
|
21791
|
+
let nodeId = ids[i];
|
|
21792
|
+
let selectNode = null;
|
|
21793
|
+
selectNode = util.findNode(nodeId, receivedNodes);
|
|
21794
|
+
if (selectNode) {
|
|
21795
|
+
res = [...res, selectNode];
|
|
21796
|
+
continue;
|
|
21797
|
+
}
|
|
21788
21798
|
let params = {};
|
|
21789
21799
|
params.id = nodeId;
|
|
21790
21800
|
params.isReturnParent = true;
|
|
21791
|
-
params.hasChildren =
|
|
21801
|
+
params.hasChildren = true;
|
|
21792
21802
|
params.hasPaths = true;
|
|
21793
21803
|
params.hasUsers = true;
|
|
21794
|
-
let selectNode = null;
|
|
21795
21804
|
yield props2.idQueryNode(params, (node) => {
|
|
21796
|
-
|
|
21797
|
-
selectNode = util.findNode(nodeId,
|
|
21805
|
+
receivedNodes = [...receivedNodes, ...node.children || []];
|
|
21806
|
+
selectNode = util.findNode(nodeId, receivedNodes);
|
|
21798
21807
|
});
|
|
21799
|
-
|
|
21800
|
-
|
|
21801
|
-
|
|
21802
|
-
return
|
|
21808
|
+
if (selectNode)
|
|
21809
|
+
res = [...res, selectNode];
|
|
21810
|
+
}
|
|
21811
|
+
return res;
|
|
21803
21812
|
});
|
|
21804
21813
|
const onSubmit2 = () => __async(this, null, function* () {
|
|
21805
21814
|
if (!data2.selectedNodeIds || data2.selectedNodeIds.length < 1) {
|
|
@@ -21968,7 +21977,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
21968
21977
|
};
|
|
21969
21978
|
}
|
|
21970
21979
|
};
|
|
21971
|
-
var CascaderPop = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-
|
|
21980
|
+
var CascaderPop = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-0a051cd5"]]);
|
|
21972
21981
|
const _hoisted_1$2 = {
|
|
21973
21982
|
style: {
|
|
21974
21983
|
"display": "flex",
|
|
@@ -22085,9 +22094,9 @@ var __async = (__this, __arguments, generator) => {
|
|
|
22085
22094
|
}
|
|
22086
22095
|
let params = {};
|
|
22087
22096
|
params.id = nodeId;
|
|
22088
|
-
params.isReturnParent =
|
|
22089
|
-
params.hasChildren =
|
|
22090
|
-
params.hasPaths =
|
|
22097
|
+
params.isReturnParent = true;
|
|
22098
|
+
params.hasChildren = true;
|
|
22099
|
+
params.hasPaths = true;
|
|
22091
22100
|
params.hasUsers = true;
|
|
22092
22101
|
yield props2.idQueryNode(params, (node) => {
|
|
22093
22102
|
receivedNodes = [...receivedNodes, ...node.children || []];
|
|
@@ -22108,6 +22117,10 @@ var __async = (__this, __arguments, generator) => {
|
|
|
22108
22117
|
data2.selectedNodeIds = [];
|
|
22109
22118
|
}
|
|
22110
22119
|
data2.selectedNodes = yield ids2nodes2();
|
|
22120
|
+
if (!props2.multiple)
|
|
22121
|
+
emit2("select", data2.selectedNodes[0]);
|
|
22122
|
+
else
|
|
22123
|
+
emit2("select", data2.selectedNodes);
|
|
22111
22124
|
}), {
|
|
22112
22125
|
immediate: true
|
|
22113
22126
|
});
|
package/package.json
CHANGED
|
@@ -74,6 +74,8 @@ const props = defineProps({
|
|
|
74
74
|
const data = reactive({
|
|
75
75
|
isShowPop: false,
|
|
76
76
|
selectedNodes: [],
|
|
77
|
+
//1)单选时,记录选中的临时节点id
|
|
78
|
+
//2)多选时,记录选中的临时节点id列表
|
|
77
79
|
selectedNodeIds: null
|
|
78
80
|
})
|
|
79
81
|
|
|
@@ -145,9 +147,9 @@ const ids2nodes = async () => {
|
|
|
145
147
|
|
|
146
148
|
let params = {}
|
|
147
149
|
params.id = nodeId
|
|
148
|
-
params.isReturnParent =
|
|
149
|
-
params.hasChildren =
|
|
150
|
-
params.hasPaths =
|
|
150
|
+
params.isReturnParent = true
|
|
151
|
+
params.hasChildren = true
|
|
152
|
+
params.hasPaths = true
|
|
151
153
|
params.hasUsers = true
|
|
152
154
|
|
|
153
155
|
await props.idQueryNode(params, (node) => {
|
|
@@ -173,7 +175,13 @@ watch(() => JSON.stringify(modelValue.value), async (n, o) => {
|
|
|
173
175
|
data.selectedNodeIds = []
|
|
174
176
|
}
|
|
175
177
|
|
|
178
|
+
//记录选中的节点对象列表
|
|
179
|
+
//单选时,数组只含一个元素
|
|
176
180
|
data.selectedNodes = await ids2nodes()
|
|
181
|
+
if(!props.multiple)
|
|
182
|
+
emit('select', data.selectedNodes[0])
|
|
183
|
+
else
|
|
184
|
+
emit('select', data.selectedNodes)
|
|
177
185
|
}, {
|
|
178
186
|
immediate: true
|
|
179
187
|
})
|
|
@@ -185,27 +185,45 @@ const ids2nodes = async () => {
|
|
|
185
185
|
if (!data.selectedNodeIds || data.selectedNodeIds.length < 1)
|
|
186
186
|
return []
|
|
187
187
|
|
|
188
|
-
let
|
|
188
|
+
let ids = data.selectedNodeIds
|
|
189
|
+
|
|
190
|
+
let res = []
|
|
191
|
+
|
|
192
|
+
//记录网络请求接收到的所有用户列表
|
|
193
|
+
let receivedNodes = []
|
|
194
|
+
for (var i = 0; i < ids.length; i++) {
|
|
195
|
+
let nodeId = ids[i]
|
|
196
|
+
|
|
197
|
+
let selectNode = null
|
|
198
|
+
|
|
199
|
+
//现在历史用户列表中查找
|
|
200
|
+
//找不到再发网络请求
|
|
201
|
+
selectNode = util.findNode(nodeId, receivedNodes)
|
|
202
|
+
if (selectNode){
|
|
203
|
+
res = [...res, selectNode]
|
|
204
|
+
continue
|
|
205
|
+
}
|
|
206
|
+
|
|
189
207
|
let params = {}
|
|
190
208
|
params.id = nodeId
|
|
191
209
|
params.isReturnParent = true
|
|
192
|
-
params.hasChildren =
|
|
210
|
+
params.hasChildren = true
|
|
193
211
|
params.hasPaths = true
|
|
194
212
|
params.hasUsers = true
|
|
195
213
|
|
|
196
|
-
let selectNode = null
|
|
197
214
|
await props.idQueryNode(params, (node) => {
|
|
198
|
-
|
|
199
|
-
selectNode = util.findNode(nodeId,
|
|
215
|
+
receivedNodes = [...receivedNodes, ...(node.children || [])]
|
|
216
|
+
selectNode = util.findNode(nodeId, receivedNodes)
|
|
200
217
|
})
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
218
|
+
|
|
219
|
+
if (selectNode)
|
|
220
|
+
res = [...res, selectNode]
|
|
221
|
+
}
|
|
205
222
|
|
|
206
|
-
return
|
|
223
|
+
return res
|
|
207
224
|
}
|
|
208
225
|
|
|
226
|
+
|
|
209
227
|
// 确认按钮
|
|
210
228
|
const onSubmit = async () => {
|
|
211
229
|
if (!data.selectedNodeIds || data.selectedNodeIds.length < 1) {
|
|
Binary file
|
|
Binary file
|