imeik-bizui 2.8.1 → 2.8.2

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.
@@ -26,35 +26,37 @@
26
26
 
27
27
  <div v-if="!accountExists" class="pbo-account-tip">当前费用承担人该年度尚未建账</div>
28
28
 
29
- <div class="pbo-line2">
30
- <div class="pbo-line2__text">
31
- <span class="pbo-line2__label">本年累计使用(含本次)</span>
32
- <b class="pbo-money">{{ formatMoney(overview.usedAmount) }}</b>
33
- <span class="pbo-sep">/</span>
34
- <span class="pbo-line2__label">总预算</span>
35
- <b class="pbo-money">{{ formatMoney(overview.budgetAmount) }}</b>
29
+ <div class="pbo-metrics">
30
+ <div class="pbo-line2">
31
+ <div class="pbo-line2__text">
32
+ <span class="pbo-line2__label">本年累计使用(含本次)</span>
33
+ <b class="pbo-money">{{ formatMoney(overview.usedAmount) }}</b>
34
+ <span class="pbo-sep">/</span>
35
+ <span class="pbo-line2__label">总预算</span>
36
+ <b class="pbo-money">{{ formatMoney(overview.budgetAmount) }}</b>
37
+ </div>
36
38
  </div>
37
39
  <span :class="['pbo-chip', remainingChipDanger ? 'is-danger' : '']">
38
40
  剩余 {{ formatMoney(overview.remainingAmountWithCurrent) }}
39
41
  </span>
40
- </div>
41
42
 
42
- <div class="pbo-bar-row">
43
- <div class="pbo-bar-col">
44
- <div class="pbo-bar">
45
- <div class="pbo-bar__fill" :style="{ width: fillWidth + '%' }" />
46
- <div
47
- v-if="showWarnTick"
48
- class="pbo-bar__tick"
49
- :style="{ left: warnTickPercent + '%' }"
50
- :title="'预警值:' + formatMoney(warnAmount)"
51
- />
52
- </div>
53
- <div v-if="showWarnTick" class="pbo-scale">
54
- <span
55
- :class="['pbo-scale__sc', warnScaleClass]"
56
- :style="{ left: warnTickPercent + '%' }"
57
- >预警值:{{ formatMoney(warnAmount) }}</span>
43
+ <div class="pbo-bar-row">
44
+ <div class="pbo-bar-col">
45
+ <div class="pbo-bar">
46
+ <div class="pbo-bar__fill" :style="{ width: fillWidth + '%' }" />
47
+ <div
48
+ v-if="showWarnTick"
49
+ class="pbo-bar__tick"
50
+ :style="{ left: warnTickPercent + '%' }"
51
+ :title="'预警值:' + formatMoney(warnAmount)"
52
+ />
53
+ </div>
54
+ <div v-if="showWarnTick" class="pbo-scale">
55
+ <span
56
+ :class="['pbo-scale__sc', warnScaleClass]"
57
+ :style="{ left: warnTickPercent + '%' }"
58
+ >预警值:{{ formatMoney(warnAmount) }}</span>
59
+ </div>
58
60
  </div>
59
61
  </div>
60
62
  <span class="pbo-bar-label">{{ barLabel }}</span>
@@ -290,12 +292,20 @@ export default {
290
292
  color: #d46b08;
291
293
  word-break: break-word;
292
294
  }
293
- .pbo-line2 {
294
- display: flex;
295
+ .pbo-metrics {
296
+ display: grid;
297
+ grid-template-columns: minmax(0, 1fr) auto;
298
+ grid-template-rows: auto auto;
295
299
  align-items: center;
296
- flex-wrap: wrap;
297
- gap: 8px 12px;
300
+ column-gap: 16px;
301
+ row-gap: 14px;
298
302
  margin-top: 12px;
303
+ min-width: 0;
304
+ max-width: 100%;
305
+ }
306
+ .pbo-line2 {
307
+ grid-column: 1;
308
+ grid-row: 1;
299
309
  font-size: 13.5px;
300
310
  color: #1f2329;
301
311
  min-width: 0;
@@ -307,7 +317,6 @@ export default {
307
317
  align-items: baseline;
308
318
  gap: 4px 6px;
309
319
  min-width: 0;
310
- flex: 1 1 220px;
311
320
  line-height: 1.65;
312
321
  word-break: break-word;
313
322
  overflow-wrap: anywhere;
@@ -324,28 +333,28 @@ export default {
324
333
  color: #8f959e;
325
334
  }
326
335
  .pbo-chip {
336
+ grid-column: 2;
337
+ grid-row: 1;
338
+ justify-self: end;
339
+ align-self: start;
327
340
  font-size: 12px;
328
341
  font-weight: 600;
329
342
  padding: 3px 10px;
330
343
  border-radius: 12px;
331
344
  white-space: nowrap;
332
- flex-shrink: 0;
345
+ line-height: 1.4;
333
346
  }
334
347
  .is-pass .pbo-chip { background: #dcf5cf; color: #237804; }
335
348
  .is-warn .pbo-chip { background: #ffefc2; color: #d46b08; }
336
349
  .is-deny .pbo-chip { background: #ffd9d6; color: #cf1322; }
337
350
  .pbo-chip.is-danger { background: #ffd9d6; color: #cf1322; }
338
351
  .pbo-bar-row {
339
- display: flex;
340
- flex-wrap: wrap;
341
- align-items: center;
342
- gap: 8px 12px;
343
- margin-top: 14px;
352
+ grid-column: 1;
353
+ grid-row: 2;
344
354
  min-width: 0;
345
355
  max-width: 100%;
346
356
  }
347
357
  .pbo-bar-col {
348
- flex: 1 1 0;
349
358
  min-width: 0;
350
359
  }
351
360
  .pbo-bar {
@@ -388,11 +397,16 @@ export default {
388
397
  &.is-right { transform: translateX(-100%); margin-right: 6px; }
389
398
  }
390
399
  .pbo-bar-label {
391
- flex: 0 0 auto;
400
+ grid-column: 2;
401
+ grid-row: 2;
402
+ justify-self: end;
403
+ align-self: start;
392
404
  font-size: 12px;
393
405
  font-weight: 700;
394
406
  white-space: nowrap;
395
407
  line-height: 1.2;
408
+ /* 与 8px 进度条视觉居中 */
409
+ margin-top: -3px;
396
410
  }
397
411
  .is-pass .pbo-bar-label { color: #00b578; }
398
412
  .is-warn .pbo-bar-label { color: #ff8f1f; }
@@ -425,31 +439,34 @@ export default {
425
439
  margin-top: 4px;
426
440
  }
427
441
 
428
- .pbo-line2 {
442
+ .pbo-metrics {
443
+ grid-template-columns: minmax(0, 1fr);
444
+ grid-template-rows: auto;
429
445
  margin-top: 10px;
430
- gap: 8px;
446
+ row-gap: 8px;
447
+ column-gap: 0;
431
448
  }
432
449
 
433
- .pbo-line2__text {
434
- flex: 1 1 100%;
435
- font-size: 13px;
450
+ .pbo-line2,
451
+ .pbo-chip,
452
+ .pbo-bar-row,
453
+ .pbo-bar-label {
454
+ grid-column: 1;
455
+ grid-row: auto;
456
+ justify-self: stretch;
436
457
  }
437
458
 
438
459
  .pbo-chip {
439
- flex: 0 0 auto;
460
+ justify-self: start;
440
461
  }
441
462
 
442
- .pbo-bar-row {
443
- margin-top: 12px;
444
- }
445
-
446
- .pbo-bar-col {
447
- flex: 1 1 100%;
448
- width: 100%;
463
+ .pbo-bar-label {
464
+ justify-self: start;
465
+ margin-top: 0;
449
466
  }
450
467
 
451
- .pbo-bar-label {
452
- flex: 1 1 auto;
468
+ .pbo-line2__text {
469
+ font-size: 13px;
453
470
  }
454
471
 
455
472
  .pbo-scale__sc {