widget.qw 1.0.97 → 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.
@@ -48,13 +48,13 @@ var _export_sfc = (sfc, props2) => {
48
48
  }
49
49
  return target;
50
50
  };
51
- const _hoisted_1$m = {
51
+ const _hoisted_1$k = {
52
52
  class: "enterprise-header"
53
53
  };
54
- const _hoisted_2$f = {
54
+ const _hoisted_2$e = {
55
55
  class: "header-title"
56
56
  };
57
- const _sfc_main$x = {
57
+ const _sfc_main$u = {
58
58
  __name: "HeadBar",
59
59
  props: {
60
60
  title: {
@@ -86,13 +86,13 @@ const _sfc_main$x = {
86
86
  };
87
87
  return (_ctx, _cache) => {
88
88
  const _component_van_icon = resolveComponent("van-icon");
89
- return openBlock(), createElementBlock("div", _hoisted_1$m, [unref(canGoBack) ? (openBlock(), createElementBlock("button", {
89
+ return openBlock(), createElementBlock("div", _hoisted_1$k, [unref(canGoBack) ? (openBlock(), createElementBlock("button", {
90
90
  key: 0,
91
91
  class: "header-btn back-btn",
92
92
  onClick: handleBack
93
93
  }, [createVNode(_component_van_icon, {
94
94
  name: "arrow-left"
95
- })])) : createCommentVNode("", true), createElementVNode("div", _hoisted_2$f, toDisplayString(__props2.title), 1), createElementVNode("button", {
95
+ })])) : createCommentVNode("", true), createElementVNode("div", _hoisted_2$e, toDisplayString(__props2.title), 1), createElementVNode("button", {
96
96
  class: "header-btn home-btn",
97
97
  onClick: handleHome
98
98
  }, [createVNode(_component_van_icon, {
@@ -101,7 +101,7 @@ const _sfc_main$x = {
101
101
  };
102
102
  }
103
103
  };
104
- var HeadBar = /* @__PURE__ */ _export_sfc(_sfc_main$x, [["__scopeId", "data-v-435ecee6"]]);
104
+ var HeadBar = /* @__PURE__ */ _export_sfc(_sfc_main$u, [["__scopeId", "data-v-435ecee6"]]);
105
105
  var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
106
106
  function getAugmentedNamespace(n) {
107
107
  if (n.__esModule)
@@ -17202,20 +17202,20 @@ var lodash$1 = { exports: {} };
17202
17202
  var lodash = lodash$1.exports;
17203
17203
  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}")();
17204
17204
  var AuditBar_vue_vue_type_style_index_1_lang = /* @__PURE__ */ (() => "\n:root:root {\r\n --van-popover-action-width: 70vw;\n}\r\n")();
17205
- const _hoisted_1$l = {
17205
+ const _hoisted_1$j = {
17206
17206
  class: "widget"
17207
17207
  };
17208
- const _hoisted_2$e = /* @__PURE__ */ createTextVNode("\u9A73\u56DE");
17208
+ const _hoisted_2$d = /* @__PURE__ */ createTextVNode("\u9A73\u56DE");
17209
17209
  const _hoisted_3$a = /* @__PURE__ */ createTextVNode("\u63D0\u4EA4");
17210
17210
  const _hoisted_4$9 = /* @__PURE__ */ createTextVNode("\u7533\u8BF7");
17211
- const _hoisted_5$9 = {
17211
+ const _hoisted_5$8 = {
17212
17212
  key: 4,
17213
17213
  class: "audit-title"
17214
17214
  };
17215
- const _hoisted_6$8 = {
17215
+ const _hoisted_6$7 = {
17216
17216
  class: "task-title"
17217
17217
  };
17218
- const _sfc_main$w = {
17218
+ const _sfc_main$t = {
17219
17219
  __name: "AuditBar",
17220
17220
  props: {
17221
17221
  processId: {
@@ -17482,7 +17482,7 @@ const _sfc_main$w = {
17482
17482
  const _component_van_popover = resolveComponent("van-popover");
17483
17483
  const _component_van_step = resolveComponent("van-step");
17484
17484
  const _component_van_steps = resolveComponent("van-steps");
17485
- return openBlock(), createElementBlock("div", _hoisted_1$l, [unref(canPass) || unref(canRefuse) ? (openBlock(), createBlock(_component_van_field, {
17485
+ return openBlock(), createElementBlock("div", _hoisted_1$j, [unref(canPass) || unref(canRefuse) ? (openBlock(), createBlock(_component_van_field, {
17486
17486
  key: 0,
17487
17487
  modelValue: data2.memo,
17488
17488
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => data2.memo = $event),
@@ -17503,7 +17503,7 @@ const _sfc_main$w = {
17503
17503
  type: "danger",
17504
17504
  onClick: onRefuse
17505
17505
  }, {
17506
- default: withCtx(() => [_hoisted_2$e]),
17506
+ default: withCtx(() => [_hoisted_2$d]),
17507
17507
  _: 1
17508
17508
  })]),
17509
17509
  _: 1
@@ -17525,7 +17525,7 @@ const _sfc_main$w = {
17525
17525
  }, {
17526
17526
  default: withCtx(() => [_hoisted_4$9]),
17527
17527
  _: 1
17528
- })) : createCommentVNode("", true), data2.process && data2.process.id ? (openBlock(), createElementBlock("div", _hoisted_5$9, toDisplayString(unref(formatProcessTitle)), 1)) : createCommentVNode("", true), data2.process && data2.process.id ? (openBlock(), createBlock(_component_van_steps, {
17528
+ })) : createCommentVNode("", true), data2.process && data2.process.id ? (openBlock(), createElementBlock("div", _hoisted_5$8, toDisplayString(unref(formatProcessTitle)), 1)) : createCommentVNode("", true), data2.process && data2.process.id ? (openBlock(), createBlock(_component_van_steps, {
17529
17529
  key: 5,
17530
17530
  class: "task-list",
17531
17531
  direction: "vertical",
@@ -17535,7 +17535,7 @@ const _sfc_main$w = {
17535
17535
  return openBlock(), createBlock(_component_van_step, {
17536
17536
  key: i
17537
17537
  }, {
17538
- default: withCtx(() => [createElementVNode("div", _hoisted_6$8, toDisplayString(formatTitle(task)), 1), task.executors ? (openBlock(true), createElementBlock(Fragment, {
17538
+ default: withCtx(() => [createElementVNode("div", _hoisted_6$7, toDisplayString(formatTitle(task)), 1), task.executors ? (openBlock(true), createElementBlock(Fragment, {
17539
17539
  key: 0
17540
17540
  }, renderList(task.executors, (executor, j) => {
17541
17541
  return openBlock(), createElementBlock("div", {
@@ -17551,7 +17551,7 @@ const _sfc_main$w = {
17551
17551
  };
17552
17552
  }
17553
17553
  };
17554
- var AuditBar = /* @__PURE__ */ _export_sfc(_sfc_main$w, [["__scopeId", "data-v-1e9a1a8a"]]);
17554
+ var AuditBar = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-1e9a1a8a"]]);
17555
17555
  const isClient = typeof window !== "undefined" && typeof document !== "undefined";
17556
17556
  typeof WorkerGlobalScope !== "undefined" && globalThis instanceof WorkerGlobalScope;
17557
17557
  const isDef = (val) => typeof val !== "undefined";
@@ -17618,10 +17618,26 @@ function useVModel(props2, key, emit2, options = {}) {
17618
17618
  });
17619
17619
  }
17620
17620
  }
17621
- var Input_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "[data-v-3c30f32c] .label {\n color: #000 !important;\n}\n[data-v-3c30f32c] .van-field__control:disabled {\n color: #000 !important;\n cursor: not-allowed;\n opacity: 1;\n -webkit-text-fill-color: #000;\n}")();
17622
- const _hoisted_1$k = /* @__PURE__ */ createTextVNode(" + ");
17623
- const _hoisted_2$d = /* @__PURE__ */ createTextVNode(" \u786E\u5B9A ");
17624
- const _sfc_main$v = {
17621
+ 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}")();
17622
+ const _hoisted_1$i = {
17623
+ style: {
17624
+ "display": "flex",
17625
+ "align-items": "center"
17626
+ }
17627
+ };
17628
+ const _hoisted_2$c = {
17629
+ style: {
17630
+ "font-size": "20px",
17631
+ "color": "#999"
17632
+ }
17633
+ };
17634
+ const _hoisted_3$9 = {
17635
+ style: {
17636
+ "margin": "15px 0 0 0"
17637
+ }
17638
+ };
17639
+ const _hoisted_4$8 = /* @__PURE__ */ createTextVNode(" \u786E\u5B9A ");
17640
+ const _sfc_main$s = {
17625
17641
  __name: "Input",
17626
17642
  props: {
17627
17643
  modelValue: {
@@ -17702,8 +17718,9 @@ const _sfc_main$v = {
17702
17718
  onMounted(() => {
17703
17719
  });
17704
17720
  return (_ctx, _cache) => {
17705
- const _component_van_button = resolveComponent("van-button");
17721
+ const _component_van_icon = resolveComponent("van-icon");
17706
17722
  const _component_van_field = resolveComponent("van-field");
17723
+ const _component_van_button = resolveComponent("van-button");
17707
17724
  const _component_van_popup = resolveComponent("van-popup");
17708
17725
  return openBlock(), createElementBlock(Fragment, null, [!unref(isGone) && props.type === "number" ? (openBlock(), createBlock(_component_van_field, {
17709
17726
  key: 0,
@@ -17721,35 +17738,36 @@ const _sfc_main$v = {
17721
17738
  autosize: props.autosize,
17722
17739
  rules: unref(rules)
17723
17740
  }, {
17724
- button: withCtx(() => [createVNode(_component_van_button, {
17725
- size: "small",
17741
+ button: withCtx(() => [createVNode(_component_van_icon, {
17742
+ name: "plus",
17726
17743
  onClick: onCalc
17727
- }, {
17728
- default: withCtx(() => [_hoisted_1$k]),
17729
- _: 1
17730
17744
  })]),
17731
17745
  _: 1
17732
17746
  }, 8, ["label", "modelValue", "disabled", "required", "placeholder", "type", "rows", "autosize", "rules"])) : createCommentVNode("", true), createVNode(_component_van_popup, {
17733
17747
  show: data.isShowPop,
17734
17748
  "onUpdate:show": _cache[2] || (_cache[2] = ($event) => data.isShowPop = $event),
17735
17749
  position: "bottom",
17736
- round: ""
17750
+ round: "",
17751
+ style: {
17752
+ "padding": "25px 15px"
17753
+ }
17737
17754
  }, {
17738
- default: withCtx(() => [createVNode(_component_van_field, {
17755
+ default: withCtx(() => [createElementVNode("div", _hoisted_1$i, [createElementVNode("span", _hoisted_2$c, toDisplayString(props.modelValue || ""), 1), createVNode(_component_van_field, {
17739
17756
  modelValue: data.express,
17740
17757
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => data.express = $event),
17741
17758
  placeholder: "\u8BF7\u8F93\u5165+/-\u6570\u5B57",
17742
- type: "text"
17759
+ type: "text",
17760
+ style: {
17761
+ "font-size": "20px"
17762
+ }
17763
+ }, null, 8, ["modelValue"])]), createElementVNode("div", _hoisted_3$9, [createVNode(_component_van_button, {
17764
+ onClick: onSubmit,
17765
+ type: "primary",
17766
+ size: "large"
17743
17767
  }, {
17744
- button: withCtx(() => [createVNode(_component_van_button, {
17745
- size: "small",
17746
- onClick: onSubmit
17747
- }, {
17748
- default: withCtx(() => [_hoisted_2$d]),
17749
- _: 1
17750
- })]),
17768
+ default: withCtx(() => [_hoisted_4$8]),
17751
17769
  _: 1
17752
- }, 8, ["modelValue"])]),
17770
+ })])]),
17753
17771
  _: 1
17754
17772
  }, 8, ["show"]), !unref(isGone) && props.type != "number" ? (openBlock(), createBlock(_component_van_field, {
17755
17773
  key: 1,
@@ -17767,9 +17785,9 @@ const _sfc_main$v = {
17767
17785
  };
17768
17786
  }
17769
17787
  };
17770
- var Input = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__scopeId", "data-v-3c30f32c"]]);
17788
+ var Input = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-bdbdf60a"]]);
17771
17789
  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}")();
17772
- const _sfc_main$u = {
17790
+ const _sfc_main$r = {
17773
17791
  __name: "SinglePicker",
17774
17792
  props: {
17775
17793
  id: String,
@@ -17885,16 +17903,16 @@ const _sfc_main$u = {
17885
17903
  };
17886
17904
  }
17887
17905
  };
17888
- var SinglePicker = /* @__PURE__ */ _export_sfc(_sfc_main$u, [["__scopeId", "data-v-3ae83b36"]]);
17906
+ var SinglePicker = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-3ae83b36"]]);
17889
17907
  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")();
17890
- const _hoisted_1$j = {
17908
+ const _hoisted_1$h = {
17891
17909
  class: "select-all-container"
17892
17910
  };
17893
- const _hoisted_2$c = /* @__PURE__ */ createTextVNode("\u5168\u9009");
17894
- const _hoisted_3$9 = {
17911
+ const _hoisted_2$b = /* @__PURE__ */ createTextVNode("\u5168\u9009");
17912
+ const _hoisted_3$8 = {
17895
17913
  class: "checkbox-list"
17896
17914
  };
17897
- const _sfc_main$t = {
17915
+ const _sfc_main$q = {
17898
17916
  __name: "DataPop",
17899
17917
  props: {
17900
17918
  show: {
@@ -17941,16 +17959,16 @@ const _sfc_main$t = {
17941
17959
  position: "bottom",
17942
17960
  class: "popup-box"
17943
17961
  }, {
17944
- default: withCtx(() => [createElementVNode("div", _hoisted_1$j, [createVNode(_component_van_checkbox, {
17962
+ default: withCtx(() => [createElementVNode("div", _hoisted_1$h, [createVNode(_component_van_checkbox, {
17945
17963
  shape: "square",
17946
17964
  modelValue: data2.isAllChecked,
17947
17965
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => data2.isAllChecked = $event),
17948
17966
  onClick: onToggleAll,
17949
17967
  "label-position": "left"
17950
17968
  }, {
17951
- default: withCtx(() => [_hoisted_2$c]),
17969
+ default: withCtx(() => [_hoisted_2$b]),
17952
17970
  _: 1
17953
- }, 8, ["modelValue"])]), createElementVNode("div", _hoisted_3$9, [createVNode(_component_van_checkbox_group, {
17971
+ }, 8, ["modelValue"])]), createElementVNode("div", _hoisted_3$8, [createVNode(_component_van_checkbox_group, {
17954
17972
  modelValue: unref(modelValue2),
17955
17973
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => isRef(modelValue2) ? modelValue2.value = $event : null),
17956
17974
  direction: "vertical"
@@ -17975,12 +17993,12 @@ const _sfc_main$t = {
17975
17993
  };
17976
17994
  }
17977
17995
  };
17978
- var DataPop = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-10d79413"]]);
17996
+ var DataPop = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["__scopeId", "data-v-10d79413"]]);
17979
17997
  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")();
17980
- const _hoisted_1$i = {
17998
+ const _hoisted_1$g = {
17981
17999
  class: "data-list"
17982
18000
  };
17983
- const _sfc_main$s = {
18001
+ const _sfc_main$p = {
17984
18002
  __name: "MultiPicker",
17985
18003
  props: {
17986
18004
  id: String,
@@ -18095,7 +18113,7 @@ const _sfc_main$s = {
18095
18113
  _: 2
18096
18114
  }, [unref(selectOptions).length > 0 ? {
18097
18115
  name: "input",
18098
- fn: withCtx(() => [createElementVNode("div", _hoisted_1$i, [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(selectOptions), (item, i) => {
18116
+ fn: withCtx(() => [createElementVNode("div", _hoisted_1$g, [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(selectOptions), (item, i) => {
18099
18117
  return openBlock(), createBlock(_component_van_tag, {
18100
18118
  class: "data-item",
18101
18119
  closeable: !unref(isDisabled2),
@@ -18118,9 +18136,9 @@ const _sfc_main$s = {
18118
18136
  };
18119
18137
  }
18120
18138
  };
18121
- var MultiPicker = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-17dcd144"]]);
18139
+ var MultiPicker = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-17dcd144"]]);
18122
18140
  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}")();
18123
- const _sfc_main$r = {
18141
+ const _sfc_main$o = {
18124
18142
  __name: "CheckGroup",
18125
18143
  props: {
18126
18144
  id: {
@@ -18246,8 +18264,8 @@ const _sfc_main$r = {
18246
18264
  };
18247
18265
  }
18248
18266
  };
18249
- var CheckGroup = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-c848ffbc"]]);
18250
- const _sfc_main$q = {
18267
+ var CheckGroup = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-c848ffbc"]]);
18268
+ const _sfc_main$n = {
18251
18269
  __name: "DatetimePop",
18252
18270
  props: {
18253
18271
  isShow: {
@@ -18529,7 +18547,7 @@ const _sfc_main$q = {
18529
18547
  };
18530
18548
  }
18531
18549
  };
18532
- const _sfc_main$p = {
18550
+ const _sfc_main$m = {
18533
18551
  __name: "DatetimePicker",
18534
18552
  props: {
18535
18553
  modelValue: {
@@ -18638,7 +18656,7 @@ const _sfc_main$p = {
18638
18656
  rules: unref(rules2),
18639
18657
  "right-icon": unref(rightIcon),
18640
18658
  onClickRightIcon: onToggleShow
18641
- }, null, 8, ["modelValue", "label", "disabled", "readonly", "placeholder", "required", "rules", "right-icon"])) : createCommentVNode("", true), createVNode(_sfc_main$q, {
18659
+ }, null, 8, ["modelValue", "label", "disabled", "readonly", "placeholder", "required", "rules", "right-icon"])) : createCommentVNode("", true), createVNode(_sfc_main$n, {
18642
18660
  isShow: data2.isShow,
18643
18661
  "onUpdate:isShow": _cache[1] || (_cache[1] = ($event) => data2.isShow = $event),
18644
18662
  modelValue: unref(modelValue2),
@@ -18650,7 +18668,7 @@ const _sfc_main$p = {
18650
18668
  };
18651
18669
  }
18652
18670
  };
18653
- const _sfc_main$o = {
18671
+ const _sfc_main$l = {
18654
18672
  __name: "DatetimeDropdown",
18655
18673
  props: {
18656
18674
  modelValue: {
@@ -18702,7 +18720,7 @@ const _sfc_main$o = {
18702
18720
  return openBlock(), createBlock(_component_van_dropdown_item, {
18703
18721
  title: unref(formatTitle)
18704
18722
  }, {
18705
- default: withCtx(() => [createVNode(_sfc_main$p, {
18723
+ default: withCtx(() => [createVNode(_sfc_main$m, {
18706
18724
  modelValue: unref(modelValue2),
18707
18725
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(modelValue2) ? modelValue2.value = $event : null),
18708
18726
  placeholder: props2.placeholder,
@@ -18714,23 +18732,23 @@ const _sfc_main$o = {
18714
18732
  }
18715
18733
  };
18716
18734
  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")();
18717
- const _hoisted_1$h = {
18735
+ const _hoisted_1$f = {
18718
18736
  class: "pad10 flex-between showMultipleButton"
18719
18737
  };
18720
- const _hoisted_2$b = /* @__PURE__ */ createTextVNode("\u53D6\u6D88");
18721
- const _hoisted_3$8 = {
18738
+ const _hoisted_2$a = /* @__PURE__ */ createTextVNode("\u53D6\u6D88");
18739
+ const _hoisted_3$7 = {
18722
18740
  class: "bold"
18723
18741
  };
18724
- const _hoisted_4$8 = /* @__PURE__ */ createTextVNode("\u786E\u5B9A");
18725
- const _hoisted_5$8 = {
18742
+ const _hoisted_4$7 = /* @__PURE__ */ createTextVNode("\u786E\u5B9A");
18743
+ const _hoisted_5$7 = {
18726
18744
  key: 0,
18727
18745
  class: "select-all-container"
18728
18746
  };
18729
- const _hoisted_6$7 = /* @__PURE__ */ createTextVNode("\u5168\u9009");
18730
- const _hoisted_7$7 = {
18747
+ const _hoisted_6$6 = /* @__PURE__ */ createTextVNode("\u5168\u9009");
18748
+ const _hoisted_7$6 = {
18731
18749
  class: "checkbox-style"
18732
18750
  };
18733
- const _sfc_main$n = {
18751
+ const _sfc_main$k = {
18734
18752
  __name: "data_selector",
18735
18753
  props: {
18736
18754
  multiple: {
@@ -18951,20 +18969,20 @@ const _sfc_main$n = {
18951
18969
  position: "bottom",
18952
18970
  class: "popup-style"
18953
18971
  }, {
18954
- default: withCtx(() => [createElementVNode("div", null, [createElementVNode("div", _hoisted_1$h, [createVNode(_component_van_button, {
18972
+ default: withCtx(() => [createElementVNode("div", null, [createElementVNode("div", _hoisted_1$f, [createVNode(_component_van_button, {
18955
18973
  plain: "",
18956
18974
  size: "normal",
18957
18975
  onClick: cancelSelection
18958
18976
  }, {
18959
- default: withCtx(() => [_hoisted_2$b]),
18977
+ default: withCtx(() => [_hoisted_2$a]),
18960
18978
  _: 1
18961
- }), createElementVNode("div", _hoisted_3$8, toDisplayString(__props2.label), 1), createVNode(_component_van_button, {
18979
+ }), createElementVNode("div", _hoisted_3$7, toDisplayString(__props2.label), 1), createVNode(_component_van_button, {
18962
18980
  plain: "",
18963
18981
  type: "primary",
18964
18982
  size: "normal",
18965
18983
  onClick: confirmSelection
18966
18984
  }, {
18967
- default: withCtx(() => [_hoisted_4$8]),
18985
+ default: withCtx(() => [_hoisted_4$7]),
18968
18986
  _: 1
18969
18987
  })]), createVNode(_component_van_field, {
18970
18988
  "left-icon": "search",
@@ -18975,16 +18993,16 @@ const _sfc_main$n = {
18975
18993
  },
18976
18994
  clearable: "",
18977
18995
  placeholder: "\u8BF7\u8F93\u5165\u641C\u7D22\u5173\u952E\u5B57"
18978
- }, null, 8, ["modelValue"]), props2.multiple ? (openBlock(), createElementBlock("div", _hoisted_5$8, [createVNode(_component_van_checkbox, {
18996
+ }, null, 8, ["modelValue"]), props2.multiple ? (openBlock(), createElementBlock("div", _hoisted_5$7, [createVNode(_component_van_checkbox, {
18979
18997
  shape: "square",
18980
18998
  modelValue: isAllChecked.value,
18981
18999
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => isAllChecked.value = $event),
18982
19000
  onClick: toggleAllSelect,
18983
19001
  "label-position": "left"
18984
19002
  }, {
18985
- default: withCtx(() => [_hoisted_6$7]),
19003
+ default: withCtx(() => [_hoisted_6$6]),
18986
19004
  _: 1
18987
- }, 8, ["modelValue"])])) : createCommentVNode("", true), createElementVNode("div", _hoisted_7$7, [props2.multiple ? (openBlock(), createBlock(_component_van_checkbox_group, {
19005
+ }, 8, ["modelValue"])])) : createCommentVNode("", true), createElementVNode("div", _hoisted_7$6, [props2.multiple ? (openBlock(), createBlock(_component_van_checkbox_group, {
18988
19006
  key: 0,
18989
19007
  modelValue: checkedValue.value,
18990
19008
  "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => checkedValue.value = $event)
@@ -19039,16 +19057,16 @@ const _sfc_main$n = {
19039
19057
  };
19040
19058
  }
19041
19059
  };
19042
- var DataSelector = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-e306bd52"]]);
19060
+ var DataSelector = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-e306bd52"]]);
19043
19061
  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")();
19044
- const _hoisted_1$g = {
19062
+ const _hoisted_1$e = {
19045
19063
  key: 0,
19046
19064
  class: "confirmation-tips"
19047
19065
  };
19048
- const _hoisted_2$a = {
19066
+ const _hoisted_2$9 = {
19049
19067
  class: "option-text"
19050
19068
  };
19051
- const _sfc_main$m = {
19069
+ const _sfc_main$j = {
19052
19070
  __name: "mult_list_selector",
19053
19071
  props: {
19054
19072
  options: {
@@ -19083,7 +19101,7 @@ const _sfc_main$m = {
19083
19101
  const _component_van_icon = resolveComponent("van-icon");
19084
19102
  const _component_van_checkbox = resolveComponent("van-checkbox");
19085
19103
  const _component_van_checkbox_group = resolveComponent("van-checkbox-group");
19086
- return openBlock(), createElementBlock(Fragment, null, [__props2.tips && __props2.tips.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_1$g, [createVNode(_component_van_icon, {
19104
+ return openBlock(), createElementBlock(Fragment, null, [__props2.tips && __props2.tips.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_1$e, [createVNode(_component_van_icon, {
19087
19105
  name: "info",
19088
19106
  color: "#1989fa"
19089
19107
  }), createElementVNode("span", null, toDisplayString(__props2.tips), 1)])) : createCommentVNode("", true), createVNode(_component_van_checkbox_group, {
@@ -19104,7 +19122,7 @@ const _sfc_main$m = {
19104
19122
  "icon-size": "18px",
19105
19123
  class: "custom-checkbox"
19106
19124
  }, {
19107
- default: withCtx(() => [createElementVNode("span", _hoisted_2$a, toDisplayString(item.label), 1)]),
19125
+ default: withCtx(() => [createElementVNode("span", _hoisted_2$9, toDisplayString(item.label), 1)]),
19108
19126
  _: 2
19109
19127
  }, 1032, ["name"])]);
19110
19128
  }), 128))]),
@@ -19113,26 +19131,26 @@ const _sfc_main$m = {
19113
19131
  };
19114
19132
  }
19115
19133
  };
19116
- var MultListSelector = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-40a09897"]]);
19134
+ var MultListSelector = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-40a09897"]]);
19117
19135
  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")();
19118
- const _hoisted_1$f = {
19136
+ const _hoisted_1$d = {
19119
19137
  class: "department-selector"
19120
19138
  };
19121
- const _hoisted_2$9 = {
19139
+ const _hoisted_2$8 = {
19122
19140
  class: "popup-container"
19123
19141
  };
19124
- const _hoisted_3$7 = {
19142
+ const _hoisted_3$6 = {
19125
19143
  class: "picker-header"
19126
19144
  };
19127
- const _hoisted_4$7 = {
19145
+ const _hoisted_4$6 = {
19128
19146
  class: "current-path"
19129
19147
  };
19130
- const _hoisted_5$7 = {
19148
+ const _hoisted_5$6 = {
19131
19149
  class: "action-buttons"
19132
19150
  };
19133
- const _hoisted_6$6 = /* @__PURE__ */ createTextVNode(" \u53D6\u6D88 ");
19134
- const _hoisted_7$6 = /* @__PURE__ */ createTextVNode(" \u786E\u5B9A ");
19135
- const _hoisted_8$5 = {
19151
+ const _hoisted_6$5 = /* @__PURE__ */ createTextVNode(" \u53D6\u6D88 ");
19152
+ const _hoisted_7$5 = /* @__PURE__ */ createTextVNode(" \u786E\u5B9A ");
19153
+ const _hoisted_8$4 = {
19136
19154
  class: "scroll-container"
19137
19155
  };
19138
19156
  const _hoisted_9$3 = {
@@ -19142,7 +19160,7 @@ const _hoisted_10$2 = ["onClick"];
19142
19160
  const _hoisted_11$2 = {
19143
19161
  class: "name"
19144
19162
  };
19145
- const _sfc_main$l = {
19163
+ const _sfc_main$i = {
19146
19164
  __name: "subdepartment_selector",
19147
19165
  props: {
19148
19166
  modelValue: [String, Number],
@@ -19385,7 +19403,7 @@ const _sfc_main$l = {
19385
19403
  const _component_van_cell = resolveComponent("van-cell");
19386
19404
  const _component_van_cell_group = resolveComponent("van-cell-group");
19387
19405
  const _component_van_popup = resolveComponent("van-popup");
19388
- return openBlock(), createElementBlock("div", _hoisted_1$f, [!unref(isGone2) ? (openBlock(), createBlock(_component_van_field, {
19406
+ return openBlock(), createElementBlock("div", _hoisted_1$d, [!unref(isGone2) ? (openBlock(), createBlock(_component_van_field, {
19389
19407
  key: 0,
19390
19408
  "model-value": selectedDepartmentPath.value,
19391
19409
  readonly: "",
@@ -19405,18 +19423,18 @@ const _sfc_main$l = {
19405
19423
  position: "bottom",
19406
19424
  class: "department-popup"
19407
19425
  }, {
19408
- default: withCtx(() => [createElementVNode("div", _hoisted_2$9, [createElementVNode("div", _hoisted_3$7, [unref(currentLevel) > 0 ? (openBlock(), createBlock(_component_van_button, {
19426
+ default: withCtx(() => [createElementVNode("div", _hoisted_2$8, [createElementVNode("div", _hoisted_3$6, [unref(currentLevel) > 0 ? (openBlock(), createBlock(_component_van_button, {
19409
19427
  key: 0,
19410
19428
  onClick: goBack,
19411
19429
  icon: "arrow-left",
19412
19430
  size: "small",
19413
19431
  class: "back-button"
19414
- })) : createCommentVNode("", true), createElementVNode("div", _hoisted_4$7, toDisplayString(unref(currentPath)), 1), createElementVNode("div", _hoisted_5$7, [createVNode(_component_van_button, {
19432
+ })) : createCommentVNode("", true), createElementVNode("div", _hoisted_4$6, toDisplayString(unref(currentPath)), 1), createElementVNode("div", _hoisted_5$6, [createVNode(_component_van_button, {
19415
19433
  size: "small",
19416
19434
  onClick: handleCancel,
19417
19435
  class: "cancel-btn"
19418
19436
  }, {
19419
- default: withCtx(() => [_hoisted_6$6]),
19437
+ default: withCtx(() => [_hoisted_6$5]),
19420
19438
  _: 1
19421
19439
  }), createVNode(_component_van_button, {
19422
19440
  type: "primary",
@@ -19425,7 +19443,7 @@ const _sfc_main$l = {
19425
19443
  disabled: !tempSelectedDepartment.value,
19426
19444
  class: "confirm-btn"
19427
19445
  }, {
19428
- default: withCtx(() => [_hoisted_7$6]),
19446
+ default: withCtx(() => [_hoisted_7$5]),
19429
19447
  _: 1
19430
19448
  }, 8, ["disabled"])])]), createVNode(_component_van_field, {
19431
19449
  "left-icon": "search",
@@ -19437,7 +19455,7 @@ const _sfc_main$l = {
19437
19455
  clearable: "",
19438
19456
  placeholder: "\u8BF7\u8F93\u5165\u90E8\u95E8\u540D\u79F0\u641C\u7D22",
19439
19457
  class: "search-field"
19440
- }, null, 8, ["modelValue"]), createElementVNode("div", _hoisted_8$5, [createVNode(_component_van_cell_group, null, {
19458
+ }, null, 8, ["modelValue"]), createElementVNode("div", _hoisted_8$4, [createVNode(_component_van_cell_group, null, {
19441
19459
  default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(filteredDepartments), (item, index) => {
19442
19460
  return openBlock(), createBlock(_component_van_cell, {
19443
19461
  key: index,
@@ -19473,28 +19491,28 @@ const _sfc_main$l = {
19473
19491
  };
19474
19492
  }
19475
19493
  };
19476
- var SubdepartmentSelector = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-c4c3b896"]]);
19494
+ var SubdepartmentSelector = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-c4c3b896"]]);
19477
19495
  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")();
19478
- const _hoisted_1$e = {
19496
+ const _hoisted_1$c = {
19479
19497
  class: "user-selector"
19480
19498
  };
19481
- const _hoisted_2$8 = {
19499
+ const _hoisted_2$7 = {
19482
19500
  class: "popup-container"
19483
19501
  };
19484
- const _hoisted_3$6 = {
19502
+ const _hoisted_3$5 = {
19485
19503
  class: "picker-header"
19486
19504
  };
19487
- const _hoisted_4$6 = {
19505
+ const _hoisted_4$5 = {
19488
19506
  class: "header-left"
19489
19507
  };
19490
- const _hoisted_5$6 = {
19508
+ const _hoisted_5$5 = {
19491
19509
  class: "current-path"
19492
19510
  };
19493
- const _hoisted_6$5 = {
19511
+ const _hoisted_6$4 = {
19494
19512
  class: "header-right"
19495
19513
  };
19496
- const _hoisted_7$5 = /* @__PURE__ */ createTextVNode("\u6E05\u7A7A");
19497
- const _hoisted_8$4 = /* @__PURE__ */ createTextVNode("\u786E\u5B9A");
19514
+ const _hoisted_7$4 = /* @__PURE__ */ createTextVNode("\u6E05\u7A7A");
19515
+ const _hoisted_8$3 = /* @__PURE__ */ createTextVNode("\u786E\u5B9A");
19498
19516
  const _hoisted_9$2 = {
19499
19517
  key: 0,
19500
19518
  class: "select-all-container"
@@ -19507,7 +19525,7 @@ const _hoisted_12 = /* @__PURE__ */ createTextVNode("\u641C\u7D22");
19507
19525
  const _hoisted_13 = {
19508
19526
  class: "scroll-container"
19509
19527
  };
19510
- const _sfc_main$k = {
19528
+ const _sfc_main$h = {
19511
19529
  __name: "user_selector",
19512
19530
  props: {
19513
19531
  modelValue: [Array, String, Number],
@@ -19861,7 +19879,7 @@ const _sfc_main$k = {
19861
19879
  const _component_van_radio = resolveComponent("van-radio");
19862
19880
  const _component_van_radio_group = resolveComponent("van-radio-group");
19863
19881
  const _component_van_popup = resolveComponent("van-popup");
19864
- return openBlock(), createElementBlock("div", _hoisted_1$e, [!unref(isGone2) ? (openBlock(), createBlock(_component_van_field, {
19882
+ return openBlock(), createElementBlock("div", _hoisted_1$c, [!unref(isGone2) ? (openBlock(), createBlock(_component_van_field, {
19865
19883
  key: 0,
19866
19884
  "model-value": unref(selectedUserInfo),
19867
19885
  clickable: "",
@@ -19878,18 +19896,18 @@ const _sfc_main$k = {
19878
19896
  position: "bottom",
19879
19897
  class: "user-popup"
19880
19898
  }, {
19881
- default: withCtx(() => [createElementVNode("div", _hoisted_2$8, [createElementVNode("div", _hoisted_3$6, [createElementVNode("div", _hoisted_4$6, [unref(currentLevel) > 0 ? (openBlock(), createBlock(_component_van_button, {
19899
+ default: withCtx(() => [createElementVNode("div", _hoisted_2$7, [createElementVNode("div", _hoisted_3$5, [createElementVNode("div", _hoisted_4$5, [unref(currentLevel) > 0 ? (openBlock(), createBlock(_component_van_button, {
19882
19900
  key: 0,
19883
19901
  onClick: goBack,
19884
19902
  icon: "arrow-left",
19885
19903
  size: "small",
19886
19904
  class: "back-button"
19887
- })) : createCommentVNode("", true)]), createElementVNode("div", _hoisted_5$6, toDisplayString(unref(currentPath)), 1), createElementVNode("div", _hoisted_6$5, [createVNode(_component_van_button, {
19905
+ })) : createCommentVNode("", true)]), createElementVNode("div", _hoisted_5$5, toDisplayString(unref(currentPath)), 1), createElementVNode("div", _hoisted_6$4, [createVNode(_component_van_button, {
19888
19906
  size: "small",
19889
19907
  onClick: handleClear,
19890
19908
  class: "cancel-btn"
19891
19909
  }, {
19892
- default: withCtx(() => [_hoisted_7$5]),
19910
+ default: withCtx(() => [_hoisted_7$4]),
19893
19911
  _: 1
19894
19912
  }), createVNode(_component_van_button, {
19895
19913
  type: "primary",
@@ -19897,7 +19915,7 @@ const _sfc_main$k = {
19897
19915
  onClick: confirmSelection,
19898
19916
  class: "confirm-btn"
19899
19917
  }, {
19900
- default: withCtx(() => [_hoisted_8$4]),
19918
+ default: withCtx(() => [_hoisted_8$3]),
19901
19919
  _: 1
19902
19920
  })])]), __props2.mode === "multiple" ? (openBlock(), createElementBlock("div", _hoisted_9$2, [createVNode(_component_van_checkbox, {
19903
19921
  shape: "square",
@@ -20002,12 +20020,12 @@ const _sfc_main$k = {
20002
20020
  };
20003
20021
  }
20004
20022
  };
20005
- var UserSelector = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-850c4b52"]]);
20023
+ var UserSelector = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-850c4b52"]]);
20006
20024
  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}")();
20007
- const _hoisted_1$d = {
20025
+ const _hoisted_1$b = {
20008
20026
  class: "image-box"
20009
20027
  };
20010
- const _sfc_main$j = {
20028
+ const _sfc_main$g = {
20011
20029
  __name: "image_picker",
20012
20030
  props: {
20013
20031
  modelValue: {
@@ -20105,7 +20123,7 @@ const _sfc_main$j = {
20105
20123
  "label-class": "label",
20106
20124
  placeholder: props2.placeholder
20107
20125
  }, {
20108
- input: withCtx(() => [createElementVNode("div", _hoisted_1$d, [props2.capture ? (openBlock(), createBlock(_component_van_uploader, {
20126
+ input: withCtx(() => [createElementVNode("div", _hoisted_1$b, [props2.capture ? (openBlock(), createBlock(_component_van_uploader, {
20109
20127
  key: 0,
20110
20128
  modelValue: files.value,
20111
20129
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => files.value = $event),
@@ -20134,13 +20152,13 @@ const _sfc_main$j = {
20134
20152
  };
20135
20153
  }
20136
20154
  };
20137
- var ImagePicker = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-19fa5200"]]);
20155
+ var ImagePicker = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-19fa5200"]]);
20138
20156
  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}")();
20139
- const _hoisted_1$c = {
20157
+ const _hoisted_1$a = {
20140
20158
  class: "image-box"
20141
20159
  };
20142
- const _hoisted_2$7 = ["src", "onClick"];
20143
- const _sfc_main$i = {
20160
+ const _hoisted_2$6 = ["src", "onClick"];
20161
+ const _sfc_main$f = {
20144
20162
  __name: "images_picker",
20145
20163
  props: {
20146
20164
  modelValue: {
@@ -20299,7 +20317,7 @@ const _sfc_main$i = {
20299
20317
  placeholder: props2.placeholder,
20300
20318
  modelValue: unref(modelValue2)
20301
20319
  }, {
20302
- input: withCtx(() => [createElementVNode("div", _hoisted_1$c, [props2.capture && !unref(isReadonly2) && !unref(isDisabled2) ? (openBlock(), createBlock(_component_van_uploader, {
20320
+ input: withCtx(() => [createElementVNode("div", _hoisted_1$a, [props2.capture && !unref(isReadonly2) && !unref(isDisabled2) ? (openBlock(), createBlock(_component_van_uploader, {
20303
20321
  key: 0,
20304
20322
  modelValue: files.value,
20305
20323
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => files.value = $event),
@@ -20332,7 +20350,7 @@ const _sfc_main$i = {
20332
20350
  key: i,
20333
20351
  src: cover,
20334
20352
  onClick: ($event) => onPreview(i)
20335
- }, null, 8, _hoisted_2$7);
20353
+ }, null, 8, _hoisted_2$6);
20336
20354
  }), 128)) : createCommentVNode("", true), (unref(modelValue2) || []).length > props2.maxPreview && (unref(isReadonly2) || unref(isDisabled2)) ? (openBlock(), createBlock(_component_van_icon, {
20337
20355
  key: 3,
20338
20356
  name: "ellipsis",
@@ -20343,12 +20361,12 @@ const _sfc_main$i = {
20343
20361
  };
20344
20362
  }
20345
20363
  };
20346
- var ImagesPicker = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-658f6012"]]);
20364
+ var ImagesPicker = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-658f6012"]]);
20347
20365
  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}")();
20348
- const _hoisted_1$b = {
20366
+ const _hoisted_1$9 = {
20349
20367
  class: "file-box"
20350
20368
  };
20351
- const _sfc_main$h = {
20369
+ const _sfc_main$e = {
20352
20370
  __name: "FilePicker",
20353
20371
  props: {
20354
20372
  modelValue: {
@@ -20490,7 +20508,7 @@ const _sfc_main$h = {
20490
20508
  "label-class": "label",
20491
20509
  placeholder: props2.placeholder
20492
20510
  }, {
20493
- input: withCtx(() => [createElementVNode("div", _hoisted_1$b, [createVNode(_component_van_uploader, {
20511
+ input: withCtx(() => [createElementVNode("div", _hoisted_1$9, [createVNode(_component_van_uploader, {
20494
20512
  modelValue: files.value,
20495
20513
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => files.value = $event),
20496
20514
  multiple: props2.multiple,
@@ -20508,29 +20526,29 @@ const _sfc_main$h = {
20508
20526
  };
20509
20527
  }
20510
20528
  };
20511
- var FilePicker = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-125192a8"]]);
20529
+ var FilePicker = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-125192a8"]]);
20512
20530
  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")();
20513
- const _hoisted_1$a = {
20531
+ const _hoisted_1$8 = {
20514
20532
  class: "department-selector"
20515
20533
  };
20516
- const _hoisted_2$6 = {
20534
+ const _hoisted_2$5 = {
20517
20535
  class: "picker-header"
20518
20536
  };
20519
- const _hoisted_3$5 = {
20537
+ const _hoisted_3$4 = {
20520
20538
  class: "header-left"
20521
20539
  };
20522
- const _hoisted_4$5 = {
20540
+ const _hoisted_4$4 = {
20523
20541
  class: "current-path"
20524
20542
  };
20525
- const _hoisted_5$5 = {
20543
+ const _hoisted_5$4 = {
20526
20544
  class: "header-right"
20527
20545
  };
20528
- const _hoisted_6$4 = /* @__PURE__ */ createTextVNode("\u6E05\u7A7A");
20529
- const _hoisted_7$4 = /* @__PURE__ */ createTextVNode("\u786E\u5B9A");
20530
- const _hoisted_8$3 = {
20546
+ const _hoisted_6$3 = /* @__PURE__ */ createTextVNode("\u6E05\u7A7A");
20547
+ const _hoisted_7$3 = /* @__PURE__ */ createTextVNode("\u786E\u5B9A");
20548
+ const _hoisted_8$2 = {
20531
20549
  class: "scroll-container"
20532
20550
  };
20533
- const _sfc_main$g = {
20551
+ const _sfc_main$d = {
20534
20552
  __name: "SingleUserSelector",
20535
20553
  props: {
20536
20554
  modelValue: {
@@ -20798,16 +20816,16 @@ const _sfc_main$g = {
20798
20816
  position: "bottom",
20799
20817
  class: "user-popup"
20800
20818
  }, {
20801
- default: withCtx(() => [createElementVNode("div", _hoisted_1$a, [createElementVNode("div", _hoisted_2$6, [createElementVNode("div", _hoisted_3$5, [withDirectives(createVNode(_component_van_button, {
20819
+ default: withCtx(() => [createElementVNode("div", _hoisted_1$8, [createElementVNode("div", _hoisted_2$5, [createElementVNode("div", _hoisted_3$4, [withDirectives(createVNode(_component_van_button, {
20802
20820
  onClick: goBack,
20803
20821
  icon: "arrow-left",
20804
20822
  size: "small"
20805
- }, null, 512), [[vShow, currentPath.value !== "\u8BF7\u9009\u62E9\u90E8\u95E8"]])]), createElementVNode("div", _hoisted_4$5, toDisplayString(currentPath.value), 1), createElementVNode("div", _hoisted_5$5, [createVNode(_component_van_button, {
20823
+ }, null, 512), [[vShow, currentPath.value !== "\u8BF7\u9009\u62E9\u90E8\u95E8"]])]), createElementVNode("div", _hoisted_4$4, toDisplayString(currentPath.value), 1), createElementVNode("div", _hoisted_5$4, [createVNode(_component_van_button, {
20806
20824
  size: "small",
20807
20825
  onClick: handleClear,
20808
20826
  class: "cancel-btn"
20809
20827
  }, {
20810
- default: withCtx(() => [_hoisted_6$4]),
20828
+ default: withCtx(() => [_hoisted_6$3]),
20811
20829
  _: 1
20812
20830
  }), createVNode(_component_van_button, {
20813
20831
  type: "primary",
@@ -20815,7 +20833,7 @@ const _sfc_main$g = {
20815
20833
  onClick: confirmSelection,
20816
20834
  class: "confirm-btn"
20817
20835
  }, {
20818
- default: withCtx(() => [_hoisted_7$4]),
20836
+ default: withCtx(() => [_hoisted_7$3]),
20819
20837
  _: 1
20820
20838
  })])]), createVNode(_component_van_search, {
20821
20839
  modelValue: searchValue.value,
@@ -20830,7 +20848,7 @@ const _sfc_main$g = {
20830
20848
  onClick: handleSearch
20831
20849
  }, "\u641C\u7D22")]),
20832
20850
  _: 1
20833
- }, 8, ["modelValue"]), createElementVNode("div", _hoisted_8$3, [createVNode(_component_van_cell_group, null, {
20851
+ }, 8, ["modelValue"]), createElementVNode("div", _hoisted_8$2, [createVNode(_component_van_cell_group, null, {
20834
20852
  default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(departments), (department) => {
20835
20853
  return openBlock(), createBlock(_component_van_cell, {
20836
20854
  key: department.id,
@@ -20865,579 +20883,61 @@ const _sfc_main$g = {
20865
20883
  };
20866
20884
  }
20867
20885
  };
20868
- var SingleUserSelector = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-c23caaf6"]]);
20869
- 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")();
20870
- const _hoisted_1$9 = {
20871
- class: "department-selector"
20886
+ var SingleUserSelector = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-c23caaf6"]]);
20887
+ 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")();
20888
+ const _hoisted_1$7 = {
20889
+ class: "widget"
20872
20890
  };
20873
- const _hoisted_2$5 = {
20874
- class: "picker-header"
20891
+ const _hoisted_2$4 = {
20892
+ class: "user-info"
20875
20893
  };
20876
- const _hoisted_3$4 = {
20877
- class: "header-left"
20894
+ const _hoisted_3$3 = {
20895
+ class: "user-info-item"
20878
20896
  };
20879
- const _hoisted_4$4 = {
20880
- class: "current-path"
20897
+ const _hoisted_4$3 = {
20898
+ class: "user-info-item"
20881
20899
  };
20882
- const _hoisted_5$4 = {
20883
- class: "header-right"
20900
+ const _hoisted_5$3 = {
20901
+ class: "user-info-item"
20884
20902
  };
20885
- const _hoisted_6$3 = /* @__PURE__ */ createTextVNode("\u53D6\u6D88");
20886
- const _hoisted_7$3 = /* @__PURE__ */ createTextVNode("\u786E\u5B9A");
20887
- const _hoisted_8$2 = {
20888
- class: "scroll-container"
20903
+ const _hoisted_6$2 = {
20904
+ class: "user-jobs"
20889
20905
  };
20890
- const _sfc_main$f = {
20891
- __name: "UserPop",
20906
+ const _hoisted_7$2 = /* @__PURE__ */ createTextVNode(" \u6CE8\u9500 ");
20907
+ const _sfc_main$c = {
20908
+ __name: "UserProfile",
20892
20909
  props: {
20893
- show: {
20894
- type: Boolean,
20895
- default: false
20910
+ avatar: {
20911
+ type: String,
20912
+ default: ""
20896
20913
  },
20897
- rootDeptId: {
20914
+ name: {
20898
20915
  type: String,
20899
- default: "1"
20916
+ default: ""
20900
20917
  },
20901
- deptRangeId: {
20918
+ position: {
20919
+ type: String,
20920
+ default: ""
20921
+ },
20922
+ mobile: {
20902
20923
  type: String,
20903
20924
  default: ""
20925
+ },
20926
+ departments: {
20927
+ type: Array,
20928
+ default: []
20904
20929
  }
20905
20930
  },
20906
- emits: ["update:show", "select"],
20931
+ emits: ["logout"],
20907
20932
  setup(__props2, {
20908
20933
  emit: emit2
20909
20934
  }) {
20910
20935
  const props2 = __props2;
20911
- const show = useVModel(props2, "show", emit2);
20912
- const data2 = reactive({
20913
- selectedDeptId: "",
20914
- totalDepts: [],
20915
- keyword: "",
20916
- searchUsers: [],
20917
- selectedUser: null
20918
- });
20919
- function findDeptPaths(targetDept, tree, path = []) {
20920
- var _a;
20921
- if (!tree || tree.length < 1 || !targetDept || !targetDept.id)
20922
- return [];
20923
- for (const dept of tree) {
20924
- if (dept.id === targetDept.id) {
20925
- return [...path, dept];
20926
- }
20927
- if ((_a = dept.subDepartments) == null ? void 0 : _a.length) {
20928
- const found = findDeptPaths(targetDept, dept.subDepartments, [...path, dept]);
20929
- if (found && found.length > 0)
20930
- return found;
20931
- }
20932
- }
20933
- return [];
20934
- }
20935
- const selectedDept = computed(() => {
20936
- if (!data2.selectedDeptId)
20937
- return null;
20938
- let targetDept = findDept(data2.selectedDeptId, data2.totalDepts);
20939
- return targetDept;
20940
- });
20941
- const pathsLabel = computed(() => {
20942
- let paths = findDeptPaths(selectedDept.value, data2.totalDepts);
20943
- console.log("paths", paths);
20944
- let res = "";
20945
- paths.forEach((dept) => {
20946
- res += dept.name + "/";
20947
- });
20948
- return res;
20949
- });
20950
- const subDepts = computed(() => {
20951
- if (data2.keyword)
20952
- return [];
20953
- else if (selectedDept.value)
20954
- return selectedDept.value.subDepartments;
20955
- else
20956
- return data2.totalDepts;
20957
- });
20958
- const subUsers = computed(() => {
20959
- if (data2.keyword)
20960
- return data2.searchUsers;
20961
- else if (selectedDept.value)
20962
- return selectedDept.value.users;
20963
- else
20964
- return [];
20965
- });
20966
- const queryTotalDepts = () => __async(this, null, function* () {
20967
- const response = yield util.get_subdepartments_users({
20968
- departmentId: props2.rootDeptId,
20969
- hasGrandson: false
20970
- });
20971
- let level2Depts = [];
20972
- if (response.data)
20973
- level2Depts = response.data.subDepartments;
20974
- let level2DeptIds = [];
20975
- if (props2.deptRangeId) {
20976
- let res = yield util.dictionary_dict({
20977
- id: props2.deptRangeId
20978
- });
20979
- if (res.data.parseValue && res.data.parseValue.length > 0) {
20980
- level2DeptIds = res.data.parseValue;
20981
- }
20982
- }
20983
- if (props2.deptRangeId) {
20984
- if (level2DeptIds && level2DeptIds.length > 0) {
20985
- level2Depts = level2Depts.filter((item) => {
20986
- return level2DeptIds.includes(item.id);
20987
- });
20988
- }
20989
- }
20990
- data2.totalDepts = level2Depts || [];
20991
- });
20992
- function findDept(deptId, tree) {
20993
- if (!tree || tree.length < 1)
20994
- return null;
20995
- for (const dept of tree) {
20996
- if (dept.id === deptId) {
20997
- return dept;
20998
- }
20999
- const found = findDept(deptId, dept.subDepartments);
21000
- if (found)
21001
- return found;
21002
- }
21003
- return null;
21004
- }
21005
- const onSearch = () => __async(this, null, function* () {
21006
- if (!data2.keyword)
21007
- return;
21008
- const res = yield util.wx_user_list({
21009
- keyword: data2.keyword,
21010
- page: 1,
21011
- limit: 10
21012
- });
21013
- data2.searchUsers = res.data.list;
21014
- });
21015
- const onSelectDept = (department) => __async(this, null, function* () {
21016
- const res = yield util.get_subdepartments_users({
21017
- departmentId: department.id,
21018
- hasGrandson: false
21019
- });
21020
- let targetDept = findDept(department.id, data2.totalDepts);
21021
- targetDept.subDepartments = res.data.subDepartments;
21022
- targetDept.users = res.data.users;
21023
- data2.selectedDeptId = department.id;
21024
- });
21025
- const onBack = () => {
21026
- data2.keyword = "";
21027
- let paths = findDeptPaths(selectedDept.value, data2.totalDepts);
21028
- if (!paths || paths.length <= 1) {
21029
- data2.selectedDeptId = "";
21030
- return;
21031
- }
21032
- data2.selectedDeptId = paths[paths.length - 2].id;
21033
- };
21034
- const reset = () => {
21035
- data2.selectedDeptId = "";
21036
- data2.keyword = "";
21037
- data2.searchUsers = [];
21038
- data2.selectedUser = {};
21039
- };
21040
- const onSubmit2 = () => {
21041
- if (!data2.selectedUser) {
21042
- util.warnToast("\u8BF7\u9009\u62E9\u7528\u6237");
21043
- return;
21044
- }
21045
- emit2("select", data2.selectedUser);
21046
- show.value = false;
21047
- reset();
21048
- };
21049
- const onCancel = () => {
21050
- show.value = false;
21051
- reset();
20936
+ const onLogout = () => {
20937
+ emit2("logout");
21052
20938
  };
21053
- onMounted(() => __async(this, null, function* () {
21054
- yield queryTotalDepts();
21055
- data2.selectedDept = findDept(props2.rootDeptId, data2.totalDepts);
21056
- }));
21057
- return (_ctx, _cache) => {
21058
- const _component_van_button = resolveComponent("van-button");
21059
- const _component_van_search = resolveComponent("van-search");
21060
- const _component_van_cell = resolveComponent("van-cell");
21061
- const _component_van_cell_group = resolveComponent("van-cell-group");
21062
- const _component_van_radio = resolveComponent("van-radio");
21063
- const _component_van_radio_group = resolveComponent("van-radio-group");
21064
- const _component_van_popup = resolveComponent("van-popup");
21065
- return openBlock(), createBlock(_component_van_popup, {
21066
- show: unref(show),
21067
- "onUpdate:show": _cache[2] || (_cache[2] = ($event) => isRef(show) ? show.value = $event : null),
21068
- round: "",
21069
- position: "bottom",
21070
- class: "user-popup"
21071
- }, {
21072
- default: withCtx(() => [createElementVNode("div", _hoisted_1$9, [createElementVNode("div", _hoisted_2$5, [createElementVNode("div", _hoisted_3$4, [createVNode(_component_van_button, {
21073
- onClick: onBack,
21074
- icon: "arrow-left",
21075
- size: "small"
21076
- })]), createElementVNode("div", _hoisted_4$4, toDisplayString(unref(pathsLabel)), 1), createElementVNode("div", _hoisted_5$4, [createVNode(_component_van_button, {
21077
- size: "small",
21078
- onClick: onCancel,
21079
- class: "cancel-btn"
21080
- }, {
21081
- default: withCtx(() => [_hoisted_6$3]),
21082
- _: 1
21083
- }), createVNode(_component_van_button, {
21084
- type: "primary",
21085
- size: "small",
21086
- onClick: onSubmit2,
21087
- class: "confirm-btn"
21088
- }, {
21089
- default: withCtx(() => [_hoisted_7$3]),
21090
- _: 1
21091
- })])]), createVNode(_component_van_search, {
21092
- modelValue: data2.keyword,
21093
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => data2.keyword = $event),
21094
- placeholder: "\u8F93\u5165\u5DE5\u53F7\u67E5\u8BE2",
21095
- onClear: _ctx.onClear,
21096
- onSearch,
21097
- onCancel: _ctx.onClear,
21098
- "show-action": ""
21099
- }, {
21100
- action: withCtx(() => [createElementVNode("div", {
21101
- onClick: onSearch
21102
- }, "\u641C\u7D22")]),
21103
- _: 1
21104
- }, 8, ["modelValue", "onClear", "onCancel"]), createElementVNode("div", _hoisted_8$2, [createVNode(_component_van_cell_group, null, {
21105
- default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(subDepts), (dept) => {
21106
- return openBlock(), createBlock(_component_van_cell, {
21107
- key: dept.id,
21108
- title: dept.name,
21109
- "is-link": "",
21110
- onClick: ($event) => onSelectDept(dept)
21111
- }, null, 8, ["title", "onClick"]);
21112
- }), 128))]),
21113
- _: 1
21114
- }), createVNode(_component_van_radio_group, {
21115
- modelValue: data2.selectedUser,
21116
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => data2.selectedUser = $event)
21117
- }, {
21118
- default: withCtx(() => [createVNode(_component_van_cell_group, null, {
21119
- default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(subUsers), (user) => {
21120
- return openBlock(), createBlock(_component_van_cell, {
21121
- key: user.id,
21122
- title: `${user.userid} ${user.name}`
21123
- }, {
21124
- "right-icon": withCtx(() => [createVNode(_component_van_radio, {
21125
- name: user.userid
21126
- }, null, 8, ["name"])]),
21127
- _: 2
21128
- }, 1032, ["title"]);
21129
- }), 128))]),
21130
- _: 1
21131
- })]),
21132
- _: 1
21133
- }, 8, ["modelValue"])])])]),
21134
- _: 1
21135
- }, 8, ["show"]);
21136
- };
21137
- }
21138
- };
21139
- var UserPop = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-85dea264"]]);
21140
- 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")();
21141
- const _hoisted_1$8 = {
21142
- class: "user-list"
21143
- };
21144
- const _sfc_main$e = {
21145
- __name: "UsersPicker",
21146
- props: {
21147
- modelValue: {
21148
- type: Array,
21149
- default: []
21150
- },
21151
- label: {
21152
- type: String,
21153
- default: "\u9009\u62E9\u4EBA\u5458"
21154
- },
21155
- placeholder: {
21156
- type: String,
21157
- default: "\u8BF7\u9009\u62E9\u4EBA\u5458"
21158
- },
21159
- required: {
21160
- type: Boolean,
21161
- default: false
21162
- },
21163
- readonly: {
21164
- type: Boolean,
21165
- default: false
21166
- },
21167
- rules: {
21168
- type: Array,
21169
- default: () => []
21170
- },
21171
- rootDeptId: {
21172
- type: String,
21173
- default: "1"
21174
- },
21175
- deptRangeId: {
21176
- type: String,
21177
- default: ""
21178
- },
21179
- auth: {
21180
- type: String,
21181
- default: ""
21182
- }
21183
- },
21184
- emits: ["update:modelValue", "select"],
21185
- setup(__props2, {
21186
- emit: emit2
21187
- }) {
21188
- const props2 = __props2;
21189
- const data2 = reactive({
21190
- isShowPop: false,
21191
- users: []
21192
- });
21193
- const modelValue2 = useVModel(props2, "modelValue", emit2);
21194
- const {
21195
- isRequired: isRequired2,
21196
- isReadonly: isReadonly2,
21197
- isGone: isGone2,
21198
- isDisabled: isDisabled2,
21199
- rules: rules2
21200
- } = util.props2auth(props2);
21201
- onMounted(() => {
21202
- });
21203
- const onSelectUser = (userId) => {
21204
- let newAry = [...modelValue2.value || [], userId];
21205
- modelValue2.value = util.uniq(newAry);
21206
- };
21207
- const onDelete = (user) => {
21208
- modelValue2.value = (modelValue2.value || []).filter((item) => {
21209
- return item != user.userid;
21210
- });
21211
- };
21212
- watch(() => modelValue2.value, (n, o) => __async(this, null, function* () {
21213
- if (!modelValue2.value || modelValue2.value.length < 1) {
21214
- data2.users = [];
21215
- return;
21216
- }
21217
- let ary = [];
21218
- for (var i = 0; i < modelValue2.value.length; i++) {
21219
- let res = yield util.get_wxuser_by_id({
21220
- userId: modelValue2.value[i]
21221
- });
21222
- ary.push(res.data);
21223
- }
21224
- data2.users = ary;
21225
- emit2("select", data2.users);
21226
- }), {
21227
- immediate: true
21228
- });
21229
- return (_ctx, _cache) => {
21230
- const _component_van_tag = resolveComponent("van-tag");
21231
- const _component_van_field = resolveComponent("van-field");
21232
- return openBlock(), createElementBlock(Fragment, null, [!unref(isGone2) ? (openBlock(), createBlock(_component_van_field, {
21233
- key: 0,
21234
- label: props2.label,
21235
- required: unref(isRequired2),
21236
- rules: unref(rules2),
21237
- disabled: unref(isDisabled2),
21238
- modelValue: unref(modelValue2),
21239
- placeholder: props2.placeholder,
21240
- "is-link": unref(isReadonly2) ? false : true,
21241
- onClick: _cache[0] || (_cache[0] = ($event) => data2.isShowPop = !unref(isReadonly2)),
21242
- "label-class": "label"
21243
- }, {
21244
- input: withCtx(() => [createElementVNode("div", _hoisted_1$8, [(openBlock(true), createElementBlock(Fragment, null, renderList(data2.users, (item, i) => {
21245
- return openBlock(), createBlock(_component_van_tag, {
21246
- class: "user-item",
21247
- closeable: !unref(isDisabled2),
21248
- type: "primary",
21249
- plain: "",
21250
- key: item,
21251
- onClose: withModifiers(($event) => onDelete(item), ["stop"])
21252
- }, {
21253
- default: withCtx(() => [createTextVNode(toDisplayString(item.name), 1)]),
21254
- _: 2
21255
- }, 1032, ["closeable", "onClose"]);
21256
- }), 128))])]),
21257
- _: 1
21258
- }, 8, ["label", "required", "rules", "disabled", "modelValue", "placeholder", "is-link"])) : createCommentVNode("", true), createVNode(UserPop, {
21259
- show: data2.isShowPop,
21260
- "onUpdate:show": _cache[1] || (_cache[1] = ($event) => data2.isShowPop = $event),
21261
- rootDeptId: props2.rootDeptId,
21262
- deptRangeId: props2.deptRangeId,
21263
- onSelect: onSelectUser
21264
- }, null, 8, ["show", "rootDeptId", "deptRangeId"])], 64);
21265
- };
21266
- }
21267
- };
21268
- var UsersPicker = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-2ccc13b6"]]);
21269
- 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")();
21270
- const _sfc_main$d = {
21271
- __name: "UserPicker",
21272
- props: {
21273
- modelValue: {
21274
- type: String,
21275
- default: ""
21276
- },
21277
- label: {
21278
- type: String,
21279
- default: "\u9009\u62E9\u4EBA\u5458"
21280
- },
21281
- placeholder: {
21282
- type: String,
21283
- default: "\u8BF7\u9009\u62E9\u4EBA\u5458"
21284
- },
21285
- required: {
21286
- type: Boolean,
21287
- default: false
21288
- },
21289
- readonly: {
21290
- type: Boolean,
21291
- default: false
21292
- },
21293
- rules: {
21294
- type: Array,
21295
- default: []
21296
- },
21297
- rootDeptId: {
21298
- type: String,
21299
- default: "1"
21300
- },
21301
- deptRangeId: {
21302
- type: String,
21303
- default: ""
21304
- },
21305
- auth: {
21306
- type: String,
21307
- default: ""
21308
- }
21309
- },
21310
- emits: ["update:modelValue", "select"],
21311
- setup(__props2, {
21312
- emit: emit2
21313
- }) {
21314
- const props2 = __props2;
21315
- const data2 = reactive({
21316
- isShowPop: false,
21317
- user: {}
21318
- });
21319
- const modelValue2 = useVModel(props2, "modelValue", emit2);
21320
- const {
21321
- isRequired: isRequired2,
21322
- isReadonly: isReadonly2,
21323
- isGone: isGone2,
21324
- isDisabled: isDisabled2,
21325
- rules: rules2
21326
- } = util.props2auth(props2);
21327
- onMounted(() => {
21328
- });
21329
- const onSelectUser = (userId) => {
21330
- modelValue2.value = userId;
21331
- };
21332
- const onDelete = () => {
21333
- data2.user = {};
21334
- modelValue2.value = null;
21335
- };
21336
- watch(() => modelValue2.value, (n, o) => __async(this, null, function* () {
21337
- if (!n) {
21338
- data2.user = {};
21339
- return;
21340
- }
21341
- let res = yield util.get_wxuser_by_id({
21342
- userId: n
21343
- });
21344
- data2.user = res.data;
21345
- emit2("select", data2.user);
21346
- }), {
21347
- immediate: true
21348
- });
21349
- return (_ctx, _cache) => {
21350
- const _component_van_tag = resolveComponent("van-tag");
21351
- const _component_van_field = resolveComponent("van-field");
21352
- return openBlock(), createElementBlock(Fragment, null, [!unref(isGone2) ? (openBlock(), createBlock(_component_van_field, {
21353
- key: 0,
21354
- label: props2.label,
21355
- required: unref(isRequired2),
21356
- rules: unref(rules2),
21357
- disabled: unref(isDisabled2),
21358
- placeholder: props2.placeholder,
21359
- "is-link": unref(isReadonly2) ? false : true,
21360
- onClick: _cache[0] || (_cache[0] = ($event) => data2.isShowPop = !unref(isReadonly2)),
21361
- "label-class": "label",
21362
- modelValue: unref(modelValue2)
21363
- }, {
21364
- input: withCtx(() => [unref(modelValue2) ? (openBlock(), createBlock(_component_van_tag, {
21365
- key: 0,
21366
- class: "user",
21367
- closeable: !unref(isDisabled2),
21368
- type: "primary",
21369
- plain: "",
21370
- onClose: withModifiers(onDelete, ["stop"])
21371
- }, {
21372
- default: withCtx(() => [createTextVNode(toDisplayString(data2.user.name), 1)]),
21373
- _: 1
21374
- }, 8, ["closeable", "onClose"])) : createCommentVNode("", true)]),
21375
- _: 1
21376
- }, 8, ["label", "required", "rules", "disabled", "placeholder", "is-link", "modelValue"])) : createCommentVNode("", true), createVNode(UserPop, {
21377
- show: data2.isShowPop,
21378
- "onUpdate:show": _cache[1] || (_cache[1] = ($event) => data2.isShowPop = $event),
21379
- rootDeptId: props2.rootDeptId,
21380
- deptRangeId: props2.deptRangeId,
21381
- onSelect: onSelectUser
21382
- }, null, 8, ["show", "rootDeptId", "deptRangeId"])], 64);
21383
- };
21384
- }
21385
- };
21386
- var UserPicker = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-d61f4f1a"]]);
21387
- 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")();
21388
- const _hoisted_1$7 = {
21389
- class: "widget"
21390
- };
21391
- const _hoisted_2$4 = {
21392
- class: "user-info"
21393
- };
21394
- const _hoisted_3$3 = {
21395
- class: "user-info-item"
21396
- };
21397
- const _hoisted_4$3 = {
21398
- class: "user-info-item"
21399
- };
21400
- const _hoisted_5$3 = {
21401
- class: "user-info-item"
21402
- };
21403
- const _hoisted_6$2 = {
21404
- class: "user-jobs"
21405
- };
21406
- const _hoisted_7$2 = /* @__PURE__ */ createTextVNode(" \u6CE8\u9500 ");
21407
- const _sfc_main$c = {
21408
- __name: "UserProfile",
21409
- props: {
21410
- avatar: {
21411
- type: String,
21412
- default: ""
21413
- },
21414
- name: {
21415
- type: String,
21416
- default: ""
21417
- },
21418
- position: {
21419
- type: String,
21420
- default: ""
21421
- },
21422
- mobile: {
21423
- type: String,
21424
- default: ""
21425
- },
21426
- departments: {
21427
- type: Array,
21428
- default: []
21429
- }
21430
- },
21431
- emits: ["logout"],
21432
- setup(__props2, {
21433
- emit: emit2
21434
- }) {
21435
- const props2 = __props2;
21436
- const onLogout = () => {
21437
- emit2("logout");
21438
- };
21439
- onMounted(() => {
21440
- });
20939
+ onMounted(() => {
20940
+ });
21441
20941
  return (_ctx, _cache) => {
21442
20942
  const _component_van_image = resolveComponent("van-image");
21443
20943
  const _component_van_button = resolveComponent("van-button");
@@ -22115,7 +21615,7 @@ const _sfc_main$4 = {
22115
21615
  }
22116
21616
  };
22117
21617
  var TreePicker = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-ebc14630"]]);
22118
- 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")();
21618
+ 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")();
22119
21619
  const _hoisted_1$3 = {
22120
21620
  class: "cascader-selector"
22121
21621
  };
@@ -22147,8 +21647,12 @@ const _sfc_main$3 = {
22147
21647
  __name: "CascaderPop",
22148
21648
  props: {
22149
21649
  modelValue: {
22150
- type: String,
22151
- default: ""
21650
+ type: [String, Array, Number],
21651
+ default: null
21652
+ },
21653
+ multiple: {
21654
+ type: Boolean,
21655
+ default: false
22152
21656
  },
22153
21657
  show: {
22154
21658
  type: Boolean,
@@ -22179,7 +21683,7 @@ const _sfc_main$3 = {
22179
21683
  const data2 = reactive({
22180
21684
  parentNode: null,
22181
21685
  keyword: "",
22182
- selectedNodeId: ""
21686
+ selectedNodeIds: []
22183
21687
  });
22184
21688
  onMounted(() => {
22185
21689
  });
@@ -22223,25 +21727,51 @@ const _sfc_main$3 = {
22223
21727
  };
22224
21728
  const reset = () => {
22225
21729
  data2.keyword = "";
21730
+ data2.selectedNodeIds = [];
22226
21731
  };
22227
- const onSubmit2 = () => {
22228
- if (!data2.selectedNodeId) {
21732
+ const ids2nodes2 = () => __async(this, null, function* () {
21733
+ if (!data2.selectedNodeIds || data2.selectedNodeIds.length < 1)
21734
+ return [];
21735
+ let promises = data2.selectedNodeIds.map((nodeId) => __async(this, null, function* () {
21736
+ let params = {};
21737
+ params.id = nodeId;
21738
+ params.isReturnParent = true;
21739
+ params.hasChildren = false;
21740
+ params.hasPaths = true;
21741
+ let selectNode = null;
21742
+ yield props2.idQueryNode(params, (node) => {
21743
+ data2.parentNode = node;
21744
+ selectNode = util.findNode(nodeId, data2.parentNode.children);
21745
+ });
21746
+ return selectNode;
21747
+ }));
21748
+ let selectNodes = yield Promise.all(promises);
21749
+ return selectNodes;
21750
+ });
21751
+ const onSubmit2 = () => __async(this, null, function* () {
21752
+ if (!data2.selectedNodeIds || data2.selectedNodeIds.length < 1) {
22229
21753
  util.warnToast("\u8BF7\u9009\u62E9");
22230
21754
  return;
22231
21755
  }
22232
- modelValue2.value = data2.selectedNodeId;
21756
+ let selectNodes = yield ids2nodes2();
21757
+ emit2("select", selectNodes);
21758
+ if (!props2.multiple) {
21759
+ modelValue2.value = data2.selectedNodeIds[0];
21760
+ } else {
21761
+ modelValue2.value = data2.selectedNodeIds;
21762
+ }
22233
21763
  show.value = false;
22234
21764
  reset();
22235
- };
21765
+ });
22236
21766
  const onCancel = () => {
22237
21767
  show.value = false;
22238
21768
  reset();
22239
21769
  };
22240
21770
  const onToggle = (node) => {
22241
- if (data2.selectedNodeId == node.id)
22242
- data2.selectedNodeId = "";
21771
+ if (data2.selectedNodeIds.includes(node.id))
21772
+ data2.selectedNodeIds = data2.selectedNodeIds.filter((item) => item != node.id);
22243
21773
  else
22244
- data2.selectedNodeId = node.id;
21774
+ data2.selectedNodeIds.push(node.id);
22245
21775
  };
22246
21776
  const onNextLevel = (node) => {
22247
21777
  props2.idQueryNode({
@@ -22253,55 +21783,26 @@ const _sfc_main$3 = {
22253
21783
  });
22254
21784
  };
22255
21785
  const query = () => __async(this, null, function* () {
22256
- data2.selectedNodeId = modelValue2.value;
22257
- if (!modelValue2.value) {
22258
- let params = {};
22259
- params.isReturnParent = true;
22260
- params.hasChildren = true;
22261
- params.hasPaths = true;
22262
- yield props2.idQueryNode(params, (node) => {
22263
- data2.parentNode = node;
22264
- if (!modelValue2.value)
22265
- return;
22266
- let childNode = util.findNode(modelValue2.value, data2.parentNode.children);
22267
- emit2("select", childNode);
22268
- });
22269
- } else {
22270
- if (!props2.show) {
22271
- let params = {};
22272
- params.id = modelValue2.value;
22273
- params.isReturnParent = true;
22274
- params.hasChildren = false;
22275
- params.hasPaths = true;
22276
- yield props2.idQueryNode(params, (node) => {
22277
- data2.parentNode = node;
22278
- let childNode = util.findNode(modelValue2.value, data2.parentNode.children);
22279
- emit2("select", childNode);
22280
- });
22281
- } else {
22282
- let params = {};
22283
- params.id = modelValue2.value;
22284
- params.isReturnParent = true;
22285
- params.hasChildren = true;
22286
- params.hasPaths = true;
22287
- yield props2.idQueryNode(params, (node) => {
22288
- data2.parentNode = node;
22289
- if (!modelValue2.value)
22290
- return;
22291
- let childNode = util.findNode(modelValue2.value, data2.parentNode.children);
22292
- emit2("select", childNode);
22293
- });
22294
- }
22295
- }
22296
- });
22297
- watch(() => props2.show, () => {
22298
- if (!props2.show)
22299
- return;
22300
- query();
22301
- }, {
22302
- immediate: true
21786
+ if (!props2.multiple) {
21787
+ if (modelValue2.value)
21788
+ data2.selectedNodeIds = [modelValue2.value];
21789
+ else
21790
+ data2.selectedNodeIds = [];
21791
+ } else if (modelValue2.value && modelValue2.value.length > 0)
21792
+ data2.selectedNodeIds = modelValue2.value;
21793
+ else
21794
+ data2.selectedNodeIds = [];
21795
+ let params = {};
21796
+ if (data2.selectedNodeIds.length > 0)
21797
+ params.id = data2.selectedNodeIds[0];
21798
+ params.isReturnParent = true;
21799
+ params.hasChildren = true;
21800
+ params.hasPaths = true;
21801
+ yield props2.idQueryNode(params, (node) => {
21802
+ data2.parentNode = node;
21803
+ });
22303
21804
  });
22304
- watch(() => modelValue2.value, (n, o) => __async(this, null, function* () {
21805
+ watch(() => [modelValue2.value, props2.show], (n, o) => __async(this, null, function* () {
22305
21806
  query();
22306
21807
  }), {
22307
21808
  immediate: true
@@ -22361,12 +21862,12 @@ const _sfc_main$3 = {
22361
21862
  key: 0,
22362
21863
  class: "circle-selector",
22363
21864
  onClick: withModifiers(($event) => onToggle(item), ["stop"])
22364
- }, [data2.selectedNodeId === item.id ? (openBlock(), createBlock(_component_van_icon, {
21865
+ }, [data2.selectedNodeIds.includes(item.id) ? (openBlock(), createBlock(_component_van_icon, {
22365
21866
  key: 0,
22366
21867
  name: "success",
22367
21868
  size: "20",
22368
21869
  color: "#409eff"
22369
- })) : createCommentVNode("", true), data2.selectedNodeId != item.id ? (openBlock(), createBlock(_component_van_icon, {
21870
+ })) : createCommentVNode("", true), !data2.selectedNodeIds.includes(item.id) ? (openBlock(), createBlock(_component_van_icon, {
22370
21871
  key: 1,
22371
21872
  name: "circle",
22372
21873
  size: "20",
@@ -22388,7 +21889,7 @@ const _sfc_main$3 = {
22388
21889
  };
22389
21890
  }
22390
21891
  };
22391
- var CascaderPop = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-37dc4af2"]]);
21892
+ var CascaderPop = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-27ca3ce1"]]);
22392
21893
  const _hoisted_1$2 = {
22393
21894
  style: {
22394
21895
  "display": "flex",
@@ -22450,7 +21951,7 @@ const _sfc_main$2 = {
22450
21951
  const data2 = reactive({
22451
21952
  isShowPop: false,
22452
21953
  selectedNodes: [],
22453
- selectedNodeId: null
21954
+ selectedNodeIds: null
22454
21955
  });
22455
21956
  const modelValue2 = useVModel(props2, "modelValue", emit2);
22456
21957
  const {
@@ -22462,19 +21963,17 @@ const _sfc_main$2 = {
22462
21963
  } = util.props2auth(props2);
22463
21964
  onMounted(() => {
22464
21965
  });
22465
- const onSelect = (node) => {
22466
- if (!node) {
21966
+ const onSelect = (nodes) => {
21967
+ if (!nodes) {
22467
21968
  emit2("select", null);
22468
21969
  return;
22469
21970
  }
22470
21971
  if (!props2.multiple) {
22471
- data2.selectedNodes = [node];
21972
+ data2.selectedNodes = nodes;
22472
21973
  emit2("select", data2.selectedNodes[0]);
22473
- modelValue2.value = node.id;
21974
+ modelValue2.value = data2.selectedNodes[0].id;
22474
21975
  } else {
22475
- let one = data2.selectedNodes.find((item) => item.id === node.id);
22476
- if (!one)
22477
- data2.selectedNodes = [...data2.selectedNodes, node];
21976
+ data2.selectedNodes = nodes;
22478
21977
  emit2("select", data2.selectedNodes);
22479
21978
  modelValue2.value = data2.selectedNodes.map((item) => item.id);
22480
21979
  }
@@ -22486,23 +21985,32 @@ const _sfc_main$2 = {
22486
21985
  modelValue2.value.splice(idx, 1);
22487
21986
  }
22488
21987
  };
21988
+ const ids2nodes2 = () => __async(this, null, function* () {
21989
+ if (!data2.selectedNodeIds || data2.selectedNodeIds.length < 1)
21990
+ return [];
21991
+ let promises = data2.selectedNodeIds.map((nodeId) => __async(this, null, function* () {
21992
+ let params = {};
21993
+ params.id = nodeId;
21994
+ params.isReturnParent = true;
21995
+ params.hasChildren = false;
21996
+ params.hasPaths = true;
21997
+ let selectNode = null;
21998
+ yield props2.idQueryNode(params, (node) => {
21999
+ data2.parentNode = node;
22000
+ selectNode = util.findNode(nodeId, data2.parentNode.children);
22001
+ });
22002
+ return selectNode;
22003
+ }));
22004
+ let selectNodes = yield Promise.all(promises);
22005
+ return selectNodes;
22006
+ });
22489
22007
  watch(() => JSON.stringify(modelValue2.value), (n, o) => __async(this, null, function* () {
22008
+ data2.selectedNodeIds = modelValue2.value;
22009
+ data2.selectedNodes = yield ids2nodes2();
22490
22010
  if (!props2.multiple) {
22491
- data2.selectedNodeId = modelValue2.value;
22011
+ data2.selectedNodeIds = modelValue2.value;
22492
22012
  } else {
22493
- data2.selectedNodes = [];
22494
- let ids = modelValue2.value || [];
22495
- ids.forEach((id) => __async(this, null, function* () {
22496
- let params = {};
22497
- params.id = id;
22498
- params.isReturnParent = false;
22499
- params.hasChildren = false;
22500
- params.hasPaths = true;
22501
- yield props2.idQueryNode(params, (node) => {
22502
- let selectNode = util.findNode(id, node.children);
22503
- data2.selectedNodes = [...data2.selectedNodes, selectNode];
22504
- });
22505
- }));
22013
+ data2.selectedNodeIds = modelValue2.value;
22506
22014
  }
22507
22015
  }), {
22508
22016
  immediate: true
@@ -22557,15 +22065,16 @@ const _sfc_main$2 = {
22557
22065
  }, 1032, ["closeable", "onClose"]);
22558
22066
  }), 128)) : createCommentVNode("", true)])])
22559
22067
  } : void 0]), 1032, ["label", "modelValue", "required", "rules", "disabled", "placeholder", "is-link"])) : createCommentVNode("", true), createVNode(CascaderPop, {
22068
+ multiple: props2.multiple,
22560
22069
  show: data2.isShowPop,
22561
22070
  "onUpdate:show": _cache[1] || (_cache[1] = ($event) => data2.isShowPop = $event),
22562
- modelValue: data2.selectedNodeId,
22563
- "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => data2.selectedNodeId = $event),
22071
+ modelValue: data2.selectedNodeIds,
22072
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => data2.selectedNodeIds = $event),
22564
22073
  placeholder: props2.placeholder,
22565
22074
  onSelect,
22566
22075
  keywordQueryNode: props2.keywordQueryNode,
22567
22076
  idQueryNode: props2.idQueryNode
22568
- }, null, 8, ["show", "modelValue", "placeholder", "keywordQueryNode", "idQueryNode"])], 64);
22077
+ }, null, 8, ["multiple", "show", "modelValue", "placeholder", "keywordQueryNode", "idQueryNode"])], 64);
22569
22078
  };
22570
22079
  }
22571
22080
  };
@@ -22678,7 +22187,7 @@ const _sfc_main$1 = {
22678
22187
  }
22679
22188
  };
22680
22189
  var SingleApiPicker = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-e7bb4e5c"]]);
22681
- var ObjsEditor_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".widget[data-v-2b1d30d7] {\n background: #fff;\n box-sizing: border-box;\n height: 100%;\n text-align: left;\n font-size: 12px;\n}\n.option[data-v-2b1d30d7] {\n margin: 0 8px 8px 0;\n padding: 5px 10px;\n border-radius: 6px;\n border: 2px solid #e1e1e1;\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);\n color: #666;\n display: inline-block;\n position: relative;\n}\n[data-v-2b1d30d7] .van-field__label {\n margin: auto;\n}\n[data-v-2b1d30d7] .van-cell {\n font-size: 12px;\n padding: 5px 5px;\n}\n[data-v-2b1d30d7] .van-icon {\n font-size: 12px;\n}\n[data-v-2b1d30d7] .van-popup .van-cell {\n padding: 5px 25px;\n}")();
22190
+ var ObjsEditor_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".widget[data-v-febc3832] {\n background: #fff;\n box-sizing: border-box;\n height: 100%;\n text-align: left;\n font-size: 12px;\n}\n.option[data-v-febc3832] {\n margin: 0 8px 8px 0;\n padding: 5px 10px;\n border-radius: 6px;\n border: 2px solid #e1e1e1;\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);\n color: #666;\n display: inline-block;\n position: relative;\n}\n[data-v-febc3832] .van-field__label {\n margin: auto;\n}\n[data-v-febc3832] .van-cell {\n font-size: 12px;\n padding: 5px 5px;\n}\n[data-v-febc3832] .van-icon {\n font-size: 12px;\n}\n[data-v-febc3832] .van-popup .van-cell {\n padding: 5px 25px;\n}")();
22682
22191
  const _hoisted_1 = {
22683
22192
  class: "widget-box"
22684
22193
  };
@@ -22845,11 +22354,13 @@ const _sfc_main = {
22845
22354
  } else if ((_b = (_a = props2.schema[key]) == null ? void 0 : _a.schema) == null ? void 0 : _b.options) {
22846
22355
  let one = (_d = (_c = props2.schema[key]) == null ? void 0 : _c.schema) == null ? void 0 : _d.options.find((item2) => item2[Object.keys(item2)[1]] === v);
22847
22356
  return one ? one[Object.keys(one)[0]] : "";
22848
- } else {
22849
- if (props2.schema[key].type === "Boolean")
22850
- v = v ? "\u662F" : "\u5426";
22357
+ } else if (props2.schema[key].type === "Boolean") {
22358
+ v = v ? "\u662F" : "\u5426";
22359
+ return v;
22360
+ } else if (v == null) {
22361
+ return "";
22362
+ } else
22851
22363
  return v;
22852
- }
22853
22364
  };
22854
22365
  const onEdit = (index) => {
22855
22366
  data2.selectIndex = index;
@@ -22991,7 +22502,7 @@ const _sfc_main = {
22991
22502
  disabled: props2.schema[key].auth === "readonly",
22992
22503
  modelValue: data2.inputValue[key],
22993
22504
  "onUpdate:modelValue": ($event) => data2.inputValue[key] = $event
22994
- }, null, 8, ["disabled", "modelValue", "onUpdate:modelValue"])) : createCommentVNode("", true), props2.schema[key].type == "Datetime" ? (openBlock(), createBlock(_sfc_main$p, {
22505
+ }, null, 8, ["disabled", "modelValue", "onUpdate:modelValue"])) : createCommentVNode("", true), props2.schema[key].type == "Datetime" ? (openBlock(), createBlock(_sfc_main$m, {
22995
22506
  key: 3,
22996
22507
  auth: props2.schema[key].auth,
22997
22508
  modelValue: data2.inputValue[key],
@@ -23051,7 +22562,7 @@ const _sfc_main = {
23051
22562
  };
23052
22563
  }
23053
22564
  };
23054
- var ObjsEditor = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-2b1d30d7"]]);
22565
+ var ObjsEditor = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-febc3832"]]);
23055
22566
  const secret_notify = () => {
23056
22567
  showNotify({ type: "danger", message: "\u4E25\u683C\u6267\u884C\u4FE1\u606F\u4FDD\u5BC6\u8981\u6C42\uFF0C\u5207\u5B9E\u9632\u8303\u4F01\u4E1A\u6CC4\u5BC6\u98CE\u9669", duration: 3e3 });
23057
22568
  };
@@ -23082,11 +22593,11 @@ const components = [
23082
22593
  },
23083
22594
  {
23084
22595
  name: "WidgetQwDatetimePicker",
23085
- widget: _sfc_main$p
22596
+ widget: _sfc_main$m
23086
22597
  },
23087
22598
  {
23088
22599
  name: "WidgetQwDatetimeDropdown",
23089
- widget: _sfc_main$o
22600
+ widget: _sfc_main$l
23090
22601
  },
23091
22602
  {
23092
22603
  name: "WidgetQwDataSelector",
@@ -23124,14 +22635,6 @@ const components = [
23124
22635
  name: "WidgetQwUserSelector",
23125
22636
  widget: UserSelector
23126
22637
  },
23127
- {
23128
- name: "WidgetQwUsersPicker",
23129
- widget: UsersPicker
23130
- },
23131
- {
23132
- name: "WidgetQwUserPicker",
23133
- widget: UserPicker
23134
- },
23135
22638
  {
23136
22639
  name: "WidgetQwUserProfile",
23137
22640
  widget: UserProfile