widget.qw 1.0.6 → 1.0.8

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.
@@ -3227,7 +3227,7 @@ var __async = (__this, __arguments, generator) => {
3227
3227
  };
3228
3228
  const project_list = (data2) => {
3229
3229
  return service$3({
3230
- url: vm.urlCallback() + "/qw-api/server-crm/project/list",
3230
+ url: vm.urlCallback() + "/ac-api/project/list",
3231
3231
  method: "POST",
3232
3232
  data: data2
3233
3233
  });
@@ -15763,7 +15763,7 @@ var __async = (__this, __arguments, generator) => {
15763
15763
  }
15764
15764
  return target;
15765
15765
  };
15766
- const _hoisted_1$j = {
15766
+ const _hoisted_1$i = {
15767
15767
  class: "widget"
15768
15768
  };
15769
15769
  const _hoisted_2$b = /* @__PURE__ */ vue.createTextVNode("\u9A73\u56DE");
@@ -15776,7 +15776,7 @@ var __async = (__this, __arguments, generator) => {
15776
15776
  const _hoisted_6$7 = {
15777
15777
  class: "task-title"
15778
15778
  };
15779
- const _sfc_main$w = {
15779
+ const _sfc_main$u = {
15780
15780
  __name: "AuditBar",
15781
15781
  props: {
15782
15782
  processId: Number,
@@ -16006,7 +16006,7 @@ var __async = (__this, __arguments, generator) => {
16006
16006
  const _component_van_popover = vue.resolveComponent("van-popover");
16007
16007
  const _component_van_step = vue.resolveComponent("van-step");
16008
16008
  const _component_van_steps = vue.resolveComponent("van-steps");
16009
- 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, {
16010
16010
  key: 0,
16011
16011
  modelValue: data2.memo,
16012
16012
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => data2.memo = $event),
@@ -16075,7 +16075,7 @@ var __async = (__this, __arguments, generator) => {
16075
16075
  };
16076
16076
  }
16077
16077
  };
16078
- 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"]]);
16079
16079
  const isClient = typeof window !== "undefined" && typeof document !== "undefined";
16080
16080
  typeof WorkerGlobalScope !== "undefined" && globalThis instanceof WorkerGlobalScope;
16081
16081
  const isDef = (val) => typeof val !== "undefined";
@@ -16143,7 +16143,7 @@ var __async = (__this, __arguments, generator) => {
16143
16143
  }
16144
16144
  }
16145
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}")();
16146
- const _sfc_main$v = {
16146
+ const _sfc_main$t = {
16147
16147
  __name: "Input",
16148
16148
  props: {
16149
16149
  modelValue: {
@@ -16219,9 +16219,9 @@ var __async = (__this, __arguments, generator) => {
16219
16219
  };
16220
16220
  }
16221
16221
  };
16222
- 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"]]);
16223
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}")();
16224
- const _sfc_main$u = {
16224
+ const _sfc_main$s = {
16225
16225
  __name: "SinglePicker",
16226
16226
  props: {
16227
16227
  id: String,
@@ -16337,16 +16337,16 @@ var __async = (__this, __arguments, generator) => {
16337
16337
  };
16338
16338
  }
16339
16339
  };
16340
- 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"]]);
16341
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")();
16342
- const _hoisted_1$i = {
16342
+ const _hoisted_1$h = {
16343
16343
  class: "select-all-container"
16344
16344
  };
16345
16345
  const _hoisted_2$a = /* @__PURE__ */ vue.createTextVNode("\u5168\u9009");
16346
16346
  const _hoisted_3$8 = {
16347
16347
  class: "checkbox-list"
16348
16348
  };
16349
- const _sfc_main$t = {
16349
+ const _sfc_main$r = {
16350
16350
  __name: "DataPop",
16351
16351
  props: {
16352
16352
  show: {
@@ -16393,7 +16393,7 @@ var __async = (__this, __arguments, generator) => {
16393
16393
  position: "bottom",
16394
16394
  class: "popup-box"
16395
16395
  }, {
16396
- 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, {
16397
16397
  shape: "square",
16398
16398
  modelValue: data2.isAllChecked,
16399
16399
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => data2.isAllChecked = $event),
@@ -16427,12 +16427,12 @@ var __async = (__this, __arguments, generator) => {
16427
16427
  };
16428
16428
  }
16429
16429
  };
16430
- 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"]]);
16431
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")();
16432
- const _hoisted_1$h = {
16432
+ const _hoisted_1$g = {
16433
16433
  class: "data-list"
16434
16434
  };
16435
- const _sfc_main$s = {
16435
+ const _sfc_main$q = {
16436
16436
  __name: "MultiPicker",
16437
16437
  props: {
16438
16438
  id: String,
@@ -16545,7 +16545,7 @@ var __async = (__this, __arguments, generator) => {
16545
16545
  _: 2
16546
16546
  }, [vue.unref(selectOptions).length > 0 ? {
16547
16547
  name: "input",
16548
- 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) => {
16549
16549
  return vue.openBlock(), vue.createBlock(_component_van_tag, {
16550
16550
  class: "data-item",
16551
16551
  closeable: !vue.unref(isDisabled),
@@ -16568,9 +16568,9 @@ var __async = (__this, __arguments, generator) => {
16568
16568
  };
16569
16569
  }
16570
16570
  };
16571
- 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"]]);
16572
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}")();
16573
- const _sfc_main$r = {
16573
+ const _sfc_main$p = {
16574
16574
  __name: "CheckGroup",
16575
16575
  props: {
16576
16576
  id: {
@@ -16694,8 +16694,8 @@ var __async = (__this, __arguments, generator) => {
16694
16694
  };
16695
16695
  }
16696
16696
  };
16697
- var CheckGroup = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-7f5a06de"]]);
16698
- const _sfc_main$q = {
16697
+ var CheckGroup = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-7f5a06de"]]);
16698
+ const _sfc_main$o = {
16699
16699
  __name: "DatetimePop",
16700
16700
  props: {
16701
16701
  isShow: {
@@ -16977,7 +16977,7 @@ var __async = (__this, __arguments, generator) => {
16977
16977
  };
16978
16978
  }
16979
16979
  };
16980
- const _sfc_main$p = {
16980
+ const _sfc_main$n = {
16981
16981
  __name: "index",
16982
16982
  props: {
16983
16983
  modelValue: {
@@ -17072,7 +17072,7 @@ var __async = (__this, __arguments, generator) => {
17072
17072
  }, {
17073
17073
  input: vue.withCtx(() => [vue.createTextVNode(vue.toDisplayString(formatTime(props.modelValue)), 1)]),
17074
17074
  _: 1
17075
- }, 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, {
17076
17076
  isShow: data2.isShow,
17077
17077
  "onUpdate:isShow": _cache[1] || (_cache[1] = ($event) => data2.isShow = $event),
17078
17078
  modelValue: vue.unref(modelValue),
@@ -17085,7 +17085,7 @@ var __async = (__this, __arguments, generator) => {
17085
17085
  }
17086
17086
  };
17087
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")();
17088
- const _hoisted_1$g = {
17088
+ const _hoisted_1$f = {
17089
17089
  class: "pad10 flex-between showMultipleButton"
17090
17090
  };
17091
17091
  const _hoisted_2$9 = /* @__PURE__ */ vue.createTextVNode("\u53D6\u6D88");
@@ -17101,7 +17101,7 @@ var __async = (__this, __arguments, generator) => {
17101
17101
  const _hoisted_7$6 = {
17102
17102
  class: "checkbox-style"
17103
17103
  };
17104
- const _sfc_main$o = {
17104
+ const _sfc_main$m = {
17105
17105
  __name: "data_selector",
17106
17106
  props: {
17107
17107
  mode: {
@@ -17288,7 +17288,7 @@ var __async = (__this, __arguments, generator) => {
17288
17288
  position: "bottom",
17289
17289
  class: "popup-style"
17290
17290
  }, {
17291
- 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, {
17292
17292
  plain: "",
17293
17293
  size: "normal",
17294
17294
  onClick: cancelSelection
@@ -17376,16 +17376,16 @@ var __async = (__this, __arguments, generator) => {
17376
17376
  };
17377
17377
  }
17378
17378
  };
17379
- 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"]]);
17380
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")();
17381
- const _hoisted_1$f = {
17381
+ const _hoisted_1$e = {
17382
17382
  key: 0,
17383
17383
  class: "confirmation-tips"
17384
17384
  };
17385
17385
  const _hoisted_2$8 = {
17386
17386
  class: "option-text"
17387
17387
  };
17388
- const _sfc_main$n = {
17388
+ const _sfc_main$l = {
17389
17389
  __name: "mult_list_selector",
17390
17390
  props: {
17391
17391
  options: {
@@ -17420,7 +17420,7 @@ var __async = (__this, __arguments, generator) => {
17420
17420
  const _component_van_icon = vue.resolveComponent("van-icon");
17421
17421
  const _component_van_checkbox = vue.resolveComponent("van-checkbox");
17422
17422
  const _component_van_checkbox_group = vue.resolveComponent("van-checkbox-group");
17423
- 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, {
17424
17424
  name: "info",
17425
17425
  color: "#1989fa"
17426
17426
  }), vue.createElementVNode("span", null, vue.toDisplayString(__props.tips), 1)])) : vue.createCommentVNode("", true), vue.createVNode(_component_van_checkbox_group, {
@@ -17450,139 +17450,7 @@ var __async = (__this, __arguments, generator) => {
17450
17450
  };
17451
17451
  }
17452
17452
  };
17453
- var MultListSelector = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-40a09897"]]);
17454
- 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")();
17455
- const _hoisted_1$e = {
17456
- class: "project-selector"
17457
- };
17458
- const _sfc_main$m = {
17459
- __name: "product_selector",
17460
- props: {
17461
- modelValue: {
17462
- type: Object,
17463
- default: () => ({
17464
- productName: "",
17465
- productCode: ""
17466
- })
17467
- },
17468
- required: {
17469
- type: Boolean,
17470
- default: true
17471
- },
17472
- readonly: {
17473
- type: Boolean,
17474
- default: false
17475
- },
17476
- rules: {
17477
- type: Array,
17478
- default: () => []
17479
- }
17480
- },
17481
- emits: ["update:modelValue"],
17482
- setup(__props, {
17483
- emit
17484
- }) {
17485
- const props = __props;
17486
- const productListCache = {
17487
- data: vue.ref([]),
17488
- loading: vue.ref(false),
17489
- error: vue.ref(null)
17490
- };
17491
- const productOptions = vue.ref([]);
17492
- const selectedProjectCode = vue.ref("");
17493
- const projectCode = vue.ref("");
17494
- const fetchProducts = () => __async(this, null, function* () {
17495
- try {
17496
- if (productListCache.data.value.length > 0)
17497
- return;
17498
- if (productListCache.loading.value)
17499
- return;
17500
- productListCache.loading.value = true;
17501
- const response = yield util.project_list({
17502
- limit: 999,
17503
- page: 0
17504
- });
17505
- if (response.code === 200) {
17506
- productListCache.data.value = response.data.list.map((item) => ({
17507
- text: item.name,
17508
- value: item.projectCode
17509
- }));
17510
- }
17511
- } catch (error) {
17512
- productListCache.error.value = error;
17513
- console.error("\u83B7\u53D6\u4EA7\u54C1\u5217\u8868\u5931\u8D25:", error);
17514
- } finally {
17515
- productListCache.loading.value = false;
17516
- }
17517
- });
17518
- const handleProjectChange = (value) => {
17519
- const selectedProduct = productOptions.value.find((item) => item.value === value);
17520
- if (selectedProduct) {
17521
- emit("update:modelValue", {
17522
- productName: selectedProduct.text,
17523
- productCode: value
17524
- });
17525
- projectCode.value = value;
17526
- }
17527
- };
17528
- vue.watch(() => props.modelValue, (newVal) => {
17529
- if (productOptions.value.length > 0 && newVal.productCode !== selectedProjectCode.value) {
17530
- selectedProjectCode.value = newVal.productCode;
17531
- projectCode.value = newVal.productCode;
17532
- }
17533
- }, {
17534
- deep: true,
17535
- immediate: true
17536
- });
17537
- vue.watch(productOptions, (newOptions) => {
17538
- if (props.modelValue.productCode && newOptions.length > 0) {
17539
- const exists = newOptions.some((opt) => opt.value === props.modelValue.productCode);
17540
- if (exists) {
17541
- selectedProjectCode.value = props.modelValue.productCode;
17542
- projectCode.value = props.modelValue.productCode;
17543
- }
17544
- }
17545
- });
17546
- vue.onMounted(() => __async(this, null, function* () {
17547
- if (productListCache.data.value.length === 0) {
17548
- yield fetchProducts();
17549
- productOptions.value = [...productListCache.data.value];
17550
- } else {
17551
- productOptions.value = [...productListCache.data.value];
17552
- }
17553
- vue.nextTick(() => {
17554
- if (props.modelValue.productCode) {
17555
- selectedProjectCode.value = props.modelValue.productCode;
17556
- projectCode.value = props.modelValue.productCode;
17557
- }
17558
- });
17559
- }));
17560
- return (_ctx, _cache) => {
17561
- const _component_van_field = vue.resolveComponent("van-field");
17562
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$e, [vue.createVNode(DataSelector, {
17563
- modelValue: selectedProjectCode.value,
17564
- "onUpdate:modelValue": [_cache[0] || (_cache[0] = ($event) => selectedProjectCode.value = $event), handleProjectChange],
17565
- label: "\u4EA7\u54C1\u540D\u79F0",
17566
- placeholder: "\u8BF7\u9009\u62E9\u4EA7\u54C1",
17567
- mode: "single",
17568
- options: productOptions.value,
17569
- class: "selector-field",
17570
- required: props.required,
17571
- rules: props.rules,
17572
- readonly: props.readonly
17573
- }, null, 8, ["modelValue", "options", "required", "rules", "readonly"]), vue.createVNode(_component_van_field, {
17574
- modelValue: projectCode.value,
17575
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => projectCode.value = $event),
17576
- label: "\u4EA7\u54C1\u7F16\u53F7",
17577
- placeholder: "\u7CFB\u7EDF\u81EA\u52A8\u586B\u5165",
17578
- readonly: "",
17579
- class: "readonly-field",
17580
- required: props.required
17581
- }, null, 8, ["modelValue", "required"])]);
17582
- };
17583
- }
17584
- };
17585
- 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"]]);
17586
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")();
17587
17455
  const _hoisted_1$d = {
17588
17456
  class: "department-selector"
@@ -17611,7 +17479,7 @@ var __async = (__this, __arguments, generator) => {
17611
17479
  const _hoisted_11$2 = {
17612
17480
  class: "name"
17613
17481
  };
17614
- const _sfc_main$l = {
17482
+ const _sfc_main$k = {
17615
17483
  __name: "subdepartment_selector",
17616
17484
  props: {
17617
17485
  modelValue: [String, Number],
@@ -17942,7 +17810,7 @@ var __async = (__this, __arguments, generator) => {
17942
17810
  };
17943
17811
  }
17944
17812
  };
17945
- 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"]]);
17946
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")();
17947
17815
  const _hoisted_1$c = {
17948
17816
  class: "user-selector"
@@ -17976,7 +17844,7 @@ var __async = (__this, __arguments, generator) => {
17976
17844
  const _hoisted_13 = {
17977
17845
  class: "scroll-container"
17978
17846
  };
17979
- const _sfc_main$k = {
17847
+ const _sfc_main$j = {
17980
17848
  __name: "user_selector",
17981
17849
  props: {
17982
17850
  modelValue: [Array, String, Number],
@@ -18470,12 +18338,12 @@ var __async = (__this, __arguments, generator) => {
18470
18338
  };
18471
18339
  }
18472
18340
  };
18473
- 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"]]);
18474
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}")();
18475
18343
  const _hoisted_1$b = {
18476
18344
  class: "image-box"
18477
18345
  };
18478
- const _sfc_main$j = {
18346
+ const _sfc_main$i = {
18479
18347
  __name: "image_picker",
18480
18348
  props: {
18481
18349
  modelValue: {
@@ -18582,12 +18450,12 @@ var __async = (__this, __arguments, generator) => {
18582
18450
  };
18583
18451
  }
18584
18452
  };
18585
- 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"]]);
18586
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}")();
18587
18455
  const _hoisted_1$a = {
18588
18456
  class: "image-box"
18589
18457
  };
18590
- const _sfc_main$i = {
18458
+ const _sfc_main$h = {
18591
18459
  __name: "images_picker",
18592
18460
  props: {
18593
18461
  modelValue: {
@@ -18708,12 +18576,12 @@ var __async = (__this, __arguments, generator) => {
18708
18576
  };
18709
18577
  }
18710
18578
  };
18711
- 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"]]);
18712
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}")();
18713
18581
  const _hoisted_1$9 = {
18714
18582
  class: "image-box"
18715
18583
  };
18716
- const _sfc_main$h = {
18584
+ const _sfc_main$g = {
18717
18585
  __name: "FilePicker",
18718
18586
  props: {
18719
18587
  modelValue: {
@@ -18822,7 +18690,7 @@ var __async = (__this, __arguments, generator) => {
18822
18690
  };
18823
18691
  }
18824
18692
  };
18825
- 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"]]);
18826
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")();
18827
18695
  const _hoisted_1$8 = {
18828
18696
  class: "department-selector"
@@ -18844,7 +18712,7 @@ var __async = (__this, __arguments, generator) => {
18844
18712
  const _hoisted_8$3 = {
18845
18713
  class: "scroll-container"
18846
18714
  };
18847
- const _sfc_main$g = {
18715
+ const _sfc_main$f = {
18848
18716
  __name: "SingleUserSelector",
18849
18717
  props: {
18850
18718
  modelValue: {
@@ -19178,7 +19046,7 @@ var __async = (__this, __arguments, generator) => {
19178
19046
  };
19179
19047
  }
19180
19048
  };
19181
- 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"]]);
19182
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")();
19183
19051
  const _hoisted_1$7 = {
19184
19052
  class: "department-selector"
@@ -19200,7 +19068,7 @@ var __async = (__this, __arguments, generator) => {
19200
19068
  const _hoisted_8$2 = {
19201
19069
  class: "scroll-container"
19202
19070
  };
19203
- const _sfc_main$f = {
19071
+ const _sfc_main$e = {
19204
19072
  __name: "UserPop",
19205
19073
  props: {
19206
19074
  show: {
@@ -19450,12 +19318,12 @@ var __async = (__this, __arguments, generator) => {
19450
19318
  };
19451
19319
  }
19452
19320
  };
19453
- 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"]]);
19454
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")();
19455
19323
  const _hoisted_1$6 = {
19456
19324
  class: "user-list"
19457
19325
  };
19458
- const _sfc_main$e = {
19326
+ const _sfc_main$d = {
19459
19327
  __name: "UsersPicker",
19460
19328
  props: {
19461
19329
  modelValue: {
@@ -19577,9 +19445,9 @@ var __async = (__this, __arguments, generator) => {
19577
19445
  };
19578
19446
  }
19579
19447
  };
19580
- 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"]]);
19581
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")();
19582
- const _sfc_main$d = {
19450
+ const _sfc_main$c = {
19583
19451
  __name: "UserPicker",
19584
19452
  props: {
19585
19453
  modelValue: {
@@ -19693,7 +19561,7 @@ var __async = (__this, __arguments, generator) => {
19693
19561
  };
19694
19562
  }
19695
19563
  };
19696
- 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"]]);
19697
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")();
19698
19566
  const _hoisted_1$5 = {
19699
19567
  class: "widget"
@@ -19717,7 +19585,7 @@ var __async = (__this, __arguments, generator) => {
19717
19585
  class: "user-jobs"
19718
19586
  };
19719
19587
  const _hoisted_8$1 = /* @__PURE__ */ vue.createTextVNode(" \u6CE8\u9500 ");
19720
- const _sfc_main$c = {
19588
+ const _sfc_main$b = {
19721
19589
  __name: "UserProfile",
19722
19590
  emits: ["logout"],
19723
19591
  setup(__props, {
@@ -19771,103 +19639,9 @@ var __async = (__this, __arguments, generator) => {
19771
19639
  };
19772
19640
  }
19773
19641
  };
19774
- var UserProfile = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-5ebf8c56"]]);
19775
- 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}')();
19776
- const _hoisted_1$4 = {
19777
- class: "widget"
19778
- };
19779
- const _sfc_main$b = {
19780
- __name: "ProjectPicker",
19781
- props: {
19782
- modelValue: {
19783
- type: String,
19784
- default: null
19785
- },
19786
- required: {
19787
- type: Boolean,
19788
- default: true
19789
- },
19790
- label: {
19791
- type: String,
19792
- default: ""
19793
- },
19794
- placeholder: {
19795
- type: String,
19796
- default: "\u8BF7\u9009\u62E9\u9879\u76EE"
19797
- },
19798
- readonly: {
19799
- type: Boolean,
19800
- default: false
19801
- },
19802
- rules: {
19803
- type: Array,
19804
- default: () => []
19805
- },
19806
- auth: {
19807
- type: String,
19808
- default: ""
19809
- },
19810
- maxStage: {
19811
- type: String,
19812
- default: ""
19813
- }
19814
- },
19815
- emits: ["update:modelValue", "select"],
19816
- setup(__props, {
19817
- emit
19818
- }) {
19819
- const props = __props;
19820
- const {
19821
- isRequired,
19822
- isReadonly,
19823
- isGone,
19824
- isDisabled
19825
- } = util.props2auth(props);
19826
- const data2 = vue.reactive({
19827
- options: []
19828
- });
19829
- const modelValue = useVModel(props, "modelValue", emit);
19830
- const query = () => __async(this, null, function* () {
19831
- let params = {
19832
- isBasic: true,
19833
- limit: 99999,
19834
- page: 1
19835
- };
19836
- if (props.maxStage)
19837
- params.maxStage = props.maxStage;
19838
- const res = yield util.project_list(params);
19839
- data2.options = res.data.list.map((item) => ({
19840
- text: `${item.projectCode}/${item.name}`,
19841
- value: item.id
19842
- }));
19843
- });
19844
- const onSelect = (item) => {
19845
- emit("select", item);
19846
- };
19847
- vue.onMounted(() => __async(this, null, function* () {
19848
- query();
19849
- }));
19850
- return (_ctx, _cache) => {
19851
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$4, [!vue.unref(isGone) ? (vue.openBlock(), vue.createBlock(DataSelector, {
19852
- key: 0,
19853
- modelValue: vue.unref(modelValue),
19854
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.isRef(modelValue) ? modelValue.value = $event : null),
19855
- label: props.label,
19856
- required: vue.unref(isRequired),
19857
- rules: props.rules,
19858
- disabled: vue.unref(isDisabled),
19859
- readonly: vue.unref(isReadonly),
19860
- mode: "single",
19861
- options: data2.options,
19862
- class: "selector-field",
19863
- onSelect
19864
- }, null, 8, ["modelValue", "label", "required", "rules", "disabled", "readonly", "options"])) : vue.createCommentVNode("", true)]);
19865
- };
19866
- }
19867
- };
19868
- 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"]]);
19869
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}")();
19870
- const _hoisted_1$3 = {
19644
+ const _hoisted_1$4 = {
19871
19645
  class: "widget"
19872
19646
  };
19873
19647
  const _hoisted_2$2 = {
@@ -19963,7 +19737,7 @@ var __async = (__this, __arguments, generator) => {
19963
19737
  const _component_van_tag = vue.resolveComponent("van-tag");
19964
19738
  const _component_van_cell = vue.resolveComponent("van-cell");
19965
19739
  const _component_van_cell_group = vue.resolveComponent("van-cell-group");
19966
- 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, {
19967
19741
  inset: "",
19968
19742
  class: "card-box"
19969
19743
  }, {
@@ -20164,70 +19938,8 @@ var __async = (__this, __arguments, generator) => {
20164
19938
  };
20165
19939
  }
20166
19940
  };
20167
- const _sfc_main$6 = {
20168
- __name: "ProjectDropdown",
20169
- props: {
20170
- modelValue: {
20171
- type: Number,
20172
- default: 0
20173
- },
20174
- label: {
20175
- type: String,
20176
- default: "\u9009\u62E9\u9879\u76EE"
20177
- },
20178
- placeholder: {
20179
- type: String,
20180
- default: "\u8BF7\u9009\u62E9\u9879\u76EE"
20181
- },
20182
- maxStage: {
20183
- type: String,
20184
- default: ""
20185
- }
20186
- },
20187
- emits: ["update:modelValue"],
20188
- setup(__props, {
20189
- emit
20190
- }) {
20191
- const props = __props;
20192
- const data2 = vue.reactive({
20193
- options: []
20194
- });
20195
- const modelValue = useVModel(props, "modelValue", emit);
20196
- const totalOptions = vue.computed(() => {
20197
- return [{
20198
- text: "\u5DE5\u7A0B\u7F16\u53F7",
20199
- value: ""
20200
- }, ...data2.options];
20201
- });
20202
- vue.onMounted(() => {
20203
- query();
20204
- });
20205
- const query = () => __async(this, null, function* () {
20206
- let params = {
20207
- isBasic: true,
20208
- limit: 99999,
20209
- page: 1
20210
- };
20211
- if (props.maxStage)
20212
- params.maxStage = props.maxStage;
20213
- const res = yield util.project_list(params);
20214
- data2.options = res.data.list.map((item) => ({
20215
- text: `${item.projectCode}/${item.name}`,
20216
- value: item.id
20217
- }));
20218
- });
20219
- return (_ctx, _cache) => {
20220
- const _component_van_dropdown_item = vue.resolveComponent("van-dropdown-item");
20221
- return vue.openBlock(), vue.createBlock(_component_van_dropdown_item, {
20222
- modelValue: vue.unref(modelValue),
20223
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.isRef(modelValue) ? modelValue.value = $event : null),
20224
- options: vue.unref(totalOptions)
20225
- }, null, 8, ["modelValue", "options"]);
20226
- };
20227
- }
20228
- };
20229
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}")();
20230
- const _sfc_main$5 = {
19942
+ const _sfc_main$6 = {
20231
19943
  __name: "Switch",
20232
19944
  props: {
20233
19945
  modelValue: {
@@ -20295,9 +20007,9 @@ var __async = (__this, __arguments, generator) => {
20295
20007
  };
20296
20008
  }
20297
20009
  };
20298
- 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"]]);
20299
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}")();
20300
- const _hoisted_1$2 = {
20012
+ const _hoisted_1$3 = {
20301
20013
  key: 0,
20302
20014
  class: "actionbar"
20303
20015
  };
@@ -20305,7 +20017,7 @@ var __async = (__this, __arguments, generator) => {
20305
20017
  key: 0,
20306
20018
  class: "actionbar"
20307
20019
  };
20308
- const _sfc_main$4 = {
20020
+ const _sfc_main$5 = {
20309
20021
  __name: "Sheet",
20310
20022
  props: {
20311
20023
  modelValue: {
@@ -20369,7 +20081,7 @@ var __async = (__this, __arguments, generator) => {
20369
20081
  required: vue.unref(isRequired),
20370
20082
  placeholder: props.placeholder
20371
20083
  }, {
20372
- 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, {
20373
20085
  icon: "plus",
20374
20086
  type: "primary",
20375
20087
  size: "mini",
@@ -20398,9 +20110,9 @@ var __async = (__this, __arguments, generator) => {
20398
20110
  };
20399
20111
  }
20400
20112
  };
20401
- 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"]]);
20402
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")();
20403
- const _sfc_main$3 = {
20115
+ const _sfc_main$4 = {
20404
20116
  __name: "TreePop",
20405
20117
  props: {
20406
20118
  show: {
@@ -20449,12 +20161,12 @@ var __async = (__this, __arguments, generator) => {
20449
20161
  };
20450
20162
  }
20451
20163
  };
20452
- 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"]]);
20453
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")();
20454
- const _hoisted_1$1 = {
20166
+ const _hoisted_1$2 = {
20455
20167
  class: "select-list"
20456
20168
  };
20457
- const _sfc_main$2 = {
20169
+ const _sfc_main$3 = {
20458
20170
  __name: "TreePicker",
20459
20171
  props: {
20460
20172
  modelValue: {
@@ -20548,7 +20260,7 @@ var __async = (__this, __arguments, generator) => {
20548
20260
  onClick: _cache[0] || (_cache[0] = ($event) => data2.isShowPop = !vue.unref(isReadonly)),
20549
20261
  "label-class": "label"
20550
20262
  }, {
20551
- 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) => {
20552
20264
  return vue.openBlock(), vue.createBlock(_component_van_tag, {
20553
20265
  class: "select-item",
20554
20266
  closeable: !vue.unref(isDisabled),
@@ -20572,9 +20284,9 @@ var __async = (__this, __arguments, generator) => {
20572
20284
  };
20573
20285
  }
20574
20286
  };
20575
- var TreePicker = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-6744b874"]]);
20576
- var CascaderPop_vue_vue_type_style_index_0_scoped_true_lang = /* @__PURE__ */ (() => "\n.cascader-pop[data-v-b85d16dc] {\r\n width: 100%;\r\n overflow: hidden;\n}\n.cascader-selector[data-v-b85d16dc] {\r\n padding: 10px;\n}\n.search-buttons[data-v-b85d16dc] {\r\n display: flex;\r\n gap: 10px;\n}\n.clear-btn[data-v-b85d16dc] {\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-b85d16dc] {\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-b85d16dc] {\r\n text-align: center;\r\n padding: 20px;\r\n color: #969799;\n}\n.cascader-header[data-v-b85d16dc] {\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-b85d16dc] {\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-b85d16dc] {\r\n display: flex;\r\n gap: 8px;\r\n margin-left: auto;\n}\n.cancel-btn[data-v-b85d16dc] {\r\n color: #969799;\r\n margin-right: 5px;\n}\n.scroll-container[data-v-b85d16dc] {\r\n height: calc(80vh - 150px);\r\n overflow-y: auto;\n}\n.cell-content[data-v-b85d16dc] {\r\n display: flex;\r\n align-items: center;\r\n gap: 12px;\n}\n.circle-selector[data-v-b85d16dc] {\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-b85d16dc] {\r\n background-color: #1989fa;\r\n border-color: #1989fa;\n}\n.circle-selector.selected .van-icon[data-v-b85d16dc] {\r\n color: white;\r\n font-size: 14px;\n}\n.van-cell__right-icon[data-v-b85d16dc] {\r\n color: #969799;\r\n font-size: 16px;\r\n margin-left: 8px;\n}\n.name[data-v-b85d16dc] {\r\n flex: 1;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\n}\n.cancel-btn[data-v-b85d16dc] {\r\n color: #969799;\n}\n.search-field[data-v-b85d16dc] {\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")();
20577
- const _hoisted_1 = {
20287
+ var TreePicker = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-6744b874"]]);
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")();
20289
+ const _hoisted_1$1 = {
20578
20290
  class: "cascader-selector"
20579
20291
  };
20580
20292
  const _hoisted_2 = {
@@ -20601,7 +20313,7 @@ var __async = (__this, __arguments, generator) => {
20601
20313
  const _hoisted_11 = {
20602
20314
  class: "name"
20603
20315
  };
20604
- const _sfc_main$1 = {
20316
+ const _sfc_main$2 = {
20605
20317
  __name: "CascaderPop",
20606
20318
  props: {
20607
20319
  modelValue: {
@@ -20637,15 +20349,12 @@ var __async = (__this, __arguments, generator) => {
20637
20349
  const data2 = vue.reactive({
20638
20350
  totalNodes: [],
20639
20351
  keyword: "",
20640
- searchNodes: [],
20641
20352
  currentNode: null,
20642
20353
  selectedNodeId: ""
20643
20354
  });
20644
20355
  const optionNodes = vue.computed(() => {
20645
20356
  var _a;
20646
- if (data2.keyword)
20647
- return data2.searchNodes;
20648
- else if (data2.currentNode)
20357
+ if (data2.currentNode)
20649
20358
  return ((_a = data2.currentNode) == null ? void 0 : _a.children) ? data2.currentNode.children : [];
20650
20359
  else
20651
20360
  return data2.totalNodes ? data2.totalNodes : [];
@@ -20671,7 +20380,8 @@ var __async = (__this, __arguments, generator) => {
20671
20380
  keyword: data2.keyword,
20672
20381
  parentId: ""
20673
20382
  }, (nodes) => {
20674
- data2.searchNodes = nodes;
20383
+ data2.totalNodes = nodes;
20384
+ data2.currentNode = null;
20675
20385
  });
20676
20386
  });
20677
20387
  const onBack = () => {
@@ -20682,7 +20392,6 @@ var __async = (__this, __arguments, generator) => {
20682
20392
  };
20683
20393
  const onClear = () => {
20684
20394
  data2.keyword = "";
20685
- data2.searchNodes = [];
20686
20395
  };
20687
20396
  const reset = () => {
20688
20397
  data2.currentNode = null;
@@ -20745,7 +20454,7 @@ var __async = (__this, __arguments, generator) => {
20745
20454
  position: "bottom",
20746
20455
  class: "cascader-pop"
20747
20456
  }, {
20748
- 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, {
20749
20458
  onClick: onBack,
20750
20459
  icon: "arrow-left",
20751
20460
  size: "small"
@@ -20812,8 +20521,8 @@ var __async = (__this, __arguments, generator) => {
20812
20521
  };
20813
20522
  }
20814
20523
  };
20815
- var CascaderPop = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-b85d16dc"]]);
20816
- const _sfc_main = {
20524
+ var CascaderPop = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-e8f93d5a"]]);
20525
+ const _sfc_main$1 = {
20817
20526
  __name: "CascaderPicker",
20818
20527
  props: {
20819
20528
  modelValue: {
@@ -20875,6 +20584,7 @@ var __async = (__this, __arguments, generator) => {
20875
20584
  });
20876
20585
  const onSelect = (node) => {
20877
20586
  data2.selectedNode = node;
20587
+ emit("select", data2.selectedNode);
20878
20588
  };
20879
20589
  const onDelete = () => {
20880
20590
  data2.selectedNode = {};
@@ -20935,6 +20645,112 @@ var __async = (__this, __arguments, generator) => {
20935
20645
  };
20936
20646
  }
20937
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"]]);
20938
20754
  const secret_notify = () => {
20939
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 });
20940
20756
  };
@@ -20961,7 +20777,7 @@ var __async = (__this, __arguments, generator) => {
20961
20777
  },
20962
20778
  {
20963
20779
  name: "WidgetQwDatetimePicker",
20964
- widget: _sfc_main$p
20780
+ widget: _sfc_main$n
20965
20781
  },
20966
20782
  {
20967
20783
  name: "WidgetQwDataSelector",
@@ -20971,10 +20787,6 @@ var __async = (__this, __arguments, generator) => {
20971
20787
  name: "WidgetQwMultListSelector",
20972
20788
  widget: MultListSelector
20973
20789
  },
20974
- {
20975
- name: "WidgetQwProductSelector",
20976
- widget: ProductSelector
20977
- },
20978
20790
  {
20979
20791
  name: "WidgetQwSubdepartmentSelector",
20980
20792
  widget: SubdepartmentSelector
@@ -21011,10 +20823,6 @@ var __async = (__this, __arguments, generator) => {
21011
20823
  name: "WidgetQwUserPicker",
21012
20824
  widget: UserPicker
21013
20825
  },
21014
- {
21015
- name: "WidgetQwProjectPicker",
21016
- widget: ProjectPicker
21017
- },
21018
20826
  {
21019
20827
  name: "WidgetQwUserProfile",
21020
20828
  widget: UserProfile
@@ -21031,10 +20839,6 @@ var __async = (__this, __arguments, generator) => {
21031
20839
  name: "WidgetQwDayDropdown",
21032
20840
  widget: _sfc_main$7
21033
20841
  },
21034
- {
21035
- name: "WidgetQwProjectDropdown",
21036
- widget: _sfc_main$6
21037
- },
21038
20842
  {
21039
20843
  name: "WidgetQwSwitch",
21040
20844
  widget: Switch
@@ -21053,7 +20857,11 @@ var __async = (__this, __arguments, generator) => {
21053
20857
  },
21054
20858
  {
21055
20859
  name: "WidgetQwCascaderPicker",
21056
- widget: _sfc_main
20860
+ widget: _sfc_main$1
20861
+ },
20862
+ {
20863
+ name: "WidgetQwSingleApiPicker",
20864
+ widget: SingleApiPicker
21057
20865
  }
21058
20866
  ];
21059
20867
  const WidgetQw = {