@use 'sass:math'; @function px2rpx($px) { @return $px * 1rpx; } :root { --main-bg: #fff; --card-bg: #222; --action-bg: #fff; --main-yellow: #ea002a; --lable: #454745; --main-yellow-dark: rgb(15 120 71); --white: #000; --gray: #aaa; --border: #868685; --black: #fff; --black1: #343434; --font-size-10: px2rpx(10); --font-size-12: px2rpx(12); --font-size-13: px2rpx(13); --font-size-14: px2rpx(14); --font-size-15: px2rpx(15); --font-size-16: px2rpx(16); --font-size-18: px2rpx(18); --font-size-20: px2rpx(20); --font-size-22: px2rpx(22); --font-size-24: px2rpx(24); --font-size-26: px2rpx(26); --font-size-28: px2rpx(28); --font-size-32: px2rpx(32); --font-size-36: px2rpx(36); --font-size-40: px2rpx(40); } body { min-height: 100vh; margin: 0 auto !important; font-size: px2rpx(12); line-height: 1; color: #000; background: #fff; } .body { position: absolute; box-sizing: border-box; width: 100%; // height: 100vh; // padding-bottom: var(--tabbar-height); height: 100vh; overflow-y: scroll; transition: all 0.4s; -webkit-overflow-scrolling: touch; &.is-tab { // height: calc(100vh - var(--tabbar-height)); } } .wrap { position: relative; width: 100%; height: 100vh; overflow: hidden; } .global-loading { position: fixed; top: 0; left: 0; z-index: 999; display: flex; align-items: center; justify-content: center; width: 100vw; height: 100vh; background: var(--main-bg); } .router-loading { position: fixed; top: 0; left: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; width: 100vw; height: 100vh; background: var(--main-bg); } .full-screen-loading { position: fixed; top: 0; left: 0; z-index: 1001; display: flex; align-items: center; justify-content: center; width: 100vw; height: 100vh; background: var(--main-bg); } .request-loading, .full-screen-loading { position: fixed; top: 50%; left: 50%; z-index: 1001; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: px2rpx(16) px2rpx(24); background: rgb(0, 0, 0, 0.88); backdrop-filter: blur(4px); box-shadow: 0 4px 12px rgb(0, 0, 0, 0.15); transform: translate(-50%, -50%); animation: fadeIn 0.2s ease-in-out; .van-loading { margin-bottom: px2rpx(8); } .loading-text { font-size: px2rpx(14); font-weight: 500; color: #fff; text-shadow: 0 px2rpx(1) px2rpx(2) rgb(0, 0, 0, 0.1); letter-spacing: px2rpx(0.5); } &::after { position: absolute; inset: px2rpx(-1); z-index: -1; content: ''; background: linear-gradient(45deg, rgb(255, 255, 255, 0.1), rgb(255, 255, 255, 0.05)); border-radius: px2rpx(12); } } .full-screen-loading { width: 100vw; height: 100vh; } @keyframes fadeIn { from { opacity: 0; transform: translate(-50%, -48%); } to { opacity: 1; transform: translate(-50%, -50%); } } .load-more { margin: px2rpx(10) 0; } /* 通用样式 */ .slide-left-enter, .slide-right-leave-active { opacity: 0; transform: translate(100%, 0); } .slide-left-leave-active, .slide-right-enter { opacity: 0; transform: translate(-100%, 0); } /* .fade-leave-active below version 2.1.8 */ .fade-enter-active, .fade-leave-active { transition: opacity 0.5s; } .fade-enter, .fade-leave-to { opacity: 0; } /* start--文本行数限制--start */ .u-line-1 { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .u-line-2 { -webkit-line-clamp: 2; } .u-line-3 { -webkit-line-clamp: 3; } .u-line-4 { -webkit-line-clamp: 4; } .u-line-5 { -webkit-line-clamp: 5; } .u-line-2, .u-line-3, .u-line-4, .u-line-5 { display: flex; overflow: hidden; text-overflow: ellipsis; word-break: break-all; -webkit-box-orient: vertical; // 设置伸缩盒子元素排列方式 } /* end--文本行数限制--end */ /* start--Retina 屏幕下的 1px 边框--start */ .u-border, .u-border-bottom, .u-border-left, .u-border-right, .u-border-top, .u-border-top-bottom { position: relative; } .u-border-bottom::after, .u-border-left::after, .u-border-right::after, .u-border-top-bottom::after, .u-border-top::after, .u-border::after { position: absolute; top: 0; left: 0; z-index: 2; box-sizing: border-box; // 多加0.1%,能解决有时候边框缺失的问题 width: 199.8%; height: 199.7%; pointer-events: none; content: ' '; border: 0 solid #e4e7ed; transform: scale(0.5, 0.5); transform-origin: 0 0; } .u-border-top::after { border-top-width: 1PX; } .u-border-left::after { border-left-width: 1PX; } .u-border-right::after { border-right-width: 1PX; } .u-border-bottom::after { border-bottom-width: 1PX; } .u-border-top-bottom::after { border-width: 1PX 0; } .u-border::after { border-width: 1PX; } .cwg-button { width: 100%; .u-button { height: px2rpx(44) !important; font-size: var(--font-size-16); font-weight: bold; color: var(--black); background: var(--main-yellow) !important; border: none !important; border-radius: px2rpx(100) !important; &:active { opacity: 0.9; } } } .fixed-btn { position: fixed; bottom: 0; left: 0; z-index: 1100; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; height: px2rpx(90); padding: px2rpx(21) px2rpx(30); color: var(--black); background-color: var(--black); box-shadow: 0 -1px 2px rgb(134, 134, 133, 0.25); box-sizing: border-box; } .cwg-upload { box-sizing: border-box; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; height: px2rpx(160); padding: px2rpx(16); border: 1px dashed #beb6b6; border-radius: px2rpx(4); .name { display: flex; align-items: center; font-size: px2rpx(16); font-weight: 600; line-height: px2rpx(44); color: #1a1a1a; text-align: center; } .back { display: flex; align-items: center; font-size: px2rpx(16); line-height: px2rpx(24); color: #474747; text-align: center; letter-spacing: 0.005em; } } .g { display: flex; img { height: px2rpx(50); } .g-l { flex: 1; margin-left: px2rpx(16); .g-item { display: flex; justify-content: space-between; margin-bottom: px2rpx(16); } .label { font-family: Roboto; font-size: px2rpx(14); font-style: normal; font-weight: 600; line-height: px2rpx(20); color: #1a1a1a; text-align: left; } .v { font-family: Roboto; font-size: px2rpx(14); font-style: normal; font-weight: 600; line-height: px2rpx(20); color: #1a1a1a; text-align: center; } } } .fixed-right { position: fixed; top: px2rpx(4); right: px2rpx(10); z-index: 100; display: flex; align-items: center; justify-content: center; width: px2rpx(40); height: px2rpx(40); color: var(--main-yellow); cursor: pointer; i { display: flex; align-items: center; justify-content: center; width: px2rpx(20); height: px2rpx(20); font-size: px2rpx(14); color: var(--main-yellow); } &:hover { opacity: 0.8; } } .status-default { display: flex; gap: px2rpx(10); align-items: center; justify-content: center; padding: px2rpx(4) px2rpx(8); font-family: Roboto; font-size: px2rpx(12); font-style: normal; font-weight: 600; line-height: px2rpx(16); color: #009deb; letter-spacing: px2rpx(0.06); background: rgb(0, 157, 235, 0.2); border: 0 solid #f4f4f4; border-radius: px2rpx(9999); } .status-success { color: #4caf50; background: rgb(76, 175, 80, 0.2); } .status-error { color: #d32f2f; background: rgb(211, 47, 47, 0.21); } .status-views { display: flex; align-items: center; justify-content: center; width: px2rpx(65.063); // height: 36px; padding: px2rpx(8) px2rpx(16); font-family: Roboto; font-size: px2rpx(14); font-style: normal; font-weight: 600; line-height: px2rpx(20); color: #fff; text-align: center; letter-spacing: px2rpx(0.07); background: #ea002a; border-radius: px2rpx(10); } .ellipsis { width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .custom-toast { top: 40%; display: flex; flex-direction: column; gap: px2rpx(16); align-items: center; width: px2rpx(348); padding: px2rpx(32) px2rpx(24); background: #fff; border-radius: px2rpx(20); box-shadow: 0 4px 12px rgb(0, 0, 0, 0.1); .van-icon__image { width: px2rpx(88); height: px2rpx(88); } .van-toast__text { font-family: Roboto; font-size: px2rpx(14); font-style: normal; font-weight: 400; line-height: px2rpx(20); color: #474747; text-align: center; letter-spacing: px2rpx(0.07); } } .page-header { position: fixed; top: calc(var(--secure-height, 0px) + env(safe-area-inset-top)); left: 0; z-index: 13; display: flex; align-items: center; width: 100%; height: px2rpx(60); font-size: var(--font-size-22); font-weight: 700; color: var(--white); text-align: left; background: #fff; } .u-form-item__body { padding: 0 !important; } .u-form-item__body__right__message { margin-left: 10px !important; } .filter-picker { background-color: #ffffff; border: 1px solid #e5e7eb; border-radius: px2rpx(8); padding: px2rpx(6); display: flex; align-items: center; min-width: px2rpx(60); max-width: px2rpx(120); flex-shrink: 1; overflow: hidden; div { width: 100% !important; } } .picker-value { display: flex; align-items: center; gap: px2rpx(4); width: 100%; } .picker-text { min-width: px2rpx(60); max-width: px2rpx(100); font-size: px2rpx(12); color: #111827; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .picker-icon { flex-shrink: 0; width: px2rpx(14); height: px2rpx(14); } .status-badge { display: flex; align-items: center; gap: px2rpx(4); padding: px2rpx(3) px2rpx(8) px2rpx(3) px2rpx(3); border-radius: px2rpx(12); } .filter-select { background-color: #ffffff; border: 1px solid #e5e7eb; border-radius: px2rpx(8); padding: px2rpx(6); display: flex; align-items: center; min-width: px2rpx(90); max-width: px2rpx(120); flex-shrink: 1; // overflow: hidden; div { // width: 100% !important; } .uni-select { width: 100% !important; padding: 0 !important; border: none !important; min-height: px2rpx(14) !important; } .uni-select__selector { min-width: 100px !important; max-width: 300px !important; width: max-content !important; } .uni-select__selector-item { white-space: nowrap !important; padding: 0 12px !important; } .uni-select__input-text { color: #6a6a6a; font-size: 12px; margin: 1px 0; padding: 0 !important; } .padding-top-bottom { padding: 0 !important; } }