Browse Source

add site style

voice
刘嘉炜 4 years ago
parent
commit
de8da46dc5
  1. 14
      src/pages.json
  2. 3
      src/pages/index/index.vue
  3. 197
      src/pages/site/confirm/confirm.vue
  4. 175
      src/pages/site/manage/manage.vue
  5. 237
      src/pages/site/order_list/order_list.vue

14
src/pages.json

@ -6,7 +6,19 @@
}
},
{
"path": "pages/site_manage/site_manage",
"path": "pages/site/order_list/order_list",
"style": {
"navigationBarTitleText": "我的预约订单列表"
}
},
{
"path": "pages/site/confirm/confirm",
"style": {
"navigationBarTitleText": "选择场次"
}
},
{
"path": "pages/site/manage/manage",
"style": {
"navigationBarTitleText": "选择场次"
}

3
src/pages/index/index.vue

@ -117,7 +117,7 @@
{
id: 8,
name: '场地管理',
path: '',
path: '/pages/site/order_list/order_list',
serverKey: 1009 //
},
{
@ -153,7 +153,6 @@
async onLoad() {
// #ifndef H5
try{
util.showLoad();
await this.checkUserAuthor();
util.hideLoad();

197
src/pages/site/confirm/confirm.vue

@ -0,0 +1,197 @@
<template>
<view class="site-confirm">
<view class="sc-section">
<view class="sc-address">
<view class="sa-name">
<image mode="aspectFit"></image>
<text>欧轩智能场馆(羽毛球馆永泰店)</text>
</view>
<view class="sa-detail">
<view>地址</view>
<view>深圳市南山区南山街道阳光棕榈社区桂庙路</view>
</view>
</view>
<view class="sc-order-info">
<view class="soi-line">
<view>预定日期</view>
<view><view>羽毛球</view></view>
</view>
<view class="soi-line">
<view>预定日期</view>
<view><view>周五(05月17日)</view></view>
</view>
<view class="soi-line">
<view>预定场次</view>
<view>
<view>1号馆 10:00-11:00 (¥80)</view>
<view>1号馆 10:00-11:00 (¥80)</view>
<view>1号馆 10:00-11:00 (¥80)</view>
</view>
</view>
</view>
<view class="sc-ipt">
<view class="si-price">
<view class="sp-tit">收取金额</view>
<view class="sp-frame"><input /></view>
</view>
<view class="si-reason">
<view class="sr-tit">占用原因</view>
<view class="sr-frame">
<textarea placeholder="多行输入…"></textarea>
</view>
</view>
</view>
</view>
<view class="sc-fixed-bot">
<view hover-class="hover-active">确定</view>
</view>
</view>
</template>
<script>
export default {
}
</script>
<style lang="scss">
@import "~style/public.scss";
.site-confirm{
.sc-section{
background-color: #fff;
}
.sc-address{
padding: 24upx 24upx 20upx;
border-bottom: 2upx solid #D8D8D8;
.sa-name{
margin-bottom: 24upx;
line-height: 44upx;
font-size: 32upx;
font-weight: 500;
color: #333;
@include textHide(1);
>image{
margin-right: 2upx;
vertical-align: middle;
width: 34upx;
height: 34upx;
background-color: skyblue;
}
}
.sa-detail{
display: flex;
>view{
line-height: 40upx;
color: #9a9a9d;
font-size: 28upx;
&:first-child{
flex-shrink: 0;
}
&:nth-child(2){
flex-grow: 1;
word-break: break-all;
@include textHide(2);
}
}
}
}
.sc-order-info{
padding: 22upx 0;
margin: 0 auto;
width: 702upx;
border-bottom: 2upx solid #D8D8D8;
.soi-line{
display: flex;
margin-bottom: 8upx;
>view{
&:first-child{
flex-shrink: 0;
margin-right: 8upx;
line-height: 52upx;
font-size: 28upx;
color: #9a9a9d;
}
&:nth-child(2){
flex-grow: 1;
>view{
font-size: 28upx;
line-height: 52upx;
color: #333;
@include textHide(1);
}
}
}
}
}
.sc-ipt{
margin: 0 auto;
padding-top: 54upx;
padding-bottom: 62upx;
width: 682upx;
.si-price{
margin-bottom: 12upx;
@include centerFlex(flex-start);
.sp-tit{
flex-shrink: 0;
margin-right: 28upx;
line-height: 40upx;
font-size: 28upx;
color: #333;
}
.sp-frame{
padding: 0 20upx;
width: 262upx;
height: 56upx;
border: 2upx solid #D8D8D8;
border-radius: 10upx;
>input{
width: 100%;
height: 100%;
font-size: 28upx;
color: #333;
}
}
}
.si-reason{
.sr-tit{
margin-bottom: 18upx;
font-size: 28upx;
color: #333;
}
.sr-frame{
padding: 20upx 10upx;
width: 682upx;
height: 260upx;
border: 2upx solid #D8D8D8;
border-radius: 10upx;
font-size: 28upx;
line-height: 40upx;
color: #333;
}
}
}
.sc-fixed-bot{
position: fixed;
left: 0;
bottom: 0;
width: 100%;
padding-top: 10upx;
padding-bottom: 10upx;
padding-bottom: calc( 10upx + constant(safe-area-inset-bottom)); /* 兼容 iOS < 11.2 */
padding-bottom: calc( 10upx + env(safe-area-inset-bottom)); /* 兼容 iOS >= 11.2 */
background-color: #fff;
>view{
margin: 0 auto;
width: 702upx;
height: 88upx;
line-height: 88upx;
text-align: center;
font-size: 32upx;
background-color: #FF873D;
color: #fff;
border-radius: 44upx;
}
}
}
</style>

175
src/pages/site_manage/site_manage.vue → src/pages/site/manage/manage.vue

@ -35,20 +35,53 @@
<view class="svl-list" v-for="i in 10" :key="i">
<view class="sl-item">1号馆</view>
<view class="sl-item" v-for="k in 10" :key="k">
<view>¥80</view>
<view
:class="[
k%2==0?'grey':
i%3==1?'green':
k%3==2?'black':''
]"
>¥80</view>
</view>
</view>
</scroll-view>
</view>
<view class="sm-fixd-bot">
<view class="sfb-continuity-tip">9点至10点为连场预订,请谅解</view>
<view class="sfb-selected-section">
<view class="sss-bar">
<view>已选择场次<text>4</text></view>
<view>清空</view>
</view>
<scroll-view class="sss-list" scroll-y>
<view class="sl-item" v-for="i in 8" :key="i">
<view class="si-time">10:00-11:00</view>
<view class="si-name">4号馆</view>
</view>
</scroll-view>
</view>
<view class="sfb-tip-list">
<view class="stl-item" v-for="(e,i) in ['可预订','已售完','已占用','已选择']" :key="i">
<view></view>
<view>{{e}}</view>
</view>
</view>
<view class="sfb-btn-bar">
<view class="sbb-price"><text>¥</text>0.00</view>
<view class="sbb-btn" hover-class="hover-active" @click="toOrderConfirm">请选择场地</view>
</view>
</view>
</view>
</template>
<script>
import util from '../../../utils/util'
export default {
methods: {
toOrderConfirm(){
util.routeTo(`/pages/site/confirm/confirm`, 'nT');
}
}
}
</script>
@ -58,6 +91,10 @@ export default {
background-color: #fff;
}
.site-manage{
/* 动态设置页面高度出现页面跳点,直接设置底部最大高度 ,按钮价格 + 已选滚动区域 + 连场提示*/
padding-bottom: calc( 108upx + 370upx + 60upx);
padding-bottom: calc( 108upx + 370upx + 60upx + constant(safe-area-inset-bottom)); /* 兼容 iOS < 11.2 */
padding-bottom: calc( 108upx + 370upx + 60upx + env(safe-area-inset-bottom)); /* 兼容 iOS >= 11.2 */
.sm-header{
padding: 0 24upx;
.sh-address{
@ -255,8 +292,140 @@ export default {
}
.sm-fixd-bot{
position: fixed;
left: 0;
bottom: 0;
padding-bottom: 0upx;
padding-bottom: calc( 0upx + constant(safe-area-inset-bottom)); /* 兼容 iOS < 11.2 */
padding-bottom: calc( 0upx + env(safe-area-inset-bottom)); /* 兼容 iOS >= 11.2 */
width: 100%;
background-color: #fff;
.sfb-selected-section{
.sss-bar{
padding: 0 30upx;
height: 74upx;
@include centerFlex(space-between);
>view{
font-size: 24upx;
line-height: 34upx;
color: #9a9a9d;
>text{
color: #333;
}
&+view{
flex-shrink: 0;
}
}
}
.sss-list{
padding: 0 20upx;
width: 100%;
height: 300upx;
.sl-item{
display: inline-block;
margin: 0 10upx 20upx;
width: 216upx;
height: 128upx;
border: 2upx solid $themeColor;
border-radius: 6upx;
background-color: rgba($color: $themeColor, $alpha: .1);
overflow: hidden;
.si-time{
padding: 0 10upx;
margin-bottom: 12upx;
height: 56upx;
line-height: 56upx;
text-align: center;
font-size: 28upx;
background-color: $themeColor;
color: #fff;
@include textHide(1);
}
.si-name{
padding: 0 10upx;
line-height: 38upx;
text-align: center;
font-size: 32upx;
color: #333;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
}
}
.sfb-continuity-tip{
height: 60upx;
line-height: 60upx;
padding: 0 30upx;
font-size: 24upx;
color: #FF873D;
background-color: rgba($color: #FF873D, $alpha: .1);
}
.sfb-tip-list{
height: 182upx;
@include centerFlex(center);
.stl-item{
&:nth-child(2)>view:first-child{
border-color: #D7D7DD;
background-color: #D7D7DD;
}
&:nth-child(3)>view:first-child{
border-color: #333333;
background-color: #333333;
}
&:nth-child(4)>view:first-child{
background-color: $themeColor;
}
>view{
margin: 0 14upx;
&:first-child{
width: 116upx;
height: 44upx;
border-radius: 22upx;
border: 2upx solid $themeColor;
margin-bottom: 14upx;
}
&:nth-child(2){
line-height: 40upx;
text-align: center;
font-size: 28upx;
color: #9a9a9d;
}
}
}
}
.sfb-btn-bar{
height: 108upx;
padding: 10upx 30upx;
@include centerFlex(space-between);
.sbb-price{
flex-grow: 1;
font-size: 48upx;
line-height: 52upx;
font-weight: 500;
color: #FF873D;
@include textHide(1);
>text{
font-size: 38upx;
font-weight: 400;
}
}
.sbb-btn{
flex-grow: 0;
flex-shrink: 0;
margin-left: 20upx;
width: 290upx;
height: 88upx;
line-height: 88upx;
text-align: center;
border-radius: 44upx;
background-color: #FF873D;
color: #fff;
}
}
}
}
</style>

237
src/pages/site/order_list/order_list.vue

@ -0,0 +1,237 @@
<template>
<view class="site-order-list">
<view class="sol-bar">
<picker>
<view class="sb-picker">
<input placeholder="请选择门店" disabled />
<image></image>
</view>
</picker>
<view class="sb-icon"></view>
</view>
<view class="sol-list">
<view class="sl-item" v-for="i in 10" :key="i">
<view class="si-bar">
<view class="sa-address">
<image></image>
<text>欧轩智能场馆(羽毛球馆永泰店)</text>
</view>
<view class="sa-status">待使用</view>
</view>
<view class="si-detail">
<view class="sd-line">
<view>占用编号:</view>
<view>
<view>20195171564566</view>
</view>
</view>
<view class="sd-line">
<view>项目:</view>
<view>
<view>20195171564566</view>
</view>
</view>
<view class="sd-line">
<view>日期:</view>
<view>
<view>2020-10-10</view>
</view>
</view>
<view class="sd-line">
<view>场次:</view>
<view>
<view>3号馆 10:00-11:00 (80)</view>
<view>3号馆 10:00-11:00 (80)</view>
<view>3号馆 10:00-11:00 (80)</view>
<view>3号馆 10:00-11:00 (80)</view>
</view>
</view>
</view>
<view class="si-info">
<view class="si-line"><text>收取金额: </text>¥324</view>
<view class="si-line"><text>操作人: </text>¥324</view>
<view class="si-line"><text>占用原因: </text>¥324</view>
</view>
<view class="si-btns">
<view hover-class="hover-active">取消占用</view>
</view>
</view>
</view>
<view class="sol-fixed-bar">
<view hover-class="hover-active" @click="toSiteManage">新增占用</view>
</view>
</view>
</template>
<script>
import util from '../../../utils/util'
export default {
methods: {
toSiteManage(){
util.routeTo(`/pages/site/manage/manage`, 'nT');
}
}
}
</script>
<style lang="scss">
@import "~style/public.scss";
.site-order-list{
padding-bottom: 108upx;
padding-bottom: calc( 108upx + constant(safe-area-inset-bottom)); /* 兼容 iOS < 11.2 */
padding-bottom: calc( 108upx + env(safe-area-inset-bottom)); /* 兼容 iOS >= 11.2 */
.sol-bar{
padding: 0 30upx;
height: 112upx;
background-color: #fff;
@include centerFlex(space-between);
.sb-picker{
padding: 0 30upx;
width: 578upx;
height: 72upx;
border-radius: 36upx;
background-color: #EDEDF5;
@include centerFlex(space-between);
>input{
flex-grow: 1;
font-size: 28upx;
color: #333;
}
>image{
flex-shrink: 0;
width: 24upx;
height: 24upx;
background-color: skyblue;
}
}
.sb-icon{
flex-shrink: 0;
margin-left: 48upx;
width: 60upx;
height: 60upx;
background-color: skyblue;
}
}
.sol-list{
padding: 24upx;
.sl-item{
margin-bottom: 24upx;
border-radius: 10upx;
padding: 0 28upx 20upx;
background-color: #fff;
.si-bar{
margin-bottom: 20upx;
padding: 20upx 0;
border-bottom: 2upx solid #D8D8D8;
@include centerFlex(space-between);
.sa-address{
flex-grow: 1;
line-height: 40upx;
font-size: 28upx;
font-weight: 500;
color: #333;
@include textHide(1);
>image{
margin-right: 10upx;
vertical-align: middle;
width: 34upx;
height: 34upx;
background-color: skyblue;
}
}
.sa-status{
flex-shrink: 0;
margin-left: 10upx;
font-size: 28upx;
line-height: 40upx;
color: $themeColor;
}
}
.si-detail{
padding: 20upx 0;
.sd-line{
display: flex;
>view{
&:first-child{
margin-right: 34upx;
flex-shrink: 0;
line-height: 52upx;
font-size: 28upx;
color: #9A9A9D;
}
&:nth-child(2){
flex-grow: 1;
>view{
line-height: 52upx;
font-size: 28upx;
color: #333;
@include textHide(1);
}
}
}
}
}
.si-info{
padding-top: 20upx;
border-top: 2upx solid #D8D8D8;
display: flex;
flex-wrap: wrap;
.si-line{
flex-grow: 1;
margin-bottom: 20upx;
min-width: 40%;
font-size: 24upx;
line-height: 34upx;
color: #333;
@include textHide(1);
&:nth-child(2){
text-align: right;
}
&:not(:nth-child(3)){
max-width: 50%;
}
>text{
margin-right: 10upx;
color: #9A9A9D;
}
}
}
.si-btns{
padding: 10upx 0;
@include centerFlex(flex-end);
>view{
width: 200upx;
height: 72upx;
line-height: 68upx;
text-align: center;
border-radius: 36upx;
border: 2upx solid $themeColor;
font-size: 28upx;
color: $themeColor;
}
}
}
}
.sol-fixed-bar{
position: fixed;
left: 0;
bottom: 0;
width: 100%;
background-color: #fff;
padding: 10upx 0;
padding-bottom: calc( 10upx + constant(safe-area-inset-bottom)); /* 兼容 iOS < 11.2 */
padding-bottom: calc( 10upx + env(safe-area-inset-bottom)); /* 兼容 iOS >= 11.2 */
>view{
margin: 0 auto;
width: 702upx;
height: 88upx;
line-height: 88upx;
text-align: center;
font-size: 32upx;
color: #fff;
background-color: $themeColor;
border-radius: 44upx;
}
}
}
</style>
Loading…
Cancel
Save