widget.qw 1.0.68 → 1.0.70

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
@@ -387,18 +387,18 @@
387
387
  color: #969799;
388
388
  margin-right: 5px;
389
389
  }
390
- [data-v-0c9127e8] .label {
390
+ [data-v-b587c824] .label {
391
391
  color: #000 !important;
392
392
  }
393
- [data-v-0c9127e8] .van-field__control:disabled {
393
+ [data-v-b587c824] .van-field__control:disabled {
394
394
  color: #000 !important;
395
395
  cursor: not-allowed;
396
396
  opacity: 1;
397
397
  -webkit-text-fill-color: #000;
398
- }.widget[data-v-8a570fc4] {
398
+ }.widget[data-v-1b4c046a] {
399
399
  text-align: center;
400
400
  }
401
- .widget .btn[data-v-8a570fc4] {
401
+ .widget .btn[data-v-1b4c046a] {
402
402
  position: fixed;
403
403
  bottom: 1rem;
404
404
  left: 0;
@@ -412,10 +412,10 @@
412
412
  text-align: center;
413
413
  display: inline-block;
414
414
  border-radius: 2px;
415
- }[data-v-a0846250] .label {
415
+ }[data-v-7352dfa0] .label {
416
416
  color: #000 !important;
417
417
  }
418
- [data-v-a0846250] .van-field__control:disabled {
418
+ [data-v-7352dfa0] .van-field__control:disabled {
419
419
  color: #000 !important;
420
420
  cursor: not-allowed;
421
421
  opacity: 1;
@@ -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;
@@ -18456,7 +18456,7 @@ const _sfc_main$k = {
18456
18456
  }
18457
18457
  };
18458
18458
  var UserSelector = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-6c4b4fc8"]]);
18459
- var image_picker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "[data-v-0c9127e8] .label {\n color: #000 !important;\n}\n[data-v-0c9127e8] .van-field__control:disabled {\n color: #000 !important;\n cursor: not-allowed;\n opacity: 1;\n -webkit-text-fill-color: #000;\n}")();
18459
+ var image_picker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "[data-v-b587c824] .label {\n color: #000 !important;\n}\n[data-v-b587c824] .van-field__control:disabled {\n color: #000 !important;\n cursor: not-allowed;\n opacity: 1;\n -webkit-text-fill-color: #000;\n}")();
18460
18460
  const _hoisted_1$d = {
18461
18461
  class: "image-box"
18462
18462
  };
@@ -18533,10 +18533,6 @@ const _sfc_main$j = {
18533
18533
  modelValue.value = "";
18534
18534
  return Promise.resolve(e);
18535
18535
  };
18536
- const onPreview = (e) => {
18537
- console.log("onPreview", e);
18538
- window.open(e.url, "_blank");
18539
- };
18540
18536
  watch(() => props.modelValue, (newVal, oldVal) => {
18541
18537
  if (!props.modelValue) {
18542
18538
  files.value = [];
@@ -18570,8 +18566,7 @@ const _sfc_main$j = {
18570
18566
  afterRead: onAfterRead,
18571
18567
  disabled: unref(isDisabled),
18572
18568
  deletable: !unref(isDisabled),
18573
- "before-delete": onBeforeDelete,
18574
- onClickPreview: onPreview
18569
+ "before-delete": onBeforeDelete
18575
18570
  }, null, 8, ["modelValue", "capture", "disabled", "deletable"])) : (openBlock(), createBlock(_component_van_uploader, {
18576
18571
  key: 1,
18577
18572
  modelValue: files.value,
@@ -18581,16 +18576,15 @@ const _sfc_main$j = {
18581
18576
  afterRead: onAfterRead,
18582
18577
  disabled: unref(isDisabled),
18583
18578
  deletable: !unref(isDisabled),
18584
- "before-delete": onBeforeDelete,
18585
- onClickPreview: onPreview
18579
+ "before-delete": onBeforeDelete
18586
18580
  }, null, 8, ["modelValue", "disabled", "deletable"]))])]),
18587
18581
  _: 1
18588
18582
  }, 8, ["label", "required", "rules", "placeholder"])) : createCommentVNode("", true);
18589
18583
  };
18590
18584
  }
18591
18585
  };
18592
- var ImagePicker = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-0c9127e8"]]);
18593
- var images_picker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".widget[data-v-8a570fc4] {\n text-align: center;\n}\n.widget .btn[data-v-8a570fc4] {\n position: fixed;\n bottom: 1rem;\n left: 0;\n right: 0;\n margin: auto auto;\n color: white;\n font-size: 14px;\n background: rgb(58, 136, 255);\n padding: 8px 35px;\n width: 100px;\n text-align: center;\n display: inline-block;\n border-radius: 2px;\n}")();
18586
+ var ImagePicker = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-b587c824"]]);
18587
+ var images_picker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".widget[data-v-1b4c046a] {\n text-align: center;\n}\n.widget .btn[data-v-1b4c046a] {\n position: fixed;\n bottom: 1rem;\n left: 0;\n right: 0;\n margin: auto auto;\n color: white;\n font-size: 14px;\n background: rgb(58, 136, 255);\n padding: 8px 35px;\n width: 100px;\n text-align: center;\n display: inline-block;\n border-radius: 2px;\n}")();
18594
18588
  const _hoisted_1$c = {
18595
18589
  class: "image-box"
18596
18590
  };
@@ -18679,10 +18673,6 @@ const _sfc_main$i = {
18679
18673
  emit("update:modelValue", newUrls);
18680
18674
  return Promise.resolve(e);
18681
18675
  };
18682
- const onPreview = (e) => {
18683
- console.log("onPreview", e);
18684
- window.open(e.url, "_blank");
18685
- };
18686
18676
  watch(() => props.modelValue, (newVal, oldVal) => {
18687
18677
  if (!props.modelValue || props.modelValue.length < 1) {
18688
18678
  files.value = [];
@@ -18718,8 +18708,7 @@ const _sfc_main$i = {
18718
18708
  disabled: unref(isDisabled),
18719
18709
  deletable: !unref(isDisabled),
18720
18710
  afterRead: onAfterRead,
18721
- "before-delete": onBeforeDelete,
18722
- onClickPreview: onPreview
18711
+ "before-delete": onBeforeDelete
18723
18712
  }, null, 8, ["modelValue", "max-count", "capture", "disabled", "deletable"])) : (openBlock(), createBlock(_component_van_uploader, {
18724
18713
  key: 1,
18725
18714
  modelValue: files.value,
@@ -18729,16 +18718,15 @@ const _sfc_main$i = {
18729
18718
  disabled: unref(isDisabled),
18730
18719
  deletable: !unref(isDisabled),
18731
18720
  afterRead: onAfterRead,
18732
- "before-delete": onBeforeDelete,
18733
- onClickPreview: onPreview
18721
+ "before-delete": onBeforeDelete
18734
18722
  }, null, 8, ["modelValue", "max-count", "disabled", "deletable"]))])]),
18735
18723
  _: 1
18736
18724
  }, 8, ["label", "required", "rules", "placeholder"]);
18737
18725
  };
18738
18726
  }
18739
18727
  };
18740
- var ImagesPicker = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-8a570fc4"]]);
18741
- var FilePicker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "[data-v-a0846250] .label {\n color: #000 !important;\n}\n[data-v-a0846250] .van-field__control:disabled {\n color: #000 !important;\n cursor: not-allowed;\n opacity: 1;\n -webkit-text-fill-color: #000;\n}")();
18728
+ var ImagesPicker = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-1b4c046a"]]);
18729
+ var FilePicker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "[data-v-7352dfa0] .label {\n color: #000 !important;\n}\n[data-v-7352dfa0] .van-field__control:disabled {\n color: #000 !important;\n cursor: not-allowed;\n opacity: 1;\n -webkit-text-fill-color: #000;\n}")();
18742
18730
  const _hoisted_1$b = {
18743
18731
  class: "image-box"
18744
18732
  };
@@ -18807,10 +18795,6 @@ const _sfc_main$h = {
18807
18795
  modelValue.value = "";
18808
18796
  return Promise.resolve(e);
18809
18797
  };
18810
- const onPreview = (e) => {
18811
- console.log("onPreview", e);
18812
- window.open(e.url, "_blank");
18813
- };
18814
18798
  watch(() => props.modelValue, (newVal, oldVal) => {
18815
18799
  if (!props.modelValue) {
18816
18800
  files.value = [];
@@ -18843,15 +18827,14 @@ const _sfc_main$h = {
18843
18827
  accept: props.accept,
18844
18828
  "upload-icon": "plus",
18845
18829
  deletable: !unref(isDisabled),
18846
- "before-delete": onBeforeDelete,
18847
- onClickPreview: onPreview
18830
+ "before-delete": onBeforeDelete
18848
18831
  }, null, 8, ["modelValue", "disabled", "accept", "deletable"])])]),
18849
18832
  _: 1
18850
18833
  }, 8, ["label", "required", "rules", "placeholder"])) : createCommentVNode("", true);
18851
18834
  };
18852
18835
  }
18853
18836
  };
18854
- var FilePicker = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-a0846250"]]);
18837
+ var FilePicker = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-7352dfa0"]]);
18855
18838
  var SingleUserSelector_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.user-popup[data-v-a489ca4c] {\r\n width: 100%;\r\n overflow: hidden;\n}\n.department-selector[data-v-a489ca4c] {\r\n padding: 10px;\n}\n.search-buttons[data-v-a489ca4c] {\r\n display: flex;\r\n gap: 10px;\n}\n.clear-btn[data-v-a489ca4c] {\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-a489ca4c] {\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-a489ca4c] {\r\n text-align: center;\r\n padding: 20px;\r\n color: #969799;\n}\n.picker-header[data-v-a489ca4c] {\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-a489ca4c] {\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-a489ca4c] {\r\n display: flex;\r\n gap: 8px;\r\n margin-left: auto;\n}\n.cancel-btn[data-v-a489ca4c] {\r\n color: #969799;\r\n margin-right: 5px;\n}\n.scroll-container[data-v-a489ca4c] {\r\n height: calc(80vh - 150px);\r\n overflow-y: auto;\n}\r\n")();
18856
18839
  const _hoisted_1$a = {
18857
18840
  class: "department-selector"
@@ -20448,7 +20431,7 @@ const _sfc_main$4 = {
20448
20431
  }
20449
20432
  };
20450
20433
  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")();
20434
+ 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
20435
  const _hoisted_1$3 = {
20453
20436
  class: "cascader-selector"
20454
20437
  };
@@ -20585,19 +20568,56 @@ const _sfc_main$3 = {
20585
20568
  data2.parentNode = node2;
20586
20569
  });
20587
20570
  };
20588
- watch(() => modelValue.value, (n, o) => __async(this, null, function* () {
20571
+ const query = () => __async(this, null, function* () {
20589
20572
  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
- });
20573
+ if (!modelValue.value) {
20574
+ let params = {};
20575
+ params.isReturnParent = true;
20576
+ params.hasChildren = true;
20577
+ params.hasPaths = true;
20578
+ yield props.idQueryNode(params, (node) => {
20579
+ data2.parentNode = node;
20580
+ if (!modelValue.value)
20581
+ return;
20582
+ let childNode = util.findNode(modelValue.value, data2.parentNode.children);
20583
+ emit("select", childNode);
20584
+ });
20585
+ } else {
20586
+ if (!props.show) {
20587
+ let params = {};
20588
+ params.id = modelValue.value;
20589
+ params.isReturnParent = false;
20590
+ params.hasChildren = false;
20591
+ params.hasPaths = true;
20592
+ yield props.idQueryNode(params, (node) => {
20593
+ data2.parentNode = {};
20594
+ emit("select", node);
20595
+ });
20596
+ } else {
20597
+ let params = {};
20598
+ params.id = modelValue.value;
20599
+ params.isReturnParent = true;
20600
+ params.hasChildren = true;
20601
+ params.hasPaths = true;
20602
+ yield props.idQueryNode(params, (node) => {
20603
+ data2.parentNode = node;
20604
+ if (!modelValue.value)
20605
+ return;
20606
+ let childNode = util.findNode(modelValue.value, data2.parentNode.children);
20607
+ emit("select", childNode);
20608
+ });
20609
+ }
20610
+ }
20611
+ });
20612
+ watch(() => props.show, () => {
20613
+ if (!props.show)
20614
+ return;
20615
+ query();
20616
+ }, {
20617
+ immediate: true
20618
+ });
20619
+ watch(() => modelValue.value, (n, o) => __async(this, null, function* () {
20620
+ query();
20601
20621
  }), {
20602
20622
  immediate: true
20603
20623
  });
@@ -20683,7 +20703,7 @@ const _sfc_main$3 = {
20683
20703
  };
20684
20704
  }
20685
20705
  };
20686
- var CascaderPop = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-bfe589fe"]]);
20706
+ var CascaderPop = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-1c8388a5"]]);
20687
20707
  const _hoisted_1$2 = {
20688
20708
  style: {
20689
20709
  "display": "flex",
@@ -20787,6 +20807,7 @@ const _sfc_main$2 = {
20787
20807
  params.id = id;
20788
20808
  params.isReturnParent = false;
20789
20809
  params.hasChildren = false;
20810
+ params.hasPaths = true;
20790
20811
  yield props.idQueryNode(params, (node) => {
20791
20812
  data2.selectedNodes = [...data2.selectedNodes, node];
20792
20813
  });
@@ -18459,7 +18459,7 @@ var __async = (__this, __arguments, generator) => {
18459
18459
  }
18460
18460
  };
18461
18461
  var UserSelector = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-6c4b4fc8"]]);
18462
- var image_picker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "[data-v-0c9127e8] .label {\n color: #000 !important;\n}\n[data-v-0c9127e8] .van-field__control:disabled {\n color: #000 !important;\n cursor: not-allowed;\n opacity: 1;\n -webkit-text-fill-color: #000;\n}")();
18462
+ var image_picker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "[data-v-b587c824] .label {\n color: #000 !important;\n}\n[data-v-b587c824] .van-field__control:disabled {\n color: #000 !important;\n cursor: not-allowed;\n opacity: 1;\n -webkit-text-fill-color: #000;\n}")();
18463
18463
  const _hoisted_1$d = {
18464
18464
  class: "image-box"
18465
18465
  };
@@ -18536,10 +18536,6 @@ var __async = (__this, __arguments, generator) => {
18536
18536
  modelValue.value = "";
18537
18537
  return Promise.resolve(e);
18538
18538
  };
18539
- const onPreview = (e) => {
18540
- console.log("onPreview", e);
18541
- window.open(e.url, "_blank");
18542
- };
18543
18539
  vue.watch(() => props.modelValue, (newVal, oldVal) => {
18544
18540
  if (!props.modelValue) {
18545
18541
  files.value = [];
@@ -18573,8 +18569,7 @@ var __async = (__this, __arguments, generator) => {
18573
18569
  afterRead: onAfterRead,
18574
18570
  disabled: vue.unref(isDisabled),
18575
18571
  deletable: !vue.unref(isDisabled),
18576
- "before-delete": onBeforeDelete,
18577
- onClickPreview: onPreview
18572
+ "before-delete": onBeforeDelete
18578
18573
  }, null, 8, ["modelValue", "capture", "disabled", "deletable"])) : (vue.openBlock(), vue.createBlock(_component_van_uploader, {
18579
18574
  key: 1,
18580
18575
  modelValue: files.value,
@@ -18584,16 +18579,15 @@ var __async = (__this, __arguments, generator) => {
18584
18579
  afterRead: onAfterRead,
18585
18580
  disabled: vue.unref(isDisabled),
18586
18581
  deletable: !vue.unref(isDisabled),
18587
- "before-delete": onBeforeDelete,
18588
- onClickPreview: onPreview
18582
+ "before-delete": onBeforeDelete
18589
18583
  }, null, 8, ["modelValue", "disabled", "deletable"]))])]),
18590
18584
  _: 1
18591
18585
  }, 8, ["label", "required", "rules", "placeholder"])) : vue.createCommentVNode("", true);
18592
18586
  };
18593
18587
  }
18594
18588
  };
18595
- var ImagePicker = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-0c9127e8"]]);
18596
- var images_picker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".widget[data-v-8a570fc4] {\n text-align: center;\n}\n.widget .btn[data-v-8a570fc4] {\n position: fixed;\n bottom: 1rem;\n left: 0;\n right: 0;\n margin: auto auto;\n color: white;\n font-size: 14px;\n background: rgb(58, 136, 255);\n padding: 8px 35px;\n width: 100px;\n text-align: center;\n display: inline-block;\n border-radius: 2px;\n}")();
18589
+ var ImagePicker = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-b587c824"]]);
18590
+ var images_picker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".widget[data-v-1b4c046a] {\n text-align: center;\n}\n.widget .btn[data-v-1b4c046a] {\n position: fixed;\n bottom: 1rem;\n left: 0;\n right: 0;\n margin: auto auto;\n color: white;\n font-size: 14px;\n background: rgb(58, 136, 255);\n padding: 8px 35px;\n width: 100px;\n text-align: center;\n display: inline-block;\n border-radius: 2px;\n}")();
18597
18591
  const _hoisted_1$c = {
18598
18592
  class: "image-box"
18599
18593
  };
@@ -18682,10 +18676,6 @@ var __async = (__this, __arguments, generator) => {
18682
18676
  emit("update:modelValue", newUrls);
18683
18677
  return Promise.resolve(e);
18684
18678
  };
18685
- const onPreview = (e) => {
18686
- console.log("onPreview", e);
18687
- window.open(e.url, "_blank");
18688
- };
18689
18679
  vue.watch(() => props.modelValue, (newVal, oldVal) => {
18690
18680
  if (!props.modelValue || props.modelValue.length < 1) {
18691
18681
  files.value = [];
@@ -18721,8 +18711,7 @@ var __async = (__this, __arguments, generator) => {
18721
18711
  disabled: vue.unref(isDisabled),
18722
18712
  deletable: !vue.unref(isDisabled),
18723
18713
  afterRead: onAfterRead,
18724
- "before-delete": onBeforeDelete,
18725
- onClickPreview: onPreview
18714
+ "before-delete": onBeforeDelete
18726
18715
  }, null, 8, ["modelValue", "max-count", "capture", "disabled", "deletable"])) : (vue.openBlock(), vue.createBlock(_component_van_uploader, {
18727
18716
  key: 1,
18728
18717
  modelValue: files.value,
@@ -18732,16 +18721,15 @@ var __async = (__this, __arguments, generator) => {
18732
18721
  disabled: vue.unref(isDisabled),
18733
18722
  deletable: !vue.unref(isDisabled),
18734
18723
  afterRead: onAfterRead,
18735
- "before-delete": onBeforeDelete,
18736
- onClickPreview: onPreview
18724
+ "before-delete": onBeforeDelete
18737
18725
  }, null, 8, ["modelValue", "max-count", "disabled", "deletable"]))])]),
18738
18726
  _: 1
18739
18727
  }, 8, ["label", "required", "rules", "placeholder"]);
18740
18728
  };
18741
18729
  }
18742
18730
  };
18743
- var ImagesPicker = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-8a570fc4"]]);
18744
- var FilePicker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "[data-v-a0846250] .label {\n color: #000 !important;\n}\n[data-v-a0846250] .van-field__control:disabled {\n color: #000 !important;\n cursor: not-allowed;\n opacity: 1;\n -webkit-text-fill-color: #000;\n}")();
18731
+ var ImagesPicker = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-1b4c046a"]]);
18732
+ var FilePicker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "[data-v-7352dfa0] .label {\n color: #000 !important;\n}\n[data-v-7352dfa0] .van-field__control:disabled {\n color: #000 !important;\n cursor: not-allowed;\n opacity: 1;\n -webkit-text-fill-color: #000;\n}")();
18745
18733
  const _hoisted_1$b = {
18746
18734
  class: "image-box"
18747
18735
  };
@@ -18810,10 +18798,6 @@ var __async = (__this, __arguments, generator) => {
18810
18798
  modelValue.value = "";
18811
18799
  return Promise.resolve(e);
18812
18800
  };
18813
- const onPreview = (e) => {
18814
- console.log("onPreview", e);
18815
- window.open(e.url, "_blank");
18816
- };
18817
18801
  vue.watch(() => props.modelValue, (newVal, oldVal) => {
18818
18802
  if (!props.modelValue) {
18819
18803
  files.value = [];
@@ -18846,15 +18830,14 @@ var __async = (__this, __arguments, generator) => {
18846
18830
  accept: props.accept,
18847
18831
  "upload-icon": "plus",
18848
18832
  deletable: !vue.unref(isDisabled),
18849
- "before-delete": onBeforeDelete,
18850
- onClickPreview: onPreview
18833
+ "before-delete": onBeforeDelete
18851
18834
  }, null, 8, ["modelValue", "disabled", "accept", "deletable"])])]),
18852
18835
  _: 1
18853
18836
  }, 8, ["label", "required", "rules", "placeholder"])) : vue.createCommentVNode("", true);
18854
18837
  };
18855
18838
  }
18856
18839
  };
18857
- var FilePicker = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-a0846250"]]);
18840
+ var FilePicker = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-7352dfa0"]]);
18858
18841
  var SingleUserSelector_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.user-popup[data-v-a489ca4c] {\r\n width: 100%;\r\n overflow: hidden;\n}\n.department-selector[data-v-a489ca4c] {\r\n padding: 10px;\n}\n.search-buttons[data-v-a489ca4c] {\r\n display: flex;\r\n gap: 10px;\n}\n.clear-btn[data-v-a489ca4c] {\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-a489ca4c] {\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-a489ca4c] {\r\n text-align: center;\r\n padding: 20px;\r\n color: #969799;\n}\n.picker-header[data-v-a489ca4c] {\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-a489ca4c] {\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-a489ca4c] {\r\n display: flex;\r\n gap: 8px;\r\n margin-left: auto;\n}\n.cancel-btn[data-v-a489ca4c] {\r\n color: #969799;\r\n margin-right: 5px;\n}\n.scroll-container[data-v-a489ca4c] {\r\n height: calc(80vh - 150px);\r\n overflow-y: auto;\n}\r\n")();
18859
18842
  const _hoisted_1$a = {
18860
18843
  class: "department-selector"
@@ -20451,7 +20434,7 @@ var __async = (__this, __arguments, generator) => {
20451
20434
  }
20452
20435
  };
20453
20436
  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")();
20437
+ 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
20438
  const _hoisted_1$3 = {
20456
20439
  class: "cascader-selector"
20457
20440
  };
@@ -20588,19 +20571,56 @@ var __async = (__this, __arguments, generator) => {
20588
20571
  data2.parentNode = node2;
20589
20572
  });
20590
20573
  };
20591
- vue.watch(() => modelValue.value, (n, o) => __async(this, null, function* () {
20574
+ const query = () => __async(this, null, function* () {
20592
20575
  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
- });
20576
+ if (!modelValue.value) {
20577
+ let params = {};
20578
+ params.isReturnParent = true;
20579
+ params.hasChildren = true;
20580
+ params.hasPaths = true;
20581
+ yield props.idQueryNode(params, (node) => {
20582
+ data2.parentNode = node;
20583
+ if (!modelValue.value)
20584
+ return;
20585
+ let childNode = util.findNode(modelValue.value, data2.parentNode.children);
20586
+ emit("select", childNode);
20587
+ });
20588
+ } else {
20589
+ if (!props.show) {
20590
+ let params = {};
20591
+ params.id = modelValue.value;
20592
+ params.isReturnParent = false;
20593
+ params.hasChildren = false;
20594
+ params.hasPaths = true;
20595
+ yield props.idQueryNode(params, (node) => {
20596
+ data2.parentNode = {};
20597
+ emit("select", node);
20598
+ });
20599
+ } else {
20600
+ let params = {};
20601
+ params.id = modelValue.value;
20602
+ params.isReturnParent = true;
20603
+ params.hasChildren = true;
20604
+ params.hasPaths = true;
20605
+ yield props.idQueryNode(params, (node) => {
20606
+ data2.parentNode = node;
20607
+ if (!modelValue.value)
20608
+ return;
20609
+ let childNode = util.findNode(modelValue.value, data2.parentNode.children);
20610
+ emit("select", childNode);
20611
+ });
20612
+ }
20613
+ }
20614
+ });
20615
+ vue.watch(() => props.show, () => {
20616
+ if (!props.show)
20617
+ return;
20618
+ query();
20619
+ }, {
20620
+ immediate: true
20621
+ });
20622
+ vue.watch(() => modelValue.value, (n, o) => __async(this, null, function* () {
20623
+ query();
20604
20624
  }), {
20605
20625
  immediate: true
20606
20626
  });
@@ -20686,7 +20706,7 @@ var __async = (__this, __arguments, generator) => {
20686
20706
  };
20687
20707
  }
20688
20708
  };
20689
- var CascaderPop = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-bfe589fe"]]);
20709
+ var CascaderPop = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-1c8388a5"]]);
20690
20710
  const _hoisted_1$2 = {
20691
20711
  style: {
20692
20712
  "display": "flex",
@@ -20790,6 +20810,7 @@ var __async = (__this, __arguments, generator) => {
20790
20810
  params.id = id;
20791
20811
  params.isReturnParent = false;
20792
20812
  params.hasChildren = false;
20813
+ params.hasPaths = true;
20793
20814
  yield props.idQueryNode(params, (node) => {
20794
20815
  data2.selectedNodes = [...data2.selectedNodes, node];
20795
20816
  });
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.70",
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
  })
@@ -4,8 +4,7 @@
4
4
  <template #input>
5
5
  <div class="image-box">
6
6
  <van-uploader v-model="files" :max-count="1" :afterRead="onAfterRead" :disabled="isDisabled"
7
- :accept="props.accept" upload-icon="plus" :deletable="!isDisabled" :before-delete="onBeforeDelete"
8
- @click-preview="onPreview" />
7
+ :accept="props.accept" upload-icon="plus" :deletable="!isDisabled" :before-delete="onBeforeDelete" />
9
8
  </div>
10
9
  </template>
11
10
  </van-field>
@@ -78,11 +77,6 @@ const onBeforeDelete = (e) => {
78
77
  return Promise.resolve(e)
79
78
  }
80
79
 
81
- const onPreview = (e) => {
82
- console.log('onPreview', e)
83
- window.open(e.url, "_blank");
84
- }
85
-
86
80
  watch(() => props.modelValue,
87
81
  (newVal, oldVal) => {
88
82
  if (!props.modelValue) {
@@ -6,11 +6,11 @@
6
6
  <van-uploader v-if="props.capture" v-model="files" :max-count="1" :capture="props.capture"
7
7
  accept="image/jpeg,image/png" :afterRead="onAfterRead" :disabled="isDisabled"
8
8
  :deletable="!isDisabled" :before-delete="onBeforeDelete"
9
- @click-preview="onPreview" />
9
+ />
10
10
  <van-uploader v-else v-model="files" :max-count="1" accept="image/jpeg,image/png"
11
11
  :afterRead="onAfterRead" :disabled="isDisabled" :deletable="!isDisabled"
12
12
  :before-delete="onBeforeDelete"
13
- @click-preview="onPreview" />
13
+ />
14
14
  </div>
15
15
  </template>
16
16
  </van-field>
@@ -93,11 +93,6 @@ const onBeforeDelete = (e) => {
93
93
  return Promise.resolve(e)
94
94
  }
95
95
 
96
- const onPreview = (e) => {
97
- console.log('onPreview', e)
98
- window.open(e.url, "_blank");
99
- }
100
-
101
96
  watch(() => props.modelValue,
102
97
  (newVal, oldVal) => {
103
98
  if (!props.modelValue) {
@@ -5,12 +5,10 @@
5
5
  <div class="image-box">
6
6
  <van-uploader v-if="props.capture" v-model="files" :max-count="props.max" :capture="props.capture"
7
7
  accept="image/jpeg,image/png" :disabled="isDisabled" :deletable="!isDisabled"
8
- :afterRead="onAfterRead" :before-delete="onBeforeDelete"
9
- @click-preview="onPreview" />
8
+ :afterRead="onAfterRead" :before-delete="onBeforeDelete" />
10
9
  <van-uploader v-else v-model="files" :max-count="props.max" accept="image/jpeg,image/png"
11
10
  :disabled="isDisabled" :deletable="!isDisabled" :afterRead="onAfterRead"
12
- :before-delete="onBeforeDelete"
13
- @click-preview="onPreview" />
11
+ :before-delete="onBeforeDelete" />
14
12
  </div>
15
13
  </template>
16
14
  </van-field>
@@ -104,11 +102,6 @@ const onBeforeDelete = (e) => {
104
102
  return Promise.resolve(e)
105
103
  }
106
104
 
107
- const onPreview = (e) => {
108
- console.log('onPreview', e)
109
- window.open(e.url, "_blank");
110
- }
111
-
112
105
  watch(() => props.modelValue,
113
106
  (newVal, oldVal) => {
114
107
  if (!props.modelValue || props.modelValue.length < 1) {
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
+ }