widget.qw 1.1.3 → 1.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.development +1 -1
- package/build/style.css +21 -21
- package/build/widget.qw.es.js +33 -19
- package/build/widget.qw.umd.js +33 -19
- package/package.json +1 -1
- package/src/components/CascaderPicker.vue +11 -3
- package/src/components/CascaderPop.vue +28 -10
- package/src/components/Input.vue +1 -1
- package/src/views/cascaderpicker/index.vue +0 -0
- package/src/views/cascaderpicker/index_part.vue +0 -0
- package/src/views/input/index.vue +1 -1
package/.env.development
CHANGED
|
@@ -7,4 +7,4 @@ VITE_NEED_LOGIN_CODE=401
|
|
|
7
7
|
# 注意:发布时 VITE_IS_DEBUG必须配置为false
|
|
8
8
|
# 本地开发时 VITE_IS_DEBUG必须配置为true
|
|
9
9
|
VITE_IS_DEBUG=true
|
|
10
|
-
VITE_DEBUG_TOKEN= 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.
|
|
10
|
+
VITE_DEBUG_TOKEN= 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsb2dpblR5cGUiOiJsb2dpbiIsImxvZ2luSWQiOiJIb3VNdSIsInJuU3RyIjoiVm1CUFdpRmpURnFoOGgzam5VSG43SEQyeU80b2FuZW8ifQ.OqAOTbI6tqVeFHKYTWHLhtGQ8KMMLONBdL1jck-p4qU'
|
package/build/style.css
CHANGED
|
@@ -89,10 +89,10 @@
|
|
|
89
89
|
:root:root {
|
|
90
90
|
--van-popover-action-width: 70vw;
|
|
91
91
|
}
|
|
92
|
-
[data-v-
|
|
92
|
+
[data-v-fcba0e18] .label {
|
|
93
93
|
color: #000 !important;
|
|
94
94
|
}
|
|
95
|
-
[data-v-
|
|
95
|
+
[data-v-fcba0e18] .van-field__control:disabled {
|
|
96
96
|
color: #000 !important;
|
|
97
97
|
cursor: not-allowed;
|
|
98
98
|
opacity: 1;
|
|
@@ -675,25 +675,25 @@
|
|
|
675
675
|
margin:3px;
|
|
676
676
|
}
|
|
677
677
|
|
|
678
|
-
.cascader-pop[data-v-
|
|
678
|
+
.cascader-pop[data-v-0a051cd5] {
|
|
679
679
|
width: 100%;
|
|
680
680
|
overflow: hidden;
|
|
681
681
|
}
|
|
682
|
-
.cascader-selector[data-v-
|
|
682
|
+
.cascader-selector[data-v-0a051cd5] {
|
|
683
683
|
padding: 10px;
|
|
684
684
|
}
|
|
685
|
-
.search-buttons[data-v-
|
|
685
|
+
.search-buttons[data-v-0a051cd5] {
|
|
686
686
|
display: flex;
|
|
687
687
|
gap: 10px;
|
|
688
688
|
}
|
|
689
|
-
.clear-btn[data-v-
|
|
689
|
+
.clear-btn[data-v-0a051cd5] {
|
|
690
690
|
background-color: #f2f3f5;
|
|
691
691
|
border: none;
|
|
692
692
|
border-radius: 4px;
|
|
693
693
|
padding: 4px 8px;
|
|
694
694
|
font-size: 14px;
|
|
695
695
|
}
|
|
696
|
-
.confirm-btn[data-v-
|
|
696
|
+
.confirm-btn[data-v-0a051cd5] {
|
|
697
697
|
background-color: #1989fa;
|
|
698
698
|
color: white;
|
|
699
699
|
border: none;
|
|
@@ -701,19 +701,19 @@
|
|
|
701
701
|
padding: 4px 8px;
|
|
702
702
|
font-size: 14px;
|
|
703
703
|
}
|
|
704
|
-
.no-results[data-v-
|
|
704
|
+
.no-results[data-v-0a051cd5] {
|
|
705
705
|
text-align: center;
|
|
706
706
|
padding: 20px;
|
|
707
707
|
color: #969799;
|
|
708
708
|
}
|
|
709
|
-
.cascader-header[data-v-
|
|
709
|
+
.cascader-header[data-v-0a051cd5] {
|
|
710
710
|
padding: 10px;
|
|
711
711
|
border-bottom: 1px solid #ebedf0;
|
|
712
712
|
display: flex;
|
|
713
713
|
justify-content: space-between;
|
|
714
714
|
align-items: center;
|
|
715
715
|
}
|
|
716
|
-
.current-path[data-v-
|
|
716
|
+
.current-path[data-v-0a051cd5] {
|
|
717
717
|
flex: 1;
|
|
718
718
|
font-size: 14px;
|
|
719
719
|
margin-left: 5px;
|
|
@@ -722,25 +722,25 @@
|
|
|
722
722
|
overflow: hidden;
|
|
723
723
|
text-overflow: ellipsis;
|
|
724
724
|
}
|
|
725
|
-
.header-right[data-v-
|
|
725
|
+
.header-right[data-v-0a051cd5] {
|
|
726
726
|
display: flex;
|
|
727
727
|
gap: 8px;
|
|
728
728
|
margin-left: auto;
|
|
729
729
|
}
|
|
730
|
-
.cancel-btn[data-v-
|
|
730
|
+
.cancel-btn[data-v-0a051cd5] {
|
|
731
731
|
color: #969799;
|
|
732
732
|
margin-right: 5px;
|
|
733
733
|
}
|
|
734
|
-
.scroll-container[data-v-
|
|
734
|
+
.scroll-container[data-v-0a051cd5] {
|
|
735
735
|
height: calc(80vh - 150px);
|
|
736
736
|
overflow-y: auto;
|
|
737
737
|
}
|
|
738
|
-
.cell-content[data-v-
|
|
738
|
+
.cell-content[data-v-0a051cd5] {
|
|
739
739
|
display: flex;
|
|
740
740
|
align-items: center;
|
|
741
741
|
gap: 12px;
|
|
742
742
|
}
|
|
743
|
-
.circle-selector[data-v-
|
|
743
|
+
.circle-selector[data-v-0a051cd5] {
|
|
744
744
|
width: 20px;
|
|
745
745
|
height: 20px;
|
|
746
746
|
border-radius: 50%;
|
|
@@ -750,29 +750,29 @@
|
|
|
750
750
|
transition: all 0.2s;
|
|
751
751
|
flex-shrink: 0;
|
|
752
752
|
}
|
|
753
|
-
.circle-selector.selected[data-v-
|
|
753
|
+
.circle-selector.selected[data-v-0a051cd5] {
|
|
754
754
|
background-color: #1989fa;
|
|
755
755
|
border-color: #1989fa;
|
|
756
756
|
}
|
|
757
|
-
.circle-selector.selected .van-icon[data-v-
|
|
757
|
+
.circle-selector.selected .van-icon[data-v-0a051cd5] {
|
|
758
758
|
color: white;
|
|
759
759
|
font-size: 14px;
|
|
760
760
|
}
|
|
761
|
-
.van-cell__right-icon[data-v-
|
|
761
|
+
.van-cell__right-icon[data-v-0a051cd5] {
|
|
762
762
|
color: #969799;
|
|
763
763
|
font-size: 16px;
|
|
764
764
|
margin-left: 8px;
|
|
765
765
|
}
|
|
766
|
-
.name[data-v-
|
|
766
|
+
.name[data-v-0a051cd5] {
|
|
767
767
|
flex: 1;
|
|
768
768
|
overflow: hidden;
|
|
769
769
|
text-overflow: ellipsis;
|
|
770
770
|
white-space: nowrap;
|
|
771
771
|
}
|
|
772
|
-
.cancel-btn[data-v-
|
|
772
|
+
.cancel-btn[data-v-0a051cd5] {
|
|
773
773
|
color: #969799;
|
|
774
774
|
}
|
|
775
|
-
.search-field[data-v-
|
|
775
|
+
.search-field[data-v-0a051cd5] {
|
|
776
776
|
background: #fff;
|
|
777
777
|
padding: 10px 16px;
|
|
778
778
|
border-bottom: 1px solid #ebedf0;
|
package/build/widget.qw.es.js
CHANGED
|
@@ -17638,7 +17638,7 @@ function useVModel(props2, key, emit2, options = {}) {
|
|
|
17638
17638
|
});
|
|
17639
17639
|
}
|
|
17640
17640
|
}
|
|
17641
|
-
var Input_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "[data-v-
|
|
17641
|
+
var Input_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "[data-v-fcba0e18] .label {\n color: #000 !important;\n}\n[data-v-fcba0e18] .van-field__control:disabled {\n color: #000 !important;\n cursor: not-allowed;\n opacity: 1;\n -webkit-text-fill-color: #000;\n}")();
|
|
17642
17642
|
const _hoisted_1$i = {
|
|
17643
17643
|
style: {
|
|
17644
17644
|
"display": "flex",
|
|
@@ -17758,10 +17758,11 @@ const _sfc_main$s = {
|
|
|
17758
17758
|
autosize: props.autosize,
|
|
17759
17759
|
rules: unref(rules)
|
|
17760
17760
|
}, {
|
|
17761
|
-
button: withCtx(() => [
|
|
17761
|
+
button: withCtx(() => [!unref(isGone) && !unref(isReadonly) && !unref(isDisabled) ? (openBlock(), createBlock(_component_van_icon, {
|
|
17762
|
+
key: 0,
|
|
17762
17763
|
name: "plus",
|
|
17763
17764
|
onClick: onCalc
|
|
17764
|
-
})]),
|
|
17765
|
+
})) : createCommentVNode("", true)]),
|
|
17765
17766
|
_: 1
|
|
17766
17767
|
}, 8, ["label", "modelValue", "disabled", "required", "placeholder", "type", "rows", "autosize", "rules"])) : createCommentVNode("", true), createVNode(_component_van_popup, {
|
|
17767
17768
|
show: data.isShowPop,
|
|
@@ -17805,7 +17806,7 @@ const _sfc_main$s = {
|
|
|
17805
17806
|
};
|
|
17806
17807
|
}
|
|
17807
17808
|
};
|
|
17808
|
-
var Input = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-
|
|
17809
|
+
var Input = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-fcba0e18"]]);
|
|
17809
17810
|
var SinglePicker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "[data-v-3ae83b36] .label {\n color: #000 !important;\n}\n[data-v-3ae83b36] .van-field__control:disabled {\n color: #000 !important;\n cursor: not-allowed;\n opacity: 1;\n -webkit-text-fill-color: #000;\n}")();
|
|
17810
17811
|
const _sfc_main$r = {
|
|
17811
17812
|
__name: "SinglePicker",
|
|
@@ -21635,8 +21636,8 @@ const _sfc_main$4 = {
|
|
|
21635
21636
|
}
|
|
21636
21637
|
};
|
|
21637
21638
|
var TreePicker = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-ebc14630"]]);
|
|
21638
|
-
var CascaderPop_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.cascader-pop[data-v-
|
|
21639
|
-
const _withScopeId = (n) => (pushScopeId("data-v-
|
|
21639
|
+
var CascaderPop_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.cascader-pop[data-v-0a051cd5] {\r\n width: 100%;\r\n overflow: hidden;\n}\n.cascader-selector[data-v-0a051cd5] {\r\n padding: 10px;\n}\n.search-buttons[data-v-0a051cd5] {\r\n display: flex;\r\n gap: 10px;\n}\n.clear-btn[data-v-0a051cd5] {\r\n background-color: #f2f3f5;\r\n border: none;\r\n border-radius: 4px;\r\n padding: 4px 8px;\r\n font-size: 14px;\n}\n.confirm-btn[data-v-0a051cd5] {\r\n background-color: #1989fa;\r\n color: white;\r\n border: none;\r\n border-radius: 4px;\r\n padding: 4px 8px;\r\n font-size: 14px;\n}\n.no-results[data-v-0a051cd5] {\r\n text-align: center;\r\n padding: 20px;\r\n color: #969799;\n}\n.cascader-header[data-v-0a051cd5] {\r\n padding: 10px;\r\n border-bottom: 1px solid #ebedf0;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\n}\n.current-path[data-v-0a051cd5] {\r\n flex: 1;\r\n font-size: 14px;\r\n margin-left: 5px;\r\n color: #323233;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\n}\n.header-right[data-v-0a051cd5] {\r\n display: flex;\r\n gap: 8px;\r\n margin-left: auto;\n}\n.cancel-btn[data-v-0a051cd5] {\r\n color: #969799;\r\n margin-right: 5px;\n}\n.scroll-container[data-v-0a051cd5] {\r\n height: calc(80vh - 150px);\r\n overflow-y: auto;\n}\n.cell-content[data-v-0a051cd5] {\r\n display: flex;\r\n align-items: center;\r\n gap: 12px;\n}\n.circle-selector[data-v-0a051cd5] {\r\n width: 20px;\r\n height: 20px;\r\n border-radius: 50%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n transition: all 0.2s;\r\n flex-shrink: 0;\n}\n.circle-selector.selected[data-v-0a051cd5] {\r\n background-color: #1989fa;\r\n border-color: #1989fa;\n}\n.circle-selector.selected .van-icon[data-v-0a051cd5] {\r\n color: white;\r\n font-size: 14px;\n}\n.van-cell__right-icon[data-v-0a051cd5] {\r\n color: #969799;\r\n font-size: 16px;\r\n margin-left: 8px;\n}\n.name[data-v-0a051cd5] {\r\n flex: 1;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\n}\n.cancel-btn[data-v-0a051cd5] {\r\n color: #969799;\n}\n.search-field[data-v-0a051cd5] {\r\n background: #fff;\r\n padding: 10px 16px;\r\n border-bottom: 1px solid #ebedf0;\r\n position: sticky;\r\n top: 0;\r\n z-index: 999;\r\n margin-bottom: 10px;\r\n flex-shrink: 0;\r\n /* \u9632\u6B62\u538B\u7F29 */\n}\r\n")();
|
|
21640
|
+
const _withScopeId = (n) => (pushScopeId("data-v-0a051cd5"), n = n(), popScopeId(), n);
|
|
21640
21641
|
const _hoisted_1$3 = {
|
|
21641
21642
|
class: "cascader-selector"
|
|
21642
21643
|
};
|
|
@@ -21780,22 +21781,31 @@ const _sfc_main$3 = {
|
|
|
21780
21781
|
const ids2nodes2 = () => __async(this, null, function* () {
|
|
21781
21782
|
if (!data2.selectedNodeIds || data2.selectedNodeIds.length < 1)
|
|
21782
21783
|
return [];
|
|
21783
|
-
let
|
|
21784
|
+
let ids = data2.selectedNodeIds;
|
|
21785
|
+
let res = [];
|
|
21786
|
+
let receivedNodes = [];
|
|
21787
|
+
for (var i = 0; i < ids.length; i++) {
|
|
21788
|
+
let nodeId = ids[i];
|
|
21789
|
+
let selectNode = null;
|
|
21790
|
+
selectNode = util.findNode(nodeId, receivedNodes);
|
|
21791
|
+
if (selectNode) {
|
|
21792
|
+
res = [...res, selectNode];
|
|
21793
|
+
continue;
|
|
21794
|
+
}
|
|
21784
21795
|
let params = {};
|
|
21785
21796
|
params.id = nodeId;
|
|
21786
21797
|
params.isReturnParent = true;
|
|
21787
|
-
params.hasChildren =
|
|
21798
|
+
params.hasChildren = true;
|
|
21788
21799
|
params.hasPaths = true;
|
|
21789
21800
|
params.hasUsers = true;
|
|
21790
|
-
let selectNode = null;
|
|
21791
21801
|
yield props2.idQueryNode(params, (node) => {
|
|
21792
|
-
|
|
21793
|
-
selectNode = util.findNode(nodeId,
|
|
21802
|
+
receivedNodes = [...receivedNodes, ...node.children || []];
|
|
21803
|
+
selectNode = util.findNode(nodeId, receivedNodes);
|
|
21794
21804
|
});
|
|
21795
|
-
|
|
21796
|
-
|
|
21797
|
-
|
|
21798
|
-
return
|
|
21805
|
+
if (selectNode)
|
|
21806
|
+
res = [...res, selectNode];
|
|
21807
|
+
}
|
|
21808
|
+
return res;
|
|
21799
21809
|
});
|
|
21800
21810
|
const onSubmit2 = () => __async(this, null, function* () {
|
|
21801
21811
|
if (!data2.selectedNodeIds || data2.selectedNodeIds.length < 1) {
|
|
@@ -21964,7 +21974,7 @@ const _sfc_main$3 = {
|
|
|
21964
21974
|
};
|
|
21965
21975
|
}
|
|
21966
21976
|
};
|
|
21967
|
-
var CascaderPop = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-
|
|
21977
|
+
var CascaderPop = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-0a051cd5"]]);
|
|
21968
21978
|
const _hoisted_1$2 = {
|
|
21969
21979
|
style: {
|
|
21970
21980
|
"display": "flex",
|
|
@@ -22081,9 +22091,9 @@ const _sfc_main$2 = {
|
|
|
22081
22091
|
}
|
|
22082
22092
|
let params = {};
|
|
22083
22093
|
params.id = nodeId;
|
|
22084
|
-
params.isReturnParent =
|
|
22085
|
-
params.hasChildren =
|
|
22086
|
-
params.hasPaths =
|
|
22094
|
+
params.isReturnParent = true;
|
|
22095
|
+
params.hasChildren = true;
|
|
22096
|
+
params.hasPaths = true;
|
|
22087
22097
|
params.hasUsers = true;
|
|
22088
22098
|
yield props2.idQueryNode(params, (node) => {
|
|
22089
22099
|
receivedNodes = [...receivedNodes, ...node.children || []];
|
|
@@ -22104,6 +22114,10 @@ const _sfc_main$2 = {
|
|
|
22104
22114
|
data2.selectedNodeIds = [];
|
|
22105
22115
|
}
|
|
22106
22116
|
data2.selectedNodes = yield ids2nodes2();
|
|
22117
|
+
if (!props2.multiple)
|
|
22118
|
+
emit2("select", data2.selectedNodes[0]);
|
|
22119
|
+
else
|
|
22120
|
+
emit2("select", data2.selectedNodes);
|
|
22107
22121
|
}), {
|
|
22108
22122
|
immediate: true
|
|
22109
22123
|
});
|
package/build/widget.qw.umd.js
CHANGED
|
@@ -17641,7 +17641,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
17641
17641
|
});
|
|
17642
17642
|
}
|
|
17643
17643
|
}
|
|
17644
|
-
var Input_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "[data-v-
|
|
17644
|
+
var Input_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "[data-v-fcba0e18] .label {\n color: #000 !important;\n}\n[data-v-fcba0e18] .van-field__control:disabled {\n color: #000 !important;\n cursor: not-allowed;\n opacity: 1;\n -webkit-text-fill-color: #000;\n}")();
|
|
17645
17645
|
const _hoisted_1$i = {
|
|
17646
17646
|
style: {
|
|
17647
17647
|
"display": "flex",
|
|
@@ -17761,10 +17761,11 @@ var __async = (__this, __arguments, generator) => {
|
|
|
17761
17761
|
autosize: props.autosize,
|
|
17762
17762
|
rules: vue.unref(rules)
|
|
17763
17763
|
}, {
|
|
17764
|
-
button: vue.withCtx(() => [vue.
|
|
17764
|
+
button: vue.withCtx(() => [!vue.unref(isGone) && !vue.unref(isReadonly) && !vue.unref(isDisabled) ? (vue.openBlock(), vue.createBlock(_component_van_icon, {
|
|
17765
|
+
key: 0,
|
|
17765
17766
|
name: "plus",
|
|
17766
17767
|
onClick: onCalc
|
|
17767
|
-
})]),
|
|
17768
|
+
})) : vue.createCommentVNode("", true)]),
|
|
17768
17769
|
_: 1
|
|
17769
17770
|
}, 8, ["label", "modelValue", "disabled", "required", "placeholder", "type", "rows", "autosize", "rules"])) : vue.createCommentVNode("", true), vue.createVNode(_component_van_popup, {
|
|
17770
17771
|
show: data.isShowPop,
|
|
@@ -17808,7 +17809,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
17808
17809
|
};
|
|
17809
17810
|
}
|
|
17810
17811
|
};
|
|
17811
|
-
var Input = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-
|
|
17812
|
+
var Input = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-fcba0e18"]]);
|
|
17812
17813
|
var SinglePicker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "[data-v-3ae83b36] .label {\n color: #000 !important;\n}\n[data-v-3ae83b36] .van-field__control:disabled {\n color: #000 !important;\n cursor: not-allowed;\n opacity: 1;\n -webkit-text-fill-color: #000;\n}")();
|
|
17813
17814
|
const _sfc_main$r = {
|
|
17814
17815
|
__name: "SinglePicker",
|
|
@@ -21638,8 +21639,8 @@ var __async = (__this, __arguments, generator) => {
|
|
|
21638
21639
|
}
|
|
21639
21640
|
};
|
|
21640
21641
|
var TreePicker = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-ebc14630"]]);
|
|
21641
|
-
var CascaderPop_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.cascader-pop[data-v-
|
|
21642
|
-
const _withScopeId = (n) => (vue.pushScopeId("data-v-
|
|
21642
|
+
var CascaderPop_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.cascader-pop[data-v-0a051cd5] {\r\n width: 100%;\r\n overflow: hidden;\n}\n.cascader-selector[data-v-0a051cd5] {\r\n padding: 10px;\n}\n.search-buttons[data-v-0a051cd5] {\r\n display: flex;\r\n gap: 10px;\n}\n.clear-btn[data-v-0a051cd5] {\r\n background-color: #f2f3f5;\r\n border: none;\r\n border-radius: 4px;\r\n padding: 4px 8px;\r\n font-size: 14px;\n}\n.confirm-btn[data-v-0a051cd5] {\r\n background-color: #1989fa;\r\n color: white;\r\n border: none;\r\n border-radius: 4px;\r\n padding: 4px 8px;\r\n font-size: 14px;\n}\n.no-results[data-v-0a051cd5] {\r\n text-align: center;\r\n padding: 20px;\r\n color: #969799;\n}\n.cascader-header[data-v-0a051cd5] {\r\n padding: 10px;\r\n border-bottom: 1px solid #ebedf0;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\n}\n.current-path[data-v-0a051cd5] {\r\n flex: 1;\r\n font-size: 14px;\r\n margin-left: 5px;\r\n color: #323233;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\n}\n.header-right[data-v-0a051cd5] {\r\n display: flex;\r\n gap: 8px;\r\n margin-left: auto;\n}\n.cancel-btn[data-v-0a051cd5] {\r\n color: #969799;\r\n margin-right: 5px;\n}\n.scroll-container[data-v-0a051cd5] {\r\n height: calc(80vh - 150px);\r\n overflow-y: auto;\n}\n.cell-content[data-v-0a051cd5] {\r\n display: flex;\r\n align-items: center;\r\n gap: 12px;\n}\n.circle-selector[data-v-0a051cd5] {\r\n width: 20px;\r\n height: 20px;\r\n border-radius: 50%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n transition: all 0.2s;\r\n flex-shrink: 0;\n}\n.circle-selector.selected[data-v-0a051cd5] {\r\n background-color: #1989fa;\r\n border-color: #1989fa;\n}\n.circle-selector.selected .van-icon[data-v-0a051cd5] {\r\n color: white;\r\n font-size: 14px;\n}\n.van-cell__right-icon[data-v-0a051cd5] {\r\n color: #969799;\r\n font-size: 16px;\r\n margin-left: 8px;\n}\n.name[data-v-0a051cd5] {\r\n flex: 1;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\n}\n.cancel-btn[data-v-0a051cd5] {\r\n color: #969799;\n}\n.search-field[data-v-0a051cd5] {\r\n background: #fff;\r\n padding: 10px 16px;\r\n border-bottom: 1px solid #ebedf0;\r\n position: sticky;\r\n top: 0;\r\n z-index: 999;\r\n margin-bottom: 10px;\r\n flex-shrink: 0;\r\n /* \u9632\u6B62\u538B\u7F29 */\n}\r\n")();
|
|
21643
|
+
const _withScopeId = (n) => (vue.pushScopeId("data-v-0a051cd5"), n = n(), vue.popScopeId(), n);
|
|
21643
21644
|
const _hoisted_1$3 = {
|
|
21644
21645
|
class: "cascader-selector"
|
|
21645
21646
|
};
|
|
@@ -21783,22 +21784,31 @@ var __async = (__this, __arguments, generator) => {
|
|
|
21783
21784
|
const ids2nodes2 = () => __async(this, null, function* () {
|
|
21784
21785
|
if (!data2.selectedNodeIds || data2.selectedNodeIds.length < 1)
|
|
21785
21786
|
return [];
|
|
21786
|
-
let
|
|
21787
|
+
let ids = data2.selectedNodeIds;
|
|
21788
|
+
let res = [];
|
|
21789
|
+
let receivedNodes = [];
|
|
21790
|
+
for (var i = 0; i < ids.length; i++) {
|
|
21791
|
+
let nodeId = ids[i];
|
|
21792
|
+
let selectNode = null;
|
|
21793
|
+
selectNode = util.findNode(nodeId, receivedNodes);
|
|
21794
|
+
if (selectNode) {
|
|
21795
|
+
res = [...res, selectNode];
|
|
21796
|
+
continue;
|
|
21797
|
+
}
|
|
21787
21798
|
let params = {};
|
|
21788
21799
|
params.id = nodeId;
|
|
21789
21800
|
params.isReturnParent = true;
|
|
21790
|
-
params.hasChildren =
|
|
21801
|
+
params.hasChildren = true;
|
|
21791
21802
|
params.hasPaths = true;
|
|
21792
21803
|
params.hasUsers = true;
|
|
21793
|
-
let selectNode = null;
|
|
21794
21804
|
yield props2.idQueryNode(params, (node) => {
|
|
21795
|
-
|
|
21796
|
-
selectNode = util.findNode(nodeId,
|
|
21805
|
+
receivedNodes = [...receivedNodes, ...node.children || []];
|
|
21806
|
+
selectNode = util.findNode(nodeId, receivedNodes);
|
|
21797
21807
|
});
|
|
21798
|
-
|
|
21799
|
-
|
|
21800
|
-
|
|
21801
|
-
return
|
|
21808
|
+
if (selectNode)
|
|
21809
|
+
res = [...res, selectNode];
|
|
21810
|
+
}
|
|
21811
|
+
return res;
|
|
21802
21812
|
});
|
|
21803
21813
|
const onSubmit2 = () => __async(this, null, function* () {
|
|
21804
21814
|
if (!data2.selectedNodeIds || data2.selectedNodeIds.length < 1) {
|
|
@@ -21967,7 +21977,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
21967
21977
|
};
|
|
21968
21978
|
}
|
|
21969
21979
|
};
|
|
21970
|
-
var CascaderPop = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-
|
|
21980
|
+
var CascaderPop = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-0a051cd5"]]);
|
|
21971
21981
|
const _hoisted_1$2 = {
|
|
21972
21982
|
style: {
|
|
21973
21983
|
"display": "flex",
|
|
@@ -22084,9 +22094,9 @@ var __async = (__this, __arguments, generator) => {
|
|
|
22084
22094
|
}
|
|
22085
22095
|
let params = {};
|
|
22086
22096
|
params.id = nodeId;
|
|
22087
|
-
params.isReturnParent =
|
|
22088
|
-
params.hasChildren =
|
|
22089
|
-
params.hasPaths =
|
|
22097
|
+
params.isReturnParent = true;
|
|
22098
|
+
params.hasChildren = true;
|
|
22099
|
+
params.hasPaths = true;
|
|
22090
22100
|
params.hasUsers = true;
|
|
22091
22101
|
yield props2.idQueryNode(params, (node) => {
|
|
22092
22102
|
receivedNodes = [...receivedNodes, ...node.children || []];
|
|
@@ -22107,6 +22117,10 @@ var __async = (__this, __arguments, generator) => {
|
|
|
22107
22117
|
data2.selectedNodeIds = [];
|
|
22108
22118
|
}
|
|
22109
22119
|
data2.selectedNodes = yield ids2nodes2();
|
|
22120
|
+
if (!props2.multiple)
|
|
22121
|
+
emit2("select", data2.selectedNodes[0]);
|
|
22122
|
+
else
|
|
22123
|
+
emit2("select", data2.selectedNodes);
|
|
22110
22124
|
}), {
|
|
22111
22125
|
immediate: true
|
|
22112
22126
|
});
|
package/package.json
CHANGED
|
@@ -74,6 +74,8 @@ const props = defineProps({
|
|
|
74
74
|
const data = reactive({
|
|
75
75
|
isShowPop: false,
|
|
76
76
|
selectedNodes: [],
|
|
77
|
+
//1)单选时,记录选中的临时节点id
|
|
78
|
+
//2)多选时,记录选中的临时节点id列表
|
|
77
79
|
selectedNodeIds: null
|
|
78
80
|
})
|
|
79
81
|
|
|
@@ -145,9 +147,9 @@ const ids2nodes = async () => {
|
|
|
145
147
|
|
|
146
148
|
let params = {}
|
|
147
149
|
params.id = nodeId
|
|
148
|
-
params.isReturnParent =
|
|
149
|
-
params.hasChildren =
|
|
150
|
-
params.hasPaths =
|
|
150
|
+
params.isReturnParent = true
|
|
151
|
+
params.hasChildren = true
|
|
152
|
+
params.hasPaths = true
|
|
151
153
|
params.hasUsers = true
|
|
152
154
|
|
|
153
155
|
await props.idQueryNode(params, (node) => {
|
|
@@ -173,7 +175,13 @@ watch(() => JSON.stringify(modelValue.value), async (n, o) => {
|
|
|
173
175
|
data.selectedNodeIds = []
|
|
174
176
|
}
|
|
175
177
|
|
|
178
|
+
//记录选中的节点对象列表
|
|
179
|
+
//单选时,数组只含一个元素
|
|
176
180
|
data.selectedNodes = await ids2nodes()
|
|
181
|
+
if(!props.multiple)
|
|
182
|
+
emit('select', data.selectedNodes[0])
|
|
183
|
+
else
|
|
184
|
+
emit('select', data.selectedNodes)
|
|
177
185
|
}, {
|
|
178
186
|
immediate: true
|
|
179
187
|
})
|
|
@@ -185,27 +185,45 @@ const ids2nodes = async () => {
|
|
|
185
185
|
if (!data.selectedNodeIds || data.selectedNodeIds.length < 1)
|
|
186
186
|
return []
|
|
187
187
|
|
|
188
|
-
let
|
|
188
|
+
let ids = data.selectedNodeIds
|
|
189
|
+
|
|
190
|
+
let res = []
|
|
191
|
+
|
|
192
|
+
//记录网络请求接收到的所有用户列表
|
|
193
|
+
let receivedNodes = []
|
|
194
|
+
for (var i = 0; i < ids.length; i++) {
|
|
195
|
+
let nodeId = ids[i]
|
|
196
|
+
|
|
197
|
+
let selectNode = null
|
|
198
|
+
|
|
199
|
+
//现在历史用户列表中查找
|
|
200
|
+
//找不到再发网络请求
|
|
201
|
+
selectNode = util.findNode(nodeId, receivedNodes)
|
|
202
|
+
if (selectNode){
|
|
203
|
+
res = [...res, selectNode]
|
|
204
|
+
continue
|
|
205
|
+
}
|
|
206
|
+
|
|
189
207
|
let params = {}
|
|
190
208
|
params.id = nodeId
|
|
191
209
|
params.isReturnParent = true
|
|
192
|
-
params.hasChildren =
|
|
210
|
+
params.hasChildren = true
|
|
193
211
|
params.hasPaths = true
|
|
194
212
|
params.hasUsers = true
|
|
195
213
|
|
|
196
|
-
let selectNode = null
|
|
197
214
|
await props.idQueryNode(params, (node) => {
|
|
198
|
-
|
|
199
|
-
selectNode = util.findNode(nodeId,
|
|
215
|
+
receivedNodes = [...receivedNodes, ...(node.children || [])]
|
|
216
|
+
selectNode = util.findNode(nodeId, receivedNodes)
|
|
200
217
|
})
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
218
|
+
|
|
219
|
+
if (selectNode)
|
|
220
|
+
res = [...res, selectNode]
|
|
221
|
+
}
|
|
205
222
|
|
|
206
|
-
return
|
|
223
|
+
return res
|
|
207
224
|
}
|
|
208
225
|
|
|
226
|
+
|
|
209
227
|
// 确认按钮
|
|
210
228
|
const onSubmit = async () => {
|
|
211
229
|
if (!data.selectedNodeIds || data.selectedNodeIds.length < 1) {
|
package/src/components/Input.vue
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
:rows="props.rows" :autosize="props.autosize" :rules="rules">
|
|
6
6
|
<!-- 右侧插槽按钮 -->
|
|
7
7
|
<template #button>
|
|
8
|
-
<van-icon name="plus" @click="onCalc" />
|
|
8
|
+
<van-icon v-if="!isGone && !isReadonly && !isDisabled" name="plus" @click="onCalc" />
|
|
9
9
|
</template>
|
|
10
10
|
</van-field>
|
|
11
11
|
<van-popup v-model:show="data.isShowPop" position="bottom" round style="padding: 25px 15px;">
|
|
Binary file
|
|
Binary file
|