widget.qw 1.0.98 → 1.1.0

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.
@@ -51,13 +51,13 @@ var __async = (__this, __arguments, generator) => {
51
51
  }
52
52
  return target;
53
53
  };
54
- const _hoisted_1$m = {
54
+ const _hoisted_1$k = {
55
55
  class: "enterprise-header"
56
56
  };
57
- const _hoisted_2$f = {
57
+ const _hoisted_2$e = {
58
58
  class: "header-title"
59
59
  };
60
- const _sfc_main$x = {
60
+ const _sfc_main$u = {
61
61
  __name: "HeadBar",
62
62
  props: {
63
63
  title: {
@@ -89,13 +89,13 @@ var __async = (__this, __arguments, generator) => {
89
89
  };
90
90
  return (_ctx, _cache) => {
91
91
  const _component_van_icon = vue.resolveComponent("van-icon");
92
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$m, [vue.unref(canGoBack) ? (vue.openBlock(), vue.createElementBlock("button", {
92
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$k, [vue.unref(canGoBack) ? (vue.openBlock(), vue.createElementBlock("button", {
93
93
  key: 0,
94
94
  class: "header-btn back-btn",
95
95
  onClick: handleBack
96
96
  }, [vue.createVNode(_component_van_icon, {
97
97
  name: "arrow-left"
98
- })])) : vue.createCommentVNode("", true), vue.createElementVNode("div", _hoisted_2$f, vue.toDisplayString(__props2.title), 1), vue.createElementVNode("button", {
98
+ })])) : vue.createCommentVNode("", true), vue.createElementVNode("div", _hoisted_2$e, vue.toDisplayString(__props2.title), 1), vue.createElementVNode("button", {
99
99
  class: "header-btn home-btn",
100
100
  onClick: handleHome
101
101
  }, [vue.createVNode(_component_van_icon, {
@@ -104,7 +104,7 @@ var __async = (__this, __arguments, generator) => {
104
104
  };
105
105
  }
106
106
  };
107
- var HeadBar = /* @__PURE__ */ _export_sfc(_sfc_main$x, [["__scopeId", "data-v-435ecee6"]]);
107
+ var HeadBar = /* @__PURE__ */ _export_sfc(_sfc_main$u, [["__scopeId", "data-v-435ecee6"]]);
108
108
  var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
109
109
  function getAugmentedNamespace(n) {
110
110
  if (n.__esModule)
@@ -17205,20 +17205,20 @@ var __async = (__this, __arguments, generator) => {
17205
17205
  var lodash = lodash$1.exports;
17206
17206
  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}")();
17207
17207
  var AuditBar_vue_vue_type_style_index_1_lang = /* @__PURE__ */ (() => "\n:root:root {\r\n --van-popover-action-width: 70vw;\n}\r\n")();
17208
- const _hoisted_1$l = {
17208
+ const _hoisted_1$j = {
17209
17209
  class: "widget"
17210
17210
  };
17211
- const _hoisted_2$e = /* @__PURE__ */ vue.createTextVNode("\u9A73\u56DE");
17212
- const _hoisted_3$b = /* @__PURE__ */ vue.createTextVNode("\u63D0\u4EA4");
17213
- const _hoisted_4$a = /* @__PURE__ */ vue.createTextVNode("\u7533\u8BF7");
17214
- const _hoisted_5$9 = {
17211
+ const _hoisted_2$d = /* @__PURE__ */ vue.createTextVNode("\u9A73\u56DE");
17212
+ const _hoisted_3$a = /* @__PURE__ */ vue.createTextVNode("\u63D0\u4EA4");
17213
+ const _hoisted_4$9 = /* @__PURE__ */ vue.createTextVNode("\u7533\u8BF7");
17214
+ const _hoisted_5$8 = {
17215
17215
  key: 4,
17216
17216
  class: "audit-title"
17217
17217
  };
17218
- const _hoisted_6$8 = {
17218
+ const _hoisted_6$7 = {
17219
17219
  class: "task-title"
17220
17220
  };
17221
- const _sfc_main$w = {
17221
+ const _sfc_main$t = {
17222
17222
  __name: "AuditBar",
17223
17223
  props: {
17224
17224
  processId: {
@@ -17485,7 +17485,7 @@ var __async = (__this, __arguments, generator) => {
17485
17485
  const _component_van_popover = vue.resolveComponent("van-popover");
17486
17486
  const _component_van_step = vue.resolveComponent("van-step");
17487
17487
  const _component_van_steps = vue.resolveComponent("van-steps");
17488
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$l, [vue.unref(canPass) || vue.unref(canRefuse) ? (vue.openBlock(), vue.createBlock(_component_van_field, {
17488
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$j, [vue.unref(canPass) || vue.unref(canRefuse) ? (vue.openBlock(), vue.createBlock(_component_van_field, {
17489
17489
  key: 0,
17490
17490
  modelValue: data2.memo,
17491
17491
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => data2.memo = $event),
@@ -17506,7 +17506,7 @@ var __async = (__this, __arguments, generator) => {
17506
17506
  type: "danger",
17507
17507
  onClick: onRefuse
17508
17508
  }, {
17509
- default: vue.withCtx(() => [_hoisted_2$e]),
17509
+ default: vue.withCtx(() => [_hoisted_2$d]),
17510
17510
  _: 1
17511
17511
  })]),
17512
17512
  _: 1
@@ -17517,7 +17517,7 @@ var __async = (__this, __arguments, generator) => {
17517
17517
  "native-type": "submit",
17518
17518
  onClick: onPass
17519
17519
  }, {
17520
- default: vue.withCtx(() => [_hoisted_3$b]),
17520
+ default: vue.withCtx(() => [_hoisted_3$a]),
17521
17521
  _: 1
17522
17522
  })) : vue.createCommentVNode("", true), vue.unref(canApply) ? (vue.openBlock(), vue.createBlock(_component_van_button, {
17523
17523
  key: 3,
@@ -17526,9 +17526,9 @@ var __async = (__this, __arguments, generator) => {
17526
17526
  "native-type": "submit",
17527
17527
  onClick: onApply
17528
17528
  }, {
17529
- default: vue.withCtx(() => [_hoisted_4$a]),
17529
+ default: vue.withCtx(() => [_hoisted_4$9]),
17530
17530
  _: 1
17531
- })) : vue.createCommentVNode("", true), data2.process && data2.process.id ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$9, vue.toDisplayString(vue.unref(formatProcessTitle)), 1)) : vue.createCommentVNode("", true), data2.process && data2.process.id ? (vue.openBlock(), vue.createBlock(_component_van_steps, {
17531
+ })) : vue.createCommentVNode("", true), data2.process && data2.process.id ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$8, vue.toDisplayString(vue.unref(formatProcessTitle)), 1)) : vue.createCommentVNode("", true), data2.process && data2.process.id ? (vue.openBlock(), vue.createBlock(_component_van_steps, {
17532
17532
  key: 5,
17533
17533
  class: "task-list",
17534
17534
  direction: "vertical",
@@ -17538,7 +17538,7 @@ var __async = (__this, __arguments, generator) => {
17538
17538
  return vue.openBlock(), vue.createBlock(_component_van_step, {
17539
17539
  key: i
17540
17540
  }, {
17541
- default: vue.withCtx(() => [vue.createElementVNode("div", _hoisted_6$8, vue.toDisplayString(formatTitle(task)), 1), task.executors ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, {
17541
+ default: vue.withCtx(() => [vue.createElementVNode("div", _hoisted_6$7, vue.toDisplayString(formatTitle(task)), 1), task.executors ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, {
17542
17542
  key: 0
17543
17543
  }, vue.renderList(task.executors, (executor, j) => {
17544
17544
  return vue.openBlock(), vue.createElementBlock("div", {
@@ -17554,7 +17554,7 @@ var __async = (__this, __arguments, generator) => {
17554
17554
  };
17555
17555
  }
17556
17556
  };
17557
- var AuditBar = /* @__PURE__ */ _export_sfc(_sfc_main$w, [["__scopeId", "data-v-1e9a1a8a"]]);
17557
+ var AuditBar = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-1e9a1a8a"]]);
17558
17558
  const isClient = typeof window !== "undefined" && typeof document !== "undefined";
17559
17559
  typeof WorkerGlobalScope !== "undefined" && globalThis instanceof WorkerGlobalScope;
17560
17560
  const isDef = (val) => typeof val !== "undefined";
@@ -17622,25 +17622,25 @@ var __async = (__this, __arguments, generator) => {
17622
17622
  }
17623
17623
  }
17624
17624
  var Input_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "[data-v-bdbdf60a] .label {\n color: #000 !important;\n}\n[data-v-bdbdf60a] .van-field__control:disabled {\n color: #000 !important;\n cursor: not-allowed;\n opacity: 1;\n -webkit-text-fill-color: #000;\n}")();
17625
- const _hoisted_1$k = {
17625
+ const _hoisted_1$i = {
17626
17626
  style: {
17627
17627
  "display": "flex",
17628
17628
  "align-items": "center"
17629
17629
  }
17630
17630
  };
17631
- const _hoisted_2$d = {
17631
+ const _hoisted_2$c = {
17632
17632
  style: {
17633
17633
  "font-size": "20px",
17634
17634
  "color": "#999"
17635
17635
  }
17636
17636
  };
17637
- const _hoisted_3$a = {
17637
+ const _hoisted_3$9 = {
17638
17638
  style: {
17639
17639
  "margin": "15px 0 0 0"
17640
17640
  }
17641
17641
  };
17642
- const _hoisted_4$9 = /* @__PURE__ */ vue.createTextVNode(" \u786E\u5B9A ");
17643
- const _sfc_main$v = {
17642
+ const _hoisted_4$8 = /* @__PURE__ */ vue.createTextVNode(" \u786E\u5B9A ");
17643
+ const _sfc_main$s = {
17644
17644
  __name: "Input",
17645
17645
  props: {
17646
17646
  modelValue: {
@@ -17755,7 +17755,7 @@ var __async = (__this, __arguments, generator) => {
17755
17755
  "padding": "25px 15px"
17756
17756
  }
17757
17757
  }, {
17758
- default: vue.withCtx(() => [vue.createElementVNode("div", _hoisted_1$k, [vue.createElementVNode("span", _hoisted_2$d, vue.toDisplayString(props.modelValue || ""), 1), vue.createVNode(_component_van_field, {
17758
+ default: vue.withCtx(() => [vue.createElementVNode("div", _hoisted_1$i, [vue.createElementVNode("span", _hoisted_2$c, vue.toDisplayString(props.modelValue || ""), 1), vue.createVNode(_component_van_field, {
17759
17759
  modelValue: data.express,
17760
17760
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => data.express = $event),
17761
17761
  placeholder: "\u8BF7\u8F93\u5165+/-\u6570\u5B57",
@@ -17763,12 +17763,12 @@ var __async = (__this, __arguments, generator) => {
17763
17763
  style: {
17764
17764
  "font-size": "20px"
17765
17765
  }
17766
- }, null, 8, ["modelValue"])]), vue.createElementVNode("div", _hoisted_3$a, [vue.createVNode(_component_van_button, {
17766
+ }, null, 8, ["modelValue"])]), vue.createElementVNode("div", _hoisted_3$9, [vue.createVNode(_component_van_button, {
17767
17767
  onClick: onSubmit,
17768
17768
  type: "primary",
17769
17769
  size: "large"
17770
17770
  }, {
17771
- default: vue.withCtx(() => [_hoisted_4$9]),
17771
+ default: vue.withCtx(() => [_hoisted_4$8]),
17772
17772
  _: 1
17773
17773
  })])]),
17774
17774
  _: 1
@@ -17788,9 +17788,9 @@ var __async = (__this, __arguments, generator) => {
17788
17788
  };
17789
17789
  }
17790
17790
  };
17791
- var Input = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__scopeId", "data-v-bdbdf60a"]]);
17791
+ var Input = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-bdbdf60a"]]);
17792
17792
  var SinglePicker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "[data-v-3ae83b36] .label {\n color: #000 !important;\n}\n[data-v-3ae83b36] .van-field__control:disabled {\n color: #000 !important;\n cursor: not-allowed;\n opacity: 1;\n -webkit-text-fill-color: #000;\n}")();
17793
- const _sfc_main$u = {
17793
+ const _sfc_main$r = {
17794
17794
  __name: "SinglePicker",
17795
17795
  props: {
17796
17796
  id: String,
@@ -17906,16 +17906,16 @@ var __async = (__this, __arguments, generator) => {
17906
17906
  };
17907
17907
  }
17908
17908
  };
17909
- var SinglePicker = /* @__PURE__ */ _export_sfc(_sfc_main$u, [["__scopeId", "data-v-3ae83b36"]]);
17909
+ var SinglePicker = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-3ae83b36"]]);
17910
17910
  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")();
17911
- const _hoisted_1$j = {
17911
+ const _hoisted_1$h = {
17912
17912
  class: "select-all-container"
17913
17913
  };
17914
- const _hoisted_2$c = /* @__PURE__ */ vue.createTextVNode("\u5168\u9009");
17915
- const _hoisted_3$9 = {
17914
+ const _hoisted_2$b = /* @__PURE__ */ vue.createTextVNode("\u5168\u9009");
17915
+ const _hoisted_3$8 = {
17916
17916
  class: "checkbox-list"
17917
17917
  };
17918
- const _sfc_main$t = {
17918
+ const _sfc_main$q = {
17919
17919
  __name: "DataPop",
17920
17920
  props: {
17921
17921
  show: {
@@ -17962,16 +17962,16 @@ var __async = (__this, __arguments, generator) => {
17962
17962
  position: "bottom",
17963
17963
  class: "popup-box"
17964
17964
  }, {
17965
- default: vue.withCtx(() => [vue.createElementVNode("div", _hoisted_1$j, [vue.createVNode(_component_van_checkbox, {
17965
+ default: vue.withCtx(() => [vue.createElementVNode("div", _hoisted_1$h, [vue.createVNode(_component_van_checkbox, {
17966
17966
  shape: "square",
17967
17967
  modelValue: data2.isAllChecked,
17968
17968
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => data2.isAllChecked = $event),
17969
17969
  onClick: onToggleAll,
17970
17970
  "label-position": "left"
17971
17971
  }, {
17972
- default: vue.withCtx(() => [_hoisted_2$c]),
17972
+ default: vue.withCtx(() => [_hoisted_2$b]),
17973
17973
  _: 1
17974
- }, 8, ["modelValue"])]), vue.createElementVNode("div", _hoisted_3$9, [vue.createVNode(_component_van_checkbox_group, {
17974
+ }, 8, ["modelValue"])]), vue.createElementVNode("div", _hoisted_3$8, [vue.createVNode(_component_van_checkbox_group, {
17975
17975
  modelValue: vue.unref(modelValue2),
17976
17976
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.isRef(modelValue2) ? modelValue2.value = $event : null),
17977
17977
  direction: "vertical"
@@ -17996,12 +17996,12 @@ var __async = (__this, __arguments, generator) => {
17996
17996
  };
17997
17997
  }
17998
17998
  };
17999
- var DataPop = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-10d79413"]]);
17999
+ var DataPop = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["__scopeId", "data-v-10d79413"]]);
18000
18000
  var MultiPicker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.data-item[data-v-17dcd144]{\r\n margin: 0 8px 8px 0;\r\n padding: 2px 5px;\n}\r\n")();
18001
- const _hoisted_1$i = {
18001
+ const _hoisted_1$g = {
18002
18002
  class: "data-list"
18003
18003
  };
18004
- const _sfc_main$s = {
18004
+ const _sfc_main$p = {
18005
18005
  __name: "MultiPicker",
18006
18006
  props: {
18007
18007
  id: String,
@@ -18116,7 +18116,7 @@ var __async = (__this, __arguments, generator) => {
18116
18116
  _: 2
18117
18117
  }, [vue.unref(selectOptions).length > 0 ? {
18118
18118
  name: "input",
18119
- fn: vue.withCtx(() => [vue.createElementVNode("div", _hoisted_1$i, [(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(selectOptions), (item, i) => {
18119
+ fn: vue.withCtx(() => [vue.createElementVNode("div", _hoisted_1$g, [(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(selectOptions), (item, i) => {
18120
18120
  return vue.openBlock(), vue.createBlock(_component_van_tag, {
18121
18121
  class: "data-item",
18122
18122
  closeable: !vue.unref(isDisabled2),
@@ -18139,9 +18139,9 @@ var __async = (__this, __arguments, generator) => {
18139
18139
  };
18140
18140
  }
18141
18141
  };
18142
- var MultiPicker = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-17dcd144"]]);
18142
+ var MultiPicker = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-17dcd144"]]);
18143
18143
  var CheckGroup_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "[data-v-c848ffbc] .label {\n color: #000 !important;\n}\n[data-v-c848ffbc] .van-field__control:disabled {\n color: #000 !important;\n cursor: not-allowed;\n opacity: 1;\n -webkit-text-fill-color: #000;\n}")();
18144
- const _sfc_main$r = {
18144
+ const _sfc_main$o = {
18145
18145
  __name: "CheckGroup",
18146
18146
  props: {
18147
18147
  id: {
@@ -18267,8 +18267,8 @@ var __async = (__this, __arguments, generator) => {
18267
18267
  };
18268
18268
  }
18269
18269
  };
18270
- var CheckGroup = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-c848ffbc"]]);
18271
- const _sfc_main$q = {
18270
+ var CheckGroup = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-c848ffbc"]]);
18271
+ const _sfc_main$n = {
18272
18272
  __name: "DatetimePop",
18273
18273
  props: {
18274
18274
  isShow: {
@@ -18550,7 +18550,7 @@ var __async = (__this, __arguments, generator) => {
18550
18550
  };
18551
18551
  }
18552
18552
  };
18553
- const _sfc_main$p = {
18553
+ const _sfc_main$m = {
18554
18554
  __name: "DatetimePicker",
18555
18555
  props: {
18556
18556
  modelValue: {
@@ -18659,7 +18659,7 @@ var __async = (__this, __arguments, generator) => {
18659
18659
  rules: vue.unref(rules2),
18660
18660
  "right-icon": vue.unref(rightIcon),
18661
18661
  onClickRightIcon: onToggleShow
18662
- }, null, 8, ["modelValue", "label", "disabled", "readonly", "placeholder", "required", "rules", "right-icon"])) : vue.createCommentVNode("", true), vue.createVNode(_sfc_main$q, {
18662
+ }, null, 8, ["modelValue", "label", "disabled", "readonly", "placeholder", "required", "rules", "right-icon"])) : vue.createCommentVNode("", true), vue.createVNode(_sfc_main$n, {
18663
18663
  isShow: data2.isShow,
18664
18664
  "onUpdate:isShow": _cache[1] || (_cache[1] = ($event) => data2.isShow = $event),
18665
18665
  modelValue: vue.unref(modelValue2),
@@ -18671,7 +18671,7 @@ var __async = (__this, __arguments, generator) => {
18671
18671
  };
18672
18672
  }
18673
18673
  };
18674
- const _sfc_main$o = {
18674
+ const _sfc_main$l = {
18675
18675
  __name: "DatetimeDropdown",
18676
18676
  props: {
18677
18677
  modelValue: {
@@ -18723,7 +18723,7 @@ var __async = (__this, __arguments, generator) => {
18723
18723
  return vue.openBlock(), vue.createBlock(_component_van_dropdown_item, {
18724
18724
  title: vue.unref(formatTitle)
18725
18725
  }, {
18726
- default: vue.withCtx(() => [vue.createVNode(_sfc_main$p, {
18726
+ default: vue.withCtx(() => [vue.createVNode(_sfc_main$m, {
18727
18727
  modelValue: vue.unref(modelValue2),
18728
18728
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.isRef(modelValue2) ? modelValue2.value = $event : null),
18729
18729
  placeholder: props2.placeholder,
@@ -18735,23 +18735,23 @@ var __async = (__this, __arguments, generator) => {
18735
18735
  }
18736
18736
  };
18737
18737
  var data_selector_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.popup-style[data-v-e306bd52] {\r\n height: 21.25rem;\n}\n.showMultipleButton[data-v-e306bd52] {\r\n padding-bottom: 0;\n}\n.showMultipleButton .van-button[data-v-e306bd52] {\r\n border: 0;\n}\n.flex-between[data-v-e306bd52] {\r\n padding: 10px;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\n}\n.bold[data-v-e306bd52] {\r\n font-weight: bold;\r\n color: #444;\n}\n.checkbox-style[data-v-e306bd52] {\r\n /* height: 220px; */\r\n height: calc(220px - 30px);\r\n overflow-y: auto;\n}\n.select-all-container[data-v-e306bd52] {\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-e306bd52] {\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-e306bd52] {\r\n margin-left: 8px;\n}\r\n")();
18738
- const _hoisted_1$h = {
18738
+ const _hoisted_1$f = {
18739
18739
  class: "pad10 flex-between showMultipleButton"
18740
18740
  };
18741
- const _hoisted_2$b = /* @__PURE__ */ vue.createTextVNode("\u53D6\u6D88");
18742
- const _hoisted_3$8 = {
18741
+ const _hoisted_2$a = /* @__PURE__ */ vue.createTextVNode("\u53D6\u6D88");
18742
+ const _hoisted_3$7 = {
18743
18743
  class: "bold"
18744
18744
  };
18745
- const _hoisted_4$8 = /* @__PURE__ */ vue.createTextVNode("\u786E\u5B9A");
18746
- const _hoisted_5$8 = {
18745
+ const _hoisted_4$7 = /* @__PURE__ */ vue.createTextVNode("\u786E\u5B9A");
18746
+ const _hoisted_5$7 = {
18747
18747
  key: 0,
18748
18748
  class: "select-all-container"
18749
18749
  };
18750
- const _hoisted_6$7 = /* @__PURE__ */ vue.createTextVNode("\u5168\u9009");
18751
- const _hoisted_7$7 = {
18750
+ const _hoisted_6$6 = /* @__PURE__ */ vue.createTextVNode("\u5168\u9009");
18751
+ const _hoisted_7$6 = {
18752
18752
  class: "checkbox-style"
18753
18753
  };
18754
- const _sfc_main$n = {
18754
+ const _sfc_main$k = {
18755
18755
  __name: "data_selector",
18756
18756
  props: {
18757
18757
  multiple: {
@@ -18972,20 +18972,20 @@ var __async = (__this, __arguments, generator) => {
18972
18972
  position: "bottom",
18973
18973
  class: "popup-style"
18974
18974
  }, {
18975
- default: vue.withCtx(() => [vue.createElementVNode("div", null, [vue.createElementVNode("div", _hoisted_1$h, [vue.createVNode(_component_van_button, {
18975
+ default: vue.withCtx(() => [vue.createElementVNode("div", null, [vue.createElementVNode("div", _hoisted_1$f, [vue.createVNode(_component_van_button, {
18976
18976
  plain: "",
18977
18977
  size: "normal",
18978
18978
  onClick: cancelSelection
18979
18979
  }, {
18980
- default: vue.withCtx(() => [_hoisted_2$b]),
18980
+ default: vue.withCtx(() => [_hoisted_2$a]),
18981
18981
  _: 1
18982
- }), vue.createElementVNode("div", _hoisted_3$8, vue.toDisplayString(__props2.label), 1), vue.createVNode(_component_van_button, {
18982
+ }), vue.createElementVNode("div", _hoisted_3$7, vue.toDisplayString(__props2.label), 1), vue.createVNode(_component_van_button, {
18983
18983
  plain: "",
18984
18984
  type: "primary",
18985
18985
  size: "normal",
18986
18986
  onClick: confirmSelection
18987
18987
  }, {
18988
- default: vue.withCtx(() => [_hoisted_4$8]),
18988
+ default: vue.withCtx(() => [_hoisted_4$7]),
18989
18989
  _: 1
18990
18990
  })]), vue.createVNode(_component_van_field, {
18991
18991
  "left-icon": "search",
@@ -18996,16 +18996,16 @@ var __async = (__this, __arguments, generator) => {
18996
18996
  },
18997
18997
  clearable: "",
18998
18998
  placeholder: "\u8BF7\u8F93\u5165\u641C\u7D22\u5173\u952E\u5B57"
18999
- }, null, 8, ["modelValue"]), props2.multiple ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$8, [vue.createVNode(_component_van_checkbox, {
18999
+ }, null, 8, ["modelValue"]), props2.multiple ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_5$7, [vue.createVNode(_component_van_checkbox, {
19000
19000
  shape: "square",
19001
19001
  modelValue: isAllChecked.value,
19002
19002
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => isAllChecked.value = $event),
19003
19003
  onClick: toggleAllSelect,
19004
19004
  "label-position": "left"
19005
19005
  }, {
19006
- default: vue.withCtx(() => [_hoisted_6$7]),
19006
+ default: vue.withCtx(() => [_hoisted_6$6]),
19007
19007
  _: 1
19008
- }, 8, ["modelValue"])])) : vue.createCommentVNode("", true), vue.createElementVNode("div", _hoisted_7$7, [props2.multiple ? (vue.openBlock(), vue.createBlock(_component_van_checkbox_group, {
19008
+ }, 8, ["modelValue"])])) : vue.createCommentVNode("", true), vue.createElementVNode("div", _hoisted_7$6, [props2.multiple ? (vue.openBlock(), vue.createBlock(_component_van_checkbox_group, {
19009
19009
  key: 0,
19010
19010
  modelValue: checkedValue.value,
19011
19011
  "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => checkedValue.value = $event)
@@ -19060,16 +19060,16 @@ var __async = (__this, __arguments, generator) => {
19060
19060
  };
19061
19061
  }
19062
19062
  };
19063
- var DataSelector = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-e306bd52"]]);
19063
+ var DataSelector = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-e306bd52"]]);
19064
19064
  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")();
19065
- const _hoisted_1$g = {
19065
+ const _hoisted_1$e = {
19066
19066
  key: 0,
19067
19067
  class: "confirmation-tips"
19068
19068
  };
19069
- const _hoisted_2$a = {
19069
+ const _hoisted_2$9 = {
19070
19070
  class: "option-text"
19071
19071
  };
19072
- const _sfc_main$m = {
19072
+ const _sfc_main$j = {
19073
19073
  __name: "mult_list_selector",
19074
19074
  props: {
19075
19075
  options: {
@@ -19104,7 +19104,7 @@ var __async = (__this, __arguments, generator) => {
19104
19104
  const _component_van_icon = vue.resolveComponent("van-icon");
19105
19105
  const _component_van_checkbox = vue.resolveComponent("van-checkbox");
19106
19106
  const _component_van_checkbox_group = vue.resolveComponent("van-checkbox-group");
19107
- return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [__props2.tips && __props2.tips.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$g, [vue.createVNode(_component_van_icon, {
19107
+ return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [__props2.tips && __props2.tips.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$e, [vue.createVNode(_component_van_icon, {
19108
19108
  name: "info",
19109
19109
  color: "#1989fa"
19110
19110
  }), vue.createElementVNode("span", null, vue.toDisplayString(__props2.tips), 1)])) : vue.createCommentVNode("", true), vue.createVNode(_component_van_checkbox_group, {
@@ -19125,7 +19125,7 @@ var __async = (__this, __arguments, generator) => {
19125
19125
  "icon-size": "18px",
19126
19126
  class: "custom-checkbox"
19127
19127
  }, {
19128
- default: vue.withCtx(() => [vue.createElementVNode("span", _hoisted_2$a, vue.toDisplayString(item.label), 1)]),
19128
+ default: vue.withCtx(() => [vue.createElementVNode("span", _hoisted_2$9, vue.toDisplayString(item.label), 1)]),
19129
19129
  _: 2
19130
19130
  }, 1032, ["name"])]);
19131
19131
  }), 128))]),
@@ -19134,26 +19134,26 @@ var __async = (__this, __arguments, generator) => {
19134
19134
  };
19135
19135
  }
19136
19136
  };
19137
- var MultListSelector = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-40a09897"]]);
19137
+ var MultListSelector = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-40a09897"]]);
19138
19138
  var subdepartment_selector_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.department-popup[data-v-c4c3b896] {\r\n width: 100%;\r\n height: 60vh;\r\n border-radius: 16px 16px 0 0;\n}\n.popup-container[data-v-c4c3b896] {\r\n display: flex;\r\n flex-direction: column;\r\n flex: 1;\r\n height: 100%;\n}\n.picker-header[data-v-c4c3b896] {\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-c4c3b896] {\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-c4c3b896] {\r\n margin-right: 8px;\n}\n.current-path[data-v-c4c3b896] {\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-c4c3b896] {\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-c4c3b896] {\r\n display: flex;\r\n align-items: center;\r\n gap: 12px;\n}\n.circle-selector[data-v-c4c3b896] {\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-c4c3b896] {\r\n background-color: #1989fa;\r\n border-color: #1989fa;\n}\n.circle-selector.selected .van-icon[data-v-c4c3b896] {\r\n color: white;\r\n font-size: 14px;\n}\n.van-cell__right-icon[data-v-c4c3b896] {\r\n color: #969799;\r\n font-size: 16px;\r\n margin-left: 8px;\n}\n.name[data-v-c4c3b896] {\r\n flex: 1;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\n}\n.cancel-btn[data-v-c4c3b896] {\r\n color: #969799;\n}\n.search-field[data-v-c4c3b896] {\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")();
19139
- const _hoisted_1$f = {
19139
+ const _hoisted_1$d = {
19140
19140
  class: "department-selector"
19141
19141
  };
19142
- const _hoisted_2$9 = {
19142
+ const _hoisted_2$8 = {
19143
19143
  class: "popup-container"
19144
19144
  };
19145
- const _hoisted_3$7 = {
19145
+ const _hoisted_3$6 = {
19146
19146
  class: "picker-header"
19147
19147
  };
19148
- const _hoisted_4$7 = {
19148
+ const _hoisted_4$6 = {
19149
19149
  class: "current-path"
19150
19150
  };
19151
- const _hoisted_5$7 = {
19151
+ const _hoisted_5$6 = {
19152
19152
  class: "action-buttons"
19153
19153
  };
19154
- const _hoisted_6$6 = /* @__PURE__ */ vue.createTextVNode(" \u53D6\u6D88 ");
19155
- const _hoisted_7$6 = /* @__PURE__ */ vue.createTextVNode(" \u786E\u5B9A ");
19156
- const _hoisted_8$5 = {
19154
+ const _hoisted_6$5 = /* @__PURE__ */ vue.createTextVNode(" \u53D6\u6D88 ");
19155
+ const _hoisted_7$5 = /* @__PURE__ */ vue.createTextVNode(" \u786E\u5B9A ");
19156
+ const _hoisted_8$4 = {
19157
19157
  class: "scroll-container"
19158
19158
  };
19159
19159
  const _hoisted_9$3 = {
@@ -19163,7 +19163,7 @@ var __async = (__this, __arguments, generator) => {
19163
19163
  const _hoisted_11$2 = {
19164
19164
  class: "name"
19165
19165
  };
19166
- const _sfc_main$l = {
19166
+ const _sfc_main$i = {
19167
19167
  __name: "subdepartment_selector",
19168
19168
  props: {
19169
19169
  modelValue: [String, Number],
@@ -19406,7 +19406,7 @@ var __async = (__this, __arguments, generator) => {
19406
19406
  const _component_van_cell = vue.resolveComponent("van-cell");
19407
19407
  const _component_van_cell_group = vue.resolveComponent("van-cell-group");
19408
19408
  const _component_van_popup = vue.resolveComponent("van-popup");
19409
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$f, [!vue.unref(isGone2) ? (vue.openBlock(), vue.createBlock(_component_van_field, {
19409
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$d, [!vue.unref(isGone2) ? (vue.openBlock(), vue.createBlock(_component_van_field, {
19410
19410
  key: 0,
19411
19411
  "model-value": selectedDepartmentPath.value,
19412
19412
  readonly: "",
@@ -19426,18 +19426,18 @@ var __async = (__this, __arguments, generator) => {
19426
19426
  position: "bottom",
19427
19427
  class: "department-popup"
19428
19428
  }, {
19429
- default: vue.withCtx(() => [vue.createElementVNode("div", _hoisted_2$9, [vue.createElementVNode("div", _hoisted_3$7, [vue.unref(currentLevel) > 0 ? (vue.openBlock(), vue.createBlock(_component_van_button, {
19429
+ default: vue.withCtx(() => [vue.createElementVNode("div", _hoisted_2$8, [vue.createElementVNode("div", _hoisted_3$6, [vue.unref(currentLevel) > 0 ? (vue.openBlock(), vue.createBlock(_component_van_button, {
19430
19430
  key: 0,
19431
19431
  onClick: goBack,
19432
19432
  icon: "arrow-left",
19433
19433
  size: "small",
19434
19434
  class: "back-button"
19435
- })) : vue.createCommentVNode("", true), vue.createElementVNode("div", _hoisted_4$7, vue.toDisplayString(vue.unref(currentPath)), 1), vue.createElementVNode("div", _hoisted_5$7, [vue.createVNode(_component_van_button, {
19435
+ })) : vue.createCommentVNode("", true), vue.createElementVNode("div", _hoisted_4$6, vue.toDisplayString(vue.unref(currentPath)), 1), vue.createElementVNode("div", _hoisted_5$6, [vue.createVNode(_component_van_button, {
19436
19436
  size: "small",
19437
19437
  onClick: handleCancel,
19438
19438
  class: "cancel-btn"
19439
19439
  }, {
19440
- default: vue.withCtx(() => [_hoisted_6$6]),
19440
+ default: vue.withCtx(() => [_hoisted_6$5]),
19441
19441
  _: 1
19442
19442
  }), vue.createVNode(_component_van_button, {
19443
19443
  type: "primary",
@@ -19446,7 +19446,7 @@ var __async = (__this, __arguments, generator) => {
19446
19446
  disabled: !tempSelectedDepartment.value,
19447
19447
  class: "confirm-btn"
19448
19448
  }, {
19449
- default: vue.withCtx(() => [_hoisted_7$6]),
19449
+ default: vue.withCtx(() => [_hoisted_7$5]),
19450
19450
  _: 1
19451
19451
  }, 8, ["disabled"])])]), vue.createVNode(_component_van_field, {
19452
19452
  "left-icon": "search",
@@ -19458,7 +19458,7 @@ var __async = (__this, __arguments, generator) => {
19458
19458
  clearable: "",
19459
19459
  placeholder: "\u8BF7\u8F93\u5165\u90E8\u95E8\u540D\u79F0\u641C\u7D22",
19460
19460
  class: "search-field"
19461
- }, null, 8, ["modelValue"]), vue.createElementVNode("div", _hoisted_8$5, [vue.createVNode(_component_van_cell_group, null, {
19461
+ }, null, 8, ["modelValue"]), vue.createElementVNode("div", _hoisted_8$4, [vue.createVNode(_component_van_cell_group, null, {
19462
19462
  default: vue.withCtx(() => [(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(filteredDepartments), (item, index) => {
19463
19463
  return vue.openBlock(), vue.createBlock(_component_van_cell, {
19464
19464
  key: index,
@@ -19494,28 +19494,28 @@ var __async = (__this, __arguments, generator) => {
19494
19494
  };
19495
19495
  }
19496
19496
  };
19497
- var SubdepartmentSelector = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-c4c3b896"]]);
19497
+ var SubdepartmentSelector = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-c4c3b896"]]);
19498
19498
  var user_selector_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.user-popup[data-v-850c4b52] {\r\n height: 60vh;\r\n width: 100%;\n}\n.picker-header[data-v-850c4b52] {\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-850c4b52] {\r\n height: calc(80vh - 150px);\r\n overflow-y: auto;\n}\n.search-container[data-v-850c4b52] {\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-850c4b52] .search-container .van-search {\r\n flex: 1;\n}\n.search-btn[data-v-850c4b52] {\r\n flex-shrink: 0;\n}\n.select-all-container[data-v-850c4b52] {\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-850c4b52] .van-checkbox__icon--square {\r\n border-radius: 4px;\n}\n[data-v-850c4b52] .van-checkbox__label {\r\n margin-left: 8px;\n}\n[data-v-850c4b52] .van-radio-group .van-cell,[data-v-850c4b52] .van-checkbox-group .van-cell {\r\n align-items: center;\n}\n.current-path[data-v-850c4b52] {\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-850c4b52] {\r\n display: flex;\r\n gap: 8px;\r\n margin-left: auto;\n}\n.cancel-btn[data-v-850c4b52] {\r\n color: #969799;\r\n margin-right: 5px;\n}\r\n")();
19499
- const _hoisted_1$e = {
19499
+ const _hoisted_1$c = {
19500
19500
  class: "user-selector"
19501
19501
  };
19502
- const _hoisted_2$8 = {
19502
+ const _hoisted_2$7 = {
19503
19503
  class: "popup-container"
19504
19504
  };
19505
- const _hoisted_3$6 = {
19505
+ const _hoisted_3$5 = {
19506
19506
  class: "picker-header"
19507
19507
  };
19508
- const _hoisted_4$6 = {
19508
+ const _hoisted_4$5 = {
19509
19509
  class: "header-left"
19510
19510
  };
19511
- const _hoisted_5$6 = {
19511
+ const _hoisted_5$5 = {
19512
19512
  class: "current-path"
19513
19513
  };
19514
- const _hoisted_6$5 = {
19514
+ const _hoisted_6$4 = {
19515
19515
  class: "header-right"
19516
19516
  };
19517
- const _hoisted_7$5 = /* @__PURE__ */ vue.createTextVNode("\u6E05\u7A7A");
19518
- const _hoisted_8$4 = /* @__PURE__ */ vue.createTextVNode("\u786E\u5B9A");
19517
+ const _hoisted_7$4 = /* @__PURE__ */ vue.createTextVNode("\u6E05\u7A7A");
19518
+ const _hoisted_8$3 = /* @__PURE__ */ vue.createTextVNode("\u786E\u5B9A");
19519
19519
  const _hoisted_9$2 = {
19520
19520
  key: 0,
19521
19521
  class: "select-all-container"
@@ -19528,7 +19528,7 @@ var __async = (__this, __arguments, generator) => {
19528
19528
  const _hoisted_13 = {
19529
19529
  class: "scroll-container"
19530
19530
  };
19531
- const _sfc_main$k = {
19531
+ const _sfc_main$h = {
19532
19532
  __name: "user_selector",
19533
19533
  props: {
19534
19534
  modelValue: [Array, String, Number],
@@ -19882,7 +19882,7 @@ var __async = (__this, __arguments, generator) => {
19882
19882
  const _component_van_radio = vue.resolveComponent("van-radio");
19883
19883
  const _component_van_radio_group = vue.resolveComponent("van-radio-group");
19884
19884
  const _component_van_popup = vue.resolveComponent("van-popup");
19885
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$e, [!vue.unref(isGone2) ? (vue.openBlock(), vue.createBlock(_component_van_field, {
19885
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$c, [!vue.unref(isGone2) ? (vue.openBlock(), vue.createBlock(_component_van_field, {
19886
19886
  key: 0,
19887
19887
  "model-value": vue.unref(selectedUserInfo),
19888
19888
  clickable: "",
@@ -19899,18 +19899,18 @@ var __async = (__this, __arguments, generator) => {
19899
19899
  position: "bottom",
19900
19900
  class: "user-popup"
19901
19901
  }, {
19902
- default: vue.withCtx(() => [vue.createElementVNode("div", _hoisted_2$8, [vue.createElementVNode("div", _hoisted_3$6, [vue.createElementVNode("div", _hoisted_4$6, [vue.unref(currentLevel) > 0 ? (vue.openBlock(), vue.createBlock(_component_van_button, {
19902
+ default: vue.withCtx(() => [vue.createElementVNode("div", _hoisted_2$7, [vue.createElementVNode("div", _hoisted_3$5, [vue.createElementVNode("div", _hoisted_4$5, [vue.unref(currentLevel) > 0 ? (vue.openBlock(), vue.createBlock(_component_van_button, {
19903
19903
  key: 0,
19904
19904
  onClick: goBack,
19905
19905
  icon: "arrow-left",
19906
19906
  size: "small",
19907
19907
  class: "back-button"
19908
- })) : vue.createCommentVNode("", true)]), vue.createElementVNode("div", _hoisted_5$6, vue.toDisplayString(vue.unref(currentPath)), 1), vue.createElementVNode("div", _hoisted_6$5, [vue.createVNode(_component_van_button, {
19908
+ })) : vue.createCommentVNode("", true)]), vue.createElementVNode("div", _hoisted_5$5, vue.toDisplayString(vue.unref(currentPath)), 1), vue.createElementVNode("div", _hoisted_6$4, [vue.createVNode(_component_van_button, {
19909
19909
  size: "small",
19910
19910
  onClick: handleClear,
19911
19911
  class: "cancel-btn"
19912
19912
  }, {
19913
- default: vue.withCtx(() => [_hoisted_7$5]),
19913
+ default: vue.withCtx(() => [_hoisted_7$4]),
19914
19914
  _: 1
19915
19915
  }), vue.createVNode(_component_van_button, {
19916
19916
  type: "primary",
@@ -19918,7 +19918,7 @@ var __async = (__this, __arguments, generator) => {
19918
19918
  onClick: confirmSelection,
19919
19919
  class: "confirm-btn"
19920
19920
  }, {
19921
- default: vue.withCtx(() => [_hoisted_8$4]),
19921
+ default: vue.withCtx(() => [_hoisted_8$3]),
19922
19922
  _: 1
19923
19923
  })])]), __props2.mode === "multiple" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_9$2, [vue.createVNode(_component_van_checkbox, {
19924
19924
  shape: "square",
@@ -20023,12 +20023,12 @@ var __async = (__this, __arguments, generator) => {
20023
20023
  };
20024
20024
  }
20025
20025
  };
20026
- var UserSelector = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-850c4b52"]]);
20026
+ var UserSelector = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-850c4b52"]]);
20027
20027
  var image_picker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "[data-v-19fa5200] .label {\n color: #000 !important;\n}\n[data-v-19fa5200] .van-field__control:disabled {\n color: #000 !important;\n cursor: not-allowed;\n opacity: 1;\n -webkit-text-fill-color: #000;\n}")();
20028
- const _hoisted_1$d = {
20028
+ const _hoisted_1$b = {
20029
20029
  class: "image-box"
20030
20030
  };
20031
- const _sfc_main$j = {
20031
+ const _sfc_main$g = {
20032
20032
  __name: "image_picker",
20033
20033
  props: {
20034
20034
  modelValue: {
@@ -20126,7 +20126,7 @@ var __async = (__this, __arguments, generator) => {
20126
20126
  "label-class": "label",
20127
20127
  placeholder: props2.placeholder
20128
20128
  }, {
20129
- input: vue.withCtx(() => [vue.createElementVNode("div", _hoisted_1$d, [props2.capture ? (vue.openBlock(), vue.createBlock(_component_van_uploader, {
20129
+ input: vue.withCtx(() => [vue.createElementVNode("div", _hoisted_1$b, [props2.capture ? (vue.openBlock(), vue.createBlock(_component_van_uploader, {
20130
20130
  key: 0,
20131
20131
  modelValue: files.value,
20132
20132
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => files.value = $event),
@@ -20155,13 +20155,13 @@ var __async = (__this, __arguments, generator) => {
20155
20155
  };
20156
20156
  }
20157
20157
  };
20158
- var ImagePicker = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-19fa5200"]]);
20158
+ var ImagePicker = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-19fa5200"]]);
20159
20159
  var images_picker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".image-box .cover[data-v-658f6012] {\n width: 80px;\n height: 80px;\n}")();
20160
- const _hoisted_1$c = {
20160
+ const _hoisted_1$a = {
20161
20161
  class: "image-box"
20162
20162
  };
20163
- const _hoisted_2$7 = ["src", "onClick"];
20164
- const _sfc_main$i = {
20163
+ const _hoisted_2$6 = ["src", "onClick"];
20164
+ const _sfc_main$f = {
20165
20165
  __name: "images_picker",
20166
20166
  props: {
20167
20167
  modelValue: {
@@ -20320,7 +20320,7 @@ var __async = (__this, __arguments, generator) => {
20320
20320
  placeholder: props2.placeholder,
20321
20321
  modelValue: vue.unref(modelValue2)
20322
20322
  }, {
20323
- input: vue.withCtx(() => [vue.createElementVNode("div", _hoisted_1$c, [props2.capture && !vue.unref(isReadonly2) && !vue.unref(isDisabled2) ? (vue.openBlock(), vue.createBlock(_component_van_uploader, {
20323
+ input: vue.withCtx(() => [vue.createElementVNode("div", _hoisted_1$a, [props2.capture && !vue.unref(isReadonly2) && !vue.unref(isDisabled2) ? (vue.openBlock(), vue.createBlock(_component_van_uploader, {
20324
20324
  key: 0,
20325
20325
  modelValue: files.value,
20326
20326
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => files.value = $event),
@@ -20353,7 +20353,7 @@ var __async = (__this, __arguments, generator) => {
20353
20353
  key: i,
20354
20354
  src: cover,
20355
20355
  onClick: ($event) => onPreview(i)
20356
- }, null, 8, _hoisted_2$7);
20356
+ }, null, 8, _hoisted_2$6);
20357
20357
  }), 128)) : vue.createCommentVNode("", true), (vue.unref(modelValue2) || []).length > props2.maxPreview && (vue.unref(isReadonly2) || vue.unref(isDisabled2)) ? (vue.openBlock(), vue.createBlock(_component_van_icon, {
20358
20358
  key: 3,
20359
20359
  name: "ellipsis",
@@ -20364,12 +20364,12 @@ var __async = (__this, __arguments, generator) => {
20364
20364
  };
20365
20365
  }
20366
20366
  };
20367
- var ImagesPicker = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-658f6012"]]);
20367
+ var ImagesPicker = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-658f6012"]]);
20368
20368
  var FilePicker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "[data-v-125192a8] .label {\n color: #000 !important;\n}\n[data-v-125192a8] .van-field__control:disabled {\n color: #000 !important;\n cursor: not-allowed;\n opacity: 1;\n -webkit-text-fill-color: #000;\n}")();
20369
- const _hoisted_1$b = {
20369
+ const _hoisted_1$9 = {
20370
20370
  class: "file-box"
20371
20371
  };
20372
- const _sfc_main$h = {
20372
+ const _sfc_main$e = {
20373
20373
  __name: "FilePicker",
20374
20374
  props: {
20375
20375
  modelValue: {
@@ -20511,7 +20511,7 @@ var __async = (__this, __arguments, generator) => {
20511
20511
  "label-class": "label",
20512
20512
  placeholder: props2.placeholder
20513
20513
  }, {
20514
- input: vue.withCtx(() => [vue.createElementVNode("div", _hoisted_1$b, [vue.createVNode(_component_van_uploader, {
20514
+ input: vue.withCtx(() => [vue.createElementVNode("div", _hoisted_1$9, [vue.createVNode(_component_van_uploader, {
20515
20515
  modelValue: files.value,
20516
20516
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => files.value = $event),
20517
20517
  multiple: props2.multiple,
@@ -20529,29 +20529,29 @@ var __async = (__this, __arguments, generator) => {
20529
20529
  };
20530
20530
  }
20531
20531
  };
20532
- var FilePicker = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-125192a8"]]);
20532
+ var FilePicker = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-125192a8"]]);
20533
20533
  var SingleUserSelector_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.user-popup[data-v-c23caaf6] {\r\n width: 100%;\r\n overflow: hidden;\n}\n.department-selector[data-v-c23caaf6] {\r\n padding: 10px;\n}\n.search-buttons[data-v-c23caaf6] {\r\n display: flex;\r\n gap: 10px;\n}\n.clear-btn[data-v-c23caaf6] {\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-c23caaf6] {\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-c23caaf6] {\r\n text-align: center;\r\n padding: 20px;\r\n color: #969799;\n}\n.picker-header[data-v-c23caaf6] {\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-c23caaf6] {\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-c23caaf6] {\r\n display: flex;\r\n gap: 8px;\r\n margin-left: auto;\n}\n.cancel-btn[data-v-c23caaf6] {\r\n color: #969799;\r\n margin-right: 5px;\n}\n.scroll-container[data-v-c23caaf6] {\r\n height: calc(80vh - 150px);\r\n overflow-y: auto;\n}\r\n")();
20534
- const _hoisted_1$a = {
20534
+ const _hoisted_1$8 = {
20535
20535
  class: "department-selector"
20536
20536
  };
20537
- const _hoisted_2$6 = {
20537
+ const _hoisted_2$5 = {
20538
20538
  class: "picker-header"
20539
20539
  };
20540
- const _hoisted_3$5 = {
20540
+ const _hoisted_3$4 = {
20541
20541
  class: "header-left"
20542
20542
  };
20543
- const _hoisted_4$5 = {
20543
+ const _hoisted_4$4 = {
20544
20544
  class: "current-path"
20545
20545
  };
20546
- const _hoisted_5$5 = {
20546
+ const _hoisted_5$4 = {
20547
20547
  class: "header-right"
20548
20548
  };
20549
- const _hoisted_6$4 = /* @__PURE__ */ vue.createTextVNode("\u6E05\u7A7A");
20550
- const _hoisted_7$4 = /* @__PURE__ */ vue.createTextVNode("\u786E\u5B9A");
20551
- const _hoisted_8$3 = {
20549
+ const _hoisted_6$3 = /* @__PURE__ */ vue.createTextVNode("\u6E05\u7A7A");
20550
+ const _hoisted_7$3 = /* @__PURE__ */ vue.createTextVNode("\u786E\u5B9A");
20551
+ const _hoisted_8$2 = {
20552
20552
  class: "scroll-container"
20553
20553
  };
20554
- const _sfc_main$g = {
20554
+ const _sfc_main$d = {
20555
20555
  __name: "SingleUserSelector",
20556
20556
  props: {
20557
20557
  modelValue: {
@@ -20819,16 +20819,16 @@ var __async = (__this, __arguments, generator) => {
20819
20819
  position: "bottom",
20820
20820
  class: "user-popup"
20821
20821
  }, {
20822
- default: vue.withCtx(() => [vue.createElementVNode("div", _hoisted_1$a, [vue.createElementVNode("div", _hoisted_2$6, [vue.createElementVNode("div", _hoisted_3$5, [vue.withDirectives(vue.createVNode(_component_van_button, {
20822
+ default: vue.withCtx(() => [vue.createElementVNode("div", _hoisted_1$8, [vue.createElementVNode("div", _hoisted_2$5, [vue.createElementVNode("div", _hoisted_3$4, [vue.withDirectives(vue.createVNode(_component_van_button, {
20823
20823
  onClick: goBack,
20824
20824
  icon: "arrow-left",
20825
20825
  size: "small"
20826
- }, null, 512), [[vue.vShow, currentPath.value !== "\u8BF7\u9009\u62E9\u90E8\u95E8"]])]), vue.createElementVNode("div", _hoisted_4$5, vue.toDisplayString(currentPath.value), 1), vue.createElementVNode("div", _hoisted_5$5, [vue.createVNode(_component_van_button, {
20826
+ }, null, 512), [[vue.vShow, currentPath.value !== "\u8BF7\u9009\u62E9\u90E8\u95E8"]])]), vue.createElementVNode("div", _hoisted_4$4, vue.toDisplayString(currentPath.value), 1), vue.createElementVNode("div", _hoisted_5$4, [vue.createVNode(_component_van_button, {
20827
20827
  size: "small",
20828
20828
  onClick: handleClear,
20829
20829
  class: "cancel-btn"
20830
20830
  }, {
20831
- default: vue.withCtx(() => [_hoisted_6$4]),
20831
+ default: vue.withCtx(() => [_hoisted_6$3]),
20832
20832
  _: 1
20833
20833
  }), vue.createVNode(_component_van_button, {
20834
20834
  type: "primary",
@@ -20836,7 +20836,7 @@ var __async = (__this, __arguments, generator) => {
20836
20836
  onClick: confirmSelection,
20837
20837
  class: "confirm-btn"
20838
20838
  }, {
20839
- default: vue.withCtx(() => [_hoisted_7$4]),
20839
+ default: vue.withCtx(() => [_hoisted_7$3]),
20840
20840
  _: 1
20841
20841
  })])]), vue.createVNode(_component_van_search, {
20842
20842
  modelValue: searchValue.value,
@@ -20851,7 +20851,7 @@ var __async = (__this, __arguments, generator) => {
20851
20851
  onClick: handleSearch
20852
20852
  }, "\u641C\u7D22")]),
20853
20853
  _: 1
20854
- }, 8, ["modelValue"]), vue.createElementVNode("div", _hoisted_8$3, [vue.createVNode(_component_van_cell_group, null, {
20854
+ }, 8, ["modelValue"]), vue.createElementVNode("div", _hoisted_8$2, [vue.createVNode(_component_van_cell_group, null, {
20855
20855
  default: vue.withCtx(() => [(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(departments), (department) => {
20856
20856
  return vue.openBlock(), vue.createBlock(_component_van_cell, {
20857
20857
  key: department.id,
@@ -20886,583 +20886,65 @@ var __async = (__this, __arguments, generator) => {
20886
20886
  };
20887
20887
  }
20888
20888
  };
20889
- var SingleUserSelector = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-c23caaf6"]]);
20890
- var UserPop_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.user-popup[data-v-85dea264] {\r\n width: 100%;\r\n overflow: hidden;\n}\n.department-selector[data-v-85dea264] {\r\n padding: 10px;\n}\n.search-buttons[data-v-85dea264] {\r\n display: flex;\r\n gap: 10px;\n}\n.clear-btn[data-v-85dea264] {\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-85dea264] {\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-85dea264] {\r\n text-align: center;\r\n padding: 20px;\r\n color: #969799;\n}\n.picker-header[data-v-85dea264] {\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-85dea264] {\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-85dea264] {\r\n display: flex;\r\n gap: 8px;\r\n margin-left: auto;\n}\n.cancel-btn[data-v-85dea264] {\r\n color: #969799;\r\n margin-right: 5px;\n}\n.scroll-container[data-v-85dea264] {\r\n height: calc(80vh - 150px);\r\n overflow-y: auto;\n}\r\n")();
20891
- const _hoisted_1$9 = {
20892
- class: "department-selector"
20889
+ var SingleUserSelector = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-c23caaf6"]]);
20890
+ 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")();
20891
+ const _hoisted_1$7 = {
20892
+ class: "widget"
20893
20893
  };
20894
- const _hoisted_2$5 = {
20895
- class: "picker-header"
20894
+ const _hoisted_2$4 = {
20895
+ class: "user-info"
20896
20896
  };
20897
- const _hoisted_3$4 = {
20898
- class: "header-left"
20897
+ const _hoisted_3$3 = {
20898
+ class: "user-info-item"
20899
20899
  };
20900
- const _hoisted_4$4 = {
20901
- class: "current-path"
20900
+ const _hoisted_4$3 = {
20901
+ class: "user-info-item"
20902
20902
  };
20903
- const _hoisted_5$4 = {
20904
- class: "header-right"
20903
+ const _hoisted_5$3 = {
20904
+ class: "user-info-item"
20905
20905
  };
20906
- const _hoisted_6$3 = /* @__PURE__ */ vue.createTextVNode("\u53D6\u6D88");
20907
- const _hoisted_7$3 = /* @__PURE__ */ vue.createTextVNode("\u786E\u5B9A");
20908
- const _hoisted_8$2 = {
20909
- class: "scroll-container"
20906
+ const _hoisted_6$2 = {
20907
+ class: "user-jobs"
20910
20908
  };
20911
- const _sfc_main$f = {
20912
- __name: "UserPop",
20909
+ const _hoisted_7$2 = /* @__PURE__ */ vue.createTextVNode(" \u6CE8\u9500 ");
20910
+ const _sfc_main$c = {
20911
+ __name: "UserProfile",
20913
20912
  props: {
20914
- show: {
20915
- type: Boolean,
20916
- default: false
20913
+ avatar: {
20914
+ type: String,
20915
+ default: ""
20917
20916
  },
20918
- rootDeptId: {
20917
+ name: {
20919
20918
  type: String,
20920
- default: "1"
20919
+ default: ""
20921
20920
  },
20922
- deptRangeId: {
20921
+ position: {
20922
+ type: String,
20923
+ default: ""
20924
+ },
20925
+ mobile: {
20923
20926
  type: String,
20924
20927
  default: ""
20928
+ },
20929
+ departments: {
20930
+ type: Array,
20931
+ default: []
20925
20932
  }
20926
20933
  },
20927
- emits: ["update:show", "select"],
20934
+ emits: ["logout"],
20928
20935
  setup(__props2, {
20929
20936
  emit: emit2
20930
20937
  }) {
20931
20938
  const props2 = __props2;
20932
- const show = useVModel(props2, "show", emit2);
20933
- const data2 = vue.reactive({
20934
- selectedDeptId: "",
20935
- totalDepts: [],
20936
- keyword: "",
20937
- searchUsers: [],
20938
- selectedUser: null
20939
- });
20940
- function findDeptPaths(targetDept, tree, path = []) {
20941
- var _a;
20942
- if (!tree || tree.length < 1 || !targetDept || !targetDept.id)
20943
- return [];
20944
- for (const dept of tree) {
20945
- if (dept.id === targetDept.id) {
20946
- return [...path, dept];
20947
- }
20948
- if ((_a = dept.subDepartments) == null ? void 0 : _a.length) {
20949
- const found = findDeptPaths(targetDept, dept.subDepartments, [...path, dept]);
20950
- if (found && found.length > 0)
20951
- return found;
20952
- }
20953
- }
20954
- return [];
20955
- }
20956
- const selectedDept = vue.computed(() => {
20957
- if (!data2.selectedDeptId)
20958
- return null;
20959
- let targetDept = findDept(data2.selectedDeptId, data2.totalDepts);
20960
- return targetDept;
20961
- });
20962
- const pathsLabel = vue.computed(() => {
20963
- let paths = findDeptPaths(selectedDept.value, data2.totalDepts);
20964
- console.log("paths", paths);
20965
- let res = "";
20966
- paths.forEach((dept) => {
20967
- res += dept.name + "/";
20968
- });
20969
- return res;
20970
- });
20971
- const subDepts = vue.computed(() => {
20972
- if (data2.keyword)
20973
- return [];
20974
- else if (selectedDept.value)
20975
- return selectedDept.value.subDepartments;
20976
- else
20977
- return data2.totalDepts;
20978
- });
20979
- const subUsers = vue.computed(() => {
20980
- if (data2.keyword)
20981
- return data2.searchUsers;
20982
- else if (selectedDept.value)
20983
- return selectedDept.value.users;
20984
- else
20985
- return [];
20986
- });
20987
- const queryTotalDepts = () => __async(this, null, function* () {
20988
- const response = yield util.get_subdepartments_users({
20989
- departmentId: props2.rootDeptId,
20990
- hasGrandson: false
20991
- });
20992
- let level2Depts = [];
20993
- if (response.data)
20994
- level2Depts = response.data.subDepartments;
20995
- let level2DeptIds = [];
20996
- if (props2.deptRangeId) {
20997
- let res = yield util.dictionary_dict({
20998
- id: props2.deptRangeId
20999
- });
21000
- if (res.data.parseValue && res.data.parseValue.length > 0) {
21001
- level2DeptIds = res.data.parseValue;
21002
- }
21003
- }
21004
- if (props2.deptRangeId) {
21005
- if (level2DeptIds && level2DeptIds.length > 0) {
21006
- level2Depts = level2Depts.filter((item) => {
21007
- return level2DeptIds.includes(item.id);
21008
- });
21009
- }
21010
- }
21011
- data2.totalDepts = level2Depts || [];
21012
- });
21013
- function findDept(deptId, tree) {
21014
- if (!tree || tree.length < 1)
21015
- return null;
21016
- for (const dept of tree) {
21017
- if (dept.id === deptId) {
21018
- return dept;
21019
- }
21020
- const found = findDept(deptId, dept.subDepartments);
21021
- if (found)
21022
- return found;
21023
- }
21024
- return null;
21025
- }
21026
- const onSearch = () => __async(this, null, function* () {
21027
- if (!data2.keyword)
21028
- return;
21029
- const res = yield util.wx_user_list({
21030
- keyword: data2.keyword,
21031
- page: 1,
21032
- limit: 10
21033
- });
21034
- data2.searchUsers = res.data.list;
21035
- });
21036
- const onSelectDept = (department) => __async(this, null, function* () {
21037
- const res = yield util.get_subdepartments_users({
21038
- departmentId: department.id,
21039
- hasGrandson: false
21040
- });
21041
- let targetDept = findDept(department.id, data2.totalDepts);
21042
- targetDept.subDepartments = res.data.subDepartments;
21043
- targetDept.users = res.data.users;
21044
- data2.selectedDeptId = department.id;
21045
- });
21046
- const onBack = () => {
21047
- data2.keyword = "";
21048
- let paths = findDeptPaths(selectedDept.value, data2.totalDepts);
21049
- if (!paths || paths.length <= 1) {
21050
- data2.selectedDeptId = "";
21051
- return;
21052
- }
21053
- data2.selectedDeptId = paths[paths.length - 2].id;
21054
- };
21055
- const reset = () => {
21056
- data2.selectedDeptId = "";
21057
- data2.keyword = "";
21058
- data2.searchUsers = [];
21059
- data2.selectedUser = {};
21060
- };
21061
- const onSubmit2 = () => {
21062
- if (!data2.selectedUser) {
21063
- util.warnToast("\u8BF7\u9009\u62E9\u7528\u6237");
21064
- return;
21065
- }
21066
- emit2("select", data2.selectedUser);
21067
- show.value = false;
21068
- reset();
21069
- };
21070
- const onCancel = () => {
21071
- show.value = false;
21072
- reset();
20939
+ const onLogout = () => {
20940
+ emit2("logout");
21073
20941
  };
21074
- vue.onMounted(() => __async(this, null, function* () {
21075
- yield queryTotalDepts();
21076
- data2.selectedDept = findDept(props2.rootDeptId, data2.totalDepts);
21077
- }));
20942
+ vue.onMounted(() => {
20943
+ });
21078
20944
  return (_ctx, _cache) => {
20945
+ const _component_van_image = vue.resolveComponent("van-image");
21079
20946
  const _component_van_button = vue.resolveComponent("van-button");
21080
- const _component_van_search = vue.resolveComponent("van-search");
21081
- const _component_van_cell = vue.resolveComponent("van-cell");
21082
- const _component_van_cell_group = vue.resolveComponent("van-cell-group");
21083
- const _component_van_radio = vue.resolveComponent("van-radio");
21084
- const _component_van_radio_group = vue.resolveComponent("van-radio-group");
21085
- const _component_van_popup = vue.resolveComponent("van-popup");
21086
- return vue.openBlock(), vue.createBlock(_component_van_popup, {
21087
- show: vue.unref(show),
21088
- "onUpdate:show": _cache[2] || (_cache[2] = ($event) => vue.isRef(show) ? show.value = $event : null),
21089
- round: "",
21090
- position: "bottom",
21091
- class: "user-popup"
21092
- }, {
21093
- default: vue.withCtx(() => [vue.createElementVNode("div", _hoisted_1$9, [vue.createElementVNode("div", _hoisted_2$5, [vue.createElementVNode("div", _hoisted_3$4, [vue.createVNode(_component_van_button, {
21094
- onClick: onBack,
21095
- icon: "arrow-left",
21096
- size: "small"
21097
- })]), vue.createElementVNode("div", _hoisted_4$4, vue.toDisplayString(vue.unref(pathsLabel)), 1), vue.createElementVNode("div", _hoisted_5$4, [vue.createVNode(_component_van_button, {
21098
- size: "small",
21099
- onClick: onCancel,
21100
- class: "cancel-btn"
21101
- }, {
21102
- default: vue.withCtx(() => [_hoisted_6$3]),
21103
- _: 1
21104
- }), vue.createVNode(_component_van_button, {
21105
- type: "primary",
21106
- size: "small",
21107
- onClick: onSubmit2,
21108
- class: "confirm-btn"
21109
- }, {
21110
- default: vue.withCtx(() => [_hoisted_7$3]),
21111
- _: 1
21112
- })])]), vue.createVNode(_component_van_search, {
21113
- modelValue: data2.keyword,
21114
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => data2.keyword = $event),
21115
- placeholder: "\u8F93\u5165\u5DE5\u53F7\u67E5\u8BE2",
21116
- onClear: _ctx.onClear,
21117
- onSearch,
21118
- onCancel: _ctx.onClear,
21119
- "show-action": ""
21120
- }, {
21121
- action: vue.withCtx(() => [vue.createElementVNode("div", {
21122
- onClick: onSearch
21123
- }, "\u641C\u7D22")]),
21124
- _: 1
21125
- }, 8, ["modelValue", "onClear", "onCancel"]), vue.createElementVNode("div", _hoisted_8$2, [vue.createVNode(_component_van_cell_group, null, {
21126
- default: vue.withCtx(() => [(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(subDepts), (dept) => {
21127
- return vue.openBlock(), vue.createBlock(_component_van_cell, {
21128
- key: dept.id,
21129
- title: dept.name,
21130
- "is-link": "",
21131
- onClick: ($event) => onSelectDept(dept)
21132
- }, null, 8, ["title", "onClick"]);
21133
- }), 128))]),
21134
- _: 1
21135
- }), vue.createVNode(_component_van_radio_group, {
21136
- modelValue: data2.selectedUser,
21137
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => data2.selectedUser = $event)
21138
- }, {
21139
- default: vue.withCtx(() => [vue.createVNode(_component_van_cell_group, null, {
21140
- default: vue.withCtx(() => [(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(subUsers), (user) => {
21141
- return vue.openBlock(), vue.createBlock(_component_van_cell, {
21142
- key: user.id,
21143
- title: `${user.userid} ${user.name}`
21144
- }, {
21145
- "right-icon": vue.withCtx(() => [vue.createVNode(_component_van_radio, {
21146
- name: user.userid
21147
- }, null, 8, ["name"])]),
21148
- _: 2
21149
- }, 1032, ["title"]);
21150
- }), 128))]),
21151
- _: 1
21152
- })]),
21153
- _: 1
21154
- }, 8, ["modelValue"])])])]),
21155
- _: 1
21156
- }, 8, ["show"]);
21157
- };
21158
- }
21159
- };
21160
- var UserPop = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-85dea264"]]);
21161
- var UsersPicker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.user-item[data-v-2ccc13b6]{\r\n margin:3px;\n}\r\n")();
21162
- const _hoisted_1$8 = {
21163
- class: "user-list"
21164
- };
21165
- const _sfc_main$e = {
21166
- __name: "UsersPicker",
21167
- props: {
21168
- modelValue: {
21169
- type: Array,
21170
- default: []
21171
- },
21172
- label: {
21173
- type: String,
21174
- default: "\u9009\u62E9\u4EBA\u5458"
21175
- },
21176
- placeholder: {
21177
- type: String,
21178
- default: "\u8BF7\u9009\u62E9\u4EBA\u5458"
21179
- },
21180
- required: {
21181
- type: Boolean,
21182
- default: false
21183
- },
21184
- readonly: {
21185
- type: Boolean,
21186
- default: false
21187
- },
21188
- rules: {
21189
- type: Array,
21190
- default: () => []
21191
- },
21192
- rootDeptId: {
21193
- type: String,
21194
- default: "1"
21195
- },
21196
- deptRangeId: {
21197
- type: String,
21198
- default: ""
21199
- },
21200
- auth: {
21201
- type: String,
21202
- default: ""
21203
- }
21204
- },
21205
- emits: ["update:modelValue", "select"],
21206
- setup(__props2, {
21207
- emit: emit2
21208
- }) {
21209
- const props2 = __props2;
21210
- const data2 = vue.reactive({
21211
- isShowPop: false,
21212
- users: []
21213
- });
21214
- const modelValue2 = useVModel(props2, "modelValue", emit2);
21215
- const {
21216
- isRequired: isRequired2,
21217
- isReadonly: isReadonly2,
21218
- isGone: isGone2,
21219
- isDisabled: isDisabled2,
21220
- rules: rules2
21221
- } = util.props2auth(props2);
21222
- vue.onMounted(() => {
21223
- });
21224
- const onSelectUser = (userId) => {
21225
- let newAry = [...modelValue2.value || [], userId];
21226
- modelValue2.value = util.uniq(newAry);
21227
- };
21228
- const onDelete = (user) => {
21229
- modelValue2.value = (modelValue2.value || []).filter((item) => {
21230
- return item != user.userid;
21231
- });
21232
- };
21233
- vue.watch(() => modelValue2.value, (n, o) => __async(this, null, function* () {
21234
- if (!modelValue2.value || modelValue2.value.length < 1) {
21235
- data2.users = [];
21236
- return;
21237
- }
21238
- let ary = [];
21239
- for (var i = 0; i < modelValue2.value.length; i++) {
21240
- let res = yield util.get_wxuser_by_id({
21241
- userId: modelValue2.value[i]
21242
- });
21243
- ary.push(res.data);
21244
- }
21245
- data2.users = ary;
21246
- emit2("select", data2.users);
21247
- }), {
21248
- immediate: true
21249
- });
21250
- return (_ctx, _cache) => {
21251
- const _component_van_tag = vue.resolveComponent("van-tag");
21252
- const _component_van_field = vue.resolveComponent("van-field");
21253
- return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [!vue.unref(isGone2) ? (vue.openBlock(), vue.createBlock(_component_van_field, {
21254
- key: 0,
21255
- label: props2.label,
21256
- required: vue.unref(isRequired2),
21257
- rules: vue.unref(rules2),
21258
- disabled: vue.unref(isDisabled2),
21259
- modelValue: vue.unref(modelValue2),
21260
- placeholder: props2.placeholder,
21261
- "is-link": vue.unref(isReadonly2) ? false : true,
21262
- onClick: _cache[0] || (_cache[0] = ($event) => data2.isShowPop = !vue.unref(isReadonly2)),
21263
- "label-class": "label"
21264
- }, {
21265
- input: vue.withCtx(() => [vue.createElementVNode("div", _hoisted_1$8, [(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(data2.users, (item, i) => {
21266
- return vue.openBlock(), vue.createBlock(_component_van_tag, {
21267
- class: "user-item",
21268
- closeable: !vue.unref(isDisabled2),
21269
- type: "primary",
21270
- plain: "",
21271
- key: item,
21272
- onClose: vue.withModifiers(($event) => onDelete(item), ["stop"])
21273
- }, {
21274
- default: vue.withCtx(() => [vue.createTextVNode(vue.toDisplayString(item.name), 1)]),
21275
- _: 2
21276
- }, 1032, ["closeable", "onClose"]);
21277
- }), 128))])]),
21278
- _: 1
21279
- }, 8, ["label", "required", "rules", "disabled", "modelValue", "placeholder", "is-link"])) : vue.createCommentVNode("", true), vue.createVNode(UserPop, {
21280
- show: data2.isShowPop,
21281
- "onUpdate:show": _cache[1] || (_cache[1] = ($event) => data2.isShowPop = $event),
21282
- rootDeptId: props2.rootDeptId,
21283
- deptRangeId: props2.deptRangeId,
21284
- onSelect: onSelectUser
21285
- }, null, 8, ["show", "rootDeptId", "deptRangeId"])], 64);
21286
- };
21287
- }
21288
- };
21289
- var UsersPicker = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-2ccc13b6"]]);
21290
- var UserPicker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.user[data-v-d61f4f1a]{\r\n padding:4px 8px;\n}\r\n")();
21291
- const _sfc_main$d = {
21292
- __name: "UserPicker",
21293
- props: {
21294
- modelValue: {
21295
- type: String,
21296
- default: ""
21297
- },
21298
- label: {
21299
- type: String,
21300
- default: "\u9009\u62E9\u4EBA\u5458"
21301
- },
21302
- placeholder: {
21303
- type: String,
21304
- default: "\u8BF7\u9009\u62E9\u4EBA\u5458"
21305
- },
21306
- required: {
21307
- type: Boolean,
21308
- default: false
21309
- },
21310
- readonly: {
21311
- type: Boolean,
21312
- default: false
21313
- },
21314
- rules: {
21315
- type: Array,
21316
- default: []
21317
- },
21318
- rootDeptId: {
21319
- type: String,
21320
- default: "1"
21321
- },
21322
- deptRangeId: {
21323
- type: String,
21324
- default: ""
21325
- },
21326
- auth: {
21327
- type: String,
21328
- default: ""
21329
- }
21330
- },
21331
- emits: ["update:modelValue", "select"],
21332
- setup(__props2, {
21333
- emit: emit2
21334
- }) {
21335
- const props2 = __props2;
21336
- const data2 = vue.reactive({
21337
- isShowPop: false,
21338
- user: {}
21339
- });
21340
- const modelValue2 = useVModel(props2, "modelValue", emit2);
21341
- const {
21342
- isRequired: isRequired2,
21343
- isReadonly: isReadonly2,
21344
- isGone: isGone2,
21345
- isDisabled: isDisabled2,
21346
- rules: rules2
21347
- } = util.props2auth(props2);
21348
- vue.onMounted(() => {
21349
- });
21350
- const onSelectUser = (userId) => {
21351
- modelValue2.value = userId;
21352
- };
21353
- const onDelete = () => {
21354
- data2.user = {};
21355
- modelValue2.value = null;
21356
- };
21357
- vue.watch(() => modelValue2.value, (n, o) => __async(this, null, function* () {
21358
- if (!n) {
21359
- data2.user = {};
21360
- return;
21361
- }
21362
- let res = yield util.get_wxuser_by_id({
21363
- userId: n
21364
- });
21365
- data2.user = res.data;
21366
- emit2("select", data2.user);
21367
- }), {
21368
- immediate: true
21369
- });
21370
- return (_ctx, _cache) => {
21371
- const _component_van_tag = vue.resolveComponent("van-tag");
21372
- const _component_van_field = vue.resolveComponent("van-field");
21373
- return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [!vue.unref(isGone2) ? (vue.openBlock(), vue.createBlock(_component_van_field, {
21374
- key: 0,
21375
- label: props2.label,
21376
- required: vue.unref(isRequired2),
21377
- rules: vue.unref(rules2),
21378
- disabled: vue.unref(isDisabled2),
21379
- placeholder: props2.placeholder,
21380
- "is-link": vue.unref(isReadonly2) ? false : true,
21381
- onClick: _cache[0] || (_cache[0] = ($event) => data2.isShowPop = !vue.unref(isReadonly2)),
21382
- "label-class": "label",
21383
- modelValue: vue.unref(modelValue2)
21384
- }, {
21385
- input: vue.withCtx(() => [vue.unref(modelValue2) ? (vue.openBlock(), vue.createBlock(_component_van_tag, {
21386
- key: 0,
21387
- class: "user",
21388
- closeable: !vue.unref(isDisabled2),
21389
- type: "primary",
21390
- plain: "",
21391
- onClose: vue.withModifiers(onDelete, ["stop"])
21392
- }, {
21393
- default: vue.withCtx(() => [vue.createTextVNode(vue.toDisplayString(data2.user.name), 1)]),
21394
- _: 1
21395
- }, 8, ["closeable", "onClose"])) : vue.createCommentVNode("", true)]),
21396
- _: 1
21397
- }, 8, ["label", "required", "rules", "disabled", "placeholder", "is-link", "modelValue"])) : vue.createCommentVNode("", true), vue.createVNode(UserPop, {
21398
- show: data2.isShowPop,
21399
- "onUpdate:show": _cache[1] || (_cache[1] = ($event) => data2.isShowPop = $event),
21400
- rootDeptId: props2.rootDeptId,
21401
- deptRangeId: props2.deptRangeId,
21402
- onSelect: onSelectUser
21403
- }, null, 8, ["show", "rootDeptId", "deptRangeId"])], 64);
21404
- };
21405
- }
21406
- };
21407
- var UserPicker = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-d61f4f1a"]]);
21408
- 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")();
21409
- const _hoisted_1$7 = {
21410
- class: "widget"
21411
- };
21412
- const _hoisted_2$4 = {
21413
- class: "user-info"
21414
- };
21415
- const _hoisted_3$3 = {
21416
- class: "user-info-item"
21417
- };
21418
- const _hoisted_4$3 = {
21419
- class: "user-info-item"
21420
- };
21421
- const _hoisted_5$3 = {
21422
- class: "user-info-item"
21423
- };
21424
- const _hoisted_6$2 = {
21425
- class: "user-jobs"
21426
- };
21427
- const _hoisted_7$2 = /* @__PURE__ */ vue.createTextVNode(" \u6CE8\u9500 ");
21428
- const _sfc_main$c = {
21429
- __name: "UserProfile",
21430
- props: {
21431
- avatar: {
21432
- type: String,
21433
- default: ""
21434
- },
21435
- name: {
21436
- type: String,
21437
- default: ""
21438
- },
21439
- position: {
21440
- type: String,
21441
- default: ""
21442
- },
21443
- mobile: {
21444
- type: String,
21445
- default: ""
21446
- },
21447
- departments: {
21448
- type: Array,
21449
- default: []
21450
- }
21451
- },
21452
- emits: ["logout"],
21453
- setup(__props2, {
21454
- emit: emit2
21455
- }) {
21456
- const props2 = __props2;
21457
- const onLogout = () => {
21458
- emit2("logout");
21459
- };
21460
- vue.onMounted(() => {
21461
- });
21462
- return (_ctx, _cache) => {
21463
- const _component_van_image = vue.resolveComponent("van-image");
21464
- const _component_van_button = vue.resolveComponent("van-button");
21465
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$7, [vue.createVNode(_component_van_image, {
20947
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$7, [vue.createVNode(_component_van_image, {
21466
20948
  round: "",
21467
20949
  width: "80px",
21468
20950
  height: "80px",
@@ -22136,7 +21618,7 @@ var __async = (__this, __arguments, generator) => {
22136
21618
  }
22137
21619
  };
22138
21620
  var TreePicker = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-ebc14630"]]);
22139
- var CascaderPop_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.cascader-pop[data-v-37dc4af2] {\r\n width: 100%;\r\n overflow: hidden;\n}\n.cascader-selector[data-v-37dc4af2] {\r\n padding: 10px;\n}\n.search-buttons[data-v-37dc4af2] {\r\n display: flex;\r\n gap: 10px;\n}\n.clear-btn[data-v-37dc4af2] {\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-37dc4af2] {\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-37dc4af2] {\r\n text-align: center;\r\n padding: 20px;\r\n color: #969799;\n}\n.cascader-header[data-v-37dc4af2] {\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-37dc4af2] {\r\n flex: 1;\r\n font-size: 14px;\r\n margin-left:5px;\r\n color: #323233;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\n}\n.header-right[data-v-37dc4af2] {\r\n display: flex;\r\n gap: 8px;\r\n margin-left: auto;\n}\n.cancel-btn[data-v-37dc4af2] {\r\n color: #969799;\r\n margin-right: 5px;\n}\n.scroll-container[data-v-37dc4af2] {\r\n height: calc(80vh - 150px);\r\n overflow-y: auto;\n}\n.cell-content[data-v-37dc4af2] {\r\n display: flex;\r\n align-items: center;\r\n gap: 12px;\n}\n.circle-selector[data-v-37dc4af2] {\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-37dc4af2] {\r\n background-color: #1989fa;\r\n border-color: #1989fa;\n}\n.circle-selector.selected .van-icon[data-v-37dc4af2] {\r\n color: white;\r\n font-size: 14px;\n}\n.van-cell__right-icon[data-v-37dc4af2] {\r\n color: #969799;\r\n font-size: 16px;\r\n margin-left: 8px;\n}\n.name[data-v-37dc4af2] {\r\n flex: 1;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\n}\n.cancel-btn[data-v-37dc4af2] {\r\n color: #969799;\n}\n.search-field[data-v-37dc4af2] {\r\n background: #fff;\r\n padding: 10px 16px;\r\n border-bottom: 1px solid #ebedf0;\r\n position: sticky;\r\n top: 0;\r\n z-index: 999;\r\n margin-bottom: 10px;\r\n flex-shrink: 0;\r\n /* \u9632\u6B62\u538B\u7F29 */\n}\r\n")();
21621
+ var CascaderPop_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.cascader-pop[data-v-27ca3ce1] {\r\n width: 100%;\r\n overflow: hidden;\n}\n.cascader-selector[data-v-27ca3ce1] {\r\n padding: 10px;\n}\n.search-buttons[data-v-27ca3ce1] {\r\n display: flex;\r\n gap: 10px;\n}\n.clear-btn[data-v-27ca3ce1] {\r\n background-color: #f2f3f5;\r\n border: none;\r\n border-radius: 4px;\r\n padding: 4px 8px;\r\n font-size: 14px;\n}\n.confirm-btn[data-v-27ca3ce1] {\r\n background-color: #1989fa;\r\n color: white;\r\n border: none;\r\n border-radius: 4px;\r\n padding: 4px 8px;\r\n font-size: 14px;\n}\n.no-results[data-v-27ca3ce1] {\r\n text-align: center;\r\n padding: 20px;\r\n color: #969799;\n}\n.cascader-header[data-v-27ca3ce1] {\r\n padding: 10px;\r\n border-bottom: 1px solid #ebedf0;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\n}\n.current-path[data-v-27ca3ce1] {\r\n flex: 1;\r\n font-size: 14px;\r\n margin-left: 5px;\r\n color: #323233;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\n}\n.header-right[data-v-27ca3ce1] {\r\n display: flex;\r\n gap: 8px;\r\n margin-left: auto;\n}\n.cancel-btn[data-v-27ca3ce1] {\r\n color: #969799;\r\n margin-right: 5px;\n}\n.scroll-container[data-v-27ca3ce1] {\r\n height: calc(80vh - 150px);\r\n overflow-y: auto;\n}\n.cell-content[data-v-27ca3ce1] {\r\n display: flex;\r\n align-items: center;\r\n gap: 12px;\n}\n.circle-selector[data-v-27ca3ce1] {\r\n width: 20px;\r\n height: 20px;\r\n border-radius: 50%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n transition: all 0.2s;\r\n flex-shrink: 0;\n}\n.circle-selector.selected[data-v-27ca3ce1] {\r\n background-color: #1989fa;\r\n border-color: #1989fa;\n}\n.circle-selector.selected .van-icon[data-v-27ca3ce1] {\r\n color: white;\r\n font-size: 14px;\n}\n.van-cell__right-icon[data-v-27ca3ce1] {\r\n color: #969799;\r\n font-size: 16px;\r\n margin-left: 8px;\n}\n.name[data-v-27ca3ce1] {\r\n flex: 1;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\n}\n.cancel-btn[data-v-27ca3ce1] {\r\n color: #969799;\n}\n.search-field[data-v-27ca3ce1] {\r\n background: #fff;\r\n padding: 10px 16px;\r\n border-bottom: 1px solid #ebedf0;\r\n position: sticky;\r\n top: 0;\r\n z-index: 999;\r\n margin-bottom: 10px;\r\n flex-shrink: 0;\r\n /* \u9632\u6B62\u538B\u7F29 */\n}\r\n")();
22140
21622
  const _hoisted_1$3 = {
22141
21623
  class: "cascader-selector"
22142
21624
  };
@@ -22168,8 +21650,12 @@ var __async = (__this, __arguments, generator) => {
22168
21650
  __name: "CascaderPop",
22169
21651
  props: {
22170
21652
  modelValue: {
22171
- type: String,
22172
- default: ""
21653
+ type: [String, Array, Number],
21654
+ default: null
21655
+ },
21656
+ multiple: {
21657
+ type: Boolean,
21658
+ default: false
22173
21659
  },
22174
21660
  show: {
22175
21661
  type: Boolean,
@@ -22200,7 +21686,7 @@ var __async = (__this, __arguments, generator) => {
22200
21686
  const data2 = vue.reactive({
22201
21687
  parentNode: null,
22202
21688
  keyword: "",
22203
- selectedNodeId: ""
21689
+ selectedNodeIds: []
22204
21690
  });
22205
21691
  vue.onMounted(() => {
22206
21692
  });
@@ -22244,25 +21730,51 @@ var __async = (__this, __arguments, generator) => {
22244
21730
  };
22245
21731
  const reset = () => {
22246
21732
  data2.keyword = "";
21733
+ data2.selectedNodeIds = [];
22247
21734
  };
22248
- const onSubmit2 = () => {
22249
- if (!data2.selectedNodeId) {
21735
+ const ids2nodes2 = () => __async(this, null, function* () {
21736
+ if (!data2.selectedNodeIds || data2.selectedNodeIds.length < 1)
21737
+ return [];
21738
+ let promises = data2.selectedNodeIds.map((nodeId) => __async(this, null, function* () {
21739
+ let params = {};
21740
+ params.id = nodeId;
21741
+ params.isReturnParent = true;
21742
+ params.hasChildren = false;
21743
+ params.hasPaths = true;
21744
+ let selectNode = null;
21745
+ yield props2.idQueryNode(params, (node) => {
21746
+ data2.parentNode = node;
21747
+ selectNode = util.findNode(nodeId, data2.parentNode.children);
21748
+ });
21749
+ return selectNode;
21750
+ }));
21751
+ let selectNodes = yield Promise.all(promises);
21752
+ return selectNodes;
21753
+ });
21754
+ const onSubmit2 = () => __async(this, null, function* () {
21755
+ if (!data2.selectedNodeIds || data2.selectedNodeIds.length < 1) {
22250
21756
  util.warnToast("\u8BF7\u9009\u62E9");
22251
21757
  return;
22252
21758
  }
22253
- modelValue2.value = data2.selectedNodeId;
21759
+ let selectNodes = yield ids2nodes2();
21760
+ emit2("select", selectNodes);
21761
+ if (!props2.multiple) {
21762
+ modelValue2.value = data2.selectedNodeIds[0];
21763
+ } else {
21764
+ modelValue2.value = data2.selectedNodeIds;
21765
+ }
22254
21766
  show.value = false;
22255
21767
  reset();
22256
- };
21768
+ });
22257
21769
  const onCancel = () => {
22258
21770
  show.value = false;
22259
21771
  reset();
22260
21772
  };
22261
21773
  const onToggle = (node) => {
22262
- if (data2.selectedNodeId == node.id)
22263
- data2.selectedNodeId = "";
21774
+ if (data2.selectedNodeIds.includes(node.id))
21775
+ data2.selectedNodeIds = data2.selectedNodeIds.filter((item) => item != node.id);
22264
21776
  else
22265
- data2.selectedNodeId = node.id;
21777
+ data2.selectedNodeIds.push(node.id);
22266
21778
  };
22267
21779
  const onNextLevel = (node) => {
22268
21780
  props2.idQueryNode({
@@ -22274,55 +21786,26 @@ var __async = (__this, __arguments, generator) => {
22274
21786
  });
22275
21787
  };
22276
21788
  const query = () => __async(this, null, function* () {
22277
- data2.selectedNodeId = modelValue2.value;
22278
- if (!modelValue2.value) {
22279
- let params = {};
22280
- params.isReturnParent = true;
22281
- params.hasChildren = true;
22282
- params.hasPaths = true;
22283
- yield props2.idQueryNode(params, (node) => {
22284
- data2.parentNode = node;
22285
- if (!modelValue2.value)
22286
- return;
22287
- let childNode = util.findNode(modelValue2.value, data2.parentNode.children);
22288
- emit2("select", childNode);
22289
- });
22290
- } else {
22291
- if (!props2.show) {
22292
- let params = {};
22293
- params.id = modelValue2.value;
22294
- params.isReturnParent = true;
22295
- params.hasChildren = false;
22296
- params.hasPaths = true;
22297
- yield props2.idQueryNode(params, (node) => {
22298
- data2.parentNode = node;
22299
- let childNode = util.findNode(modelValue2.value, data2.parentNode.children);
22300
- emit2("select", childNode);
22301
- });
22302
- } else {
22303
- let params = {};
22304
- params.id = modelValue2.value;
22305
- params.isReturnParent = true;
22306
- params.hasChildren = true;
22307
- params.hasPaths = true;
22308
- yield props2.idQueryNode(params, (node) => {
22309
- data2.parentNode = node;
22310
- if (!modelValue2.value)
22311
- return;
22312
- let childNode = util.findNode(modelValue2.value, data2.parentNode.children);
22313
- emit2("select", childNode);
22314
- });
22315
- }
22316
- }
22317
- });
22318
- vue.watch(() => props2.show, () => {
22319
- if (!props2.show)
22320
- return;
22321
- query();
22322
- }, {
22323
- immediate: true
21789
+ if (!props2.multiple) {
21790
+ if (modelValue2.value)
21791
+ data2.selectedNodeIds = [modelValue2.value];
21792
+ else
21793
+ data2.selectedNodeIds = [];
21794
+ } else if (modelValue2.value && modelValue2.value.length > 0)
21795
+ data2.selectedNodeIds = modelValue2.value;
21796
+ else
21797
+ data2.selectedNodeIds = [];
21798
+ let params = {};
21799
+ if (data2.selectedNodeIds.length > 0)
21800
+ params.id = data2.selectedNodeIds[0];
21801
+ params.isReturnParent = true;
21802
+ params.hasChildren = true;
21803
+ params.hasPaths = true;
21804
+ yield props2.idQueryNode(params, (node) => {
21805
+ data2.parentNode = node;
21806
+ });
22324
21807
  });
22325
- vue.watch(() => modelValue2.value, (n, o) => __async(this, null, function* () {
21808
+ vue.watch(() => [modelValue2.value, props2.show], (n, o) => __async(this, null, function* () {
22326
21809
  query();
22327
21810
  }), {
22328
21811
  immediate: true
@@ -22382,12 +21865,12 @@ var __async = (__this, __arguments, generator) => {
22382
21865
  key: 0,
22383
21866
  class: "circle-selector",
22384
21867
  onClick: vue.withModifiers(($event) => onToggle(item), ["stop"])
22385
- }, [data2.selectedNodeId === item.id ? (vue.openBlock(), vue.createBlock(_component_van_icon, {
21868
+ }, [data2.selectedNodeIds.includes(item.id) ? (vue.openBlock(), vue.createBlock(_component_van_icon, {
22386
21869
  key: 0,
22387
21870
  name: "success",
22388
21871
  size: "20",
22389
21872
  color: "#409eff"
22390
- })) : vue.createCommentVNode("", true), data2.selectedNodeId != item.id ? (vue.openBlock(), vue.createBlock(_component_van_icon, {
21873
+ })) : vue.createCommentVNode("", true), !data2.selectedNodeIds.includes(item.id) ? (vue.openBlock(), vue.createBlock(_component_van_icon, {
22391
21874
  key: 1,
22392
21875
  name: "circle",
22393
21876
  size: "20",
@@ -22409,7 +21892,7 @@ var __async = (__this, __arguments, generator) => {
22409
21892
  };
22410
21893
  }
22411
21894
  };
22412
- var CascaderPop = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-37dc4af2"]]);
21895
+ var CascaderPop = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-27ca3ce1"]]);
22413
21896
  const _hoisted_1$2 = {
22414
21897
  style: {
22415
21898
  "display": "flex",
@@ -22471,7 +21954,7 @@ var __async = (__this, __arguments, generator) => {
22471
21954
  const data2 = vue.reactive({
22472
21955
  isShowPop: false,
22473
21956
  selectedNodes: [],
22474
- selectedNodeId: null
21957
+ selectedNodeIds: null
22475
21958
  });
22476
21959
  const modelValue2 = useVModel(props2, "modelValue", emit2);
22477
21960
  const {
@@ -22483,19 +21966,17 @@ var __async = (__this, __arguments, generator) => {
22483
21966
  } = util.props2auth(props2);
22484
21967
  vue.onMounted(() => {
22485
21968
  });
22486
- const onSelect = (node) => {
22487
- if (!node) {
21969
+ const onSelect = (nodes) => {
21970
+ if (!nodes) {
22488
21971
  emit2("select", null);
22489
21972
  return;
22490
21973
  }
22491
21974
  if (!props2.multiple) {
22492
- data2.selectedNodes = [node];
21975
+ data2.selectedNodes = nodes;
22493
21976
  emit2("select", data2.selectedNodes[0]);
22494
- modelValue2.value = node.id;
21977
+ modelValue2.value = data2.selectedNodes[0].id;
22495
21978
  } else {
22496
- let one = data2.selectedNodes.find((item) => item.id === node.id);
22497
- if (!one)
22498
- data2.selectedNodes = [...data2.selectedNodes, node];
21979
+ data2.selectedNodes = nodes;
22499
21980
  emit2("select", data2.selectedNodes);
22500
21981
  modelValue2.value = data2.selectedNodes.map((item) => item.id);
22501
21982
  }
@@ -22507,23 +21988,32 @@ var __async = (__this, __arguments, generator) => {
22507
21988
  modelValue2.value.splice(idx, 1);
22508
21989
  }
22509
21990
  };
21991
+ const ids2nodes2 = () => __async(this, null, function* () {
21992
+ if (!data2.selectedNodeIds || data2.selectedNodeIds.length < 1)
21993
+ return [];
21994
+ let promises = data2.selectedNodeIds.map((nodeId) => __async(this, null, function* () {
21995
+ let params = {};
21996
+ params.id = nodeId;
21997
+ params.isReturnParent = true;
21998
+ params.hasChildren = false;
21999
+ params.hasPaths = true;
22000
+ let selectNode = null;
22001
+ yield props2.idQueryNode(params, (node) => {
22002
+ data2.parentNode = node;
22003
+ selectNode = util.findNode(nodeId, data2.parentNode.children);
22004
+ });
22005
+ return selectNode;
22006
+ }));
22007
+ let selectNodes = yield Promise.all(promises);
22008
+ return selectNodes;
22009
+ });
22510
22010
  vue.watch(() => JSON.stringify(modelValue2.value), (n, o) => __async(this, null, function* () {
22011
+ data2.selectedNodeIds = modelValue2.value;
22012
+ data2.selectedNodes = yield ids2nodes2();
22511
22013
  if (!props2.multiple) {
22512
- data2.selectedNodeId = modelValue2.value;
22014
+ data2.selectedNodeIds = modelValue2.value;
22513
22015
  } else {
22514
- data2.selectedNodes = [];
22515
- let ids = modelValue2.value || [];
22516
- ids.forEach((id) => __async(this, null, function* () {
22517
- let params = {};
22518
- params.id = id;
22519
- params.isReturnParent = false;
22520
- params.hasChildren = false;
22521
- params.hasPaths = true;
22522
- yield props2.idQueryNode(params, (node) => {
22523
- let selectNode = util.findNode(id, node.children);
22524
- data2.selectedNodes = [...data2.selectedNodes, selectNode];
22525
- });
22526
- }));
22016
+ data2.selectedNodeIds = modelValue2.value;
22527
22017
  }
22528
22018
  }), {
22529
22019
  immediate: true
@@ -22578,15 +22068,16 @@ var __async = (__this, __arguments, generator) => {
22578
22068
  }, 1032, ["closeable", "onClose"]);
22579
22069
  }), 128)) : vue.createCommentVNode("", true)])])
22580
22070
  } : void 0]), 1032, ["label", "modelValue", "required", "rules", "disabled", "placeholder", "is-link"])) : vue.createCommentVNode("", true), vue.createVNode(CascaderPop, {
22071
+ multiple: props2.multiple,
22581
22072
  show: data2.isShowPop,
22582
22073
  "onUpdate:show": _cache[1] || (_cache[1] = ($event) => data2.isShowPop = $event),
22583
- modelValue: data2.selectedNodeId,
22584
- "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => data2.selectedNodeId = $event),
22074
+ modelValue: data2.selectedNodeIds,
22075
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => data2.selectedNodeIds = $event),
22585
22076
  placeholder: props2.placeholder,
22586
22077
  onSelect,
22587
22078
  keywordQueryNode: props2.keywordQueryNode,
22588
22079
  idQueryNode: props2.idQueryNode
22589
- }, null, 8, ["show", "modelValue", "placeholder", "keywordQueryNode", "idQueryNode"])], 64);
22080
+ }, null, 8, ["multiple", "show", "modelValue", "placeholder", "keywordQueryNode", "idQueryNode"])], 64);
22590
22081
  };
22591
22082
  }
22592
22083
  };
@@ -23014,7 +22505,7 @@ var __async = (__this, __arguments, generator) => {
23014
22505
  disabled: props2.schema[key].auth === "readonly",
23015
22506
  modelValue: data2.inputValue[key],
23016
22507
  "onUpdate:modelValue": ($event) => data2.inputValue[key] = $event
23017
- }, null, 8, ["disabled", "modelValue", "onUpdate:modelValue"])) : vue.createCommentVNode("", true), props2.schema[key].type == "Datetime" ? (vue.openBlock(), vue.createBlock(_sfc_main$p, {
22508
+ }, null, 8, ["disabled", "modelValue", "onUpdate:modelValue"])) : vue.createCommentVNode("", true), props2.schema[key].type == "Datetime" ? (vue.openBlock(), vue.createBlock(_sfc_main$m, {
23018
22509
  key: 3,
23019
22510
  auth: props2.schema[key].auth,
23020
22511
  modelValue: data2.inputValue[key],
@@ -23105,11 +22596,11 @@ var __async = (__this, __arguments, generator) => {
23105
22596
  },
23106
22597
  {
23107
22598
  name: "WidgetQwDatetimePicker",
23108
- widget: _sfc_main$p
22599
+ widget: _sfc_main$m
23109
22600
  },
23110
22601
  {
23111
22602
  name: "WidgetQwDatetimeDropdown",
23112
- widget: _sfc_main$o
22603
+ widget: _sfc_main$l
23113
22604
  },
23114
22605
  {
23115
22606
  name: "WidgetQwDataSelector",
@@ -23147,14 +22638,6 @@ var __async = (__this, __arguments, generator) => {
23147
22638
  name: "WidgetQwUserSelector",
23148
22639
  widget: UserSelector
23149
22640
  },
23150
- {
23151
- name: "WidgetQwUsersPicker",
23152
- widget: UsersPicker
23153
- },
23154
- {
23155
- name: "WidgetQwUserPicker",
23156
- widget: UserPicker
23157
- },
23158
22641
  {
23159
22642
  name: "WidgetQwUserProfile",
23160
22643
  widget: UserProfile