widget.qw 1.1.0 → 1.1.1

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
@@ -675,25 +675,25 @@
675
675
  margin:3px;
676
676
  }
677
677
 
678
- .cascader-pop[data-v-27ca3ce1] {
678
+ .cascader-pop[data-v-3ec31519] {
679
679
  width: 100%;
680
680
  overflow: hidden;
681
681
  }
682
- .cascader-selector[data-v-27ca3ce1] {
682
+ .cascader-selector[data-v-3ec31519] {
683
683
  padding: 10px;
684
684
  }
685
- .search-buttons[data-v-27ca3ce1] {
685
+ .search-buttons[data-v-3ec31519] {
686
686
  display: flex;
687
687
  gap: 10px;
688
688
  }
689
- .clear-btn[data-v-27ca3ce1] {
689
+ .clear-btn[data-v-3ec31519] {
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-27ca3ce1] {
696
+ .confirm-btn[data-v-3ec31519] {
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-27ca3ce1] {
704
+ .no-results[data-v-3ec31519] {
705
705
  text-align: center;
706
706
  padding: 20px;
707
707
  color: #969799;
708
708
  }
709
- .cascader-header[data-v-27ca3ce1] {
709
+ .cascader-header[data-v-3ec31519] {
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-27ca3ce1] {
716
+ .current-path[data-v-3ec31519] {
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-27ca3ce1] {
725
+ .header-right[data-v-3ec31519] {
726
726
  display: flex;
727
727
  gap: 8px;
728
728
  margin-left: auto;
729
729
  }
730
- .cancel-btn[data-v-27ca3ce1] {
730
+ .cancel-btn[data-v-3ec31519] {
731
731
  color: #969799;
732
732
  margin-right: 5px;
733
733
  }
734
- .scroll-container[data-v-27ca3ce1] {
734
+ .scroll-container[data-v-3ec31519] {
735
735
  height: calc(80vh - 150px);
736
736
  overflow-y: auto;
737
737
  }
738
- .cell-content[data-v-27ca3ce1] {
738
+ .cell-content[data-v-3ec31519] {
739
739
  display: flex;
740
740
  align-items: center;
741
741
  gap: 12px;
742
742
  }
743
- .circle-selector[data-v-27ca3ce1] {
743
+ .circle-selector[data-v-3ec31519] {
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-27ca3ce1] {
753
+ .circle-selector.selected[data-v-3ec31519] {
754
754
  background-color: #1989fa;
755
755
  border-color: #1989fa;
756
756
  }
757
- .circle-selector.selected .van-icon[data-v-27ca3ce1] {
757
+ .circle-selector.selected .van-icon[data-v-3ec31519] {
758
758
  color: white;
759
759
  font-size: 14px;
760
760
  }
761
- .van-cell__right-icon[data-v-27ca3ce1] {
761
+ .van-cell__right-icon[data-v-3ec31519] {
762
762
  color: #969799;
763
763
  font-size: 16px;
764
764
  margin-left: 8px;
765
765
  }
766
- .name[data-v-27ca3ce1] {
766
+ .name[data-v-3ec31519] {
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-27ca3ce1] {
772
+ .cancel-btn[data-v-3ec31519] {
773
773
  color: #969799;
774
774
  }
775
- .search-field[data-v-27ca3ce1] {
775
+ .search-field[data-v-3ec31519] {
776
776
  background: #fff;
777
777
  padding: 10px 16px;
778
778
  border-bottom: 1px solid #ebedf0;
@@ -21615,7 +21615,7 @@ const _sfc_main$4 = {
21615
21615
  }
21616
21616
  };
21617
21617
  var TreePicker = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-ebc14630"]]);
21618
- var CascaderPop_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.cascader-pop[data-v-27ca3ce1] {\r\n width: 100%;\r\n overflow: hidden;\n}\n.cascader-selector[data-v-27ca3ce1] {\r\n padding: 10px;\n}\n.search-buttons[data-v-27ca3ce1] {\r\n display: flex;\r\n gap: 10px;\n}\n.clear-btn[data-v-27ca3ce1] {\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-27ca3ce1] {\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-27ca3ce1] {\r\n text-align: center;\r\n padding: 20px;\r\n color: #969799;\n}\n.cascader-header[data-v-27ca3ce1] {\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-27ca3ce1] {\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-27ca3ce1] {\r\n display: flex;\r\n gap: 8px;\r\n margin-left: auto;\n}\n.cancel-btn[data-v-27ca3ce1] {\r\n color: #969799;\r\n margin-right: 5px;\n}\n.scroll-container[data-v-27ca3ce1] {\r\n height: calc(80vh - 150px);\r\n overflow-y: auto;\n}\n.cell-content[data-v-27ca3ce1] {\r\n display: flex;\r\n align-items: center;\r\n gap: 12px;\n}\n.circle-selector[data-v-27ca3ce1] {\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-27ca3ce1] {\r\n background-color: #1989fa;\r\n border-color: #1989fa;\n}\n.circle-selector.selected .van-icon[data-v-27ca3ce1] {\r\n color: white;\r\n font-size: 14px;\n}\n.van-cell__right-icon[data-v-27ca3ce1] {\r\n color: #969799;\r\n font-size: 16px;\r\n margin-left: 8px;\n}\n.name[data-v-27ca3ce1] {\r\n flex: 1;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\n}\n.cancel-btn[data-v-27ca3ce1] {\r\n color: #969799;\n}\n.search-field[data-v-27ca3ce1] {\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")();
21618
+ var CascaderPop_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.cascader-pop[data-v-3ec31519] {\r\n width: 100%;\r\n overflow: hidden;\n}\n.cascader-selector[data-v-3ec31519] {\r\n padding: 10px;\n}\n.search-buttons[data-v-3ec31519] {\r\n display: flex;\r\n gap: 10px;\n}\n.clear-btn[data-v-3ec31519] {\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-3ec31519] {\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-3ec31519] {\r\n text-align: center;\r\n padding: 20px;\r\n color: #969799;\n}\n.cascader-header[data-v-3ec31519] {\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-3ec31519] {\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-3ec31519] {\r\n display: flex;\r\n gap: 8px;\r\n margin-left: auto;\n}\n.cancel-btn[data-v-3ec31519] {\r\n color: #969799;\r\n margin-right: 5px;\n}\n.scroll-container[data-v-3ec31519] {\r\n height: calc(80vh - 150px);\r\n overflow-y: auto;\n}\n.cell-content[data-v-3ec31519] {\r\n display: flex;\r\n align-items: center;\r\n gap: 12px;\n}\n.circle-selector[data-v-3ec31519] {\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-3ec31519] {\r\n background-color: #1989fa;\r\n border-color: #1989fa;\n}\n.circle-selector.selected .van-icon[data-v-3ec31519] {\r\n color: white;\r\n font-size: 14px;\n}\n.van-cell__right-icon[data-v-3ec31519] {\r\n color: #969799;\r\n font-size: 16px;\r\n margin-left: 8px;\n}\n.name[data-v-3ec31519] {\r\n flex: 1;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\n}\n.cancel-btn[data-v-3ec31519] {\r\n color: #969799;\n}\n.search-field[data-v-3ec31519] {\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")();
21619
21619
  const _hoisted_1$3 = {
21620
21620
  class: "cascader-selector"
21621
21621
  };
@@ -21770,8 +21770,12 @@ const _sfc_main$3 = {
21770
21770
  const onToggle = (node) => {
21771
21771
  if (data2.selectedNodeIds.includes(node.id))
21772
21772
  data2.selectedNodeIds = data2.selectedNodeIds.filter((item) => item != node.id);
21773
- else
21774
- data2.selectedNodeIds.push(node.id);
21773
+ else {
21774
+ if (props2.multiple)
21775
+ data2.selectedNodeIds.push(node.id);
21776
+ else
21777
+ data2.selectedNodeIds = [node.id];
21778
+ }
21775
21779
  };
21776
21780
  const onNextLevel = (node) => {
21777
21781
  props2.idQueryNode({
@@ -21783,15 +21787,6 @@ const _sfc_main$3 = {
21783
21787
  });
21784
21788
  };
21785
21789
  const query = () => __async(this, null, function* () {
21786
- if (!props2.multiple) {
21787
- if (modelValue2.value)
21788
- data2.selectedNodeIds = [modelValue2.value];
21789
- else
21790
- data2.selectedNodeIds = [];
21791
- } else if (modelValue2.value && modelValue2.value.length > 0)
21792
- data2.selectedNodeIds = modelValue2.value;
21793
- else
21794
- data2.selectedNodeIds = [];
21795
21790
  let params = {};
21796
21791
  if (data2.selectedNodeIds.length > 0)
21797
21792
  params.id = data2.selectedNodeIds[0];
@@ -21802,7 +21797,17 @@ const _sfc_main$3 = {
21802
21797
  data2.parentNode = node;
21803
21798
  });
21804
21799
  });
21805
- watch(() => [modelValue2.value, props2.show], (n, o) => __async(this, null, function* () {
21800
+ watch(() => [props2.show], (n, o) => __async(this, null, function* () {
21801
+ if (!props2.show)
21802
+ return;
21803
+ if (!props2.multiple) {
21804
+ data2.selectedNodeIds = [modelValue2.value];
21805
+ } else {
21806
+ if (modelValue2.value && modelValue2.value.length > 0)
21807
+ data2.selectedNodeIds = modelValue2.value;
21808
+ else
21809
+ data2.selectedNodeIds = [];
21810
+ }
21806
21811
  query();
21807
21812
  }), {
21808
21813
  immediate: true
@@ -21889,7 +21894,7 @@ const _sfc_main$3 = {
21889
21894
  };
21890
21895
  }
21891
21896
  };
21892
- var CascaderPop = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-27ca3ce1"]]);
21897
+ var CascaderPop = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-3ec31519"]]);
21893
21898
  const _hoisted_1$2 = {
21894
21899
  style: {
21895
21900
  "display": "flex",
@@ -21986,9 +21991,15 @@ const _sfc_main$2 = {
21986
21991
  }
21987
21992
  };
21988
21993
  const ids2nodes2 = () => __async(this, null, function* () {
21989
- if (!data2.selectedNodeIds || data2.selectedNodeIds.length < 1)
21994
+ let ids = [];
21995
+ if (!props2.multiple) {
21996
+ if (modelValue2.value)
21997
+ ids = [modelValue2.value];
21998
+ } else if (modelValue2.value && modelValue2.value.length > 0)
21999
+ ids = modelValue2.value;
22000
+ if (ids.length < 1)
21990
22001
  return [];
21991
- let promises = data2.selectedNodeIds.map((nodeId) => __async(this, null, function* () {
22002
+ let promises = ids.map((nodeId) => __async(this, null, function* () {
21992
22003
  let params = {};
21993
22004
  params.id = nodeId;
21994
22005
  params.isReturnParent = true;
@@ -22005,13 +22016,15 @@ const _sfc_main$2 = {
22005
22016
  return selectNodes;
22006
22017
  });
22007
22018
  watch(() => JSON.stringify(modelValue2.value), (n, o) => __async(this, null, function* () {
22008
- data2.selectedNodeIds = modelValue2.value;
22009
- data2.selectedNodes = yield ids2nodes2();
22010
22019
  if (!props2.multiple) {
22011
22020
  data2.selectedNodeIds = modelValue2.value;
22012
22021
  } else {
22013
- data2.selectedNodeIds = modelValue2.value;
22022
+ if (modelValue2.value && modelValue2.value.length > 0)
22023
+ data2.selectedNodeIds = modelValue2.value;
22024
+ else
22025
+ data2.selectedNodeIds = [];
22014
22026
  }
22027
+ data2.selectedNodes = yield ids2nodes2();
22015
22028
  }), {
22016
22029
  immediate: true
22017
22030
  });
@@ -21618,7 +21618,7 @@ var __async = (__this, __arguments, generator) => {
21618
21618
  }
21619
21619
  };
21620
21620
  var TreePicker = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-ebc14630"]]);
21621
- var CascaderPop_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.cascader-pop[data-v-27ca3ce1] {\r\n width: 100%;\r\n overflow: hidden;\n}\n.cascader-selector[data-v-27ca3ce1] {\r\n padding: 10px;\n}\n.search-buttons[data-v-27ca3ce1] {\r\n display: flex;\r\n gap: 10px;\n}\n.clear-btn[data-v-27ca3ce1] {\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-27ca3ce1] {\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-27ca3ce1] {\r\n text-align: center;\r\n padding: 20px;\r\n color: #969799;\n}\n.cascader-header[data-v-27ca3ce1] {\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-27ca3ce1] {\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-27ca3ce1] {\r\n display: flex;\r\n gap: 8px;\r\n margin-left: auto;\n}\n.cancel-btn[data-v-27ca3ce1] {\r\n color: #969799;\r\n margin-right: 5px;\n}\n.scroll-container[data-v-27ca3ce1] {\r\n height: calc(80vh - 150px);\r\n overflow-y: auto;\n}\n.cell-content[data-v-27ca3ce1] {\r\n display: flex;\r\n align-items: center;\r\n gap: 12px;\n}\n.circle-selector[data-v-27ca3ce1] {\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-27ca3ce1] {\r\n background-color: #1989fa;\r\n border-color: #1989fa;\n}\n.circle-selector.selected .van-icon[data-v-27ca3ce1] {\r\n color: white;\r\n font-size: 14px;\n}\n.van-cell__right-icon[data-v-27ca3ce1] {\r\n color: #969799;\r\n font-size: 16px;\r\n margin-left: 8px;\n}\n.name[data-v-27ca3ce1] {\r\n flex: 1;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\n}\n.cancel-btn[data-v-27ca3ce1] {\r\n color: #969799;\n}\n.search-field[data-v-27ca3ce1] {\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")();
21621
+ var CascaderPop_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.cascader-pop[data-v-3ec31519] {\r\n width: 100%;\r\n overflow: hidden;\n}\n.cascader-selector[data-v-3ec31519] {\r\n padding: 10px;\n}\n.search-buttons[data-v-3ec31519] {\r\n display: flex;\r\n gap: 10px;\n}\n.clear-btn[data-v-3ec31519] {\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-3ec31519] {\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-3ec31519] {\r\n text-align: center;\r\n padding: 20px;\r\n color: #969799;\n}\n.cascader-header[data-v-3ec31519] {\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-3ec31519] {\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-3ec31519] {\r\n display: flex;\r\n gap: 8px;\r\n margin-left: auto;\n}\n.cancel-btn[data-v-3ec31519] {\r\n color: #969799;\r\n margin-right: 5px;\n}\n.scroll-container[data-v-3ec31519] {\r\n height: calc(80vh - 150px);\r\n overflow-y: auto;\n}\n.cell-content[data-v-3ec31519] {\r\n display: flex;\r\n align-items: center;\r\n gap: 12px;\n}\n.circle-selector[data-v-3ec31519] {\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-3ec31519] {\r\n background-color: #1989fa;\r\n border-color: #1989fa;\n}\n.circle-selector.selected .van-icon[data-v-3ec31519] {\r\n color: white;\r\n font-size: 14px;\n}\n.van-cell__right-icon[data-v-3ec31519] {\r\n color: #969799;\r\n font-size: 16px;\r\n margin-left: 8px;\n}\n.name[data-v-3ec31519] {\r\n flex: 1;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\n}\n.cancel-btn[data-v-3ec31519] {\r\n color: #969799;\n}\n.search-field[data-v-3ec31519] {\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")();
21622
21622
  const _hoisted_1$3 = {
21623
21623
  class: "cascader-selector"
21624
21624
  };
@@ -21773,8 +21773,12 @@ var __async = (__this, __arguments, generator) => {
21773
21773
  const onToggle = (node) => {
21774
21774
  if (data2.selectedNodeIds.includes(node.id))
21775
21775
  data2.selectedNodeIds = data2.selectedNodeIds.filter((item) => item != node.id);
21776
- else
21777
- data2.selectedNodeIds.push(node.id);
21776
+ else {
21777
+ if (props2.multiple)
21778
+ data2.selectedNodeIds.push(node.id);
21779
+ else
21780
+ data2.selectedNodeIds = [node.id];
21781
+ }
21778
21782
  };
21779
21783
  const onNextLevel = (node) => {
21780
21784
  props2.idQueryNode({
@@ -21786,15 +21790,6 @@ var __async = (__this, __arguments, generator) => {
21786
21790
  });
21787
21791
  };
21788
21792
  const query = () => __async(this, null, function* () {
21789
- if (!props2.multiple) {
21790
- if (modelValue2.value)
21791
- data2.selectedNodeIds = [modelValue2.value];
21792
- else
21793
- data2.selectedNodeIds = [];
21794
- } else if (modelValue2.value && modelValue2.value.length > 0)
21795
- data2.selectedNodeIds = modelValue2.value;
21796
- else
21797
- data2.selectedNodeIds = [];
21798
21793
  let params = {};
21799
21794
  if (data2.selectedNodeIds.length > 0)
21800
21795
  params.id = data2.selectedNodeIds[0];
@@ -21805,7 +21800,17 @@ var __async = (__this, __arguments, generator) => {
21805
21800
  data2.parentNode = node;
21806
21801
  });
21807
21802
  });
21808
- vue.watch(() => [modelValue2.value, props2.show], (n, o) => __async(this, null, function* () {
21803
+ vue.watch(() => [props2.show], (n, o) => __async(this, null, function* () {
21804
+ if (!props2.show)
21805
+ return;
21806
+ if (!props2.multiple) {
21807
+ data2.selectedNodeIds = [modelValue2.value];
21808
+ } else {
21809
+ if (modelValue2.value && modelValue2.value.length > 0)
21810
+ data2.selectedNodeIds = modelValue2.value;
21811
+ else
21812
+ data2.selectedNodeIds = [];
21813
+ }
21809
21814
  query();
21810
21815
  }), {
21811
21816
  immediate: true
@@ -21892,7 +21897,7 @@ var __async = (__this, __arguments, generator) => {
21892
21897
  };
21893
21898
  }
21894
21899
  };
21895
- var CascaderPop = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-27ca3ce1"]]);
21900
+ var CascaderPop = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-3ec31519"]]);
21896
21901
  const _hoisted_1$2 = {
21897
21902
  style: {
21898
21903
  "display": "flex",
@@ -21989,9 +21994,15 @@ var __async = (__this, __arguments, generator) => {
21989
21994
  }
21990
21995
  };
21991
21996
  const ids2nodes2 = () => __async(this, null, function* () {
21992
- if (!data2.selectedNodeIds || data2.selectedNodeIds.length < 1)
21997
+ let ids = [];
21998
+ if (!props2.multiple) {
21999
+ if (modelValue2.value)
22000
+ ids = [modelValue2.value];
22001
+ } else if (modelValue2.value && modelValue2.value.length > 0)
22002
+ ids = modelValue2.value;
22003
+ if (ids.length < 1)
21993
22004
  return [];
21994
- let promises = data2.selectedNodeIds.map((nodeId) => __async(this, null, function* () {
22005
+ let promises = ids.map((nodeId) => __async(this, null, function* () {
21995
22006
  let params = {};
21996
22007
  params.id = nodeId;
21997
22008
  params.isReturnParent = true;
@@ -22008,13 +22019,15 @@ var __async = (__this, __arguments, generator) => {
22008
22019
  return selectNodes;
22009
22020
  });
22010
22021
  vue.watch(() => JSON.stringify(modelValue2.value), (n, o) => __async(this, null, function* () {
22011
- data2.selectedNodeIds = modelValue2.value;
22012
- data2.selectedNodes = yield ids2nodes2();
22013
22022
  if (!props2.multiple) {
22014
22023
  data2.selectedNodeIds = modelValue2.value;
22015
22024
  } else {
22016
- data2.selectedNodeIds = modelValue2.value;
22025
+ if (modelValue2.value && modelValue2.value.length > 0)
22026
+ data2.selectedNodeIds = modelValue2.value;
22027
+ else
22028
+ data2.selectedNodeIds = [];
22017
22029
  }
22030
+ data2.selectedNodes = yield ids2nodes2();
22018
22031
  }), {
22019
22032
  immediate: true
22020
22033
  });
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "widget.qw",
3
3
  "private": false,
4
- "version": "1.1.0",
4
+ "version": "1.1.1",
5
5
  "description": "marqstree Vue3组件库",
6
6
  "main": "build/widget.qw.es.js",
7
7
  "keywords": [
@@ -16,8 +16,9 @@
16
16
  </template>
17
17
  </van-field>
18
18
 
19
- <CascaderPop :multiple="props.multiple" v-model:show="data.isShowPop" v-model="data.selectedNodeIds" :placeholder="props.placeholder"
20
- @select="onSelect" :keywordQueryNode="props.keywordQueryNode" :idQueryNode="props.idQueryNode" />
19
+ <CascaderPop :multiple="props.multiple" v-model:show="data.isShowPop" v-model="data.selectedNodeIds"
20
+ :placeholder="props.placeholder" @select="onSelect" :keywordQueryNode="props.keywordQueryNode"
21
+ :idQueryNode="props.idQueryNode" />
21
22
  </template>
22
23
 
23
24
  <script setup>
@@ -102,12 +103,6 @@ const onSelect = (nodes) => {
102
103
  data.selectedNodes = nodes
103
104
  emit('select', data.selectedNodes)
104
105
  modelValue.value = data.selectedNodes.map(item => item.id)
105
-
106
- // let one = data.selectedNodes.find(item => item.id === node.id)
107
- // if (!one)
108
- // data.selectedNodes = [...data.selectedNodes, node]
109
- // emit('select', data.selectedNodes)
110
- // modelValue.value = data.selectedNodes.map(item => item.id)
111
106
  }
112
107
  }
113
108
 
@@ -119,11 +114,19 @@ const onDelete = (idx) => {
119
114
  }
120
115
  }
121
116
 
122
- const ids2nodes = async() => {
123
- if(!data.selectedNodeIds || data.selectedNodeIds.length<1)
117
+ const ids2nodes = async () => {
118
+ let ids = []
119
+ if(!props.multiple){
120
+ if(modelValue.value)
121
+ ids = [modelValue.value]
122
+ }
123
+ else if(modelValue.value && modelValue.value.length>0)
124
+ ids = modelValue.value
125
+
126
+ if (ids.length < 1)
124
127
  return []
125
128
 
126
- let promises = data.selectedNodeIds.map(async(nodeId) => {
129
+ let promises = ids.map(async (nodeId) => {
127
130
  let params = {}
128
131
  params.id = nodeId
129
132
  params.isReturnParent = true
@@ -137,24 +140,24 @@ const ids2nodes = async() => {
137
140
  })
138
141
  return selectNode
139
142
  })
140
-
143
+
141
144
  let selectNodes = await Promise.all(promises)
142
145
 
143
146
  return selectNodes
144
147
  }
145
148
 
146
- watch(() => JSON.stringify(modelValue.value), async(n, o) => {
147
- data.selectedNodeIds = modelValue.value
148
- data.selectedNodes = await ids2nodes()
149
-
150
- //单用户选择时,将用户id记录在selectedNodeIds,用户对象存入selectedNodes的第一个元素
149
+ watch(() => JSON.stringify(modelValue.value), async (n, o) => {
151
150
  if (!props.multiple) {
152
151
  data.selectedNodeIds = modelValue.value
153
152
  }
154
- //多用户选择时,遍历回调接口获取多用户对象列表,记录在selectedNodes
155
153
  else {
156
- data.selectedNodeIds = modelValue.value
154
+ if (modelValue.value && modelValue.value.length > 0)
155
+ data.selectedNodeIds = modelValue.value
156
+ else
157
+ data.selectedNodeIds = []
157
158
  }
159
+
160
+ data.selectedNodes = await ids2nodes()
158
161
  }, {
159
162
  immediate: true
160
163
  })
@@ -203,8 +203,12 @@ const onCancel = () => {
203
203
  const onToggle = (node) => {
204
204
  if (data.selectedNodeIds.includes(node.id))
205
205
  data.selectedNodeIds = data.selectedNodeIds.filter(item => item != node.id)
206
- else
207
- data.selectedNodeIds.push(node.id)
206
+ else{
207
+ if(props.multiple)
208
+ data.selectedNodeIds.push(node.id)
209
+ else
210
+ data.selectedNodeIds = [node.id]
211
+ }
208
212
  }
209
213
 
210
214
  const onNextLevel = (node) => {
@@ -214,17 +218,6 @@ const onNextLevel = (node) => {
214
218
  }
215
219
 
216
220
  const query = async () => {
217
- if (!props.multiple)
218
- if (modelValue.value)
219
- data.selectedNodeIds = [modelValue.value]
220
- else
221
- data.selectedNodeIds = []
222
- else
223
- if (modelValue.value && modelValue.value.length > 0)
224
- data.selectedNodeIds = modelValue.value
225
- else
226
- data.selectedNodeIds = []
227
-
228
221
  let params = {}
229
222
  if (data.selectedNodeIds.length > 0)
230
223
  params.id = data.selectedNodeIds[0]
@@ -235,132 +228,27 @@ const query = async () => {
235
228
  await props.idQueryNode(params, (node) => {
236
229
  data.parentNode = node
237
230
  })
238
-
239
-
240
- // if (!props.multiple) {
241
- // //空id时,查带子节点的虚拟根节点
242
- // if (!data.selectedNodeIds) {
243
- // let params = {}
244
- // params.isReturnParent = true
245
- // params.hasChildren = true
246
- // params.hasPaths = true
247
-
248
- // await props.idQueryNode(params, (node) => {
249
- // data.parentNode = node
250
-
251
- // // if (!data.selectedNodeIds)
252
- // // return
253
-
254
- // // let childNode = util.findNode(modelValue.value, data.parentNode.children)
255
- // // emit('select', childNode)
256
- // })
257
- // }
258
- // //选中节点时
259
- // else {
260
- // //未显示底部弹窗时,只查节点本身
261
- // if (!props.show) {
262
- // let params = {}
263
- // params.id = modelValue.value
264
- // params.isReturnParent = true
265
- // params.hasChildren = false
266
- // params.hasPaths = true
267
-
268
- // await props.idQueryNode(params, (node) => {
269
- // data.parentNode = node
270
- // let childNode = util.findNode(modelValue.value, data.parentNode.children)
271
- // emit('select', childNode)
272
- // })
273
- // }
274
- // //显示底部弹窗时,查询带子节点的父节点
275
- // else {
276
- // let params = {}
277
- // params.id = modelValue.value
278
- // params.isReturnParent = true
279
- // params.hasChildren = true
280
- // params.hasPaths = true
281
-
282
- // await props.idQueryNode(params, (node) => {
283
- // data.parentNode = node
284
- // if (!modelValue.value)
285
- // return
286
- // let childNode = util.findNode(modelValue.value, data.parentNode.children)
287
- // emit('select', childNode)
288
- // })
289
- // }
290
- // }
291
- // } else {
292
- // //空数组时,查带子节点的虚拟根节点
293
- // if (!data.selectedNodeIds || data.selectedNodeIds.length < 1) {
294
- // let params = {}
295
- // params.isReturnParent = true
296
- // params.hasChildren = true
297
- // params.hasPaths = true
298
-
299
- // await props.idQueryNode(params, (node) => {
300
- // data.parentNode = node
301
-
302
- // if (!modelValue.value)
303
- // return
304
-
305
- // let childNode = util.findNode(modelValue.value, data.parentNode.children)
306
- // emit('select', childNode)
307
- // })
308
- // }
309
- // //选中节点时
310
- // else {
311
- // //未显示底部弹窗时,只查节点本身
312
- // if (!props.show) {
313
- // let selectNodes = data.selectedNodeIds.map(async(nodeId) => {
314
- // let params = {}
315
- // params.id = nodeId
316
- // params.isReturnParent = true
317
- // params.hasChildren = false
318
- // params.hasPaths = true
319
-
320
- // let selectNode = await props.idQueryNode(params, (node) => {
321
- // data.parentNode = node
322
- // let childNode = util.findNode(nodeId, data.parentNode.children)
323
- // return childNode
324
- // })
325
- // return selectNode
326
- // })
327
- // // emit('select', selectNodes)
328
- // }
329
- // //显示底部弹窗时,查询第一个选中节点的的父节点
330
- // else {
331
- // let params = {}
332
- // params.id = data.selectedNodeIds[0]
333
- // params.isReturnParent = true
334
- // params.hasChildren = true
335
- // params.hasPaths = true
336
-
337
- // await props.idQueryNode(params, (node) => {
338
- // data.parentNode = node
339
- // if (!data.selectedNodeIds[0])
340
- // return
341
- // let childNode = util.findNode(data.selectedNodeIds[0], data.parentNode.children)
342
- // // emit('select', childNode)
343
- // })
344
- // }
345
- // }
346
- // }
347
231
  }
348
232
 
349
233
  //根据id查询详情对象
350
- watch(() => [modelValue.value, props.show], async (n, o) => {
234
+ watch(() => [props.show], async (n, o) => {
235
+ if(!props.show)
236
+ return
237
+
238
+ if (!props.multiple) {
239
+ data.selectedNodeIds = [modelValue.value]
240
+ }
241
+ else {
242
+ if (modelValue.value && modelValue.value.length > 0)
243
+ data.selectedNodeIds = modelValue.value
244
+ else
245
+ data.selectedNodeIds = []
246
+ }
247
+
351
248
  query()
352
249
  }, {
353
250
  immediate: true
354
251
  })
355
-
356
- // watch(() => props.show, () => {
357
- // if (!props.show)
358
- // return
359
-
360
- // query()
361
- // }, {
362
- // immediate: true
363
- // })
364
252
  </script>
365
253
 
366
254
  <style scoped>
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div class="page">
3
- <UserPicker label="项目经理" multiple v-model="data.userids" :auth="data.auth" />
3
+ <UserPicker label="项目经理" :multiple="data.multiple" v-model="data.userids" :auth="data.auth" />
4
4
  </div>
5
5
  </template>
6
6
 
@@ -9,8 +9,9 @@ import { reactive, onMounted } from "vue";
9
9
  import UserPicker from '../cascaderpicker/userpicker.vue'
10
10
 
11
11
  const data = reactive({
12
- auth: 'readonly',
13
- userids: ["HouMu"]
12
+ multiple:true,
13
+ auth: 'require',
14
+ userids: []
14
15
  })
15
16
 
16
17
  onMounted(() => {