| | |
| | | <view class="custom-nav"> |
| | | <view :style="{ height: statusbarHeight + 'px' }"></view> |
| | | <view class="nav-content" :style="{ height: navHeight + 'px' }"> |
| | | <image class="nav-icon" src="/static/icon/ic_home@2x.png"></image> |
| | | <text class="nav-title">中铁快运南站旗舰店</text> |
| | | </view> |
| | | </view> |
| | | |
| | | <view :style="{ height: (statusbarHeight + navHeight) + 'px' }"></view> |
| | | <!-- 数据统计 --> |
| | | <view class="stats-section" :style="{ backgroundImage: 'url(' + bgImg + ')' }"> |
| | | <view class="stats-tabs"> |
| | | <text class="tab-item active">今日</text> |
| | | <text class="tab-item">本月</text> |
| | | <text class="tab-item">上月</text> |
| | | <view class="stats-tabs-left"> |
| | | <text class="tab-item active">今日</text> |
| | | <text class="tab-item">本月</text> |
| | | <text class="tab-item">上月</text> |
| | | </view> |
| | | <text class="tab-item right">在库订单: 10</text> |
| | | </view> |
| | | |
| | | <view class="stats-cards"> |
| | | <view class="stat-card"> |
| | | <text class="stat-label">销售额(元)</text> |
| | | <view class="stat-label"> |
| | | <text>销售额(元)</text> |
| | | <image class="stat-icon" src="/static/icon/ic_visible@2x.png"></image> |
| | | </view> |
| | | <text class="stat-value">12,000.00</text> |
| | | </view> |
| | | <view class="stat-card"> |
| | | <text class="stat-label">结算利润(元)</text> |
| | | <view class="stat-label"> |
| | | <text>结算利润(元)</text> |
| | | </view> |
| | | <text class="stat-value">1,200.00</text> |
| | | </view> |
| | | <view class="stat-card"> |
| | | <text class="stat-label">订单数</text> |
| | | <view class="stat-label"> |
| | | <text>订单数</text> |
| | | </view> |
| | | <text class="stat-value">23</text> |
| | | </view> |
| | | </view> |
| | |
| | | <image class="func-icon" src="/static/icon/ic_dingdanguanli@2x.png"></image> |
| | | <text class="func-text">订单管理</text> |
| | | </view> |
| | | <view class="func-btn"> |
| | | <view class="func-btn" @click="goToStoreInfo"> |
| | | <image class="func-icon" src="/static/icon/ic_wodezizhi@2x.png"></image> |
| | | <text class="func-text">门店信息</text> |
| | | </view> |
| | | <view class="func-btn"> |
| | | <view class="func-btn" @click="goToQualification"> |
| | | <image class="func-icon" src="/static/icon/ic_wodezizhi@2x.png"></image> |
| | | <text class="func-text">门店资质</text> |
| | | </view> |
| | | </view> |
| | | |
| | | <text class="section-title">待处理订单(2)</text> |
| | | |
| | | <!-- 待处理订单 --> |
| | | <view class="orders-section"> |
| | | <!-- <text class="section-title">待处理订单(2)</text> --> |
| | | |
| | | <view class="order-item"> |
| | | <view class="order-header"> |
| | | <view class="order-tag">就地寄存</view> |
| | | <text class="order-user">李明 181****1898</text> |
| | | <view style="display: flex; align-items: center;"> |
| | | <view class="order-tag">就地寄存</view> |
| | | <text class="order-user">李明 181****1898</text> |
| | | </view> |
| | | <text class="order-status">待核验</text> |
| | | </view> |
| | | |
| | | <view class="order-items"> |
| | | <view class="order-product"> |
| | | <view class="product-info"> |
| | |
| | | </view> |
| | | |
| | | <view class="order-footer"> |
| | | <text class="total-price">实付款: ¥80.00</text> |
| | | <text class="total-price"> |
| | | <text>实付款: </text> |
| | | <text>¥80.00</text> |
| | | </text> |
| | | <view class="order-buttons"> |
| | | <button class="btn btn-secondary">联系客户</button> |
| | | <button class="btn btn-primary">扫码核销</button> |
| | | <button class="btn secondary">联系客户</button> |
| | | <button class="btn primary">扫码核销</button> |
| | | </view> |
| | | </view> |
| | | |
| | | <text class="order-note">订单备注: 13:30来寄存</text> |
| | | </view> |
| | | |
| | | <view class="order-item"> |
| | | <view class="order-header"> |
| | | <view class="order-tag">就地寄存</view> |
| | | <text class="order-user">张杰 151****7678</text> |
| | | <text class="order-status">待取件</text> |
| | | </view> |
| | | |
| | | <view class="order-items"> |
| | | <view class="order-product"> |
| | | <text class="product-name">大件行李箱</text> |
| | | <text class="product-spec">24-28寸</text> |
| | | <text class="product-price">¥35</text> |
| | | <text class="product-count">x1</text> |
| | | </view> |
| | | <view class="order-product"> |
| | | <text class="product-name">中件行李箱</text> |
| | | <text class="product-spec">24-28寸</text> |
| | | <text class="product-price">¥35</text> |
| | | <text class="product-count">x1</text> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="order-footer"> |
| | | <text class="total-price">实付款: ¥70.00</text> |
| | | <view class="order-buttons"> |
| | | <button class="btn btn-secondary">联系客户</button> |
| | | <button class="btn btn-primary">扫码核销</button> |
| | | </view> |
| | | </view> |
| | | |
| | | <text class="order-note">订单备注: -</text> |
| | | </view> |
| | | <view class="order-item"> |
| | | <view class="order-header"> |
| | | <view class="order-tag">就地寄存</view> |
| | | <text class="order-user">张杰 151****7678</text> |
| | | <text class="order-status">待取件</text> |
| | | </view> |
| | | |
| | | <view class="order-items"> |
| | | <view class="order-product"> |
| | | <text class="product-name">大件行李箱</text> |
| | | <text class="product-spec">24-28寸</text> |
| | | <text class="product-price">¥35</text> |
| | | <text class="product-count">x1</text> |
| | | </view> |
| | | <view class="order-product"> |
| | | <text class="product-name">中件行李箱</text> |
| | | <text class="product-spec">24-28寸</text> |
| | | <text class="product-price">¥35</text> |
| | | <text class="product-count">x1</text> |
| | | </view> |
| | | </view> |
| | | |
| | | <view class="order-footer"> |
| | | <text class="total-price">实付款: ¥70.00</text> |
| | | <view class="order-buttons"> |
| | | <button class="btn btn-secondary">联系客户</button> |
| | | <button class="btn btn-primary">扫码核销</button> |
| | | </view> |
| | | </view> |
| | | |
| | | <text class="order-note">订单备注: -</text> |
| | | <view class="order-note">订单备注: 13:30来寄存</view> |
| | | </view> |
| | | </view> |
| | | <custom-tabbar></custom-tabbar> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import { mapState } from 'vuex' |
| | | |
| | | import CustomTabbar from '@/components/custom-tabbar/custom-tabbar.vue' |
| | | export default { |
| | | components: { |
| | | CustomTabbar |
| | | }, |
| | | computed: { |
| | | ...mapState(['navHeight', 'statusbarHeight']) |
| | | }, |
| | | onReachBottom() { |
| | | console.log('store-home onReachBottom') |
| | | }, |
| | | methods: { |
| | | goToStoreInfo() { |
| | | uni.navigateTo({ |
| | | url: '/shop/pages/store-info/store-info' |
| | | }) |
| | | }, |
| | | goToQualification() { |
| | | uni.navigateTo({ |
| | | url: '/shop/pages/qualification/qualification' |
| | | }) |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | bgImg: require('@/static/image/bg_card@2x.png'), |
| | | bgImg: require('@/static/image/bg_card@2x.png'), |
| | | orders: [ |
| | | { |
| | | id: 1, |
| | |
| | | <style lang="scss" scoped> |
| | | $bg-color: #f5f5f5; |
| | | $primary-color: #1677ff; |
| | | $success-color: #52c41a; |
| | | $danger-color: #ff4d4f; |
| | | $text-color: #333; |
| | | $text-secondary-color: #666; |
| | | $text-tertiary-color: #999; |
| | | |
| | | .container { |
| | |
| | | |
| | | /* 渐变背景容器 */ |
| | | .gradient-background { |
| | | padding: 0 30rpx; |
| | | box-sizing: border-box; |
| | | width: 100%; |
| | | background: #C8F3FF; |
| | | color: #1a1a1a; |
| | | position: relative; |
| | |
| | | |
| | | /* 自定义导航栏 */ |
| | | .custom-nav { |
| | | width: 100%; |
| | | color: #1a1a1a; |
| | | background-color: #C8F3FF; |
| | | position: fixed; |
| | | top: 0; |
| | | left: 0; |
| | | z-index: 100; |
| | | } |
| | | |
| | | .nav-content { |
| | | display: flex; |
| | | align-items: center; |
| | | padding: 0 20rpx; |
| | | } |
| | | |
| | | .nav-icon { |
| | | width: 64rpx; |
| | | height: 64rpx; |
| | | margin-right: 14rpx; |
| | | } |
| | | |
| | | .nav-title { |
| | |
| | | .stats-section { |
| | | height: 256rpx; |
| | | width: 100%; |
| | | padding: 30rpx; |
| | | box-sizing: border-box; |
| | | background-repeat: no-repeat; |
| | | background-size: 100% 100%; |
| | | margin-top: 20rpx; |
| | | position: relative; |
| | | z-index: 99; |
| | | } |
| | | |
| | | .stats-tabs { |
| | |
| | | z-index: 1; |
| | | } |
| | | |
| | | .stats-tabs-left { |
| | | width: 43%; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | } |
| | | |
| | | .tab-item { |
| | | font-size: 28rpx; |
| | | color: #91d5ff; |
| | | color: rgba(255,255,255,0.8); |
| | | |
| | | &.active { |
| | | font-size: 32rpx; |
| | | color: white; |
| | | font-weight: bold; |
| | | font-weight: 600; |
| | | } |
| | | |
| | | &.right { |
| | |
| | | } |
| | | |
| | | .stats-cards { |
| | | width: 100%; |
| | | height: 132rpx; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | position: relative; |
| | | z-index: 1; |
| | | padding-top: 22rpx; |
| | | box-sizing: border-box; |
| | | border-top: 1rpx solid rgba(255,255,255,0.09); |
| | | } |
| | | |
| | | .stat-card { |
| | | flex: 1; |
| | | text-align: center; |
| | | text-align: left; |
| | | &:nth-child(1) { |
| | | flex: 2.3; |
| | | } |
| | | &:nth-child(2) { |
| | | flex: 2; |
| | | } |
| | | } |
| | | |
| | | .stat-label { |
| | | display: block; |
| | | font-size: 24rpx; |
| | | color: #91d5ff; |
| | | margin-bottom: 10rpx; |
| | | display: flex; |
| | | height: 40rpx; |
| | | text { |
| | | font-size: 24rpx; |
| | | font-weight: 400; |
| | | color: rgba(255,255,255,0.7); |
| | | } |
| | | .stat-icon { |
| | | width: 40rpx; |
| | | height: 40rpx; |
| | | margin-left: 10rpx; |
| | | } |
| | | } |
| | | |
| | | .stat-value { |
| | | display: block; |
| | | font-size: 36rpx; |
| | | font-weight: bold; |
| | | color: white; |
| | | font-weight: 600; |
| | | font-size: 44rpx; |
| | | color: #FFFFFF; |
| | | margin-top: 14rpx; |
| | | } |
| | | |
| | | .function-buttons { |
| | | background-color: white; |
| | | margin: 0 20rpx 20rpx; |
| | | border-radius: 12rpx; |
| | | margin: 30rpx 30rpx 40rpx 30rpx; |
| | | border-radius: 16rpx; |
| | | padding: 30rpx; |
| | | display: flex; |
| | | justify-content: space-between; |
| | |
| | | } |
| | | |
| | | .func-icon { |
| | | width: 80rpx; |
| | | height: 80rpx; |
| | | margin-bottom: 10rpx; |
| | | width: 88rpx; |
| | | height: 88rpx; |
| | | margin-bottom: 16rpx; |
| | | } |
| | | |
| | | .func-text { |
| | | font-size: 24rpx; |
| | | color: $text-secondary-color; |
| | | font-weight: 400; |
| | | font-size: 26rpx; |
| | | color: #333333; |
| | | white-space: nowrap; |
| | | } |
| | | |
| | | .orders-section { |
| | | background-color: white; |
| | | margin: 0 20rpx 20rpx; |
| | | border-radius: 12rpx; |
| | | padding: 20rpx; |
| | | margin: 30rpx; |
| | | } |
| | | |
| | | .section-title { |
| | | width: 100%; |
| | | font-weight: 600; |
| | | font-size: 32rpx; |
| | | font-weight: bold; |
| | | color: $text-color; |
| | | margin-bottom: 20rpx; |
| | | display: block; |
| | | color: #111111; |
| | | padding: 0 30rpx; |
| | | box-sizing: border-box; |
| | | } |
| | | |
| | | .order-item { |
| | | border-bottom: 1rpx solid #eee; |
| | | padding: 20rpx 0; |
| | | |
| | | background: #FFFFFF; |
| | | border-radius: 16rpx; |
| | | padding: 30rpx; |
| | | box-sizing: border-box; |
| | | margin-bottom: 20rpx; |
| | | &:last-child { |
| | | border-bottom: none; |
| | | margin-bottom: 0; |
| | | } |
| | | } |
| | | |
| | |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | margin-bottom: 20rpx; |
| | | margin-bottom: 28rpx; |
| | | flex-wrap: wrap; |
| | | } |
| | | |
| | | .order-tag { |
| | | background-color: $success-color; |
| | | background-color: #10B2FA; |
| | | color: white; |
| | | padding: 8rpx 16rpx; |
| | | border-radius: 20rpx; |
| | | font-size: 24rpx; |
| | | width: 104rpx; |
| | | height: 40rpx; |
| | | line-height: 40rpx; |
| | | font-weight: 400; |
| | | font-size: 22rpx; |
| | | color: #FFFFFF; |
| | | text-align: center; |
| | | background: #10B2FA; |
| | | border-radius: 8rpx; |
| | | margin-right: 20rpx; |
| | | } |
| | | |
| | | .order-user { |
| | | font-weight: 400; |
| | | font-size: 28rpx; |
| | | color: $text-color; |
| | | color: #333333; |
| | | } |
| | | |
| | | .order-status { |
| | | font-size: 28rpx; |
| | | color: $danger-color; |
| | | font-weight: 400; |
| | | font-size: 26rpx; |
| | | color: #FF0020; |
| | | } |
| | | |
| | | .order-product { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: flex-start; |
| | | margin-bottom: 30rpx; |
| | | margin-bottom: 26rpx; |
| | | } |
| | | |
| | | .product-info { |
| | | flex: 3; |
| | | display: flex; |
| | | flex-direction: column; |
| | | } |
| | | |
| | | .product-name { |
| | | font-weight: 600; |
| | | font-size: 28rpx; |
| | | color: $text-color; |
| | | display: block; |
| | | color: #333333; |
| | | } |
| | | |
| | | .product-spec { |
| | | font-weight: 400; |
| | | font-size: 24rpx; |
| | | color: $text-tertiary-color; |
| | | display: block; |
| | | margin-top: 5rpx; |
| | | color: #8C939F; |
| | | margin-top: 12rpx; |
| | | } |
| | | |
| | | .product-price-count { |
| | | flex: 1; |
| | | text-align: right; |
| | | display: flex; |
| | | flex-direction: column; |
| | | align-items: flex-end; |
| | | } |
| | | |
| | | .product-price { |
| | | font-size: 28rpx; |
| | | color: $danger-color; |
| | | display: block; |
| | | font-weight: 400; |
| | | font-size: 30rpx; |
| | | color: #333333; |
| | | } |
| | | |
| | | .product-count { |
| | | font-weight: 400; |
| | | font-size: 24rpx; |
| | | color: $text-tertiary-color; |
| | | display: block; |
| | | margin-top: 5rpx; |
| | | color: #8C939F; |
| | | margin-top: 12rpx; |
| | | } |
| | | |
| | | .order-footer { |
| | |
| | | } |
| | | |
| | | .total-price { |
| | | font-size: 28rpx; |
| | | color: $text-color; |
| | | font-weight: bold; |
| | | display: flex; |
| | | align-items: center; |
| | | text { |
| | | &:nth-child(1) { |
| | | font-weight: 400; |
| | | font-size: 26rpx; |
| | | color: #333333; |
| | | } |
| | | &:nth-child(2) { |
| | | font-weight: 600; |
| | | font-size: 26rpx; |
| | | color: #222222; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .order-buttons { |
| | |
| | | } |
| | | |
| | | .btn { |
| | | padding: 20rpx 40rpx; |
| | | border-radius: 40rpx; |
| | | width: 160rpx; |
| | | height: 64rpx; |
| | | line-height: 64rpx; |
| | | text-align: center; |
| | | border-radius: 34rpx; |
| | | font-size: 28rpx; |
| | | border: none; |
| | | padding: 0 !important; |
| | | |
| | | &.secondary { |
| | | background-color: white; |
| | | color: $primary-color; |
| | | border: 2rpx solid $primary-color; |
| | | color: #004096; |
| | | border: 2rpx solid #004096; |
| | | } |
| | | |
| | | &.primary { |
| | | background-color: $primary-color; |
| | | background-color: #004096; |
| | | color: white; |
| | | } |
| | | } |
| | | |
| | | .order-note { |
| | | font-size: 24rpx; |
| | | color: $text-tertiary-color; |
| | | background-color: $bg-color; |
| | | width: 100%; |
| | | font-size: 26rpx; |
| | | color: #666666; |
| | | background-color: #F8F9FB; |
| | | padding: 20rpx; |
| | | box-sizing: border-box; |
| | | border-radius: 8rpx; |
| | | margin-top: 20rpx; |
| | | } |