widget.qw 1.0.68 → 1.0.69
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/build/style.css +19 -19
- package/build/widget.qw.es.js +52 -14
- package/build/widget.qw.umd.js +52 -14
- package/package.json +1 -1
- package/src/components/CascaderPicker.vue +1 -0
- package/src/components/CascaderPop.vue +64 -17
- package/src/env.d.ts +8 -8
- package/src/views/cascaderpicker/index.vue +0 -0
- package/tsconfig.json +19 -19
- package/tsconfig.node.json +8 -8
package/build/style.css
CHANGED
|
@@ -709,25 +709,25 @@
|
|
|
709
709
|
margin:3px;
|
|
710
710
|
}
|
|
711
711
|
|
|
712
|
-
.cascader-pop[data-v-
|
|
712
|
+
.cascader-pop[data-v-1c8388a5] {
|
|
713
713
|
width: 100%;
|
|
714
714
|
overflow: hidden;
|
|
715
715
|
}
|
|
716
|
-
.cascader-selector[data-v-
|
|
716
|
+
.cascader-selector[data-v-1c8388a5] {
|
|
717
717
|
padding: 10px;
|
|
718
718
|
}
|
|
719
|
-
.search-buttons[data-v-
|
|
719
|
+
.search-buttons[data-v-1c8388a5] {
|
|
720
720
|
display: flex;
|
|
721
721
|
gap: 10px;
|
|
722
722
|
}
|
|
723
|
-
.clear-btn[data-v-
|
|
723
|
+
.clear-btn[data-v-1c8388a5] {
|
|
724
724
|
background-color: #f2f3f5;
|
|
725
725
|
border: none;
|
|
726
726
|
border-radius: 4px;
|
|
727
727
|
padding: 4px 8px;
|
|
728
728
|
font-size: 14px;
|
|
729
729
|
}
|
|
730
|
-
.confirm-btn[data-v-
|
|
730
|
+
.confirm-btn[data-v-1c8388a5] {
|
|
731
731
|
background-color: #1989fa;
|
|
732
732
|
color: white;
|
|
733
733
|
border: none;
|
|
@@ -735,19 +735,19 @@
|
|
|
735
735
|
padding: 4px 8px;
|
|
736
736
|
font-size: 14px;
|
|
737
737
|
}
|
|
738
|
-
.no-results[data-v-
|
|
738
|
+
.no-results[data-v-1c8388a5] {
|
|
739
739
|
text-align: center;
|
|
740
740
|
padding: 20px;
|
|
741
741
|
color: #969799;
|
|
742
742
|
}
|
|
743
|
-
.cascader-header[data-v-
|
|
743
|
+
.cascader-header[data-v-1c8388a5] {
|
|
744
744
|
padding: 10px;
|
|
745
745
|
border-bottom: 1px solid #ebedf0;
|
|
746
746
|
display: flex;
|
|
747
747
|
justify-content: space-between;
|
|
748
748
|
align-items: center;
|
|
749
749
|
}
|
|
750
|
-
.current-path[data-v-
|
|
750
|
+
.current-path[data-v-1c8388a5] {
|
|
751
751
|
flex: 1;
|
|
752
752
|
font-size: 14px;
|
|
753
753
|
color: #323233;
|
|
@@ -755,25 +755,25 @@
|
|
|
755
755
|
overflow: hidden;
|
|
756
756
|
text-overflow: ellipsis;
|
|
757
757
|
}
|
|
758
|
-
.header-right[data-v-
|
|
758
|
+
.header-right[data-v-1c8388a5] {
|
|
759
759
|
display: flex;
|
|
760
760
|
gap: 8px;
|
|
761
761
|
margin-left: auto;
|
|
762
762
|
}
|
|
763
|
-
.cancel-btn[data-v-
|
|
763
|
+
.cancel-btn[data-v-1c8388a5] {
|
|
764
764
|
color: #969799;
|
|
765
765
|
margin-right: 5px;
|
|
766
766
|
}
|
|
767
|
-
.scroll-container[data-v-
|
|
767
|
+
.scroll-container[data-v-1c8388a5] {
|
|
768
768
|
height: calc(80vh - 150px);
|
|
769
769
|
overflow-y: auto;
|
|
770
770
|
}
|
|
771
|
-
.cell-content[data-v-
|
|
771
|
+
.cell-content[data-v-1c8388a5] {
|
|
772
772
|
display: flex;
|
|
773
773
|
align-items: center;
|
|
774
774
|
gap: 12px;
|
|
775
775
|
}
|
|
776
|
-
.circle-selector[data-v-
|
|
776
|
+
.circle-selector[data-v-1c8388a5] {
|
|
777
777
|
width: 20px;
|
|
778
778
|
height: 20px;
|
|
779
779
|
border-radius: 50%;
|
|
@@ -783,29 +783,29 @@
|
|
|
783
783
|
transition: all 0.2s;
|
|
784
784
|
flex-shrink: 0;
|
|
785
785
|
}
|
|
786
|
-
.circle-selector.selected[data-v-
|
|
786
|
+
.circle-selector.selected[data-v-1c8388a5] {
|
|
787
787
|
background-color: #1989fa;
|
|
788
788
|
border-color: #1989fa;
|
|
789
789
|
}
|
|
790
|
-
.circle-selector.selected .van-icon[data-v-
|
|
790
|
+
.circle-selector.selected .van-icon[data-v-1c8388a5] {
|
|
791
791
|
color: white;
|
|
792
792
|
font-size: 14px;
|
|
793
793
|
}
|
|
794
|
-
.van-cell__right-icon[data-v-
|
|
794
|
+
.van-cell__right-icon[data-v-1c8388a5] {
|
|
795
795
|
color: #969799;
|
|
796
796
|
font-size: 16px;
|
|
797
797
|
margin-left: 8px;
|
|
798
798
|
}
|
|
799
|
-
.name[data-v-
|
|
799
|
+
.name[data-v-1c8388a5] {
|
|
800
800
|
flex: 1;
|
|
801
801
|
overflow: hidden;
|
|
802
802
|
text-overflow: ellipsis;
|
|
803
803
|
white-space: nowrap;
|
|
804
804
|
}
|
|
805
|
-
.cancel-btn[data-v-
|
|
805
|
+
.cancel-btn[data-v-1c8388a5] {
|
|
806
806
|
color: #969799;
|
|
807
807
|
}
|
|
808
|
-
.search-field[data-v-
|
|
808
|
+
.search-field[data-v-1c8388a5] {
|
|
809
809
|
background: #fff;
|
|
810
810
|
padding: 10px 16px;
|
|
811
811
|
border-bottom: 1px solid #ebedf0;
|
package/build/widget.qw.es.js
CHANGED
|
@@ -20448,7 +20448,7 @@ const _sfc_main$4 = {
|
|
|
20448
20448
|
}
|
|
20449
20449
|
};
|
|
20450
20450
|
var TreePicker = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-6744b874"]]);
|
|
20451
|
-
var CascaderPop_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.cascader-pop[data-v-
|
|
20451
|
+
var CascaderPop_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.cascader-pop[data-v-1c8388a5] {\r\n width: 100%;\r\n overflow: hidden;\n}\n.cascader-selector[data-v-1c8388a5] {\r\n padding: 10px;\n}\n.search-buttons[data-v-1c8388a5] {\r\n display: flex;\r\n gap: 10px;\n}\n.clear-btn[data-v-1c8388a5] {\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-1c8388a5] {\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-1c8388a5] {\r\n text-align: center;\r\n padding: 20px;\r\n color: #969799;\n}\n.cascader-header[data-v-1c8388a5] {\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-1c8388a5] {\r\n flex: 1;\r\n font-size: 14px;\r\n color: #323233;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\n}\n.header-right[data-v-1c8388a5] {\r\n display: flex;\r\n gap: 8px;\r\n margin-left: auto;\n}\n.cancel-btn[data-v-1c8388a5] {\r\n color: #969799;\r\n margin-right: 5px;\n}\n.scroll-container[data-v-1c8388a5] {\r\n height: calc(80vh - 150px);\r\n overflow-y: auto;\n}\n.cell-content[data-v-1c8388a5] {\r\n display: flex;\r\n align-items: center;\r\n gap: 12px;\n}\n.circle-selector[data-v-1c8388a5] {\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-1c8388a5] {\r\n background-color: #1989fa;\r\n border-color: #1989fa;\n}\n.circle-selector.selected .van-icon[data-v-1c8388a5] {\r\n color: white;\r\n font-size: 14px;\n}\n.van-cell__right-icon[data-v-1c8388a5] {\r\n color: #969799;\r\n font-size: 16px;\r\n margin-left: 8px;\n}\n.name[data-v-1c8388a5] {\r\n flex: 1;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\n}\n.cancel-btn[data-v-1c8388a5] {\r\n color: #969799;\n}\n.search-field[data-v-1c8388a5] {\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")();
|
|
20452
20452
|
const _hoisted_1$3 = {
|
|
20453
20453
|
class: "cascader-selector"
|
|
20454
20454
|
};
|
|
@@ -20585,19 +20585,56 @@ const _sfc_main$3 = {
|
|
|
20585
20585
|
data2.parentNode = node2;
|
|
20586
20586
|
});
|
|
20587
20587
|
};
|
|
20588
|
-
|
|
20588
|
+
const query = () => __async(this, null, function* () {
|
|
20589
20589
|
data2.selectedNodeId = modelValue.value;
|
|
20590
|
-
|
|
20591
|
-
|
|
20592
|
-
|
|
20593
|
-
|
|
20594
|
-
|
|
20595
|
-
|
|
20596
|
-
|
|
20597
|
-
|
|
20598
|
-
|
|
20599
|
-
|
|
20600
|
-
|
|
20590
|
+
if (!modelValue.value) {
|
|
20591
|
+
let params = {};
|
|
20592
|
+
params.isReturnParent = true;
|
|
20593
|
+
params.hasChildren = true;
|
|
20594
|
+
params.hasPaths = true;
|
|
20595
|
+
yield props.idQueryNode(params, (node) => {
|
|
20596
|
+
data2.parentNode = node;
|
|
20597
|
+
if (!modelValue.value)
|
|
20598
|
+
return;
|
|
20599
|
+
let childNode = util.findNode(modelValue.value, data2.parentNode.children);
|
|
20600
|
+
emit("select", childNode);
|
|
20601
|
+
});
|
|
20602
|
+
} else {
|
|
20603
|
+
if (!props.show) {
|
|
20604
|
+
let params = {};
|
|
20605
|
+
params.id = modelValue.value;
|
|
20606
|
+
params.isReturnParent = false;
|
|
20607
|
+
params.hasChildren = false;
|
|
20608
|
+
params.hasPaths = true;
|
|
20609
|
+
yield props.idQueryNode(params, (node) => {
|
|
20610
|
+
data2.parentNode = {};
|
|
20611
|
+
emit("select", node);
|
|
20612
|
+
});
|
|
20613
|
+
} else {
|
|
20614
|
+
let params = {};
|
|
20615
|
+
params.id = modelValue.value;
|
|
20616
|
+
params.isReturnParent = true;
|
|
20617
|
+
params.hasChildren = true;
|
|
20618
|
+
params.hasPaths = true;
|
|
20619
|
+
yield props.idQueryNode(params, (node) => {
|
|
20620
|
+
data2.parentNode = node;
|
|
20621
|
+
if (!modelValue.value)
|
|
20622
|
+
return;
|
|
20623
|
+
let childNode = util.findNode(modelValue.value, data2.parentNode.children);
|
|
20624
|
+
emit("select", childNode);
|
|
20625
|
+
});
|
|
20626
|
+
}
|
|
20627
|
+
}
|
|
20628
|
+
});
|
|
20629
|
+
watch(() => props.show, () => {
|
|
20630
|
+
if (!props.show)
|
|
20631
|
+
return;
|
|
20632
|
+
query();
|
|
20633
|
+
}, {
|
|
20634
|
+
immediate: true
|
|
20635
|
+
});
|
|
20636
|
+
watch(() => modelValue.value, (n, o) => __async(this, null, function* () {
|
|
20637
|
+
query();
|
|
20601
20638
|
}), {
|
|
20602
20639
|
immediate: true
|
|
20603
20640
|
});
|
|
@@ -20683,7 +20720,7 @@ const _sfc_main$3 = {
|
|
|
20683
20720
|
};
|
|
20684
20721
|
}
|
|
20685
20722
|
};
|
|
20686
|
-
var CascaderPop = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-
|
|
20723
|
+
var CascaderPop = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-1c8388a5"]]);
|
|
20687
20724
|
const _hoisted_1$2 = {
|
|
20688
20725
|
style: {
|
|
20689
20726
|
"display": "flex",
|
|
@@ -20787,6 +20824,7 @@ const _sfc_main$2 = {
|
|
|
20787
20824
|
params.id = id;
|
|
20788
20825
|
params.isReturnParent = false;
|
|
20789
20826
|
params.hasChildren = false;
|
|
20827
|
+
params.hasPaths = true;
|
|
20790
20828
|
yield props.idQueryNode(params, (node) => {
|
|
20791
20829
|
data2.selectedNodes = [...data2.selectedNodes, node];
|
|
20792
20830
|
});
|
package/build/widget.qw.umd.js
CHANGED
|
@@ -20451,7 +20451,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
20451
20451
|
}
|
|
20452
20452
|
};
|
|
20453
20453
|
var TreePicker = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-6744b874"]]);
|
|
20454
|
-
var CascaderPop_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.cascader-pop[data-v-
|
|
20454
|
+
var CascaderPop_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.cascader-pop[data-v-1c8388a5] {\r\n width: 100%;\r\n overflow: hidden;\n}\n.cascader-selector[data-v-1c8388a5] {\r\n padding: 10px;\n}\n.search-buttons[data-v-1c8388a5] {\r\n display: flex;\r\n gap: 10px;\n}\n.clear-btn[data-v-1c8388a5] {\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-1c8388a5] {\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-1c8388a5] {\r\n text-align: center;\r\n padding: 20px;\r\n color: #969799;\n}\n.cascader-header[data-v-1c8388a5] {\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-1c8388a5] {\r\n flex: 1;\r\n font-size: 14px;\r\n color: #323233;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\n}\n.header-right[data-v-1c8388a5] {\r\n display: flex;\r\n gap: 8px;\r\n margin-left: auto;\n}\n.cancel-btn[data-v-1c8388a5] {\r\n color: #969799;\r\n margin-right: 5px;\n}\n.scroll-container[data-v-1c8388a5] {\r\n height: calc(80vh - 150px);\r\n overflow-y: auto;\n}\n.cell-content[data-v-1c8388a5] {\r\n display: flex;\r\n align-items: center;\r\n gap: 12px;\n}\n.circle-selector[data-v-1c8388a5] {\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-1c8388a5] {\r\n background-color: #1989fa;\r\n border-color: #1989fa;\n}\n.circle-selector.selected .van-icon[data-v-1c8388a5] {\r\n color: white;\r\n font-size: 14px;\n}\n.van-cell__right-icon[data-v-1c8388a5] {\r\n color: #969799;\r\n font-size: 16px;\r\n margin-left: 8px;\n}\n.name[data-v-1c8388a5] {\r\n flex: 1;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\n}\n.cancel-btn[data-v-1c8388a5] {\r\n color: #969799;\n}\n.search-field[data-v-1c8388a5] {\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")();
|
|
20455
20455
|
const _hoisted_1$3 = {
|
|
20456
20456
|
class: "cascader-selector"
|
|
20457
20457
|
};
|
|
@@ -20588,19 +20588,56 @@ var __async = (__this, __arguments, generator) => {
|
|
|
20588
20588
|
data2.parentNode = node2;
|
|
20589
20589
|
});
|
|
20590
20590
|
};
|
|
20591
|
-
|
|
20591
|
+
const query = () => __async(this, null, function* () {
|
|
20592
20592
|
data2.selectedNodeId = modelValue.value;
|
|
20593
|
-
|
|
20594
|
-
|
|
20595
|
-
|
|
20596
|
-
|
|
20597
|
-
|
|
20598
|
-
|
|
20599
|
-
|
|
20600
|
-
|
|
20601
|
-
|
|
20602
|
-
|
|
20603
|
-
|
|
20593
|
+
if (!modelValue.value) {
|
|
20594
|
+
let params = {};
|
|
20595
|
+
params.isReturnParent = true;
|
|
20596
|
+
params.hasChildren = true;
|
|
20597
|
+
params.hasPaths = true;
|
|
20598
|
+
yield props.idQueryNode(params, (node) => {
|
|
20599
|
+
data2.parentNode = node;
|
|
20600
|
+
if (!modelValue.value)
|
|
20601
|
+
return;
|
|
20602
|
+
let childNode = util.findNode(modelValue.value, data2.parentNode.children);
|
|
20603
|
+
emit("select", childNode);
|
|
20604
|
+
});
|
|
20605
|
+
} else {
|
|
20606
|
+
if (!props.show) {
|
|
20607
|
+
let params = {};
|
|
20608
|
+
params.id = modelValue.value;
|
|
20609
|
+
params.isReturnParent = false;
|
|
20610
|
+
params.hasChildren = false;
|
|
20611
|
+
params.hasPaths = true;
|
|
20612
|
+
yield props.idQueryNode(params, (node) => {
|
|
20613
|
+
data2.parentNode = {};
|
|
20614
|
+
emit("select", node);
|
|
20615
|
+
});
|
|
20616
|
+
} else {
|
|
20617
|
+
let params = {};
|
|
20618
|
+
params.id = modelValue.value;
|
|
20619
|
+
params.isReturnParent = true;
|
|
20620
|
+
params.hasChildren = true;
|
|
20621
|
+
params.hasPaths = true;
|
|
20622
|
+
yield props.idQueryNode(params, (node) => {
|
|
20623
|
+
data2.parentNode = node;
|
|
20624
|
+
if (!modelValue.value)
|
|
20625
|
+
return;
|
|
20626
|
+
let childNode = util.findNode(modelValue.value, data2.parentNode.children);
|
|
20627
|
+
emit("select", childNode);
|
|
20628
|
+
});
|
|
20629
|
+
}
|
|
20630
|
+
}
|
|
20631
|
+
});
|
|
20632
|
+
vue.watch(() => props.show, () => {
|
|
20633
|
+
if (!props.show)
|
|
20634
|
+
return;
|
|
20635
|
+
query();
|
|
20636
|
+
}, {
|
|
20637
|
+
immediate: true
|
|
20638
|
+
});
|
|
20639
|
+
vue.watch(() => modelValue.value, (n, o) => __async(this, null, function* () {
|
|
20640
|
+
query();
|
|
20604
20641
|
}), {
|
|
20605
20642
|
immediate: true
|
|
20606
20643
|
});
|
|
@@ -20686,7 +20723,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
20686
20723
|
};
|
|
20687
20724
|
}
|
|
20688
20725
|
};
|
|
20689
|
-
var CascaderPop = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-
|
|
20726
|
+
var CascaderPop = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-1c8388a5"]]);
|
|
20690
20727
|
const _hoisted_1$2 = {
|
|
20691
20728
|
style: {
|
|
20692
20729
|
"display": "flex",
|
|
@@ -20790,6 +20827,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
20790
20827
|
params.id = id;
|
|
20791
20828
|
params.isReturnParent = false;
|
|
20792
20829
|
params.hasChildren = false;
|
|
20830
|
+
params.hasPaths = true;
|
|
20793
20831
|
yield props.idQueryNode(params, (node) => {
|
|
20794
20832
|
data2.selectedNodes = [...data2.selectedNodes, node];
|
|
20795
20833
|
});
|
package/package.json
CHANGED
|
@@ -119,6 +119,7 @@ watch(() => JSON.stringify(modelValue.value), async (n, o) => {
|
|
|
119
119
|
params.id = id
|
|
120
120
|
params.isReturnParent = false
|
|
121
121
|
params.hasChildren = false
|
|
122
|
+
params.hasPaths= true
|
|
122
123
|
await props.idQueryNode(params, (node) => {
|
|
123
124
|
data.selectedNodes = [...data.selectedNodes, node]
|
|
124
125
|
})
|
|
@@ -118,15 +118,15 @@ const onSearch = () => {
|
|
|
118
118
|
// 返回上一级
|
|
119
119
|
const onBack = () => {
|
|
120
120
|
let parentId = ''
|
|
121
|
-
if(data.parentNode)
|
|
121
|
+
if (data.parentNode)
|
|
122
122
|
parentId = data.parentNode.parentId
|
|
123
123
|
|
|
124
124
|
let isReturnParent = false
|
|
125
|
-
if(!parentId)
|
|
125
|
+
if (!parentId)
|
|
126
126
|
isReturnParent = true
|
|
127
127
|
|
|
128
128
|
data.keyword = ""
|
|
129
|
-
props.idQueryNode({ id: parentId, isReturnParent: isReturnParent,hasChildren:false }, (node) => {
|
|
129
|
+
props.idQueryNode({ id: parentId, isReturnParent: isReturnParent, hasChildren: false }, (node) => {
|
|
130
130
|
data.parentNode = node
|
|
131
131
|
})
|
|
132
132
|
}
|
|
@@ -168,28 +168,75 @@ const onToggle = (node) => {
|
|
|
168
168
|
}
|
|
169
169
|
|
|
170
170
|
const onNextLevel = (node) => {
|
|
171
|
-
props.idQueryNode({ id: node.id, isReturnParent: false, hasChildren:true }, (node) => {
|
|
171
|
+
props.idQueryNode({ id: node.id, isReturnParent: false, hasChildren: true }, (node) => {
|
|
172
172
|
data.parentNode = node
|
|
173
173
|
})
|
|
174
174
|
}
|
|
175
175
|
|
|
176
|
-
|
|
176
|
+
const query = async () => {
|
|
177
177
|
data.selectedNodeId = modelValue.value
|
|
178
|
+
//空id时,查带子节点的虚拟根节点
|
|
179
|
+
if (!modelValue.value) {
|
|
180
|
+
let params = {}
|
|
181
|
+
params.isReturnParent = true
|
|
182
|
+
params.hasChildren = true
|
|
183
|
+
params.hasPaths = true
|
|
184
|
+
|
|
185
|
+
await props.idQueryNode(params, (node) => {
|
|
186
|
+
data.parentNode = node
|
|
187
|
+
|
|
188
|
+
if (!modelValue.value)
|
|
189
|
+
return
|
|
190
|
+
|
|
191
|
+
let childNode = util.findNode(modelValue.value, data.parentNode.children)
|
|
192
|
+
emit('select', childNode)
|
|
193
|
+
})
|
|
194
|
+
}
|
|
195
|
+
//选中节点时
|
|
196
|
+
else {
|
|
197
|
+
//未显示底部弹窗时,只查节点本身
|
|
198
|
+
if (!props.show) {
|
|
199
|
+
let params = {}
|
|
200
|
+
params.id = modelValue.value
|
|
201
|
+
params.isReturnParent = false
|
|
202
|
+
params.hasChildren = false
|
|
203
|
+
params.hasPaths = true
|
|
204
|
+
|
|
205
|
+
await props.idQueryNode(params, (node) => {
|
|
206
|
+
data.parentNode = {}
|
|
207
|
+
emit('select', node)
|
|
208
|
+
})
|
|
209
|
+
}
|
|
210
|
+
//显示底部弹窗时,查询带子节点的父节点
|
|
211
|
+
else{
|
|
212
|
+
let params = {}
|
|
213
|
+
params.id = modelValue.value
|
|
214
|
+
params.isReturnParent = true
|
|
215
|
+
params.hasChildren = true
|
|
216
|
+
params.hasPaths = true
|
|
217
|
+
|
|
218
|
+
await props.idQueryNode(params, (node) => {
|
|
219
|
+
data.parentNode = node
|
|
220
|
+
if (!modelValue.value)
|
|
221
|
+
return
|
|
222
|
+
let childNode = util.findNode(modelValue.value, data.parentNode.children)
|
|
223
|
+
emit('select', childNode)
|
|
224
|
+
})
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
178
228
|
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
params.hasChildren = true
|
|
183
|
-
|
|
184
|
-
await props.idQueryNode(params, (node) => {
|
|
185
|
-
data.parentNode = node
|
|
229
|
+
watch(() => props.show, () => {
|
|
230
|
+
if (!props.show)
|
|
231
|
+
return
|
|
186
232
|
|
|
187
|
-
|
|
188
|
-
|
|
233
|
+
query()
|
|
234
|
+
}, {
|
|
235
|
+
immediate: true
|
|
236
|
+
})
|
|
189
237
|
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
})
|
|
238
|
+
watch(() => modelValue.value, async (n, o) => {
|
|
239
|
+
query()
|
|
193
240
|
}, {
|
|
194
241
|
immediate: true
|
|
195
242
|
})
|
package/src/env.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
/// <reference types="vite/client" />
|
|
2
|
-
|
|
3
|
-
declare module '*.vue' {
|
|
4
|
-
import type { DefineComponent } from 'vue'
|
|
5
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types
|
|
6
|
-
const component: DefineComponent<{}, {}, any>
|
|
7
|
-
export default component
|
|
8
|
-
}
|
|
1
|
+
/// <reference types="vite/client" />
|
|
2
|
+
|
|
3
|
+
declare module '*.vue' {
|
|
4
|
+
import type { DefineComponent } from 'vue'
|
|
5
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types
|
|
6
|
+
const component: DefineComponent<{}, {}, any>
|
|
7
|
+
export default component
|
|
8
|
+
}
|
|
Binary file
|
package/tsconfig.json
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"target": "esnext",
|
|
4
|
-
"useDefineForClassFields": true,
|
|
5
|
-
"module": "esnext",
|
|
6
|
-
"moduleResolution": "node",
|
|
7
|
-
"strict": true,
|
|
8
|
-
"jsx": "preserve",
|
|
9
|
-
"sourceMap": true,
|
|
10
|
-
"resolveJsonModule": true,
|
|
11
|
-
"isolatedModules": true,
|
|
12
|
-
"esModuleInterop": true,
|
|
13
|
-
"lib": ["esnext", "dom"],
|
|
14
|
-
"skipLibCheck": true,
|
|
15
|
-
"allowJs": true,
|
|
16
|
-
},
|
|
17
|
-
"include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"],
|
|
18
|
-
"references": [{ "path": "./tsconfig.node.json" }]
|
|
19
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"target": "esnext",
|
|
4
|
+
"useDefineForClassFields": true,
|
|
5
|
+
"module": "esnext",
|
|
6
|
+
"moduleResolution": "node",
|
|
7
|
+
"strict": true,
|
|
8
|
+
"jsx": "preserve",
|
|
9
|
+
"sourceMap": true,
|
|
10
|
+
"resolveJsonModule": true,
|
|
11
|
+
"isolatedModules": true,
|
|
12
|
+
"esModuleInterop": true,
|
|
13
|
+
"lib": ["esnext", "dom"],
|
|
14
|
+
"skipLibCheck": true,
|
|
15
|
+
"allowJs": true,
|
|
16
|
+
},
|
|
17
|
+
"include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"],
|
|
18
|
+
"references": [{ "path": "./tsconfig.node.json" }]
|
|
19
|
+
}
|
package/tsconfig.node.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"composite": true,
|
|
4
|
-
"module": "esnext",
|
|
5
|
-
"moduleResolution": "node"
|
|
6
|
-
},
|
|
7
|
-
"include": ["vite.config.ts"]
|
|
8
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"composite": true,
|
|
4
|
+
"module": "esnext",
|
|
5
|
+
"moduleResolution": "node"
|
|
6
|
+
},
|
|
7
|
+
"include": ["vite.config.ts"]
|
|
8
|
+
}
|