This commit is contained in:
2025-09-29 21:38:32 +08:00
parent ed26244cdb
commit 19117de6c8
182 changed files with 11590 additions and 2156 deletions

View File

@@ -1,8 +1,8 @@
;(function(){
let u=void 0,isReady=false,onReadyCallbacks=[],isServiceReady=false,onServiceReadyCallbacks=[];
const __uniConfig = {"pages":[],"globalStyle":{"backgroundColor":"#F8F8F8","navigationBar":{"backgroundColor":"#F8F8F8","titleText":"五金配件管家","type":"default","titleColor":"#000000"},"isNVue":false},"nvue":{"compiler":"uni-app","styleCompiler":"uni-app","flex-direction":"column"},"renderer":"auto","appname":"林林林","splashscreen":{"alwaysShowBeforeRender":true,"autoclose":true},"compilerVersion":"4.76","entryPagePath":"pages/index/index","entryPageQuery":"","realEntryPagePath":"","networkTimeout":{"request":60000,"connectSocket":60000,"uploadFile":60000,"downloadFile":60000},"tabBar":{"position":"bottom","color":"#8a7535","selectedColor":"#B4880F","borderStyle":"black","blurEffect":"none","fontSize":"10px","iconWidth":"24px","spacing":"3px","height":"50px","list":[{"pagePath":"pages/index/index","text":"首页","iconPath":"/static/logo.png","selectedIconPath":"/static/logo.png"},{"pagePath":"pages/product/list","text":"货品","iconPath":"/static/logo.png","selectedIconPath":"/static/logo.png"},{"pagePath":"pages/order/create","text":"开单","iconPath":"/static/logo.png","selectedIconPath":"/static/logo.png"},{"pagePath":"pages/detail/index","text":"明细","iconPath":"/static/logo.png","selectedIconPath":"/static/logo.png"},{"pagePath":"pages/my/index","text":"我的","iconPath":"/static/logo.png","selectedIconPath":"/static/logo.png"}],"backgroundColor":"#ffffff","selectedIndex":0,"shown":true},"locales":{},"darkmode":false,"themeConfig":{}};
const __uniRoutes = [{"path":"pages/index/index","meta":{"isQuit":true,"isEntry":true,"isTabBar":true,"tabBarIndex":0,"navigationBar":{"titleText":"五金配件管家","type":"default"},"isNVue":false}},{"path":"pages/order/create","meta":{"isQuit":true,"isTabBar":true,"tabBarIndex":2,"navigationBar":{"titleText":"开单","type":"default"},"isNVue":false}},{"path":"pages/product/select","meta":{"navigationBar":{"titleText":"选择商品","type":"default"},"isNVue":false}},{"path":"pages/product/list","meta":{"isQuit":true,"isTabBar":true,"tabBarIndex":1,"navigationBar":{"titleText":"货品列表","type":"default"},"isNVue":false}},{"path":"pages/product/form","meta":{"navigationBar":{"titleText":"编辑货品","type":"default"},"isNVue":false}},{"path":"pages/product/categories","meta":{"navigationBar":{"titleText":"类别管理","type":"default"},"isNVue":false}},{"path":"pages/product/units","meta":{"navigationBar":{"titleText":"单位管理","type":"default"},"isNVue":false}},{"path":"pages/product/settings","meta":{"navigationBar":{"titleText":"货品设置","type":"default"},"isNVue":false}},{"path":"pages/customer/select","meta":{"navigationBar":{"titleText":"选择客户","type":"default"},"isNVue":false}},{"path":"pages/customer/form","meta":{"navigationBar":{"titleText":"新增客户","type":"default"},"isNVue":false}},{"path":"pages/customer/detail","meta":{"navigationBar":{"titleText":"客户详情","type":"default"},"isNVue":false}},{"path":"pages/supplier/select","meta":{"navigationBar":{"titleText":"选择供应商","type":"default"},"isNVue":false}},{"path":"pages/supplier/form","meta":{"navigationBar":{"titleText":"新增/编辑供应商","type":"default"},"isNVue":false}},{"path":"pages/account/select","meta":{"navigationBar":{"titleText":"选择账户","type":"default"},"isNVue":false}},{"path":"pages/account/ledger","meta":{"navigationBar":{"titleText":"账户流水","type":"default"},"isNVue":false}},{"path":"pages/account/form","meta":{"navigationBar":{"titleText":"新增/编辑账户","type":"default"},"isNVue":false}},{"path":"pages/detail/index","meta":{"isQuit":true,"isTabBar":true,"tabBarIndex":3,"navigationBar":{"titleText":"明细","type":"default"},"isNVue":false}},{"path":"pages/my/index","meta":{"isQuit":true,"isTabBar":true,"tabBarIndex":4,"navigationBar":{"titleText":"我的","type":"default"},"isNVue":false}},{"path":"pages/my/about","meta":{"navigationBar":{"titleText":"关于与协议","type":"default"},"isNVue":false}},{"path":"pages/report/index","meta":{"navigationBar":{"titleText":"报表","type":"default"},"isNVue":false}}].map(uniRoute=>(uniRoute.meta.route=uniRoute.path,__uniConfig.pages.push(uniRoute.path),uniRoute.path='/'+uniRoute.path,uniRoute));
const __uniConfig = {"pages":[],"globalStyle":{"backgroundColor":"#FFFFFF","backgroundTextStyle":"dark","navigationBar":{"backgroundColor":"#FFFFFF","titleText":"五金配件管家","type":"default","titleColor":"#000000"},"isNVue":false},"nvue":{"compiler":"uni-app","styleCompiler":"uni-app","flex-direction":"column"},"renderer":"auto","appname":"林林林","splashscreen":{"alwaysShowBeforeRender":true,"autoclose":true},"compilerVersion":"4.76","entryPagePath":"pages/index/index","entryPageQuery":"","realEntryPagePath":"","networkTimeout":{"request":60000,"connectSocket":60000,"uploadFile":60000,"downloadFile":60000},"tabBar":{"position":"bottom","color":"#444444","selectedColor":"#4C8DFF","borderStyle":"black","blurEffect":"none","fontSize":"10px","iconWidth":"24px","spacing":"3px","height":"50px","list":[{"pagePath":"pages/index/index","text":"首页","iconPath":"/static/icons/home.png","selectedIconPath":"/static/icons/home.png"},{"pagePath":"pages/product/list","text":"货品","iconPath":"/static/icons/product.png","selectedIconPath":"/static/icons/product.png"},{"pagePath":"pages/order/create","text":"开单","iconPath":"/static/icons/icons8-purchase-order-100.png","selectedIconPath":"/static/icons/icons8-purchase-order-100.png"},{"pagePath":"pages/detail/index","text":"明细","iconPath":"/static/icons/icons8-more-details-100.png","selectedIconPath":"/static/icons/icons8-more-details-100.png"},{"pagePath":"pages/my/index","text":"我的","iconPath":"/static/icons/icons8-account-male-100.png","selectedIconPath":"/static/icons/icons8-account-male-100.png"}],"backgroundColor":"#FFFFFF","selectedIndex":0,"shown":true},"locales":{},"darkmode":false,"themeConfig":{}};
const __uniRoutes = [{"path":"pages/index/index","meta":{"isQuit":true,"isEntry":true,"isTabBar":true,"tabBarIndex":0,"navigationBar":{"titleText":"五金配件管家","type":"default"},"isNVue":false}},{"path":"pages/order/create","meta":{"isQuit":true,"isTabBar":true,"tabBarIndex":2,"navigationBar":{"titleText":"开单","type":"default"},"isNVue":false}},{"path":"pages/product/select","meta":{"navigationBar":{"titleText":"选择商品","type":"default"},"isNVue":false}},{"path":"pages/product/list","meta":{"isQuit":true,"isTabBar":true,"tabBarIndex":1,"navigationBar":{"titleText":"货品列表","type":"default"},"isNVue":false}},{"path":"pages/product/submit","meta":{"navigationBar":{"backgroundColor":"#ffffff","titleText":"提交配件","type":"default"},"isNVue":false}},{"path":"pages/product/submissions","meta":{"navigationBar":{"titleText":"我的提交","type":"default"},"isNVue":false}},{"path":"pages/product/submission-detail","meta":{"navigationBar":{"titleText":"提交详情","type":"default"},"isNVue":false}},{"path":"pages/product/form","meta":{"navigationBar":{"titleText":"编辑货品","type":"default"},"isNVue":false}},{"path":"pages/product/product-detail","meta":{"navigationBar":{"titleText":"货品详情","type":"default"},"isNVue":false}},{"path":"pages/product/categories","meta":{"navigationBar":{"titleText":"类别管理","type":"default"},"isNVue":false}},{"path":"pages/product/units","meta":{"navigationBar":{"titleText":"单位管理","type":"default"},"isNVue":false}},{"path":"pages/product/settings","meta":{"navigationBar":{"titleText":"货品设置","type":"default"},"isNVue":false}},{"path":"pages/customer/select","meta":{"navigationBar":{"titleText":"选择客户","type":"default"},"isNVue":false}},{"path":"pages/customer/form","meta":{"navigationBar":{"titleText":"新增客户","type":"default"},"isNVue":false}},{"path":"pages/customer/detail","meta":{"navigationBar":{"titleText":"客户详情","type":"default"},"isNVue":false}},{"path":"pages/supplier/select","meta":{"navigationBar":{"titleText":"选择供应商","type":"default"},"isNVue":false}},{"path":"pages/supplier/form","meta":{"navigationBar":{"titleText":"新增/编辑供应商","type":"default"},"isNVue":false}},{"path":"pages/account/select","meta":{"navigationBar":{"titleText":"选择账户","type":"default"},"isNVue":false}},{"path":"pages/account/ledger","meta":{"navigationBar":{"titleText":"账户流水","type":"default"},"isNVue":false}},{"path":"pages/account/form","meta":{"navigationBar":{"titleText":"新增/编辑账户","type":"default"},"isNVue":false}},{"path":"pages/detail/index","meta":{"isQuit":true,"isTabBar":true,"tabBarIndex":3,"navigationBar":{"titleText":"明细","type":"default"},"isNVue":false}},{"path":"pages/auth/login","meta":{"navigationBar":{"titleText":"登录","type":"default"},"isNVue":false}},{"path":"pages/auth/register","meta":{"navigationBar":{"titleText":"注册","type":"default"},"isNVue":false}},{"path":"pages/my/index","meta":{"isQuit":true,"isTabBar":true,"tabBarIndex":4,"navigationBar":{"titleText":"我的","type":"default"},"isNVue":false}},{"path":"pages/my/about","meta":{"navigationBar":{"titleText":"关于与协议","type":"default"},"isNVue":false}},{"path":"pages/my/security","meta":{"navigationBar":{"titleText":"账号与安全","type":"default"},"isNVue":false}},{"path":"pages/my/vip","meta":{"backgroundColor":"#1a1a2e","backgroundTextStyle":"light","navigationBar":{"backgroundColor":"#1a1a2e","titleText":"VIP会员","type":"default","titleColor":"#ffffff"},"isNVue":false}},{"path":"pages/my/orders","meta":{"navigationBar":{"titleText":"我的订单","type":"default"},"isNVue":false}},{"path":"pages/report/index","meta":{"navigationBar":{"titleText":"报表","type":"default"},"isNVue":false}}].map(uniRoute=>(uniRoute.meta.route=uniRoute.path,__uniConfig.pages.push(uniRoute.path),uniRoute.path='/'+uniRoute.path,uniRoute));
__uniConfig.styles=[];//styles
__uniConfig.onReady=function(callback){if(__uniConfig.ready){callback()}else{onReadyCallbacks.push(callback)}};Object.defineProperty(__uniConfig,"ready",{get:function(){return isReady},set:function(val){isReady=val;if(!isReady){return}const callbacks=onReadyCallbacks.slice(0);onReadyCallbacks.length=0;callbacks.forEach(function(callback){callback()})}});
__uniConfig.onServiceReady=function(callback){if(__uniConfig.serviceReady){callback()}else{onServiceReadyCallbacks.push(callback)}};Object.defineProperty(__uniConfig,"serviceReady",{get:function(){return isServiceReady},set:function(val){isServiceReady=val;if(!isServiceReady){return}const callbacks=onServiceReadyCallbacks.slice(0);onServiceReadyCallbacks.length=0;callbacks.forEach(function(callback){callback()})}});

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -72,14 +72,14 @@
"statusbar": {
"immersed": "supportedDevice",
"style": "dark",
"background": "#F8F8F8"
"background": "#FFFFFF"
},
"uniStatistics": {
"enable": false
},
"allowsInlineMediaPlayback": true,
"safearea": {
"background": "#ffffff",
"background": "#FFFFFF",
"bottom": {
"offset": "auto"
}
@@ -100,8 +100,8 @@
},
"tabBar": {
"position": "bottom",
"color": "#8a7535",
"selectedColor": "#B4880F",
"color": "#444444",
"selectedColor": "#4C8DFF",
"borderStyle": "rgba(0,0,0,0.4)",
"blurEffect": "none",
"fontSize": "10px",
@@ -112,35 +112,35 @@
{
"pagePath": "pages/index/index",
"text": "首页",
"iconPath": "/static/logo.png",
"selectedIconPath": "/static/logo.png"
"iconPath": "/static/icons/home.png",
"selectedIconPath": "/static/icons/home.png"
},
{
"pagePath": "pages/product/list",
"text": "货品",
"iconPath": "/static/logo.png",
"selectedIconPath": "/static/logo.png"
"iconPath": "/static/icons/product.png",
"selectedIconPath": "/static/icons/product.png"
},
{
"pagePath": "pages/order/create",
"text": "开单",
"iconPath": "/static/logo.png",
"selectedIconPath": "/static/logo.png"
"iconPath": "/static/icons/icons8-purchase-order-100.png",
"selectedIconPath": "/static/icons/icons8-purchase-order-100.png"
},
{
"pagePath": "pages/detail/index",
"text": "明细",
"iconPath": "/static/logo.png",
"selectedIconPath": "/static/logo.png"
"iconPath": "/static/icons/icons8-more-details-100.png",
"selectedIconPath": "/static/icons/icons8-more-details-100.png"
},
{
"pagePath": "pages/my/index",
"text": "我的",
"iconPath": "/static/logo.png",
"selectedIconPath": "/static/logo.png"
"iconPath": "/static/icons/icons8-account-male-100.png",
"selectedIconPath": "/static/icons/icons8-account-male-100.png"
}
],
"backgroundColor": "#ffffff",
"backgroundColor": "#FFFFFF",
"selectedIndex": 0,
"shown": true,
"child": [
@@ -158,7 +158,7 @@
"enable": false
},
"safearea": {
"background": "#ffffff",
"background": "#FFFFFF",
"bottom": {
"offset": "auto"
}

View File

@@ -1,23 +1,77 @@
.page { display:flex; flex-direction: column; height: 100vh;
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 藏青系主色(高亮) */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* 表单控件尺寸(统一配置,避免页面内硬编码) */
.page {
display: flex;
flex-direction: column;
height: 100vh;
}
.form { background:#fff;
.form {
background: #ffffff;
}
.field { display:flex; align-items:center; justify-content: space-between; padding: 0.5625rem 0.625rem; border-bottom:0.03125rem solid #f3f3f3;
.field {
display: flex;
align-items: center;
justify-content: space-between;
padding: 0.5625rem 0.625rem;
border-bottom: 0.03125rem solid #e5e7eb;
}
.label { color:#666;
.label {
color: #444;
}
.input { flex:1; text-align: right; color:#333;
.input {
flex: 1;
text-align: right;
color: #111;
}
.value { color:#333;
.value {
color: #111;
}
.actions { margin-top: 0.625rem; padding: 0 0.625rem;
.actions {
margin-top: 0.625rem;
padding: 0 0.625rem;
}
.primary { width: 100%; background: #3c9cff; color:#fff; border-radius: 0.25rem; padding: 0.6875rem 0;
.primary {
width: 100%;
background: #4C8DFF;
color: #fff;
border-radius: 0.25rem;
padding: 0.6875rem 0;
}
.sheet { background:#fff;
.sheet {
background: #ffffff;
}
.sheet-item { padding: 0.8125rem; text-align:center; border-bottom:0.03125rem solid #f2f2f2;
}
.sheet-cancel { padding: 0.8125rem; text-align:center; color:#666;
.sheet-item {
padding: 0.8125rem;
text-align: center;
border-bottom: 0.03125rem solid #e5e7eb;
}
.sheet-cancel {
padding: 0.8125rem;
text-align: center;
color: #444;
}

View File

@@ -1,35 +1,107 @@
.page { display:flex; flex-direction: column; height: 100vh;
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 藏青系主色(高亮) */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* 表单控件尺寸(统一配置,避免页面内硬编码) */
.page {
display: flex;
flex-direction: column;
height: 100vh;
}
.filters { display:flex; gap: 0.5rem; padding: 0.5rem; background:#fff;
.filters {
display: flex;
gap: 0.5rem;
padding: 0.5rem;
background: #ffffff;
}
.field { display:flex; justify-content: space-between; align-items:center; padding: 0.5rem; border:0.03125rem solid #eee; border-radius: 0.375rem; min-width: 9.375rem;
.field {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0.5rem;
border: 0.03125rem solid #e5e7eb;
border-radius: 0.375rem;
min-width: 9.375rem;
}
.label { color:#666;
.label {
color: #444;
}
.value { color:#333;
.value {
color: #111;
}
.summary { display:grid; grid-template-columns: repeat(4,1fr); gap: 0.375rem; padding: 0.375rem 0.5rem; background:#fff; border-top:0.03125rem solid #f1f1f1; border-bottom:0.03125rem solid #f1f1f1;
.summary {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 0.375rem;
padding: 0.375rem 0.5rem;
background: #ffffff;
border-top: 0.03125rem solid #e5e7eb;
border-bottom: 0.03125rem solid #e5e7eb;
}
.sum-item { padding: 0.375rem; text-align:center;
.sum-item {
padding: 0.375rem;
text-align: center;
}
.k { display:block; color:#888; font-size: 0.75rem;
.k {
display: block;
color: #444;
font-size: 0.75rem;
}
.v { display:block; margin-top:0.1875rem; font-weight:700; color:#333;
.v {
display: block;
margin-top: 0.1875rem;
font-weight: 700;
color: #111;
}
.list { flex:1;
.list {
flex: 1;
}
.item { padding: 0.5625rem 0.5rem; border-bottom:0.03125rem solid #f4f4f4; background:#fff;
.item {
padding: 0.5625rem 0.5rem;
border-bottom: 0.03125rem solid #e5e7eb;
background: #ffffff;
}
.row { display:flex; align-items:center; justify-content: space-between; margin-bottom: 0.1875rem;
.row {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 0.1875rem;
}
.title { color:#333;
.title {
color: #111;
}
.amount { font-weight:700;
.amount {
font-weight: 700;
}
.amount.in { color:#2a9d8f;
.amount.in {
color: #2a9d8f;
}
.amount.out { color:#d35b5b;
}
.meta { color:#999; font-size: 0.75rem;
.amount.out {
color: #d35b5b;
}
.meta {
color: #444;
font-size: 0.75rem;
}

View File

@@ -1,13 +1,63 @@
.page { display:flex; flex-direction: column; height: 100vh;
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 藏青系主色(高亮) */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* 表单控件尺寸(统一配置,避免页面内硬编码) */
.page {
display: flex;
flex-direction: column;
height: 100vh;
}
.list { flex:1;
.list {
flex: 1;
}
.item { padding: 0.625rem 0.75rem; background:#fff; border-bottom: 0.03125rem solid #f1f1f1;
.item {
padding: 0.625rem 0.75rem;
background: #ffffff;
border-bottom: 0.03125rem solid #e5e7eb;
}
.name { color:#333; margin-bottom: 0.1875rem;
.name {
color: #111;
margin-bottom: 0.1875rem;
}
.meta { color:#888; font-size: 0.75rem;
}
.fab { position: fixed; right: 1rem; bottom: 3.75rem; width: 3.125rem; height: 3.125rem; border-radius: 50%; background:#3c9cff; color:#fff; display:flex; align-items:center; justify-content:center; font-size: 1.625rem; box-shadow: 0 0.3125rem 0.625rem rgba(0,0,0,0.18);
.meta {
color: #444;
font-size: 0.75rem;
}
.fab {
position: fixed;
right: 1rem;
bottom: 3.75rem;
width: 3.125rem;
height: 3.125rem;
border-radius: 50%;
background: #4C8DFF;
color: #fff;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.625rem;
box-shadow: 0 0.3125rem 0.625rem rgba(0, 0, 0, 0.18);
}

View File

@@ -0,0 +1,163 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 藏青系主色(高亮) */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* 表单控件尺寸(统一配置,避免页面内硬编码) */
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 藏青系主色(高亮) */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* 表单控件尺寸(统一配置,避免页面内硬编码) */
.auth-page {
padding: 1rem;
display: flex;
flex-direction: column;
gap: 0.75rem;
position: relative;
min-height: 100vh;
}
.header {
display: flex;
align-items: center;
justify-content: center;
padding: 0.25rem 0 0;
}
.title {
font-size: 1.0625rem;
font-weight: 800;
color: #111;
}
.login-hero {
display: flex;
justify-content: center;
padding: 0.5rem 0 0;
}
.login-hero-img {
width: 72%;
max-width: 17.5rem;
border-radius: 0.25rem;
}
.panel {
display: flex;
flex-direction: column;
gap: 0.5rem;
background: transparent;
padding: 0;
border-radius: 0;
border: none;
}
.panel.minor {
margin-top: 0.375rem;
}
.input {
background: #ffffff;
border: 0.0625rem solid #e5e7eb;
border-radius: 0.375rem;
padding: 0.6875rem 0.625rem;
font-size: 0.875rem;
}
.row {
display: flex;
gap: 0.375rem;
align-items: center;
}
.flex1 {
flex: 1;
}
.btn {
padding: 0.6875rem 0.625rem;
border-radius: 0.375rem;
font-weight: 800;
text-align: center;
}
.btn.primary {
background: linear-gradient(135deg, #4788ff 0%, #2d6be6 100%);
color: #fff;
border: 0.03125rem solid rgba(45, 107, 230, 0.25);
width: 72%;
margin: 0 auto;
padding: 0.4375rem 0.5rem;
}
.btn.ghost {
background: #eef3ff;
color: #2d6be6;
}
/* 右下角快捷入口:贴着登录功能,无边框、无背景 */
.quick-inline {
display: flex;
gap: 0.875rem;
justify-content: flex-end;
align-items: center;
margin-top: 0.3125rem;
}
.quick-link {
background: transparent !important;
color: #2d6be6;
border: none !important;
outline: none;
padding: 0;
font-size: 0.8125rem;
font-weight: 700;
box-shadow: none;
line-height: 1.2;
}
.quick-link::after {
border: none !important;
}
/* 注册/重置页:验证码按钮与左侧输入框等高,且更紧凑 */
.panel.minor .row > .input {
height: 2.375rem;
padding: 0 0.625rem;
}
.panel.minor .row > .btn.ghost {
height: 2.375rem;
padding: 0 0.625rem;
border-radius: 0.375rem;
display: inline-flex;
align-items: center;
justify-content: center;
}

View File

@@ -0,0 +1,292 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 藏青系主色(高亮) */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* 表单控件尺寸(统一配置,避免页面内硬编码) */
.register-container {
position: relative;
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
padding: 1.25rem 0.625rem;
overflow: hidden;
}
.background-decoration {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 0;
}
.background-decoration .circle {
position: absolute;
border-radius: 50%;
background: rgba(255, 255, 255, 0.1);
}
.background-decoration .circle.circle-1 {
width: 6.875rem;
height: 6.875rem;
top: 8%;
left: 12%;
animation: float 7s ease-in-out infinite;
}
.background-decoration .circle.circle-2 {
width: 5.625rem;
height: 5.625rem;
top: 65%;
right: 10%;
animation: float 9s ease-in-out infinite reverse;
}
.background-decoration .circle.circle-3 {
width: 3.75rem;
height: 3.75rem;
bottom: 15%;
left: 25%;
animation: float 6s ease-in-out infinite;
}
@keyframes float {
0%, 100% {
transform: translateY(0px) rotate(0deg);
}
50% {
transform: translateY(-25px) rotate(5deg);
}
}
.register-card {
position: relative;
z-index: 1;
width: 90%;
max-width: 21.25rem;
background: rgba(255, 255, 255, 0.95);
-webkit-backdrop-filter: blur(0.625rem);
backdrop-filter: blur(0.625rem);
border-radius: 1rem;
padding: 1.5625rem 1.25rem 1.40625rem;
box-shadow: 0 0.78125rem 2.1875rem rgba(0, 0, 0, 0.12);
border: 0.03125rem solid rgba(255, 255, 255, 0.3);
}
.header-section {
text-align: center;
margin-bottom: 1.40625rem;
}
.header-section .logo-container {
display: flex;
align-items: center;
justify-content: center;
gap: 0.5rem;
margin-bottom: 0.625rem;
}
.header-section .logo-container .logo-icon {
width: 1.875rem;
height: 1.875rem;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
border-radius: 0.5rem;
display: flex;
align-items: center;
justify-content: center;
}
.header-section .logo-container .logo-icon .icon {
width: 1.125rem;
height: 1.125rem;
fill: white;
}
.header-section .logo-container .app-name {
font-size: 1.125rem;
font-weight: 700;
color: #2d3748;
letter-spacing: 0.03125rem;
}
.header-section .welcome-text {
display: block;
font-size: 1.5rem;
font-weight: 700;
color: #2d3748;
margin-bottom: 0.25rem;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
}
.header-section .subtitle {
display: block;
font-size: 0.875rem;
color: #718096;
font-weight: 400;
}
.form-section {
margin-bottom: 1.25rem;
}
.form-section .input-group {
margin-bottom: 0.75rem;
}
.form-section .input-group .input-container {
position: relative;
background: #f7fafc;
border: 0.0625rem solid #e2e8f0;
border-radius: 0.5rem;
display: flex;
align-items: center;
transition: all 0.3s ease;
}
.form-section .input-group .input-container.focused {
border-color: #667eea;
background: #ffffff;
box-shadow: 0 0 0 0.1875rem rgba(102, 126, 234, 0.1);
transform: translateY(-0.0625rem);
}
.form-section .input-group .input-container.filled {
background: #ffffff;
border-color: #cbd5e0;
}
.form-section .input-group .input-container .input-icon {
display: flex;
align-items: center;
justify-content: center;
width: 1.5625rem;
margin-left: 0.625rem;
}
.form-section .input-group .input-container .input-icon .icon {
width: 1rem;
height: 1rem;
fill: #a0aec0;
transition: fill 0.3s ease;
}
.form-section .input-group .input-container.focused .input-icon .icon {
fill: #667eea;
}
.form-section .input-group .input-container .input-field {
flex: 1;
background: transparent;
border: none;
padding: 0.75rem 0.625rem 0.75rem 0.375rem;
font-size: 1rem;
color: #2d3748;
}
.form-section .input-group .input-container .input-field::-webkit-input-placeholder {
color: #a0aec0;
font-size: 0.875rem;
}
.form-section .input-group .input-container .input-field::placeholder {
color: #a0aec0;
font-size: 0.875rem;
}
.actions-section {
margin-bottom: 0.9375rem;
}
.actions-section .register-button {
width: 100%;
height: 3rem;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
border: none;
border-radius: 0.5rem;
margin-bottom: 0.625rem;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 0.25rem 0.75rem rgba(102, 126, 234, 0.3);
transition: all 0.3s ease;
position: relative;
overflow: hidden;
}
.actions-section .register-button:active {
transform: translateY(0.0625rem);
box-shadow: 0 0.125rem 0.5rem rgba(102, 126, 234, 0.3);
}
.actions-section .register-button::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(135deg, rgba(255, 255, 255, 0.2) 0%, transparent 50%);
opacity: 0;
transition: opacity 0.3s ease;
}
.actions-section .register-button:active::before {
opacity: 1;
}
.actions-section .register-button .button-text {
font-size: 1rem;
font-weight: 600;
color: white;
letter-spacing: 0.03125rem;
}
.actions-section .login-button {
width: 100%;
height: 2.6875rem;
background: transparent;
border: 0.0625rem solid #e2e8f0;
border-radius: 0.5rem;
display: flex;
align-items: center;
justify-content: center;
transition: all 0.3s ease;
}
.actions-section .login-button:active {
background: #f7fafc;
border-color: #cbd5e0;
transform: translateY(0.03125rem);
}
.actions-section .login-button .button-text {
font-size: 0.875rem;
font-weight: 500;
color: #718096;
}
.footer-section {
text-align: center;
}
.footer-section .hint-text {
display: block;
font-size: 0.75rem;
color: #a0aec0;
line-height: 1.6;
margin-bottom: 0.375rem;
}
.footer-section .static-hint {
display: block;
font-size: 0.6875rem;
color: #a0aec0;
line-height: 1.5;
background: rgba(160, 174, 192, 0.1);
padding: 0.375rem 0.5rem;
border-radius: 0.3125rem;
border: 0.03125rem solid rgba(160, 174, 192, 0.2);
}
@media (max-width: 750rpx) {
.register-card {
margin: 0.625rem;
padding: 1.25rem 0.9375rem 1.09375rem;
}
.header-section .welcome-text {
font-size: 1.3125rem;
}
.form-section .input-group {
margin-bottom: 0.625rem;
}
}

View File

@@ -1,23 +1,88 @@
.page { padding-bottom: 4.375rem;
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 藏青系主色(高亮) */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* 表单控件尺寸(统一配置,避免页面内硬编码) */
.page {
padding-bottom: 4.375rem;
}
.card { background:#fff; margin: 0.5rem; padding: 0.375rem 0.5rem; border-radius: 0.5rem;
.card {
background: #ffffff;
margin: 0.5rem;
padding: 0.375rem 0.5rem;
border-radius: 0.5rem;
}
.row { display:flex; justify-content: space-between; padding: 0.5625rem 0.25rem; border-bottom: 0.03125rem solid #f3f3f3;
.row {
display: flex;
justify-content: space-between;
padding: 0.5625rem 0.25rem;
border-bottom: 0.03125rem solid #e5e7eb;
}
.row:last-child { border-bottom: 0;
.row:last-child {
border-bottom: 0;
}
.label { color:#666;
.label {
color: #444;
}
.value { color:#333; max-width: 60%; text-align: right;
.value {
color: #111;
max-width: 60%;
text-align: right;
}
.value-input { color:#333; text-align: right; flex: 1;
.value-input {
color: #111;
text-align: right;
flex: 1;
}
.emp { color:#107e9b; font-weight: 700;
.emp {
color: #4C8DFF;
font-weight: 700;
}
.bottom { position: fixed; left:0; right:0; bottom:0; background:#fff; padding: 0.5rem 0.75rem calc(env(safe-area-inset-bottom) + 0.5rem); box-shadow: 0 -0.125rem 0.375rem rgba(0,0,0,0.06); display:flex; gap: 0.375rem;
.bottom {
position: fixed;
left: 0;
right: 0;
bottom: 0;
background: #ffffff;
padding: 0.5rem 0.75rem calc(env(safe-area-inset-bottom) + 0.5rem);
box-shadow: 0 -0.125rem 0.375rem rgba(0, 0, 0, 0.1);
display: flex;
gap: 0.375rem;
}
.primary { flex:1; background: linear-gradient(135deg, #A0E4FF 0%, #17A2C4 100%); color:#fff; border-radius: 31.21875rem; padding: 0.625rem 0;
}
.ghost { flex:1; background:#fff; color:#107e9b; border: 0.0625rem solid #A0E4FF; border-radius: 31.21875rem; padding: 0.5625rem 0;
.primary {
flex: 1;
background: #4C8DFF;
color: #fff;
border-radius: 31.21875rem;
padding: 0.625rem 0;
}
.ghost {
flex: 1;
background: #ffffff;
color: #4C8DFF;
border: 0.0625rem solid rgba(76, 141, 255, 0.35);
border-radius: 31.21875rem;
padding: 0.5625rem 0;
}

View File

@@ -1,15 +1,66 @@
.page { padding-bottom: 4.375rem;
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 藏青系主色(高亮) */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* 表单控件尺寸(统一配置,避免页面内硬编码) */
.page {
padding-bottom: 4.375rem;
}
.field { display:flex; justify-content: space-between; padding: 0.6875rem 0.75rem; background:#fff; border-bottom:0.03125rem solid #eee;
.field {
display: flex;
justify-content: space-between;
padding: 0.6875rem 0.75rem;
background: #ffffff;
border-bottom: 0.03125rem solid #e5e7eb;
}
.label { color:#666;
.label {
color: #444;
}
.value { color:#333; text-align: right; flex: 1;
.value {
color: #111;
text-align: right;
flex: 1;
}
.textarea { padding: 0.5rem 0.75rem; background:#fff; margin-top: 0.375rem;
.textarea {
padding: 0.5rem 0.75rem;
background: #ffffff;
margin-top: 0.375rem;
}
.bottom { position: fixed; left:0; right:0; bottom:0; background:#fff; padding: 0.5rem 0.75rem calc(env(safe-area-inset-bottom) + 0.5rem); box-shadow: 0 -0.125rem 0.375rem rgba(0,0,0,0.06);
}
.primary { width: 100%; background: linear-gradient(135deg, #A0E4FF 0%, #17A2C4 100%); color:#fff; border-radius: 31.21875rem; padding: 0.625rem 0;
.bottom {
position: fixed;
left: 0;
right: 0;
bottom: 0;
background: #ffffff;
padding: 0.5rem 0.75rem calc(env(safe-area-inset-bottom) + 0.5rem);
box-shadow: 0 -0.125rem 0.375rem rgba(0, 0, 0, 0.1);
}
.primary {
width: 100%;
background: #4C8DFF;
color: #fff;
border-radius: 31.21875rem;
padding: 0.625rem 0;
}

View File

@@ -1,19 +1,78 @@
.page { display:flex; flex-direction: column; height: 100vh;
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 藏青系主色(高亮) */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* 表单控件尺寸(统一配置,避免页面内硬编码) */
.page {
display: flex;
flex-direction: column;
height: 100vh;
}
.search { display:flex; gap: 0.375rem; padding: 0.5rem; background:#fff; align-items:center;
.search {
display: flex;
gap: 0.375rem;
padding: 0.5rem;
background: #ffffff;
align-items: center;
}
.search uni-input { flex:1; background:#f6f6f6; border-radius: 0.375rem; padding: 0.375rem;
.search uni-input {
flex: 1;
background: #f1f1f1;
border-radius: 0.375rem;
padding: 0.375rem;
color: #111;
}
.list { flex:1;
.list {
flex: 1;
}
.item { padding: 0.625rem 0.75rem; background:#fff; border-bottom: 0.03125rem solid #f1f1f1;
.item {
padding: 0.625rem 0.75rem;
background: #ffffff;
border-bottom: 0.03125rem solid #e5e7eb;
}
.name { color:#333; margin-bottom: 0.1875rem;
.name {
color: #111;
margin-bottom: 0.1875rem;
}
.meta { color:#888; font-size: 0.75rem;
.meta {
color: #444;
font-size: 0.75rem;
}
.bottom { position: fixed; left:0; right:0; bottom:0; background:#fff; padding: 0.5rem 0.75rem calc(env(safe-area-inset-bottom) + 0.5rem); box-shadow: 0 -0.125rem 0.375rem rgba(0,0,0,0.06);
}
.primary { width: 100%; background: linear-gradient(135deg, #A0E4FF 0%, #17A2C4 100%); color:#fff; border-radius: 31.21875rem; padding: 0.625rem 0;
.bottom {
position: fixed;
left: 0;
right: 0;
bottom: 0;
background: #ffffff;
padding: 0.5rem 0.75rem calc(env(safe-area-inset-bottom) + 0.5rem);
box-shadow: 0 -0.125rem 0.375rem rgba(0, 0, 0, 0.1);
}
.primary {
width: 100%;
background: #4C8DFF;
color: #fff;
border-radius: 31.21875rem;
padding: 0.625rem 0;
}

View File

@@ -1,49 +1,220 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 藏青系主色(高亮) */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* 表单控件尺寸(统一配置,避免页面内硬编码) */
.page {
display: flex;
flex-direction: column;
height: 100vh;
}
.page { display:flex; flex-direction: column; height: 100vh;
/* 顶部分段(如需保留,可以隐藏或后续扩展) */
.seg {
display: none;
}
.seg { display:flex; background:#fff;
.content {
display: flex;
flex: 1;
min-height: 0;
}
.seg-item { flex:1; padding: 0.6875rem 0; text-align:center; color:#666;
.biz-tabs {
width: 4.375rem;
background: #fff;
border-right: 0.0625rem solid #e5e7eb;
display: flex;
flex-direction: column;
}
.seg-item.active { color:#18b566; font-weight: 600;
.biz {
flex: 0 0 3.75rem;
display: flex;
align-items: center;
justify-content: center;
color: #4C8DFF;
}
.content { display:flex; flex:1; min-height: 0;
.biz.active {
background: rgba(76, 141, 255, 0.1);
color: #4C8DFF;
font-weight: 700;
}
.biz-tabs { width: 3.75rem; background:#eef6ff; display:flex; flex-direction: column;
.panel {
flex: 1;
display: flex;
flex-direction: column;
background: #fff;
margin: 0.5rem;
border-radius: 0.5rem;
padding: 0.375rem;
}
.biz { flex:0 0 3.75rem; display:flex; align-items:center; justify-content:center; color:#4aa3d6;
.toolbar {
display: flex;
flex-direction: column;
gap: 0.3125rem;
padding: 0.3125rem 0.1875rem 0.1875rem;
border-bottom: 0.0625rem solid #e5e7eb;
}
.biz.active { background:#3ac1c9; color:#fff; border-radius: 0 0.5rem 0.5rem 0;
.period-group {
display: flex;
align-items: center;
gap: 0.25rem;
background: #f6f8fb;
border-radius: 0.3125rem;
padding: 0.25rem 0.3125rem;
}
.panel { flex:1; display:flex; flex-direction: column; background:#fff; margin: 0.5rem; border-radius: 0.5rem; padding: 0.375rem;
.period-label {
color: #6b778c;
}
.toolbar { display:flex; align-items: center; gap: 0.375rem; padding: 0.25rem 0.1875rem;
.date-chip {
padding: 0.25rem 0.375rem;
background: #fff;
border: 0.0625rem solid #e6ebf2;
border-radius: 0.25rem;
}
.search { flex:1;
.sep {
color: #99a2b3;
padding: 0 0.1875rem;
}
.search-input { width:100%; background:#f6f6f6; border-radius: 0.375rem; padding: 0.375rem;
.search-row {
display: flex;
align-items: center;
gap: 0.5rem;
}
.period { color:#999; font-size: 0.75rem; padding: 0 0.1875rem;
.search {
flex: 1;
min-width: 0;
display: flex;
}
.total { color:#18b566; font-weight: 700; padding: 0.1875rem 0.1875rem 0.375rem;
.search-input {
flex: 1;
height: 2.25rem;
line-height: 2.25rem;
padding: 0 0.75rem;
box-sizing: border-box;
background: #fff;
border-radius: 0.375rem;
color: #111;
border: 0.0625rem solid #e6ebf2;
font-size: 0.8125rem;
}
.list { flex:1;
.btn {
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
height: 2.25rem;
padding: 0 1rem;
margin-left: 0.125rem;
border-radius: 0.375rem;
background: #4C8DFF;
color: #fff;
border: none;
font-size: 0.8125rem;
box-sizing: border-box;
}
.item { display:flex; align-items:center; padding: 0.625rem 0.3125rem; border-bottom: 0.03125rem solid #f1f1f1;
.btn::after {
border: none;
}
.item-left { flex:1;
.total {
color: #4C8DFF;
font-weight: 700;
padding: 0.3125rem 0.1875rem 0.375rem;
background: #fff;
}
.date { color:#999; font-size: 0.75rem;
.list {
flex: 1;
}
.name { color:#333; margin: 0.125rem 0; font-weight: 600;
.loading {
text-align: center;
padding: 0.625rem 0;
color: #444;
}
.no { color:#bbb; font-size: 0.6875rem;
.finished {
text-align: center;
padding: 0.625rem 0;
color: #444;
}
.amount { color:#333; font-weight: 700;
.item {
display: grid;
grid-template-columns: 1fr auto auto;
align-items: center;
gap: 0.25rem;
padding: 0.5625rem 0.375rem;
border-bottom: 0.03125rem solid #e5e7eb;
}
.arrow { color:#ccc; font-size: 1.25rem; margin-left: 0.25rem;
.item-left {
display: flex;
flex-direction: column;
}
.empty { height: 50vh; display:flex; align-items:center; justify-content:center; color:#999;
.date {
color: #444;
font-size: 0.75rem;
}
.fab { position: fixed; right: 0.9375rem; bottom: 3.75rem; width: 3.125rem; height: 3.125rem; background:#18b566; color:#fff; border-radius: 1.5625rem; text-align:center; line-height: 3.125rem; font-size: 1.5rem; box-shadow: 0 0.25rem 0.625rem rgba(0,0,0,0.15);
.name {
color: #111;
margin: 0.125rem 0;
font-weight: 600;
}
.no {
color: #99a2b3;
font-size: 0.6875rem;
}
.amount {
color: #111;
font-weight: 700;
text-align: right;
}
.amount.in {
color: #16a34a;
}
.amount.out {
color: #dc2626;
}
.arrow {
color: #8c99b0;
font-size: 1.25rem;
margin-left: 0.25rem;
}
.empty {
height: 50vh;
display: flex;
align-items: center;
justify-content: center;
color: #444;
}
.fab {
position: fixed;
right: 0.9375rem;
bottom: 3.75rem;
width: 3.125rem;
height: 3.125rem;
background: #fff;
color: #4C8DFF;
border: 0.0625rem solid #4C8DFF;
border-radius: 1.5625rem;
text-align: center;
line-height: 3.125rem;
font-size: 1.5rem;
box-shadow: 0 0.25rem 0.625rem rgba(76, 141, 255, 0.18);
}

View File

@@ -1,185 +1,418 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 藏青系主色(高亮) */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* 表单控件尺寸(统一配置,避免页面内硬编码) */
body {
height: 100%;
overflow: hidden;
background: linear-gradient(180deg, #f8fbff 0%, #ffffff 60%);
}
.home {
padding-bottom: 4.375rem;
position: relative;
/* 明亮奢华背景:金属拉丝纹理覆盖层 + 柔和浅色渐变 */
background:
repeating-linear-gradient(0deg, rgba(180,180,180,0.12) 0, rgba(180,180,180,0.12) 0.0625rem, rgba(255,255,255,0.0) 0.0625rem, rgba(255,255,255,0.0) 0.3125rem),
linear-gradient(180deg, rgba(255, 255, 255, 0.75) 0%, rgba(255, 255, 255, 0.55) 40%, rgba(255, 255, 255, 0.35) 100%);
min-height: 100vh;
}
.home-bg {
position: fixed;
left: 0; top: 0; right: 0; bottom: 0;
width: 100%; height: 100%;
pointer-events: none;
z-index: -1;
height: 100vh;
display: flex;
flex-direction: column;
padding-bottom: calc(env(safe-area-inset-bottom) + 1rem);
position: relative;
/* 渐变背景:顶部淡蓝过渡到白色 */
background: linear-gradient(180deg, #f8fbff 0%, #ffffff 60%);
overflow: hidden;
box-sizing: border-box;
}
/* 公告栏 */
/* 首页横幅(移除) */
/* 公告栏 */
.notice {
margin: 0 0.75rem 0.75rem;
padding: 0.625rem 0.6875rem;
border-radius: 0.625rem;
background: rgba(255,255,255,0.78);
-webkit-backdrop-filter: blur(0.375rem);
backdrop-filter: blur(0.375rem);
border: 0.0625rem solid rgba(203, 166, 61, 0.28);
display: flex;
align-items: center;
gap: 0.5rem;
margin: 0 0.75rem 0.75rem;
padding: 0.625rem 0.6875rem;
border-radius: 0.625rem;
background: #ffffff;
border: 0.0625rem solid #e5e7eb;
display: flex;
align-items: center;
gap: 0.5rem;
}
.notice-left {
flex: 0 0 auto;
display: inline-flex; align-items: center; justify-content: center;
min-width: 3rem; height: 1.375rem;
padding: 0 0.5rem;
border-radius: 31.21875rem;
background: linear-gradient(135deg, #FFE69A, #F4CF62);
color: #3f320f;
font-size: 0.75rem;
font-weight: 800;
flex: 0 0 auto;
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 3.125rem;
height: 1.625rem;
padding: 0 0.5rem;
border-radius: 31.21875rem;
background: #4C8DFF;
color: #fff;
font-size: 0.875rem;
font-weight: 800;
}
.notice-swiper { height: 2.25rem; flex: 1;
.notice-swiper {
height: 2.25rem;
flex: 1;
}
.notice-item { display: flex; align-items: center; gap: 0.375rem; min-height: 2.25rem;
.notice-item {
display: flex;
align-items: center;
gap: 0.375rem;
min-height: 2.25rem;
}
.notice-text { color: #4b3e19; font-size: 0.875rem; line-height: 1.125rem; font-weight: 600; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
.notice-text {
color: #111;
font-size: 0.875rem;
line-height: 1.125rem;
font-weight: 600;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
.notice-tag { color: #B4880F; font-size: 0.6875rem; padding: 0.125rem 0.3125rem; border-radius: 31.21875rem; background: rgba(215,167,46,0.18);
.notice-tag {
color: #4C8DFF;
font-size: 0.6875rem;
padding: 0.125rem 0.3125rem;
border-radius: 31.21875rem;
background: rgba(76, 141, 255, 0.18);
}
/* 分割标题 */
.section-title { display: flex; align-items: center; gap: 0.5rem; padding: 0.3125rem 0.875rem 0;
/* 分割标题 */
.section-title {
display: flex;
align-items: center;
gap: 0.5rem;
padding: 0.3125rem 0.875rem 0;
flex: 0 0 auto;
}
.section-title::before { content: ''; display: block; width: 0.25rem; height: 0.875rem; border-radius: 0.25rem; background: linear-gradient(180deg, #FFE69A, #D7A72E);
.section-title::before {
content: "";
display: block;
width: 0.25rem;
height: 0.875rem;
border-radius: 0.25rem;
background: #4C8DFF;
}
.section-text { color: #6b5a2a; font-size: 0.875rem; font-weight: 700; letter-spacing: 0.03125rem;
.section-text {
color: #111;
font-size: 0.9375rem;
font-weight: 700;
letter-spacing: 0.03125rem;
}
/* 顶部英雄区:浅色玻璃卡片,带金色描边与柔和阴影 */
/* 顶部英雄区:浅色玻璃卡片,带金色描边与柔和阴影 */
.hero {
margin: 0.75rem;
padding: 1rem;
border-radius: 0.875rem;
background: rgba(255, 255, 255, 0.65);
-webkit-backdrop-filter: blur(0.4375rem);
backdrop-filter: blur(0.4375rem);
border: 0.0625rem solid rgba(203, 166, 61, 0.35);
box-shadow: 0 0.375rem 0.875rem rgba(0, 0, 0, 0.10), 0 0 0 0.0625rem rgba(255,255,255,0.60) inset;
color: #473c22;
margin: 0.5rem 0.625rem;
padding: 0.5625rem 0.5625rem 0.375rem;
border-radius: 0.625rem;
background: #ffffff;
border: 0.0625rem solid #e5e7eb;
box-shadow: none;
color: #111;
flex: 0 0 auto;
}
.hero-top {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 0.625rem;
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 0.625rem;
}
.hero-sub {
display: flex;
gap: 0.375rem;
margin-bottom: 0.6875rem;
flex-wrap: wrap;
}
.chip {
padding: 0.25rem 0.5rem;
border-radius: 31.21875rem;
background: rgba(76, 141, 255, 0.1);
color: #4C8DFF;
font-size: 0.75rem;
font-weight: 700;
border: 0.0625rem solid rgba(76, 141, 255, 0.25);
}
.brand {
font-size: 1.3125rem;
font-weight: 700;
letter-spacing: 0.0625rem;
color: #B4880F; /* 金色标题 */
font-size: 1.125rem;
font-weight: 700;
letter-spacing: 0.03125rem;
color: #4C8DFF;
}
.cta {
padding: 0.3125rem 0.6875rem;
border-radius: 31.21875rem;
background: linear-gradient(135deg, rgba(255, 220, 128, 0.65), rgba(255, 240, 190, 0.65));
border: 0.0625rem solid rgba(203, 166, 61, 0.45);
box-shadow: 0 0.1875rem 0.4375rem rgba(203, 166, 61, 0.25);
padding: 0.25rem 0.5625rem;
border-radius: 31.21875rem;
background: #4C8DFF;
border: 0.0625rem solid #4C8DFF;
box-shadow: none;
}
.cta-text { color: #5a4712; font-size: 0.8125rem;
}
.kpi { display: flex;
}
.kpi-item { flex: 1;
}
.kpi-label { opacity: 0.9; font-size: 0.75rem; color: #6b5a2a;
}
.kpi-value { display: block; margin-top: 0.375rem; font-size: 1.4375rem; font-weight: 800; color: #B4880F;
.cta-text {
color: #fff;
font-size: 0.9375rem;
font-weight: 700;
letter-spacing: 0.03125rem;
}
/* 功能容器:整体玻璃面板,增强融入感 */
.grid-wrap {
margin: 0 0.625rem 1rem;
padding: 0.875rem 0.625rem 0.375rem;
border-radius: 0.75rem;
background: rgba(255,255,255,0.55);
-webkit-backdrop-filter: blur(0.3125rem);
backdrop-filter: blur(0.3125rem);
border: 0.0625rem solid rgba(203,166,61,0.22);
box-shadow: 0 0.25rem 0.5625rem rgba(0,0,0,0.06);
/* 简易弹层样式 */
.dialog-mask {
position: fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.45);
display: flex;
align-items: center;
justify-content: center;
z-index: 10000;
}
.dialog {
width: 82vw;
background: #fff;
border-radius: 0.5rem;
padding: 0.625rem;
border: 0.0625rem solid #eef2f6;
}
.dialog-title {
font-size: 1rem;
font-weight: 800;
color: #111;
margin-bottom: 0.5rem;
}
.dialog-textarea {
width: 100%;
min-height: 5.625rem;
border: 0.0625rem solid #e8eef8;
border-radius: 0.375rem;
padding: 0.375rem;
box-sizing: border-box;
}
.dialog-actions {
display: flex;
justify-content: flex-end;
gap: 0.5625rem;
margin-top: 0.5rem;
}
.btn {
padding: 0.3125rem 0.6875rem;
border-radius: 31.21875rem;
background: #f3f6fb;
color: #334155;
border: 0.0625rem solid #e2e8f0;
font-weight: 700;
}
.btn.primary {
background: #4C8DFF;
color: #fff;
border-color: #4C8DFF;
}
/* 功能九宫格 */
/* KPI 卡片化布局:横向铺满 */
.kpi {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 0.375rem;
}
.kpi-item {
text-align: center;
background: #ffffff;
border: 0.0625rem solid #e5e7eb;
border-radius: 0.5rem;
padding: 0.5rem 0.25rem;
}
/* KPI 卡片(更扁平,降低高度) */
.kpi-grid {
gap: 0.375rem;
}
.kpi-card {
display: flex;
flex-direction: column;
align-items: flex-start;
justify-content: center;
gap: 0.25rem;
text-align: left;
padding: 0.375rem 0.4375rem;
border-radius: 0.4375rem;
background: #fff;
border: 0.0625rem solid #eef2f6;
box-shadow: 0 0.0625rem 0.25rem rgba(0, 0, 0, 0.04);
min-height: 3.75rem;
}
.kpi-icon {
width: 1.375rem;
height: 1.375rem;
opacity: 0.9;
}
.kpi-content {
display: flex;
flex-direction: column;
}
.kpi-label {
color: #6b778c;
font-weight: 700;
font-size: 0.75rem;
line-height: 0.9375rem;
}
.kpi-value {
color: #4C8DFF;
font-size: 1.0625rem;
line-height: 1.1875rem;
margin-top: 0;
font-weight: 800;
}
/* 常用功能:胶囊+阴影卡片样式的图标栅格(旧风格保留以防回退) */
.grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-row-gap: 2rem;
grid-column-gap: 1.125rem;
padding: 1.25rem 0.875rem 0.875rem;
grid-row-gap: 1.125rem;
grid-column-gap: 0.8125rem;
padding: 1rem 0.75rem 0.875rem;
}
.grid-item { display: flex; flex-direction: column; align-items: center; text-align: center;
}
.icon { display: flex; align-items: center; justify-content: center; color: #6b5a2a; position: relative;
.grid-item {
position: relative;
}
.icon-squircle {
width: 4.125rem; height: 4.125rem;
border-radius: 0.875rem;
background: linear-gradient(145deg, rgba(255,255,255,0.92), rgba(255,255,255,0.70));
-webkit-backdrop-filter: blur(0.375rem);
backdrop-filter: blur(0.375rem);
border: 0.0625rem solid rgba(203,166,61,0.22);
box-shadow: 0 0.3125rem 0.75rem rgba(0,0,0,0.10), 0 0 0 0.0625rem rgba(255,255,255,0.65) inset;
overflow: hidden;
width: 4.375rem;
height: 4.375rem;
border-radius: 0.875rem;
background: #fff;
border: 0.0625rem solid #e5e7eb;
box-shadow: 0 0.3125rem 0.625rem rgba(0, 0, 0, 0.06);
}
.icon-squircle::before { content: ''; position: absolute; left: -30%; top: -40%; width: 160%; height: 70%; background: linear-gradient( to bottom, rgba(255,255,255,0.9), rgba(255,255,255,0.0) ); transform: rotate(12deg);
}
.icon-img { width: 3rem; height: 3rem;
}
.icon-emoji { font-size: 1.875rem; line-height: 1;
}
.icon-placeholder { width: 2.625rem; height: 2.625rem; border-radius: 0.5625rem; background:
linear-gradient(135deg, rgba(212,175,55,0.18), rgba(255,255,255,0.0)),
repeating-linear-gradient(90deg, rgba(180,150,60,0.35) 0, rgba(180,150,60,0.35) 0.25rem, transparent 0.25rem, transparent 0.5rem),
repeating-linear-gradient(0deg, rgba(180,150,60,0.20) 0, rgba(180,150,60,0.20) 0.25rem, transparent 0.25rem, transparent 0.5rem);
box-shadow: inset 0 0 0 0.0625rem rgba(203,166,61,0.28);
}
.icon-text { font-size: 1.4375rem; font-weight: 700;
}
.grid-title { display: none;
}
.grid-chip { margin-top: 0.4375rem; padding: 0.1875rem 0.4375rem; border-radius: 31.21875rem; background: rgba(215,167,46,0.16); color: #5a4a1f; font-size: 0.6875rem;
.grid-chip {
margin-top: 0.375rem;
padding: 0.1875rem 0.4375rem;
border-radius: 31.21875rem;
background: rgba(76, 141, 255, 0.12);
color: #4C8DFF;
font-size: 0.8125rem;
font-weight: 700;
}
/* 底部操作条:浅色半透明 + 金色主按钮 */
/* 功能容器:更轻的留白 */
.grid-wrap {
flex: 1 1 auto;
display: flex;
align-items: stretch;
justify-content: center;
margin: 0.5rem 0.625rem 0.875rem;
padding: 1rem 0.9375rem;
border-radius: 0.8125rem;
background: rgba(255, 255, 255, 0.96);
border: 0.0625rem solid #edf2f9;
box-shadow: 0 0.375rem 0.875rem rgba(32, 75, 143, 0.1);
box-sizing: border-box;
}
/* 功能卡片宫格:方形竖排,图标在上文字在下(与截图一致) */
.feature-grid {
flex: 1 1 auto;
width: 100%;
height: 100%;
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
grid-auto-rows: 1fr;
gap: 1rem 0.875rem;
align-content: space-evenly;
justify-items: center;
}
.feature-card {
width: 5.25rem;
height: 5.5rem;
background: #fff;
border: 0.0625rem solid #eef2f6;
border-radius: 0.625rem;
box-shadow: 0 0.3125rem 0.75rem rgba(0, 0, 0, 0.05);
padding: 0.5625rem 0.5rem;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.fc-icon {
width: 2.4375rem;
height: 2.4375rem;
border-radius: 0.5625rem;
background: #f7faff;
display: flex;
align-items: center;
justify-content: center;
}
.fc-img {
width: 1.6875rem;
height: 1.6875rem;
opacity: 0.95;
}
.fc-emoji {
font-size: 1.5rem;
}
.fc-placeholder {
width: 1.75rem;
height: 1.75rem;
border-radius: 0.375rem;
background: #f1f1f1;
border: 0.0625rem solid #e8eef8;
}
.fc-title {
margin-top: 0.375rem;
font-size: 0.875rem;
font-weight: 700;
color: #111;
letter-spacing: 0.03125rem;
}
/* 底部操作条:浅色半透明 + 金色主按钮 */
.bottom-bar {
position: fixed;
left: 0; right: 0; bottom: 0;
display: flex;
align-items: center;
justify-content: space-around;
padding: 0.4375rem 0.5625rem calc(env(safe-area-inset-bottom) + 0.4375rem);
background: rgba(255,255,255,0.85);
box-shadow: 0 -0.1875rem 0.5625rem rgba(0,0,0,0.08);
-webkit-backdrop-filter: blur(0.3125rem);
backdrop-filter: blur(0.3125rem);
z-index: 9999;
position: fixed;
left: 0;
right: 0;
bottom: 0;
display: flex;
align-items: center;
justify-content: space-around;
padding: 0.4375rem 0.5625rem calc(env(safe-area-inset-bottom) + 0.4375rem);
background: rgba(255, 255, 255, 0.85);
box-shadow: 0 -0.1875rem 0.5625rem rgba(0, 0, 0, 0.08);
-webkit-backdrop-filter: blur(0.3125rem);
backdrop-filter: blur(0.3125rem);
z-index: 9999;
}
.tab { flex: 1; text-align: center; color: #8a7535; font-size: 0.8125rem;
.tab {
flex: 1;
text-align: center;
color: #8a7535;
font-size: 0.8125rem;
}
.tab.active { color: #B4880F;
.tab.active {
color: #B4880F;
}
.tab.primary {
flex: 0 0 auto;
min-width: 5.625rem;
margin: 0 0.5625rem;
padding: 0.5625rem 1rem;
background: linear-gradient(135deg, #FFE69A 0%, #F4CF62 45%, #D7A72E 100%);
color: #493c1b;
border-radius: 31.21875rem;
font-size: 0.9375rem;
font-weight: 800;
box-shadow: 0 0.3125rem 0.6875rem rgba(215,167,46,0.25), 0 0 0 0.0625rem rgba(255,255,255,0.70) inset;
}
flex: 0 0 auto;
min-width: 5.625rem;
margin: 0 0.5625rem;
padding: 0.5625rem 1rem;
background: linear-gradient(135deg, #FFE69A 0%, #F4CF62 45%, #D7A72E 100%);
color: #493c1b;
border-radius: 31.21875rem;
font-size: 0.9375rem;
font-weight: 800;
box-shadow: 0 0.3125rem 0.6875rem rgba(215, 167, 46, 0.25), 0 0 0 0.0625rem rgba(255, 255, 255, 0.7) inset;
}

View File

@@ -1,21 +1,75 @@
.about { padding: 0.75rem;
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 藏青系主色(高亮) */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* 表单控件尺寸(统一配置,避免页面内硬编码) */
.about {
padding: 0.75rem;
}
.hero { padding: 1rem 0.75rem; display: flex; flex-direction: column; align-items: center; gap: 0.3125rem;
.hero {
padding: 1rem 0.75rem;
display: flex;
flex-direction: column;
align-items: center;
gap: 0.3125rem;
}
.logo { width: 5rem; height: 5rem; border-radius: 1rem;
.logo {
width: 5rem;
height: 5rem;
border-radius: 1rem;
}
.title { margin-top: 0.25rem; font-size: 1.125rem; font-weight: 800; color: #333;
.title {
margin-top: 0.25rem;
font-size: 1.125rem;
font-weight: 800;
color: #111;
}
.subtitle { font-size: 0.8125rem; color: #888;
.subtitle {
font-size: 0.8125rem;
color: #444;
}
.card { margin-top: 0.5625rem; background: #fff; border-radius: 0.5rem; overflow: hidden;
.card {
margin-top: 0.5625rem;
background: #ffffff;
border-radius: 0.5rem;
overflow: hidden;
}
.row { display: flex; align-items: center; padding: 0.75rem; border-top: 0.03125rem solid #f2f2f2;
.row {
display: flex;
align-items: center;
padding: 0.75rem;
border-top: 0.03125rem solid #e5e7eb;
}
.label { color: #666;
.label {
color: #444;
}
.value { margin-left: auto; color: #333;
}
.link { margin-left: auto; color: #1aad19;
.value {
margin-left: auto;
color: #111;
}
.link {
margin-left: auto;
color: #4C8DFF;
}

View File

@@ -1,27 +1,254 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 藏青系主色(高亮) */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* 表单控件尺寸(统一配置,避免页面内硬编码) */
.me {
padding: 0.75rem;
}
.card.login {
display: flex;
flex-direction: column;
gap: 0.5rem;
padding: 0.6875rem;
background: #ffffff;
border-radius: 0.5rem;
margin-bottom: 0.75rem;
}
.login-title {
font-size: 0.875rem;
font-weight: 700;
}
.login-btn.minor {
background: #f1f1f1;
color: #111;
}
.hint {
font-size: 0.6875rem;
color: #444;
}
.card.user {
display: flex;
gap: 0.5625rem;
padding: 0.6875rem;
background: #ffffff;
border-radius: 0.5rem;
box-shadow: 0 0.1875rem 0.5rem rgba(0, 0, 0, 0.16);
align-items: center;
}
.card.user.guest {
justify-content: space-between;
}
.card.user.guest .meta {
flex: 1;
}
.card.user.guest .login-entry {
padding: 0.375rem 0.9375rem;
border-radius: 31.21875rem;
background: #4C8DFF;
color: #fff;
font-size: 0.875rem;
font-weight: 600;
}
.avatar {
width: 3.75rem;
height: 3.75rem;
border-radius: 1.875rem;
background: #f1f1f1;
}
.meta {
display: flex;
flex-direction: column;
gap: 0.1875rem;
}
.name {
font-size: 1.0625rem;
font-weight: 700;
color: #111;
}
.phone {
font-size: 0.8125rem;
color: #444;
}
.role {
font-size: 0.6875rem;
color: #444;
}
.me { padding: 0.75rem;
/* VIP 卡片样式 */
.card.vip {
margin-top: 0.75rem;
padding: 0.6875rem;
background: #ffffff;
border-radius: 0.5rem;
box-shadow: 0 0.1875rem 0.5rem rgba(0, 0, 0, 0.12);
}
.card.user { display: flex; gap: 0.5625rem; padding: 0.6875rem; background: #fff; border-radius: 0.5rem; box-shadow: 0 0.1875rem 0.5rem rgba(0,0,0,0.06); align-items: center;
.card.vip.active {
border: 0.03125rem solid rgba(255, 208, 0, 0.6);
background-image: radial-gradient(60% 60% at 80% 0%, rgba(255, 214, 0, 0.08), transparent 60%);
}
.avatar { width: 3.75rem; height: 3.75rem; border-radius: 1.875rem; background: #f5f5f5;
.vip-row {
display: flex;
align-items: center;
gap: 0.375rem;
margin-bottom: 0.3125rem;
}
.meta { display: flex; flex-direction: column; gap: 0.1875rem;
.vip-badge {
background: #f1c40f;
color: #111;
font-weight: 800;
padding: 0.0625rem 0.3125rem;
border-radius: 0.25rem;
font-size: 0.6875rem;
}
.name { font-size: 1.0625rem; font-weight: 700; color: #333;
.vip-title {
font-size: 0.875rem;
font-weight: 700;
color: #111;
}
.phone { font-size: 0.8125rem; color: #888;
.vip-meta {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 0.25rem 0.5rem;
}
.role { font-size: 0.6875rem; color: #999;
.vip-meta .item {
display: flex;
align-items: center;
gap: 0.3125rem;
}
.group { margin-top: 0.75rem; background: #fff; border-radius: 0.5rem; overflow: hidden;
.vip-meta .label {
width: 2.5rem;
color: #444;
font-size: 0.75rem;
}
.group-title { padding: 0.5625rem 0.6875rem; font-size: 0.8125rem; color: #999; background: #fafafa;
.vip-meta .value {
color: #111;
font-size: 0.8125rem;
word-break: break-all;
}
.cell { display: flex; align-items: center; padding: 0.8125rem 0.6875rem; border-top: 0.03125rem solid #f0f0f0; color: #333;
.group {
margin-top: 0.75rem;
background: #ffffff;
border-radius: 0.5rem;
overflow: hidden;
}
.cell .desc { margin-left: auto; margin-right: 0.25rem; font-size: 0.6875rem; color: #999;
.group-title {
padding: 0.5625rem 0.6875rem;
font-size: 0.8125rem;
color: #444;
background: #f1f1f1;
}
.cell .arrow { margin-left: auto; color: #bbb;
.cell {
display: flex;
align-items: center;
padding: 0.8125rem 0.6875rem;
border-top: 0.03125rem solid #e5e7eb;
color: #111;
gap: 0.5625rem;
}
.cell.danger { color: #dd524d; justify-content: center; font-weight: 700;
.cell-left {
display: flex;
align-items: center;
gap: 0.4375rem;
}
.vip-tag {
padding: 0.125rem 0.375rem;
border-radius: 31.21875rem;
background: rgba(76, 141, 255, 0.15);
color: #4C8DFF;
font-size: 0.6875rem;
}
.vip-tag.pending {
background: rgba(76, 141, 255, 0.06);
color: #99a2b3;
}
.cell .desc {
margin-left: auto;
margin-right: 0.25rem;
font-size: 0.6875rem;
color: #444;
}
.cell .arrow {
margin-left: auto;
color: #99a2b3;
}
.cell.danger {
color: #dd524d;
justify-content: center;
font-weight: 700;
}
/* 简易对话框样式 */
.dialog-mask {
position: fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.45);
display: flex;
align-items: center;
justify-content: center;
z-index: 999;
}
.dialog {
width: 18.75rem;
background: #fff;
border-radius: 0.5rem;
padding: 0.75rem;
box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.2);
}
.dialog-title {
font-size: 0.9375rem;
font-weight: 700;
margin-bottom: 0.5rem;
}
.dialog-input {
width: 100%;
height: 2.25rem;
padding: 0 0.5rem;
border: 0.03125rem solid #e5e7eb;
border-radius: 0.3125rem;
background: #fff;
color: #111;
}
.dialog-actions {
display: flex;
gap: 0.5rem;
margin-top: 0.5625rem;
justify-content: flex-end;
}
.dialog-btn {
padding: 0.5rem 0.6875rem;
border-radius: 0.3125rem;
}
.dialog-btn.cancel {
background: #f1f1f1;
color: #111;
}
.dialog-btn.confirm {
background: #2979ff;
color: #fff;
}

View File

@@ -0,0 +1,73 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 藏青系主色(高亮) */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* 表单控件尺寸(统一配置,避免页面内硬编码) */
.orders {
padding: 0.5rem 0.5rem calc(env(safe-area-inset-bottom) + 0.5rem);
}
.hint {
color: #444;
padding: 0.75rem;
text-align: center;
}
.item {
background: #fff;
border: 0.03125rem solid #e5e7eb;
border-radius: 0.5rem;
padding: 0.5625rem;
margin: 0.375rem 0;
}
.row1 {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 0.1875rem;
}
.price {
color: #111;
font-weight: 800;
font-size: 1.0625rem;
}
.channel {
color: #666;
font-size: 0.75rem;
}
.row2 {
display: flex;
justify-content: space-between;
color: #666;
font-size: 0.75rem;
}
.row3 {
margin-top: 0.1875rem;
color: #4C8DFF;
font-size: 0.75rem;
}
.empty {
text-align: center;
color: #999;
padding: 1.25rem 0;
}

View File

@@ -0,0 +1,99 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 藏青系主色(高亮) */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* 表单控件尺寸(统一配置,避免页面内硬编码) */
.security {
padding: 0.75rem;
}
.card {
background: #ffffff;
border-radius: 0.5rem;
padding: 0.6875rem;
margin-bottom: 0.75rem;
box-shadow: 0 0.1875rem 0.5rem rgba(0, 0, 0, 0.08);
}
.cell {
display: flex;
align-items: center;
gap: 0.5rem;
padding: 0.625rem 0;
border-bottom: 0.03125rem solid #e5e7eb;
}
.cell:last-of-type {
border-bottom: none;
}
.cell-label {
flex: 1;
font-size: 0.875rem;
color: #111;
}
.cell-input {
flex: 2;
height: 2.25rem;
padding: 0 0.5rem;
border: 0.03125rem solid #e5e7eb;
border-radius: 0.3125rem;
background: #fff;
color: #111;
}
.avatar-preview {
width: 3.125rem;
height: 3.125rem;
border-radius: 0.5rem;
background: #f1f1f1;
}
.arrow {
margin-left: 0.375rem;
color: #99a2b3;
font-size: 1rem;
}
.row {
display: flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.5rem;
}
.label {
width: 5rem;
color: #111;
font-size: 0.875rem;
}
.input {
flex: 1;
height: 2.25rem;
padding: 0 0.5rem;
border: 0.03125rem solid #e5e7eb;
border-radius: 0.3125rem;
background: #fff;
color: #111;
}
.btn {
margin-top: 0.25rem;
}
.btn.minor {
background: #f1f1f1;
color: #111;
}

View File

@@ -0,0 +1,289 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 藏青系主色(高亮) */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* 表单控件尺寸(统一配置,避免页面内硬编码) */
body {
background: linear-gradient(180deg, #f8fbff 0%, #ffffff 60%) !important;
}
.vip-page {
min-height: 100vh;
padding: 1rem 0.75rem 3.75rem;
box-sizing: border-box;
display: flex;
flex-direction: column;
gap: 0.875rem;
}
.vip-hero {
display: flex;
align-items: center;
gap: 0.625rem;
padding: 0.8125rem 0.875rem;
border-radius: 0.75rem;
background: rgba(255, 255, 255, 0.98);
border: 0.0625rem solid #edf2f9;
box-shadow: 0 0.3125rem 0.9375rem rgba(76, 141, 255, 0.12);
}
.hero-icon {
width: 2.75rem;
height: 2.75rem;
border-radius: 0.75rem;
background: #f0f6ff;
padding: 0.375rem;
}
.hero-text {
flex: 1;
display: flex;
flex-direction: column;
gap: 0.25rem;
}
.hero-title {
font-size: 1.125rem;
font-weight: 800;
color: #4C8DFF;
letter-spacing: 0.03125rem;
}
.hero-subtitle {
font-size: 0.8125rem;
color: #5175b5;
line-height: 1.125rem;
}
.status-pill {
flex: 0 0 auto;
padding: 0.375rem 0.625rem;
border-radius: 31.21875rem;
background: #e6edfb;
color: #4463a6;
font-size: 0.75rem;
font-weight: 700;
border: 0.0625rem solid rgba(76, 141, 255, 0.2);
}
.status-pill.active {
background: #4c8dff;
color: #fff;
border-color: #4c8dff;
}
/* 指定 hero 内激活态徽标文本为黑色 */
.vip-hero .status-pill.active uni-text {
color: #000 !important;
}
.vip-summary {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.5rem;
background: rgba(255, 255, 255, 0.98);
padding: 0.75rem;
border-radius: 0.75rem;
border: 0.0625rem solid #eef3fb;
box-shadow: 0 0.25rem 0.75rem rgba(99, 132, 191, 0.1);
}
.summary-item {
background: #f6f9ff;
border-radius: 0.5625rem;
padding: 0.6875rem 0.75rem;
display: flex;
flex-direction: column;
gap: 0.375rem;
border: 0.0625rem solid rgba(76, 141, 255, 0.12);
}
.summary-label {
font-size: 0.75rem;
color: #5f7394;
}
.summary-value {
font-size: 0.9375rem;
font-weight: 700;
color: #1f2c3d;
}
.summary-value.success {
color: #1ead91;
}
.summary-value.highlight {
color: #2f58d1;
}
.benefit-section {
background: rgba(255, 255, 255, 0.98);
border-radius: 0.75rem;
padding: 0.875rem;
border: 0.0625rem solid #edf2f9;
box-shadow: 0 0.375rem 0.875rem rgba(32, 75, 143, 0.1);
display: flex;
flex-direction: column;
gap: 0.75rem;
}
.section-header {
display: flex;
flex-direction: column;
gap: 0.25rem;
}
.section-title {
font-size: 1.0625rem;
font-weight: 800;
color: #111;
}
.section-subtitle {
font-size: 0.75rem;
color: #5f7394;
line-height: 1.0625rem;
}
.benefit-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 0.625rem;
}
.benefit-card {
background: #f7faff;
border-radius: 0.625rem;
padding: 0.75rem 0.625rem;
border: 0.0625rem solid rgba(76, 141, 255, 0.12);
box-shadow: 0 0.25rem 0.625rem rgba(0, 0, 0, 0.04);
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 0.4375rem;
}
.benefit-icon {
width: 1.5rem;
height: 1.5rem;
}
.benefit-title {
font-size: 0.875rem;
font-weight: 700;
color: #111;
}
.benefit-desc {
font-size: 0.75rem;
line-height: 1.0625rem;
color: #5f7394;
}
.purchase-card {
margin-top: auto;
background: linear-gradient(135deg, rgba(76, 141, 255, 0.14) 0%, rgba(76, 141, 255, 0.06) 100%);
border-radius: 0.875rem;
padding: 0.9375rem 0.875rem;
display: flex;
align-items: center;
gap: 0.75rem;
border: 0.0625rem solid rgba(76, 141, 255, 0.18);
box-shadow: 0 0.3125rem 0.75rem rgba(76, 141, 255, 0.15);
}
.purchase-text {
flex: 1;
display: flex;
flex-direction: column;
gap: 0.3125rem;
}
.purchase-title {
font-size: 1rem;
font-weight: 800;
color: #4C8DFF;
}
.purchase-desc {
font-size: 0.75rem;
color: #4463a6;
line-height: 1.0625rem;
}
.purchase-btn {
flex: 0 0 auto;
padding: 0.625rem 1.125rem;
border-radius: 31.21875rem;
border: none;
background: linear-gradient(135deg, #4788ff 0%, #2d6be6 100%);
color: #fff;
font-size: 0.875rem;
font-weight: 700;
box-shadow: 0 0.3125rem 0.6875rem rgba(45, 107, 230, 0.2);
}
.purchase-btn:active {
opacity: 0.88;
}
.apply-card {
margin-top: 0;
background: linear-gradient(135deg, rgba(30, 173, 145, 0.14) 0%, rgba(30, 173, 145, 0.06) 100%);
border-radius: 0.875rem;
padding: 0.9375rem 0.875rem;
display: flex;
align-items: center;
gap: 0.75rem;
border: 0.0625rem solid rgba(30, 173, 145, 0.18);
box-shadow: 0 0.3125rem 0.75rem rgba(30, 173, 145, 0.15);
}
.apply-text {
flex: 1;
display: flex;
flex-direction: column;
gap: 0.3125rem;
}
.apply-title {
font-size: 1rem;
font-weight: 800;
color: #1ead91;
}
.apply-desc {
font-size: 0.75rem;
color: #247a66;
line-height: 1.0625rem;
}
.apply-btn {
flex: 0 0 auto;
padding: 0.625rem 1.125rem;
border-radius: 31.21875rem;
border: none;
background-color: transparent;
background: linear-gradient(135deg, #1ead91 0%, #159b7e 100%);
color: #fff;
font-size: 0.875rem;
font-weight: 700;
box-shadow: 0 0.3125rem 0.6875rem rgba(21, 155, 126, 0.2);
}
.apply-btn::after {
border: none;
}
.apply-btn:active {
opacity: 0.9;
}
.apply-btn.disabled {
opacity: 0.5;
background: #c7e8df;
color: #fff;
box-shadow: none;
pointer-events: none;
}
@media (max-width: 375px) {
.vip-summary {
grid-template-columns: 1fr;
}
.benefit-grid {
grid-template-columns: 1fr;
}
.purchase-card {
flex-direction: column;
align-items: stretch;
}
.status-pill {
display: none;
}
}

View File

@@ -1,59 +1,281 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 藏青系主色(高亮) */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* 表单控件尺寸(统一配置,避免页面内硬编码) */
.order {
padding-bottom: 4.375rem;
}
.tabs {
display: flex;
justify-content: space-around;
padding: 0.5rem 0.75rem;
}
.tabs uni-text {
color: #444;
}
.tabs uni-text.active {
color: #111;
font-weight: 700;
}
.order { padding-bottom: 4.375rem;
/* 三段式胶囊切换 */
.seg3 {
display: flex;
gap: 0;
margin: 0.375rem 0.5rem;
padding: 0.1875rem;
background: #fff;
border-radius: 31.21875rem;
box-shadow: 0 0.125rem 0.375rem rgba(0, 0, 0, 0.04);
}
.tabs { display: flex; justify-content: space-around; padding: 0.5rem 0.75rem;
.seg3-item {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
gap: 0.25rem;
padding: 0.375rem 0;
color: #111;
border-radius: 31.21875rem;
transition: box-shadow 0.2s ease, background 0.2s ease;
}
.tabs uni-text { color: #666;
/* 间隔通过内边距处理,避免空选择器 */
.seg3-item.active {
background: #fff;
color: #4C8DFF;
box-shadow: 0 0.09375rem 0.3125rem rgba(76, 141, 255, 0.16);
}
.tabs uni-text.active { color: #333; font-weight: 700;
.seg3-icon {
width: 0.875rem;
height: 0.875rem;
opacity: 0.9;
}
.subtabs { display: flex; gap: 0.5rem; padding: 0 0.75rem 0.5rem;
.field {
display: flex;
align-items: center;
justify-content: flex-start;
padding: 0.6875rem 0.75rem;
background: #f8faff;
gap: 0.5rem;
}
.subbtn { padding: 0.3125rem 0.625rem; border-radius: 31.21875rem; background: #f4f4f4; color: #666;
.label {
width: 5rem;
color: #444;
}
.subbtn.active { background: #ffe69a; color: #3f320f;
.value {
flex: 1;
color: #111;
text-align: right;
}
.field { display:flex; justify-content: space-between; padding: 0.6875rem 0.75rem; background: #fff; border-bottom: 0.03125rem solid #eee;
/* 汇总卡片:白底卡片+主色按钮 */
.summary {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0.5625rem 0.625rem;
margin: 0.5rem 0.5625rem 0.3125rem;
background: none;
border-radius: 0.5625rem;
color: #111;
}
.label { color:#666;
/* 加号改为图标按钮 */
.add {
margin: 0.75rem auto 0.5625rem;
width: 3.75rem;
height: 3.75rem;
border-radius: 0.875rem;
background: none;
border: 0;
color: #4C8DFF;
font-size: 2.25rem;
display: flex;
align-items: center;
justify-content: center;
box-shadow: none;
}
.value { color:#333;
.empty {
display: flex;
flex-direction: column;
align-items: center;
padding: 1.875rem 0;
color: #444;
}
.summary { display:flex; justify-content: space-between; padding: 0.6875rem 0.75rem; color:#333;
.empty-img {
width: 5rem;
margin-bottom: 0.5rem;
}
.add { margin: 0.75rem auto; width: 3.75rem; height: 3.75rem; border-radius: 0.625rem; background: #c7eef7; color:#16a1c4; font-size: 2.25rem; display:flex; align-items:center; justify-content:center;
.empty-text {
margin-bottom: 0.25rem;
}
.empty { display:flex; flex-direction: column; align-items:center; padding: 1.875rem 0; color:#888;
.list {
background: #fff;
margin: 0 0.5625rem 0.625rem;
border-radius: 0.5625rem;
overflow: hidden;
box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.06);
}
.empty-img { width: 6.875rem; margin-bottom: 0.625rem;
.row {
display: grid;
grid-template-columns: 1.5fr 1fr 1fr 1fr;
gap: 0.375rem;
padding: 0.5625rem 0.5rem;
align-items: center;
}
.empty-text { margin-bottom: 0.25rem;
.col.name {
padding-left: 0.375rem;
}
.list { background:#fff;
.col.amount {
text-align: right;
padding-right: 0.375rem;
color: #111;
}
.row { display:grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 0.375rem; padding: 0.5rem 0.375rem; align-items:center; border-bottom: 0.03125rem solid #f3f3f3;
.bottom {
position: fixed;
left: 0;
right: 0;
bottom: 0;
background: #ffffff;
padding: 0.1875rem 0.5625rem calc(env(safe-area-inset-bottom) + 0.0625rem);
box-shadow: 0 -0.125rem 0.375rem rgba(0, 0, 0, 0.16);
}
.col.name { padding-left: 0.375rem;
.order .bottom uni-button {
margin: 0;
}
.col.amount { text-align:right; padding-right: 0.375rem; color:#333;
/* 仅限开单页底部按钮样式(缩小高度) */
.order .bottom .primary {
width: 100%;
background: #4C8DFF;
color: #fff;
border-radius: 31.21875rem;
padding: 0.4375rem 0;
font-weight: 700;
font-size: 0.875rem;
}
.bottom { position: fixed; left:0; right:0; bottom:0; background:#fff; padding: 0.5rem 0.75rem calc(env(safe-area-inset-bottom) + 0.5rem); box-shadow: 0 -0.125rem 0.375rem rgba(0,0,0,0.06);
.order .bottom .ghost {
background: transparent;
color: #4C8DFF;
border: 0;
border-radius: 31.21875rem;
padding: 0.375rem 0;
font-size: 0.875rem;
}
.primary { width: 100%; background: linear-gradient(135deg, #FFE69A 0%, #F4CF62 45%, #D7A72E 100%); color:#493c1b; border-radius: 31.21875rem; padding: 0.625rem 0; font-weight:800;
/* 收款/付款页样式 */
.pay-row .pay-input {
text-align: right;
color: #111;
}
/* 收款/付款页样式 */
.pay-row .pay-input { text-align: right; color:#333;
.textarea {
position: relative;
padding: 0.5rem 0.75rem;
background: #f8faff;
}
.textarea { position: relative; padding: 0.5rem 0.75rem; background:#fff; border-top: 0.03125rem solid #eee;
.amount-badge {
position: absolute;
right: 0.75rem;
top: -1rem;
background: #4C8DFF;
color: #fff;
padding: 0.3125rem 0.625rem;
border-radius: 0.4375rem;
font-size: 0.75rem;
}
.amount-badge { position: absolute; right: 0.75rem; top: -1.125rem; background: #d1f0ff; color:#107e9b; padding: 0.25rem 0.5rem; border-radius: 0.375rem; font-size: 0.75rem;
.date-mini {
position: absolute;
right: 0.75rem;
bottom: 0.625rem;
color: #444;
font-size: 0.75rem;
}
.date-mini { position: absolute; right: 0.75rem; bottom: 0.625rem; color:#666; font-size: 0.75rem;
/* 分类chips样式选中后文字变红 */
.chips {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.375rem 0.5rem;
padding: 0.375rem 0.75rem;
}
/* 分类chips样式选中后文字变红 */
.chips { display:flex; flex-wrap: wrap; gap: 0.375rem; padding: 0.375rem 0.75rem;
.chip {
padding: 0.375rem 0.625rem;
border-radius: 31.21875rem;
background: #f1f1f1;
color: #444;
text-align: center;
}
.chip { padding: 0.3125rem 0.625rem; border-radius: 31.21875rem; background: #f4f4f4; color:#666;
.chip.active {
background: rgba(76, 141, 255, 0.15);
color: #4C8DFF;
}
.chip.active { color: #e54d42;
/* 顶部业务 Tabs 显示 */
/* 快捷操作宫格 */
/* 信息卡片式表达(更稳重) */
.info-card {
display: grid;
grid-template-columns: 1fr 1fr auto;
gap: 0.3125rem;
margin: 0.3125rem 0.375rem 0;
background: transparent;
padding: 0;
align-items: center;
}
.info-field {
background: #fff;
border: 0;
border-radius: 0.4375rem;
padding: 0.375rem 0.4375rem;
box-shadow: 0 0.1875rem 0.5rem rgba(0, 0, 0, 0.06);
}
.info-label {
color: #444;
font-size: 0.75rem;
margin-right: 0.25rem;
}
.info-value {
color: #111;
font-weight: 700;
}
/* 缩小“加商品”按钮尺寸,仅在本页卡片内 */
.order .info-card .info-action {
display: flex;
align-items: center;
gap: 0.1875rem;
background: #4C8DFF;
color: #fff;
border-radius: 0.375rem;
padding: 0.25rem 0.375rem;
box-shadow: 0 0.15625rem 0.375rem rgba(76, 141, 255, 0.18);
font-size: 0.8125rem;
}
.order .info-card .info-icon {
width: 0.75rem;
height: 0.75rem;
}

View File

@@ -9,25 +9,169 @@
}
.thumb[data-v-7bd1ddd2] { width: 100%; height: 100%;
}
.remove[data-v-7bd1ddd2] { position: absolute; right: 0.1875rem; top: 0.1875rem; background: rgba(0,0,0,0.45); color: #fff; width: 1.25rem; height: 1.25rem; text-align: center; line-height: 1.25rem; border-radius: 0.625rem; font-size: 0.875rem;
.remove[data-v-7bd1ddd2] { position: absolute; right: 0.1875rem; top: 0.1875rem; width: 1.3125rem; height: 1.3125rem;
}
.adder[data-v-7bd1ddd2] { width: 6.5625rem; height: 6.5625rem; border: 0.0625rem dashed #ccc; border-radius: 0.375rem; display: flex; align-items: center; justify-content: center; color: #999; position: absolute; left: 0; top: 0;
}
.page { background:#f6f6f6; height: 100vh;
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 藏青系主色(高亮) */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* 表单控件尺寸(统一配置,避免页面内硬编码) */
.page {
background: #ffffff;
min-height: 100vh;
padding-bottom: 5rem;
box-sizing: border-box;
}
.card { background:#fff; margin: 0.5rem; padding: 0.5rem; border-radius: 0.375rem;
.hero.small {
margin: 0.6875rem 0.75rem 0.375rem;
padding: 0 0.125rem 0.5625rem;
color: #111;
border-bottom: 0.0625rem solid rgba(94, 124, 174, 0.12);
}
.row { display:flex; gap: 0.375rem; align-items: center; margin-bottom: 0.375rem;
.hero.small .title {
font-size: 1.0625rem;
font-weight: 800;
}
.label { width: 5.625rem; color:#666;
.hero.small .sub {
display: block;
margin-top: 0.1875rem;
color: #444;
font-size: 0.75rem;
}
.row uni-input { flex:1; background:#f7f7f7; border-radius: 0.3125rem; padding: 0.375rem;
.section {
margin: 0 0.75rem 0.875rem;
padding-bottom: 0.1875rem;
border-bottom: 0.0625rem solid rgba(94, 124, 174, 0.1);
}
.picker { padding: 0.25rem 0.375rem; background:#f0f0f0; border-radius: 0.3125rem; color:#666; margin-left: 0.25rem;
.section:last-of-type {
border-bottom: 0;
margin-bottom: 0;
}
.prices uni-input { width: 30%;
.section .row:first-child .label {
font-weight: 700;
color: #111;
}
.fixed { position: fixed; left: 0; right: 0; bottom: 0; background:#fff; padding: 0.375rem 0.5rem; display:flex; gap: 0.5rem;
.row {
display: flex;
gap: 0.25rem;
align-items: center;
margin-top: 0.5625rem;
}
.row .input-long {
flex: 1.2;
}
.row:first-child {
margin-top: 0;
}
.label {
width: 4.6875rem;
color: #444;
font-size: 0.8125rem;
}
.row uni-input {
flex: 1;
background: #f7f9fc;
border-radius: 0.4375rem;
padding: 0.5625rem 0.625rem;
color: #111;
border: 0;
box-shadow: inset 0 0 0 0.0625rem rgba(134, 155, 191, 0.06);
}
.picker-btn {
background: #ffffff;
border: 0.0625rem solid rgba(76, 141, 255, 0.45);
color: #4C8DFF;
padding: 0 0.75rem;
border-radius: 31.21875rem;
font-size: 0.75rem;
}
.picker {
padding: 0.5rem 0.6875rem;
background: #f7f9fc;
border-radius: 0.4375rem;
color: #444;
margin-left: 0.25rem;
border: 0;
box-shadow: inset 0 0 0 0.0625rem rgba(134, 155, 191, 0.06);
}
.prices uni-input {
width: 30%;
}
.section uni-textarea {
width: 100%;
min-height: 5rem;
background: #f7f9fc;
border-radius: 0.4375rem;
padding: 0.625rem 0.6875rem;
box-sizing: border-box;
color: #111;
border: 0;
box-shadow: inset 0 0 0 0.0625rem rgba(134, 155, 191, 0.06);
}
.fixed {
position: fixed;
left: 0;
right: 0;
bottom: env(safe-area-inset-bottom);
background: #ffffff;
padding: 0.5rem 0.5rem calc(0.5rem + constant(safe-area-inset-bottom)) 0.5rem;
display: flex;
gap: 0.5rem;
box-shadow: 0 -0.1875rem 0.5625rem rgba(24, 55, 105, 0.08);
z-index: 999;
}
.fixed .primary {
flex: 1;
background: #4C8DFF;
color: #fff;
border-radius: 31.21875rem;
padding: 0.5625rem 0;
font-weight: 700;
}
.fixed .ghost {
flex: 1;
background: #ffffff;
color: #4C8DFF;
border: 0.0625rem solid rgba(76, 141, 255, 0.45);
border-radius: 31.21875rem;
padding: 0.5625rem 0;
}
.tip {
margin: 0 0.9375rem 0.625rem;
padding: 0.5rem 0.625rem;
border-radius: 0.5rem;
font-size: 0.75rem;
}
.tip.platform {
background: rgba(45, 140, 240, 0.12);
color: #2d8cf0;
}
.tip.custom {
background: rgba(103, 194, 58, 0.12);
color: #67c23a;
}

View File

@@ -1,33 +1,163 @@
.page { display:flex; flex-direction: column; height: 100vh;
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 藏青系主色(高亮) */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* 表单控件尺寸(统一配置,避免页面内硬编码) */
.page {
display: flex;
flex-direction: column;
height: 100vh;
}
.tabs { display:flex; background:#fff;
.tabs {
display: flex;
background: #ffffff;
}
.tab { flex:1; text-align:center; padding: 0.625rem 0; color:#666;
.tab {
flex: 1;
text-align: center;
padding: 0.625rem 0;
color: #444;
}
.tab.active { color:#18b566; font-weight: 600;
.tab.active {
color: #4C8DFF;
font-weight: 600;
}
.search { display:flex; gap: 0.375rem; padding: 0.5rem; background:#fff; align-items: center;
.tab.extra {
flex: 0 0 5.625rem;
color: #4C8DFF;
font-weight: 600;
}
.search uni-input { flex:1; background:#f6f6f6; border-radius: 0.375rem; padding: 0.375rem;
.search {
display: flex;
gap: 0.375rem;
padding: 0.5rem;
background: #ffffff;
align-items: center;
}
.picker { padding: 0.25rem 0.375rem; background:#f0f0f0; border-radius: 0.3125rem; color:#666;
.search uni-input {
flex: 1;
background: #f1f1f1;
border-radius: 0.375rem;
padding: 0.375rem;
color: #111;
}
.list { flex:1;
.picker {
padding: 0.25rem 0.375rem;
background: #f1f1f1;
border-radius: 0.3125rem;
color: #444;
}
.item { display:flex; padding: 0.625rem; background:#fff; border-bottom: 0.03125rem solid #f1f1f1;
.template-mode {
flex-direction: column;
align-items: stretch;
gap: 0.25rem;
}
.thumb { width: 3.75rem; height: 3.75rem; border-radius: 0.375rem; margin-right: 0.5rem; background:#fafafa;
.picker-row {
display: flex;
gap: 0.375rem;
}
.content { flex:1;
.params-wrap {
margin-top: 0.1875rem;
background: #ffffff;
border-radius: 0.375rem;
padding: 0.25rem 0.25rem;
}
.name { color:#333; margin-bottom: 0.1875rem; font-weight: 600;
.list {
flex: 1;
}
.meta { color:#888; font-size: 0.75rem;
.item {
display: flex;
padding: 0.625rem;
background: #ffffff;
border-bottom: 0.03125rem solid #e5e7eb;
}
.price { margin-left: 0.625rem; color:#f60;
.thumb {
width: 3.75rem;
height: 3.75rem;
border-radius: 0.375rem;
margin-right: 0.5rem;
background: #f1f1f1;
}
.empty { height: 60vh; display:flex; align-items:center; justify-content:center; color:#999;
.content {
flex: 1;
}
.fab { position: fixed; right: 0.9375rem; bottom: 3.75rem; width: 3.125rem; height: 3.125rem; background:#18b566; color:#fff; border-radius: 1.5625rem; text-align:center; line-height: 3.125rem; font-size: 1.5rem; box-shadow: 0 0.25rem 0.625rem rgba(0,0,0,0.15);
.name {
color: #111;
margin-bottom: 0.1875rem;
font-weight: 600;
display: flex;
align-items: center;
gap: 0.375rem;
}
.tag-platform {
font-size: 0.6875rem;
color: #fff;
background: #2d8cf0;
padding: 0.125rem 0.3125rem;
border-radius: 0.25rem;
}
.tag-custom {
font-size: 0.6875rem;
color: #fff;
background: #67c23a;
padding: 0.125rem 0.3125rem;
border-radius: 0.25rem;
}
.tag-deleted {
font-size: 0.6875rem;
color: #fff;
background: #909399;
padding: 0.125rem 0.3125rem;
border-radius: 0.25rem;
}
.meta {
color: #444;
font-size: 0.75rem;
}
.price {
margin-left: 0.625rem;
color: #4C8DFF;
}
.empty {
height: 60vh;
display: flex;
align-items: center;
justify-content: center;
color: #444;
}
.fab {
position: fixed;
right: 0.9375rem;
bottom: 3.75rem;
width: 3.125rem;
height: 3.125rem;
background: #4C8DFF;
color: #fff;
border-radius: 1.5625rem;
text-align: center;
line-height: 3.125rem;
font-size: 1.5rem;
box-shadow: 0 0.25rem 0.625rem rgba(0, 0, 0, 0.15);
}

View File

@@ -0,0 +1,124 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 藏青系主色(高亮) */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* 表单控件尺寸(统一配置,避免页面内硬编码) */
.page {
padding: 0.75rem 0.75rem 5rem;
background: #f6f7fb;
}
.header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 0.625rem;
}
.model {
font-size: 1.125rem;
font-weight: 700;
color: #2d3a4a;
}
.status.deleted {
font-size: 0.75rem;
padding: 0.1875rem 0.5625rem;
border-radius: 31.21875rem;
background: #c0c4cc;
color: #fff;
}
.section {
background: #fff;
border-radius: 0.5rem;
padding: 0.625rem 0.6875rem;
margin-bottom: 0.75rem;
box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.04);
}
.row {
display: flex;
justify-content: space-between;
padding: 0.375rem 0;
border-bottom: 0.03125rem solid #f1f2f5;
}
.row:last-child {
border-bottom: none;
}
.label {
width: 5rem;
font-size: 0.8125rem;
color: #7a8899;
}
.value {
flex: 1;
text-align: right;
font-size: 0.8125rem;
color: #2d3a4a;
word-break: break-all;
}
.block-title {
font-size: 0.875rem;
font-weight: 600;
color: #2d3a4a;
margin-bottom: 0.375rem;
}
.placeholder {
font-size: 0.8125rem;
color: #7a8899;
}
.params {
display: flex;
flex-direction: column;
gap: 0.375rem;
}
.param {
display: flex;
justify-content: space-between;
font-size: 0.8125rem;
color: #2d3a4a;
}
.param-key {
color: #7a8899;
}
.images {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 0.375rem;
}
.image {
width: 100%;
height: 6.25rem;
border-radius: 0.5rem;
background: #f0f2f5;
}
.footer {
display: flex;
justify-content: flex-end;
gap: 0.625rem;
}
.loading {
height: 100vh;
display: flex;
align-items: center;
justify-content: center;
color: #7a8899;
}

View File

@@ -1,15 +1,61 @@
.page { display:flex; flex-direction: column; height: 100vh;
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 藏青系主色(高亮) */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* 表单控件尺寸(统一配置,避免页面内硬编码) */
.page {
display: flex;
flex-direction: column;
height: 100vh;
}
.search { display:flex; gap: 0.375rem; padding: 0.5rem; background:#fff;
.search {
display: flex;
gap: 0.375rem;
padding: 0.5rem;
background: #ffffff;
}
.search uni-input { flex:1; background:#f6f6f6; border-radius: 0.375rem; padding: 0.375rem;
.search uni-input {
flex: 1;
background: #f1f1f1;
border-radius: 0.375rem;
padding: 0.375rem;
color: #111;
}
.list { flex:1;
.list {
flex: 1;
}
.item { padding: 0.625rem 0.75rem; background:#fff; border-bottom: 0.03125rem solid #f1f1f1;
.item {
padding: 0.625rem 0.75rem;
background: #ffffff;
border-bottom: 0.03125rem solid #e5e7eb;
}
.name { color:#333; margin-bottom: 0.1875rem;
}
.meta { color:#888; font-size: 0.75rem;
.name {
color: #111;
margin-bottom: 0.1875rem;
}
.meta {
color: #444;
font-size: 0.75rem;
}

View File

@@ -0,0 +1,134 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 藏青系主色(高亮) */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* 表单控件尺寸(统一配置,避免页面内硬编码) */
.page {
padding: 0.75rem 0.75rem 5rem;
background: #f6f7fb;
}
.header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 0.625rem;
}
.model {
font-size: 1.125rem;
font-weight: 700;
color: #2d3a4a;
}
.status {
font-size: 0.8125rem;
padding: 0.1875rem 0.5625rem;
border-radius: 31.21875rem;
}
.status.pending {
background: rgba(246, 190, 0, 0.15);
color: #c47f00;
}
.status.approved {
background: rgba(103, 194, 58, 0.15);
color: #409eff;
}
.status.rejected {
background: rgba(255, 87, 115, 0.18);
color: #f56c6c;
}
.section {
background: #fff;
border-radius: 0.5rem;
padding: 0.625rem 0.6875rem;
margin-bottom: 0.75rem;
box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.04);
}
.row {
display: flex;
justify-content: space-between;
padding: 0.375rem 0;
border-bottom: 0.03125rem solid #f1f2f5;
}
.row:last-child {
border-bottom: none;
}
.label {
width: 5rem;
font-size: 0.8125rem;
color: #7a8899;
}
.value {
flex: 1;
text-align: right;
font-size: 0.8125rem;
color: #2d3a4a;
word-break: break-all;
}
.block-title {
font-size: 0.875rem;
font-weight: 600;
color: #2d3a4a;
margin-bottom: 0.375rem;
}
.placeholder {
font-size: 0.8125rem;
color: #7a8899;
}
.params {
display: flex;
flex-direction: column;
gap: 0.375rem;
}
.param {
display: flex;
justify-content: space-between;
font-size: 0.8125rem;
color: #2d3a4a;
}
.param-key {
color: #7a8899;
}
.images {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 0.375rem;
}
.image {
width: 100%;
height: 6.25rem;
border-radius: 0.5rem;
background: #f0f2f5;
}
.footer {
display: flex;
justify-content: flex-end;
gap: 0.625rem;
}
.loading {
height: 100vh;
display: flex;
align-items: center;
justify-content: center;
color: #7a8899;
}

View File

@@ -0,0 +1,164 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 藏青系主色(高亮) */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* 表单控件尺寸(统一配置,避免页面内硬编码) */
.page {
display: flex;
flex-direction: column;
height: 100vh;
background: #f6f7fb;
padding-bottom: 4.375rem;
}
.hero {
padding: 0.75rem;
background: #fff;
box-shadow: 0 0.3125rem 0.9375rem rgba(0, 0, 0, 0.04);
}
.title {
font-size: 1.0625rem;
font-weight: 700;
color: #2d3a4a;
}
.desc {
font-size: 0.75rem;
color: #7a8899;
margin-top: 0.25rem;
}
.tabs {
display: flex;
background: #fff;
margin: 0.5rem;
border-radius: 31.21875rem;
overflow: hidden;
box-shadow: inset 0 0 0 0.03125rem rgba(76, 141, 255, 0.1);
}
.tab {
flex: 1;
text-align: center;
padding: 0.625rem 0;
font-size: 0.875rem;
color: #7a8899;
}
.tab.active {
background: linear-gradient(135deg, #4c8dff, #6ab7ff);
color: #fff;
font-weight: 600;
}
.list {
flex: 1;
padding: 0 0.625rem;
}
.cards {
display: flex;
flex-direction: column;
gap: 0.625rem;
padding-bottom: 1.25rem;
}
.card {
background: #fff;
border-radius: 0.5625rem;
padding: 0.6875rem;
box-shadow: 0 0.3125rem 0.9375rem rgba(0, 0, 0, 0.05);
}
.card-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 0.375rem;
}
.model {
font-size: 0.9375rem;
font-weight: 700;
color: #2d3a4a;
}
.status {
font-size: 0.75rem;
padding: 0.1875rem 0.5625rem;
border-radius: 31.21875rem;
}
.status.pending {
background: rgba(246, 190, 0, 0.15);
color: #c47f00;
}
.status.approved {
background: rgba(103, 194, 58, 0.15);
color: #409eff;
}
.status.rejected {
background: rgba(255, 87, 115, 0.18);
color: #f56c6c;
}
.card-body {
display: flex;
flex-direction: column;
gap: 0.1875rem;
color: #4f5969;
font-size: 0.8125rem;
}
.name {
font-weight: 600;
color: #2d3a4a;
}
.card-footer {
display: flex;
gap: 0.375rem;
margin-top: 0.5rem;
}
.empty {
height: 60vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
color: #8894a3;
gap: 0.625rem;
}
.empty .primary {
background: #4c8dff;
color: #fff;
border-radius: 31.21875rem;
padding: 0.375rem 0.9375rem;
}
.loading, .finished {
text-align: center;
padding: 0.625rem 0;
color: #7a8899;
}
.fab {
position: fixed;
right: 0.9375rem;
bottom: 3.75rem;
width: 3.125rem;
height: 3.125rem;
background: linear-gradient(135deg, #4c8dff, #6ab7ff);
color: #fff;
border-radius: 1.5625rem;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.5rem;
box-shadow: 0 0.625rem 1.25rem rgba(0, 0, 0, 0.2);
}

View File

@@ -0,0 +1,142 @@
.uploader[data-v-7bd1ddd2] { padding: 0.375rem; background: #fff;
}
.grid[data-v-7bd1ddd2] { position: relative;
}
.area[data-v-7bd1ddd2] { width: 100%; position: relative;
}
.cell[data-v-7bd1ddd2] { position: absolute; border-radius: 0.375rem; overflow: hidden; box-shadow: 0 0 0.03125rem rgba(0,0,0,0.08);
}
.thumb[data-v-7bd1ddd2] { width: 100%; height: 100%;
}
.remove[data-v-7bd1ddd2] { position: absolute; right: 0.1875rem; top: 0.1875rem; width: 1.3125rem; height: 1.3125rem;
}
.adder[data-v-7bd1ddd2] { width: 6.5625rem; height: 6.5625rem; border: 0.0625rem dashed #ccc; border-radius: 0.375rem; display: flex; align-items: center; justify-content: center; color: #999; position: absolute; left: 0; top: 0;
}
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 藏青系主色(高亮) */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* 表单控件尺寸(统一配置,避免页面内硬编码) */
.page {
padding: 0.75rem 0.75rem 3.75rem;
background: #f6f7fb;
}
.hero {
padding: 0.75rem;
background: linear-gradient(135deg, #4c8dff, #6ab7ff);
border-radius: 0.625rem;
color: #fff;
margin-bottom: 0.75rem;
}
.title {
font-size: 1.125rem;
font-weight: 700;
}
.desc {
font-size: 0.8125rem;
margin-top: 0.25rem;
opacity: 0.9;
}
.section {
background: #fff;
border-radius: 0.5rem;
padding: 0.625rem 0.6875rem;
margin-bottom: 0.75rem;
box-shadow: 0 0.3125rem 0.9375rem rgba(0, 0, 0, 0.04);
}
.row {
display: flex;
align-items: center;
gap: 0.5rem;
padding: 0.5rem 0;
border-bottom: 0.03125rem solid #f1f2f5;
}
.row:last-child {
border-bottom: none;
}
.row.required .label::after {
content: "*";
color: #ff5b5b;
margin-left: 0.1875rem;
}
.label {
width: 4.0625rem;
font-size: 0.875rem;
color: #2d3a4a;
}
uni-input {
flex: 1;
background: #f8f9fb;
border-radius: 0.375rem;
padding: 0.5rem 0.5625rem;
font-size: 0.875rem;
color: #222;
}
.textarea {
width: 100%;
min-height: 5rem;
background: #f8f9fb;
border-radius: 0.375rem;
padding: 0.5625rem;
font-size: 0.875rem;
color: #222;
}
.picker {
flex: 1;
background: #f8f9fb;
border-radius: 0.375rem;
padding: 0.5625rem;
font-size: 0.875rem;
color: #222;
}
.picker-btn {
background: #4c8dff;
color: #fff;
border-radius: 31.21875rem;
padding: 0.3125rem 0.6875rem;
}
.triple uni-input {
flex: 1;
}
.fixed {
position: fixed;
left: 0;
right: 0;
bottom: 0;
padding: 0.625rem 0.75rem 1.25rem;
background: rgba(255, 255, 255, 0.96);
box-shadow: 0 -0.1875rem 0.625rem rgba(0, 0, 0, 0.08);
}
.primary {
width: 100%;
height: 2.75rem;
border-radius: 31.21875rem;
background: #4c8dff;
color: #fff;
font-size: 1rem;
font-weight: 600;
}

View File

@@ -1,37 +1,158 @@
.report { padding: 0.625rem;
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 藏青系主色(高亮) */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* 表单控件尺寸(统一配置,避免页面内硬编码) */
.report {
padding: 0.75rem 0.625rem 1.125rem;
display: flex;
flex-direction: column;
gap: 0.5625rem;
}
.modes { display: flex; gap: 0.375rem; margin-bottom: 0.4375rem;
.header {
font-size: 1.0625rem;
font-weight: 700;
color: #1f2a44;
padding-left: 0.25rem;
}
.mode-tab { flex: 1; text-align: center; padding: 0.5rem 0; border-radius: 31.21875rem; background: #f4f4f4; color: #666; border: 0.03125rem solid #e9e9e9;
.toolbar {
display: flex;
align-items: center;
justify-content: center;
gap: 0.375rem;
background: #f7f9fc;
border-radius: 0.5rem;
padding: 0.5625rem;
}
.mode-tab.active { background: #1aad19; color: #fff; border-color: #1aad19; font-weight: 700;
.date {
min-width: 6.25rem;
padding: 0.375rem 0.5625rem;
border-radius: 0.375rem;
background: #fff;
border: 0.03125rem solid rgba(91, 107, 139, 0.16);
text-align: center;
color: #32445b;
}
.toolbar { display: flex; align-items: center; gap: 0.25rem; background: #fff; padding: 0.4375rem 0.5rem; border-radius: 0.375rem;
.tabs {
display: flex;
gap: 0.375rem;
justify-content: center;
}
.date { padding: 0.3125rem 0.5rem; border: 0.03125rem solid #eee; border-radius: 0.25rem;
.tab {
padding: 0.3125rem 0.625rem;
border-radius: 31.21875rem;
background: #f0f4ff;
color: #5b6b8b;
transition: all 0.2s ease;
}
.tabs { display: flex; gap: 0.5rem; margin-top: 0.4375rem;
.tab.active {
background: rgba(76, 141, 255, 0.18);
color: #3467d6;
box-shadow: inset 0 0 0 0.0625rem rgba(76, 141, 255, 0.45);
}
.tab { padding: 0.375rem 0.5625rem; border-radius: 31.21875rem; background: #f4f4f4; color: #666;
.summary {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(7.5rem, 1fr));
gap: 0.375rem;
}
.tab.active { background: #1aad19; color: #fff;
.summary-item {
background: #f7f9fc;
border-radius: 0.5rem;
padding: 0.625rem;
display: flex;
flex-direction: column;
gap: 0.3125rem;
}
.summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.25rem; margin-top: 0.4375rem;
.summary-item .label {
font-size: 0.75rem;
color: #6e7a96;
}
.summary .item { background: #fff; border-radius: 0.375rem; padding: 0.5rem;
.summary-item .value {
font-size: 1rem;
font-weight: 700;
color: #1f2a44;
}
.summary .label { font-size: 0.6875rem; color: #888;
.card {
background: #fff;
border-radius: 0.5625rem;
padding: 0.625rem;
box-shadow: 0 0.25rem 0.625rem rgba(31, 42, 68, 0.08);
display: flex;
flex-direction: column;
gap: 0.4375rem;
}
.summary .value { display: block; margin-top: 0.25rem; font-weight: 700; color: #333;
.row-head {
display: flex;
justify-content: space-between;
align-items: flex-start;
}
.card { margin-top: 0.5rem; background: #fff; border-radius: 0.375rem; padding: 0.5rem;
.row-title {
display: flex;
flex-direction: column;
gap: 0.1875rem;
}
.row-head { display: flex; align-items: center; gap: 0.375rem;
.title {
font-size: 0.9375rem;
font-weight: 700;
color: #1f2a44;
}
.thumb { width: 2.25rem; height: 2.25rem; border-radius: 0.25rem; background: #f2f2f2;
.subtitle {
font-size: 0.75rem;
color: #6e7a96;
}
.title { font-size: 0.875rem; font-weight: 700;
.row-body {
display: flex;
flex-wrap: wrap;
gap: 0.375rem 0.75rem;
}
.row-body { margin-top: 0.3125rem; color: #666;
.metric {
display: flex;
gap: 0.25rem;
align-items: center;
background: #f4f6fb;
border-radius: 0.375rem;
padding: 0.3125rem 0.5rem;
}
.metric-label {
font-size: 0.75rem;
color: #6e7a96;
}
.metric-value {
font-size: 0.875rem;
color: #1f2a44;
font-weight: 600;
}
.empty {
text-align: center;
padding: 2.5rem 0;
color: #9aa4be;
font-size: 0.8125rem;
}
.loading {
text-align: center;
padding: 1.25rem 0;
color: #5b6b8b;
font-size: 0.75rem;
}

View File

@@ -1,15 +1,66 @@
.page { padding-bottom: 4.375rem;
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 藏青系主色(高亮) */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
/* 表单控件尺寸(统一配置,避免页面内硬编码) */
.page {
padding-bottom: 4.375rem;
}
.field { display:flex; justify-content: space-between; padding: 0.6875rem 0.75rem; background:#fff; border-bottom:0.03125rem solid #eee;
.field {
display: flex;
justify-content: space-between;
padding: 0.6875rem 0.75rem;
background: #ffffff;
border-bottom: 0.03125rem solid #e5e7eb;
}
.label { color:#666;
.label {
color: #444;
}
.value { color:#333; text-align: right; flex: 1;
.value {
color: #111;
text-align: right;
flex: 1;
}
.textarea { padding: 0.5rem 0.75rem; background:#fff; margin-top: 0.375rem;
.textarea {
padding: 0.5rem 0.75rem;
background: #ffffff;
margin-top: 0.375rem;
}
.bottom { position: fixed; left:0; right:0; bottom:0; background:#fff; padding: 0.5rem 0.75rem calc(env(safe-area-inset-bottom) + 0.5rem); box-shadow: 0 -0.125rem 0.375rem rgba(0,0,0,0.06);
}
.primary { width: 100%; background: linear-gradient(135deg, #A0E4FF 0%, #17A2C4 100%); color:#fff; border-radius: 31.21875rem; padding: 0.625rem 0;
.bottom {
position: fixed;
left: 0;
right: 0;
bottom: 0;
background: #ffffff;
padding: 0.5rem 0.75rem calc(env(safe-area-inset-bottom) + 0.5rem);
box-shadow: 0 -0.125rem 0.375rem rgba(0, 0, 0, 0.1);
}
.primary {
width: 100%;
background: #4C8DFF;
color: #fff;
border-radius: 31.21875rem;
padding: 0.625rem 0;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 397 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 607 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 990 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 518 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 336 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 831 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 634 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 387 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 964 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 845 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB