@deppon/deppon-template 2.4.1 → 2.4.3

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.
@@ -13,25 +13,21 @@ var _hoisted_1 = {
13
13
  "class": "field-tag-input-readonly"
14
14
  };
15
15
  var _hoisted_2 = {
16
- key: 1,
17
- "class": "field-tag-input"
18
- };
19
- var _hoisted_3 = {
20
16
  "class": "tag-input-input-wrap"
21
17
  };
22
- var _hoisted_4 = {
18
+ var _hoisted_3 = {
23
19
  key: 0,
24
20
  "class": "tag-input-tip-wrap"
25
21
  };
26
- var _hoisted_5 = {
22
+ var _hoisted_4 = {
27
23
  key: 0,
28
24
  "class": "tag-input-add-error"
29
25
  };
30
- var _hoisted_6 = {
26
+ var _hoisted_5 = {
31
27
  key: 1,
32
28
  "class": "tag-input-list-row"
33
29
  };
34
- var _hoisted_7 = {
30
+ var _hoisted_6 = {
35
31
  key: 0,
36
32
  "class": "tag-input-list-label"
37
33
  };
@@ -63,12 +59,14 @@ var script = {
63
59
  var __emit = _ref.emit;
64
60
  var props = __props;
65
61
  var emit = __emit;
62
+ var rootRef = ref(null);
66
63
  var inputRef = ref(null);
67
64
  var inputValue = ref('');
68
65
  var addLoading = ref(false);
69
66
  var removingIndex = ref(-1);
70
67
  /** 添加时校验失败的错误信息,在输入框下方展示 */
71
68
  var addError = ref('');
69
+ var inFormItem = ref(false);
72
70
  var readonlyRef = ref(null);
73
71
  var readonlyOverflow = ref(false);
74
72
  var tipRef = ref(null);
@@ -103,6 +101,10 @@ var script = {
103
101
  });
104
102
  onMounted(function () {
105
103
  nextTick(runOverflowChecks);
104
+ var rootEl = rootRef.value;
105
+ if (rootEl && typeof rootEl.closest === 'function') {
106
+ inFormItem.value = !!rootEl.closest('.el-form-item');
107
+ }
106
108
  window.addEventListener('resize', runOverflowChecks);
107
109
  });
108
110
  onUnmounted(function () {
@@ -156,6 +158,11 @@ var script = {
156
158
  var _props$fieldProps0;
157
159
  return ((_props$fieldProps0 = props.fieldProps) === null || _props$fieldProps0 === void 0 ? void 0 : _props$fieldProps0.disabled) === true;
158
160
  });
161
+ /** 在 el-form-item 内时,空输入提示优先复用外层错误区,避免双重提示 */
162
+ var useFormItemRequiredError = computed(function () {
163
+ var _props$fieldProps1;
164
+ return ((_props$fieldProps1 = props.fieldProps) === null || _props$fieldProps1 === void 0 ? void 0 : _props$fieldProps1.useFormItemRequiredError) !== false;
165
+ });
159
166
  var tagList = computed(function () {
160
167
  var val = props.text;
161
168
  if (Array.isArray(val)) return val;
@@ -171,9 +178,8 @@ var script = {
171
178
  var trimmed = (value || '').trim();
172
179
  var rules = addRules.value;
173
180
  if (!rules.length) {
174
- // 未显式配置添加校验规则时,空输入仅拦截,不展示内部错误,
175
- // 避免与外层 el-form-item 的必填提示重复显示。
176
- if (!trimmed) return '';
181
+ // 未配置规则时,至少保证空输入有基础提示。
182
+ if (!trimmed) return '请输入';
177
183
  return '';
178
184
  }
179
185
  var _iterator = _createForOfIteratorHelper(rules),
@@ -214,7 +220,7 @@ var script = {
214
220
  }
215
221
  function _addItem() {
216
222
  _addItem = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
217
- var _inputValue$value, _props$fieldProps1;
223
+ var _inputValue$value, _props$fieldProps10;
218
224
  var raw, name, list, err, onAdd, result, nextList;
219
225
  return _regeneratorRuntime.wrap(function (_context) {
220
226
  while (1) switch (_context.prev = _context.next) {
@@ -230,40 +236,46 @@ var script = {
230
236
  name = raw.trim();
231
237
  list = _toConsumableArray(tagList.value);
232
238
  if (name) {
233
- _context.next = 2;
239
+ _context.next = 3;
234
240
  break;
235
241
  }
236
- // 空值不允许加入;未配置 addRules 时静默拦截,避免与外层必填提示重复。
237
- if (addRules.value.length) {
238
- addError.value = validateAddInput(raw, list);
242
+ if (!(useFormItemRequiredError.value && inFormItem.value)) {
243
+ _context.next = 2;
244
+ break;
239
245
  }
246
+ // 主动触发一次 update:text,让外层 ProForm 执行 validateField 并展示 el-form-item 错误。
247
+ emit('update:text', list);
240
248
  return _context.abrupt("return");
241
249
  case 2:
250
+ // 非表单场景保留组件内提示。
251
+ addError.value = validateAddInput(raw, list);
252
+ return _context.abrupt("return");
253
+ case 3:
242
254
  err = validateAddInput(raw, list);
243
255
  if (!err) {
244
- _context.next = 3;
256
+ _context.next = 4;
245
257
  break;
246
258
  }
247
259
  addError.value = err;
248
260
  return _context.abrupt("return");
249
- case 3:
261
+ case 4:
250
262
  if (!(list.length >= maxCount.value)) {
251
- _context.next = 4;
263
+ _context.next = 5;
252
264
  break;
253
265
  }
254
266
  addError.value = "\u6700\u591A\u6DFB\u52A0".concat(maxCount.value, "\u4E2A");
255
267
  return _context.abrupt("return");
256
- case 4:
257
- onAdd = (_props$fieldProps1 = props.fieldProps) === null || _props$fieldProps1 === void 0 ? void 0 : _props$fieldProps1.onAdd;
268
+ case 5:
269
+ onAdd = (_props$fieldProps10 = props.fieldProps) === null || _props$fieldProps10 === void 0 ? void 0 : _props$fieldProps10.onAdd;
258
270
  if (!(typeof onAdd === 'function')) {
259
- _context.next = 10;
271
+ _context.next = 11;
260
272
  break;
261
273
  }
262
274
  addLoading.value = true;
263
- _context.prev = 5;
264
- _context.next = 6;
275
+ _context.prev = 6;
276
+ _context.next = 7;
265
277
  return Promise.resolve(onAdd(name, list));
266
- case 6:
278
+ case 7:
267
279
  result = _context.sent;
268
280
  if (Array.isArray(result)) {
269
281
  emit('update:text', result);
@@ -283,18 +295,18 @@ var script = {
283
295
  return (_inputRef$value2 = inputRef.value) === null || _inputRef$value2 === void 0 || (_inputRef$value2$focu = _inputRef$value2.focus) === null || _inputRef$value2$focu === void 0 ? void 0 : _inputRef$value2$focu.call(_inputRef$value2);
284
296
  });
285
297
  }
286
- _context.next = 8;
298
+ _context.next = 9;
287
299
  break;
288
- case 7:
289
- _context.prev = 7;
290
- _context["catch"](5);
291
300
  case 8:
292
301
  _context.prev = 8;
293
- addLoading.value = false;
294
- return _context.finish(8);
302
+ _context["catch"](6);
295
303
  case 9:
296
- return _context.abrupt("return");
304
+ _context.prev = 9;
305
+ addLoading.value = false;
306
+ return _context.finish(9);
297
307
  case 10:
308
+ return _context.abrupt("return");
309
+ case 11:
298
310
  list.push(name);
299
311
  emit('update:text', list);
300
312
  inputValue.value = '';
@@ -303,11 +315,11 @@ var script = {
303
315
  var _inputRef$value3, _inputRef$value3$focu;
304
316
  return (_inputRef$value3 = inputRef.value) === null || _inputRef$value3 === void 0 || (_inputRef$value3$focu = _inputRef$value3.focus) === null || _inputRef$value3$focu === void 0 ? void 0 : _inputRef$value3$focu.call(_inputRef$value3);
305
317
  });
306
- case 11:
318
+ case 12:
307
319
  case "end":
308
320
  return _context.stop();
309
321
  }
310
- }, _callee, null, [[5, 7, 8, 9]]);
322
+ }, _callee, null, [[6, 8, 9, 10]]);
311
323
  }));
312
324
  return _addItem.apply(this, arguments);
313
325
  }
@@ -316,7 +328,7 @@ var script = {
316
328
  }
317
329
  function _removeItem() {
318
330
  _removeItem = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(index) {
319
- var _props$fieldProps10;
331
+ var _props$fieldProps11;
320
332
  var list, name, onRemove, result, nextList;
321
333
  return _regeneratorRuntime.wrap(function (_context2) {
322
334
  while (1) switch (_context2.prev = _context2.next) {
@@ -335,7 +347,7 @@ var script = {
335
347
  }
336
348
  return _context2.abrupt("return");
337
349
  case 2:
338
- onRemove = (_props$fieldProps10 = props.fieldProps) === null || _props$fieldProps10 === void 0 ? void 0 : _props$fieldProps10.onRemove;
350
+ onRemove = (_props$fieldProps11 = props.fieldProps) === null || _props$fieldProps11 === void 0 ? void 0 : _props$fieldProps11.onRemove;
339
351
  if (!(typeof onRemove === 'function')) {
340
352
  _context2.next = 8;
341
353
  break;
@@ -390,11 +402,16 @@ var script = {
390
402
  }, toDisplayString(displayText.value), 513 /* TEXT, NEED_PATCH */)];
391
403
  }),
392
404
  _: 1 /* STABLE */
393
- }, 8 /* PROPS */, ["content", "disabled"])])) : __props.mode === 'edit' || __props.mode === 'update' ? (openBlock(), createElementBlock("div", _hoisted_2, [createCommentVNode(" 输入 + 添加 区域 "), createElementVNode("div", {
405
+ }, 8 /* PROPS */, ["content", "disabled"])])) : __props.mode === 'edit' || __props.mode === 'update' ? (openBlock(), createElementBlock("div", {
406
+ key: 1,
407
+ ref_key: "rootRef",
408
+ ref: rootRef,
409
+ "class": "field-tag-input"
410
+ }, [createCommentVNode(" 输入 + 添加 区域 "), createElementVNode("div", {
394
411
  "class": normalizeClass(["tag-input-input-row", {
395
412
  'has-error': addError.value
396
413
  }])
397
- }, [createElementVNode("div", _hoisted_3, [createVNode(unref(ElInput), {
414
+ }, [createElementVNode("div", _hoisted_2, [createVNode(unref(ElInput), {
398
415
  ref_key: "inputRef",
399
416
  ref: inputRef,
400
417
  modelValue: inputValue.value,
@@ -435,7 +452,7 @@ var script = {
435
452
  }, 8 /* PROPS */, ["loading", "disabled"]))];
436
453
  }),
437
454
  _: 3 /* FORWARDED */
438
- }, 8 /* PROPS */, ["modelValue", "placeholder", "disabled"])]), tip.value ? (openBlock(), createElementBlock("div", _hoisted_4, [createVNode(unref(ElTooltip), {
455
+ }, 8 /* PROPS */, ["modelValue", "placeholder", "disabled"])]), tip.value ? (openBlock(), createElementBlock("div", _hoisted_3, [createVNode(unref(ElTooltip), {
439
456
  content: tip.value,
440
457
  placement: "top",
441
458
  disabled: !tipOverflow.value
@@ -448,7 +465,7 @@ var script = {
448
465
  }, toDisplayString(tip.value), 513 /* TEXT, NEED_PATCH */)];
449
466
  }),
450
467
  _: 1 /* STABLE */
451
- }, 8 /* PROPS */, ["content", "disabled"])])) : createCommentVNode("v-if", true)], 2 /* CLASS */), addError.value ? (openBlock(), createElementBlock("div", _hoisted_5, toDisplayString(addError.value), 1 /* TEXT */)) : createCommentVNode("v-if", true), createCommentVNode(" 标签列表:有数据时才显示 "), tagList.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_6, [listLabel.value ? (openBlock(), createElementBlock("div", _hoisted_7, toDisplayString(listLabel.value) + "(" + toDisplayString(tagList.value.length) + "/" + toDisplayString(maxCount.value) + ") ", 1 /* TEXT */)) : createCommentVNode("v-if", true), createElementVNode("div", {
468
+ }, 8 /* PROPS */, ["content", "disabled"])])) : createCommentVNode("v-if", true)], 2 /* CLASS */), addError.value ? (openBlock(), createElementBlock("div", _hoisted_4, toDisplayString(addError.value), 1 /* TEXT */)) : createCommentVNode("v-if", true), createCommentVNode(" 标签列表:有数据时才显示 "), tagList.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_5, [listLabel.value ? (openBlock(), createElementBlock("div", _hoisted_6, toDisplayString(listLabel.value) + "(" + toDisplayString(tagList.value.length) + "/" + toDisplayString(maxCount.value) + ") ", 1 /* TEXT */)) : createCommentVNode("v-if", true), createElementVNode("div", {
452
469
  "class": normalizeClass(["tag-input-list-content", {
453
470
  'is-removing': removingIndex.value >= 0
454
471
  }])
@@ -477,7 +494,7 @@ var script = {
477
494
  }), 128 /* KEYED_FRAGMENT */))];
478
495
  }),
479
496
  _: 1 /* STABLE */
480
- })], 2 /* CLASS */)])) : createCommentVNode("v-if", true)])) : createCommentVNode("v-if", true);
497
+ })], 2 /* CLASS */)])) : createCommentVNode("v-if", true)], 512 /* NEED_PATCH */)) : createCommentVNode("v-if", true);
481
498
  };
482
499
  }
483
500
  };
@@ -1166,9 +1166,9 @@ body .el-overlay-dialog,
1166
1166
  width: 100%;
1167
1167
  height: 100%;
1168
1168
  overflow: hidden;
1169
+ background: radial-gradient(circle at 8% 10%, rgba(64, 158, 255, 0.08), transparent 44%), radial-gradient(circle at 88% 0%, rgba(99, 102, 241, 0.08), transparent 38%), linear-gradient(180deg, #f6f9ff 0%, #f4f7fd 100%);
1169
1170
  /* 覆盖 Element Plus 按钮样式,确保优先级 */
1170
1171
  /* 防止 header-right 插槽内容挤压操作按钮 */
1171
- /* 限制 header-right 插槽内容,防止挤压按钮 */
1172
1172
  }
1173
1173
  .pro-layout__sider {
1174
1174
  display: flex;
@@ -1509,11 +1509,13 @@ body .el-overlay-dialog,
1509
1509
  }
1510
1510
  .pro-layout__header {
1511
1511
  padding: 0 !important;
1512
- background-color: var(--el-bg-color, #ffffff) !important;
1512
+ background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(247, 251, 255, 0.92)) !important;
1513
+ backdrop-filter: blur(10px);
1513
1514
  position: relative;
1514
1515
  z-index: 100;
1515
1516
  width: 100vw;
1516
- border-bottom: 1px solid var(--el-border-color-lighter, #f5f5f5) !important;
1517
+ border-bottom: 1px solid rgba(39, 82, 173, 0.08) !important;
1518
+ box-shadow: 0 8px 24px rgba(31, 56, 104, 0.06);
1517
1519
  /* 覆盖 Element Plus 默认的按钮间距 */
1518
1520
  }
1519
1521
  .pro-layout__header--fixed {
@@ -1522,12 +1524,14 @@ body .el-overlay-dialog,
1522
1524
  left: 0;
1523
1525
  right: 0;
1524
1526
  z-index: 1000;
1525
- border-bottom: 1px solid var(--el-border-color-lighter, #f5f5f5) !important;
1527
+ border-bottom: 1px solid rgba(39, 82, 173, 0.08) !important;
1528
+ box-shadow: 0 8px 24px rgba(31, 56, 104, 0.06);
1526
1529
  }
1527
1530
  .pro-layout__header-content {
1528
1531
  display: flex;
1529
1532
  align-items: center;
1530
- justify-content: space-between;
1533
+ justify-content: flex-start;
1534
+ gap: 8px;
1531
1535
  height: 100%;
1532
1536
  width: 100%;
1533
1537
  }
@@ -1567,6 +1571,7 @@ body .el-overlay-dialog,
1567
1571
  gap: 12px;
1568
1572
  padding: 0 16px;
1569
1573
  flex-shrink: 0;
1574
+ margin-left: auto;
1570
1575
  }
1571
1576
  .pro-layout__header-search {
1572
1577
  width: 180px;
@@ -1634,26 +1639,49 @@ body .el-overlay-dialog,
1634
1639
  font-size: 14px;
1635
1640
  color: var(--el-text-color-secondary, #909399) !important;
1636
1641
  }
1637
- .pro-layout .pro-layout__header-right {
1638
- /* 确保操作按钮不会被压缩 */
1639
- }
1640
1642
  .pro-layout .pro-layout__header-right .pro-layout__header-action-btn {
1641
1643
  flex-shrink: 0 !important;
1642
1644
  min-width: 32px !important;
1643
1645
  width: 32px !important;
1644
1646
  height: 32px !important;
1645
1647
  }
1646
- .pro-layout .pro-layout__header .pro-layout__header-right {
1647
- /* 确保 header-right 插槽内容不会占用过多空间 */
1648
- }
1649
- .pro-layout .pro-layout__header .pro-layout__header-right > div:first-child {
1648
+ .pro-layout .pro-layout__header-right .pro-layout__header-search {
1650
1649
  flex-shrink: 1;
1651
1650
  min-width: 0;
1652
- max-width: 150px;
1653
- /* 限制最大宽度 */
1654
- overflow: hidden;
1655
- text-overflow: ellipsis;
1656
- white-space: nowrap;
1651
+ max-width: 220px;
1652
+ }
1653
+ .pro-layout .pro-layout__header-right .pro-layout__header-user-name {
1654
+ flex-shrink: 0;
1655
+ max-width: none;
1656
+ }
1657
+ .pro-layout__top-menu {
1658
+ flex: 1;
1659
+ min-width: 0;
1660
+ padding: 0 6px;
1661
+ }
1662
+ .pro-layout__top-menu .pro-layout__top-menu-el {
1663
+ background: transparent !important;
1664
+ border-bottom: none !important;
1665
+ }
1666
+ .pro-layout__top-menu .el-menu-item {
1667
+ height: 38px !important;
1668
+ margin: 8px 6px !important;
1669
+ border-radius: 10px !important;
1670
+ border-bottom: none !important;
1671
+ color: #4a5b76 !important;
1672
+ transition: all 0.2s ease !important;
1673
+ }
1674
+ .pro-layout__top-menu .el-menu-item:hover {
1675
+ color: #1f6bff !important;
1676
+ background: rgba(64, 158, 255, 0.09) !important;
1677
+ }
1678
+ .pro-layout__top-menu .el-menu-item.is-active {
1679
+ background: linear-gradient(135deg, rgba(57, 124, 255, 0.18), rgba(108, 74, 255, 0.15)) !important;
1680
+ box-shadow: 0 8px 20px rgba(56, 108, 255, 0.16);
1681
+ }
1682
+ .pro-layout__top-menu .el-menu-item.is-active .pro-layout__top-menu-item-label {
1683
+ color: #1651d7 !important;
1684
+ font-weight: 700;
1657
1685
  }
1658
1686
  .pro-layout__breadcrumb {
1659
1687
  display: flex;
@@ -1713,64 +1741,121 @@ body .el-overlay-dialog,
1713
1741
  .pro-layout__tags-view {
1714
1742
  flex-shrink: 0;
1715
1743
  height: auto !important;
1716
- min-height: 40px !important;
1717
- background-color: var(--el-bg-color, #ffffff) !important;
1718
- border-bottom: 1px solid var(--el-border-color-light, #ebeef5) !important;
1744
+ min-height: 48px !important;
1745
+ background: transparent !important;
1746
+ border-bottom: none !important;
1719
1747
  overflow: visible;
1720
1748
  }
1721
1749
  .pro-layout__tags-menu {
1722
- height: 100%;
1723
- border-bottom: none;
1724
- background-color: transparent;
1725
- /* 修复 tags-menu 高度问题,不影响宽度 */
1750
+ display: flex !important;
1751
+ align-items: center;
1752
+ flex-wrap: nowrap !important;
1753
+ overflow-x: auto !important;
1754
+ overflow-y: hidden !important;
1755
+ min-height: 48px;
1756
+ padding: 6px 12px !important;
1757
+ margin: 8px 14px 6px;
1758
+ border-radius: 12px;
1759
+ border: none !important;
1760
+ outline: none;
1761
+ background: transparent !important;
1762
+ box-shadow: none;
1763
+ height: auto !important;
1726
1764
  }
1727
1765
  .pro-layout__tags-menu.el-menu.el-menu--horizontal {
1728
- height: 40px !important;
1729
- line-height: 40px !important;
1766
+ height: auto !important;
1767
+ line-height: normal !important;
1768
+ border-bottom: none !important;
1730
1769
  }
1731
1770
  .pro-layout__tags-menu .el-menu-item {
1732
- height: 100%;
1733
- line-height: normal !important;
1734
- padding: 6px 12px;
1735
- margin: 0;
1736
- border-bottom: none;
1737
- background-color: transparent;
1738
- border-radius: 4px;
1771
+ flex: 0 0 auto;
1772
+ height: 34px !important;
1773
+ line-height: 34px !important;
1774
+ margin-right: 8px !important;
1775
+ margin-top: 0;
1776
+ margin-bottom: 0;
1777
+ padding: 0 12px !important;
1778
+ border-radius: 8px !important;
1779
+ border: none !important;
1780
+ border-bottom: none !important;
1781
+ background: transparent !important;
1782
+ transition: all 0.2s ease;
1739
1783
  position: relative;
1740
- flex-shrink: 0;
1741
- transition: all 0.3s;
1742
1784
  cursor: pointer;
1743
1785
  display: flex;
1744
1786
  align-items: center;
1745
1787
  }
1746
1788
  .pro-layout__tags-menu .el-menu-item:not(:last-child):not(.is-active)::after {
1747
- content: '';
1748
- position: absolute;
1749
- right: -4px;
1750
- top: 50%;
1751
- transform: translateY(-50%);
1752
- width: 1px;
1753
- height: 16px;
1754
- background-color: var(--el-border-color-lighter, #f0f0f0) !important;
1789
+ display: none;
1755
1790
  }
1756
1791
  .pro-layout__tags-menu .el-menu-item:hover {
1757
- background-color: var(--el-fill-color-light, #f5f7fa) !important;
1792
+ background: rgba(78, 138, 255, 0.1) !important;
1758
1793
  }
1759
1794
  .pro-layout__tags-menu .el-menu-item.is-active {
1760
- background-color: var(--el-fill-color-light, #f5f7fa) !important;
1761
- color: var(--el-color-primary, #409eff) !important;
1762
- border-top-left-radius: 15px;
1763
- border-top-right-radius: 15px;
1795
+ border: none !important;
1796
+ background: linear-gradient(135deg, #ffffff, #f3f8ff) !important;
1797
+ box-shadow: 0 4px 12px rgba(59, 98, 186, 0.16);
1764
1798
  border-bottom: none !important;
1765
- position: relative;
1766
1799
  overflow: visible;
1767
1800
  }
1768
- .pro-layout__tags-menu .el-menu-item.is-active .el-menu-item__title,
1801
+ .pro-layout__tags-menu .pro-layout__tag-label {
1802
+ color: #46556f;
1803
+ font-size: 12px;
1804
+ font-weight: 500;
1805
+ text-decoration: none !important;
1806
+ }
1769
1807
  .pro-layout__tags-menu .el-menu-item.is-active .pro-layout__tag-label {
1770
- color: var(--el-color-primary, #409eff) !important;
1808
+ color: #2259d2 !important;
1809
+ font-weight: 600;
1771
1810
  }
1772
- .pro-layout__tags-menu .el-menu-item.is-active:not(:last-child)::after {
1773
- display: none;
1811
+ .pro-layout__tags-menu .pro-layout__tag-actions .pro-layout__tag-icon {
1812
+ color: #8a98b2;
1813
+ font-size: 12px;
1814
+ }
1815
+ .pro-layout__tags-menu .pro-layout__tag-item .pro-layout__tag-actions {
1816
+ display: inline-flex;
1817
+ align-items: center;
1818
+ gap: 2px;
1819
+ margin-left: 2px;
1820
+ }
1821
+ .pro-layout__tags-menu .pro-layout__tag-item .pro-layout__tag-icon {
1822
+ margin-left: 0 !important;
1823
+ padding: 0;
1824
+ }
1825
+ .pro-layout__tags-menu .pro-layout__tag-item:hover .pro-layout__tag-actions .pro-layout__tag-icon,
1826
+ .pro-layout__tags-menu .pro-layout__tag-actions .pro-layout__tag-icon:hover {
1827
+ color: #2b65f5 !important;
1828
+ }
1829
+ .pro-layout__tags-menu .fixed-home-tag-item {
1830
+ cursor: pointer;
1831
+ user-select: none;
1832
+ padding: 0 12px !important;
1833
+ background: linear-gradient(135deg, #eff5ff, #e8f1ff) !important;
1834
+ box-shadow: none !important;
1835
+ }
1836
+ .pro-layout__tags-menu .fixed-home-tag-item .fixed-home-tag-label {
1837
+ display: inline-flex;
1838
+ align-items: center;
1839
+ gap: 6px;
1840
+ color: #2e5ccf;
1841
+ font-weight: 600;
1842
+ }
1843
+ .pro-layout__tags-menu .fixed-home-tag-item .fixed-home-tag-icon {
1844
+ font-style: normal;
1845
+ font-size: 14px;
1846
+ line-height: 1;
1847
+ }
1848
+ .pro-layout__tags-menu .fixed-home-tag-item .pro-layout__tag-actions {
1849
+ display: none !important;
1850
+ }
1851
+ .pro-layout__tags-menu > .el-sub-menu {
1852
+ margin-left: auto !important;
1853
+ position: sticky;
1854
+ right: 0;
1855
+ z-index: 2;
1856
+ border-radius: 10px;
1857
+ background: linear-gradient(90deg, rgba(249, 252, 255, 0.92), rgba(245, 249, 255, 0.96));
1858
+ box-shadow: -10px 0 14px -12px rgba(27, 56, 106, 0.32);
1774
1859
  }
1775
1860
  .pro-layout__tag-item {
1776
1861
  display: flex;
@@ -1851,7 +1936,7 @@ body .el-overlay-dialog,
1851
1936
  width: 100%;
1852
1937
  padding: 0 !important;
1853
1938
  margin: 0 !important;
1854
- background-color: var(--el-bg-color-page, #f8f8f8) !important;
1939
+ background: radial-gradient(circle at top left, #eef4ff 0%, #f7f9ff 45%, #fbfcff 100%) !important;
1855
1940
  box-sizing: border-box;
1856
1941
  display: flex;
1857
1942
  flex-direction: column;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deppon/deppon-template",
3
- "version": "2.4.1",
3
+ "version": "2.4.3",
4
4
  "main": "es/index.js",
5
5
  "module": "es/index.js",
6
6
  "typings": "es/index.d.ts",
@@ -43,11 +43,11 @@
43
43
  "less": "^4.2.0"
44
44
  },
45
45
  "dependencies": {
46
- "@deppon/deppon-assets": "2.4.1",
47
- "@deppon/deppon-request": "2.4.1",
48
- "@deppon/deppon-router": "2.4.1",
49
- "@deppon/deppon-ui": "2.4.1",
50
- "@deppon/deppon-utils": "2.4.1",
46
+ "@deppon/deppon-assets": "2.4.3",
47
+ "@deppon/deppon-request": "2.4.3",
48
+ "@deppon/deppon-router": "2.4.3",
49
+ "@deppon/deppon-ui": "2.4.3",
50
+ "@deppon/deppon-utils": "2.4.3",
51
51
  "dayjs": "^1.11.10",
52
52
  "lodash-es": "^4.17.21",
53
53
  "mitt": "^3.0.1"