widget.qw 1.0.75 → 1.0.76

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.
Files changed (104) hide show
  1. package/.env.development +10 -10
  2. package/.env.production +8 -8
  3. package/README.md +73 -73
  4. package/build/style.css +473 -487
  5. package/build/widget.qw.es.js +1508 -129
  6. package/build/widget.qw.umd.js +1507 -128
  7. package/index.html +17 -17
  8. package/package.json +47 -47
  9. package/src/App.vue +26 -26
  10. package/src/api/index.js +165 -165
  11. package/src/components/AuditBar.vue +396 -396
  12. package/src/components/BillCard.vue +164 -164
  13. package/src/components/CascaderPicker.vue +132 -132
  14. package/src/components/CascaderPop.vue +371 -371
  15. package/src/components/CheckGroup.vue +113 -113
  16. package/src/components/DatetimePicker/DatetimePop.vue +342 -342
  17. package/src/components/DatetimePicker/index.vue +124 -124
  18. package/src/components/DayDropdown.vue +56 -56
  19. package/src/components/FilePicker.vue +145 -145
  20. package/src/components/Input.vue +80 -80
  21. package/src/components/MonthDropdown.vue +51 -51
  22. package/src/components/MultiPicker.vue +123 -123
  23. package/src/components/ObjsEditor.vue +334 -334
  24. package/src/components/SecretNotify.js +5 -5
  25. package/src/components/Sheet.vue +92 -92
  26. package/src/components/SingleApiPicker.vue +108 -108
  27. package/src/components/SinglePicker.vue +102 -102
  28. package/src/components/SingleUserSelector.vue +425 -425
  29. package/src/components/Switch.vue +64 -64
  30. package/src/components/TreePicker.vue +113 -113
  31. package/src/components/UserPicker.vue +106 -106
  32. package/src/components/UserProfile.vue +129 -129
  33. package/src/components/UsersPicker.vue +118 -118
  34. package/src/components/YearDropdown.vue +59 -59
  35. package/src/components/data_selector.vue +303 -303
  36. package/src/components/image_picker.vue +123 -123
  37. package/src/components/images_picker.vue +159 -144
  38. package/src/components/index.js +162 -162
  39. package/src/components/mult_list_selector.vue +155 -155
  40. package/src/components/subdepartment_selector.vue +481 -481
  41. package/src/components/user_selector.vue +639 -639
  42. package/src/components/widget/DataPop.vue +95 -95
  43. package/src/components/widget/TreePop.vue +88 -88
  44. package/src/components/widget/UserPop.vue +347 -347
  45. package/src/env.d.ts +8 -8
  46. package/src/main.js +117 -117
  47. package/src/router/index.ts +173 -173
  48. package/src/util/array_util.js +32 -32
  49. package/src/util/auth_util.js +72 -72
  50. package/src/util/bool_util.js +5 -5
  51. package/src/util/bus.js +1 -1
  52. package/src/util/cache_util.js +18 -18
  53. package/src/util/errer_code.js +6 -6
  54. package/src/util/eval_util.js +19 -19
  55. package/src/util/icon_util.js +36 -36
  56. package/src/util/image_util.js +27 -27
  57. package/src/util/index.js +57 -57
  58. package/src/util/num_util.js +70 -70
  59. package/src/util/obj_util.js +28 -28
  60. package/src/util/request.js +73 -73
  61. package/src/util/request_json.js +71 -71
  62. package/src/util/request_json_mute.js +65 -65
  63. package/src/util/request_upload.js +79 -79
  64. package/src/util/route_util.js +31 -31
  65. package/src/util/str_util.js +143 -143
  66. package/src/util/time_util.js +406 -406
  67. package/src/util/toast_util.js +24 -24
  68. package/src/util/tree_util.js +153 -153
  69. package/src/util/uuid_util.js +9 -9
  70. package/src/util/validate.js +182 -182
  71. package/src/util/vue_filter.js +223 -223
  72. package/src/views/auditbar/index.vue +78 -78
  73. package/src/views/billcard/index.vue +48 -48
  74. package/src/views/cascaderpop/index.vue +90 -90
  75. package/src/views/checkgroup/index.vue +35 -35
  76. package/src/views/dataSelector/index.vue +48 -48
  77. package/src/views/datetimepicker/index.vue +34 -34
  78. package/src/views/daydropdown/index.vue +31 -31
  79. package/src/views/filepicker/index.vue +31 -31
  80. package/src/views/imagepicker/index.vue +31 -31
  81. package/src/views/imagespicker/index.vue +31 -31
  82. package/src/views/input/index.vue +35 -35
  83. package/src/views/monthdropdown/index.vue +31 -31
  84. package/src/views/multListSelector/index.vue +61 -61
  85. package/src/views/multipicker/index.vue +36 -36
  86. package/src/views/objseditor/index.vue +277 -277
  87. package/src/views/productSelector/index.vue +35 -35
  88. package/src/views/projectpicker/index.vue +41 -41
  89. package/src/views/secretnotify/index.vue +27 -27
  90. package/src/views/sheet/index.vue +45 -45
  91. package/src/views/singlepicker/index.vue +35 -35
  92. package/src/views/subdepartmentSelector/index.vue +40 -40
  93. package/src/views/switch/index.vue +34 -34
  94. package/src/views/treepicker/index.vue +41 -41
  95. package/src/views/userSelector/index.vue +54 -54
  96. package/src/views/userSelectorNew/index.vue +45 -45
  97. package/src/views/userpicker/index.vue +43 -43
  98. package/src/views/userprofile/index.vue +30 -30
  99. package/src/views/userspicker/index.vue +43 -43
  100. package/src/views/yeardropdown/index.vue +32 -32
  101. package/src/vm/index.js +1 -1
  102. package/tsconfig.json +19 -19
  103. package/tsconfig.node.json +8 -8
  104. package/vite.config.ts +122 -122
@@ -4,6 +4,7 @@ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
4
  var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
6
  var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __pow = Math.pow;
7
8
  var __defNormalProp = (obj2, key, value) => key in obj2 ? __defProp(obj2, key, { enumerable: true, configurable: true, writable: true, value }) : obj2[key] = value;
8
9
  var __spreadValues = (a, b) => {
9
10
  for (var prop in b || (b = {}))
@@ -37,7 +38,7 @@ var __async = (__this, __arguments, generator) => {
37
38
  step((generator = generator.apply(__this, __arguments)).next());
38
39
  });
39
40
  };
40
- import { computed, onUnmounted, onDeactivated, isRef, watch, onMounted, nextTick, onActivated, unref, ref, reactive, getCurrentInstance, defineComponent, createVNode, onBeforeUnmount, provide, watchEffect, inject, mergeProps, Transition, Teleport, withDirectives, vShow, Fragment, createApp, resolveComponent, openBlock, createElementBlock, createBlock, createCommentVNode, withCtx, toDisplayString, renderList, createElementVNode, createTextVNode, createSlots, withModifiers, onBeforeUpdate, normalizeClass, renderSlot } from "vue";
41
+ import { computed, onUnmounted, onDeactivated, isRef, watch, onMounted, nextTick, onActivated, unref, ref, reactive, getCurrentInstance, provide, inject, isVNode, defineComponent, createVNode, onBeforeUnmount, watchEffect, mergeProps, Transition, Teleport, withDirectives, vShow, Fragment, createApp, resolveDirective, resolveComponent, openBlock, createElementBlock, createBlock, createCommentVNode, withCtx, toDisplayString, renderList, createElementVNode, createTextVNode, createSlots, withModifiers, onBeforeUpdate, normalizeClass, renderSlot } from "vue";
41
42
  var vm = {};
42
43
  var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
43
44
  function getAugmentedNamespace(n) {
@@ -1247,13 +1248,13 @@ var bind$2 = bind$4;
1247
1248
  var Axios = Axios_1;
1248
1249
  var mergeConfig = mergeConfig$2;
1249
1250
  var defaults$3 = defaults_1;
1250
- function createInstance$1(defaultConfig) {
1251
- var context = new Axios(defaultConfig);
1251
+ function createInstance$1(defaultConfig2) {
1252
+ var context = new Axios(defaultConfig2);
1252
1253
  var instance2 = bind$2(Axios.prototype.request, context);
1253
1254
  utils$3.extend(instance2, Axios.prototype, context);
1254
1255
  utils$3.extend(instance2, context);
1255
1256
  instance2.create = function create(instanceConfig) {
1256
- return createInstance$1(mergeConfig(defaultConfig, instanceConfig));
1257
+ return createInstance$1(mergeConfig(defaultConfig2, instanceConfig));
1257
1258
  };
1258
1259
  return instance2;
1259
1260
  }
@@ -3378,15 +3379,140 @@ const truthProp = {
3378
3379
  type: Boolean,
3379
3380
  default: true
3380
3381
  };
3382
+ const makeRequiredProp = (type) => ({
3383
+ type,
3384
+ required: true
3385
+ });
3386
+ const makeArrayProp = () => ({
3387
+ type: Array,
3388
+ default: () => []
3389
+ });
3381
3390
  const makeNumberProp = (defaultVal) => ({
3382
3391
  type: Number,
3383
3392
  default: defaultVal
3384
3393
  });
3394
+ const makeNumericProp = (defaultVal) => ({
3395
+ type: numericProp,
3396
+ default: defaultVal
3397
+ });
3385
3398
  const makeStringProp = (defaultVal) => ({
3386
3399
  type: String,
3387
3400
  default: defaultVal
3388
3401
  });
3389
3402
  var inBrowser = typeof window !== "undefined";
3403
+ function raf(fn) {
3404
+ return inBrowser ? requestAnimationFrame(fn) : -1;
3405
+ }
3406
+ function doubleRaf(fn) {
3407
+ raf(() => raf(fn));
3408
+ }
3409
+ var isWindow = (val) => val === window;
3410
+ var makeDOMRect = (width2, height2) => ({
3411
+ top: 0,
3412
+ left: 0,
3413
+ right: width2,
3414
+ bottom: height2,
3415
+ width: width2,
3416
+ height: height2
3417
+ });
3418
+ var useRect = (elementOrRef) => {
3419
+ const element = unref(elementOrRef);
3420
+ if (isWindow(element)) {
3421
+ const width2 = element.innerWidth;
3422
+ const height2 = element.innerHeight;
3423
+ return makeDOMRect(width2, height2);
3424
+ }
3425
+ if (element == null ? void 0 : element.getBoundingClientRect) {
3426
+ return element.getBoundingClientRect();
3427
+ }
3428
+ return makeDOMRect(0, 0);
3429
+ };
3430
+ function useParent(key) {
3431
+ const parent = inject(key, null);
3432
+ if (parent) {
3433
+ const instance2 = getCurrentInstance();
3434
+ const { link, unlink, internalChildren } = parent;
3435
+ link(instance2);
3436
+ onUnmounted(() => unlink(instance2));
3437
+ const index = computed(() => internalChildren.indexOf(instance2));
3438
+ return {
3439
+ parent,
3440
+ index
3441
+ };
3442
+ }
3443
+ return {
3444
+ parent: null,
3445
+ index: ref(-1)
3446
+ };
3447
+ }
3448
+ function flattenVNodes(children) {
3449
+ const result = [];
3450
+ const traverse = (children2) => {
3451
+ if (Array.isArray(children2)) {
3452
+ children2.forEach((child) => {
3453
+ var _a;
3454
+ if (isVNode(child)) {
3455
+ result.push(child);
3456
+ if ((_a = child.component) == null ? void 0 : _a.subTree) {
3457
+ result.push(child.component.subTree);
3458
+ traverse(child.component.subTree.children);
3459
+ }
3460
+ if (child.children) {
3461
+ traverse(child.children);
3462
+ }
3463
+ }
3464
+ });
3465
+ }
3466
+ };
3467
+ traverse(children);
3468
+ return result;
3469
+ }
3470
+ var findVNodeIndex = (vnodes, vnode) => {
3471
+ const index = vnodes.indexOf(vnode);
3472
+ if (index === -1) {
3473
+ return vnodes.findIndex((item) => vnode.key !== void 0 && vnode.key !== null && item.type === vnode.type && item.key === vnode.key);
3474
+ }
3475
+ return index;
3476
+ };
3477
+ function sortChildren(parent, publicChildren, internalChildren) {
3478
+ const vnodes = flattenVNodes(parent.subTree.children);
3479
+ internalChildren.sort((a, b) => findVNodeIndex(vnodes, a.vnode) - findVNodeIndex(vnodes, b.vnode));
3480
+ const orderedPublicChildren = internalChildren.map((item) => item.proxy);
3481
+ publicChildren.sort((a, b) => {
3482
+ const indexA = orderedPublicChildren.indexOf(a);
3483
+ const indexB = orderedPublicChildren.indexOf(b);
3484
+ return indexA - indexB;
3485
+ });
3486
+ }
3487
+ function useChildren(key) {
3488
+ const publicChildren = reactive([]);
3489
+ const internalChildren = reactive([]);
3490
+ const parent = getCurrentInstance();
3491
+ const linkChildren = (value) => {
3492
+ const link = (child) => {
3493
+ if (child.proxy) {
3494
+ internalChildren.push(child);
3495
+ publicChildren.push(child.proxy);
3496
+ sortChildren(parent, publicChildren, internalChildren);
3497
+ }
3498
+ };
3499
+ const unlink = (child) => {
3500
+ const index = internalChildren.indexOf(child);
3501
+ publicChildren.splice(index, 1);
3502
+ internalChildren.splice(index, 1);
3503
+ };
3504
+ provide(key, Object.assign({
3505
+ link,
3506
+ unlink,
3507
+ children: publicChildren,
3508
+ internalChildren
3509
+ }, value));
3510
+ };
3511
+ return {
3512
+ children: publicChildren,
3513
+ linkChildren
3514
+ };
3515
+ }
3390
3516
  function onMountedOrActivated(hook) {
3391
3517
  let mounted;
3392
3518
  onMounted(() => {
@@ -3482,6 +3608,20 @@ function getScrollParent(el, root = defaultRoot) {
3482
3608
  }
3483
3609
  return root;
3484
3610
  }
3611
+ var visibility;
3612
+ function usePageVisibility() {
3613
+ if (!visibility) {
3614
+ visibility = ref("visible");
3615
+ if (inBrowser) {
3616
+ const update = () => {
3617
+ visibility.value = document.hidden ? "hidden" : "visible";
3618
+ };
3619
+ update();
3620
+ window.addEventListener("visibilitychange", update);
3621
+ }
3622
+ }
3623
+ return visibility;
3624
+ }
3485
3625
  isIOS();
3486
3626
  const stopPropagation = (event) => event.stopPropagation();
3487
3627
  function preventDefault(event, isStopPropagation) {
@@ -3492,7 +3632,17 @@ function preventDefault(event, isStopPropagation) {
3492
3632
  stopPropagation(event);
3493
3633
  }
3494
3634
  }
3495
- useWindowSize();
3635
+ function isHidden(elementRef) {
3636
+ const el = unref(elementRef);
3637
+ if (!el) {
3638
+ return false;
3639
+ }
3640
+ const style = window.getComputedStyle(el);
3641
+ const hidden = style.display === "none";
3642
+ const parentHidden = el.offsetParent === null && style.position !== "fixed";
3643
+ return hidden || parentHidden;
3644
+ }
3645
+ const { width: windowWidth, height: windowHeight } = useWindowSize();
3496
3646
  function addUnit(value) {
3497
3647
  if (isDef$1(value)) {
3498
3648
  return isNumeric(value) ? `${value}px` : String(value);
@@ -3524,6 +3674,7 @@ function getZIndexStyle(zIndex) {
3524
3674
  const camelizeRE = /-(\w)/g;
3525
3675
  const camelize = (str) => str.replace(camelizeRE, (_, c) => c.toUpperCase());
3526
3676
  const kebabCase = (str) => str.replace(/([A-Z])/g, "-$1").toLowerCase().replace(/^-/, "");
3677
+ const clamp = (num, min2, max2) => Math.min(Math.max(num, min2), max2);
3527
3678
  const { hasOwnProperty } = Object.prototype;
3528
3679
  function assignKey(to2, from2, key) {
3529
3680
  const val = from2[key];
@@ -3542,7 +3693,7 @@ function deepAssign(to2, from2) {
3542
3693
  });
3543
3694
  return to2;
3544
3695
  }
3545
- var stdin_default$8 = {
3696
+ var stdin_default$d = {
3546
3697
  name: "\u59D3\u540D",
3547
3698
  tel: "\u7535\u8BDD",
3548
3699
  save: "\u4FDD\u5B58",
@@ -3606,7 +3757,7 @@ var stdin_default$8 = {
3606
3757
  };
3607
3758
  const lang$1 = ref("zh-CN");
3608
3759
  const messages = reactive({
3609
- "zh-CN": stdin_default$8
3760
+ "zh-CN": stdin_default$d
3610
3761
  });
3611
3762
  const Locale$1 = {
3612
3763
  messages() {
@@ -3620,11 +3771,11 @@ const Locale$1 = {
3620
3771
  deepAssign(messages, newMessages);
3621
3772
  }
3622
3773
  };
3623
- var stdin_default$7 = Locale$1;
3774
+ var stdin_default$c = Locale$1;
3624
3775
  function createTranslate(name2) {
3625
3776
  const prefix = camelize(name2) + ".";
3626
3777
  return (path, ...args) => {
3627
- const messages2 = stdin_default$7.messages();
3778
+ const messages2 = stdin_default$c.messages();
3628
3779
  const message = get$3(messages2, prefix + path) || get$3(messages2, path);
3629
3780
  return isFunction$1(message) ? message(...args) : message;
3630
3781
  };
@@ -3660,6 +3811,7 @@ function createNamespace(name2) {
3660
3811
  ];
3661
3812
  }
3662
3813
  const HAPTICS_FEEDBACK = "van-haptics-feedback";
3814
+ const LONG_PRESS_START_TIME = 500;
3663
3815
  const TAP_OFFSET = 5;
3664
3816
  function callInterceptor(interceptor, {
3665
3817
  args = [],
@@ -3697,13 +3849,23 @@ function withInstall(options) {
3697
3849
  return options;
3698
3850
  }
3699
3851
  const POPUP_TOGGLE_KEY = Symbol();
3852
+ function onPopupReopen(callback) {
3853
+ const popupToggleStatus = inject(POPUP_TOGGLE_KEY, null);
3854
+ if (popupToggleStatus) {
3855
+ watch(popupToggleStatus, (show) => {
3856
+ if (show) {
3857
+ callback();
3858
+ }
3859
+ });
3860
+ }
3861
+ }
3700
3862
  function useExpose(apis) {
3701
3863
  const instance2 = getCurrentInstance();
3702
3864
  if (instance2) {
3703
3865
  extend$1(instance2.proxy, apis);
3704
3866
  }
3705
3867
  }
3706
- const [name$7, bem$7] = createNamespace("badge");
3868
+ const [name$b, bem$c] = createNamespace("badge");
3707
3869
  const badgeProps = {
3708
3870
  dot: Boolean,
3709
3871
  max: numericProp,
@@ -3714,8 +3876,8 @@ const badgeProps = {
3714
3876
  showZero: truthProp,
3715
3877
  position: makeStringProp("top-right")
3716
3878
  };
3717
- var stdin_default$6 = defineComponent({
3718
- name: name$7,
3879
+ var stdin_default$b = defineComponent({
3880
+ name: name$b,
3719
3881
  props: badgeProps,
3720
3882
  setup(props, {
3721
3883
  slots
@@ -3778,7 +3940,7 @@ var stdin_default$6 = defineComponent({
3778
3940
  const renderBadge = () => {
3779
3941
  if (hasContent() || props.dot) {
3780
3942
  return createVNode("div", {
3781
- "class": bem$7([props.position, {
3943
+ "class": bem$c([props.position, {
3782
3944
  dot: props.dot,
3783
3945
  fixed: !!slots.default
3784
3946
  }]),
@@ -3792,7 +3954,7 @@ var stdin_default$6 = defineComponent({
3792
3954
  tag
3793
3955
  } = props;
3794
3956
  return createVNode(tag, {
3795
- "class": bem$7("wrapper")
3957
+ "class": bem$c("wrapper")
3796
3958
  }, {
3797
3959
  default: () => [slots.default(), renderBadge()]
3798
3960
  });
@@ -3801,14 +3963,14 @@ var stdin_default$6 = defineComponent({
3801
3963
  };
3802
3964
  }
3803
3965
  });
3804
- const Badge = withInstall(stdin_default$6);
3966
+ const Badge = withInstall(stdin_default$b);
3805
3967
  let globalZIndex = 2e3;
3806
3968
  const useGlobalZIndex = () => ++globalZIndex;
3807
3969
  const setGlobalZIndex = (val) => {
3808
3970
  globalZIndex = val;
3809
3971
  };
3810
- const [name$6, bem$6] = createNamespace("config-provider");
3811
- const CONFIG_PROVIDER_KEY = Symbol(name$6);
3972
+ const [name$a, bem$b] = createNamespace("config-provider");
3973
+ const CONFIG_PROVIDER_KEY = Symbol(name$a);
3812
3974
  const configProviderProps = {
3813
3975
  tag: makeStringProp("div"),
3814
3976
  theme: makeStringProp("light"),
@@ -3843,7 +4005,7 @@ function syncThemeVarsOnRoot(newStyle = {}, oldStyle = {}) {
3843
4005
  });
3844
4006
  }
3845
4007
  defineComponent({
3846
- name: name$6,
4008
+ name: name$a,
3847
4009
  props: configProviderProps,
3848
4010
  setup(props, {
3849
4011
  slots
@@ -3891,7 +4053,7 @@ defineComponent({
3891
4053
  }
3892
4054
  });
3893
4055
  return () => createVNode(props.tag, {
3894
- "class": bem$6(),
4056
+ "class": bem$b(),
3895
4057
  "style": props.themeVarsScope === "local" ? style.value : void 0
3896
4058
  }, {
3897
4059
  default: () => {
@@ -3901,7 +4063,7 @@ defineComponent({
3901
4063
  });
3902
4064
  }
3903
4065
  });
3904
- const [name$5, bem$5] = createNamespace("icon");
4066
+ const [name$9, bem$a] = createNamespace("icon");
3905
4067
  const isImage = (name2) => name2 == null ? void 0 : name2.includes("/");
3906
4068
  const iconProps = {
3907
4069
  dot: Boolean,
@@ -3913,14 +4075,14 @@ const iconProps = {
3913
4075
  badgeProps: Object,
3914
4076
  classPrefix: String
3915
4077
  };
3916
- var stdin_default$5 = defineComponent({
3917
- name: name$5,
4078
+ var stdin_default$a = defineComponent({
4079
+ name: name$9,
3918
4080
  props: iconProps,
3919
4081
  setup(props, {
3920
4082
  slots
3921
4083
  }) {
3922
4084
  const config = inject(CONFIG_PROVIDER_KEY, null);
3923
- const classPrefix = computed(() => props.classPrefix || (config == null ? void 0 : config.iconPrefix) || bem$5());
4085
+ const classPrefix = computed(() => props.classPrefix || (config == null ? void 0 : config.iconPrefix) || bem$a());
3924
4086
  return () => {
3925
4087
  const {
3926
4088
  tag,
@@ -3944,7 +4106,7 @@ var stdin_default$5 = defineComponent({
3944
4106
  default: () => {
3945
4107
  var _a;
3946
4108
  return [(_a = slots.default) == null ? void 0 : _a.call(slots), isImageIcon && createVNode("img", {
3947
- "class": bem$5("image"),
4109
+ "class": bem$a("image"),
3948
4110
  "src": name2
3949
4111
  }, null)];
3950
4112
  }
@@ -3952,13 +4114,13 @@ var stdin_default$5 = defineComponent({
3952
4114
  };
3953
4115
  }
3954
4116
  });
3955
- const Icon = withInstall(stdin_default$5);
3956
- const [name$4, bem$4] = createNamespace("loading");
4117
+ const Icon = withInstall(stdin_default$a);
4118
+ const [name$8, bem$9] = createNamespace("loading");
3957
4119
  const SpinIcon = Array(12).fill(null).map((_, index) => createVNode("i", {
3958
- "class": bem$4("line", String(index + 1))
4120
+ "class": bem$9("line", String(index + 1))
3959
4121
  }, null));
3960
4122
  const CircularIcon = createVNode("svg", {
3961
- "class": bem$4("circular"),
4123
+ "class": bem$9("circular"),
3962
4124
  "viewBox": "25 25 50 50"
3963
4125
  }, [createVNode("circle", {
3964
4126
  "cx": "50",
@@ -3974,8 +4136,8 @@ const loadingProps = {
3974
4136
  textSize: numericProp,
3975
4137
  textColor: String
3976
4138
  };
3977
- var stdin_default$4 = defineComponent({
3978
- name: name$4,
4139
+ var stdin_default$9 = defineComponent({
4140
+ name: name$8,
3979
4141
  props: loadingProps,
3980
4142
  setup(props, {
3981
4143
  slots
@@ -3986,7 +4148,7 @@ var stdin_default$4 = defineComponent({
3986
4148
  const renderIcon = () => {
3987
4149
  const DefaultIcon = props.type === "spinner" ? SpinIcon : CircularIcon;
3988
4150
  return createVNode("span", {
3989
- "class": bem$4("spinner", props.type),
4151
+ "class": bem$9("spinner", props.type),
3990
4152
  "style": spinnerStyle.value
3991
4153
  }, [slots.icon ? slots.icon() : DefaultIcon]);
3992
4154
  };
@@ -3994,7 +4156,7 @@ var stdin_default$4 = defineComponent({
3994
4156
  var _a;
3995
4157
  if (slots.default) {
3996
4158
  return createVNode("span", {
3997
- "class": bem$4("text"),
4159
+ "class": bem$9("text"),
3998
4160
  "style": {
3999
4161
  fontSize: addUnit(props.textSize),
4000
4162
  color: (_a = props.textColor) != null ? _a : props.color
@@ -4008,7 +4170,7 @@ var stdin_default$4 = defineComponent({
4008
4170
  vertical
4009
4171
  } = props;
4010
4172
  return createVNode("div", {
4011
- "class": bem$4([type, {
4173
+ "class": bem$9([type, {
4012
4174
  vertical
4013
4175
  }]),
4014
4176
  "aria-live": "polite",
@@ -4017,7 +4179,7 @@ var stdin_default$4 = defineComponent({
4017
4179
  };
4018
4180
  }
4019
4181
  });
4020
- const Loading = withInstall(stdin_default$4);
4182
+ const Loading = withInstall(stdin_default$9);
4021
4183
  const popupSharedProps = {
4022
4184
  show: Boolean,
4023
4185
  zIndex: numericProp,
@@ -4158,7 +4320,7 @@ const useScopeId = () => {
4158
4320
  const { scopeId } = ((_a = getCurrentInstance()) == null ? void 0 : _a.vnode) || {};
4159
4321
  return scopeId ? { [scopeId]: "" } : null;
4160
4322
  };
4161
- const [name$3, bem$3] = createNamespace("overlay");
4323
+ const [name$7, bem$8] = createNamespace("overlay");
4162
4324
  const overlayProps = {
4163
4325
  show: Boolean,
4164
4326
  zIndex: numericProp,
@@ -4169,8 +4331,8 @@ const overlayProps = {
4169
4331
  customStyle: Object,
4170
4332
  teleport: [String, Object]
4171
4333
  };
4172
- var stdin_default$3 = defineComponent({
4173
- name: name$3,
4334
+ var stdin_default$8 = defineComponent({
4335
+ name: name$7,
4174
4336
  inheritAttrs: false,
4175
4337
  props: overlayProps,
4176
4338
  setup(props, {
@@ -4193,7 +4355,7 @@ var stdin_default$3 = defineComponent({
4193
4355
  return withDirectives(createVNode("div", mergeProps({
4194
4356
  "ref": root,
4195
4357
  "style": style,
4196
- "class": [bem$3(), props.className]
4358
+ "class": [bem$8(), props.className]
4197
4359
  }, attrs), [(_a = slots.default) == null ? void 0 : _a.call(slots)]), [[vShow, props.show]]);
4198
4360
  });
4199
4361
  useEventListener("touchmove", onTouchMove, {
@@ -4217,8 +4379,8 @@ var stdin_default$3 = defineComponent({
4217
4379
  };
4218
4380
  }
4219
4381
  });
4220
- const Overlay = withInstall(stdin_default$3);
4221
- const popupProps = extend$1({}, popupSharedProps, {
4382
+ const Overlay = withInstall(stdin_default$8);
4383
+ const popupProps$1 = extend$1({}, popupSharedProps, {
4222
4384
  round: Boolean,
4223
4385
  position: makeStringProp("center"),
4224
4386
  closeIcon: makeStringProp("cross"),
@@ -4231,11 +4393,11 @@ const popupProps = extend$1({}, popupSharedProps, {
4231
4393
  safeAreaInsetTop: Boolean,
4232
4394
  safeAreaInsetBottom: Boolean
4233
4395
  });
4234
- const [name$2, bem$2] = createNamespace("popup");
4235
- var stdin_default$2 = defineComponent({
4236
- name: name$2,
4396
+ const [name$6, bem$7] = createNamespace("popup");
4397
+ var stdin_default$7 = defineComponent({
4398
+ name: name$6,
4237
4399
  inheritAttrs: false,
4238
- props: popupProps,
4400
+ props: popupProps$1,
4239
4401
  emits: ["open", "close", "opened", "closed", "keydown", "update:show", "clickOverlay", "clickCloseIcon"],
4240
4402
  setup(props, {
4241
4403
  emit,
@@ -4309,7 +4471,7 @@ var stdin_default$2 = defineComponent({
4309
4471
  "role": "button",
4310
4472
  "tabindex": 0,
4311
4473
  "name": props.closeIcon,
4312
- "class": [bem$2("close-icon", props.closeIconPosition), HAPTICS_FEEDBACK],
4474
+ "class": [bem$7("close-icon", props.closeIconPosition), HAPTICS_FEEDBACK],
4313
4475
  "classPrefix": props.iconPrefix,
4314
4476
  "onClick": onClickCloseIcon
4315
4477
  }, null);
@@ -4343,7 +4505,7 @@ var stdin_default$2 = defineComponent({
4343
4505
  "style": style.value,
4344
4506
  "role": "dialog",
4345
4507
  "tabindex": 0,
4346
- "class": [bem$2({
4508
+ "class": [bem$7({
4347
4509
  round: round2,
4348
4510
  [position]: position
4349
4511
  }), {
@@ -4424,7 +4586,443 @@ var stdin_default$2 = defineComponent({
4424
4586
  };
4425
4587
  }
4426
4588
  });
4427
- const Popup = withInstall(stdin_default$2);
4589
+ const Popup = withInstall(stdin_default$7);
4590
+ const [name$5, bem$6] = createNamespace("swipe");
4591
+ const swipeProps = {
4592
+ loop: truthProp,
4593
+ width: numericProp,
4594
+ height: numericProp,
4595
+ vertical: Boolean,
4596
+ autoplay: makeNumericProp(0),
4597
+ duration: makeNumericProp(500),
4598
+ touchable: truthProp,
4599
+ lazyRender: Boolean,
4600
+ initialSwipe: makeNumericProp(0),
4601
+ indicatorColor: String,
4602
+ showIndicators: truthProp,
4603
+ stopPropagation: truthProp
4604
+ };
4605
+ const SWIPE_KEY = Symbol(name$5);
4606
+ var stdin_default$6 = defineComponent({
4607
+ name: name$5,
4608
+ props: swipeProps,
4609
+ emits: ["change", "dragStart", "dragEnd"],
4610
+ setup(props, {
4611
+ emit,
4612
+ slots
4613
+ }) {
4614
+ const root = ref();
4615
+ const track = ref();
4616
+ const state = reactive({
4617
+ rect: null,
4618
+ width: 0,
4619
+ height: 0,
4620
+ offset: 0,
4621
+ active: 0,
4622
+ swiping: false
4623
+ });
4624
+ let dragging = false;
4625
+ const touch = useTouch();
4626
+ const {
4627
+ children,
4628
+ linkChildren
4629
+ } = useChildren(SWIPE_KEY);
4630
+ const count = computed(() => children.length);
4631
+ const size = computed(() => state[props.vertical ? "height" : "width"]);
4632
+ const delta = computed(() => props.vertical ? touch.deltaY.value : touch.deltaX.value);
4633
+ const minOffset = computed(() => {
4634
+ if (state.rect) {
4635
+ const base = props.vertical ? state.rect.height : state.rect.width;
4636
+ return base - size.value * count.value;
4637
+ }
4638
+ return 0;
4639
+ });
4640
+ const maxCount = computed(() => size.value ? Math.ceil(Math.abs(minOffset.value) / size.value) : count.value);
4641
+ const trackSize = computed(() => count.value * size.value);
4642
+ const activeIndicator = computed(() => (state.active + count.value) % count.value);
4643
+ const isCorrectDirection = computed(() => {
4644
+ const expect = props.vertical ? "vertical" : "horizontal";
4645
+ return touch.direction.value === expect;
4646
+ });
4647
+ const trackStyle = computed(() => {
4648
+ const style = {
4649
+ transitionDuration: `${state.swiping ? 0 : props.duration}ms`,
4650
+ transform: `translate${props.vertical ? "Y" : "X"}(${+state.offset.toFixed(2)}px)`
4651
+ };
4652
+ if (size.value) {
4653
+ const mainAxis = props.vertical ? "height" : "width";
4654
+ const crossAxis = props.vertical ? "width" : "height";
4655
+ style[mainAxis] = `${trackSize.value}px`;
4656
+ style[crossAxis] = props[crossAxis] ? `${props[crossAxis]}px` : "";
4657
+ }
4658
+ return style;
4659
+ });
4660
+ const getTargetActive = (pace) => {
4661
+ const {
4662
+ active
4663
+ } = state;
4664
+ if (pace) {
4665
+ if (props.loop) {
4666
+ return clamp(active + pace, -1, count.value);
4667
+ }
4668
+ return clamp(active + pace, 0, maxCount.value);
4669
+ }
4670
+ return active;
4671
+ };
4672
+ const getTargetOffset = (targetActive, offset2 = 0) => {
4673
+ let currentPosition = targetActive * size.value;
4674
+ if (!props.loop) {
4675
+ currentPosition = Math.min(currentPosition, -minOffset.value);
4676
+ }
4677
+ let targetOffset = offset2 - currentPosition;
4678
+ if (!props.loop) {
4679
+ targetOffset = clamp(targetOffset, minOffset.value, 0);
4680
+ }
4681
+ return targetOffset;
4682
+ };
4683
+ const move = ({
4684
+ pace = 0,
4685
+ offset: offset2 = 0,
4686
+ emitChange
4687
+ }) => {
4688
+ if (count.value <= 1) {
4689
+ return;
4690
+ }
4691
+ const {
4692
+ active
4693
+ } = state;
4694
+ const targetActive = getTargetActive(pace);
4695
+ const targetOffset = getTargetOffset(targetActive, offset2);
4696
+ if (props.loop) {
4697
+ if (children[0] && targetOffset !== minOffset.value) {
4698
+ const outRightBound = targetOffset < minOffset.value;
4699
+ children[0].setOffset(outRightBound ? trackSize.value : 0);
4700
+ }
4701
+ if (children[count.value - 1] && targetOffset !== 0) {
4702
+ const outLeftBound = targetOffset > 0;
4703
+ children[count.value - 1].setOffset(outLeftBound ? -trackSize.value : 0);
4704
+ }
4705
+ }
4706
+ state.active = targetActive;
4707
+ state.offset = targetOffset;
4708
+ if (emitChange && targetActive !== active) {
4709
+ emit("change", activeIndicator.value);
4710
+ }
4711
+ };
4712
+ const correctPosition = () => {
4713
+ state.swiping = true;
4714
+ if (state.active <= -1) {
4715
+ move({
4716
+ pace: count.value
4717
+ });
4718
+ } else if (state.active >= count.value) {
4719
+ move({
4720
+ pace: -count.value
4721
+ });
4722
+ }
4723
+ };
4724
+ const prev = () => {
4725
+ correctPosition();
4726
+ touch.reset();
4727
+ doubleRaf(() => {
4728
+ state.swiping = false;
4729
+ move({
4730
+ pace: -1,
4731
+ emitChange: true
4732
+ });
4733
+ });
4734
+ };
4735
+ const next = () => {
4736
+ correctPosition();
4737
+ touch.reset();
4738
+ doubleRaf(() => {
4739
+ state.swiping = false;
4740
+ move({
4741
+ pace: 1,
4742
+ emitChange: true
4743
+ });
4744
+ });
4745
+ };
4746
+ let autoplayTimer;
4747
+ const stopAutoplay = () => clearTimeout(autoplayTimer);
4748
+ const autoplay = () => {
4749
+ stopAutoplay();
4750
+ if (+props.autoplay > 0 && count.value > 1) {
4751
+ autoplayTimer = setTimeout(() => {
4752
+ next();
4753
+ autoplay();
4754
+ }, +props.autoplay);
4755
+ }
4756
+ };
4757
+ const initialize = (active = +props.initialSwipe) => {
4758
+ if (!root.value) {
4759
+ return;
4760
+ }
4761
+ const cb = () => {
4762
+ var _a, _b;
4763
+ if (!isHidden(root)) {
4764
+ const rect = {
4765
+ width: root.value.offsetWidth,
4766
+ height: root.value.offsetHeight
4767
+ };
4768
+ state.rect = rect;
4769
+ state.width = +((_a = props.width) != null ? _a : rect.width);
4770
+ state.height = +((_b = props.height) != null ? _b : rect.height);
4771
+ }
4772
+ if (count.value) {
4773
+ active = Math.min(count.value - 1, active);
4774
+ if (active === -1) {
4775
+ active = count.value - 1;
4776
+ }
4777
+ }
4778
+ state.active = active;
4779
+ state.swiping = true;
4780
+ state.offset = getTargetOffset(active);
4781
+ children.forEach((swipe) => {
4782
+ swipe.setOffset(0);
4783
+ });
4784
+ autoplay();
4785
+ };
4786
+ if (isHidden(root)) {
4787
+ nextTick().then(cb);
4788
+ } else {
4789
+ cb();
4790
+ }
4791
+ };
4792
+ const resize = () => initialize(state.active);
4793
+ let touchStartTime;
4794
+ const onTouchStart = (event) => {
4795
+ if (!props.touchable || event.touches.length > 1)
4796
+ return;
4797
+ touch.start(event);
4798
+ dragging = false;
4799
+ touchStartTime = Date.now();
4800
+ stopAutoplay();
4801
+ correctPosition();
4802
+ };
4803
+ const onTouchMove = (event) => {
4804
+ if (props.touchable && state.swiping) {
4805
+ touch.move(event);
4806
+ if (isCorrectDirection.value) {
4807
+ const isEdgeTouch = !props.loop && (state.active === 0 && delta.value > 0 || state.active === count.value - 1 && delta.value < 0);
4808
+ if (!isEdgeTouch) {
4809
+ preventDefault(event, props.stopPropagation);
4810
+ move({
4811
+ offset: delta.value
4812
+ });
4813
+ if (!dragging) {
4814
+ emit("dragStart", {
4815
+ index: activeIndicator.value
4816
+ });
4817
+ dragging = true;
4818
+ }
4819
+ }
4820
+ }
4821
+ }
4822
+ };
4823
+ const onTouchEnd = () => {
4824
+ if (!props.touchable || !state.swiping) {
4825
+ return;
4826
+ }
4827
+ const duration = Date.now() - touchStartTime;
4828
+ const speed = delta.value / duration;
4829
+ const shouldSwipe = Math.abs(speed) > 0.25 || Math.abs(delta.value) > size.value / 2;
4830
+ if (shouldSwipe && isCorrectDirection.value) {
4831
+ const offset2 = props.vertical ? touch.offsetY.value : touch.offsetX.value;
4832
+ let pace = 0;
4833
+ if (props.loop) {
4834
+ pace = offset2 > 0 ? delta.value > 0 ? -1 : 1 : 0;
4835
+ } else {
4836
+ pace = -Math[delta.value > 0 ? "ceil" : "floor"](delta.value / size.value);
4837
+ }
4838
+ move({
4839
+ pace,
4840
+ emitChange: true
4841
+ });
4842
+ } else if (delta.value) {
4843
+ move({
4844
+ pace: 0
4845
+ });
4846
+ }
4847
+ dragging = false;
4848
+ state.swiping = false;
4849
+ emit("dragEnd", {
4850
+ index: activeIndicator.value
4851
+ });
4852
+ autoplay();
4853
+ };
4854
+ const swipeTo = (index, options = {}) => {
4855
+ correctPosition();
4856
+ touch.reset();
4857
+ doubleRaf(() => {
4858
+ let targetIndex;
4859
+ if (props.loop && index === count.value) {
4860
+ targetIndex = state.active === 0 ? 0 : index;
4861
+ } else {
4862
+ targetIndex = index % count.value;
4863
+ }
4864
+ if (options.immediate) {
4865
+ doubleRaf(() => {
4866
+ state.swiping = false;
4867
+ });
4868
+ } else {
4869
+ state.swiping = false;
4870
+ }
4871
+ move({
4872
+ pace: targetIndex - state.active,
4873
+ emitChange: true
4874
+ });
4875
+ });
4876
+ };
4877
+ const renderDot = (_, index) => {
4878
+ const active = index === activeIndicator.value;
4879
+ const style = active ? {
4880
+ backgroundColor: props.indicatorColor
4881
+ } : void 0;
4882
+ return createVNode("i", {
4883
+ "style": style,
4884
+ "class": bem$6("indicator", {
4885
+ active
4886
+ })
4887
+ }, null);
4888
+ };
4889
+ const renderIndicator = () => {
4890
+ if (slots.indicator) {
4891
+ return slots.indicator({
4892
+ active: activeIndicator.value,
4893
+ total: count.value
4894
+ });
4895
+ }
4896
+ if (props.showIndicators && count.value > 1) {
4897
+ return createVNode("div", {
4898
+ "class": bem$6("indicators", {
4899
+ vertical: props.vertical
4900
+ })
4901
+ }, [Array(count.value).fill("").map(renderDot)]);
4902
+ }
4903
+ };
4904
+ useExpose({
4905
+ prev,
4906
+ next,
4907
+ state,
4908
+ resize,
4909
+ swipeTo
4910
+ });
4911
+ linkChildren({
4912
+ size,
4913
+ props,
4914
+ count,
4915
+ activeIndicator
4916
+ });
4917
+ watch(() => props.initialSwipe, (value) => initialize(+value));
4918
+ watch(count, () => initialize(state.active));
4919
+ watch(() => props.autoplay, autoplay);
4920
+ watch([windowWidth, windowHeight, () => props.width, () => props.height], resize);
4921
+ watch(usePageVisibility(), (visible) => {
4922
+ if (visible === "visible") {
4923
+ autoplay();
4924
+ } else {
4925
+ stopAutoplay();
4926
+ }
4927
+ });
4928
+ onMounted(initialize);
4929
+ onActivated(() => initialize(state.active));
4930
+ onPopupReopen(() => initialize(state.active));
4931
+ onDeactivated(stopAutoplay);
4932
+ onBeforeUnmount(stopAutoplay);
4933
+ useEventListener("touchmove", onTouchMove, {
4934
+ target: track
4935
+ });
4936
+ return () => {
4937
+ var _a;
4938
+ return createVNode("div", {
4939
+ "ref": root,
4940
+ "class": bem$6()
4941
+ }, [createVNode("div", {
4942
+ "ref": track,
4943
+ "style": trackStyle.value,
4944
+ "class": bem$6("track", {
4945
+ vertical: props.vertical
4946
+ }),
4947
+ "onTouchstartPassive": onTouchStart,
4948
+ "onTouchend": onTouchEnd,
4949
+ "onTouchcancel": onTouchEnd
4950
+ }, [(_a = slots.default) == null ? void 0 : _a.call(slots)]), renderIndicator()]);
4951
+ };
4952
+ }
4953
+ });
4954
+ const Swipe = withInstall(stdin_default$6);
4955
+ const [name$4, bem$5] = createNamespace("swipe-item");
4956
+ var stdin_default$5 = defineComponent({
4957
+ name: name$4,
4958
+ setup(props, {
4959
+ slots
4960
+ }) {
4961
+ let rendered;
4962
+ const state = reactive({
4963
+ offset: 0,
4964
+ inited: false,
4965
+ mounted: false
4966
+ });
4967
+ const {
4968
+ parent,
4969
+ index
4970
+ } = useParent(SWIPE_KEY);
4971
+ if (!parent) {
4972
+ return;
4973
+ }
4974
+ const style = computed(() => {
4975
+ const style2 = {};
4976
+ const {
4977
+ vertical
4978
+ } = parent.props;
4979
+ if (parent.size.value) {
4980
+ style2[vertical ? "height" : "width"] = `${parent.size.value}px`;
4981
+ }
4982
+ if (state.offset) {
4983
+ style2.transform = `translate${vertical ? "Y" : "X"}(${state.offset}px)`;
4984
+ }
4985
+ return style2;
4986
+ });
4987
+ const shouldRender = computed(() => {
4988
+ const {
4989
+ loop,
4990
+ lazyRender
4991
+ } = parent.props;
4992
+ if (!lazyRender || rendered) {
4993
+ return true;
4994
+ }
4995
+ if (!state.mounted) {
4996
+ return false;
4997
+ }
4998
+ const active = parent.activeIndicator.value;
4999
+ const maxActive = parent.count.value - 1;
5000
+ const prevActive = active === 0 && loop ? maxActive : active - 1;
5001
+ const nextActive = active === maxActive && loop ? 0 : active + 1;
5002
+ rendered = index.value === active || index.value === prevActive || index.value === nextActive;
5003
+ return rendered;
5004
+ });
5005
+ const setOffset = (offset2) => {
5006
+ state.offset = offset2;
5007
+ };
5008
+ onMounted(() => {
5009
+ nextTick(() => {
5010
+ state.mounted = true;
5011
+ });
5012
+ });
5013
+ useExpose({
5014
+ setOffset
5015
+ });
5016
+ return () => {
5017
+ var _a;
5018
+ return createVNode("div", {
5019
+ "class": bem$5(),
5020
+ "style": style.value
5021
+ }, [shouldRender.value ? (_a = slots.default) == null ? void 0 : _a.call(slots) : null]);
5022
+ };
5023
+ }
5024
+ });
5025
+ const SwipeItem = withInstall(stdin_default$5);
4428
5026
  let lockCount = 0;
4429
5027
  function lockClick(lock) {
4430
5028
  if (lock) {
@@ -4439,7 +5037,7 @@ function lockClick(lock) {
4439
5037
  }
4440
5038
  }
4441
5039
  }
4442
- const [name$1, bem$1] = createNamespace("toast");
5040
+ const [name$3, bem$4] = createNamespace("toast");
4443
5041
  const popupInheritProps$1 = ["show", "overlay", "teleport", "transition", "overlayClass", "overlayStyle", "closeOnClickOverlay", "zIndex"];
4444
5042
  const toastProps = {
4445
5043
  icon: String,
@@ -4463,8 +5061,8 @@ const toastProps = {
4463
5061
  closeOnClickOverlay: Boolean,
4464
5062
  zIndex: numericProp
4465
5063
  };
4466
- var stdin_default$1 = defineComponent({
4467
- name: name$1,
5064
+ var stdin_default$4 = defineComponent({
5065
+ name: name$3,
4468
5066
  props: toastProps,
4469
5067
  emits: ["update:show"],
4470
5068
  setup(props, {
@@ -4500,13 +5098,13 @@ var stdin_default$1 = defineComponent({
4500
5098
  return createVNode(Icon, {
4501
5099
  "name": icon || type,
4502
5100
  "size": iconSize,
4503
- "class": bem$1("icon"),
5101
+ "class": bem$4("icon"),
4504
5102
  "classPrefix": iconPrefix
4505
5103
  }, null);
4506
5104
  }
4507
5105
  if (type === "loading") {
4508
5106
  return createVNode(Loading, {
4509
- "class": bem$1("loading"),
5107
+ "class": bem$4("loading"),
4510
5108
  "size": iconSize,
4511
5109
  "type": loadingType
4512
5110
  }, null);
@@ -4519,16 +5117,16 @@ var stdin_default$1 = defineComponent({
4519
5117
  } = props;
4520
5118
  if (slots.message) {
4521
5119
  return createVNode("div", {
4522
- "class": bem$1("text")
5120
+ "class": bem$4("text")
4523
5121
  }, [slots.message()]);
4524
5122
  }
4525
5123
  if (isDef$1(message) && message !== "") {
4526
5124
  return type === "html" ? createVNode("div", {
4527
5125
  "key": 0,
4528
- "class": bem$1("text"),
5126
+ "class": bem$4("text"),
4529
5127
  "innerHTML": String(message)
4530
5128
  }, null) : createVNode("div", {
4531
- "class": bem$1("text")
5129
+ "class": bem$4("text")
4532
5130
  }, [message]);
4533
5131
  }
4534
5132
  };
@@ -4544,7 +5142,7 @@ var stdin_default$1 = defineComponent({
4544
5142
  onMounted(toggleClickable);
4545
5143
  onUnmounted(toggleClickable);
4546
5144
  return () => createVNode(Popup, mergeProps({
4547
- "class": [bem$1([props.position, props.wordBreak === "normal" ? "break-normal" : props.wordBreak, {
5145
+ "class": [bem$4([props.position, props.wordBreak === "normal" ? "break-normal" : props.wordBreak, {
4548
5146
  [props.type]: !props.icon
4549
5147
  }]), props.className],
4550
5148
  "lockScroll": false,
@@ -4641,7 +5239,7 @@ function createInstance() {
4641
5239
  onClosed,
4642
5240
  "onUpdate:show": toggle
4643
5241
  };
4644
- return createVNode(stdin_default$1, mergeProps(state, attrs), null);
5242
+ return createVNode(stdin_default$4, mergeProps(state, attrs), null);
4645
5243
  };
4646
5244
  watch(message, (val) => {
4647
5245
  state.message = val;
@@ -4697,6 +5295,751 @@ function setToastDefaultOptions(type, options) {
4697
5295
  extend$1(currentOptions$1, type);
4698
5296
  }
4699
5297
  }
5298
+ withInstall(stdin_default$4);
5299
+ const [name$2, bem$3] = createNamespace("image");
5300
+ const imageProps = {
5301
+ src: String,
5302
+ alt: String,
5303
+ fit: String,
5304
+ position: String,
5305
+ round: Boolean,
5306
+ block: Boolean,
5307
+ width: numericProp,
5308
+ height: numericProp,
5309
+ radius: numericProp,
5310
+ lazyLoad: Boolean,
5311
+ iconSize: numericProp,
5312
+ showError: truthProp,
5313
+ errorIcon: makeStringProp("photo-fail"),
5314
+ iconPrefix: String,
5315
+ showLoading: truthProp,
5316
+ loadingIcon: makeStringProp("photo"),
5317
+ crossorigin: String,
5318
+ referrerpolicy: String,
5319
+ decoding: String
5320
+ };
5321
+ var stdin_default$3 = defineComponent({
5322
+ name: name$2,
5323
+ props: imageProps,
5324
+ emits: ["load", "error"],
5325
+ setup(props, {
5326
+ emit,
5327
+ slots
5328
+ }) {
5329
+ const error = ref(false);
5330
+ const loading = ref(true);
5331
+ const imageRef = ref();
5332
+ const {
5333
+ $Lazyload
5334
+ } = getCurrentInstance().proxy;
5335
+ const style = computed(() => {
5336
+ const style2 = {
5337
+ width: addUnit(props.width),
5338
+ height: addUnit(props.height)
5339
+ };
5340
+ if (isDef$1(props.radius)) {
5341
+ style2.overflow = "hidden";
5342
+ style2.borderRadius = addUnit(props.radius);
5343
+ }
5344
+ return style2;
5345
+ });
5346
+ watch(() => props.src, () => {
5347
+ error.value = false;
5348
+ loading.value = true;
5349
+ });
5350
+ const onLoad = (event) => {
5351
+ if (loading.value) {
5352
+ loading.value = false;
5353
+ emit("load", event);
5354
+ }
5355
+ };
5356
+ const triggerLoad = () => {
5357
+ const loadEvent = new Event("load");
5358
+ Object.defineProperty(loadEvent, "target", {
5359
+ value: imageRef.value,
5360
+ enumerable: true
5361
+ });
5362
+ onLoad(loadEvent);
5363
+ };
5364
+ const onError = (event) => {
5365
+ error.value = true;
5366
+ loading.value = false;
5367
+ emit("error", event);
5368
+ };
5369
+ const renderIcon = (name2, className, slot) => {
5370
+ if (slot) {
5371
+ return slot();
5372
+ }
5373
+ return createVNode(Icon, {
5374
+ "name": name2,
5375
+ "size": props.iconSize,
5376
+ "class": className,
5377
+ "classPrefix": props.iconPrefix
5378
+ }, null);
5379
+ };
5380
+ const renderPlaceholder = () => {
5381
+ if (loading.value && props.showLoading) {
5382
+ return createVNode("div", {
5383
+ "class": bem$3("loading")
5384
+ }, [renderIcon(props.loadingIcon, bem$3("loading-icon"), slots.loading)]);
5385
+ }
5386
+ if (error.value && props.showError) {
5387
+ return createVNode("div", {
5388
+ "class": bem$3("error")
5389
+ }, [renderIcon(props.errorIcon, bem$3("error-icon"), slots.error)]);
5390
+ }
5391
+ };
5392
+ const renderImage = () => {
5393
+ if (error.value || !props.src) {
5394
+ return;
5395
+ }
5396
+ const attrs = {
5397
+ alt: props.alt,
5398
+ class: bem$3("img"),
5399
+ decoding: props.decoding,
5400
+ style: {
5401
+ objectFit: props.fit,
5402
+ objectPosition: props.position
5403
+ },
5404
+ crossorigin: props.crossorigin,
5405
+ referrerpolicy: props.referrerpolicy
5406
+ };
5407
+ if (props.lazyLoad) {
5408
+ return withDirectives(createVNode("img", mergeProps({
5409
+ "ref": imageRef
5410
+ }, attrs), null), [[resolveDirective("lazy"), props.src]]);
5411
+ }
5412
+ return createVNode("img", mergeProps({
5413
+ "ref": imageRef,
5414
+ "src": props.src,
5415
+ "onLoad": onLoad,
5416
+ "onError": onError
5417
+ }, attrs), null);
5418
+ };
5419
+ const onLazyLoaded = ({
5420
+ el
5421
+ }) => {
5422
+ const check = () => {
5423
+ if (el === imageRef.value && loading.value) {
5424
+ triggerLoad();
5425
+ }
5426
+ };
5427
+ if (imageRef.value) {
5428
+ check();
5429
+ } else {
5430
+ nextTick(check);
5431
+ }
5432
+ };
5433
+ const onLazyLoadError = ({
5434
+ el
5435
+ }) => {
5436
+ if (el === imageRef.value && !error.value) {
5437
+ onError();
5438
+ }
5439
+ };
5440
+ if ($Lazyload && inBrowser$1) {
5441
+ $Lazyload.$on("loaded", onLazyLoaded);
5442
+ $Lazyload.$on("error", onLazyLoadError);
5443
+ onBeforeUnmount(() => {
5444
+ $Lazyload.$off("loaded", onLazyLoaded);
5445
+ $Lazyload.$off("error", onLazyLoadError);
5446
+ });
5447
+ }
5448
+ onMounted(() => {
5449
+ nextTick(() => {
5450
+ var _a;
5451
+ if (((_a = imageRef.value) == null ? void 0 : _a.complete) && !props.lazyLoad) {
5452
+ triggerLoad();
5453
+ }
5454
+ });
5455
+ });
5456
+ return () => {
5457
+ var _a;
5458
+ return createVNode("div", {
5459
+ "class": bem$3({
5460
+ round: props.round,
5461
+ block: props.block
5462
+ }),
5463
+ "style": style.value
5464
+ }, [renderImage(), renderPlaceholder(), (_a = slots.default) == null ? void 0 : _a.call(slots)]);
5465
+ };
5466
+ }
5467
+ });
5468
+ const Image$1 = withInstall(stdin_default$3);
5469
+ const getDistance = (touches) => Math.sqrt(__pow(touches[0].clientX - touches[1].clientX, 2) + __pow(touches[0].clientY - touches[1].clientY, 2));
5470
+ const getCenter = (touches) => ({
5471
+ x: (touches[0].clientX + touches[1].clientX) / 2,
5472
+ y: (touches[0].clientY + touches[1].clientY) / 2
5473
+ });
5474
+ const bem$2 = createNamespace("image-preview")[1];
5475
+ const longImageRatio = 2.6;
5476
+ const imagePreviewItemProps = {
5477
+ src: String,
5478
+ show: Boolean,
5479
+ active: Number,
5480
+ minZoom: makeRequiredProp(numericProp),
5481
+ maxZoom: makeRequiredProp(numericProp),
5482
+ rootWidth: makeRequiredProp(Number),
5483
+ rootHeight: makeRequiredProp(Number),
5484
+ disableZoom: Boolean,
5485
+ doubleScale: Boolean,
5486
+ closeOnClickImage: Boolean,
5487
+ closeOnClickOverlay: Boolean,
5488
+ vertical: Boolean
5489
+ };
5490
+ var stdin_default$2 = defineComponent({
5491
+ props: imagePreviewItemProps,
5492
+ emits: ["scale", "close", "longPress"],
5493
+ setup(props, {
5494
+ emit,
5495
+ slots
5496
+ }) {
5497
+ const state = reactive({
5498
+ scale: 1,
5499
+ moveX: 0,
5500
+ moveY: 0,
5501
+ moving: false,
5502
+ zooming: false,
5503
+ initializing: false,
5504
+ imageRatio: 0
5505
+ });
5506
+ const touch = useTouch();
5507
+ const imageRef = ref();
5508
+ const swipeItem = ref();
5509
+ const vertical = ref(false);
5510
+ const isLongImage = ref(false);
5511
+ let initialMoveY = 0;
5512
+ const imageStyle = computed(() => {
5513
+ const {
5514
+ scale,
5515
+ moveX,
5516
+ moveY,
5517
+ moving,
5518
+ zooming,
5519
+ initializing
5520
+ } = state;
5521
+ const style = {
5522
+ transitionDuration: zooming || moving || initializing ? "0s" : ".3s"
5523
+ };
5524
+ if (scale !== 1 || isLongImage.value) {
5525
+ style.transform = `matrix(${scale}, 0, 0, ${scale}, ${moveX}, ${moveY})`;
5526
+ }
5527
+ return style;
5528
+ });
5529
+ const maxMoveX = computed(() => {
5530
+ if (state.imageRatio) {
5531
+ const {
5532
+ rootWidth,
5533
+ rootHeight
5534
+ } = props;
5535
+ const displayWidth = vertical.value ? rootHeight / state.imageRatio : rootWidth;
5536
+ return Math.max(0, (state.scale * displayWidth - rootWidth) / 2);
5537
+ }
5538
+ return 0;
5539
+ });
5540
+ const maxMoveY = computed(() => {
5541
+ if (state.imageRatio) {
5542
+ const {
5543
+ rootWidth,
5544
+ rootHeight
5545
+ } = props;
5546
+ const displayHeight = vertical.value ? rootHeight : rootWidth * state.imageRatio;
5547
+ return Math.max(0, (state.scale * displayHeight - rootHeight) / 2);
5548
+ }
5549
+ return 0;
5550
+ });
5551
+ const setScale = (scale, center) => {
5552
+ var _a;
5553
+ scale = clamp(scale, +props.minZoom, +props.maxZoom + 1);
5554
+ if (scale !== state.scale) {
5555
+ const ratio = scale / state.scale;
5556
+ state.scale = scale;
5557
+ if (center) {
5558
+ const imageRect = useRect((_a = imageRef.value) == null ? void 0 : _a.$el);
5559
+ const origin = {
5560
+ x: imageRect.width * 0.5,
5561
+ y: imageRect.height * 0.5
5562
+ };
5563
+ const moveX = state.moveX - (center.x - imageRect.left - origin.x) * (ratio - 1);
5564
+ const moveY = state.moveY - (center.y - imageRect.top - origin.y) * (ratio - 1);
5565
+ state.moveX = clamp(moveX, -maxMoveX.value, maxMoveX.value);
5566
+ state.moveY = clamp(moveY, -maxMoveY.value, maxMoveY.value);
5567
+ } else {
5568
+ state.moveX = 0;
5569
+ state.moveY = isLongImage.value ? initialMoveY : 0;
5570
+ }
5571
+ emit("scale", {
5572
+ scale,
5573
+ index: props.active
5574
+ });
5575
+ }
5576
+ };
5577
+ const resetScale = () => {
5578
+ setScale(1);
5579
+ };
5580
+ const toggleScale = () => {
5581
+ const scale = state.scale > 1 ? 1 : 2;
5582
+ setScale(scale, scale === 2 || isLongImage.value ? {
5583
+ x: touch.startX.value,
5584
+ y: touch.startY.value
5585
+ } : void 0);
5586
+ };
5587
+ let fingerNum;
5588
+ let startMoveX;
5589
+ let startMoveY;
5590
+ let startScale;
5591
+ let startDistance;
5592
+ let lastCenter;
5593
+ let doubleTapTimer;
5594
+ let touchStartTime;
5595
+ let isImageMoved = false;
5596
+ const onTouchStart = (event) => {
5597
+ const {
5598
+ touches
5599
+ } = event;
5600
+ fingerNum = touches.length;
5601
+ if (fingerNum === 2 && props.disableZoom) {
5602
+ return;
5603
+ }
5604
+ const {
5605
+ offsetX
5606
+ } = touch;
5607
+ touch.start(event);
5608
+ startMoveX = state.moveX;
5609
+ startMoveY = state.moveY;
5610
+ touchStartTime = Date.now();
5611
+ isImageMoved = false;
5612
+ state.moving = fingerNum === 1 && (state.scale !== 1 || isLongImage.value);
5613
+ state.zooming = fingerNum === 2 && !offsetX.value;
5614
+ if (state.zooming) {
5615
+ startScale = state.scale;
5616
+ startDistance = getDistance(touches);
5617
+ }
5618
+ };
5619
+ const onTouchMove = (event) => {
5620
+ const {
5621
+ touches
5622
+ } = event;
5623
+ touch.move(event);
5624
+ if (state.moving) {
5625
+ const {
5626
+ deltaX,
5627
+ deltaY
5628
+ } = touch;
5629
+ const moveX = deltaX.value + startMoveX;
5630
+ const moveY = deltaY.value + startMoveY;
5631
+ if ((props.vertical ? touch.isVertical() && Math.abs(moveY) > maxMoveY.value : touch.isHorizontal() && Math.abs(moveX) > maxMoveX.value) && !isImageMoved) {
5632
+ state.moving = false;
5633
+ return;
5634
+ }
5635
+ isImageMoved = true;
5636
+ preventDefault(event, true);
5637
+ state.moveX = clamp(moveX, -maxMoveX.value, maxMoveX.value);
5638
+ state.moveY = clamp(moveY, -maxMoveY.value, maxMoveY.value);
5639
+ }
5640
+ if (state.zooming) {
5641
+ preventDefault(event, true);
5642
+ if (touches.length === 2) {
5643
+ const distance = getDistance(touches);
5644
+ const scale = startScale * distance / startDistance;
5645
+ lastCenter = getCenter(touches);
5646
+ setScale(scale, lastCenter);
5647
+ }
5648
+ }
5649
+ };
5650
+ const checkClose = (event) => {
5651
+ var _a;
5652
+ const swipeItemEl = (_a = swipeItem.value) == null ? void 0 : _a.$el;
5653
+ if (!swipeItemEl)
5654
+ return;
5655
+ const imageEl = swipeItemEl.firstElementChild;
5656
+ const isClickOverlay = event.target === swipeItemEl;
5657
+ const isClickImage = imageEl == null ? void 0 : imageEl.contains(event.target);
5658
+ if (!props.closeOnClickImage && isClickImage)
5659
+ return;
5660
+ if (!props.closeOnClickOverlay && isClickOverlay)
5661
+ return;
5662
+ emit("close");
5663
+ };
5664
+ const checkTap = (event) => {
5665
+ if (fingerNum > 1) {
5666
+ return;
5667
+ }
5668
+ const deltaTime = Date.now() - touchStartTime;
5669
+ const TAP_TIME = 250;
5670
+ if (touch.isTap.value) {
5671
+ if (deltaTime < TAP_TIME) {
5672
+ if (props.doubleScale) {
5673
+ if (doubleTapTimer) {
5674
+ clearTimeout(doubleTapTimer);
5675
+ doubleTapTimer = null;
5676
+ toggleScale();
5677
+ } else {
5678
+ doubleTapTimer = setTimeout(() => {
5679
+ checkClose(event);
5680
+ doubleTapTimer = null;
5681
+ }, TAP_TIME);
5682
+ }
5683
+ } else {
5684
+ checkClose(event);
5685
+ }
5686
+ } else if (deltaTime > LONG_PRESS_START_TIME) {
5687
+ emit("longPress");
5688
+ }
5689
+ }
5690
+ };
5691
+ const onTouchEnd = (event) => {
5692
+ let stopPropagation2 = false;
5693
+ if (state.moving || state.zooming) {
5694
+ stopPropagation2 = true;
5695
+ if (state.moving && startMoveX === state.moveX && startMoveY === state.moveY) {
5696
+ stopPropagation2 = false;
5697
+ }
5698
+ if (!event.touches.length) {
5699
+ if (state.zooming) {
5700
+ state.moveX = clamp(state.moveX, -maxMoveX.value, maxMoveX.value);
5701
+ state.moveY = clamp(state.moveY, -maxMoveY.value, maxMoveY.value);
5702
+ state.zooming = false;
5703
+ }
5704
+ state.moving = false;
5705
+ startMoveX = 0;
5706
+ startMoveY = 0;
5707
+ startScale = 1;
5708
+ if (state.scale < 1) {
5709
+ resetScale();
5710
+ }
5711
+ const maxZoom = +props.maxZoom;
5712
+ if (state.scale > maxZoom) {
5713
+ setScale(maxZoom, lastCenter);
5714
+ }
5715
+ }
5716
+ }
5717
+ preventDefault(event, stopPropagation2);
5718
+ checkTap(event);
5719
+ touch.reset();
5720
+ };
5721
+ const resize = () => {
5722
+ const {
5723
+ rootWidth,
5724
+ rootHeight
5725
+ } = props;
5726
+ const rootRatio = rootHeight / rootWidth;
5727
+ const {
5728
+ imageRatio
5729
+ } = state;
5730
+ vertical.value = state.imageRatio > rootRatio && imageRatio < longImageRatio;
5731
+ isLongImage.value = state.imageRatio > rootRatio && imageRatio >= longImageRatio;
5732
+ if (isLongImage.value) {
5733
+ initialMoveY = (imageRatio * rootWidth - rootHeight) / 2;
5734
+ state.moveY = initialMoveY;
5735
+ state.initializing = true;
5736
+ raf(() => {
5737
+ state.initializing = false;
5738
+ });
5739
+ }
5740
+ resetScale();
5741
+ };
5742
+ const onLoad = (event) => {
5743
+ const {
5744
+ naturalWidth,
5745
+ naturalHeight
5746
+ } = event.target;
5747
+ state.imageRatio = naturalHeight / naturalWidth;
5748
+ resize();
5749
+ };
5750
+ watch(() => props.active, resetScale);
5751
+ watch(() => props.show, (value) => {
5752
+ if (!value) {
5753
+ resetScale();
5754
+ }
5755
+ });
5756
+ watch(() => [props.rootWidth, props.rootHeight], resize);
5757
+ useEventListener("touchmove", onTouchMove, {
5758
+ target: computed(() => {
5759
+ var _a;
5760
+ return (_a = swipeItem.value) == null ? void 0 : _a.$el;
5761
+ })
5762
+ });
5763
+ useExpose({
5764
+ resetScale
5765
+ });
5766
+ return () => {
5767
+ const imageSlots = {
5768
+ loading: () => createVNode(Loading, {
5769
+ "type": "spinner"
5770
+ }, null)
5771
+ };
5772
+ return createVNode(SwipeItem, {
5773
+ "ref": swipeItem,
5774
+ "class": bem$2("swipe-item"),
5775
+ "onTouchstartPassive": onTouchStart,
5776
+ "onTouchend": onTouchEnd,
5777
+ "onTouchcancel": onTouchEnd
5778
+ }, {
5779
+ default: () => [slots.image ? createVNode("div", {
5780
+ "class": bem$2("image-wrap")
5781
+ }, [slots.image({
5782
+ src: props.src,
5783
+ onLoad,
5784
+ style: imageStyle.value
5785
+ })]) : createVNode(Image$1, {
5786
+ "ref": imageRef,
5787
+ "src": props.src,
5788
+ "fit": "contain",
5789
+ "class": bem$2("image", {
5790
+ vertical: vertical.value
5791
+ }),
5792
+ "style": imageStyle.value,
5793
+ "onLoad": onLoad
5794
+ }, imageSlots)]
5795
+ });
5796
+ };
5797
+ }
5798
+ });
5799
+ const [name$1, bem$1] = createNamespace("image-preview");
5800
+ const popupProps = ["show", "teleport", "transition", "overlayStyle", "closeOnPopstate"];
5801
+ const imagePreviewProps = {
5802
+ show: Boolean,
5803
+ loop: truthProp,
5804
+ images: makeArrayProp(),
5805
+ minZoom: makeNumericProp(1 / 3),
5806
+ maxZoom: makeNumericProp(3),
5807
+ overlay: truthProp,
5808
+ vertical: Boolean,
5809
+ closeable: Boolean,
5810
+ showIndex: truthProp,
5811
+ className: unknownProp,
5812
+ closeIcon: makeStringProp("clear"),
5813
+ transition: String,
5814
+ beforeClose: Function,
5815
+ doubleScale: truthProp,
5816
+ overlayClass: unknownProp,
5817
+ overlayStyle: Object,
5818
+ swipeDuration: makeNumericProp(300),
5819
+ startPosition: makeNumericProp(0),
5820
+ showIndicators: Boolean,
5821
+ closeOnPopstate: truthProp,
5822
+ closeOnClickImage: truthProp,
5823
+ closeOnClickOverlay: truthProp,
5824
+ closeIconPosition: makeStringProp("top-right"),
5825
+ teleport: [String, Object]
5826
+ };
5827
+ var stdin_default$1 = defineComponent({
5828
+ name: name$1,
5829
+ props: imagePreviewProps,
5830
+ emits: ["scale", "close", "closed", "change", "longPress", "update:show"],
5831
+ setup(props, {
5832
+ emit,
5833
+ slots
5834
+ }) {
5835
+ const swipeRef = ref();
5836
+ const activedPreviewItemRef = ref();
5837
+ const state = reactive({
5838
+ active: 0,
5839
+ rootWidth: 0,
5840
+ rootHeight: 0,
5841
+ disableZoom: false
5842
+ });
5843
+ const resize = () => {
5844
+ if (swipeRef.value) {
5845
+ const rect = useRect(swipeRef.value.$el);
5846
+ state.rootWidth = rect.width;
5847
+ state.rootHeight = rect.height;
5848
+ swipeRef.value.resize();
5849
+ }
5850
+ };
5851
+ const emitScale = (args) => emit("scale", args);
5852
+ const updateShow = (show) => emit("update:show", show);
5853
+ const emitClose = () => {
5854
+ callInterceptor(props.beforeClose, {
5855
+ args: [state.active],
5856
+ done: () => updateShow(false)
5857
+ });
5858
+ };
5859
+ const setActive = (active) => {
5860
+ if (active !== state.active) {
5861
+ state.active = active;
5862
+ emit("change", active);
5863
+ }
5864
+ };
5865
+ const renderIndex = () => {
5866
+ if (props.showIndex) {
5867
+ return createVNode("div", {
5868
+ "class": bem$1("index")
5869
+ }, [slots.index ? slots.index({
5870
+ index: state.active
5871
+ }) : `${state.active + 1} / ${props.images.length}`]);
5872
+ }
5873
+ };
5874
+ const renderCover = () => {
5875
+ if (slots.cover) {
5876
+ return createVNode("div", {
5877
+ "class": bem$1("cover")
5878
+ }, [slots.cover()]);
5879
+ }
5880
+ };
5881
+ const onDragStart = () => {
5882
+ state.disableZoom = true;
5883
+ };
5884
+ const onDragEnd = () => {
5885
+ state.disableZoom = false;
5886
+ };
5887
+ const renderImages = () => createVNode(Swipe, {
5888
+ "ref": swipeRef,
5889
+ "lazyRender": true,
5890
+ "loop": props.loop,
5891
+ "class": bem$1("swipe"),
5892
+ "vertical": props.vertical,
5893
+ "duration": props.swipeDuration,
5894
+ "initialSwipe": props.startPosition,
5895
+ "showIndicators": props.showIndicators,
5896
+ "indicatorColor": "white",
5897
+ "onChange": setActive,
5898
+ "onDragEnd": onDragEnd,
5899
+ "onDragStart": onDragStart
5900
+ }, {
5901
+ default: () => [props.images.map((image, index) => createVNode(stdin_default$2, {
5902
+ "ref": (item) => {
5903
+ if (index === state.active) {
5904
+ activedPreviewItemRef.value = item;
5905
+ }
5906
+ },
5907
+ "src": image,
5908
+ "show": props.show,
5909
+ "active": state.active,
5910
+ "maxZoom": props.maxZoom,
5911
+ "minZoom": props.minZoom,
5912
+ "rootWidth": state.rootWidth,
5913
+ "rootHeight": state.rootHeight,
5914
+ "disableZoom": state.disableZoom,
5915
+ "doubleScale": props.doubleScale,
5916
+ "closeOnClickImage": props.closeOnClickImage,
5917
+ "closeOnClickOverlay": props.closeOnClickOverlay,
5918
+ "vertical": props.vertical,
5919
+ "onScale": emitScale,
5920
+ "onClose": emitClose,
5921
+ "onLongPress": () => emit("longPress", {
5922
+ index
5923
+ })
5924
+ }, {
5925
+ image: slots.image
5926
+ }))]
5927
+ });
5928
+ const renderClose = () => {
5929
+ if (props.closeable) {
5930
+ return createVNode(Icon, {
5931
+ "role": "button",
5932
+ "name": props.closeIcon,
5933
+ "class": [bem$1("close-icon", props.closeIconPosition), HAPTICS_FEEDBACK],
5934
+ "onClick": emitClose
5935
+ }, null);
5936
+ }
5937
+ };
5938
+ const onClosed = () => emit("closed");
5939
+ const swipeTo = (index, options) => {
5940
+ var _a;
5941
+ return (_a = swipeRef.value) == null ? void 0 : _a.swipeTo(index, options);
5942
+ };
5943
+ useExpose({
5944
+ resetScale: () => {
5945
+ var _a;
5946
+ (_a = activedPreviewItemRef.value) == null ? void 0 : _a.resetScale();
5947
+ },
5948
+ swipeTo
5949
+ });
5950
+ onMounted(resize);
5951
+ watch([windowWidth, windowHeight], resize);
5952
+ watch(() => props.startPosition, (value) => setActive(+value));
5953
+ watch(() => props.show, (value) => {
5954
+ const {
5955
+ images,
5956
+ startPosition
5957
+ } = props;
5958
+ if (value) {
5959
+ setActive(+startPosition);
5960
+ nextTick(() => {
5961
+ resize();
5962
+ swipeTo(+startPosition, {
5963
+ immediate: true
5964
+ });
5965
+ });
5966
+ } else {
5967
+ emit("close", {
5968
+ index: state.active,
5969
+ url: images[state.active]
5970
+ });
5971
+ }
5972
+ });
5973
+ return () => createVNode(Popup, mergeProps({
5974
+ "class": [bem$1(), props.className],
5975
+ "overlayClass": [bem$1("overlay"), props.overlayClass],
5976
+ "onClosed": onClosed,
5977
+ "onUpdate:show": updateShow
5978
+ }, pick(props, popupProps)), {
5979
+ default: () => [renderClose(), renderImages(), renderIndex(), renderCover()]
5980
+ });
5981
+ }
5982
+ });
5983
+ let instance$1;
5984
+ const defaultConfig = {
5985
+ loop: true,
5986
+ images: [],
5987
+ maxZoom: 3,
5988
+ minZoom: 1 / 3,
5989
+ onScale: void 0,
5990
+ onClose: void 0,
5991
+ onChange: void 0,
5992
+ vertical: false,
5993
+ teleport: "body",
5994
+ className: "",
5995
+ showIndex: true,
5996
+ closeable: false,
5997
+ closeIcon: "clear",
5998
+ transition: void 0,
5999
+ beforeClose: void 0,
6000
+ doubleScale: true,
6001
+ overlayStyle: void 0,
6002
+ overlayClass: void 0,
6003
+ startPosition: 0,
6004
+ swipeDuration: 300,
6005
+ showIndicators: false,
6006
+ closeOnPopstate: true,
6007
+ closeOnClickOverlay: true,
6008
+ closeIconPosition: "top-right"
6009
+ };
6010
+ function initInstance$1() {
6011
+ ({
6012
+ instance: instance$1
6013
+ } = mountComponent({
6014
+ setup() {
6015
+ const {
6016
+ state,
6017
+ toggle
6018
+ } = usePopupState();
6019
+ const onClosed = () => {
6020
+ state.images = [];
6021
+ };
6022
+ return () => createVNode(stdin_default$1, mergeProps(state, {
6023
+ "onClosed": onClosed,
6024
+ "onUpdate:show": toggle
6025
+ }), null);
6026
+ }
6027
+ }));
6028
+ }
6029
+ const showImagePreview = (options, startPosition = 0) => {
6030
+ if (!inBrowser$1) {
6031
+ return;
6032
+ }
6033
+ if (!instance$1) {
6034
+ initInstance$1();
6035
+ }
6036
+ options = Array.isArray(options) ? {
6037
+ images: options,
6038
+ startPosition
6039
+ } : options;
6040
+ instance$1.open(extend$1({}, defaultConfig, options));
6041
+ return instance$1;
6042
+ };
4700
6043
  withInstall(stdin_default$1);
4701
6044
  const [name, bem] = createNamespace("notify");
4702
6045
  const popupInheritProps = ["lockScroll", "position", "show", "teleport", "zIndex"];
@@ -14782,7 +16125,7 @@ var lodash$1 = { exports: {} };
14782
16125
  function valuesIn(object) {
14783
16126
  return object == null ? [] : baseValues(object, keysIn(object));
14784
16127
  }
14785
- function clamp(number, lower, upper) {
16128
+ function clamp2(number, lower, upper) {
14786
16129
  if (upper === undefined$12) {
14787
16130
  upper = lower;
14788
16131
  lower = undefined$12;
@@ -15456,7 +16799,7 @@ var lodash$1 = { exports: {} };
15456
16799
  lodash2.camelCase = camelCase;
15457
16800
  lodash2.capitalize = capitalize;
15458
16801
  lodash2.ceil = ceil;
15459
- lodash2.clamp = clamp;
16802
+ lodash2.clamp = clamp2;
15460
16803
  lodash2.clone = clone2;
15461
16804
  lodash2.cloneDeep = cloneDeep;
15462
16805
  lodash2.cloneDeepWith = cloneDeepWith;
@@ -15782,8 +17125,8 @@ var lodash$1 = { exports: {} };
15782
17125
  }).call(commonjsGlobal);
15783
17126
  })(lodash$1, lodash$1.exports);
15784
17127
  var lodash = lodash$1.exports;
15785
- var AuditBar_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".widget[data-v-1e9a1a8a] {\n text-align: center;\n padding: 15px 15px;\n}\n.memo[data-v-1e9a1a8a] {\n margin-bottom: 15px;\n}\n.refuse-btn[data-v-1e9a1a8a] {\n width: 120px;\n margin-right: 15px;\n}\n.pass-btn[data-v-1e9a1a8a] {\n width: 120px;\n}\n.apply-btn[data-v-1e9a1a8a] {\n width: 60vw;\n}\n.task-list[data-v-1e9a1a8a] {\n margin-top: 15px;\n}\n.task-title[data-v-1e9a1a8a] {\n font-size: 14px;\n font-weight: bold;\n color: #333;\n text-align: left;\n}\n.task-user[data-v-1e9a1a8a] {\n font-size: 13px;\n color: #666;\n text-align: left;\n margin-top: 5px;\n}\n.audit-title[data-v-1e9a1a8a] {\n padding: 25px 15px 0 15px;\n font-size: 16px;\n font-weight: bold;\n color: #666;\n text-align: left;\n}")();
15786
- var AuditBar_vue_vue_type_style_index_1_lang = /* @__PURE__ */ (() => "\n:root:root {\r\n --van-popover-action-width: 70vw;\n}\r\n")();
17128
+ var AuditBar_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".widget[data-v-4ca3a098] {\n text-align: center;\n padding: 15px 15px;\n}\n.memo[data-v-4ca3a098] {\n margin-bottom: 15px;\n}\n.refuse-btn[data-v-4ca3a098] {\n width: 120px;\n margin-right: 15px;\n}\n.pass-btn[data-v-4ca3a098] {\n width: 120px;\n}\n.apply-btn[data-v-4ca3a098] {\n width: 60vw;\n}\n.task-list[data-v-4ca3a098] {\n margin-top: 15px;\n}\n.task-title[data-v-4ca3a098] {\n font-size: 14px;\n font-weight: bold;\n color: #333;\n text-align: left;\n}\n.task-user[data-v-4ca3a098] {\n font-size: 13px;\n color: #666;\n text-align: left;\n margin-top: 5px;\n}\n.audit-title[data-v-4ca3a098] {\n padding: 25px 15px 0 15px;\n font-size: 16px;\n font-weight: bold;\n color: #666;\n text-align: left;\n}")();
17129
+ var AuditBar_vue_vue_type_style_index_1_lang = /* @__PURE__ */ (() => "\n:root:root {\n --van-popover-action-width: 70vw;\n}\n")();
15787
17130
  var _export_sfc = (sfc, props) => {
15788
17131
  const target = sfc.__vccOpts || sfc;
15789
17132
  for (const [key, val] of props) {
@@ -15794,7 +17137,7 @@ var _export_sfc = (sfc, props) => {
15794
17137
  const _hoisted_1$k = {
15795
17138
  class: "widget"
15796
17139
  };
15797
- const _hoisted_2$c = /* @__PURE__ */ createTextVNode("\u9A73\u56DE");
17140
+ const _hoisted_2$d = /* @__PURE__ */ createTextVNode("\u9A73\u56DE");
15798
17141
  const _hoisted_3$a = /* @__PURE__ */ createTextVNode("\u63D0\u4EA4");
15799
17142
  const _hoisted_4$9 = /* @__PURE__ */ createTextVNode("\u7533\u8BF7");
15800
17143
  const _hoisted_5$9 = {
@@ -16092,7 +17435,7 @@ const _sfc_main$v = {
16092
17435
  type: "danger",
16093
17436
  onClick: onRefuse
16094
17437
  }, {
16095
- default: withCtx(() => [_hoisted_2$c]),
17438
+ default: withCtx(() => [_hoisted_2$d]),
16096
17439
  _: 1
16097
17440
  })]),
16098
17441
  _: 1
@@ -16140,7 +17483,7 @@ const _sfc_main$v = {
16140
17483
  };
16141
17484
  }
16142
17485
  };
16143
- var AuditBar = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__scopeId", "data-v-1e9a1a8a"]]);
17486
+ var AuditBar = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__scopeId", "data-v-4ca3a098"]]);
16144
17487
  const isClient = typeof window !== "undefined" && typeof document !== "undefined";
16145
17488
  typeof WorkerGlobalScope !== "undefined" && globalThis instanceof WorkerGlobalScope;
16146
17489
  const isDef = (val) => typeof val !== "undefined";
@@ -16207,7 +17550,7 @@ function useVModel(props, key, emit, options = {}) {
16207
17550
  });
16208
17551
  }
16209
17552
  }
16210
- var Input_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "[data-v-ec78c334] .label {\n color: #000 !important;\n}\n[data-v-ec78c334] .van-field__control:disabled {\n color: #000 !important;\n cursor: not-allowed;\n opacity: 1;\n -webkit-text-fill-color: #000;\n}")();
17553
+ var Input_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "[data-v-11282908] .label {\n color: #000 !important;\n}\n[data-v-11282908] .van-field__control:disabled {\n color: #000 !important;\n cursor: not-allowed;\n opacity: 1;\n -webkit-text-fill-color: #000;\n}")();
16211
17554
  const _sfc_main$u = {
16212
17555
  __name: "Input",
16213
17556
  props: {
@@ -16303,8 +17646,8 @@ const _sfc_main$u = {
16303
17646
  };
16304
17647
  }
16305
17648
  };
16306
- var Input = /* @__PURE__ */ _export_sfc(_sfc_main$u, [["__scopeId", "data-v-ec78c334"]]);
16307
- var SinglePicker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "[data-v-24e62c3a] .label {\n color: #000 !important;\n}\n[data-v-24e62c3a] .van-field__control:disabled {\n color: #000 !important;\n cursor: not-allowed;\n opacity: 1;\n -webkit-text-fill-color: #000;\n}")();
17649
+ var Input = /* @__PURE__ */ _export_sfc(_sfc_main$u, [["__scopeId", "data-v-11282908"]]);
17650
+ var SinglePicker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "[data-v-6786fbdf] .label {\n color: #000 !important;\n}\n[data-v-6786fbdf] .van-field__control:disabled {\n color: #000 !important;\n cursor: not-allowed;\n opacity: 1;\n -webkit-text-fill-color: #000;\n}")();
16308
17651
  const _sfc_main$t = {
16309
17652
  __name: "SinglePicker",
16310
17653
  props: {
@@ -16421,12 +17764,12 @@ const _sfc_main$t = {
16421
17764
  };
16422
17765
  }
16423
17766
  };
16424
- var SinglePicker = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-24e62c3a"]]);
16425
- var DataPop_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.popup-box[data-v-10d79413] {\r\n min-height: 20vh;\r\n max-height: 40vh;\r\n overflow-y: auto;\n.checkbox-list[data-v-10d79413] {\r\n padding: 15px 25px;\n[data-v-10d79413] .van-checkbox__label {\r\n flex: 1;\r\n text-align: right;\n}\n}\n}\n.select-all-container[data-v-10d79413] {\r\n font-size: 14px;\r\n padding: 15px 25px 0 15px;\r\n margin: 10px 0;\r\n display: flex;\r\n justify-content: flex-end;\r\n align-items: center;\n}\n.select-all-container .van-checkbox[data-v-10d79413] {\r\n margin-left: auto;\n}\r\n\r\n/* \u65B0\u589E\uFF1A\u8C03\u6574\u65B9\u5F62\u590D\u9009\u6846\u7684\u8FB9\u8DDD */\n.van-checkbox--square[data-v-10d79413] {\r\n margin-left: 8px;\n}\r\n")();
17767
+ var SinglePicker = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-6786fbdf"]]);
17768
+ var DataPop_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.popup-box[data-v-fa22ab88] {\n min-height: 20vh;\n max-height: 40vh;\n overflow-y: auto;\n.checkbox-list[data-v-fa22ab88] {\n padding: 15px 25px;\n[data-v-fa22ab88] .van-checkbox__label {\n flex: 1;\n text-align: right;\n}\n}\n}\n.select-all-container[data-v-fa22ab88] {\n font-size: 14px;\n padding: 15px 25px 0 15px;\n margin: 10px 0;\n display: flex;\n justify-content: flex-end;\n align-items: center;\n}\n.select-all-container .van-checkbox[data-v-fa22ab88] {\n margin-left: auto;\n}\n\n/* \u65B0\u589E\uFF1A\u8C03\u6574\u65B9\u5F62\u590D\u9009\u6846\u7684\u8FB9\u8DDD */\n.van-checkbox--square[data-v-fa22ab88] {\n margin-left: 8px;\n}\n")();
16426
17769
  const _hoisted_1$j = {
16427
17770
  class: "select-all-container"
16428
17771
  };
16429
- const _hoisted_2$b = /* @__PURE__ */ createTextVNode("\u5168\u9009");
17772
+ const _hoisted_2$c = /* @__PURE__ */ createTextVNode("\u5168\u9009");
16430
17773
  const _hoisted_3$9 = {
16431
17774
  class: "checkbox-list"
16432
17775
  };
@@ -16484,7 +17827,7 @@ const _sfc_main$s = {
16484
17827
  onClick: onToggleAll,
16485
17828
  "label-position": "left"
16486
17829
  }, {
16487
- default: withCtx(() => [_hoisted_2$b]),
17830
+ default: withCtx(() => [_hoisted_2$c]),
16488
17831
  _: 1
16489
17832
  }, 8, ["modelValue"])]), createElementVNode("div", _hoisted_3$9, [createVNode(_component_van_checkbox_group, {
16490
17833
  modelValue: unref(modelValue),
@@ -16511,8 +17854,8 @@ const _sfc_main$s = {
16511
17854
  };
16512
17855
  }
16513
17856
  };
16514
- var DataPop = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-10d79413"]]);
16515
- var MultiPicker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.data-item[data-v-95e8cb3c]{\r\n margin: 0 8px 8px 0;\r\n padding: 2px 5px;\n}\r\n")();
17857
+ var DataPop = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-fa22ab88"]]);
17858
+ var MultiPicker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.data-item[data-v-3a55339a]{\n margin: 0 8px 8px 0;\n padding: 2px 5px;\n}\n")();
16516
17859
  const _hoisted_1$i = {
16517
17860
  class: "data-list"
16518
17861
  };
@@ -16652,8 +17995,8 @@ const _sfc_main$r = {
16652
17995
  };
16653
17996
  }
16654
17997
  };
16655
- var MultiPicker = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-95e8cb3c"]]);
16656
- var CheckGroup_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "[data-v-7f5a06de] .label {\n color: #000 !important;\n}\n[data-v-7f5a06de] .van-field__control:disabled {\n color: #000 !important;\n cursor: not-allowed;\n opacity: 1;\n -webkit-text-fill-color: #000;\n}")();
17998
+ var MultiPicker = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-3a55339a"]]);
17999
+ var CheckGroup_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "[data-v-a66fb17e] .label {\n color: #000 !important;\n}\n[data-v-a66fb17e] .van-field__control:disabled {\n color: #000 !important;\n cursor: not-allowed;\n opacity: 1;\n -webkit-text-fill-color: #000;\n}")();
16657
18000
  const _sfc_main$q = {
16658
18001
  __name: "CheckGroup",
16659
18002
  props: {
@@ -16778,7 +18121,7 @@ const _sfc_main$q = {
16778
18121
  };
16779
18122
  }
16780
18123
  };
16781
- var CheckGroup = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["__scopeId", "data-v-7f5a06de"]]);
18124
+ var CheckGroup = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["__scopeId", "data-v-a66fb17e"]]);
16782
18125
  const _sfc_main$p = {
16783
18126
  __name: "DatetimePop",
16784
18127
  props: {
@@ -17181,11 +18524,11 @@ const _sfc_main$o = {
17181
18524
  };
17182
18525
  }
17183
18526
  };
17184
- var data_selector_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.popup-style[data-v-8faf288e] {\r\n height: 21.25rem;\n}\n.showMultipleButton[data-v-8faf288e] {\r\n padding-bottom: 0;\n}\n.showMultipleButton .van-button[data-v-8faf288e] {\r\n border: 0;\n}\n.flex-between[data-v-8faf288e] {\r\n padding: 10px;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\n}\n.bold[data-v-8faf288e] {\r\n font-weight: bold;\r\n color: #444;\n}\n.checkbox-style[data-v-8faf288e] {\r\n /* height: 220px; */\r\n height: calc(220px - 30px);\r\n overflow-y: auto;\n}\n.select-all-container[data-v-8faf288e] {\r\n font-size: 14px;\r\n padding: 0 16px;\r\n margin: 10px 0;\r\n display: flex;\r\n justify-content: flex-end;\r\n align-items: center;\n}\n.select-all-container .van-checkbox[data-v-8faf288e] {\r\n margin-left: auto;\n}\r\n\r\n/* \u65B0\u589E\uFF1A\u8C03\u6574\u65B9\u5F62\u590D\u9009\u6846\u7684\u8FB9\u8DDD */\n.van-checkbox--square[data-v-8faf288e] {\r\n margin-left: 8px;\n}\r\n")();
18527
+ var data_selector_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.popup-style[data-v-3aa36f2a] {\n height: 21.25rem;\n}\n.showMultipleButton[data-v-3aa36f2a] {\n padding-bottom: 0;\n}\n.showMultipleButton .van-button[data-v-3aa36f2a] {\n border: 0;\n}\n.flex-between[data-v-3aa36f2a] {\n padding: 10px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.bold[data-v-3aa36f2a] {\n font-weight: bold;\n color: #444;\n}\n.checkbox-style[data-v-3aa36f2a] {\n /* height: 220px; */\n height: calc(220px - 30px);\n overflow-y: auto;\n}\n.select-all-container[data-v-3aa36f2a] {\n font-size: 14px;\n padding: 0 16px;\n margin: 10px 0;\n display: flex;\n justify-content: flex-end;\n align-items: center;\n}\n.select-all-container .van-checkbox[data-v-3aa36f2a] {\n margin-left: auto;\n}\n\n/* \u65B0\u589E\uFF1A\u8C03\u6574\u65B9\u5F62\u590D\u9009\u6846\u7684\u8FB9\u8DDD */\n.van-checkbox--square[data-v-3aa36f2a] {\n margin-left: 8px;\n}\n")();
17185
18528
  const _hoisted_1$h = {
17186
18529
  class: "pad10 flex-between showMultipleButton"
17187
18530
  };
17188
- const _hoisted_2$a = /* @__PURE__ */ createTextVNode("\u53D6\u6D88");
18531
+ const _hoisted_2$b = /* @__PURE__ */ createTextVNode("\u53D6\u6D88");
17189
18532
  const _hoisted_3$8 = {
17190
18533
  class: "bold"
17191
18534
  };
@@ -17424,7 +18767,7 @@ const _sfc_main$n = {
17424
18767
  size: "normal",
17425
18768
  onClick: cancelSelection
17426
18769
  }, {
17427
- default: withCtx(() => [_hoisted_2$a]),
18770
+ default: withCtx(() => [_hoisted_2$b]),
17428
18771
  _: 1
17429
18772
  }), createElementVNode("div", _hoisted_3$8, toDisplayString(__props.label), 1), createVNode(_component_van_button, {
17430
18773
  plain: "",
@@ -17507,13 +18850,13 @@ const _sfc_main$n = {
17507
18850
  };
17508
18851
  }
17509
18852
  };
17510
- var DataSelector = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-8faf288e"]]);
17511
- var mult_list_selector_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\r\n/* // \u4FEE\u6539 confirmation-group \u548C confirmation-item \u7684\u6837\u5F0F */\n.confirmation-group[data-v-40a09897] {\r\n padding: 0 16px;\r\n --van-checkbox-disabled-icon-color: black;\n}\n.confirmation-item[data-v-40a09897] {\r\n padding: 12px 16px;\r\n margin: 0 -16px;\r\n border-bottom: 1px solid #f5f5f5;\r\n /* \u7981\u7528\u72B6\u6001\u6837\u5F0F */\n}\r\n\r\n/* // \u5728\u4E0B\u65B9\u6DFB\u52A0\u5A92\u4F53\u67E5\u8BE2\u9002\u914D\u5C0F\u5C4F\u5E55 */\n@media (max-width: 320px) {\n.confirmation-item[data-v-40a09897] {\r\n padding: 12px 8px;\r\n margin: 0 -8px;\n}\n}\n.confirmation-item[data-v-40a09897]:last-child {\r\n border-bottom: none;\n}\r\n\r\n/* \u65B0\u589E\u6837\u5F0F */\n.confirmation-tips[data-v-40a09897] {\r\n padding: 12px 16px;\r\n background: #f0faff;\r\n border-radius: 8px;\r\n margin: 10px 16px;\r\n display: flex;\r\n align-items: center;\r\n color: #1989fa;\r\n font-size: 13px;\r\n border: 1px solid #d9efff;\n}\n.confirmation-tips .van-icon[data-v-40a09897] {\r\n margin-right: 8px;\n}\r\n\r\n/* \u65B0\u589E\u5B57\u4F53\u7EE7\u627F\u6837\u5F0F */\n.confirmation-group[data-v-40a09897] {\r\n font-size: inherit; /* \u7EE7\u627F\u7236\u7EA7\u5B57\u4F53\u5927\u5C0F */\n}\n.option-text[data-v-40a09897] {\r\n font-size: 14px; /* \u660E\u786E\u6307\u5B9A\u5B57\u4F53\u5927\u5C0F */\r\n line-height: 1.5; /* \u4FDD\u6301\u884C\u9AD8\u4E00\u81F4 */\r\n /* color:black; */\n}\r\n\r\n/* \u9002\u914D\u79FB\u52A8\u7AEF\u7684\u5B57\u4F53\u8C03\u6574 */\n@media (max-width: 375px) {\n.option-text[data-v-40a09897] {\r\n font-size: 13px;\n}\n}\r\n\r\n/* \u65B0\u589E\u7981\u7528\u72B6\u6001\u6837\u5F0F */\n.custom-checkbox[data-v-40a09897]:disabled .--van-checkbox__icon {\r\n background-color: #f5f5f5;\r\n border-color: #ebedf0;\r\n transition: all 0.3s;\n}\n.custom-checkbox[data-v-40a09897]:disabled .van-checkbox__icon--checked {\r\n background-color: #1989fa;\r\n border-color: #1989fa;\r\n opacity: 0.7;\n}\n.van-checkbox--disabled[data-v-40a09897] .option-text {\r\n color: #969799;\n}\n.van-checkbox--disabled.van-checkbox--checked[data-v-40a09897] .option-text {\r\n color: #1989fa;\r\n opacity: 0.8;\n}\r\n")();
18853
+ var DataSelector = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-3aa36f2a"]]);
18854
+ var mult_list_selector_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n/* // \u4FEE\u6539 confirmation-group \u548C confirmation-item \u7684\u6837\u5F0F */\n.confirmation-group[data-v-0c8dc954] {\n padding: 0 16px;\n --van-checkbox-disabled-icon-color: black;\n}\n.confirmation-item[data-v-0c8dc954] {\n padding: 12px 16px;\n margin: 0 -16px;\n border-bottom: 1px solid #f5f5f5;\n /* \u7981\u7528\u72B6\u6001\u6837\u5F0F */\n}\n\n/* // \u5728\u4E0B\u65B9\u6DFB\u52A0\u5A92\u4F53\u67E5\u8BE2\u9002\u914D\u5C0F\u5C4F\u5E55 */\n@media (max-width: 320px) {\n.confirmation-item[data-v-0c8dc954] {\n padding: 12px 8px;\n margin: 0 -8px;\n}\n}\n.confirmation-item[data-v-0c8dc954]:last-child {\n border-bottom: none;\n}\n\n/* \u65B0\u589E\u6837\u5F0F */\n.confirmation-tips[data-v-0c8dc954] {\n padding: 12px 16px;\n background: #f0faff;\n border-radius: 8px;\n margin: 10px 16px;\n display: flex;\n align-items: center;\n color: #1989fa;\n font-size: 13px;\n border: 1px solid #d9efff;\n}\n.confirmation-tips .van-icon[data-v-0c8dc954] {\n margin-right: 8px;\n}\n\n/* \u65B0\u589E\u5B57\u4F53\u7EE7\u627F\u6837\u5F0F */\n.confirmation-group[data-v-0c8dc954] {\n font-size: inherit; /* \u7EE7\u627F\u7236\u7EA7\u5B57\u4F53\u5927\u5C0F */\n}\n.option-text[data-v-0c8dc954] {\n font-size: 14px; /* \u660E\u786E\u6307\u5B9A\u5B57\u4F53\u5927\u5C0F */\n line-height: 1.5; /* \u4FDD\u6301\u884C\u9AD8\u4E00\u81F4 */\n /* color:black; */\n}\n\n/* \u9002\u914D\u79FB\u52A8\u7AEF\u7684\u5B57\u4F53\u8C03\u6574 */\n@media (max-width: 375px) {\n.option-text[data-v-0c8dc954] {\n font-size: 13px;\n}\n}\n\n/* \u65B0\u589E\u7981\u7528\u72B6\u6001\u6837\u5F0F */\n.custom-checkbox[data-v-0c8dc954]:disabled .--van-checkbox__icon {\n background-color: #f5f5f5;\n border-color: #ebedf0;\n transition: all 0.3s;\n}\n.custom-checkbox[data-v-0c8dc954]:disabled .van-checkbox__icon--checked {\n background-color: #1989fa;\n border-color: #1989fa;\n opacity: 0.7;\n}\n.van-checkbox--disabled[data-v-0c8dc954] .option-text {\n color: #969799;\n}\n.van-checkbox--disabled.van-checkbox--checked[data-v-0c8dc954] .option-text {\n color: #1989fa;\n opacity: 0.8;\n}\n")();
17512
18855
  const _hoisted_1$g = {
17513
18856
  key: 0,
17514
18857
  class: "confirmation-tips"
17515
18858
  };
17516
- const _hoisted_2$9 = {
18859
+ const _hoisted_2$a = {
17517
18860
  class: "option-text"
17518
18861
  };
17519
18862
  const _sfc_main$m = {
@@ -17572,7 +18915,7 @@ const _sfc_main$m = {
17572
18915
  "icon-size": "18px",
17573
18916
  class: "custom-checkbox"
17574
18917
  }, {
17575
- default: withCtx(() => [createElementVNode("span", _hoisted_2$9, toDisplayString(item.label), 1)]),
18918
+ default: withCtx(() => [createElementVNode("span", _hoisted_2$a, toDisplayString(item.label), 1)]),
17576
18919
  _: 2
17577
18920
  }, 1032, ["name"])]);
17578
18921
  }), 128))]),
@@ -17581,12 +18924,12 @@ const _sfc_main$m = {
17581
18924
  };
17582
18925
  }
17583
18926
  };
17584
- var MultListSelector = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-40a09897"]]);
17585
- var subdepartment_selector_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.department-popup[data-v-73eb43f3] {\r\n width: 100%;\r\n height: 60vh;\r\n border-radius: 16px 16px 0 0;\n}\n.popup-container[data-v-73eb43f3] {\r\n display: flex;\r\n flex-direction: column;\r\n flex: 1;\r\n height: 100%;\n}\n.picker-header[data-v-73eb43f3] {\r\n display: flex;\r\n align-items: center;\r\n padding: 12px;\r\n border-bottom: 1px solid #ebedf0;\r\n gap: 8px;\r\n background: #fff;\r\n /* flex-shrink: 0; */\r\n position: sticky;\r\n top: 0;\r\n z-index: 999;\r\n height: 56px;\r\n /* \u56FA\u5B9A\u5934\u90E8\u9AD8\u5EA6 */\r\n flex-shrink: 0;\r\n /* \u9632\u6B62\u5934\u90E8\u88AB\u538B\u7F29 */\n}\n.scroll-container[data-v-73eb43f3] {\r\n flex: 1;\r\n height: 0;\r\n overflow-y: auto;\r\n -webkit-overflow-scrolling: touch;\r\n /* height: calc(80vh - 170px); */\r\n /* \u8BA1\u7B97\u65B9\u5F0F\uFF1A\u603B\u9AD8\u5EA6(80vh) - \u5934\u90E8\u9AD8\u5EA6(56px) - \u641C\u7D22\u6846\u9AD8\u5EA6(52px) */\r\n position: relative;\r\n top: -1px;\n}\n.back-button[data-v-73eb43f3] {\r\n margin-right: 8px;\n}\n.current-path[data-v-73eb43f3] {\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.action-buttons[data-v-73eb43f3] {\r\n display: flex;\r\n gap: 8px;\r\n margin-left: auto;\n}\r\n\r\n/* .scroll-container {\r\n flex: 1;\r\n overflow-y: auto;\r\n -webkit-overflow-scrolling: touch;\r\n} */\n.cell-content[data-v-73eb43f3] {\r\n display: flex;\r\n align-items: center;\r\n gap: 12px;\n}\n.circle-selector[data-v-73eb43f3] {\r\n width: 20px;\r\n height: 20px;\r\n border: 1px solid #ebedf0;\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-73eb43f3] {\r\n background-color: #1989fa;\r\n border-color: #1989fa;\n}\n.circle-selector.selected .van-icon[data-v-73eb43f3] {\r\n color: white;\r\n font-size: 14px;\n}\n.van-cell__right-icon[data-v-73eb43f3] {\r\n color: #969799;\r\n font-size: 16px;\r\n margin-left: 8px;\n}\n.name[data-v-73eb43f3] {\r\n flex: 1;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\n}\n.cancel-btn[data-v-73eb43f3] {\r\n color: #969799;\n}\n.search-field[data-v-73eb43f3] {\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")();
18927
+ var MultListSelector = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-0c8dc954"]]);
18928
+ var subdepartment_selector_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.department-popup[data-v-122ee6bc] {\n width: 100%;\n height: 60vh;\n border-radius: 16px 16px 0 0;\n}\n.popup-container[data-v-122ee6bc] {\n display: flex;\n flex-direction: column;\n flex: 1;\n height: 100%;\n}\n.picker-header[data-v-122ee6bc] {\n display: flex;\n align-items: center;\n padding: 12px;\n border-bottom: 1px solid #ebedf0;\n gap: 8px;\n background: #fff;\n /* flex-shrink: 0; */\n position: sticky;\n top: 0;\n z-index: 999;\n height: 56px;\n /* \u56FA\u5B9A\u5934\u90E8\u9AD8\u5EA6 */\n flex-shrink: 0;\n /* \u9632\u6B62\u5934\u90E8\u88AB\u538B\u7F29 */\n}\n.scroll-container[data-v-122ee6bc] {\n flex: 1;\n height: 0;\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n /* height: calc(80vh - 170px); */\n /* \u8BA1\u7B97\u65B9\u5F0F\uFF1A\u603B\u9AD8\u5EA6(80vh) - \u5934\u90E8\u9AD8\u5EA6(56px) - \u641C\u7D22\u6846\u9AD8\u5EA6(52px) */\n position: relative;\n top: -1px;\n}\n.back-button[data-v-122ee6bc] {\n margin-right: 8px;\n}\n.current-path[data-v-122ee6bc] {\n flex: 1;\n font-size: 14px;\n color: #323233;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.action-buttons[data-v-122ee6bc] {\n display: flex;\n gap: 8px;\n margin-left: auto;\n}\n\n/* .scroll-container {\n flex: 1;\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n} */\n.cell-content[data-v-122ee6bc] {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n.circle-selector[data-v-122ee6bc] {\n width: 20px;\n height: 20px;\n border: 1px solid #ebedf0;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.2s;\n flex-shrink: 0;\n}\n.circle-selector.selected[data-v-122ee6bc] {\n background-color: #1989fa;\n border-color: #1989fa;\n}\n.circle-selector.selected .van-icon[data-v-122ee6bc] {\n color: white;\n font-size: 14px;\n}\n.van-cell__right-icon[data-v-122ee6bc] {\n color: #969799;\n font-size: 16px;\n margin-left: 8px;\n}\n.name[data-v-122ee6bc] {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.cancel-btn[data-v-122ee6bc] {\n color: #969799;\n}\n.search-field[data-v-122ee6bc] {\n background: #fff;\n padding: 10px 16px;\n border-bottom: 1px solid #ebedf0;\n position: sticky;\n top: 0;\n z-index: 999;\n margin-bottom: 10px;\n flex-shrink: 0;\n /* \u9632\u6B62\u538B\u7F29 */\n}\n")();
17586
18929
  const _hoisted_1$f = {
17587
18930
  class: "department-selector"
17588
18931
  };
17589
- const _hoisted_2$8 = {
18932
+ const _hoisted_2$9 = {
17590
18933
  class: "popup-container"
17591
18934
  };
17592
18935
  const _hoisted_3$7 = {
@@ -17873,7 +19216,7 @@ const _sfc_main$l = {
17873
19216
  position: "bottom",
17874
19217
  class: "department-popup"
17875
19218
  }, {
17876
- default: withCtx(() => [createElementVNode("div", _hoisted_2$8, [createElementVNode("div", _hoisted_3$7, [unref(currentLevel) > 0 ? (openBlock(), createBlock(_component_van_button, {
19219
+ default: withCtx(() => [createElementVNode("div", _hoisted_2$9, [createElementVNode("div", _hoisted_3$7, [unref(currentLevel) > 0 ? (openBlock(), createBlock(_component_van_button, {
17877
19220
  key: 0,
17878
19221
  onClick: goBack,
17879
19222
  icon: "arrow-left",
@@ -17941,12 +19284,12 @@ const _sfc_main$l = {
17941
19284
  };
17942
19285
  }
17943
19286
  };
17944
- var SubdepartmentSelector = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-73eb43f3"]]);
17945
- var user_selector_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.user-popup[data-v-6c4b4fc8] {\r\n height: 60vh;\r\n width: 100%;\n}\n.picker-header[data-v-6c4b4fc8] {\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.scroll-container[data-v-6c4b4fc8] {\r\n height: calc(80vh - 150px);\r\n overflow-y: auto;\n}\n.search-container[data-v-6c4b4fc8] {\r\n padding: 10px;\r\n background: #fff;\r\n display: flex;\r\n align-items: center;\r\n gap: 8px;\n}\n[data-v-6c4b4fc8] .search-container .van-search {\r\n flex: 1;\n}\n.search-btn[data-v-6c4b4fc8] {\r\n flex-shrink: 0;\n}\n.select-all-container[data-v-6c4b4fc8] {\r\n font-size: 14px;\r\n padding: 0 16px;\r\n margin: 10px 0;\r\n display: flex;\r\n justify-content: flex-end;\r\n align-items: center;\n}\n[data-v-6c4b4fc8] .van-checkbox__icon--square {\r\n border-radius: 4px;\n}\n[data-v-6c4b4fc8] .van-checkbox__label {\r\n margin-left: 8px;\n}\n[data-v-6c4b4fc8] .van-radio-group .van-cell,[data-v-6c4b4fc8] .van-checkbox-group .van-cell {\r\n align-items: center;\n}\n.current-path[data-v-6c4b4fc8] {\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-6c4b4fc8] {\r\n display: flex;\r\n gap: 8px;\r\n margin-left: auto;\n}\n.cancel-btn[data-v-6c4b4fc8] {\r\n color: #969799;\r\n margin-right: 5px;\n}\r\n")();
19287
+ var SubdepartmentSelector = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-122ee6bc"]]);
19288
+ var user_selector_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.user-popup[data-v-9d9c2ea6] {\n height: 60vh;\n width: 100%;\n}\n.picker-header[data-v-9d9c2ea6] {\n padding: 10px;\n border-bottom: 1px solid #ebedf0;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.scroll-container[data-v-9d9c2ea6] {\n height: calc(80vh - 150px);\n overflow-y: auto;\n}\n.search-container[data-v-9d9c2ea6] {\n padding: 10px;\n background: #fff;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n[data-v-9d9c2ea6] .search-container .van-search {\n flex: 1;\n}\n.search-btn[data-v-9d9c2ea6] {\n flex-shrink: 0;\n}\n.select-all-container[data-v-9d9c2ea6] {\n font-size: 14px;\n padding: 0 16px;\n margin: 10px 0;\n display: flex;\n justify-content: flex-end;\n align-items: center;\n}\n[data-v-9d9c2ea6] .van-checkbox__icon--square {\n border-radius: 4px;\n}\n[data-v-9d9c2ea6] .van-checkbox__label {\n margin-left: 8px;\n}\n[data-v-9d9c2ea6] .van-radio-group .van-cell,[data-v-9d9c2ea6] .van-checkbox-group .van-cell {\n align-items: center;\n}\n.current-path[data-v-9d9c2ea6] {\n flex: 1;\n font-size: 14px;\n color: #323233;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.header-right[data-v-9d9c2ea6] {\n display: flex;\n gap: 8px;\n margin-left: auto;\n}\n.cancel-btn[data-v-9d9c2ea6] {\n color: #969799;\n margin-right: 5px;\n}\n")();
17946
19289
  const _hoisted_1$e = {
17947
19290
  class: "user-selector"
17948
19291
  };
17949
- const _hoisted_2$7 = {
19292
+ const _hoisted_2$8 = {
17950
19293
  class: "popup-container"
17951
19294
  };
17952
19295
  const _hoisted_3$6 = {
@@ -18345,7 +19688,7 @@ const _sfc_main$k = {
18345
19688
  position: "bottom",
18346
19689
  class: "user-popup"
18347
19690
  }, {
18348
- default: withCtx(() => [createElementVNode("div", _hoisted_2$7, [createElementVNode("div", _hoisted_3$6, [createElementVNode("div", _hoisted_4$6, [unref(currentLevel) > 0 ? (openBlock(), createBlock(_component_van_button, {
19691
+ default: withCtx(() => [createElementVNode("div", _hoisted_2$8, [createElementVNode("div", _hoisted_3$6, [createElementVNode("div", _hoisted_4$6, [unref(currentLevel) > 0 ? (openBlock(), createBlock(_component_van_button, {
18349
19692
  key: 0,
18350
19693
  onClick: goBack,
18351
19694
  icon: "arrow-left",
@@ -18469,8 +19812,8 @@ const _sfc_main$k = {
18469
19812
  };
18470
19813
  }
18471
19814
  };
18472
- var UserSelector = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-6c4b4fc8"]]);
18473
- var image_picker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "[data-v-16be97a4] .label {\n color: #000 !important;\n}\n[data-v-16be97a4] .van-field__control:disabled {\n color: #000 !important;\n cursor: not-allowed;\n opacity: 1;\n -webkit-text-fill-color: #000;\n}")();
19815
+ var UserSelector = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-9d9c2ea6"]]);
19816
+ var image_picker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "[data-v-b5f63d62] .label {\n color: #000 !important;\n}\n[data-v-b5f63d62] .van-field__control:disabled {\n color: #000 !important;\n cursor: not-allowed;\n opacity: 1;\n -webkit-text-fill-color: #000;\n}")();
18474
19817
  const _hoisted_1$d = {
18475
19818
  class: "image-box"
18476
19819
  };
@@ -18599,11 +19942,12 @@ const _sfc_main$j = {
18599
19942
  };
18600
19943
  }
18601
19944
  };
18602
- var ImagePicker = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-16be97a4"]]);
18603
- var images_picker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".widget[data-v-8fca1c96] {\n text-align: center;\n}\n.widget .btn[data-v-8fca1c96] {\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}")();
19945
+ var ImagePicker = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-b5f63d62"]]);
19946
+ var images_picker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".image-box .cover[data-v-99388278] {\n width: 80px;\n height: 80px;\n}")();
18604
19947
  const _hoisted_1$c = {
18605
19948
  class: "image-box"
18606
19949
  };
19950
+ const _hoisted_2$7 = ["src", "onClick"];
18607
19951
  const _sfc_main$i = {
18608
19952
  __name: "images_picker",
18609
19953
  props: {
@@ -18637,7 +19981,7 @@ const _sfc_main$i = {
18637
19981
  },
18638
19982
  max: {
18639
19983
  type: Number,
18640
- default: 1e3
19984
+ default: 1e4
18641
19985
  },
18642
19986
  rules: {
18643
19987
  type: Array,
@@ -18646,6 +19990,10 @@ const _sfc_main$i = {
18646
19990
  auth: {
18647
19991
  type: String,
18648
19992
  default: ""
19993
+ },
19994
+ maxPreview: {
19995
+ type: Number,
19996
+ default: 1
18649
19997
  }
18650
19998
  },
18651
19999
  emits: ["update:modelValue"],
@@ -18653,7 +20001,7 @@ const _sfc_main$i = {
18653
20001
  emit
18654
20002
  }) {
18655
20003
  const props = __props;
18656
- useVModel(props, "modelValue", emit);
20004
+ const modelValue = useVModel(props, "modelValue", emit);
18657
20005
  const {
18658
20006
  isRequired,
18659
20007
  isReadonly,
@@ -18661,6 +20009,14 @@ const _sfc_main$i = {
18661
20009
  isDisabled
18662
20010
  } = util.props2auth(props);
18663
20011
  const files = ref([]);
20012
+ const isPreviewMore = ref(false);
20013
+ const previews = computed(() => {
20014
+ if (!modelValue.value || modelValue.value.length < 1)
20015
+ return [];
20016
+ if (props.maxPreview > modelValue.value.length || isPreviewMore.value)
20017
+ return modelValue.value;
20018
+ return modelValue.value.slice(0, props.maxPreview);
20019
+ });
18664
20020
  onMounted(() => {
18665
20021
  });
18666
20022
  const onAfterRead = (file) => __async(this, null, function* () {
@@ -18689,6 +20045,15 @@ const _sfc_main$i = {
18689
20045
  emit("update:modelValue", newUrls);
18690
20046
  return Promise.resolve(e);
18691
20047
  };
20048
+ const onPreview = (i) => {
20049
+ showImagePreview({
20050
+ images: modelValue.value,
20051
+ startPosition: i
20052
+ });
20053
+ };
20054
+ const onToggleMore = () => {
20055
+ isPreviewMore.value = !isPreviewMore.value;
20056
+ };
18692
20057
  watch(() => props.modelValue, (newVal, oldVal) => {
18693
20058
  if (!props.modelValue || props.modelValue.length < 1) {
18694
20059
  files.value = [];
@@ -18705,6 +20070,7 @@ const _sfc_main$i = {
18705
20070
  });
18706
20071
  return (_ctx, _cache) => {
18707
20072
  const _component_van_uploader = resolveComponent("van-uploader");
20073
+ const _component_van_icon = resolveComponent("van-icon");
18708
20074
  const _component_van_field = resolveComponent("van-field");
18709
20075
  return openBlock(), createBlock(_component_van_field, {
18710
20076
  name: "image",
@@ -18714,7 +20080,7 @@ const _sfc_main$i = {
18714
20080
  "label-class": "label",
18715
20081
  placeholder: props.placeholder
18716
20082
  }, {
18717
- input: withCtx(() => [createElementVNode("div", _hoisted_1$c, [props.capture ? (openBlock(), createBlock(_component_van_uploader, {
20083
+ input: withCtx(() => [createElementVNode("div", _hoisted_1$c, [props.capture && !unref(isReadonly) && !unref(isDisabled) ? (openBlock(), createBlock(_component_van_uploader, {
18718
20084
  key: 0,
18719
20085
  modelValue: files.value,
18720
20086
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => files.value = $event),
@@ -18726,7 +20092,7 @@ const _sfc_main$i = {
18726
20092
  afterRead: onAfterRead,
18727
20093
  "before-delete": onBeforeDelete,
18728
20094
  "show-upload": !unref(isReadonly)
18729
- }, null, 8, ["modelValue", "max-count", "capture", "disabled", "deletable", "show-upload"])) : (openBlock(), createBlock(_component_van_uploader, {
20095
+ }, null, 8, ["modelValue", "max-count", "capture", "disabled", "deletable", "show-upload"])) : createCommentVNode("", true), !props.capture && !unref(isReadonly) && !unref(isDisabled) ? (openBlock(), createBlock(_component_van_uploader, {
18730
20096
  key: 1,
18731
20097
  modelValue: files.value,
18732
20098
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => files.value = $event),
@@ -18737,14 +20103,27 @@ const _sfc_main$i = {
18737
20103
  afterRead: onAfterRead,
18738
20104
  "before-delete": onBeforeDelete,
18739
20105
  "show-upload": !unref(isReadonly)
18740
- }, null, 8, ["modelValue", "max-count", "disabled", "deletable", "show-upload"]))])]),
20106
+ }, null, 8, ["modelValue", "max-count", "disabled", "deletable", "show-upload"])) : createCommentVNode("", true), unref(isReadonly) || unref(isDisabled) ? (openBlock(true), createElementBlock(Fragment, {
20107
+ key: 2
20108
+ }, renderList(unref(previews), (cover, i) => {
20109
+ return openBlock(), createElementBlock("img", {
20110
+ class: "cover",
20111
+ key: i,
20112
+ src: cover,
20113
+ onClick: ($event) => onPreview(i)
20114
+ }, null, 8, _hoisted_2$7);
20115
+ }), 128)) : createCommentVNode("", true), unref(modelValue).length > props.maxPreview && (unref(isReadonly) || unref(isDisabled)) ? (openBlock(), createBlock(_component_van_icon, {
20116
+ key: 3,
20117
+ name: "ellipsis",
20118
+ onClick: onToggleMore
20119
+ })) : createCommentVNode("", true)])]),
18741
20120
  _: 1
18742
20121
  }, 8, ["label", "required", "rules", "placeholder"]);
18743
20122
  };
18744
20123
  }
18745
20124
  };
18746
- var ImagesPicker = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-8fca1c96"]]);
18747
- var FilePicker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "[data-v-54cbbc7a] .label {\n color: #000 !important;\n}\n[data-v-54cbbc7a] .van-field__control:disabled {\n color: #000 !important;\n cursor: not-allowed;\n opacity: 1;\n -webkit-text-fill-color: #000;\n}")();
20125
+ var ImagesPicker = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-99388278"]]);
20126
+ var FilePicker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "[data-v-728fd5b5] .label {\n color: #000 !important;\n}\n[data-v-728fd5b5] .van-field__control:disabled {\n color: #000 !important;\n cursor: not-allowed;\n opacity: 1;\n -webkit-text-fill-color: #000;\n}")();
18748
20127
  const _hoisted_1$b = {
18749
20128
  class: "file-box"
18750
20129
  };
@@ -18885,8 +20264,8 @@ const _sfc_main$h = {
18885
20264
  };
18886
20265
  }
18887
20266
  };
18888
- var FilePicker = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-54cbbc7a"]]);
18889
- 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")();
20267
+ var FilePicker = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-728fd5b5"]]);
20268
+ var SingleUserSelector_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.user-popup[data-v-03b9c3fe] {\n width: 100%;\n overflow: hidden;\n}\n.department-selector[data-v-03b9c3fe] {\n padding: 10px;\n}\n.search-buttons[data-v-03b9c3fe] {\n display: flex;\n gap: 10px;\n}\n.clear-btn[data-v-03b9c3fe] {\n background-color: #f2f3f5;\n border: none;\n border-radius: 4px;\n padding: 4px 8px;\n font-size: 14px;\n}\n.confirm-btn[data-v-03b9c3fe] {\n background-color: #1989fa;\n color: white;\n border: none;\n border-radius: 4px;\n padding: 4px 8px;\n font-size: 14px;\n}\n.no-results[data-v-03b9c3fe] {\n text-align: center;\n padding: 20px;\n color: #969799;\n}\n.picker-header[data-v-03b9c3fe] {\n padding: 10px;\n border-bottom: 1px solid #ebedf0;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.current-path[data-v-03b9c3fe] {\n flex: 1;\n font-size: 14px;\n color: #323233;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.header-right[data-v-03b9c3fe] {\n display: flex;\n gap: 8px;\n margin-left: auto;\n}\n.cancel-btn[data-v-03b9c3fe] {\n color: #969799;\n margin-right: 5px;\n}\n.scroll-container[data-v-03b9c3fe] {\n height: calc(80vh - 150px);\n overflow-y: auto;\n}\n")();
18890
20269
  const _hoisted_1$a = {
18891
20270
  class: "department-selector"
18892
20271
  };
@@ -19241,8 +20620,8 @@ const _sfc_main$g = {
19241
20620
  };
19242
20621
  }
19243
20622
  };
19244
- var SingleUserSelector = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-a489ca4c"]]);
19245
- var UserPop_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.user-popup[data-v-78c036bd] {\r\n width: 100%;\r\n overflow: hidden;\n}\n.department-selector[data-v-78c036bd] {\r\n padding: 10px;\n}\n.search-buttons[data-v-78c036bd] {\r\n display: flex;\r\n gap: 10px;\n}\n.clear-btn[data-v-78c036bd] {\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-78c036bd] {\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-78c036bd] {\r\n text-align: center;\r\n padding: 20px;\r\n color: #969799;\n}\n.picker-header[data-v-78c036bd] {\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-78c036bd] {\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-78c036bd] {\r\n display: flex;\r\n gap: 8px;\r\n margin-left: auto;\n}\n.cancel-btn[data-v-78c036bd] {\r\n color: #969799;\r\n margin-right: 5px;\n}\n.scroll-container[data-v-78c036bd] {\r\n height: calc(80vh - 150px);\r\n overflow-y: auto;\n}\r\n")();
20623
+ var SingleUserSelector = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-03b9c3fe"]]);
20624
+ var UserPop_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.user-popup[data-v-416c0914] {\n width: 100%;\n overflow: hidden;\n}\n.department-selector[data-v-416c0914] {\n padding: 10px;\n}\n.search-buttons[data-v-416c0914] {\n display: flex;\n gap: 10px;\n}\n.clear-btn[data-v-416c0914] {\n background-color: #f2f3f5;\n border: none;\n border-radius: 4px;\n padding: 4px 8px;\n font-size: 14px;\n}\n.confirm-btn[data-v-416c0914] {\n background-color: #1989fa;\n color: white;\n border: none;\n border-radius: 4px;\n padding: 4px 8px;\n font-size: 14px;\n}\n.no-results[data-v-416c0914] {\n text-align: center;\n padding: 20px;\n color: #969799;\n}\n.picker-header[data-v-416c0914] {\n padding: 10px;\n border-bottom: 1px solid #ebedf0;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.current-path[data-v-416c0914] {\n flex: 1;\n font-size: 14px;\n color: #323233;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.header-right[data-v-416c0914] {\n display: flex;\n gap: 8px;\n margin-left: auto;\n}\n.cancel-btn[data-v-416c0914] {\n color: #969799;\n margin-right: 5px;\n}\n.scroll-container[data-v-416c0914] {\n height: calc(80vh - 150px);\n overflow-y: auto;\n}\n")();
19246
20625
  const _hoisted_1$9 = {
19247
20626
  class: "department-selector"
19248
20627
  };
@@ -19513,8 +20892,8 @@ const _sfc_main$f = {
19513
20892
  };
19514
20893
  }
19515
20894
  };
19516
- var UserPop = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-78c036bd"]]);
19517
- var UsersPicker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.user-item[data-v-4022cd82]{\r\n margin:3px;\n}\r\n")();
20895
+ var UserPop = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-416c0914"]]);
20896
+ var UsersPicker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.user-item[data-v-5378e174]{\n margin:3px;\n}\n")();
19518
20897
  const _hoisted_1$8 = {
19519
20898
  class: "user-list"
19520
20899
  };
@@ -19640,8 +21019,8 @@ const _sfc_main$e = {
19640
21019
  };
19641
21020
  }
19642
21021
  };
19643
- var UsersPicker = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-4022cd82"]]);
19644
- var UserPicker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.user[data-v-58929b5a]{\r\n padding:4px 8px;\n}\r\n")();
21022
+ var UsersPicker = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-5378e174"]]);
21023
+ var UserPicker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.user[data-v-015e01f2]{\n padding:4px 8px;\n}\n")();
19645
21024
  const _sfc_main$d = {
19646
21025
  __name: "UserPicker",
19647
21026
  props: {
@@ -19756,8 +21135,8 @@ const _sfc_main$d = {
19756
21135
  };
19757
21136
  }
19758
21137
  };
19759
- var UserPicker = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-58929b5a"]]);
19760
- var UserProfile_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.widget[data-v-107e26c3] {\r\n position: relative;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n justify-content: space-around;\r\n padding: 20px;\r\n background: linear-gradient(to right, #4a90e2, #87ceeb);\r\n border-radius: 10px;\r\n box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);\n.user-avatar[data-v-107e26c3] {\r\n margin-bottom: 15px;\n}\n.user-info[data-v-107e26c3] {\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-around;\r\n margin-bottom: 15px;\n.user-info-item[data-v-107e26c3] {\r\n font-size: 16px;\r\n line-height: 22px;\r\n color: #fff;\r\n text-align: center;\r\n padding: 0 3px;\n}\n}\n.space[data-v-107e26c3] {\r\n min-height: 10px;\r\n flex: 1;\n}\r\n\r\n /* \u6DFB\u52A0\u9000\u51FA\u6309\u94AE\u6837\u5F0F */\n.logout-button[data-v-107e26c3] {\r\n width: 70px;\r\n height: 30px;\r\n position: absolute;\r\n top: 20px;\r\n right: 20px;\r\n background-color: rgba(255, 255, 255, 0.2);\r\n color: white;\r\n border: none;\r\n border-radius: 15px;\r\n padding: 5px 15px;\r\n cursor: pointer;\r\n font-size: 14px;\r\n transition: background-color 0.3s;\n}\n.logout-button[data-v-107e26c3]:hover {\r\n background-color: rgba(255, 255, 255, 0.4);\n}\n.user-jobs[data-v-107e26c3] {\r\n display: flex;\r\n justify-content: center;\r\n gap: 15px;\r\n width: 100%;\r\n max-width: 300px;\n.job-item[data-v-107e26c3] {\r\n padding: 5px 10px;\r\n background-color: rgba(255, 255, 255, 0.2);\r\n border-radius: 20px;\r\n font-size: 12px;\r\n color: #fff;\n}\n}\n}\r\n")();
21138
+ var UserPicker = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-015e01f2"]]);
21139
+ var UserProfile_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.widget[data-v-b574b008] {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: space-around;\n padding: 20px;\n background: linear-gradient(to right, #4a90e2, #87ceeb);\n border-radius: 10px;\n box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);\n.user-avatar[data-v-b574b008] {\n margin-bottom: 15px;\n}\n.user-info[data-v-b574b008] {\n display: flex;\n align-items: center;\n justify-content: space-around;\n margin-bottom: 15px;\n.user-info-item[data-v-b574b008] {\n font-size: 16px;\n line-height: 22px;\n color: #fff;\n text-align: center;\n padding: 0 3px;\n}\n}\n.space[data-v-b574b008] {\n min-height: 10px;\n flex: 1;\n}\n\n /* \u6DFB\u52A0\u9000\u51FA\u6309\u94AE\u6837\u5F0F */\n.logout-button[data-v-b574b008] {\n width: 70px;\n height: 30px;\n position: absolute;\n top: 20px;\n right: 20px;\n background-color: rgba(255, 255, 255, 0.2);\n color: white;\n border: none;\n border-radius: 15px;\n padding: 5px 15px;\n cursor: pointer;\n font-size: 14px;\n transition: background-color 0.3s;\n}\n.logout-button[data-v-b574b008]:hover {\n background-color: rgba(255, 255, 255, 0.4);\n}\n.user-jobs[data-v-b574b008] {\n display: flex;\n justify-content: center;\n gap: 15px;\n width: 100%;\n max-width: 300px;\n.job-item[data-v-b574b008] {\n padding: 5px 10px;\n background-color: rgba(255, 255, 255, 0.2);\n border-radius: 20px;\n font-size: 12px;\n color: #fff;\n}\n}\n}\n")();
19761
21140
  const _hoisted_1$7 = {
19762
21141
  class: "widget"
19763
21142
  };
@@ -19836,8 +21215,8 @@ const _sfc_main$c = {
19836
21215
  };
19837
21216
  }
19838
21217
  };
19839
- var UserProfile = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-107e26c3"]]);
19840
- var BillCard_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".widget[data-v-5f12f3e8] {\n background-color: white;\n border-radius: 8px;\n box-shadow: var(--van-dropdown-menu-shadow);\n color: 14px;\n}\n.widget .card-box[data-v-5f12f3e8] {\n padding-bottom: 8px;\n}\n.widget .card-box .card-header[data-v-5f12f3e8] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 15px 10px;\n border-bottom: 1px solid #eee;\n}\n.widget .card-box .card-header .card-sum[data-v-5f12f3e8] {\n flex: 1;\n font-size: 14px;\n text-align: left;\n}\n.widget .card-box .card-header .user-state[data-v-5f12f3e8] {\n margin-right: 1px;\n}\n[data-v-5f12f3e8] .van-cell__value {\n flex: 2 !important;\n}\n[data-v-5f12f3e8] .van-cell__title {\n font-size: 12px !important;\n color: #666 !important;\n text-align: left !important;\n}\n[data-v-5f12f3e8] .van-cell__value {\n font-size: 12px !important;\n color: #888 !important;\n}\n[data-v-5f12f3e8] .van-cell {\n padding: 2px 10px !important;\n}")();
21218
+ var UserProfile = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-b574b008"]]);
21219
+ var BillCard_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".widget[data-v-05e3b99c] {\n background-color: white;\n border-radius: 8px;\n box-shadow: var(--van-dropdown-menu-shadow);\n color: 14px;\n}\n.widget .card-box[data-v-05e3b99c] {\n padding-bottom: 8px;\n}\n.widget .card-box .card-header[data-v-05e3b99c] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 15px 10px;\n border-bottom: 1px solid #eee;\n}\n.widget .card-box .card-header .card-sum[data-v-05e3b99c] {\n flex: 1;\n font-size: 14px;\n text-align: left;\n}\n.widget .card-box .card-header .user-state[data-v-05e3b99c] {\n margin-right: 1px;\n}\n[data-v-05e3b99c] .van-cell__value {\n flex: 2 !important;\n}\n[data-v-05e3b99c] .van-cell__title {\n font-size: 12px !important;\n color: #666 !important;\n text-align: left !important;\n}\n[data-v-05e3b99c] .van-cell__value {\n font-size: 12px !important;\n color: #888 !important;\n}\n[data-v-05e3b99c] .van-cell {\n padding: 2px 10px !important;\n}")();
19841
21220
  const _hoisted_1$6 = {
19842
21221
  class: "widget"
19843
21222
  };
@@ -19967,7 +21346,7 @@ const _sfc_main$b = {
19967
21346
  };
19968
21347
  }
19969
21348
  };
19970
- var BillCard = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-5f12f3e8"]]);
21349
+ var BillCard = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-05e3b99c"]]);
19971
21350
  const _sfc_main$a = {
19972
21351
  __name: "YearDropdown",
19973
21352
  props: {
@@ -20135,7 +21514,7 @@ const _sfc_main$8 = {
20135
21514
  };
20136
21515
  }
20137
21516
  };
20138
- var Switch_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "[data-v-d8d21ade] .label {\n color: #000 !important;\n}\n[data-v-d8d21ade] .van-field__control:disabled {\n color: #000 !important;\n cursor: not-allowed;\n opacity: 1;\n -webkit-text-fill-color: #000;\n}")();
21517
+ var Switch_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "[data-v-71b140b3] .label {\n color: #000 !important;\n}\n[data-v-71b140b3] .van-field__control:disabled {\n color: #000 !important;\n cursor: not-allowed;\n opacity: 1;\n -webkit-text-fill-color: #000;\n}")();
20139
21518
  const _sfc_main$7 = {
20140
21519
  __name: "Switch",
20141
21520
  props: {
@@ -20204,8 +21583,8 @@ const _sfc_main$7 = {
20204
21583
  };
20205
21584
  }
20206
21585
  };
20207
- var Switch = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-d8d21ade"]]);
20208
- var Sheet_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".item-box[data-v-2bd62a7a] {\n position: relative;\n padding-bottom: 5px;\n border-bottom: 1px solid #e1e1e1;\n}\n.actionbar[data-v-2bd62a7a] {\n display: flex;\n justify-content: center;\n margin-top: 5px;\n}\n[data-v-2bd62a7a] .label {\n color: #000 !important;\n}\n[data-v-2bd62a7a] .van-field__control--custom {\n display: block;\n}")();
21586
+ var Switch = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-71b140b3"]]);
21587
+ var Sheet_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".item-box[data-v-4eaf7b54] {\n position: relative;\n padding-bottom: 5px;\n border-bottom: 1px solid #e1e1e1;\n}\n.actionbar[data-v-4eaf7b54] {\n display: flex;\n justify-content: center;\n margin-top: 5px;\n}\n[data-v-4eaf7b54] .label {\n color: #000 !important;\n}\n[data-v-4eaf7b54] .van-field__control--custom {\n display: block;\n}")();
20209
21588
  const _hoisted_1$5 = {
20210
21589
  key: 0,
20211
21590
  class: "actionbar"
@@ -20307,8 +21686,8 @@ const _sfc_main$6 = {
20307
21686
  };
20308
21687
  }
20309
21688
  };
20310
- var Sheet = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-2bd62a7a"]]);
20311
- var TreePop_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.popup-box[data-v-571370f8] {\r\n min-height: 20vh;\r\n max-height: 40vh;\r\n overflow-y: auto;\n.checkbox-list[data-v-571370f8] {\r\n padding: 15px 25px;\n[data-v-571370f8] .van-checkbox__label {\r\n flex: 1;\r\n text-align: right;\n}\n}\n}\n.select-all-container[data-v-571370f8] {\r\n font-size: 14px;\r\n padding: 15px 25px 0 15px;\r\n margin: 10px 0;\r\n display: flex;\r\n justify-content: flex-end;\r\n align-items: center;\n}\n.select-all-container .van-checkbox[data-v-571370f8] {\r\n margin-left: auto;\n}\r\n\r\n/* \u65B0\u589E\uFF1A\u8C03\u6574\u65B9\u5F62\u590D\u9009\u6846\u7684\u8FB9\u8DDD */\n.van-checkbox--square[data-v-571370f8] {\r\n margin-left: 8px;\n}\r\n")();
21689
+ var Sheet = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-4eaf7b54"]]);
21690
+ var TreePop_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.popup-box[data-v-2e9ed6fc] {\n min-height: 20vh;\n max-height: 40vh;\n overflow-y: auto;\n.checkbox-list[data-v-2e9ed6fc] {\n padding: 15px 25px;\n[data-v-2e9ed6fc] .van-checkbox__label {\n flex: 1;\n text-align: right;\n}\n}\n}\n.select-all-container[data-v-2e9ed6fc] {\n font-size: 14px;\n padding: 15px 25px 0 15px;\n margin: 10px 0;\n display: flex;\n justify-content: flex-end;\n align-items: center;\n}\n.select-all-container .van-checkbox[data-v-2e9ed6fc] {\n margin-left: auto;\n}\n\n/* \u65B0\u589E\uFF1A\u8C03\u6574\u65B9\u5F62\u590D\u9009\u6846\u7684\u8FB9\u8DDD */\n.van-checkbox--square[data-v-2e9ed6fc] {\n margin-left: 8px;\n}\n")();
20312
21691
  const _sfc_main$5 = {
20313
21692
  __name: "TreePop",
20314
21693
  props: {
@@ -20358,8 +21737,8 @@ const _sfc_main$5 = {
20358
21737
  };
20359
21738
  }
20360
21739
  };
20361
- var TreePop = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-571370f8"]]);
20362
- var TreePicker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.select-item[data-v-6744b874]{\r\n margin:3px;\n}\r\n")();
21740
+ var TreePop = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-2e9ed6fc"]]);
21741
+ var TreePicker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.select-item[data-v-3fa519af]{\n margin:3px;\n}\n")();
20363
21742
  const _hoisted_1$4 = {
20364
21743
  class: "select-list"
20365
21744
  };
@@ -20481,8 +21860,8 @@ const _sfc_main$4 = {
20481
21860
  };
20482
21861
  }
20483
21862
  };
20484
- var TreePicker = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-6744b874"]]);
20485
- 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")();
21863
+ var TreePicker = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-3fa519af"]]);
21864
+ var CascaderPop_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.cascader-pop[data-v-005c3cf4] {\n width: 100%;\n overflow: hidden;\n}\n.cascader-selector[data-v-005c3cf4] {\n padding: 10px;\n}\n.search-buttons[data-v-005c3cf4] {\n display: flex;\n gap: 10px;\n}\n.clear-btn[data-v-005c3cf4] {\n background-color: #f2f3f5;\n border: none;\n border-radius: 4px;\n padding: 4px 8px;\n font-size: 14px;\n}\n.confirm-btn[data-v-005c3cf4] {\n background-color: #1989fa;\n color: white;\n border: none;\n border-radius: 4px;\n padding: 4px 8px;\n font-size: 14px;\n}\n.no-results[data-v-005c3cf4] {\n text-align: center;\n padding: 20px;\n color: #969799;\n}\n.cascader-header[data-v-005c3cf4] {\n padding: 10px;\n border-bottom: 1px solid #ebedf0;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.current-path[data-v-005c3cf4] {\n flex: 1;\n font-size: 14px;\n color: #323233;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.header-right[data-v-005c3cf4] {\n display: flex;\n gap: 8px;\n margin-left: auto;\n}\n.cancel-btn[data-v-005c3cf4] {\n color: #969799;\n margin-right: 5px;\n}\n.scroll-container[data-v-005c3cf4] {\n height: calc(80vh - 150px);\n overflow-y: auto;\n}\n.cell-content[data-v-005c3cf4] {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n.circle-selector[data-v-005c3cf4] {\n width: 20px;\n height: 20px;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.2s;\n flex-shrink: 0;\n}\n.circle-selector.selected[data-v-005c3cf4] {\n background-color: #1989fa;\n border-color: #1989fa;\n}\n.circle-selector.selected .van-icon[data-v-005c3cf4] {\n color: white;\n font-size: 14px;\n}\n.van-cell__right-icon[data-v-005c3cf4] {\n color: #969799;\n font-size: 16px;\n margin-left: 8px;\n}\n.name[data-v-005c3cf4] {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.cancel-btn[data-v-005c3cf4] {\n color: #969799;\n}\n.search-field[data-v-005c3cf4] {\n background: #fff;\n padding: 10px 16px;\n border-bottom: 1px solid #ebedf0;\n position: sticky;\n top: 0;\n z-index: 999;\n margin-bottom: 10px;\n flex-shrink: 0;\n /* \u9632\u6B62\u538B\u7F29 */\n}\n")();
20486
21865
  const _hoisted_1$3 = {
20487
21866
  class: "cascader-selector"
20488
21867
  };
@@ -20754,7 +22133,7 @@ const _sfc_main$3 = {
20754
22133
  };
20755
22134
  }
20756
22135
  };
20757
- var CascaderPop = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-1c8388a5"]]);
22136
+ var CascaderPop = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-005c3cf4"]]);
20758
22137
  const _hoisted_1$2 = {
20759
22138
  style: {
20760
22139
  "display": "flex",
@@ -20928,7 +22307,7 @@ const _sfc_main$2 = {
20928
22307
  };
20929
22308
  }
20930
22309
  };
20931
- var SingleApiPicker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => '@charset "UTF-8";\n.widget[data-v-0c8e09c0] {\n /* \u7EDF\u4E00\u5B57\u6BB5\u95F4\u8DDD */\n}\n.widget[data-v-0c8e09c0] .van-cell {\n align-items: center;\n}\n.widget[data-v-0c8e09c0] .van-field__label {\n width: 90px;\n flex: none;\n}\n.widget .readonly-field[data-v-0c8e09c0] {\n /* \u6DFB\u52A0\u5FC5\u586B\u661F\u53F7\u5BF9\u9F50 */\n}\n.widget .readonly-field[data-v-0c8e09c0] .van-field__control {\n color: #323233;\n /* \u4FEE\u6539\u6587\u5B57\u989C\u8272\u4E0E\u666E\u901A\u5B57\u6BB5\u4E00\u81F4 */\n padding-right: 16px;\n}\n.widget .readonly-field.van-field--required[data-v-0c8e09c0] .van-field__label::before {\n margin-right: 4px;\n}\n.widget .readonly-field[data-v-0c8e09c0] {\n margin: 4px 0;\n}')();
22310
+ var SingleApiPicker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => '@charset "UTF-8";\n.widget[data-v-7cd48f9e] {\n /* \u7EDF\u4E00\u5B57\u6BB5\u95F4\u8DDD */\n}\n.widget[data-v-7cd48f9e] .van-cell {\n align-items: center;\n}\n.widget[data-v-7cd48f9e] .van-field__label {\n width: 90px;\n flex: none;\n}\n.widget .readonly-field[data-v-7cd48f9e] {\n /* \u6DFB\u52A0\u5FC5\u586B\u661F\u53F7\u5BF9\u9F50 */\n}\n.widget .readonly-field[data-v-7cd48f9e] .van-field__control {\n color: #323233;\n /* \u4FEE\u6539\u6587\u5B57\u989C\u8272\u4E0E\u666E\u901A\u5B57\u6BB5\u4E00\u81F4 */\n padding-right: 16px;\n}\n.widget .readonly-field.van-field--required[data-v-7cd48f9e] .van-field__label::before {\n margin-right: 4px;\n}\n.widget .readonly-field[data-v-7cd48f9e] {\n margin: 4px 0;\n}')();
20932
22311
  const _hoisted_1$1 = {
20933
22312
  class: "widget"
20934
22313
  };
@@ -21030,8 +22409,8 @@ const _sfc_main$1 = {
21030
22409
  };
21031
22410
  }
21032
22411
  };
21033
- var SingleApiPicker = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-0c8e09c0"]]);
21034
- var ObjsEditor_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".widget[data-v-222a5036] {\n background: #fff;\n box-sizing: border-box;\n height: 100%;\n text-align: left;\n font-size: 12px;\n}\n.option[data-v-222a5036] {\n margin: 0 8px 8px 0;\n padding: 5px 10px;\n border-radius: 6px;\n border: 2px solid #e1e1e1;\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);\n color: #666;\n display: inline-block;\n position: relative;\n}\n[data-v-222a5036] .van-field__label {\n margin: auto;\n}\n[data-v-222a5036] .van-cell {\n font-size: 12px;\n padding: 5px 5px;\n}\n[data-v-222a5036] .van-icon {\n font-size: 12px;\n}\n[data-v-222a5036] .van-popup .van-cell {\n padding: 5px 25px;\n}")();
22412
+ var SingleApiPicker = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-7cd48f9e"]]);
22413
+ var ObjsEditor_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".widget[data-v-d3252972] {\n background: #fff;\n box-sizing: border-box;\n height: 100%;\n text-align: left;\n font-size: 12px;\n}\n.option[data-v-d3252972] {\n margin: 0 8px 8px 0;\n padding: 5px 10px;\n border-radius: 6px;\n border: 2px solid #e1e1e1;\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);\n color: #666;\n display: inline-block;\n position: relative;\n}\n[data-v-d3252972] .van-field__label {\n margin: auto;\n}\n[data-v-d3252972] .van-cell {\n font-size: 12px;\n padding: 5px 5px;\n}\n[data-v-d3252972] .van-icon {\n font-size: 12px;\n}\n[data-v-d3252972] .van-popup .van-cell {\n padding: 5px 25px;\n}")();
21035
22414
  const _hoisted_1 = {
21036
22415
  class: "widget-box"
21037
22416
  };
@@ -21387,7 +22766,7 @@ const _sfc_main = {
21387
22766
  };
21388
22767
  }
21389
22768
  };
21390
- var ObjsEditor = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-222a5036"]]);
22769
+ var ObjsEditor = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-d3252972"]]);
21391
22770
  const secret_notify = () => {
21392
22771
  showNotify({ type: "danger", message: "\u4E25\u683C\u6267\u884C\u4FE1\u606F\u4FDD\u5BC6\u8981\u6C42\uFF0C\u5207\u5B9E\u9632\u8303\u4F01\u4E1A\u6CC4\u5BC6\u98CE\u9669", duration: 3e3 });
21393
22772
  };