hookehuyr

✨ feat: 新增活动详情功能栏组件

1 +<!--
2 + * @Date: 2022-09-26 16:10:35
3 + * @LastEditors: hookehuyr hookehuyr@gmail.com
4 + * @LastEditTime: 2022-09-26 17:14:29
5 + * @FilePath: /swx/src/components/activity-bar.vue
6 + * @Description: 文件描述
7 +-->
8 +<template>
9 + <view class="activity-bar-page">
10 + <van-row>
11 + <van-col span="5">
12 + <view @tap="goTo()" class="home">
13 + <view style="height: 1.75rem;">
14 + <van-icon :name="icon_home1" size="1.75rem" color="" />
15 + </view>
16 + <view><text class="home-text">首页</text></view>
17 + </view>
18 + </van-col>
19 + <van-col span="19">
20 + <view v-if="status === '1'" class="user-not-reg">
21 + <view class="button">义工报名</view>
22 + <view class="button">活动报名</view>
23 + </view>
24 + <view v-if="status === '2'" class="user-reg">
25 + <view class="button">报名信息</view>
26 + </view>
27 + <view v-if="status === '3'" class="admin-control">
28 + <view class="edit">修改活动</view>
29 + <view class="list">报名列表</view>
30 + </view>
31 + <view v-if="status === '4'" class="staff-join">
32 + <view class="button">报名活动</view>
33 + </view>
34 + <view v-if="status === '5'" class="staff-not-join">
35 + <view class="button">义工报名</view>
36 + </view>
37 + </van-col>
38 + </van-row>
39 + </view>
40 +</template>
41 +
42 +<script setup>
43 +import { ref } from 'vue'
44 +import icon_home1 from '@/images/icon/home01@2x.png'
45 +
46 +import Taro from '@tarojs/taro'
47 +
48 +const goTo = () => {
49 + Taro.redirectTo({
50 + url: '../index/index'
51 + })
52 +}
53 +
54 +// TODO: 状态待定-后期根据实际状态判断
55 +const status = '5';
56 +
57 +</script>
58 +
59 +<style lang="less">
60 +@import '@/assets/styles/base.less';
61 +
62 +.activity-bar-page {
63 + position: fixed;
64 + bottom: 0;
65 + background-color: #FFFFFF;
66 + padding-top: 0.5rem;
67 + height: 5rem;
68 + width: 100%;
69 + box-shadow: 0rem -0.17rem 0.67rem 0rem rgba(0, 0, 0, 0.05);
70 + padding-bottom: 1rem;
71 +
72 + .home {
73 + text-align: center;
74 + margin-top: 0.5rem;
75 + }
76 +
77 + .home-text {
78 + color: #222222;
79 + font-size: 0.9rem;
80 + }
81 +
82 + .user-not-reg {
83 + display: flex;
84 + text-align: center;
85 +
86 + .button {
87 + padding: 0.8rem;
88 + border-radius: 2rem;
89 + background-color: #199A74;
90 + color: #FFFFFF;
91 + margin: 0.5rem 0.8rem;
92 + width: 50%;
93 + }
94 + }
95 +
96 + .user-reg {
97 + display: flex;
98 + text-align: center;
99 +
100 + .button {
101 + padding: 0.8rem;
102 + border-radius: 2rem;
103 + border: 1px solid #199A74;
104 + background-color: #FFFFFF;
105 + color: #199A74;
106 + margin: 0.5rem 0.8rem;
107 + width: 100%;
108 + }
109 + }
110 +
111 + .admin-control {
112 + display: flex;
113 + text-align: center;
114 +
115 + .edit {
116 + padding: 0.8rem;
117 + border-radius: 2rem;
118 + background-color: #199A74;
119 + color: #FFFFFF;
120 + margin: 0.5rem 0.8rem;
121 + width: 50%;
122 + }
123 +
124 + .list {
125 + padding: 0.8rem;
126 + border-radius: 2rem;
127 + border: 1px solid #199A74;
128 + background-color: #FFFFFF;
129 + color: #199A74;
130 + margin: 0.5rem 0.8rem;
131 + width: 50%;
132 + }
133 + }
134 +
135 + .staff-join {
136 + display: flex;
137 + text-align: center;
138 +
139 + .button {
140 + padding: 0.8rem;
141 + border-radius: 2rem;
142 + background-color: #199A74;
143 + color: #FFFFFF;
144 + margin: 0.5rem 0.8rem;
145 + width: 100%;
146 + }
147 + }
148 +
149 + .staff-not-join {
150 + display: flex;
151 + text-align: center;
152 +
153 + .button {
154 + padding: 0.8rem;
155 + border-radius: 2rem;
156 + background-color: #199A74;
157 + color: #FFFFFF;
158 + margin: 0.5rem 0.8rem;
159 + width: 100%;
160 + }
161 + }
162 +}
163 +</style>