127 133
         <RelativeLayout
128 134
             android:layout_width="0dp"
129 135
             android:layout_weight="1"
@@ -161,6 +167,81 @@
161 167
         android:background="@color/background_white"
162 168
         android:orientation="vertical">
163 169
 
170
+        <LinearLayout
171
+            android:layout_width="match_parent"
172
+            android:layout_height="32dp"
173
+            android:orientation="horizontal">
174
+
175
+            <TextView
176
+                android:layout_width="wrap_content"
177
+                android:layout_height="wrap_content"
178
+                android:layout_gravity="center_vertical"
179
+                android:text="@string/message"
180
+                android:paddingLeft="10dp"
181
+                android:textColor="@color/_7B8088"
182
+                android:textSize="14sp"
183
+                />
184
+        </LinearLayout>
185
+
186
+    </LinearLayout>
187
+
188
+    <View
189
+        android:layout_width="match_parent"
190
+        android:layout_height="1px"
191
+        android:background="@color/text_hint_grey_color"/>
192
+
193
+    <LinearLayout
194
+        android:layout_width="match_parent"
195
+        android:layout_height="44dp"
196
+        android:paddingLeft="10dp"
197
+        android:paddingRight="6dp"
198
+        android:background="@color/background_white"
199
+        android:orientation="horizontal">
200
+
201
+    <TextSwitcher
202
+        android:id="@+id/switcher_system_msg"
203
+        android:layout_width="0dp"
204
+        android:inAnimation="@android:anim/slide_in_left"
205
+        android:outAnimation="@android:anim/slide_out_right"
206
+        android:layout_height="wrap_content"
207
+        android:layout_gravity="center_vertical"
208
+        android:layout_weight="1"/>
209
+
210
+    <ImageView
211
+        android:layout_width="10dp"
212
+        android:layout_height="18dp"
213
+        android:layout_gravity="center_vertical"
214
+        android:src="@drawable/arrow_right"/>
215
+
216
+</LinearLayout>
217
+
218
+    <View
219
+        android:layout_width="match_parent"
220
+        android:layout_height="1px"
221
+        android:background="@color/text_hint_grey_color"/>
222
+
223
+    <LinearLayout
224
+        android:layout_width="match_parent"
225
+        android:layout_height="44dp"
226
+        android:paddingLeft="10dp"
227
+        android:paddingRight="6dp"
228
+        android:background="@color/background_white"
229
+        android:orientation="horizontal">
230
+
231
+        <TextSwitcher
232
+            android:id="@+id/switcher_order_msg"
233
+            android:layout_width="0dp"
234
+            android:layout_height="wrap_content"
235
+            android:inAnimation="@android:anim/slide_in_left"
236
+            android:outAnimation="@android:anim/slide_out_right"
237
+            android:layout_gravity="center_vertical"
238
+            android:layout_weight="1"/>
239
+
240
+        <ImageView
241
+            android:layout_width="10dp"
242
+            android:layout_height="18dp"
243
+            android:layout_gravity="center_vertical"
244
+            android:src="@drawable/arrow_right"/>
164 245
 
165 246
     </LinearLayout>
166 247
 
@@ -169,6 +250,7 @@
169 250
         android:layout_marginTop="8dp"
170 251
         android:layout_width="match_parent"
171 252
         android:layout_height="130dp"
253
+        android:gravity="center_vertical"
172 254
         android:background="@color/background_white"
173 255
         android:orientation="horizontal">
174 256
 
@@ -201,6 +283,11 @@
201 283
 
202 284
         </RelativeLayout>
203 285
 
286
+        <View
287
+            android:layout_width="1px"
288
+            android:layout_height="45dp"
289
+            android:background="@color/text_hint_grey_color"/>
290
+
204 291
         <RelativeLayout
205 292
             android:layout_width="0dp"
206 293
             android:layout_weight="1"
@@ -230,6 +317,10 @@
230 317
 
231 318
         </RelativeLayout>
232 319
 
320
+        <View
321
+            android:layout_width="1px"
322
+            android:layout_height="45dp"
323
+            android:background="@color/text_hint_grey_color"/>
233 324
 
234 325
         <RelativeLayout
235 326
             android:layout_width="0dp"

+ 6 - 0
app/src/main/res/values/strings.xml

@@ -52,4 +52,10 @@
52 52
     <string name="photo_upload_count">累计上传</string>
53 53
 
54 54
     <string name="total_incoming">累计收入</string>
55
+
56
+    <string name="message">消息</string>
57
+
58
+    <string name="no_system_msg">暂无新系统消息</string>
59
+
60
+    <string name="no_order_msg">暂无新购买消息</string>
55 61
 </resources>

kodo - Gogs: Go Git Service

Nenhuma Descrição

tourguidegroupadmin_views.py 2.4KB

    # -*- coding: utf-8 -*- from __future__ import division from django_logit import logit from django_response import response from group.models import GroupUserInfo from utils.admin_utils import is_group_admin from utils.error.errno_utils import GroupStatusCode @logit def tg_group_admin_list_api(request): """ 旅行团管理员列表 """ group_id = request.POST.get('group_id', '') admin_id = request.POST.get('admin_id', '') # 导游唯一标识 # 权限校验 if not is_group_admin(group_id, admin_id): return response(GroupStatusCode.NOT_GROUP_ADMIN) admins = GroupUserInfo.objects.filter(group_id=group_id, subadmin=True, status=True) admins = [admin.admin_info for admin in admins] return response(200, 'Get Tour Guide Group Admin List Success', u'获取旅行团管理员列表成功', { 'group_id': group_id, 'admins': admins, }) @logit def tg_group_admin_recovery_api(request): """ 旅行团管理员权限回收,管理员主动,团成员被动 """ group_id = request.POST.get('group_id', '') admin_id = request.POST.get('admin_id', '') # 导游唯一标识 user_id = request.POST.get('user_id', '') # 权限校验 if not is_group_admin(group_id, admin_id): return response(GroupStatusCode.NOT_GROUP_ADMIN) # 管理员也不允许将自己移除 if admin_id == user_id: return response(GroupStatusCode.ADMIN_CANNOT_HANDLE_SELF) try: subadmin = GroupUserInfo.objects.get(group_id=group_id, user_id=user_id, subadmin=True, admin_status=True, status=True) except GroupUserInfo.DoesNotExist: return response(GroupStatusCode.NOT_GROUP_SUBADMIN) # 权限回收 subadmin.admin_status = False subadmin.save() return response(200, 'Tour Guide Group Admin Right Recovery Success', u'旅行团管理员权限回收成功') @logit def tg_group_admin_waiver_api(request): """ 旅行团管理员权限放弃 """ group_id = request.POST.get('group_id', '') user_id = request.POST.get('user_id', '') try: subadmin = GroupUserInfo.objects.get(group_id=group_id, user_id=user_id, subadmin=True, admin_status=True, status=True) except GroupUserInfo.DoesNotExist: return response(GroupStatusCode.NOT_GROUP_SUBADMIN) # 权限回收 subadmin.admin_status = False subadmin.save() return response(200, 'Tour Guide Group Admin Right Waiver Success', u'旅行团管理员权限放弃成功')