widget.qw 1.0.7 → 1.0.9

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.
@@ -2952,7 +2952,7 @@ var __async = (__this, __arguments, generator) => {
2952
2952
  parse,
2953
2953
  stringify
2954
2954
  };
2955
- const NEED_LOGIN = { "VUE_APP_DOMAIN": "https://www.hbhjhx.asia", "VUE_APP_TOKEN_KEY": "Authorization", "VUE_APP_TOKEN_PREFIX": "Bearer ", "VUE_APP_NEED_LOGIN_CODE": 401, "VUE_APP_IS_DEBUG": true, "VUE_APP_DEBUG_TOKEN": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsb2dpblR5cGUiOiJsb2dpbiIsImxvZ2luSWQiOiIwMTQzOTEiLCJyblN0ciI6ImZ0ejhnaFpLMWR4ejhnOTFDZkJUMXQxVWNJajF3R3c1In0.tgI4iGOJ8OrjoqWIqC2pjH7J52l6H7wyuUwJATKIVns" }.VUE_APP_NEED_LOGIN_CODE;
2955
+ const NEED_LOGIN = { "VUE_APP_DOMAIN": "https://www.hbhjhx.asia", "VUE_APP_TOKEN_KEY": "Authorization", "VUE_APP_TOKEN_PREFIX": "Bearer ", "VUE_APP_NEED_LOGIN_CODE": 401, "VUE_APP_IS_DEBUG": false, "VUE_APP_DEBUG_TOKEN": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsb2dpblR5cGUiOiJsb2dpbiIsImxvZ2luSWQiOiIwMTQzOTEiLCJyblN0ciI6ImZ0ejhnaFpLMWR4ejhnOTFDZkJUMXQxVWNJajF3R3c1In0.tgI4iGOJ8OrjoqWIqC2pjH7J52l6H7wyuUwJATKIVns" }.VUE_APP_NEED_LOGIN_CODE;
2956
2956
  const NEED_LOGIN_CODES = [
2957
2957
  NEED_LOGIN
2958
2958
  ];
@@ -2962,10 +2962,11 @@ var __async = (__this, __arguments, generator) => {
2962
2962
  function removeCacheByKey(key) {
2963
2963
  localStorage.removeItem(key);
2964
2964
  }
2965
- const TOKEN_KEY = { "VUE_APP_DOMAIN": "https://www.hbhjhx.asia", "VUE_APP_TOKEN_KEY": "Authorization", "VUE_APP_TOKEN_PREFIX": "Bearer ", "VUE_APP_NEED_LOGIN_CODE": 401, "VUE_APP_IS_DEBUG": true, "VUE_APP_DEBUG_TOKEN": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsb2dpblR5cGUiOiJsb2dpbiIsImxvZ2luSWQiOiIwMTQzOTEiLCJyblN0ciI6ImZ0ejhnaFpLMWR4ejhnOTFDZkJUMXQxVWNJajF3R3c1In0.tgI4iGOJ8OrjoqWIqC2pjH7J52l6H7wyuUwJATKIVns" }.VUE_APP_TOKEN_KEY;
2966
- const TOKEN_PREFIX = { "VUE_APP_DOMAIN": "https://www.hbhjhx.asia", "VUE_APP_TOKEN_KEY": "Authorization", "VUE_APP_TOKEN_PREFIX": "Bearer ", "VUE_APP_NEED_LOGIN_CODE": 401, "VUE_APP_IS_DEBUG": true, "VUE_APP_DEBUG_TOKEN": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsb2dpblR5cGUiOiJsb2dpbiIsImxvZ2luSWQiOiIwMTQzOTEiLCJyblN0ciI6ImZ0ejhnaFpLMWR4ejhnOTFDZkJUMXQxVWNJajF3R3c1In0.tgI4iGOJ8OrjoqWIqC2pjH7J52l6H7wyuUwJATKIVns" }.VUE_APP_TOKEN_PREFIX;
2965
+ const TOKEN_KEY = { "VUE_APP_DOMAIN": "https://www.hbhjhx.asia", "VUE_APP_TOKEN_KEY": "Authorization", "VUE_APP_TOKEN_PREFIX": "Bearer ", "VUE_APP_NEED_LOGIN_CODE": 401, "VUE_APP_IS_DEBUG": false, "VUE_APP_DEBUG_TOKEN": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsb2dpblR5cGUiOiJsb2dpbiIsImxvZ2luSWQiOiIwMTQzOTEiLCJyblN0ciI6ImZ0ejhnaFpLMWR4ejhnOTFDZkJUMXQxVWNJajF3R3c1In0.tgI4iGOJ8OrjoqWIqC2pjH7J52l6H7wyuUwJATKIVns" }.VUE_APP_TOKEN_KEY;
2966
+ const TOKEN_PREFIX = { "VUE_APP_DOMAIN": "https://www.hbhjhx.asia", "VUE_APP_TOKEN_KEY": "Authorization", "VUE_APP_TOKEN_PREFIX": "Bearer ", "VUE_APP_NEED_LOGIN_CODE": 401, "VUE_APP_IS_DEBUG": false, "VUE_APP_DEBUG_TOKEN": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsb2dpblR5cGUiOiJsb2dpbiIsImxvZ2luSWQiOiIwMTQzOTEiLCJyblN0ciI6ImZ0ejhnaFpLMWR4ejhnOTFDZkJUMXQxVWNJajF3R3c1In0.tgI4iGOJ8OrjoqWIqC2pjH7J52l6H7wyuUwJATKIVns" }.VUE_APP_TOKEN_PREFIX;
2967
2967
  function getToken() {
2968
- return TOKEN_PREFIX + { "VUE_APP_DOMAIN": "https://www.hbhjhx.asia", "VUE_APP_TOKEN_KEY": "Authorization", "VUE_APP_TOKEN_PREFIX": "Bearer ", "VUE_APP_NEED_LOGIN_CODE": 401, "VUE_APP_IS_DEBUG": true, "VUE_APP_DEBUG_TOKEN": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJsb2dpblR5cGUiOiJsb2dpbiIsImxvZ2luSWQiOiIwMTQzOTEiLCJyblN0ciI6ImZ0ejhnaFpLMWR4ejhnOTFDZkJUMXQxVWNJajF3R3c1In0.tgI4iGOJ8OrjoqWIqC2pjH7J52l6H7wyuUwJATKIVns" }.VUE_APP_DEBUG_TOKEN;
2968
+ if (vm.tokenCallback)
2969
+ return vm.tokenCallback();
2969
2970
  }
2970
2971
  function setToken(token2) {
2971
2972
  setCacheValueByKey(TOKEN_KEY, token2);
@@ -3226,7 +3227,7 @@ var __async = (__this, __arguments, generator) => {
3226
3227
  };
3227
3228
  const project_list = (data2) => {
3228
3229
  return service$3({
3229
- url: vm.urlCallback() + "/qw-api/server-crm/project/list",
3230
+ url: vm.urlCallback() + "/ac-api/project/list",
3230
3231
  method: "POST",
3231
3232
  data: data2
3232
3233
  });
@@ -15762,7 +15763,7 @@ var __async = (__this, __arguments, generator) => {
15762
15763
  }
15763
15764
  return target;
15764
15765
  };
15765
- const _hoisted_1$j = {
15766
+ const _hoisted_1$i = {
15766
15767
  class: "widget"
15767
15768
  };
15768
15769
  const _hoisted_2$b = /* @__PURE__ */ vue.createTextVNode("\u9A73\u56DE");
@@ -15775,7 +15776,7 @@ var __async = (__this, __arguments, generator) => {
15775
15776
  const _hoisted_6$7 = {
15776
15777
  class: "task-title"
15777
15778
  };
15778
- const _sfc_main$w = {
15779
+ const _sfc_main$u = {
15779
15780
  __name: "AuditBar",
15780
15781
  props: {
15781
15782
  processId: Number,
@@ -16005,7 +16006,7 @@ var __async = (__this, __arguments, generator) => {
16005
16006
  const _component_van_popover = vue.resolveComponent("van-popover");
16006
16007
  const _component_van_step = vue.resolveComponent("van-step");
16007
16008
  const _component_van_steps = vue.resolveComponent("van-steps");
16008
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$j, [vue.unref(canPass) || vue.unref(canRefuse) ? (vue.openBlock(), vue.createBlock(_component_van_field, {
16009
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$i, [vue.unref(canPass) || vue.unref(canRefuse) ? (vue.openBlock(), vue.createBlock(_component_van_field, {
16009
16010
  key: 0,
16010
16011
  modelValue: data2.memo,
16011
16012
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => data2.memo = $event),
@@ -16074,7 +16075,7 @@ var __async = (__this, __arguments, generator) => {
16074
16075
  };
16075
16076
  }
16076
16077
  };
16077
- var AuditBar = /* @__PURE__ */ _export_sfc(_sfc_main$w, [["__scopeId", "data-v-87892c3e"]]);
16078
+ var AuditBar = /* @__PURE__ */ _export_sfc(_sfc_main$u, [["__scopeId", "data-v-87892c3e"]]);
16078
16079
  const isClient = typeof window !== "undefined" && typeof document !== "undefined";
16079
16080
  typeof WorkerGlobalScope !== "undefined" && globalThis instanceof WorkerGlobalScope;
16080
16081
  const isDef = (val) => typeof val !== "undefined";
@@ -16142,7 +16143,7 @@ var __async = (__this, __arguments, generator) => {
16142
16143
  }
16143
16144
  }
16144
16145
  var Input_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "[data-v-5653f0d0] .label {\n color: #000 !important;\n}\n[data-v-5653f0d0] .van-field__control:disabled {\n color: #000 !important;\n cursor: not-allowed;\n opacity: 1;\n -webkit-text-fill-color: #000;\n}")();
16145
- const _sfc_main$v = {
16146
+ const _sfc_main$t = {
16146
16147
  __name: "Input",
16147
16148
  props: {
16148
16149
  modelValue: {
@@ -16218,9 +16219,9 @@ var __async = (__this, __arguments, generator) => {
16218
16219
  };
16219
16220
  }
16220
16221
  };
16221
- var Input = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__scopeId", "data-v-5653f0d0"]]);
16222
+ var Input = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-5653f0d0"]]);
16222
16223
  var SinglePicker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "[data-v-24e62c3a] .label {\n color: #000 !important;\n}\n[data-v-24e62c3a] .van-field__control:disabled {\n color: #000 !important;\n cursor: not-allowed;\n opacity: 1;\n -webkit-text-fill-color: #000;\n}")();
16223
- const _sfc_main$u = {
16224
+ const _sfc_main$s = {
16224
16225
  __name: "SinglePicker",
16225
16226
  props: {
16226
16227
  id: String,
@@ -16336,16 +16337,16 @@ var __async = (__this, __arguments, generator) => {
16336
16337
  };
16337
16338
  }
16338
16339
  };
16339
- var SinglePicker = /* @__PURE__ */ _export_sfc(_sfc_main$u, [["__scopeId", "data-v-24e62c3a"]]);
16340
+ var SinglePicker = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-24e62c3a"]]);
16340
16341
  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")();
16341
- const _hoisted_1$i = {
16342
+ const _hoisted_1$h = {
16342
16343
  class: "select-all-container"
16343
16344
  };
16344
16345
  const _hoisted_2$a = /* @__PURE__ */ vue.createTextVNode("\u5168\u9009");
16345
16346
  const _hoisted_3$8 = {
16346
16347
  class: "checkbox-list"
16347
16348
  };
16348
- const _sfc_main$t = {
16349
+ const _sfc_main$r = {
16349
16350
  __name: "DataPop",
16350
16351
  props: {
16351
16352
  show: {
@@ -16392,7 +16393,7 @@ var __async = (__this, __arguments, generator) => {
16392
16393
  position: "bottom",
16393
16394
  class: "popup-box"
16394
16395
  }, {
16395
- default: vue.withCtx(() => [vue.createElementVNode("div", _hoisted_1$i, [vue.createVNode(_component_van_checkbox, {
16396
+ default: vue.withCtx(() => [vue.createElementVNode("div", _hoisted_1$h, [vue.createVNode(_component_van_checkbox, {
16396
16397
  shape: "square",
16397
16398
  modelValue: data2.isAllChecked,
16398
16399
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => data2.isAllChecked = $event),
@@ -16426,12 +16427,12 @@ var __async = (__this, __arguments, generator) => {
16426
16427
  };
16427
16428
  }
16428
16429
  };
16429
- var DataPop = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-10d79413"]]);
16430
+ var DataPop = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-10d79413"]]);
16430
16431
  var MultiPicker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.data-item[data-v-95e8cb3c]{\r\n margin: 0 8px 8px 0;\r\n padding: 2px 5px;\n}\r\n")();
16431
- const _hoisted_1$h = {
16432
+ const _hoisted_1$g = {
16432
16433
  class: "data-list"
16433
16434
  };
16434
- const _sfc_main$s = {
16435
+ const _sfc_main$q = {
16435
16436
  __name: "MultiPicker",
16436
16437
  props: {
16437
16438
  id: String,
@@ -16544,7 +16545,7 @@ var __async = (__this, __arguments, generator) => {
16544
16545
  _: 2
16545
16546
  }, [vue.unref(selectOptions).length > 0 ? {
16546
16547
  name: "input",
16547
- fn: vue.withCtx(() => [vue.createElementVNode("div", _hoisted_1$h, [(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(selectOptions), (item, i) => {
16548
+ fn: vue.withCtx(() => [vue.createElementVNode("div", _hoisted_1$g, [(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(selectOptions), (item, i) => {
16548
16549
  return vue.openBlock(), vue.createBlock(_component_van_tag, {
16549
16550
  class: "data-item",
16550
16551
  closeable: !vue.unref(isDisabled),
@@ -16567,9 +16568,9 @@ var __async = (__this, __arguments, generator) => {
16567
16568
  };
16568
16569
  }
16569
16570
  };
16570
- var MultiPicker = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-95e8cb3c"]]);
16571
+ var MultiPicker = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["__scopeId", "data-v-95e8cb3c"]]);
16571
16572
  var CheckGroup_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "[data-v-7f5a06de] .label {\n color: #000 !important;\n}\n[data-v-7f5a06de] .van-field__control:disabled {\n color: #000 !important;\n cursor: not-allowed;\n opacity: 1;\n -webkit-text-fill-color: #000;\n}")();
16572
- const _sfc_main$r = {
16573
+ const _sfc_main$p = {
16573
16574
  __name: "CheckGroup",
16574
16575
  props: {
16575
16576
  id: {
@@ -16693,8 +16694,8 @@ var __async = (__this, __arguments, generator) => {
16693
16694
  };
16694
16695
  }
16695
16696
  };
16696
- var CheckGroup = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-7f5a06de"]]);
16697
- const _sfc_main$q = {
16697
+ var CheckGroup = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-7f5a06de"]]);
16698
+ const _sfc_main$o = {
16698
16699
  __name: "DatetimePop",
16699
16700
  props: {
16700
16701
  isShow: {
@@ -16976,7 +16977,7 @@ var __async = (__this, __arguments, generator) => {
16976
16977
  };
16977
16978
  }
16978
16979
  };
16979
- const _sfc_main$p = {
16980
+ const _sfc_main$n = {
16980
16981
  __name: "index",
16981
16982
  props: {
16982
16983
  modelValue: {
@@ -17071,7 +17072,7 @@ var __async = (__this, __arguments, generator) => {
17071
17072
  }, {
17072
17073
  input: vue.withCtx(() => [vue.createTextVNode(vue.toDisplayString(formatTime(props.modelValue)), 1)]),
17073
17074
  _: 1
17074
- }, 8, ["modelValue", "label", "placeholder", "required", "rules", "is-link"])) : vue.createCommentVNode("", true), vue.createVNode(_sfc_main$q, {
17075
+ }, 8, ["modelValue", "label", "placeholder", "required", "rules", "is-link"])) : vue.createCommentVNode("", true), vue.createVNode(_sfc_main$o, {
17075
17076
  isShow: data2.isShow,
17076
17077
  "onUpdate:isShow": _cache[1] || (_cache[1] = ($event) => data2.isShow = $event),
17077
17078
  modelValue: vue.unref(modelValue),
@@ -17084,7 +17085,7 @@ var __async = (__this, __arguments, generator) => {
17084
17085
  }
17085
17086
  };
17086
17087
  var data_selector_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.popup-style[data-v-57cfd397] {\r\n height: 21.25rem;\n}\n.showMultipleButton[data-v-57cfd397] {\r\n padding-bottom: 0;\n}\n.showMultipleButton .van-button[data-v-57cfd397] {\r\n border: 0;\n}\n.flex-between[data-v-57cfd397] {\r\n padding: 10px;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\n}\n.bold[data-v-57cfd397] {\r\n font-weight: bold;\r\n color: #444;\n}\n.checkbox-style[data-v-57cfd397] {\r\n /* height: 220px; */\r\n height: calc(220px - 30px); \r\n overflow-y: auto;\n}\n.select-all-container[data-v-57cfd397] {\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-57cfd397] {\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-57cfd397] {\r\n margin-left: 8px;\n}\r\n \r\n")();
17087
- const _hoisted_1$g = {
17088
+ const _hoisted_1$f = {
17088
17089
  class: "pad10 flex-between showMultipleButton"
17089
17090
  };
17090
17091
  const _hoisted_2$9 = /* @__PURE__ */ vue.createTextVNode("\u53D6\u6D88");
@@ -17100,7 +17101,7 @@ var __async = (__this, __arguments, generator) => {
17100
17101
  const _hoisted_7$6 = {
17101
17102
  class: "checkbox-style"
17102
17103
  };
17103
- const _sfc_main$o = {
17104
+ const _sfc_main$m = {
17104
17105
  __name: "data_selector",
17105
17106
  props: {
17106
17107
  mode: {
@@ -17287,7 +17288,7 @@ var __async = (__this, __arguments, generator) => {
17287
17288
  position: "bottom",
17288
17289
  class: "popup-style"
17289
17290
  }, {
17290
- default: vue.withCtx(() => [vue.createElementVNode("div", null, [vue.createElementVNode("div", _hoisted_1$g, [vue.createVNode(_component_van_button, {
17291
+ default: vue.withCtx(() => [vue.createElementVNode("div", null, [vue.createElementVNode("div", _hoisted_1$f, [vue.createVNode(_component_van_button, {
17291
17292
  plain: "",
17292
17293
  size: "normal",
17293
17294
  onClick: cancelSelection
@@ -17375,16 +17376,16 @@ var __async = (__this, __arguments, generator) => {
17375
17376
  };
17376
17377
  }
17377
17378
  };
17378
- var DataSelector = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-57cfd397"]]);
17379
+ var DataSelector = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-57cfd397"]]);
17379
17380
  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")();
17380
- const _hoisted_1$f = {
17381
+ const _hoisted_1$e = {
17381
17382
  key: 0,
17382
17383
  class: "confirmation-tips"
17383
17384
  };
17384
17385
  const _hoisted_2$8 = {
17385
17386
  class: "option-text"
17386
17387
  };
17387
- const _sfc_main$n = {
17388
+ const _sfc_main$l = {
17388
17389
  __name: "mult_list_selector",
17389
17390
  props: {
17390
17391
  options: {
@@ -17419,7 +17420,7 @@ var __async = (__this, __arguments, generator) => {
17419
17420
  const _component_van_icon = vue.resolveComponent("van-icon");
17420
17421
  const _component_van_checkbox = vue.resolveComponent("van-checkbox");
17421
17422
  const _component_van_checkbox_group = vue.resolveComponent("van-checkbox-group");
17422
- return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [__props.tips && __props.tips.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$f, [vue.createVNode(_component_van_icon, {
17423
+ return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [__props.tips && __props.tips.length > 0 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$e, [vue.createVNode(_component_van_icon, {
17423
17424
  name: "info",
17424
17425
  color: "#1989fa"
17425
17426
  }), vue.createElementVNode("span", null, vue.toDisplayString(__props.tips), 1)])) : vue.createCommentVNode("", true), vue.createVNode(_component_van_checkbox_group, {
@@ -17449,139 +17450,7 @@ var __async = (__this, __arguments, generator) => {
17449
17450
  };
17450
17451
  }
17451
17452
  };
17452
- var MultListSelector = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-40a09897"]]);
17453
- var product_selector_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.project-selector[data-v-dbc5bf54] {\n[data-v-dbc5bf54] .van-cell {\r\n align-items: center;\n}\n[data-v-dbc5bf54] .van-field__label {\r\n width: 90px;\r\n flex: none;\n}\n.readonly-field[data-v-dbc5bf54] {\n[data-v-dbc5bf54] .van-field__control {\r\n color: #323233;\r\n /* \u4FEE\u6539\u6587\u5B57\u989C\u8272\u4E0E\u666E\u901A\u5B57\u6BB5\u4E00\u81F4 */\r\n padding-right: 16px;\n}\r\n\r\n /* \u6DFB\u52A0\u5FC5\u586B\u661F\u53F7\u5BF9\u9F50 */\n&.van-field--required[data-v-dbc5bf54] {\n[data-v-dbc5bf54] .van-field__label::before {\r\n margin-right: 4px;\n}\n}\n}\r\n\r\n /* \u7EDF\u4E00\u5B57\u6BB5\u95F4\u8DDD */\n.readonly-field[data-v-dbc5bf54] {\r\n margin: 4px 0;\n}\n}\r\n")();
17454
- const _hoisted_1$e = {
17455
- class: "project-selector"
17456
- };
17457
- const _sfc_main$m = {
17458
- __name: "product_selector",
17459
- props: {
17460
- modelValue: {
17461
- type: Object,
17462
- default: () => ({
17463
- productName: "",
17464
- productCode: ""
17465
- })
17466
- },
17467
- required: {
17468
- type: Boolean,
17469
- default: true
17470
- },
17471
- readonly: {
17472
- type: Boolean,
17473
- default: false
17474
- },
17475
- rules: {
17476
- type: Array,
17477
- default: () => []
17478
- }
17479
- },
17480
- emits: ["update:modelValue"],
17481
- setup(__props, {
17482
- emit
17483
- }) {
17484
- const props = __props;
17485
- const productListCache = {
17486
- data: vue.ref([]),
17487
- loading: vue.ref(false),
17488
- error: vue.ref(null)
17489
- };
17490
- const productOptions = vue.ref([]);
17491
- const selectedProjectCode = vue.ref("");
17492
- const projectCode = vue.ref("");
17493
- const fetchProducts = () => __async(this, null, function* () {
17494
- try {
17495
- if (productListCache.data.value.length > 0)
17496
- return;
17497
- if (productListCache.loading.value)
17498
- return;
17499
- productListCache.loading.value = true;
17500
- const response = yield util.project_list({
17501
- limit: 999,
17502
- page: 0
17503
- });
17504
- if (response.code === 200) {
17505
- productListCache.data.value = response.data.list.map((item) => ({
17506
- text: item.name,
17507
- value: item.projectCode
17508
- }));
17509
- }
17510
- } catch (error) {
17511
- productListCache.error.value = error;
17512
- console.error("\u83B7\u53D6\u4EA7\u54C1\u5217\u8868\u5931\u8D25:", error);
17513
- } finally {
17514
- productListCache.loading.value = false;
17515
- }
17516
- });
17517
- const handleProjectChange = (value) => {
17518
- const selectedProduct = productOptions.value.find((item) => item.value === value);
17519
- if (selectedProduct) {
17520
- emit("update:modelValue", {
17521
- productName: selectedProduct.text,
17522
- productCode: value
17523
- });
17524
- projectCode.value = value;
17525
- }
17526
- };
17527
- vue.watch(() => props.modelValue, (newVal) => {
17528
- if (productOptions.value.length > 0 && newVal.productCode !== selectedProjectCode.value) {
17529
- selectedProjectCode.value = newVal.productCode;
17530
- projectCode.value = newVal.productCode;
17531
- }
17532
- }, {
17533
- deep: true,
17534
- immediate: true
17535
- });
17536
- vue.watch(productOptions, (newOptions) => {
17537
- if (props.modelValue.productCode && newOptions.length > 0) {
17538
- const exists = newOptions.some((opt) => opt.value === props.modelValue.productCode);
17539
- if (exists) {
17540
- selectedProjectCode.value = props.modelValue.productCode;
17541
- projectCode.value = props.modelValue.productCode;
17542
- }
17543
- }
17544
- });
17545
- vue.onMounted(() => __async(this, null, function* () {
17546
- if (productListCache.data.value.length === 0) {
17547
- yield fetchProducts();
17548
- productOptions.value = [...productListCache.data.value];
17549
- } else {
17550
- productOptions.value = [...productListCache.data.value];
17551
- }
17552
- vue.nextTick(() => {
17553
- if (props.modelValue.productCode) {
17554
- selectedProjectCode.value = props.modelValue.productCode;
17555
- projectCode.value = props.modelValue.productCode;
17556
- }
17557
- });
17558
- }));
17559
- return (_ctx, _cache) => {
17560
- const _component_van_field = vue.resolveComponent("van-field");
17561
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$e, [vue.createVNode(DataSelector, {
17562
- modelValue: selectedProjectCode.value,
17563
- "onUpdate:modelValue": [_cache[0] || (_cache[0] = ($event) => selectedProjectCode.value = $event), handleProjectChange],
17564
- label: "\u4EA7\u54C1\u540D\u79F0",
17565
- placeholder: "\u8BF7\u9009\u62E9\u4EA7\u54C1",
17566
- mode: "single",
17567
- options: productOptions.value,
17568
- class: "selector-field",
17569
- required: props.required,
17570
- rules: props.rules,
17571
- readonly: props.readonly
17572
- }, null, 8, ["modelValue", "options", "required", "rules", "readonly"]), vue.createVNode(_component_van_field, {
17573
- modelValue: projectCode.value,
17574
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => projectCode.value = $event),
17575
- label: "\u4EA7\u54C1\u7F16\u53F7",
17576
- placeholder: "\u7CFB\u7EDF\u81EA\u52A8\u586B\u5165",
17577
- readonly: "",
17578
- class: "readonly-field",
17579
- required: props.required
17580
- }, null, 8, ["modelValue", "required"])]);
17581
- };
17582
- }
17583
- };
17584
- var ProductSelector = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-dbc5bf54"]]);
17453
+ var MultListSelector = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-40a09897"]]);
17585
17454
  var subdepartment_selector_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.department-popup[data-v-73eb43f3] {\r\n width: 100%;\r\n height: 60vh;\r\n border-radius: 16px 16px 0 0;\n}\n.popup-container[data-v-73eb43f3] {\r\n display: flex;\r\n flex-direction: column;\r\n flex: 1;\r\n height: 100%;\n}\n.picker-header[data-v-73eb43f3] {\r\n display: flex;\r\n align-items: center;\r\n padding: 12px;\r\n border-bottom: 1px solid #ebedf0;\r\n gap: 8px;\r\n background: #fff;\r\n /* flex-shrink: 0; */\r\n position: sticky;\r\n top: 0;\r\n z-index: 999;\r\n height: 56px;\r\n /* \u56FA\u5B9A\u5934\u90E8\u9AD8\u5EA6 */\r\n flex-shrink: 0;\r\n /* \u9632\u6B62\u5934\u90E8\u88AB\u538B\u7F29 */\n}\n.scroll-container[data-v-73eb43f3] {\r\n flex: 1;\r\n height: 0;\r\n overflow-y: auto;\r\n -webkit-overflow-scrolling: touch;\r\n /* height: calc(80vh - 170px); */\r\n /* \u8BA1\u7B97\u65B9\u5F0F\uFF1A\u603B\u9AD8\u5EA6(80vh) - \u5934\u90E8\u9AD8\u5EA6(56px) - \u641C\u7D22\u6846\u9AD8\u5EA6(52px) */\r\n position: relative;\r\n top: -1px;\n}\n.back-button[data-v-73eb43f3] {\r\n margin-right: 8px;\n}\n.current-path[data-v-73eb43f3] {\r\n flex: 1;\r\n font-size: 14px;\r\n color: #323233;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\n}\n.action-buttons[data-v-73eb43f3] {\r\n display: flex;\r\n gap: 8px;\r\n margin-left: auto;\n}\r\n\r\n/* .scroll-container {\r\n flex: 1;\r\n overflow-y: auto;\r\n -webkit-overflow-scrolling: touch;\r\n} */\n.cell-content[data-v-73eb43f3] {\r\n display: flex;\r\n align-items: center;\r\n gap: 12px;\n}\n.circle-selector[data-v-73eb43f3] {\r\n width: 20px;\r\n height: 20px;\r\n border: 1px solid #ebedf0;\r\n border-radius: 50%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n transition: all 0.2s;\r\n flex-shrink: 0;\n}\n.circle-selector.selected[data-v-73eb43f3] {\r\n background-color: #1989fa;\r\n border-color: #1989fa;\n}\n.circle-selector.selected .van-icon[data-v-73eb43f3] {\r\n color: white;\r\n font-size: 14px;\n}\n.van-cell__right-icon[data-v-73eb43f3] {\r\n color: #969799;\r\n font-size: 16px;\r\n margin-left: 8px;\n}\n.name[data-v-73eb43f3] {\r\n flex: 1;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\n}\n.cancel-btn[data-v-73eb43f3] {\r\n color: #969799;\n}\n.search-field[data-v-73eb43f3] {\r\n background: #fff;\r\n padding: 10px 16px;\r\n border-bottom: 1px solid #ebedf0;\r\n position: sticky;\r\n top: 0;\r\n z-index: 999;\r\n margin-bottom: 10px;\r\n flex-shrink: 0;\r\n /* \u9632\u6B62\u538B\u7F29 */\n}\r\n")();
17586
17455
  const _hoisted_1$d = {
17587
17456
  class: "department-selector"
@@ -17610,7 +17479,7 @@ var __async = (__this, __arguments, generator) => {
17610
17479
  const _hoisted_11$2 = {
17611
17480
  class: "name"
17612
17481
  };
17613
- const _sfc_main$l = {
17482
+ const _sfc_main$k = {
17614
17483
  __name: "subdepartment_selector",
17615
17484
  props: {
17616
17485
  modelValue: [String, Number],
@@ -17941,7 +17810,7 @@ var __async = (__this, __arguments, generator) => {
17941
17810
  };
17942
17811
  }
17943
17812
  };
17944
- var SubdepartmentSelector = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-73eb43f3"]]);
17813
+ var SubdepartmentSelector = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-73eb43f3"]]);
17945
17814
  var user_selector_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.user-popup[data-v-6c4b4fc8] {\r\n height: 60vh;\r\n width: 100%;\n}\n.picker-header[data-v-6c4b4fc8] {\r\n padding: 10px;\r\n border-bottom: 1px solid #ebedf0;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\n}\n.scroll-container[data-v-6c4b4fc8] {\r\n height: calc(80vh - 150px);\r\n overflow-y: auto;\n}\n.search-container[data-v-6c4b4fc8] {\r\n padding: 10px;\r\n background: #fff;\r\n display: flex;\r\n align-items: center;\r\n gap: 8px;\n}\n[data-v-6c4b4fc8] .search-container .van-search {\r\n flex: 1;\n}\n.search-btn[data-v-6c4b4fc8] {\r\n flex-shrink: 0;\n}\n.select-all-container[data-v-6c4b4fc8] {\r\n font-size: 14px;\r\n padding: 0 16px;\r\n margin: 10px 0;\r\n display: flex;\r\n justify-content: flex-end;\r\n align-items: center;\n}\n[data-v-6c4b4fc8] .van-checkbox__icon--square {\r\n border-radius: 4px;\n}\n[data-v-6c4b4fc8] .van-checkbox__label {\r\n margin-left: 8px;\n}\n[data-v-6c4b4fc8] .van-radio-group .van-cell,[data-v-6c4b4fc8] .van-checkbox-group .van-cell {\r\n align-items: center;\n}\n.current-path[data-v-6c4b4fc8] {\r\n flex: 1;\r\n font-size: 14px;\r\n color: #323233;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\n}\n.header-right[data-v-6c4b4fc8] {\r\n display: flex;\r\n gap: 8px;\r\n margin-left: auto;\n}\n.cancel-btn[data-v-6c4b4fc8] {\r\n color: #969799;\r\n margin-right: 5px;\n}\r\n")();
17946
17815
  const _hoisted_1$c = {
17947
17816
  class: "user-selector"
@@ -17975,7 +17844,7 @@ var __async = (__this, __arguments, generator) => {
17975
17844
  const _hoisted_13 = {
17976
17845
  class: "scroll-container"
17977
17846
  };
17978
- const _sfc_main$k = {
17847
+ const _sfc_main$j = {
17979
17848
  __name: "user_selector",
17980
17849
  props: {
17981
17850
  modelValue: [Array, String, Number],
@@ -18469,12 +18338,12 @@ var __async = (__this, __arguments, generator) => {
18469
18338
  };
18470
18339
  }
18471
18340
  };
18472
- var UserSelector = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-6c4b4fc8"]]);
18341
+ var UserSelector = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-6c4b4fc8"]]);
18473
18342
  var image_picker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "[data-v-7a64f836] .label {\n color: #000 !important;\n}\n[data-v-7a64f836] .van-field__control:disabled {\n color: #000 !important;\n cursor: not-allowed;\n opacity: 1;\n -webkit-text-fill-color: #000;\n}")();
18474
18343
  const _hoisted_1$b = {
18475
18344
  class: "image-box"
18476
18345
  };
18477
- const _sfc_main$j = {
18346
+ const _sfc_main$i = {
18478
18347
  __name: "image_picker",
18479
18348
  props: {
18480
18349
  modelValue: {
@@ -18581,12 +18450,12 @@ var __async = (__this, __arguments, generator) => {
18581
18450
  };
18582
18451
  }
18583
18452
  };
18584
- var ImagePicker = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-7a64f836"]]);
18453
+ var ImagePicker = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-7a64f836"]]);
18585
18454
  var images_picker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".widget[data-v-d659bcb6] {\n text-align: center;\n}\n.widget .btn[data-v-d659bcb6] {\n position: fixed;\n bottom: 1rem;\n left: 0;\n right: 0;\n margin: auto auto;\n color: white;\n font-size: 14px;\n background: rgb(58, 136, 255);\n padding: 8px 35px;\n width: 100px;\n text-align: center;\n display: inline-block;\n border-radius: 2px;\n}")();
18586
18455
  const _hoisted_1$a = {
18587
18456
  class: "image-box"
18588
18457
  };
18589
- const _sfc_main$i = {
18458
+ const _sfc_main$h = {
18590
18459
  __name: "images_picker",
18591
18460
  props: {
18592
18461
  modelValue: {
@@ -18707,12 +18576,12 @@ var __async = (__this, __arguments, generator) => {
18707
18576
  };
18708
18577
  }
18709
18578
  };
18710
- var ImagesPicker = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-d659bcb6"]]);
18579
+ var ImagesPicker = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-d659bcb6"]]);
18711
18580
  var FilePicker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "[data-v-78f50d19] .label {\n color: #000 !important;\n}\n[data-v-78f50d19] .van-field__control:disabled {\n color: #000 !important;\n cursor: not-allowed;\n opacity: 1;\n -webkit-text-fill-color: #000;\n}")();
18712
18581
  const _hoisted_1$9 = {
18713
18582
  class: "image-box"
18714
18583
  };
18715
- const _sfc_main$h = {
18584
+ const _sfc_main$g = {
18716
18585
  __name: "FilePicker",
18717
18586
  props: {
18718
18587
  modelValue: {
@@ -18821,7 +18690,7 @@ var __async = (__this, __arguments, generator) => {
18821
18690
  };
18822
18691
  }
18823
18692
  };
18824
- var FilePicker = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-78f50d19"]]);
18693
+ var FilePicker = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-78f50d19"]]);
18825
18694
  var SingleUserSelector_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.user-popup[data-v-a489ca4c] {\r\n width: 100%;\r\n overflow: hidden;\n}\n.department-selector[data-v-a489ca4c] {\r\n padding: 10px;\n}\n.search-buttons[data-v-a489ca4c] {\r\n display: flex;\r\n gap: 10px;\n}\n.clear-btn[data-v-a489ca4c] {\r\n background-color: #f2f3f5;\r\n border: none;\r\n border-radius: 4px;\r\n padding: 4px 8px;\r\n font-size: 14px;\n}\n.confirm-btn[data-v-a489ca4c] {\r\n background-color: #1989fa;\r\n color: white;\r\n border: none;\r\n border-radius: 4px;\r\n padding: 4px 8px;\r\n font-size: 14px;\n}\n.no-results[data-v-a489ca4c] {\r\n text-align: center;\r\n padding: 20px;\r\n color: #969799;\n}\n.picker-header[data-v-a489ca4c] {\r\n padding: 10px;\r\n border-bottom: 1px solid #ebedf0;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\n}\n.current-path[data-v-a489ca4c] {\r\n flex: 1;\r\n font-size: 14px;\r\n color: #323233;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\n}\n.header-right[data-v-a489ca4c] {\r\n display: flex;\r\n gap: 8px;\r\n margin-left: auto;\n}\n.cancel-btn[data-v-a489ca4c] {\r\n color: #969799;\r\n margin-right: 5px;\n}\n.scroll-container[data-v-a489ca4c] {\r\n height: calc(80vh - 150px);\r\n overflow-y: auto;\n}\r\n")();
18826
18695
  const _hoisted_1$8 = {
18827
18696
  class: "department-selector"
@@ -18843,7 +18712,7 @@ var __async = (__this, __arguments, generator) => {
18843
18712
  const _hoisted_8$3 = {
18844
18713
  class: "scroll-container"
18845
18714
  };
18846
- const _sfc_main$g = {
18715
+ const _sfc_main$f = {
18847
18716
  __name: "SingleUserSelector",
18848
18717
  props: {
18849
18718
  modelValue: {
@@ -19177,7 +19046,7 @@ var __async = (__this, __arguments, generator) => {
19177
19046
  };
19178
19047
  }
19179
19048
  };
19180
- var SingleUserSelector = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-a489ca4c"]]);
19049
+ var SingleUserSelector = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-a489ca4c"]]);
19181
19050
  var UserPop_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.user-popup[data-v-78c036bd] {\r\n width: 100%;\r\n overflow: hidden;\n}\n.department-selector[data-v-78c036bd] {\r\n padding: 10px;\n}\n.search-buttons[data-v-78c036bd] {\r\n display: flex;\r\n gap: 10px;\n}\n.clear-btn[data-v-78c036bd] {\r\n background-color: #f2f3f5;\r\n border: none;\r\n border-radius: 4px;\r\n padding: 4px 8px;\r\n font-size: 14px;\n}\n.confirm-btn[data-v-78c036bd] {\r\n background-color: #1989fa;\r\n color: white;\r\n border: none;\r\n border-radius: 4px;\r\n padding: 4px 8px;\r\n font-size: 14px;\n}\n.no-results[data-v-78c036bd] {\r\n text-align: center;\r\n padding: 20px;\r\n color: #969799;\n}\n.picker-header[data-v-78c036bd] {\r\n padding: 10px;\r\n border-bottom: 1px solid #ebedf0;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\n}\n.current-path[data-v-78c036bd] {\r\n flex: 1;\r\n font-size: 14px;\r\n color: #323233;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\n}\n.header-right[data-v-78c036bd] {\r\n display: flex;\r\n gap: 8px;\r\n margin-left: auto;\n}\n.cancel-btn[data-v-78c036bd] {\r\n color: #969799;\r\n margin-right: 5px;\n}\n.scroll-container[data-v-78c036bd] {\r\n height: calc(80vh - 150px);\r\n overflow-y: auto;\n}\r\n")();
19182
19051
  const _hoisted_1$7 = {
19183
19052
  class: "department-selector"
@@ -19199,7 +19068,7 @@ var __async = (__this, __arguments, generator) => {
19199
19068
  const _hoisted_8$2 = {
19200
19069
  class: "scroll-container"
19201
19070
  };
19202
- const _sfc_main$f = {
19071
+ const _sfc_main$e = {
19203
19072
  __name: "UserPop",
19204
19073
  props: {
19205
19074
  show: {
@@ -19449,12 +19318,12 @@ var __async = (__this, __arguments, generator) => {
19449
19318
  };
19450
19319
  }
19451
19320
  };
19452
- var UserPop = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-78c036bd"]]);
19321
+ var UserPop = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-78c036bd"]]);
19453
19322
  var UsersPicker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.user-item[data-v-4022cd82]{\r\n margin:3px;\n}\r\n")();
19454
19323
  const _hoisted_1$6 = {
19455
19324
  class: "user-list"
19456
19325
  };
19457
- const _sfc_main$e = {
19326
+ const _sfc_main$d = {
19458
19327
  __name: "UsersPicker",
19459
19328
  props: {
19460
19329
  modelValue: {
@@ -19576,9 +19445,9 @@ var __async = (__this, __arguments, generator) => {
19576
19445
  };
19577
19446
  }
19578
19447
  };
19579
- var UsersPicker = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__scopeId", "data-v-4022cd82"]]);
19448
+ var UsersPicker = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-4022cd82"]]);
19580
19449
  var UserPicker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.user[data-v-58929b5a]{\r\n padding:4px 8px;\n}\r\n")();
19581
- const _sfc_main$d = {
19450
+ const _sfc_main$c = {
19582
19451
  __name: "UserPicker",
19583
19452
  props: {
19584
19453
  modelValue: {
@@ -19692,7 +19561,7 @@ var __async = (__this, __arguments, generator) => {
19692
19561
  };
19693
19562
  }
19694
19563
  };
19695
- var UserPicker = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-58929b5a"]]);
19564
+ var UserPicker = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-58929b5a"]]);
19696
19565
  var UserProfile_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.widget[data-v-5ebf8c56] {\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-5ebf8c56] {\r\n margin-bottom: 15px;\n}\n.user-info[data-v-5ebf8c56] {\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-5ebf8c56] {\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-5ebf8c56] {\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-5ebf8c56] {\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-5ebf8c56]:hover {\r\n background-color: rgba(255, 255, 255, 0.4);\n}\n.user-jobs[data-v-5ebf8c56] {\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-5ebf8c56] {\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")();
19697
19566
  const _hoisted_1$5 = {
19698
19567
  class: "widget"
@@ -19716,7 +19585,7 @@ var __async = (__this, __arguments, generator) => {
19716
19585
  class: "user-jobs"
19717
19586
  };
19718
19587
  const _hoisted_8$1 = /* @__PURE__ */ vue.createTextVNode(" \u6CE8\u9500 ");
19719
- const _sfc_main$c = {
19588
+ const _sfc_main$b = {
19720
19589
  __name: "UserProfile",
19721
19590
  emits: ["logout"],
19722
19591
  setup(__props, {
@@ -19770,103 +19639,9 @@ var __async = (__this, __arguments, generator) => {
19770
19639
  };
19771
19640
  }
19772
19641
  };
19773
- var UserProfile = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-5ebf8c56"]]);
19774
- var ProjectPicker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => '@charset "UTF-8";\n.widget[data-v-47f94e12] {\n /* \u7EDF\u4E00\u5B57\u6BB5\u95F4\u8DDD */\n}\n.widget[data-v-47f94e12] .van-cell {\n align-items: center;\n}\n.widget[data-v-47f94e12] .van-field__label {\n width: 90px;\n flex: none;\n}\n.widget .readonly-field[data-v-47f94e12] {\n /* \u6DFB\u52A0\u5FC5\u586B\u661F\u53F7\u5BF9\u9F50 */\n}\n.widget .readonly-field[data-v-47f94e12] .van-field__control {\n color: #323233;\n /* \u4FEE\u6539\u6587\u5B57\u989C\u8272\u4E0E\u666E\u901A\u5B57\u6BB5\u4E00\u81F4 */\n padding-right: 16px;\n}\n.widget .readonly-field.van-field--required[data-v-47f94e12] .van-field__label::before {\n margin-right: 4px;\n}\n.widget .readonly-field[data-v-47f94e12] {\n margin: 4px 0;\n}')();
19775
- const _hoisted_1$4 = {
19776
- class: "widget"
19777
- };
19778
- const _sfc_main$b = {
19779
- __name: "ProjectPicker",
19780
- props: {
19781
- modelValue: {
19782
- type: String,
19783
- default: null
19784
- },
19785
- required: {
19786
- type: Boolean,
19787
- default: true
19788
- },
19789
- label: {
19790
- type: String,
19791
- default: ""
19792
- },
19793
- placeholder: {
19794
- type: String,
19795
- default: "\u8BF7\u9009\u62E9\u9879\u76EE"
19796
- },
19797
- readonly: {
19798
- type: Boolean,
19799
- default: false
19800
- },
19801
- rules: {
19802
- type: Array,
19803
- default: () => []
19804
- },
19805
- auth: {
19806
- type: String,
19807
- default: ""
19808
- },
19809
- maxStage: {
19810
- type: String,
19811
- default: ""
19812
- }
19813
- },
19814
- emits: ["update:modelValue", "select"],
19815
- setup(__props, {
19816
- emit
19817
- }) {
19818
- const props = __props;
19819
- const {
19820
- isRequired,
19821
- isReadonly,
19822
- isGone,
19823
- isDisabled
19824
- } = util.props2auth(props);
19825
- const data2 = vue.reactive({
19826
- options: []
19827
- });
19828
- const modelValue = useVModel(props, "modelValue", emit);
19829
- const query = () => __async(this, null, function* () {
19830
- let params = {
19831
- isBasic: true,
19832
- limit: 99999,
19833
- page: 1
19834
- };
19835
- if (props.maxStage)
19836
- params.maxStage = props.maxStage;
19837
- const res = yield util.project_list(params);
19838
- data2.options = res.data.list.map((item) => ({
19839
- text: `${item.projectCode}/${item.name}`,
19840
- value: item.id
19841
- }));
19842
- });
19843
- const onSelect = (item) => {
19844
- emit("select", item);
19845
- };
19846
- vue.onMounted(() => __async(this, null, function* () {
19847
- query();
19848
- }));
19849
- return (_ctx, _cache) => {
19850
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$4, [!vue.unref(isGone) ? (vue.openBlock(), vue.createBlock(DataSelector, {
19851
- key: 0,
19852
- modelValue: vue.unref(modelValue),
19853
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.isRef(modelValue) ? modelValue.value = $event : null),
19854
- label: props.label,
19855
- required: vue.unref(isRequired),
19856
- rules: props.rules,
19857
- disabled: vue.unref(isDisabled),
19858
- readonly: vue.unref(isReadonly),
19859
- mode: "single",
19860
- options: data2.options,
19861
- class: "selector-field",
19862
- onSelect
19863
- }, null, 8, ["modelValue", "label", "required", "rules", "disabled", "readonly", "options"])) : vue.createCommentVNode("", true)]);
19864
- };
19865
- }
19866
- };
19867
- var ProjectPicker = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-47f94e12"]]);
19642
+ var UserProfile = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-5ebf8c56"]]);
19868
19643
  var BillCard_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".widget[data-v-68bdd6bc] {\n background-color: white;\n border-radius: 8px;\n box-shadow: var(--van-dropdown-menu-shadow);\n color: 14px;\n}\n.widget .card-box[data-v-68bdd6bc] {\n padding-bottom: 8px;\n}\n.widget .card-box .card-header[data-v-68bdd6bc] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 15px 10px;\n border-bottom: 1px solid #eee;\n}\n.widget .card-box .card-header .card-sum[data-v-68bdd6bc] {\n flex: 1;\n font-size: 14px;\n text-align: left;\n}\n.widget .card-box .card-header .user-state[data-v-68bdd6bc] {\n margin-right: 1px;\n}\n[data-v-68bdd6bc] .van-cell__value {\n flex: 2 !important;\n}\n[data-v-68bdd6bc] .van-cell__title {\n font-size: 12px !important;\n color: #666 !important;\n text-align: left !important;\n}\n[data-v-68bdd6bc] .van-cell__value {\n font-size: 12px !important;\n color: #888 !important;\n}\n[data-v-68bdd6bc] .van-cell {\n padding: 2px 10px !important;\n}")();
19869
- const _hoisted_1$3 = {
19644
+ const _hoisted_1$4 = {
19870
19645
  class: "widget"
19871
19646
  };
19872
19647
  const _hoisted_2$2 = {
@@ -19962,7 +19737,7 @@ var __async = (__this, __arguments, generator) => {
19962
19737
  const _component_van_tag = vue.resolveComponent("van-tag");
19963
19738
  const _component_van_cell = vue.resolveComponent("van-cell");
19964
19739
  const _component_van_cell_group = vue.resolveComponent("van-cell-group");
19965
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$3, [vue.createVNode(_component_van_cell_group, {
19740
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$4, [vue.createVNode(_component_van_cell_group, {
19966
19741
  inset: "",
19967
19742
  class: "card-box"
19968
19743
  }, {
@@ -20163,70 +19938,8 @@ var __async = (__this, __arguments, generator) => {
20163
19938
  };
20164
19939
  }
20165
19940
  };
20166
- const _sfc_main$6 = {
20167
- __name: "ProjectDropdown",
20168
- props: {
20169
- modelValue: {
20170
- type: Number,
20171
- default: 0
20172
- },
20173
- label: {
20174
- type: String,
20175
- default: "\u9009\u62E9\u9879\u76EE"
20176
- },
20177
- placeholder: {
20178
- type: String,
20179
- default: "\u8BF7\u9009\u62E9\u9879\u76EE"
20180
- },
20181
- maxStage: {
20182
- type: String,
20183
- default: ""
20184
- }
20185
- },
20186
- emits: ["update:modelValue"],
20187
- setup(__props, {
20188
- emit
20189
- }) {
20190
- const props = __props;
20191
- const data2 = vue.reactive({
20192
- options: []
20193
- });
20194
- const modelValue = useVModel(props, "modelValue", emit);
20195
- const totalOptions = vue.computed(() => {
20196
- return [{
20197
- text: "\u5DE5\u7A0B\u7F16\u53F7",
20198
- value: ""
20199
- }, ...data2.options];
20200
- });
20201
- vue.onMounted(() => {
20202
- query();
20203
- });
20204
- const query = () => __async(this, null, function* () {
20205
- let params = {
20206
- isBasic: true,
20207
- limit: 99999,
20208
- page: 1
20209
- };
20210
- if (props.maxStage)
20211
- params.maxStage = props.maxStage;
20212
- const res = yield util.project_list(params);
20213
- data2.options = res.data.list.map((item) => ({
20214
- text: `${item.projectCode}/${item.name}`,
20215
- value: item.id
20216
- }));
20217
- });
20218
- return (_ctx, _cache) => {
20219
- const _component_van_dropdown_item = vue.resolveComponent("van-dropdown-item");
20220
- return vue.openBlock(), vue.createBlock(_component_van_dropdown_item, {
20221
- modelValue: vue.unref(modelValue),
20222
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.isRef(modelValue) ? modelValue.value = $event : null),
20223
- options: vue.unref(totalOptions)
20224
- }, null, 8, ["modelValue", "options"]);
20225
- };
20226
- }
20227
- };
20228
19941
  var Switch_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "[data-v-d8d21ade] .label {\n color: #000 !important;\n}\n[data-v-d8d21ade] .van-field__control:disabled {\n color: #000 !important;\n cursor: not-allowed;\n opacity: 1;\n -webkit-text-fill-color: #000;\n}")();
20229
- const _sfc_main$5 = {
19942
+ const _sfc_main$6 = {
20230
19943
  __name: "Switch",
20231
19944
  props: {
20232
19945
  modelValue: {
@@ -20294,9 +20007,9 @@ var __async = (__this, __arguments, generator) => {
20294
20007
  };
20295
20008
  }
20296
20009
  };
20297
- var Switch = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-d8d21ade"]]);
20010
+ var Switch = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-d8d21ade"]]);
20298
20011
  var Sheet_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => ".item-box[data-v-2bd62a7a] {\n position: relative;\n padding-bottom: 5px;\n border-bottom: 1px solid #e1e1e1;\n}\n.actionbar[data-v-2bd62a7a] {\n display: flex;\n justify-content: center;\n margin-top: 5px;\n}\n[data-v-2bd62a7a] .label {\n color: #000 !important;\n}\n[data-v-2bd62a7a] .van-field__control--custom {\n display: block;\n}")();
20299
- const _hoisted_1$2 = {
20012
+ const _hoisted_1$3 = {
20300
20013
  key: 0,
20301
20014
  class: "actionbar"
20302
20015
  };
@@ -20304,7 +20017,7 @@ var __async = (__this, __arguments, generator) => {
20304
20017
  key: 0,
20305
20018
  class: "actionbar"
20306
20019
  };
20307
- const _sfc_main$4 = {
20020
+ const _sfc_main$5 = {
20308
20021
  __name: "Sheet",
20309
20022
  props: {
20310
20023
  modelValue: {
@@ -20368,7 +20081,7 @@ var __async = (__this, __arguments, generator) => {
20368
20081
  required: vue.unref(isRequired),
20369
20082
  placeholder: props.placeholder
20370
20083
  }, {
20371
- input: vue.withCtx(() => [!vue.unref(isGone) && !vue.unref(isDisabled) && !vue.unref(isReadonly) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$2, [vue.createVNode(_component_van_button, {
20084
+ input: vue.withCtx(() => [!vue.unref(isGone) && !vue.unref(isDisabled) && !vue.unref(isReadonly) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$3, [vue.createVNode(_component_van_button, {
20372
20085
  icon: "plus",
20373
20086
  type: "primary",
20374
20087
  size: "mini",
@@ -20397,9 +20110,9 @@ var __async = (__this, __arguments, generator) => {
20397
20110
  };
20398
20111
  }
20399
20112
  };
20400
- var Sheet = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-2bd62a7a"]]);
20113
+ var Sheet = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-2bd62a7a"]]);
20401
20114
  var TreePop_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.popup-box[data-v-571370f8] {\r\n min-height: 20vh;\r\n max-height: 40vh;\r\n overflow-y: auto;\n.checkbox-list[data-v-571370f8] {\r\n padding: 15px 25px;\n[data-v-571370f8] .van-checkbox__label {\r\n flex: 1;\r\n text-align: right;\n}\n}\n}\n.select-all-container[data-v-571370f8] {\r\n font-size: 14px;\r\n padding: 15px 25px 0 15px;\r\n margin: 10px 0;\r\n display: flex;\r\n justify-content: flex-end;\r\n align-items: center;\n}\n.select-all-container .van-checkbox[data-v-571370f8] {\r\n margin-left: auto;\n}\r\n\r\n/* \u65B0\u589E\uFF1A\u8C03\u6574\u65B9\u5F62\u590D\u9009\u6846\u7684\u8FB9\u8DDD */\n.van-checkbox--square[data-v-571370f8] {\r\n margin-left: 8px;\n}\r\n")();
20402
- const _sfc_main$3 = {
20115
+ const _sfc_main$4 = {
20403
20116
  __name: "TreePop",
20404
20117
  props: {
20405
20118
  show: {
@@ -20448,12 +20161,12 @@ var __async = (__this, __arguments, generator) => {
20448
20161
  };
20449
20162
  }
20450
20163
  };
20451
- var TreePop = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-571370f8"]]);
20164
+ var TreePop = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-571370f8"]]);
20452
20165
  var TreePicker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.select-item[data-v-6744b874]{\r\n margin:3px;\n}\r\n")();
20453
- const _hoisted_1$1 = {
20166
+ const _hoisted_1$2 = {
20454
20167
  class: "select-list"
20455
20168
  };
20456
- const _sfc_main$2 = {
20169
+ const _sfc_main$3 = {
20457
20170
  __name: "TreePicker",
20458
20171
  props: {
20459
20172
  modelValue: {
@@ -20547,7 +20260,7 @@ var __async = (__this, __arguments, generator) => {
20547
20260
  onClick: _cache[0] || (_cache[0] = ($event) => data2.isShowPop = !vue.unref(isReadonly)),
20548
20261
  "label-class": "label"
20549
20262
  }, {
20550
- input: vue.withCtx(() => [vue.createElementVNode("div", _hoisted_1$1, [(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(selectOptions), (item, i) => {
20263
+ input: vue.withCtx(() => [vue.createElementVNode("div", _hoisted_1$2, [(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(selectOptions), (item, i) => {
20551
20264
  return vue.openBlock(), vue.createBlock(_component_van_tag, {
20552
20265
  class: "select-item",
20553
20266
  closeable: !vue.unref(isDisabled),
@@ -20571,9 +20284,9 @@ var __async = (__this, __arguments, generator) => {
20571
20284
  };
20572
20285
  }
20573
20286
  };
20574
- var TreePicker = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-6744b874"]]);
20287
+ var TreePicker = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-6744b874"]]);
20575
20288
  var CascaderPop_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.cascader-pop[data-v-e8f93d5a] {\r\n width: 100%;\r\n overflow: hidden;\n}\n.cascader-selector[data-v-e8f93d5a] {\r\n padding: 10px;\n}\n.search-buttons[data-v-e8f93d5a] {\r\n display: flex;\r\n gap: 10px;\n}\n.clear-btn[data-v-e8f93d5a] {\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-e8f93d5a] {\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-e8f93d5a] {\r\n text-align: center;\r\n padding: 20px;\r\n color: #969799;\n}\n.cascader-header[data-v-e8f93d5a] {\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-e8f93d5a] {\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-e8f93d5a] {\r\n display: flex;\r\n gap: 8px;\r\n margin-left: auto;\n}\n.cancel-btn[data-v-e8f93d5a] {\r\n color: #969799;\r\n margin-right: 5px;\n}\n.scroll-container[data-v-e8f93d5a] {\r\n height: calc(80vh - 150px);\r\n overflow-y: auto;\n}\n.cell-content[data-v-e8f93d5a] {\r\n display: flex;\r\n align-items: center;\r\n gap: 12px;\n}\n.circle-selector[data-v-e8f93d5a] {\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-e8f93d5a] {\r\n background-color: #1989fa;\r\n border-color: #1989fa;\n}\n.circle-selector.selected .van-icon[data-v-e8f93d5a] {\r\n color: white;\r\n font-size: 14px;\n}\n.van-cell__right-icon[data-v-e8f93d5a] {\r\n color: #969799;\r\n font-size: 16px;\r\n margin-left: 8px;\n}\n.name[data-v-e8f93d5a] {\r\n flex: 1;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\n}\n.cancel-btn[data-v-e8f93d5a] {\r\n color: #969799;\n}\n.search-field[data-v-e8f93d5a] {\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")();
20576
- const _hoisted_1 = {
20289
+ const _hoisted_1$1 = {
20577
20290
  class: "cascader-selector"
20578
20291
  };
20579
20292
  const _hoisted_2 = {
@@ -20600,7 +20313,7 @@ var __async = (__this, __arguments, generator) => {
20600
20313
  const _hoisted_11 = {
20601
20314
  class: "name"
20602
20315
  };
20603
- const _sfc_main$1 = {
20316
+ const _sfc_main$2 = {
20604
20317
  __name: "CascaderPop",
20605
20318
  props: {
20606
20319
  modelValue: {
@@ -20741,7 +20454,7 @@ var __async = (__this, __arguments, generator) => {
20741
20454
  position: "bottom",
20742
20455
  class: "cascader-pop"
20743
20456
  }, {
20744
- default: vue.withCtx(() => [vue.createElementVNode("div", _hoisted_1, [vue.createElementVNode("div", _hoisted_2, [vue.createElementVNode("div", _hoisted_3, [vue.createVNode(_component_van_button, {
20457
+ default: vue.withCtx(() => [vue.createElementVNode("div", _hoisted_1$1, [vue.createElementVNode("div", _hoisted_2, [vue.createElementVNode("div", _hoisted_3, [vue.createVNode(_component_van_button, {
20745
20458
  onClick: onBack,
20746
20459
  icon: "arrow-left",
20747
20460
  size: "small"
@@ -20808,8 +20521,8 @@ var __async = (__this, __arguments, generator) => {
20808
20521
  };
20809
20522
  }
20810
20523
  };
20811
- var CascaderPop = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-e8f93d5a"]]);
20812
- const _sfc_main = {
20524
+ var CascaderPop = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-e8f93d5a"]]);
20525
+ const _sfc_main$1 = {
20813
20526
  __name: "CascaderPicker",
20814
20527
  props: {
20815
20528
  modelValue: {
@@ -20932,6 +20645,112 @@ var __async = (__this, __arguments, generator) => {
20932
20645
  };
20933
20646
  }
20934
20647
  };
20648
+ var SingleApiPicker_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => '@charset "UTF-8";\n.widget[data-v-11b655b2] {\n /* \u7EDF\u4E00\u5B57\u6BB5\u95F4\u8DDD */\n}\n.widget[data-v-11b655b2] .van-cell {\n align-items: center;\n}\n.widget[data-v-11b655b2] .van-field__label {\n width: 90px;\n flex: none;\n}\n.widget .readonly-field[data-v-11b655b2] {\n /* \u6DFB\u52A0\u5FC5\u586B\u661F\u53F7\u5BF9\u9F50 */\n}\n.widget .readonly-field[data-v-11b655b2] .van-field__control {\n color: #323233;\n /* \u4FEE\u6539\u6587\u5B57\u989C\u8272\u4E0E\u666E\u901A\u5B57\u6BB5\u4E00\u81F4 */\n padding-right: 16px;\n}\n.widget .readonly-field.van-field--required[data-v-11b655b2] .van-field__label::before {\n margin-right: 4px;\n}\n.widget .readonly-field[data-v-11b655b2] {\n margin: 4px 0;\n}')();
20649
+ const _hoisted_1 = {
20650
+ class: "widget"
20651
+ };
20652
+ const _sfc_main = {
20653
+ __name: "SingleApiPicker",
20654
+ props: {
20655
+ modelValue: {
20656
+ type: String,
20657
+ default: null
20658
+ },
20659
+ label: {
20660
+ type: String,
20661
+ default: ""
20662
+ },
20663
+ placeholder: {
20664
+ type: String,
20665
+ default: ""
20666
+ },
20667
+ required: {
20668
+ type: Boolean,
20669
+ default: false
20670
+ },
20671
+ readonly: {
20672
+ type: Boolean,
20673
+ default: true
20674
+ },
20675
+ auth: {
20676
+ type: String,
20677
+ default: ""
20678
+ },
20679
+ query: {
20680
+ type: Function,
20681
+ default: () => {
20682
+ }
20683
+ }
20684
+ },
20685
+ emits: ["update:modelValue", "select"],
20686
+ setup(__props, {
20687
+ emit
20688
+ }) {
20689
+ const props = __props;
20690
+ const modelValue = useVModel(props, "modelValue", emit);
20691
+ const {
20692
+ isRequired,
20693
+ isReadonly,
20694
+ isGone,
20695
+ isDisabled
20696
+ } = util.props2auth(props);
20697
+ const data2 = vue.reactive({
20698
+ isShow: false,
20699
+ options: []
20700
+ });
20701
+ const formatLabel = vue.computed(() => {
20702
+ let one = data2.options.find((item) => item.value == modelValue.value);
20703
+ return one ? one.text : "";
20704
+ });
20705
+ vue.onMounted(() => __async(this, null, function* () {
20706
+ props.query((options) => {
20707
+ data2.options = options;
20708
+ });
20709
+ }));
20710
+ const onConfirm = ({
20711
+ selectedOptions
20712
+ }) => {
20713
+ console.log("selectedOptions: " + selectedOptions);
20714
+ let selectOption = selectedOptions[selectedOptions.length - 1];
20715
+ modelValue.value = selectOption.value;
20716
+ emit("select", selectOption);
20717
+ data2.isShow = false;
20718
+ };
20719
+ const onCancel = () => {
20720
+ data2.isShow = false;
20721
+ };
20722
+ return (_ctx, _cache) => {
20723
+ const _component_van_field = vue.resolveComponent("van-field");
20724
+ const _component_van_picker = vue.resolveComponent("van-picker");
20725
+ const _component_van_popup = vue.resolveComponent("van-popup");
20726
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [vue.createVNode(_component_van_field, {
20727
+ modelValue: vue.unref(formatLabel),
20728
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.isRef(formatLabel) ? formatLabel.value = $event : null),
20729
+ "is-link": "",
20730
+ label: props.label,
20731
+ placeholder: props.placeholder,
20732
+ readonly: "",
20733
+ required: vue.unref(isRequired),
20734
+ disabled: vue.unref(isDisabled),
20735
+ onClick: _cache[1] || (_cache[1] = ($event) => data2.isShow = true)
20736
+ }, null, 8, ["modelValue", "label", "placeholder", "required", "disabled"]), vue.createVNode(_component_van_popup, {
20737
+ show: data2.isShow,
20738
+ "onUpdate:show": _cache[2] || (_cache[2] = ($event) => data2.isShow = $event),
20739
+ "destroy-on-close": "",
20740
+ round: "",
20741
+ position: "bottom"
20742
+ }, {
20743
+ default: vue.withCtx(() => [vue.createVNode(_component_van_picker, {
20744
+ columns: data2.options,
20745
+ onCancel,
20746
+ onConfirm
20747
+ }, null, 8, ["columns"])]),
20748
+ _: 1
20749
+ }, 8, ["show"])]);
20750
+ };
20751
+ }
20752
+ };
20753
+ var SingleApiPicker = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-11b655b2"]]);
20935
20754
  const secret_notify = () => {
20936
20755
  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 });
20937
20756
  };
@@ -20958,7 +20777,7 @@ var __async = (__this, __arguments, generator) => {
20958
20777
  },
20959
20778
  {
20960
20779
  name: "WidgetQwDatetimePicker",
20961
- widget: _sfc_main$p
20780
+ widget: _sfc_main$n
20962
20781
  },
20963
20782
  {
20964
20783
  name: "WidgetQwDataSelector",
@@ -20968,10 +20787,6 @@ var __async = (__this, __arguments, generator) => {
20968
20787
  name: "WidgetQwMultListSelector",
20969
20788
  widget: MultListSelector
20970
20789
  },
20971
- {
20972
- name: "WidgetQwProductSelector",
20973
- widget: ProductSelector
20974
- },
20975
20790
  {
20976
20791
  name: "WidgetQwSubdepartmentSelector",
20977
20792
  widget: SubdepartmentSelector
@@ -21008,10 +20823,6 @@ var __async = (__this, __arguments, generator) => {
21008
20823
  name: "WidgetQwUserPicker",
21009
20824
  widget: UserPicker
21010
20825
  },
21011
- {
21012
- name: "WidgetQwProjectPicker",
21013
- widget: ProjectPicker
21014
- },
21015
20826
  {
21016
20827
  name: "WidgetQwUserProfile",
21017
20828
  widget: UserProfile
@@ -21028,10 +20839,6 @@ var __async = (__this, __arguments, generator) => {
21028
20839
  name: "WidgetQwDayDropdown",
21029
20840
  widget: _sfc_main$7
21030
20841
  },
21031
- {
21032
- name: "WidgetQwProjectDropdown",
21033
- widget: _sfc_main$6
21034
- },
21035
20842
  {
21036
20843
  name: "WidgetQwSwitch",
21037
20844
  widget: Switch
@@ -21050,7 +20857,11 @@ var __async = (__this, __arguments, generator) => {
21050
20857
  },
21051
20858
  {
21052
20859
  name: "WidgetQwCascaderPicker",
21053
- widget: _sfc_main
20860
+ widget: _sfc_main$1
20861
+ },
20862
+ {
20863
+ name: "WidgetQwSingleApiPicker",
20864
+ widget: SingleApiPicker
21054
20865
  }
21055
20866
  ];
21056
20867
  const WidgetQw = {