china-mobile-international-custom-components 0.0.32 → 0.0.34

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.
@@ -1,290 +0,0 @@
1
- import { w as B } from "./index.bCzIhWFw.js";
2
- import { computed as u, createElementBlock as b, createCommentVNode as v, openBlock as i, Fragment as M, createElementVNode as E, toDisplayString as g, normalizeClass as I, createBlock as R, renderList as k, unref as p, withCtx as x, ref as C, watch as z, onMounted as F, createVNode as $, createTextVNode as O, nextTick as _ } from "vue";
3
- import { ElPopover as U, ElButton as Y } from "element-plus";
4
- import { _ as q } from "./_plugin-vue_export-helper.CHgC5LLL.js";
5
- import '../assets/index2.css';const A = {
6
- ALL: !0,
7
- PARTIAL: !1
8
- }, G = [
9
- {
10
- value: A.ALL,
11
- label: "全部成员"
12
- },
13
- {
14
- value: A.PARTIAL,
15
- label: "部分成员"
16
- }
17
- ], m = {
18
- MEMBER: 1,
19
- DEPARTMENT: 2
20
- }, ne = {
21
- label: "memberName",
22
- children: "children",
23
- value: "memberId"
24
- }, D = {
25
- one: 1,
26
- two: 2
27
- }, H = {
28
- key: 0,
29
- class: "pd-l-16 text-dee0e3 pd-r-16"
30
- }, W = { class: "fz-14 text-646a73 nowrap" }, j = { class: "tag-item nowrap fz-12 pd-l-8 pd-r-8 radius-4 bg-eaf0fe text-3271fe pointer" }, J = { class: "tag-list-popover overflow-y-auto flex gap-4 flex-wrap" }, K = {
31
- __name: "TagList",
32
- props: {
33
- // 显示的标签
34
- label: {
35
- type: String,
36
- required: !0
37
- },
38
- // 数据项列表
39
- items: {
40
- type: Array,
41
- default: () => []
42
- },
43
- // 默认显示的数量
44
- defaultShowCount: {
45
- type: Number,
46
- default: D.one
47
- },
48
- // 是否为只读模式
49
- readonly: {
50
- type: Boolean,
51
- default: !1
52
- }
53
- },
54
- setup(e) {
55
- const t = e, n = u(() => t.readonly ? t.items : t.items.slice(0, t.defaultShowCount)), d = u(() => t.items.length > t.defaultShowCount), f = u(() => t.items.length - t.defaultShowCount), h = u(() => t.items.slice(t.defaultShowCount));
56
- return (a, o) => e.items.length > 0 ? (i(), b(M, { key: 0 }, [
57
- e.readonly ? v("", !0) : (i(), b("span", H, "|")),
58
- E("span", W, g(e.label), 1),
59
- E("div", {
60
- class: I(["tag-list", { "flex items-center gap-4": !e.readonly }])
61
- }, [
62
- (i(!0), b(M, null, k(n.value, (s) => (i(), b("div", {
63
- key: s.memberId,
64
- class: I(["tag-item fz-12 pd-l-8 pd-r-8 radius-4 bg-eaf0fe text-3271fe", { "mg-r-4 mg-b-4": e.readonly }])
65
- }, g(s.memberName), 3))), 128)),
66
- !e.readonly && d.value ? (i(), R(p(U), {
67
- key: 0,
68
- placement: "top",
69
- trigger: "click",
70
- width: "300"
71
- }, {
72
- reference: x(() => [
73
- E("span", j, " +" + g(f.value), 1)
74
- ]),
75
- default: x(() => [
76
- E("div", J, [
77
- (i(!0), b(M, null, k(h.value, (s) => (i(), b("span", {
78
- key: s.memberId,
79
- class: "tag-item nowrap fz-12 pd-l-8 pd-r-8 radius-4 bg-eaf0fe text-3271fe"
80
- }, g(s.memberName), 1))), 128))
81
- ])
82
- ]),
83
- _: 1
84
- })) : v("", !0)
85
- ], 2)
86
- ], 64)) : v("", !0);
87
- }
88
- }, N = /* @__PURE__ */ q(K, [["__scopeId", "data-v-bf564085"]]), L = (e, t) => e?.filter(t) || [], w = (e, t) => L(e, (n) => n.memberType === t), S = (e, t) => {
89
- if (e.children)
90
- for (const n of e.children)
91
- n.memberType === m.MEMBER ? t(n) : n.memberType === m.DEPARTMENT && S(n, t);
92
- }, P = (e) => {
93
- const t = [];
94
- return S(e, (n) => t.push(n.memberId)), t;
95
- };
96
- function Q(e, t, n = !1) {
97
- const d = u(() => {
98
- if (!e.value) return [];
99
- const a = [...e.value], o = w(
100
- a,
101
- m.DEPARTMENT
102
- );
103
- if (o.length > 0 && t.value && t.value.length > 0) {
104
- const s = /* @__PURE__ */ new Set();
105
- o.forEach((r) => {
106
- const c = (y) => {
107
- for (const T of y) {
108
- if (T.memberType === m.DEPARTMENT && T.memberId === r.memberId)
109
- return S(
110
- T,
111
- (V) => s.add(V)
112
- ), !0;
113
- if (T.children && c(T.children))
114
- return !0;
115
- }
116
- return !1;
117
- };
118
- c(t.value);
119
- });
120
- const l = new Set(
121
- w(a, m.MEMBER).map(
122
- (r) => r.memberId
123
- )
124
- );
125
- s.forEach((r) => {
126
- l.has(r.memberId) || a.push(r);
127
- });
128
- }
129
- return a;
130
- }), f = u(() => {
131
- if (n)
132
- return w(
133
- d.value,
134
- m.MEMBER
135
- );
136
- {
137
- const a = /* @__PURE__ */ new Set();
138
- return h.value.forEach((o) => {
139
- P(o).forEach((l) => a.add(l));
140
- }), L(
141
- d.value,
142
- (o) => o.memberType === m.MEMBER && !a.has(o.memberId)
143
- );
144
- }
145
- }), h = u(() => {
146
- if (n)
147
- return w(
148
- d.value,
149
- m.DEPARTMENT
150
- );
151
- {
152
- const a = [], o = (l) => {
153
- if (!l.children || l.children.length === 0) return !1;
154
- const r = P(l);
155
- return r.length === 0 ? !1 : r.every(
156
- (c) => d.value.some(
157
- (y) => y.memberType === m.MEMBER && y.memberId === c
158
- )
159
- );
160
- }, s = (l, r = !1) => {
161
- if (l.memberType === m.DEPARTMENT) {
162
- const c = o(l);
163
- if (c && !r) {
164
- if (a.push({
165
- memberId: l.memberId,
166
- memberName: l.memberName,
167
- memberType: m.DEPARTMENT,
168
- children: l.children
169
- }), l.children)
170
- for (const y of l.children)
171
- s(y, !0);
172
- } else if (!c && l.children)
173
- for (const y of l.children)
174
- s(y, !1);
175
- }
176
- };
177
- for (const l of t.value)
178
- s(l, !1);
179
- return a;
180
- }
181
- });
182
- return {
183
- selectedMembers: f,
184
- selectedDepartments: h
185
- };
186
- }
187
- const X = { class: "fz-14 text-1f2329" }, Z = {
188
- __name: "layout",
189
- props: {
190
- // 当前选择的范围类型(是否全部可见)
191
- allVisible: {
192
- type: Boolean,
193
- default: A.ALL
194
- },
195
- // 选中的项目列表(完整对象数组,由父组件根据ID从树中查找得到)
196
- modelValue: {
197
- type: Array,
198
- default: () => []
199
- },
200
- // 完整的树形数据(用于判断部门成员是否全部选中)
201
- treeList: {
202
- type: Array,
203
- default: () => []
204
- },
205
- // 是否为只读模式
206
- readonly: {
207
- type: Boolean,
208
- default: !1
209
- }
210
- },
211
- setup(e, { expose: t }) {
212
- const n = C(null), d = () => {
213
- n.value && _(() => {
214
- n.value.scrollIntoView({
215
- behavior: "smooth",
216
- block: "center"
217
- });
218
- });
219
- }, f = e, { selectedMembers: h, selectedDepartments: a } = Q(
220
- u(() => f.modelValue),
221
- u(() => f.treeList),
222
- f.readonly
223
- ), o = u(() => {
224
- const l = h.value.length > 0, r = a.value.length > 0;
225
- return l && !r || !l && r ? D.two : D.one;
226
- }), s = u(() => [...h.value, ...a.value]);
227
- return z(
228
- () => [f.allVisible, f.modelValue],
229
- () => {
230
- d();
231
- },
232
- { immediate: !1, deep: !0 }
233
- ), F(() => {
234
- d();
235
- }), t({
236
- allSelectedItems: s
237
- }), (l, r) => (i(), b("div", {
238
- ref_key: "previewRef",
239
- ref: n,
240
- class: I(["available-range-preview w-full overflow-hidden", {
241
- "flex items-center": !e.readonly
242
- }])
243
- }, [
244
- e.readonly ? v("", !0) : (i(), b(M, { key: 0 }, [
245
- r[2] || (r[2] = E("div", { class: "text-1f2329" }, "可用范围:", -1)),
246
- E("span", X, g(p(G).find((c) => c.value === e.allVisible)?.label), 1),
247
- $(p(Y), {
248
- class: "mg-l-16",
249
- type: "primary",
250
- link: "",
251
- onClick: r[0] || (r[0] = (c) => l.$emit("edit"))
252
- }, {
253
- default: x(() => [...r[1] || (r[1] = [
254
- O(" 编辑 ", -1)
255
- ])]),
256
- _: 1
257
- })
258
- ], 64)),
259
- e.allVisible === p(A).PARTIAL ? (i(), b("div", {
260
- key: 1,
261
- class: I(["flex-1 overflow-hidden", { "flex items-center": !e.readonly }])
262
- }, [
263
- p(h)?.length ? (i(), R(N, {
264
- key: 0,
265
- label: "成员:",
266
- items: p(h),
267
- "default-show-count": o.value,
268
- readonly: e.readonly
269
- }, null, 8, ["items", "default-show-count", "readonly"])) : v("", !0),
270
- p(a)?.length ? (i(), R(N, {
271
- key: 1,
272
- label: "部门:",
273
- items: p(a),
274
- "default-show-count": o.value,
275
- readonly: e.readonly
276
- }, null, 8, ["items", "default-show-count", "readonly"])) : v("", !0)
277
- ], 2)) : v("", !0)
278
- ], 2));
279
- }
280
- }, ae = B(Z), se = B(N);
281
- export {
282
- ae as A,
283
- D,
284
- m as M,
285
- A as R,
286
- se as T,
287
- ne as a,
288
- G as r,
289
- Q as u
290
- };
@@ -1 +0,0 @@
1
- "use strict";require('../assets/index2.css');const k=require("./index.CkihWzK6.js"),e=require("vue"),w=require("element-plus"),R=require("./_plugin-vue_export-helper.BHFhmbuH.js"),E={ALL:!0,PARTIAL:!1},B=[{value:E.ALL,label:"全部成员"},{value:E.PARTIAL,label:"部分成员"}],m={MEMBER:1,DEPARTMENT:2},S={label:"memberName",children:"children",value:"memberId"},y={one:1,two:2},A={key:0,class:"pd-l-16 text-dee0e3 pd-r-16"},D={class:"fz-14 text-646a73 nowrap"},V={class:"tag-item nowrap fz-12 pd-l-8 pd-r-8 radius-4 bg-eaf0fe text-3271fe pointer"},x={class:"tag-list-popover overflow-y-auto flex gap-4 flex-wrap"},C={__name:"TagList",props:{label:{type:String,required:!0},items:{type:Array,default:()=>[]},defaultShowCount:{type:Number,default:y.one},readonly:{type:Boolean,default:!1}},setup(t){const l=t,a=e.computed(()=>l.readonly?l.items:l.items.slice(0,l.defaultShowCount)),u=e.computed(()=>l.items.length>l.defaultShowCount),d=e.computed(()=>l.items.length-l.defaultShowCount),f=e.computed(()=>l.items.slice(l.defaultShowCount));return(o,c)=>t.items.length>0?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[t.readonly?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",A,"|")),e.createElementVNode("span",D,e.toDisplayString(t.label),1),e.createElementVNode("div",{class:e.normalizeClass(["tag-list",{"flex items-center gap-4":!t.readonly}])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,s=>(e.openBlock(),e.createElementBlock("div",{key:s.memberId,class:e.normalizeClass(["tag-item fz-12 pd-l-8 pd-r-8 radius-4 bg-eaf0fe text-3271fe",{"mg-r-4 mg-b-4":t.readonly}])},e.toDisplayString(s.memberName),3))),128)),!t.readonly&&u.value?(e.openBlock(),e.createBlock(e.unref(w.ElPopover),{key:0,placement:"top",trigger:"click",width:"300"},{reference:e.withCtx(()=>[e.createElementVNode("span",V," +"+e.toDisplayString(d.value),1)]),default:e.withCtx(()=>[e.createElementVNode("div",x,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,s=>(e.openBlock(),e.createElementBlock("span",{key:s.memberId,class:"tag-item nowrap fz-12 pd-l-8 pd-r-8 radius-4 bg-eaf0fe text-3271fe"},e.toDisplayString(s.memberName),1))),128))])]),_:1})):e.createCommentVNode("",!0)],2)],64)):e.createCommentVNode("",!0)}},v=R._export_sfc(C,[["__scopeId","data-v-bf564085"]]),M=(t,l)=>t?.filter(l)||[],b=(t,l)=>M(t,a=>a.memberType===l),g=(t,l)=>{if(t.children)for(const a of t.children)a.memberType===m.MEMBER?l(a):a.memberType===m.DEPARTMENT&&g(a,l)},T=t=>{const l=[];return g(t,a=>l.push(a.memberId)),l};function N(t,l,a=!1){const u=e.computed(()=>{if(!t.value)return[];const o=[...t.value],c=b(o,m.DEPARTMENT);if(c.length>0&&l.value&&l.value.length>0){const s=new Set;c.forEach(r=>{const i=p=>{for(const h of p){if(h.memberType===m.DEPARTMENT&&h.memberId===r.memberId)return g(h,I=>s.add(I)),!0;if(h.children&&i(h.children))return!0}return!1};i(l.value)});const n=new Set(b(o,m.MEMBER).map(r=>r.memberId));s.forEach(r=>{n.has(r.memberId)||o.push(r)})}return o}),d=e.computed(()=>{if(a)return b(u.value,m.MEMBER);{const o=new Set;return f.value.forEach(c=>{T(c).forEach(n=>o.add(n))}),M(u.value,c=>c.memberType===m.MEMBER&&!o.has(c.memberId))}}),f=e.computed(()=>{if(a)return b(u.value,m.DEPARTMENT);{const o=[],c=n=>{if(!n.children||n.children.length===0)return!1;const r=T(n);return r.length===0?!1:r.every(i=>u.value.some(p=>p.memberType===m.MEMBER&&p.memberId===i))},s=(n,r=!1)=>{if(n.memberType===m.DEPARTMENT){const i=c(n);if(i&&!r){if(o.push({memberId:n.memberId,memberName:n.memberName,memberType:m.DEPARTMENT,children:n.children}),n.children)for(const p of n.children)s(p,!0)}else if(!i&&n.children)for(const p of n.children)s(p,!1)}};for(const n of l.value)s(n,!1);return o}});return{selectedMembers:d,selectedDepartments:f}}const P={class:"fz-14 text-1f2329"},L={__name:"layout",props:{allVisible:{type:Boolean,default:E.ALL},modelValue:{type:Array,default:()=>[]},treeList:{type:Array,default:()=>[]},readonly:{type:Boolean,default:!1}},setup(t,{expose:l}){const a=e.ref(null),u=()=>{a.value&&e.nextTick(()=>{a.value.scrollIntoView({behavior:"smooth",block:"center"})})},d=t,{selectedMembers:f,selectedDepartments:o}=N(e.computed(()=>d.modelValue),e.computed(()=>d.treeList),d.readonly),c=e.computed(()=>{const n=f.value.length>0,r=o.value.length>0;return n&&!r||!n&&r?y.two:y.one}),s=e.computed(()=>[...f.value,...o.value]);return e.watch(()=>[d.allVisible,d.modelValue],()=>{u()},{immediate:!1,deep:!0}),e.onMounted(()=>{u()}),l({allSelectedItems:s}),(n,r)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"previewRef",ref:a,class:e.normalizeClass(["available-range-preview w-full overflow-hidden",{"flex items-center":!t.readonly}])},[t.readonly?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[r[2]||(r[2]=e.createElementVNode("div",{class:"text-1f2329"},"可用范围:",-1)),e.createElementVNode("span",P,e.toDisplayString(e.unref(B).find(i=>i.value===t.allVisible)?.label),1),e.createVNode(e.unref(w.ElButton),{class:"mg-l-16",type:"primary",link:"",onClick:r[0]||(r[0]=i=>n.$emit("edit"))},{default:e.withCtx(()=>[...r[1]||(r[1]=[e.createTextVNode(" 编辑 ",-1)])]),_:1})],64)),t.allVisible===e.unref(E).PARTIAL?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["flex-1 overflow-hidden",{"flex items-center":!t.readonly}])},[e.unref(f)?.length?(e.openBlock(),e.createBlock(v,{key:0,label:"成员:",items:e.unref(f),"default-show-count":c.value,readonly:t.readonly},null,8,["items","default-show-count","readonly"])):e.createCommentVNode("",!0),e.unref(o)?.length?(e.openBlock(),e.createBlock(v,{key:1,label:"部门:",items:e.unref(o),"default-show-count":c.value,readonly:t.readonly},null,8,["items","default-show-count","readonly"])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)],2))}},z=k.withInstall(L),F=k.withInstall(v);exports.AvailableRangePreview=z;exports.DEFAULT_SHOW_COUNT=y;exports.MEMBER_DEPARTMENT_TYPES=m;exports.RANGE_TYPES=E;exports.TagList=F;exports.availableRangeTreeProps=S;exports.rangeOptions=B;exports.useSelectionDisplay=N;