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 CHANGED
@@ -709,25 +709,25 @@
709
709
  margin:3px;
710
710
  }
711
711
 
712
- .cascader-pop[data-v-bfe589fe] {
712
+ .cascader-pop[data-v-1c8388a5] {
713
713
  width: 100%;
714
714
  overflow: hidden;
715
715
  }
716
- .cascader-selector[data-v-bfe589fe] {
716
+ .cascader-selector[data-v-1c8388a5] {
717
717
  padding: 10px;
718
718
  }
719
- .search-buttons[data-v-bfe589fe] {
719
+ .search-buttons[data-v-1c8388a5] {
720
720
  display: flex;
721
721
  gap: 10px;
722
722
  }
723
- .clear-btn[data-v-bfe589fe] {
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-bfe589fe] {
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-bfe589fe] {
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-bfe589fe] {
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-bfe589fe] {
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-bfe589fe] {
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-bfe589fe] {
763
+ .cancel-btn[data-v-1c8388a5] {
764
764
  color: #969799;
765
765
  margin-right: 5px;
766
766
  }
767
- .scroll-container[data-v-bfe589fe] {
767
+ .scroll-container[data-v-1c8388a5] {
768
768
  height: calc(80vh - 150px);
769
769
  overflow-y: auto;
770
770
  }
771
- .cell-content[data-v-bfe589fe] {
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-bfe589fe] {
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-bfe589fe] {
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-bfe589fe] {
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-bfe589fe] {
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-bfe589fe] {
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-bfe589fe] {
805
+ .cancel-btn[data-v-1c8388a5] {
806
806
  color: #969799;
807
807
  }
808
- .search-field[data-v-bfe589fe] {
808
+ .search-field[data-v-1c8388a5] {
809
809
  background: #fff;
810
810
  padding: 10px 16px;
811
811
  border-bottom: 1px solid #ebedf0;
@@ -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-bfe589fe] {\r\n width: 100%;\r\n overflow: hidden;\n}\n.cascader-selector[data-v-bfe589fe] {\r\n padding: 10px;\n}\n.search-buttons[data-v-bfe589fe] {\r\n display: flex;\r\n gap: 10px;\n}\n.clear-btn[data-v-bfe589fe] {\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-bfe589fe] {\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-bfe589fe] {\r\n text-align: center;\r\n padding: 20px;\r\n color: #969799;\n}\n.cascader-header[data-v-bfe589fe] {\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-bfe589fe] {\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-bfe589fe] {\r\n display: flex;\r\n gap: 8px;\r\n margin-left: auto;\n}\n.cancel-btn[data-v-bfe589fe] {\r\n color: #969799;\r\n margin-right: 5px;\n}\n.scroll-container[data-v-bfe589fe] {\r\n height: calc(80vh - 150px);\r\n overflow-y: auto;\n}\n.cell-content[data-v-bfe589fe] {\r\n display: flex;\r\n align-items: center;\r\n gap: 12px;\n}\n.circle-selector[data-v-bfe589fe] {\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-bfe589fe] {\r\n background-color: #1989fa;\r\n border-color: #1989fa;\n}\n.circle-selector.selected .van-icon[data-v-bfe589fe] {\r\n color: white;\r\n font-size: 14px;\n}\n.van-cell__right-icon[data-v-bfe589fe] {\r\n color: #969799;\r\n font-size: 16px;\r\n margin-left: 8px;\n}\n.name[data-v-bfe589fe] {\r\n flex: 1;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\n}\n.cancel-btn[data-v-bfe589fe] {\r\n color: #969799;\n}\n.search-field[data-v-bfe589fe] {\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")();
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
- watch(() => modelValue.value, (n, o) => __async(this, null, function* () {
20588
+ const query = () => __async(this, null, function* () {
20589
20589
  data2.selectedNodeId = modelValue.value;
20590
- let params = {};
20591
- params.id = modelValue.value;
20592
- params.isReturnParent = true;
20593
- params.hasChildren = true;
20594
- yield props.idQueryNode(params, (node) => {
20595
- data2.parentNode = node;
20596
- if (!modelValue.value)
20597
- return;
20598
- let childNode = util.findNode(modelValue.value, data2.parentNode.children);
20599
- emit("select", childNode);
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-bfe589fe"]]);
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
  });
@@ -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-bfe589fe] {\r\n width: 100%;\r\n overflow: hidden;\n}\n.cascader-selector[data-v-bfe589fe] {\r\n padding: 10px;\n}\n.search-buttons[data-v-bfe589fe] {\r\n display: flex;\r\n gap: 10px;\n}\n.clear-btn[data-v-bfe589fe] {\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-bfe589fe] {\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-bfe589fe] {\r\n text-align: center;\r\n padding: 20px;\r\n color: #969799;\n}\n.cascader-header[data-v-bfe589fe] {\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-bfe589fe] {\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-bfe589fe] {\r\n display: flex;\r\n gap: 8px;\r\n margin-left: auto;\n}\n.cancel-btn[data-v-bfe589fe] {\r\n color: #969799;\r\n margin-right: 5px;\n}\n.scroll-container[data-v-bfe589fe] {\r\n height: calc(80vh - 150px);\r\n overflow-y: auto;\n}\n.cell-content[data-v-bfe589fe] {\r\n display: flex;\r\n align-items: center;\r\n gap: 12px;\n}\n.circle-selector[data-v-bfe589fe] {\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-bfe589fe] {\r\n background-color: #1989fa;\r\n border-color: #1989fa;\n}\n.circle-selector.selected .van-icon[data-v-bfe589fe] {\r\n color: white;\r\n font-size: 14px;\n}\n.van-cell__right-icon[data-v-bfe589fe] {\r\n color: #969799;\r\n font-size: 16px;\r\n margin-left: 8px;\n}\n.name[data-v-bfe589fe] {\r\n flex: 1;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\n}\n.cancel-btn[data-v-bfe589fe] {\r\n color: #969799;\n}\n.search-field[data-v-bfe589fe] {\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")();
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
- vue.watch(() => modelValue.value, (n, o) => __async(this, null, function* () {
20591
+ const query = () => __async(this, null, function* () {
20592
20592
  data2.selectedNodeId = modelValue.value;
20593
- let params = {};
20594
- params.id = modelValue.value;
20595
- params.isReturnParent = true;
20596
- params.hasChildren = true;
20597
- yield props.idQueryNode(params, (node) => {
20598
- data2.parentNode = node;
20599
- if (!modelValue.value)
20600
- return;
20601
- let childNode = util.findNode(modelValue.value, data2.parentNode.children);
20602
- emit("select", childNode);
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-bfe589fe"]]);
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
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "widget.qw",
3
3
  "private": false,
4
- "version": "1.0.68",
4
+ "version": "1.0.69",
5
5
  "description": "marqstree Vue3组件库",
6
6
  "main": "build/widget.qw.es.js",
7
7
  "keywords": [
@@ -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
- watch(() => modelValue.value, async (n, o) => {
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
- let params = {}
180
- params.id = modelValue.value
181
- params.isReturnParent = true
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
- if (!modelValue.value)
188
- return
233
+ query()
234
+ }, {
235
+ immediate: true
236
+ })
189
237
 
190
- let childNode = util.findNode(modelValue.value, data.parentNode.children)
191
- emit('select', childNode)
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
+ }
@@ -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
+ }