Kaynağa Gözat

静态页面

xcx 4 yıl önce
ebeveyn
işleme
5cdfb9396f
100 değiştirilmiş dosya ile 769 ekleme ve 3845 silme
  1. 27
    41
      src/app.config.js
  2. 3
    30
      src/app.js
  3. 1
    27
      src/app.scss
  4. BIN
      src/assets/image/iconhuiaixin-.png
  5. BIN
      src/assets/image/iconhuiaixin.png
  6. BIN
      src/assets/image/iconhuiquanyi-.png
  7. BIN
      src/assets/image/iconhuiquanyi.png
  8. BIN
      src/assets/image/iconhuishenghuo-.png
  9. BIN
      src/assets/image/iconhuishenghuo.png
  10. BIN
      src/assets/image/iconhuodong.png
  11. BIN
      src/assets/image/iconwode-.png
  12. BIN
      src/assets/image/iconwode.png
  13. 0
    0
      src/assets/img/bars.svg
  14. BIN
      src/assets/img/tabicon1-.png
  15. BIN
      src/assets/img/tabicon1.png
  16. BIN
      src/assets/img/tabicon2-.png
  17. BIN
      src/assets/img/tabicon2.png
  18. BIN
      src/assets/img/tabicon3-.png
  19. BIN
      src/assets/img/tabicon3.png
  20. BIN
      src/assets/img/tabicon4-.png
  21. BIN
      src/assets/img/tabicon4.png
  22. BIN
      src/assets/img/tabicon5-.png
  23. BIN
      src/assets/img/tabicon5.png
  24. 0
    46
      src/components/BannerSwiper/index.vue
  25. 0
    123
      src/components/GetUserIcon/index.vue
  26. 0
    27
      src/components/Layout/Basic/index.vue
  27. 0
    3
      src/components/Loading/index.vue
  28. 0
    6
      src/components/Markdown/Readme.md
  29. 0
    28
      src/components/Markdown/index.vue
  30. 39
    0
      src/components/NavHeader/index.vue
  31. 13
    0
      src/components/NavHeader/page.scss
  32. 0
    32
      src/components/ScrollY/index.vue
  33. 80
    20
      src/iconfont.scss
  34. 3
    0
      src/pages/FuLi/index.config.js
  35. 39
    0
      src/pages/FuLi/index.vue
  36. 6
    0
      src/pages/FuLi/page.scss
  37. 0
    3
      src/pages/HuiAiXin/EnergyStory/EnergyStoryDetail/index.config.js
  38. 0
    30
      src/pages/HuiAiXin/EnergyStory/EnergyStoryDetail/index.vue
  39. 0
    3
      src/pages/HuiAiXin/EnergyStory/EnergyStoryDetail/page.scss
  40. 0
    3
      src/pages/HuiAiXin/EnergyStory/index.config.js
  41. 0
    117
      src/pages/HuiAiXin/EnergyStory/index.vue
  42. 0
    63
      src/pages/HuiAiXin/EnergyStory/page.scss
  43. 0
    3
      src/pages/HuiAiXin/StarOwner/StarOwnerDetail/index.config.js
  44. 0
    30
      src/pages/HuiAiXin/StarOwner/StarOwnerDetail/index.vue
  45. 0
    3
      src/pages/HuiAiXin/StarOwner/StarOwnerDetail/page.scss
  46. 0
    3
      src/pages/HuiAiXin/StarOwner/index.config.js
  47. 0
    111
      src/pages/HuiAiXin/StarOwner/index.vue
  48. 0
    45
      src/pages/HuiAiXin/StarOwner/page.scss
  49. 0
    3
      src/pages/HuiAiXin/index.config.js
  50. 0
    172
      src/pages/HuiAiXin/index.vue
  51. 0
    164
      src/pages/HuiAiXin/page.scss
  52. 0
    3
      src/pages/HuiQuanYi/NoticeBoard/NoticeDetail/index.config.js
  53. 0
    30
      src/pages/HuiQuanYi/NoticeBoard/NoticeDetail/index.vue
  54. 0
    3
      src/pages/HuiQuanYi/NoticeBoard/NoticeDetail/page.scss
  55. 0
    3
      src/pages/HuiQuanYi/NoticeBoard/index.config.js
  56. 0
    30
      src/pages/HuiQuanYi/NoticeBoard/index.vue
  57. 0
    3
      src/pages/HuiQuanYi/NoticeBoard/page.scss
  58. 0
    6
      src/pages/HuiQuanYi/OwnersNews/NewsDetail/index.config.js
  59. 0
    64
      src/pages/HuiQuanYi/OwnersNews/NewsDetail/index.vue
  60. 0
    47
      src/pages/HuiQuanYi/OwnersNews/NewsDetail/page.scss
  61. 0
    3
      src/pages/HuiQuanYi/OwnersNews/index.config.js
  62. 0
    110
      src/pages/HuiQuanYi/OwnersNews/index.vue
  63. 0
    50
      src/pages/HuiQuanYi/OwnersNews/page.scss
  64. 0
    3
      src/pages/HuiQuanYi/Recommed/index.config.js
  65. 0
    135
      src/pages/HuiQuanYi/Recommed/index.vue
  66. 0
    70
      src/pages/HuiQuanYi/Recommed/page.scss
  67. 0
    3
      src/pages/HuiQuanYi/index.config.js
  68. 0
    135
      src/pages/HuiQuanYi/index.vue
  69. 0
    158
      src/pages/HuiQuanYi/page.scss
  70. 0
    3
      src/pages/HuiShengHuo/ActivityList/ActivityDetail/JoinIn/index.config.js
  71. 0
    104
      src/pages/HuiShengHuo/ActivityList/ActivityDetail/JoinIn/index.vue
  72. 0
    43
      src/pages/HuiShengHuo/ActivityList/ActivityDetail/JoinIn/page.scss
  73. 0
    6
      src/pages/HuiShengHuo/ActivityList/ActivityDetail/index.config.js
  74. 0
    242
      src/pages/HuiShengHuo/ActivityList/ActivityDetail/index.vue
  75. 0
    236
      src/pages/HuiShengHuo/ActivityList/ActivityDetail/page.scss
  76. 0
    3
      src/pages/HuiShengHuo/ActivityList/index.config.js
  77. 0
    155
      src/pages/HuiShengHuo/ActivityList/index.vue
  78. 0
    109
      src/pages/HuiShengHuo/ActivityList/page.scss
  79. 0
    3
      src/pages/HuiShengHuo/PhotoList/PhotoDetail/index.config.js
  80. 0
    44
      src/pages/HuiShengHuo/PhotoList/PhotoDetail/index.vue
  81. 0
    66
      src/pages/HuiShengHuo/PhotoList/PhotoDetail/page.scss
  82. 0
    3
      src/pages/HuiShengHuo/PhotoList/index.config.js
  83. 0
    174
      src/pages/HuiShengHuo/PhotoList/index.vue
  84. 0
    96
      src/pages/HuiShengHuo/PhotoList/page.scss
  85. 0
    3
      src/pages/HuiShengHuo/index.config.js
  86. 0
    193
      src/pages/HuiShengHuo/index.vue
  87. 0
    176
      src/pages/HuiShengHuo/page.scss
  88. 3
    0
      src/pages/HuoDong/index.config.js
  89. 39
    0
      src/pages/HuoDong/index.vue
  90. 6
    0
      src/pages/HuoDong/page.scss
  91. 5
    0
      src/pages/ShouYe/index.config.js
  92. 168
    0
      src/pages/ShouYe/index.vue
  93. 334
    0
      src/pages/ShouYe/page.scss
  94. 0
    3
      src/pages/SignIn/XieYi/index.config.js
  95. 0
    40
      src/pages/SignIn/XieYi/index.vue
  96. 0
    20
      src/pages/SignIn/XieYi/page.scss
  97. 1
    1
      src/pages/SignIn/index.config.js
  98. 2
    60
      src/pages/SignIn/index.vue
  99. 0
    70
      src/pages/SignIn/page.scss
  100. 0
    0
      src/pages/WoDe/Feedback/index.config.js

+ 27
- 41
src/app.config.js Dosyayı Görüntüle

@@ -1,58 +1,44 @@
1 1
 
2 2
 export default {
3 3
   pages: [
4
-
5
-    'pages/HuiShengHuo/index', // 荟生活
6
-    'pages/HuiShengHuo/ActivityList/index', // 荟生活-活动列表
7
-    'pages/HuiShengHuo/ActivityList/ActivityDetail/index', // 荟生活-活动列表-活动详情
8
-    'pages/HuiShengHuo/ActivityList/ActivityDetail/JoinIn/index', // 荟生活-活动列表-活动详情-报名
9
-    'pages/HuiShengHuo/PhotoList/index', // 荟生活-照片列表
10
-    'pages/HuiShengHuo/PhotoList/PhotoDetail/index', // 荟生活-照片列表-照片详情
11
-
12
-    'pages/HuiQuanYi/index', // 荟权益
13
-    'pages/HuiQuanYi/OwnersNews/index', // 荟权益-业主资讯
14
-    'pages/HuiQuanYi/OwnersNews/NewsDetail/index', // 荟权益-业主资讯-详情
15
-    'pages/HuiQuanYi/Recommed/index', // 荟权益-一荐倾心
16
-
17
-    'pages/HuiAiXin/index', // 荟爱心
18
-    'pages/HuiAiXin/StarOwner/index', // 荟爱心-明星业主
19
-    'pages/HuiAiXin/StarOwner/StarOwnerDetail/index', // 荟爱心-明星业主-详情
20
-    'pages/HuiAiXin/EnergyStory/index', // 荟爱心-正能量事迹
21
-    'pages/HuiAiXin/EnergyStory/EnergyStoryDetail/index', // 荟爱心-正能量事迹-详情
22
-
4
+    'pages/ShouYe/index', // 首页
5
+    'pages/WuYe/index', // 物业
6
+    'pages/HuoDong/index', // 活动
7
+    'pages/FuLi/index', // 福利
23 8
     'pages/WoDe/index', // 我的
24
-    'pages/WoDe/Feedback/index', // 我的-反馈
25
-    'pages/WoDe/MyActivityList/index', // 我的-活动列表
26
-    'pages/WoDe/MyRecommed/index', // 我的-我的推荐
27
-
28
-    'pages/SignIn/index', // 登录页
29
-    'pages/SignIn/XieYi/index', // 协议
30
-
31
-
9
+    'pages/SignIn/index' // 登录页
32 10
   ],
33 11
   tabBar: {
12
+    color: '#666666',
13
+    selectedColor: '#971C21',
34 14
     list: [
35 15
       {
36
-        iconPath: 'assets/image/iconhuishenghuo-.png',
37
-        selectedIconPath: 'assets/image/iconhuishenghuo.png',
38
-        pagePath: 'pages/HuiShengHuo/index',
39
-        text: '荟 · 生活'
16
+        iconPath: 'assets/img/tabicon1.png',
17
+        selectedIconPath: 'assets/img/tabicon1-.png',
18
+        pagePath: 'pages/ShouYe/index',
19
+        text: '首页'
20
+      },
21
+      {
22
+        iconPath: 'assets/img/tabicon2.png',
23
+        selectedIconPath: 'assets/img/tabicon2-.png',
24
+        pagePath: 'pages/WuYe/index',
25
+        text: '物业'
40 26
       },
41 27
       {
42
-        iconPath: 'assets/image/iconhuiquanyi-.png',
43
-        selectedIconPath: 'assets/image/iconhuiquanyi.png',
44
-        pagePath: 'pages/HuiQuanYi/index',
45
-        text: '荟 · 权益'
28
+        iconPath: 'assets/img/tabicon3.png',
29
+        selectedIconPath: 'assets/img/tabicon3-.png',
30
+        pagePath: 'pages/HuoDong/index',
31
+        text: '活动'
46 32
       },
47 33
       {
48
-        iconPath: 'assets/image/iconhuiaixin-.png',
49
-        selectedIconPath: 'assets/image/iconhuiaixin.png',
50
-        pagePath: 'pages/HuiAiXin/index',
51
-        text: '荟 · 爱心'
34
+        iconPath: 'assets/img/tabicon4.png',
35
+        selectedIconPath: 'assets/img/tabicon4-.png',
36
+        pagePath: 'pages/FuLi/index',
37
+        text: '福利'
52 38
       },
53 39
       {
54
-        iconPath: 'assets/image/iconwode-.png',
55
-        selectedIconPath: 'assets/image/iconwode.png',
40
+        iconPath: 'assets/img/tabicon5.png',
41
+        selectedIconPath: 'assets/img/tabicon5-.png',
56 42
         pagePath: 'pages/WoDe/index',
57 43
         text: '我的'
58 44
       }

+ 3
- 30
src/app.js Dosyayı Görüntüle

@@ -1,7 +1,5 @@
1 1
 import Taro from '@tarojs/taro'
2 2
 import Vue from 'vue'
3
-import BasicLayout from '@/components/Layout/Basic'
4
-import Markdown from '@/components/Markdown'
5 3
 import { vueAuthPlugin } from '@/util/auth-plugin'
6 4
 import store from './store/index'
7 5
 
@@ -15,47 +13,22 @@ import ToolClass from './util/PublicMethod/index'
15 13
 Vue.prototype.ToolClass = ToolClass
16 14
 
17 15
 Vue.use(vueAuthPlugin)
18
-Vue.component('BasicLayout', BasicLayout)
19
-Vue.component('Markdown', Markdown)
20 16
 
21 17
 const App = new Vue({
22 18
   store,
23 19
   onLaunch (options) {
24 20
     this.login(options)
25 21
   },
26
-  render(h) {
22
+  render (h) {
27 23
     // this.$slots.default 是将要会渲染的页面
28 24
     return h('block', this.$slots.default)
29 25
   },
30 26
   methods: {
31
-    login(options) {
27
+    login (options) {
32 28
       Taro.login({
33 29
         success (res) {
34 30
           if (res.code) {
35
-            store.dispatch(
36
-              'user/MainSignIn',
37
-              { queryData: { code: res.code } }
38
-            ).then((res) => { // 获取用户信息
39
-              store.commit(
40
-                'user/EditUserInfo',
41
-                { name: 'PersonId', value: res.data.data.person.personId }
42
-              )
43
-
44
-              store.commit(
45
-                'user/EditUserInfo',
46
-                { name: 'OpenId', value: res.data.data.person.openId }
47
-              )
48
-              
49
-              store.commit(
50
-                'user/EditUserInfo',
51
-                { name: 'SessionKey', value: res.data.data.extraInfo.sessionKey }
52
-              )
53
-              
54
-              store.commit(
55
-                'user/EditUserInfo',
56
-                { name: 'Phone', value: res.data.data.person.phone }
57
-              )
58
-            })
31
+            console.log(`登录成功,登录信息${res}`)
59 32
           } else {
60 33
             Taro.showToast({
61 34
               title: '初始化失败, 请退出重试',

+ 1
- 27
src/app.scss Dosyayı Görüntüle

@@ -51,33 +51,7 @@ page {
51 51
   .MainLoading {
52 52
     width: 100%;
53 53
     height: 300px;
54
-    background: url('../src/assets/image/bars.svg') no-repeat center center;
54
+    background: url('../src/assets/img/bars.svg') no-repeat center center;
55 55
     background-size: 100px auto;
56 56
   }
57
-  .NoData {
58
-    > image {
59
-      width: 53%;
60
-      margin: 172px auto 0;
61
-      display: block;
62
-    }
63
-    > text {
64
-      font-size: 28px;
65
-      color: #999;
66
-      line-height: 40px;
67
-      margin-top: 10px;
68
-      display: block;
69
-      text-align: center;
70
-    }
71
-  }
72
-  view.MainItemImg {
73
-    width: 100%;
74
-    position: absolute;
75
-    left: 0;
76
-    top: 0;
77
-    bottom: 0;
78
-    > image {
79
-      width: 100%;
80
-      height: 100%;
81
-    }
82
-  }
83 57
 }

BIN
src/assets/image/iconhuiaixin-.png Dosyayı Görüntüle


BIN
src/assets/image/iconhuiaixin.png Dosyayı Görüntüle


BIN
src/assets/image/iconhuiquanyi-.png Dosyayı Görüntüle


BIN
src/assets/image/iconhuiquanyi.png Dosyayı Görüntüle


BIN
src/assets/image/iconhuishenghuo-.png Dosyayı Görüntüle


BIN
src/assets/image/iconhuishenghuo.png Dosyayı Görüntüle


BIN
src/assets/image/iconhuodong.png Dosyayı Görüntüle


BIN
src/assets/image/iconwode-.png Dosyayı Görüntüle


BIN
src/assets/image/iconwode.png Dosyayı Görüntüle


src/assets/image/bars.svg → src/assets/img/bars.svg Dosyayı Görüntüle


BIN
src/assets/img/tabicon1-.png Dosyayı Görüntüle


BIN
src/assets/img/tabicon1.png Dosyayı Görüntüle


BIN
src/assets/img/tabicon2-.png Dosyayı Görüntüle


BIN
src/assets/img/tabicon2.png Dosyayı Görüntüle


BIN
src/assets/img/tabicon3-.png Dosyayı Görüntüle


BIN
src/assets/img/tabicon3.png Dosyayı Görüntüle


BIN
src/assets/img/tabicon4-.png Dosyayı Görüntüle


BIN
src/assets/img/tabicon4.png Dosyayı Görüntüle


BIN
src/assets/img/tabicon5-.png Dosyayı Görüntüle


BIN
src/assets/img/tabicon5.png Dosyayı Görüntüle


+ 0
- 46
src/components/BannerSwiper/index.vue Dosyayı Görüntüle

@@ -1,46 +0,0 @@
1
-<template>
2
-  <view class="BannerSwiper">
3
-    <swiper style="width: 100%; height: 100%;" indicator-color="rgba(255,255,255,0.3)" indicator-active-color="rgba(255,255,255,1)" :indicator-dots="true" :autoplay="true" :interval="2000" :duration="300">
4
-      <block v-for="(item, index) in List" :key="index">
5
-        <swiper-item>
6
-          <view class="swiper-item">
7
-            <view class="MainItemImg">
8
-              <image mode="aspectFill" :src="item.image" @tap="LinkTo(item)"></image>
9
-            </view>
10
-          </view>
11
-        </swiper-item>
12
-      </block>
13
-    </swiper>
14
-  </view>
15
-</template>
16
-
17
-<script>
18
-export default {
19
-  name: 'BannerSwiper',
20
-  props: {
21
-    List: {
22
-      default: () => {
23
-        return []
24
-      },
25
-      type: Array
26
-    }
27
-  },
28
-  data () {
29
-    return {
30
-    }
31
-  },
32
-  methods: {
33
-    LinkTo (item) {
34
-      if (item.srcId === null) return
35
-      wx.navigateTo({ url: `../../pages/HuiShengHuo/ActivityList/ActivityDetail/index?id=${item.srcId}` })
36
-    }
37
-  }
38
-}
39
-</script>
40
-
41
-<style>
42
-.BannerSwiper {
43
-  width: 100%;
44
-  height: 100%;
45
-}
46
-</style>

+ 0
- 123
src/components/GetUserIcon/index.vue Dosyayı Görüntüle

@@ -1,123 +0,0 @@
1
-<template>
2
-  <view class="GetUserIcon" v-show="Show">
3
-    <view class="centerLabel">
4
-      <image mode="widthFix" src="https://cjgw.oss-cn-hangzhou.aliyuncs.com/ygcxxfb/image/morentouxiang.png"></image>
5
-      <text>授权头像</text>
6
-      <button open-type="getUserInfo" @getuserinfo="ToGetUserIcon">授权头像</button>
7
-    </view>
8
-  </view>
9
-</template>
10
-
11
-<script>
12
-import { createNamespacedHelpers } from 'vuex'
13
-const { mapState: mapUserState, mapActions: mapUserActions, mapMutations: mapUserMutations } = createNamespacedHelpers('user')
14
-export default {
15
-  name: 'GetUserIcon',
16
-  data () {
17
-    return {
18
-      Show: false,
19
-      DataLock: false
20
-    }
21
-  },
22
-  computed: {
23
-    ...mapUserState({
24
-      UserInfo: x => x.UserInfo // 用户信息
25
-    })
26
-  },
27
-  created () {
28
-    this.Init() // 初始化
29
-  },
30
-  methods: {
31
-    ...mapUserActions([
32
-      'UpdateUserInfo'
33
-    ]),
34
-    ...mapUserMutations([
35
-      'EditUserInfo'
36
-    ]),
37
-    Init () { // 初始化
38
-      let _that = this
39
-      wx.getSetting({ // 校验用户是否已授权
40
-        success (res) {
41
-          if (res.authSetting['scope.userInfo']) { // 已授权时,获取用户信息
42
-            wx.authorize({
43
-              scope: 'scope.userInfo',
44
-              success () {
45
-                wx.getUserInfo({ // 授权成功时,获取用户信息
46
-                  success (subRes) {
47
-                    _that.EditUserInfo({ name: 'Icon', value: subRes.userInfo.avatarUrl })
48
-                    _that.EditUserInfo({ name: 'Name', value: subRes.userInfo.nickName })
49
-                    _that.$emit('UserInfoChange')
50
-                  }
51
-                })
52
-              }
53
-            })
54
-          } else { // 未授权时,显示弹窗
55
-            _that.Show = true
56
-          }
57
-        }
58
-      })
59
-    },
60
-    ToGetUserIcon (res) { // 获取用户头像
61
-      if (this.DataLock) return
62
-      this.DataLock = true
63
-      this.UpdateUserInfo({
64
-        urlData: { id: this.UserInfo.PersonId },
65
-        data: { data: { nickname: res.detail.userInfo.nickName, avatar: res.detail.userInfo.avatarUrl, sex: res.detail.userInfo.gender, personId: this.UserInfo.PersonId } }
66
-      }).then(() => {
67
-        this.EditUserInfo({ name: 'Icon', value: res.detail.userInfo.avatarUrl })
68
-        this.EditUserInfo({ name: 'Name', value: res.detail.userInfo.nickName })
69
-        this.$emit('UserInfoChange')
70
-        this.DataLock = false
71
-        this.Show = false
72
-      }).catch(() => {
73
-        this.DataLock = false
74
-      })
75
-    }
76
-  }
77
-}
78
-</script>
79
-
80
-<style lang="scss">
81
-.GetUserIcon {
82
-  width: 100%;
83
-  position: fixed;
84
-  left: 0;
85
-  top: 0;
86
-  bottom: 0;
87
-  z-index: 100;
88
-  background: rgba(0, 0, 0, 0.6);
89
-  > view {
90
-    width: 60%;
91
-    padding: 20px 0 0;
92
-    background: #fff;
93
-    border-radius: 10px;
94
-    overflow: hidden;
95
-    > image {
96
-      width: 120px;
97
-      margin: 0 auto;
98
-      display: block;
99
-    }
100
-    > text {
101
-      font-size: 32px;
102
-      color: #07c160;
103
-      line-height: 80px;
104
-      display: block;
105
-      text-align: center;
106
-      border-top: 2px solid #f5f5f5;
107
-      margin-top: 40px;
108
-      &:active {
109
-        background: #f5f5f5;
110
-      }
111
-    }
112
-    > button {
113
-      width: 100%;
114
-      height: 80px;
115
-      opacity: 0;
116
-      display: block;
117
-      position: absolute;
118
-      left: 0;
119
-      bottom: 0;
120
-    }
121
-  }
122
-}
123
-</style>

+ 0
- 27
src/components/Layout/Basic/index.vue Dosyayı Görüntüle

@@ -1,27 +0,0 @@
1
-<template>
2
-  <block>
3
-    <block v-if="user.PersonId">
4
-      <slot v-bind:user="user"></slot>
5
-    </block>
6
-    <view class="MainLoading centerLabel" v-else></view>
7
-  </block>
8
-</template>
9
-
10
-<script>
11
-import { mapState } from 'vuex'
12
-import Loading from '@/components/Loading'
13
-
14
-export default {
15
-  name: 'BasicLayout',
16
-  components: {
17
-    Loading
18
-  },
19
-  computed: {
20
-    ...mapState({
21
-      user: s => s.user.UserInfo || {}
22
-    })
23
-  },
24
-  created () {
25
-  }
26
-}
27
-</script>

+ 0
- 3
src/components/Loading/index.vue Dosyayı Görüntüle

@@ -1,3 +0,0 @@
1
-<template>
2
-  <view style="text-align: center; margin-top: 20vh">Loading</view>
3
-</template>

+ 0
- 6
src/components/Markdown/Readme.md Dosyayı Görüntüle

@@ -1,6 +0,0 @@
1
-使用当前组件的页面,必须设置
2
-
3
-  usingComponents: {
4
-    'towxml': '/towxml/towxml'
5
-  }
6
-  

+ 0
- 28
src/components/Markdown/index.vue Dosyayı Görüntüle

@@ -1,28 +0,0 @@
1
-<template>
2
-  <towxml :nodes="nodes" />
3
-</template>
4
-
5
-<script>
6
-// https://github.com/sbfkcel/towxml
7
-// import towxml from '../../towxml'
8
-const towxml = require('../../towxml/index')
9
-
10
-export default {
11
-  props: {
12
-    value: {
13
-      type: String,
14
-      default: undefined
15
-    }
16
-  },
17
-
18
-  data() {
19
-    return {}
20
-  },
21
-
22
-  computed: {
23
-    nodes() {
24
-      return towxml(this.value, 'markdown')
25
-    }
26
-  }
27
-}
28
-</script>

+ 39
- 0
src/components/NavHeader/index.vue Dosyayı Görüntüle

@@ -0,0 +1,39 @@
1
+<template>
2
+  <view class="NavHeader" :style="{background: BgColor}">
3
+    <text>{{Title}}</text>
4
+  </view>
5
+</template>
6
+
7
+<script>
8
+export default {
9
+  name: 'NavHeader',
10
+  props: {
11
+    Title: {
12
+      default: '香颂蔚澜',
13
+      type: String
14
+    },
15
+    BgColor: {
16
+      default: '#fff',
17
+      type: String
18
+    }
19
+  },
20
+  data () {
21
+    return {
22
+    }
23
+  },
24
+  computed: {
25
+  },
26
+  components: {
27
+  },
28
+  created () {
29
+  },
30
+  methods: {
31
+    Init () {
32
+    }
33
+  }
34
+}
35
+</script>
36
+
37
+<style lang="scss">
38
+@import "page.scss";
39
+</style>

+ 13
- 0
src/components/NavHeader/page.scss Dosyayı Görüntüle

@@ -0,0 +1,13 @@
1
+.NavHeader {
2
+  width: 100%;
3
+  position: relative;
4
+  overflow: hidden;
5
+  > text {
6
+    display: block;
7
+    font-size: 32px;
8
+    color: #fff;
9
+    text-indent: 30px;
10
+    margin-top: 60px;
11
+    padding-bottom: 20px;
12
+  }
13
+}

+ 0
- 32
src/components/ScrollY/index.vue Dosyayı Görüntüle

@@ -1,32 +0,0 @@
1
-<template>
2
-  <view class="ScrollY">
3
-    <scroll-view style="width: 100%; height: 100%;" :scroll-y="true" :refresher-enabled="true" :refresher-threshold="120" refresher-background="#f8f8f8" :refresher-triggered="IsRefreshing" @refresherpulling="$emit('Refresh')" @scrolltolower="$emit('ScrollBottom')">
4
-      <slot></slot>
5
-    </scroll-view>
6
-  </view>
7
-</template>
8
-
9
-<script>
10
-export default {
11
-  name: 'ScrollY',
12
-  props: {
13
-    IsRefreshing: {
14
-      default: false,
15
-      type: Boolean
16
-    }
17
-  },
18
-  data () {
19
-    return {
20
-    }
21
-  },
22
-  methods: {
23
-  }
24
-}
25
-</script>
26
-
27
-<style>
28
-.ScrollY {
29
-  width: 100%;
30
-  height: 100%;
31
-}
32
-</style>

+ 80
- 20
src/iconfont.scss
Dosya farkı çok büyük olduğundan ihmal edildi
Dosyayı Görüntüle


+ 3
- 0
src/pages/FuLi/index.config.js Dosyayı Görüntüle

@@ -0,0 +1,3 @@
1
+export default {
2
+  navigationBarTitleText: '香颂蔚澜'
3
+}

+ 39
- 0
src/pages/FuLi/index.vue Dosyayı Görüntüle

@@ -0,0 +1,39 @@
1
+<template>
2
+  <view class="page FuLi">
3
+    福利
4
+  </view>
5
+</template>
6
+
7
+<script>
8
+import { createNamespacedHelpers } from 'vuex'
9
+const { mapState: mapUserState, mapActions: mapUserActions, mapMutations: mapUserMutations } = createNamespacedHelpers('user')
10
+export default {
11
+  name: 'FuLi',
12
+  data () {
13
+    return {
14
+      DataLock: false
15
+    }
16
+  },
17
+  computed: {
18
+    ...mapUserState({
19
+      UserInfo: x => x.UserInfo // 用户信息
20
+    })
21
+  },
22
+  components: {
23
+  },
24
+  created () {
25
+  },
26
+  methods: {
27
+    ...mapUserActions([
28
+    ]),
29
+    ...mapUserMutations([
30
+    ]),
31
+    Init () {
32
+    }
33
+  }
34
+}
35
+</script>
36
+
37
+<style lang="scss">
38
+@import "page.scss";
39
+</style>

+ 6
- 0
src/pages/FuLi/page.scss Dosyayı Görüntüle

@@ -0,0 +1,6 @@
1
+.page.FuLi {
2
+  width: 100%;
3
+  height: 100%;
4
+  overflow-y: scroll;
5
+  background: #fff;
6
+}

+ 0
- 3
src/pages/HuiAiXin/EnergyStory/EnergyStoryDetail/index.config.js Dosyayı Görüntüle

@@ -1,3 +0,0 @@
1
-export default {
2
-  navigationBarTitleText: '丽园助农详情'
3
-}

+ 0
- 30
src/pages/HuiAiXin/EnergyStory/EnergyStoryDetail/index.vue Dosyayı Görüntüle

@@ -1,30 +0,0 @@
1
-<template>
2
-  <view class="page">
3
-    正能量事迹详情
4
-  </view>
5
-</template>
6
-
7
-<script>
8
-
9
-export default {
10
-  name: 'EnergyStoryDetail',
11
-  data () {
12
-    return {
13
-
14
-    }
15
-  },
16
-  components: {
17
-  },
18
-  created () {
19
-    this.Init()
20
-  },
21
-  methods: {
22
-    Init () {
23
-    }
24
-  }
25
-}
26
-</script>
27
-
28
-<style lang="scss">
29
-@import "page.scss";
30
-</style>

+ 0
- 3
src/pages/HuiAiXin/EnergyStory/EnergyStoryDetail/page.scss Dosyayı Görüntüle

@@ -1,3 +0,0 @@
1
-.page {
2
-  width: 100%;
3
-}

+ 0
- 3
src/pages/HuiAiXin/EnergyStory/index.config.js Dosyayı Görüntüle

@@ -1,3 +0,0 @@
1
-export default {
2
-  navigationBarTitleText: '丽园助农'
3
-}

+ 0
- 117
src/pages/HuiAiXin/EnergyStory/index.vue Dosyayı Görüntüle

@@ -1,117 +0,0 @@
1
-<template>
2
-  <view class="page ZhengNengLiangShiJi">
3
-    <ScrollY :IsRefreshing="IsRefreshing" @Refresh="Refresh" @ScrollBottom="ScrollBottom">
4
-      <view class="Container">
5
-
6
-        <!-- 标题 -->
7
-        <view class="Title">
8
-          <image mode="heightFix" src="https://cjgw.oss-cn-hangzhou.aliyuncs.com/ygcxxfb/image/zhengnengliangshiji.png"></image>
9
-        </view>
10
-
11
-        <!-- 列表 -->
12
-        <view class="List" v-if="PageList.length">
13
-          <navigator v-for="(item, index) in PageList" :key="index" :url="`../../HuiShengHuo/ActivityList/ActivityDetail/index?id=${item.activityId}&from=love`" hover-class="other-navigator-hover" class="Item flex-h">
14
-            <view class="flex-item">
15
-              <text>{{item.name}}</text>
16
-              <text>副标题</text>
17
-              <text>来源</text>
18
-            </view>
19
-            <view class="Img">
20
-              <view>
21
-                <view class="MainItemImg">
22
-                  <image mode="aspectFill" :src="item.thumb"></image>
23
-                </view>
24
-              </view>
25
-            </view>
26
-          </navigator>
27
-        </view>
28
-
29
-      </view>
30
-    </ScrollY>
31
-  </view>
32
-</template>
33
-
34
-<script>
35
-import ScrollY from '../../../components/ScrollY/index'
36
-import { createNamespacedHelpers } from 'vuex'
37
-const { mapState: mapIndexState, mapActions: mapIndexActions, mapMutations: mapIndexMutations } = createNamespacedHelpers('index')
38
-const { mapActions: mapUserActions, mapMutations: mapUserMutations } = createNamespacedHelpers('user')
39
-export default {
40
-  name: 'ZhengNengLiangShiJi',
41
-  data () {
42
-    return {
43
-      PageList: [],
44
-      PageData: {
45
-        pageNum: 1,
46
-        pageSize: 15
47
-      },
48
-      HasNextPage: true,
49
-      IsRefreshing: false,
50
-      DataLock: false
51
-    }
52
-  },
53
-  computed: {
54
-    ...mapIndexState({
55
-      ZhengNengLiangShiJiList: x => x.ZhengNengLiangShiJiList // 正能量事迹列表
56
-    })
57
-  },
58
-  components: {
59
-    ScrollY
60
-  },
61
-  created () {
62
-    this.$authed(() => {
63
-      this.Init()
64
-    })
65
-  },
66
-  methods: {
67
-    ...mapUserActions([
68
-      'MainSignIn' // 获取用户信息
69
-    ]),
70
-    ...mapUserMutations([
71
-      'EditUserInfo' // 编辑用户信息
72
-    ]),
73
-    ...mapIndexActions([
74
-      'GetZhengNengLiangShiJiList' // 获取正能量事迹列表
75
-    ]),
76
-    ...mapIndexMutations([
77
-      'EmptyZhengNengLiangShiJiList' // 清空正能量事迹列表
78
-    ]),
79
-    Init () { // 初始化
80
-      this.PageData.pageNum = 1
81
-      this.HasNextPage = true
82
-      this.EmptyZhengNengLiangShiJiList() // 清空正能量事迹列表
83
-      this.PageList = []
84
-      this.ToGetPageList() // 获取列表
85
-    },
86
-    ToGetPageList () { // 获取列表
87
-      this.GetZhengNengLiangShiJiList({ queryData: { ...this.PageData, typeId: 6 } }).then((res) => { // 获取正能量事迹列表
88
-        this.PageList = [...this.ZhengNengLiangShiJiList]
89
-        this.HasNextPage = res.data.data.current < res.data.data.pages
90
-        this.DataLock = false
91
-        this.IsRefreshing = false
92
-      }).catch(() => {
93
-        this.DataLock = false
94
-        this.IsRefreshing = false
95
-      })
96
-    },
97
-    ScrollBottom () { // 上拉加载
98
-      if (this.DataLock || !this.HasNextPage) return
99
-      this.DataLock = true
100
-      this.PageData.pageNum += 1
101
-      this.ToGetPageList() // 获取列表
102
-    },
103
-    Refresh (e) { // 页面下拉刷新
104
-      if (this.DataLock) return
105
-      this.DataLock = true
106
-      this.IsRefreshing = true
107
-      setTimeout(() => {
108
-        this.Init() // 获取列表
109
-      }, 1000)
110
-    }
111
-  }
112
-}
113
-</script>
114
-
115
-<style lang="scss">
116
-@import "page.scss";
117
-</style>

+ 0
- 63
src/pages/HuiAiXin/EnergyStory/page.scss Dosyayı Görüntüle

@@ -1,63 +0,0 @@
1
-.page.ZhengNengLiangShiJi {
2
-  width: 100%;
3
-  height: 100%;
4
-  background: #fff;
5
-  .Container {
6
-    > .Title {
7
-      margin-top: 40px;
8
-      > image {
9
-        height: 44px;
10
-        margin-left: 20px;
11
-      }
12
-    }
13
-    > .List {
14
-      padding: 0 20px;
15
-      > .Item {
16
-        padding: 40px 0;
17
-        border-bottom: 2px solid #f5f5f5;
18
-        > .flex-item {
19
-          margin-right: 20px;
20
-          > text {
21
-            display: block;
22
-            font-size: 28px;
23
-            line-height: 40px;
24
-            overflow: hidden;
25
-            margin-top: 6px;
26
-            &:nth-child(1) {
27
-              text-overflow: ellipsis;
28
-              display: -webkit-box;
29
-              -webkit-box-orient: vertical;
30
-              -webkit-line-clamp: 2;
31
-              margin-top: 0;
32
-            }
33
-            &:nth-child(2) {
34
-              color: #666;
35
-              font-size: 24px;
36
-              white-space: nowrap;
37
-              text-overflow: ellipsis;
38
-            }
39
-            &:nth-child(3) {
40
-              color: #fe4e45;
41
-              font-size: 24px;
42
-              white-space: nowrap;
43
-              text-overflow: ellipsis;
44
-            }
45
-          }
46
-        }
47
-        > .Img {
48
-          width: 34%;
49
-          margin-right: 20px;
50
-          position: relative;
51
-          overflow: hidden;
52
-          > view {
53
-            width: 100%;
54
-            padding-bottom: 70%;
55
-            background: #ccc;
56
-            position: relative;
57
-            overflow: hidden;
58
-          }
59
-        }
60
-      }
61
-    }
62
-  }
63
-}

+ 0
- 3
src/pages/HuiAiXin/StarOwner/StarOwnerDetail/index.config.js Dosyayı Görüntüle

@@ -1,3 +0,0 @@
1
-export default {
2
-  navigationBarTitleText: '明星业主详情'
3
-}

+ 0
- 30
src/pages/HuiAiXin/StarOwner/StarOwnerDetail/index.vue Dosyayı Görüntüle

@@ -1,30 +0,0 @@
1
-<template>
2
-  <view class="page">
3
-    明星业主详情
4
-  </view>
5
-</template>
6
-
7
-<script>
8
-
9
-export default {
10
-  name: 'StarOwnerDetail',
11
-  data () {
12
-    return {
13
-
14
-    }
15
-  },
16
-  components: {
17
-  },
18
-  created () {
19
-    this.Init()
20
-  },
21
-  methods: {
22
-    Init () {
23
-    }
24
-  }
25
-}
26
-</script>
27
-
28
-<style lang="scss">
29
-@import "page.scss";
30
-</style>

+ 0
- 3
src/pages/HuiAiXin/StarOwner/StarOwnerDetail/page.scss Dosyayı Görüntüle

@@ -1,3 +0,0 @@
1
-.page {
2
-  width: 100%;
3
-}

+ 0
- 3
src/pages/HuiAiXin/StarOwner/index.config.js Dosyayı Görüntüle

@@ -1,3 +0,0 @@
1
-export default {
2
-  navigationBarTitleText: '旧衣飞行'
3
-}

+ 0
- 111
src/pages/HuiAiXin/StarOwner/index.vue Dosyayı Görüntüle

@@ -1,111 +0,0 @@
1
-<template>
2
-  <view class="page MingXingYeZhu">
3
-    <ScrollY :IsRefreshing="IsRefreshing" @Refresh="Refresh" @ScrollBottom="ScrollBottom">
4
-      <view class="Container">
5
-
6
-        <!-- 标题 -->
7
-        <view class="Title">
8
-          <image mode="heightFix" src="https://cjgw.oss-cn-hangzhou.aliyuncs.com/ygcxxfb/image/mingxingyezhu.png"></image>
9
-        </view>
10
-
11
-        <!-- 列表 -->
12
-        <view class="List" v-if="PageList.length">
13
-          <navigator v-for="(item, index) in PageList" :key="index" :url="`../../HuiShengHuo/ActivityList/ActivityDetail/index?id=${item.activityId}&from=love`" hover-class="other-navigator-hover" class="Item">
14
-            <view class="Img">
15
-              <view class="MainItemImg">
16
-                <image mode="aspectFill" :src="item.thumb"></image>
17
-              </view>
18
-            </view>
19
-            <text class="Info">{{item.name}}</text>
20
-          </navigator>
21
-        </view>
22
-
23
-      </view>
24
-    </ScrollY>
25
-  </view>
26
-</template>
27
-
28
-<script>
29
-import ScrollY from '../../../components/ScrollY/index'
30
-import { createNamespacedHelpers } from 'vuex'
31
-const { mapState: mapIndexState, mapActions: mapIndexActions, mapMutations: mapIndexMutations } = createNamespacedHelpers('index')
32
-const { mapActions: mapUserActions, mapMutations: mapUserMutations } = createNamespacedHelpers('user')
33
-export default {
34
-  name: 'MingXingYeZhu',
35
-  data () {
36
-    return {
37
-      PageList: [],
38
-      PageData: {
39
-        pageNum: 1,
40
-        pageSize: 15
41
-      },
42
-      HasNextPage: true,
43
-      IsRefreshing: false,
44
-      DataLock: false
45
-    }
46
-  },
47
-  computed: {
48
-    ...mapIndexState({
49
-      MingXingYeZhuList: x => x.MingXingYeZhuList // 旧衣飞行列表
50
-    })
51
-  },
52
-  components: {
53
-    ScrollY
54
-  },
55
-  created () {
56
-    this.$authed(() => {
57
-      this.Init()
58
-    })
59
-  },
60
-  methods: {
61
-    ...mapUserActions([
62
-      'MainSignIn' // 获取用户信息
63
-    ]),
64
-    ...mapUserMutations([
65
-      'EditUserInfo' // 编辑用户信息
66
-    ]),
67
-    ...mapIndexActions([
68
-      'GetMingXingYeZhuList' // 获取旧衣飞行列表
69
-    ]),
70
-    ...mapIndexMutations([
71
-      'EmptyMingXingYeZhuList' // 清空旧衣飞行列表
72
-    ]),
73
-    Init () { // 初始化
74
-      this.PageData.pageNum = 1
75
-      this.HasNextPage = true
76
-      this.EmptyMingXingYeZhuList() // 清空旧衣飞行列表
77
-      this.PageList = []
78
-      this.ToGetPageList() // 获取列表
79
-    },
80
-    ToGetPageList () { // 获取列表
81
-      this.GetMingXingYeZhuList({ queryData: { ...this.PageData, typeId: 5 } }).then((res) => { // 获取旧衣飞行列表
82
-        this.PageList = [...this.MingXingYeZhuList]
83
-        this.HasNextPage = res.data.data.current < res.data.data.pages
84
-        this.DataLock = false
85
-        this.IsRefreshing = false
86
-      }).catch(() => {
87
-        this.DataLock = false
88
-        this.IsRefreshing = false
89
-      })
90
-    },
91
-    ScrollBottom () { // 上拉加载
92
-      if (this.DataLock || !this.HasNextPage) return
93
-      this.DataLock = true
94
-      this.PageData.pageNum += 1
95
-      this.ToGetPageList() // 获取列表
96
-    },
97
-    Refresh (e) { // 页面下拉刷新
98
-      if (this.DataLock) return
99
-      this.DataLock = true
100
-      this.IsRefreshing = true
101
-      setTimeout(() => {
102
-        this.Init() // 获取列表
103
-      }, 1000)
104
-    }
105
-  }
106
-}
107
-</script>
108
-
109
-<style lang="scss">
110
-@import "page.scss";
111
-</style>

+ 0
- 45
src/pages/HuiAiXin/StarOwner/page.scss Dosyayı Görüntüle

@@ -1,45 +0,0 @@
1
-.page.MingXingYeZhu {
2
-  width: 100%;
3
-  height: 100%;
4
-  background: #fff;
5
-  .Container {
6
-    > .Title {
7
-      margin-top: 40px;
8
-      > image {
9
-        height: 44px;
10
-        margin-left: 20px;
11
-      }
12
-    }
13
-    > .List {
14
-      padding: 0 20px;
15
-      margin-top: 40px;
16
-      > .Item {
17
-        width: 100%;
18
-        position: relative;
19
-        overflow: hidden;
20
-        display: inline-block;
21
-        vertical-align: middle;
22
-        border-radius: 20px;
23
-        box-shadow: 0 5px 10px 5px rgba(0, 0, 0, 0.08);
24
-        margin-bottom: 40px;
25
-        > .Img {
26
-          width: 100%;
27
-          padding-bottom: 45%;
28
-          background: #ccc;
29
-          position: relative;
30
-          overflow: hidden;
31
-        }
32
-        > .Info {
33
-          display: block;
34
-          padding: 0 34px;
35
-          font-size: 24px;
36
-          line-height: 70px;
37
-          white-space: nowrap;
38
-          overflow: hidden;
39
-          text-overflow: ellipsis;
40
-          color: #333;
41
-        }
42
-      }
43
-    }
44
-  }
45
-}

+ 0
- 3
src/pages/HuiAiXin/index.config.js Dosyayı Görüntüle

@@ -1,3 +0,0 @@
1
-export default {
2
-  navigationBarTitleText: '荟 · 爱心'
3
-}

+ 0
- 172
src/pages/HuiAiXin/index.vue Dosyayı Görüntüle

@@ -1,172 +0,0 @@
1
-<template>
2
-  <view class="page HuiAiXin">
3
-    <ScrollY :IsRefreshing="IsRefreshing" @Refresh="Refresh">
4
-
5
-      <view class="PageContainer">
6
-
7
-        <!-- banner -->
8
-        <view class="Banner">
9
-          <view>
10
-            <BannerSwiper :List="HuiAiXinBanner"></BannerSwiper>
11
-          </view>
12
-        </view>
13
-
14
-        <!-- 明星业主 -->
15
-        <view class="StarOwnerList">
16
-          <view class="flex-h">
17
-            <view class="flex-item">
18
-              <image mode="heightFix" src="https://cjgw.oss-cn-hangzhou.aliyuncs.com/ygcxxfb/image/mingxingyezhu.png"></image>
19
-            </view>
20
-            <navigator url="./StarOwner/index" hover-class="other-navigator-hover" class="More">更多 <text class="iconfont iconjiantouright"></text></navigator>
21
-          </view>
22
-          <view class="ListContainer" v-if="PageStarList.length">
23
-            <scroll-view scroll-x="true">
24
-              <view class="List">
25
-                <navigator v-for="(item, index) in PageStarList" :key="index" :url="`../HuiShengHuo/ActivityList/ActivityDetail/index?id=${item.activityId}&from=love`" hover-class="other-navigator-hover" class="Item">
26
-                  <view class="Img">
27
-                    <view class="MainItemImg">
28
-                      <image mode="aspectFill" :src="item.thumb"></image>
29
-                    </view>
30
-                  </view>
31
-                  <text class="Info">{{item.name}}</text>
32
-                </navigator>
33
-              </view>
34
-              <view style="width: 100%; height: 20px;"></view>
35
-            </scroll-view>
36
-          </view>
37
-        </view>
38
-
39
-        <!-- 正能量事迹 -->
40
-        <view class="StoryList">
41
-          <view class="flex-h">
42
-            <view class="flex-item">
43
-              <image mode="heightFix" src="https://cjgw.oss-cn-hangzhou.aliyuncs.com/ygcxxfb/image/zhengnengliangshiji.png"></image>
44
-            </view>
45
-            <navigator url="./EnergyStory/index" hover-class="other-navigator-hover" class="More">更多 <text class="iconfont iconjiantouright"></text></navigator>
46
-          </view>
47
-          <view class="List" v-if="PageStoryList.length">
48
-            <navigator v-for="(item, index) in PageStoryList" :key="index" :url="`../HuiShengHuo/ActivityList/ActivityDetail/index?id=${item.activityId}&from=love`" hover-class="other-navigator-hover" class="Item flex-h">
49
-              <view class="flex-item">
50
-                <text>{{item.name}}</text>
51
-                <text>{{item.address}}</text>
52
-                <text>{{ToolClass.DateFormat(new Date(item.startDate).getTime())}}</text>
53
-              </view>
54
-              <view class="Img">
55
-                <view>
56
-                  <view class="MainItemImg">
57
-                    <image mode="aspectFill" :src="item.thumb"></image>
58
-                  </view>
59
-                </view>
60
-              </view>
61
-            </navigator>
62
-          </view>
63
-        </view>
64
-
65
-        <!-- 授权头像获取弹窗 -->
66
-        <GetUserIcon></GetUserIcon>
67
-
68
-      </view>
69
-
70
-    </ScrollY>
71
-  </view>
72
-</template>
73
-
74
-<script>
75
-import GetUserIcon from '../../components/GetUserIcon/index'
76
-import ScrollY from '../../components/ScrollY/index'
77
-import BannerSwiper from '../../components/BannerSwiper/index'
78
-import { createNamespacedHelpers } from 'vuex'
79
-const { mapState: mapIndexState, mapActions: mapIndexActions, mapMutations: mapIndexMutations } = createNamespacedHelpers('index')
80
-const { mapActions: mapUserActions, mapMutations: mapUserMutations } = createNamespacedHelpers('user')
81
-export default {
82
-  name: 'HuiAiXin',
83
-  data () {
84
-    return {
85
-      PageStarList: [],
86
-      PageStoryList: [],
87
-      RequestNum: 0,
88
-      IsRefreshing: false,
89
-      DataLock: false
90
-    }
91
-  },
92
-  computed: {
93
-    ...mapIndexState({
94
-      HuiAiXinBanner: x => x.HuiAiXinBanner, // 荟爱心banner
95
-      MingXingYeZhuList: x => x.MingXingYeZhuList, // 明星业主列表
96
-      ZhengNengLiangShiJiList: x => x.ZhengNengLiangShiJiList // 正能量事迹列表
97
-    })
98
-  },
99
-  components: {
100
-    ScrollY,
101
-    BannerSwiper,
102
-    GetUserIcon
103
-  },
104
-  created () {
105
-    this.$authed(() => {
106
-      this.Init()
107
-    })
108
-  },
109
-  methods: {
110
-    ...mapUserActions([
111
-      'MainSignIn' // 获取用户信息
112
-    ]),
113
-    ...mapUserMutations([
114
-      'EditUserInfo' // 编辑用户信息
115
-    ]),
116
-    ...mapIndexActions([
117
-      'GetHuiAiXinBanner', // 获取荟爱心banner
118
-      'GetMingXingYeZhuList', // 获取明星业主列表
119
-      'GetZhengNengLiangShiJiList' // 获取正能量事迹列表
120
-    ]),
121
-    ...mapIndexMutations([
122
-      'EmptyHuiAiXinBanner', // 清空荟爱心banner
123
-      'EmptyMingXingYeZhuList', // 清空明星业主列表
124
-      'EmptyZhengNengLiangShiJiList' // 清空正能量事迹列表
125
-    ]),
126
-    Init () {
127
-      this.RequestNum = 0
128
-      this.EmptyHuiAiXinBanner() // 清空荟爱心banner
129
-      this.EmptyMingXingYeZhuList() // 清空明星业主列表
130
-      this.EmptyZhengNengLiangShiJiList() // 清空正能量事迹列表
131
-      this.PageStarList = []
132
-      this.PageStoryList = []
133
-      this.GetHuiAiXinBanner({ queryData: { pageNum: 1, pageSize: 10, position: 'love' } }).then(() => { // 获取荟爱心banner
134
-        this.CheckRequestNum(3) // 判断请求接口个数
135
-      }).catch(() => {
136
-        this.CheckRequestNum(3) // 判断请求接口个数
137
-      })
138
-      this.GetMingXingYeZhuList({ queryData: { pageNum: 1, pageSize: 10, typeId: 5 } }).then(() => { // 获取明星业主列表
139
-        this.PageStarList = [...this.MingXingYeZhuList]
140
-        this.CheckRequestNum(3) // 判断请求接口个数
141
-      }).catch(() => {
142
-        this.CheckRequestNum(3) // 判断请求接口个数
143
-      })
144
-      this.GetZhengNengLiangShiJiList({ queryData: { pageNum: 1, pageSize: 10, typeId: 6 } }).then(() => { // 获取正能量事迹列表
145
-        this.PageStoryList = [...this.ZhengNengLiangShiJiList]
146
-        this.CheckRequestNum(3) // 判断请求接口个数
147
-      }).catch(() => {
148
-        this.CheckRequestNum(3) // 判断请求接口个数
149
-      })
150
-    },
151
-    CheckRequestNum (num) { // 判断请求接口个数
152
-      this.RequestNum += 1
153
-      if (this.RequestNum >= num) {
154
-        this.IsRefreshing = false
155
-        this.DataLock = false
156
-      }
157
-    },
158
-    Refresh (e) { // 页面下拉刷新
159
-      if (this.DataLock) return
160
-      this.DataLock = true
161
-      this.IsRefreshing = true
162
-      setTimeout(() => {
163
-        this.Init() // 初始化
164
-      }, 1000)
165
-    }
166
-  }
167
-}
168
-</script>
169
-
170
-<style lang="scss">
171
-@import "page.scss";
172
-</style>

+ 0
- 164
src/pages/HuiAiXin/page.scss Dosyayı Görüntüle

@@ -1,164 +0,0 @@
1
-.page.HuiAiXin {
2
-  width: 100%;
3
-  height: 100%;
4
-  .PageContainer {
5
-    width: 100%;
6
-    min-height: 100vh;
7
-    position: relative;
8
-    .Banner {
9
-      width: 100%;
10
-      padding-bottom: 41%;
11
-      position: relative;
12
-      overflow: hidden;
13
-      > view {
14
-        width: 100%;
15
-        position: absolute;
16
-        left: 0;
17
-        top: 0;
18
-        bottom: 0;
19
-        overflow: hidden;
20
-        background: #ccc;
21
-      }
22
-    }
23
-    .StarOwnerList {
24
-      padding: 20px 0;
25
-      background: #fff;
26
-      margin-top: 20px;
27
-      > .flex-h {
28
-        padding: 0 20px;
29
-        align-items: center;
30
-        margin-top: 10px;
31
-        > .flex-item {
32
-          > image {
33
-            height: 48px;
34
-          }
35
-        }
36
-        > .More {
37
-          font-size: 26px;
38
-          color: #999;
39
-          > text {
40
-            font-size: 26px;
41
-          }
42
-        }
43
-      }
44
-      > .ListContainer {
45
-        width: 100%;
46
-        position: relative;
47
-        overflow: hidden;
48
-        margin-top: 40px;
49
-        margin-bottom: 10px;
50
-        > scroll-view {
51
-          .List {
52
-            font-size: 0;
53
-            white-space: nowrap;
54
-            overflow: visible;
55
-            > .Item {
56
-              width: 80%;
57
-              position: relative;
58
-              overflow: hidden;
59
-              display: inline-block;
60
-              vertical-align: middle;
61
-              margin-left: 25px;
62
-              border-radius: 20px;
63
-              box-shadow: 0 5px 10px 5px rgba(0, 0, 0, 0.08);
64
-              &:last-child {
65
-                margin-right: 25px;
66
-              }
67
-              > .Img {
68
-                width: 100%;
69
-                padding-bottom: 45%;
70
-                background: #ccc;
71
-                position: relative;
72
-                overflow: hidden;
73
-              }
74
-              > .Info {
75
-                display: block;
76
-                padding: 0 34px;
77
-                font-size: 24px;
78
-                line-height: 70px;
79
-                white-space: nowrap;
80
-                overflow: hidden;
81
-                text-overflow: ellipsis;
82
-                color: #333;
83
-              }
84
-            }
85
-          }
86
-        }
87
-      }
88
-    }
89
-    .StoryList {
90
-      padding: 20px 0;
91
-      background: #fff;
92
-      margin-top: 20px;
93
-      > .flex-h {
94
-        padding: 0 20px;
95
-        align-items: center;
96
-        margin-top: 10px;
97
-        > .flex-item {
98
-          > image {
99
-            height: 48px;
100
-          }
101
-        }
102
-        > .More {
103
-          font-size: 26px;
104
-          color: #999;
105
-          > text {
106
-            font-size: 26px;
107
-          }
108
-        }
109
-      }
110
-      > .List {
111
-        position: relative;
112
-        overflow: hidden;
113
-        margin-bottom: 30px;
114
-        padding-left: 30px;
115
-        > .Item {
116
-          padding: 40px 0;
117
-          border-bottom: 2px solid #f5f5f5;
118
-          > .flex-item {
119
-            margin-right: 20px;
120
-            > text {
121
-              display: block;
122
-              font-size: 28px;
123
-              line-height: 40px;
124
-              overflow: hidden;
125
-              margin-top: 6px;
126
-              &:nth-child(1) {
127
-                text-overflow: ellipsis;
128
-                display: -webkit-box;
129
-                -webkit-box-orient: vertical;
130
-                -webkit-line-clamp: 2;
131
-                margin-top: 0;
132
-              }
133
-              &:nth-child(2) {
134
-                color: #666;
135
-                font-size: 24px;
136
-                white-space: nowrap;
137
-                text-overflow: ellipsis;
138
-              }
139
-              &:nth-child(3) {
140
-                color: #fe4e45;
141
-                font-size: 24px;
142
-                white-space: nowrap;
143
-                text-overflow: ellipsis;
144
-              }
145
-            }
146
-          }
147
-          > .Img {
148
-            width: 34%;
149
-            margin-right: 20px;
150
-            position: relative;
151
-            overflow: hidden;
152
-            > view {
153
-              width: 100%;
154
-              padding-bottom: 70%;
155
-              background: #ccc;
156
-              position: relative;
157
-              overflow: hidden;
158
-            }
159
-          }
160
-        }
161
-      }
162
-    }
163
-  }
164
-}

+ 0
- 3
src/pages/HuiQuanYi/NoticeBoard/NoticeDetail/index.config.js Dosyayı Görüntüle

@@ -1,3 +0,0 @@
1
-export default {
2
-  navigationBarTitleText: '公告详情'
3
-}

+ 0
- 30
src/pages/HuiQuanYi/NoticeBoard/NoticeDetail/index.vue Dosyayı Görüntüle

@@ -1,30 +0,0 @@
1
-<template>
2
-  <view class="page">
3
-    公告栏
4
-  </view>
5
-</template>
6
-
7
-<script>
8
-
9
-export default {
10
-  name: 'NoticeBoard',
11
-  data () {
12
-    return {
13
-
14
-    }
15
-  },
16
-  components: {
17
-  },
18
-  created () {
19
-    this.Init()
20
-  },
21
-  methods: {
22
-    Init () {
23
-    }
24
-  }
25
-}
26
-</script>
27
-
28
-<style lang="scss">
29
-@import "page.scss";
30
-</style>

+ 0
- 3
src/pages/HuiQuanYi/NoticeBoard/NoticeDetail/page.scss Dosyayı Görüntüle

@@ -1,3 +0,0 @@
1
-.page {
2
-  width: 100%;
3
-}

+ 0
- 3
src/pages/HuiQuanYi/NoticeBoard/index.config.js Dosyayı Görüntüle

@@ -1,3 +0,0 @@
1
-export default {
2
-  navigationBarTitleText: '业主公告栏'
3
-}

+ 0
- 30
src/pages/HuiQuanYi/NoticeBoard/index.vue Dosyayı Görüntüle

@@ -1,30 +0,0 @@
1
-<template>
2
-  <view class="page">
3
-    公告详情
4
-  </view>
5
-</template>
6
-
7
-<script>
8
-
9
-export default {
10
-  name: 'NoticeDetail',
11
-  data () {
12
-    return {
13
-
14
-    }
15
-  },
16
-  components: {
17
-  },
18
-  created () {
19
-    this.Init()
20
-  },
21
-  methods: {
22
-    Init () {
23
-    }
24
-  }
25
-}
26
-</script>
27
-
28
-<style lang="scss">
29
-@import "page.scss";
30
-</style>

+ 0
- 3
src/pages/HuiQuanYi/NoticeBoard/page.scss Dosyayı Görüntüle

@@ -1,3 +0,0 @@
1
-.page {
2
-  width: 100%;
3
-}

+ 0
- 6
src/pages/HuiQuanYi/OwnersNews/NewsDetail/index.config.js Dosyayı Görüntüle

@@ -1,6 +0,0 @@
1
-export default {
2
-  navigationBarTitleText: '业主资讯',
3
-  usingComponents: {
4
-    'towxml': '/towxml/towxml'
5
-  }
6
-}

+ 0
- 64
src/pages/HuiQuanYi/OwnersNews/NewsDetail/index.vue Dosyayı Görüntüle

@@ -1,64 +0,0 @@
1
-<template>
2
-  <view class="page ZiXunXiangQing">
3
-    <!-- 标题 -->
4
-    <view class="MainTitle" v-if="Info !== null">
5
-      <text>{{Info.title}}</text>
6
-      <text class="iconfont iconguanbi" @tap="GoBack"></text>
7
-    </view>
8
-
9
-    <!-- 内容 -->
10
-    <view class="Container" v-if="Info !== null">
11
-      <image mode="widthFix" class="Img" :src="Info.thumb"></image>
12
-      <!-- <towxml :nodes="nodes" /> -->
13
-      <Markdown :value="(Info || {}).content" />
14
-    </view>
15
-
16
-    <!-- 授权头像获取弹窗 -->
17
-    <GetUserIcon></GetUserIcon>
18
-  </view>
19
-</template>
20
-
21
-<script>
22
-import GetUserIcon from '../../../../components/GetUserIcon/index'
23
-import { getCurrentInstance } from "@tarojs/taro"
24
-import { createNamespacedHelpers } from "vuex"
25
-const { mapActions: mapIndexActions } = createNamespacedHelpers("index")
26
-export default {
27
-  name: "ZiXunXiangQing",
28
-  data() {
29
-    return {
30
-      CurrnetId: null,
31
-      Info: null
32
-    }
33
-  },
34
-  components: {
35
-    GetUserIcon
36
-  },
37
-  computed: {},
38
-  created() {
39
-    this.CurrnetId = getCurrentInstance().router.params.id
40
-    this.$authed(() => {
41
-      this.Init()
42
-    })
43
-  },
44
-  methods: {
45
-    ...mapIndexActions([
46
-      "GetNewsDetail", // 获取资讯详情
47
-    ]),
48
-    Init() {
49
-      this.GetNewsDetail({
50
-        urlData: { id: this.CurrnetId }
51
-      }).then((res) => {
52
-        this.Info = res.data.data || null
53
-      })
54
-    },
55
-    GoBack () {
56
-      wx.navigateBack()
57
-    }
58
-  },
59
-}
60
-</script>
61
-
62
-<style lang="scss">
63
-@import "page.scss"
64
-</style>

+ 0
- 47
src/pages/HuiQuanYi/OwnersNews/NewsDetail/page.scss Dosyayı Görüntüle

@@ -1,47 +0,0 @@
1
-.page.ZiXunXiangQing {
2
-  width: 100%;
3
-  height: 100%;
4
-  overflow-y: scroll;
5
-  background: #fff;
6
-  > .MainTitle {
7
-    position: relative;
8
-    overflow: hidden;
9
-    margin-top: 20px;
10
-    > text {
11
-      &:nth-child(1) {
12
-        display: block;
13
-        text-align: center;
14
-        font-size: 52px;
15
-        font-weight: bold;
16
-        line-height: 80px;
17
-        z-index: 1;
18
-        position: relative;
19
-      }
20
-      &:nth-child(2) {
21
-        font-size: 24px;
22
-        display: inline-block;
23
-        position: absolute;
24
-        z-index: 2;
25
-        right: 40px;
26
-        top: 50%;
27
-        transform: translateY(-50%);
28
-        -webkit-transform: translateY(-50%);
29
-      }
30
-    }
31
-  }
32
-  > .Container {
33
-    margin-top: 40px;
34
-    padding: 0 20px;
35
-    padding-bottom: 40px;
36
-    > image {
37
-      width: 100%;
38
-    }
39
-    > text {
40
-      display: block;
41
-      font-size: 28px;
42
-      line-break: 40px;
43
-      color: #666;
44
-      margin-top: 20px;
45
-    }
46
-  }
47
-}

+ 0
- 3
src/pages/HuiQuanYi/OwnersNews/index.config.js Dosyayı Görüntüle

@@ -1,3 +0,0 @@
1
-export default {
2
-  navigationBarTitleText: '业主资讯'
3
-}

+ 0
- 110
src/pages/HuiQuanYi/OwnersNews/index.vue Dosyayı Görüntüle

@@ -1,110 +0,0 @@
1
-<template>
2
-  <view class="page YeZhuZiXun">
3
-    <ScrollY :IsRefreshing="IsRefreshing" @Refresh="Refresh" @ScrollBottom="ScrollBottom">
4
-      <view class="Container">
5
-
6
-        <!-- 标题 -->
7
-        <view class="Title">
8
-          <image mode="heightFix" src="https://cjgw.oss-cn-hangzhou.aliyuncs.com/ygcxxfb/image/yezhuzixun.png"></image>
9
-        </view>
10
-
11
-        <!-- 列表 -->
12
-        <view class="List" v-if="PageList.length">
13
-          <navigator :url="`./NewsDetail/index?id=${item.newsId}`" hover-class="other-navigator-hover" v-for="(item, index) in PageList" :key="index" class="Item flex-h">
14
-            <view class="flex-item">
15
-              <text>{{item.title}}</text>
16
-              <text></text>
17
-            </view>
18
-            <text class="iconfont iconjiantouright"></text>
19
-          </navigator>
20
-        </view>
21
-
22
-      </view>
23
-    </ScrollY>
24
-  </view>
25
-</template>
26
-
27
-<script>
28
-import ScrollY from '../../../components/ScrollY/index'
29
-import { createNamespacedHelpers } from 'vuex'
30
-const { mapState: mapIndexState, mapActions: mapIndexActions, mapMutations: mapIndexMutations } = createNamespacedHelpers('index')
31
-const { mapActions: mapUserActions, mapMutations: mapUserMutations } = createNamespacedHelpers('user')
32
-export default {
33
-  name: 'YeZhuZiXun',
34
-  data () {
35
-    return {
36
-      PageList: [],
37
-      PageData: {
38
-        pageNum: 1,
39
-        pageSize: 15
40
-      },
41
-      HasNextPage: true,
42
-      IsRefreshing: false,
43
-      DataLock: false
44
-    }
45
-  },
46
-  computed: {
47
-    ...mapIndexState({
48
-      YeZhuZiXunList: x => x.YeZhuZiXunList // 业主资讯列表
49
-    })
50
-  },
51
-  components: {
52
-    ScrollY
53
-  },
54
-  created () {
55
-    this.$authed(() => {
56
-      this.Init()
57
-    })
58
-  },
59
-  methods: {
60
-    ...mapUserActions([
61
-      'MainSignIn' // 获取用户信息
62
-    ]),
63
-    ...mapUserMutations([
64
-      'EditUserInfo' // 编辑用户信息
65
-    ]),
66
-    ...mapIndexActions([
67
-      'GetYeZhuZiXunList' // 获取资讯列表
68
-    ]),
69
-    ...mapIndexMutations([
70
-      'EmptyYeZhuZiXunList' // 清空资讯列表
71
-    ]),
72
-    Init () { // 初始化
73
-      this.PageData.pageNum = 1
74
-      this.HasNextPage = true
75
-      this.PageList = []
76
-      this.EmptyYeZhuZiXunList() // 清空资讯列表
77
-      this.ToGetPageList() // 获取列表
78
-    },
79
-    ToGetPageList () { // 获取列表
80
-      this.GetYeZhuZiXunList({ queryData: { accountId: 5, ...this.PageData } }).then((res) => { // 获取资讯列表
81
-        this.PageList = [...this.YeZhuZiXunList]
82
-        this.HasNextPage = res.data.data.current < res.data.data.pages
83
-        this.DataLock = false
84
-        this.IsRefreshing = false
85
-      }).catch(() => {
86
-        this.DataLock = false
87
-        this.IsRefreshing = false
88
-      })
89
-    },
90
-    ScrollBottom () { // 上拉加载
91
-      if (this.DataLock || !this.HasNextPage) return
92
-      this.DataLock = true
93
-      this.PageData.pageNum += 1
94
-      this.ToGetPageList() // 获取列表
95
-    },
96
-    Refresh (e) { // 页面下拉刷新
97
-      if (this.DataLock) return
98
-      this.DataLock = true
99
-      this.IsRefreshing = true
100
-      setTimeout(() => {
101
-        this.Init() // 初始化
102
-      }, 1000)
103
-    }
104
-  }
105
-}
106
-</script>
107
-
108
-<style lang="scss">
109
-@import "page.scss";
110
-</style>

+ 0
- 50
src/pages/HuiQuanYi/OwnersNews/page.scss Dosyayı Görüntüle

@@ -1,50 +0,0 @@
1
-.page.YeZhuZiXun {
2
-  width: 100%;
3
-  height: 100%;
4
-  background: #fff;
5
-  .Container {
6
-    > .Title {
7
-      margin-top: 40px;
8
-      > image {
9
-        height: 44px;
10
-        margin-left: 20px;
11
-      }
12
-    }
13
-    > .List {
14
-      padding-left: 20px;
15
-      margin-top: 20px;
16
-      padding-bottom: 40px;
17
-      > .Item {
18
-        border-bottom: 2px solid #f5f5f5;
19
-        padding: 20px 20px 20px 0;
20
-        align-items: center;
21
-        > view {
22
-          font-size: 0;
23
-          white-space: nowrap;
24
-          position: relative;
25
-          overflow: hidden;
26
-          > text {
27
-            display: inline-block;
28
-            vertical-align: middle;
29
-            font-size: 28px;
30
-            color: #999;
31
-            &:nth-child(1) {
32
-              color: #000;
33
-              max-width: 88%;
34
-              overflow: hidden;
35
-              text-overflow: ellipsis;
36
-              margin-right: 2%;
37
-            }
38
-            &:nth-child(2) {
39
-              width: 10%;
40
-            }
41
-          }
42
-        }
43
-        > text {
44
-          font-size: 28px;
45
-          color: #999;
46
-        }
47
-      }
48
-    }
49
-  }
50
-}

+ 0
- 3
src/pages/HuiQuanYi/Recommed/index.config.js Dosyayı Görüntüle

@@ -1,3 +0,0 @@
1
-export default {
2
-  navigationBarTitleText: '一荐倾心计划'
3
-}

+ 0
- 135
src/pages/HuiQuanYi/Recommed/index.vue Dosyayı Görüntüle

@@ -1,135 +0,0 @@
1
-<template>
2
-  <view class="page YiJianQingXin">
3
-    <view class="Form">
4
-      <image mode="heightFix" src="https://cjgw.oss-cn-hangzhou.aliyuncs.com/ygcxxfb/image/yijianqingxinjihua.png"></image>
5
-      <view class="flex-h">
6
-        <text>姓名</text>
7
-        <view class="flex-item">
8
-          <input type="text" v-model="Name" placeholder="请输入" />
9
-        </view>
10
-      </view>
11
-      <view class="flex-h">
12
-        <text>性别</text>
13
-        <view class="flex-item">
14
-          <picker @change="SexChange" :range="SexList" range-key="name">
15
-            <view class="picker">{{SexName || '请选择'}}</view>
16
-          </picker>
17
-        </view>
18
-      </view>
19
-      <view class="flex-h">
20
-        <text>电话</text>
21
-        <view class="flex-item">
22
-          <input type="number" v-model="Phone" placeholder="请输入" />
23
-        </view>
24
-      </view>
25
-      <view class="flex-h" style="border-bottom: none;">
26
-        <text>备注</text>
27
-      </view>
28
-      <view class="textarea">
29
-        <textarea v-model="Remark" placeholder="请输入" @input="Remark = Remark.substring(0, 100)"></textarea>
30
-        <text>{{Remark.length}}/100</text>
31
-      </view>
32
-    </view>
33
-
34
-    <text @tap="ToPostRecommed">提交</text>
35
-  </view>
36
-</template>
37
-
38
-<script>
39
-import { createNamespacedHelpers } from 'vuex'
40
-const { mapState: mapUserState, mapActions: mapUserActions } = createNamespacedHelpers('user')
41
-export default {
42
-  name: 'YiJianQingXin',
43
-  data () {
44
-    return {
45
-      DataLock: false,
46
-      Name: '',
47
-      Sex: '',
48
-      Phone: '',
49
-      Remark: '',
50
-      SexName: '',
51
-      SexList: [
52
-        { name: '男', id: '1' },
53
-        { name: '女', id: '2' }
54
-      ]
55
-    }
56
-  },
57
-  computed: {
58
-    ...mapUserState({
59
-      UserInfo: x => x.UserInfo // 用户信息
60
-    })
61
-  },
62
-  components: {
63
-  },
64
-  created () {
65
-    this.$authed(() => {
66
-      this.Init()
67
-    })
68
-  },
69
-  methods: {
70
-    ...mapUserActions([
71
-      'PostRecommed'
72
-    ]),
73
-    Init () { // 初始化
74
-    },
75
-    ToPostRecommed () {
76
-      if (this.DataLock) return
77
-      if (this.Name === '') {
78
-        wx.showToast({
79
-          title: '姓名不能为空',
80
-          icon: 'none',
81
-          duration: 2000
82
-        })
83
-        return
84
-      }
85
-      if (this.Sex === '') {
86
-        wx.showToast({
87
-          title: '性别不能为空',
88
-          icon: 'none',
89
-          duration: 2000
90
-        })
91
-        return
92
-      }
93
-      if (this.Phone === '') {
94
-        wx.showToast({
95
-          title: '电话不能为空',
96
-          icon: 'none',
97
-          duration: 2000
98
-        })
99
-        return
100
-      }
101
-      this.DataLock = true
102
-      this.PostRecommed({
103
-        data: { data: { name: this.Name, phone: this.Phone, sex: this.Sex, remark: this.Remark } }
104
-      }).then((res) => {
105
-        wx.showToast({
106
-          title: '推荐成功',
107
-          icon: 'none',
108
-          duration: 2000
109
-        })
110
-        setTimeout(() => {
111
-          wx.switchTab({
112
-            url: '../index'
113
-          })
114
-        }, 300)
115
-        this.DataLock = false
116
-      }).catch((res) => {
117
-        wx.showToast({
118
-          title: res.data.data.message,
119
-          icon: 'none',
120
-          duration: 2000
121
-        })
122
-        this.DataLock = false
123
-      })
124
-    },
125
-    SexChange (e) {
126
-      this.Sex = this.SexList[e.detail.value].id
127
-      this.SexName = this.SexList[e.detail.value].name
128
-    }
129
-  }
130
-}
131
-</script>
132
-
133
-<style lang="scss">
134
-@import "page.scss";
135
-</style>

+ 0
- 70
src/pages/HuiQuanYi/Recommed/page.scss Dosyayı Görüntüle

@@ -1,70 +0,0 @@
1
-.page.YiJianQingXin {
2
-  width: 100%;
3
-  height: 100%;
4
-  background: #fff;
5
-  overflow-y: scroll;
6
-  > .Form {
7
-    padding: 0 20px;
8
-    > image {
9
-      height: 50px;
10
-      margin-top: 20px;
11
-      margin-bottom: 20px;
12
-    }
13
-    > view.flex-h {
14
-      padding: 30px 0;
15
-      border-bottom: 2px solid #f5f5f5;
16
-      align-items: center;
17
-      > text {
18
-        font-size: 28px;
19
-        line-height: 40px;
20
-      }
21
-      > view {
22
-        > input {
23
-          width: 100%;
24
-          display: block;
25
-          border: none;
26
-          text-align: right;
27
-          width: 100%;
28
-          font-size: 28px;
29
-          color: #999;
30
-          line-height: 40px;
31
-        }
32
-        > picker {
33
-          text-align: right;
34
-          font-size: 28px;
35
-        }
36
-      }
37
-    }
38
-    > view.textarea {
39
-      border: 2px solid #f5f5f5;
40
-      box-sizing: border-box;
41
-      border-radius: 16px;
42
-      padding: 20px;
43
-      > textarea {
44
-        display: block;
45
-        font-size: 28px;
46
-        line-height: 40px;
47
-        width: 100%;
48
-      }
49
-      > text {
50
-        display: block;
51
-        font-size: 28px;
52
-        text-align: right;
53
-        color: #999;
54
-        line-height: 40px;
55
-      }
56
-    }
57
-  }
58
-  > text {
59
-    width: 620px;
60
-    font-size: 40px;
61
-    display: block;
62
-    font-weight: bold;
63
-    line-height: 100px;
64
-    border-radius: 100px;
65
-    background: #fddd39;
66
-    margin: 60px auto 0;
67
-    text-align: center;
68
-    box-shadow: 0 5px 10px 5px rgba(253, 221, 57, 0.3);
69
-  }
70
-}

+ 0
- 3
src/pages/HuiQuanYi/index.config.js Dosyayı Görüntüle

@@ -1,3 +0,0 @@
1
-export default {
2
-  navigationBarTitleText: '荟 · 权益'
3
-}

+ 0
- 135
src/pages/HuiQuanYi/index.vue Dosyayı Görüntüle

@@ -1,135 +0,0 @@
1
-<template>
2
-  <view class="page HuiQuanYi">
3
-    <ScrollY :IsRefreshing="IsRefreshing" @Refresh="Refresh">
4
-
5
-      <view class="PageContainer">
6
-
7
-        <!-- banner -->
8
-        <view class="Banner">
9
-          <view>
10
-            <BannerSwiper :List="QuanYiBanner"></BannerSwiper>
11
-          </view>
12
-        </view>
13
-
14
-        <!-- 一荐倾心计划 -->
15
-        <navigator url="./Recommed/index" hover-class="other-navigator-hover" class="YiJianQingXin">
16
-          <image mode="widthFix" src="https://cjgw.oss-cn-hangzhou.aliyuncs.com/ygcxxfb/image/yijianqingxin.png"></image>
17
-        </navigator>
18
-
19
-        <!-- 业主资讯 -->
20
-        <view class="NewsList">
21
-          <view class="flex-h">
22
-            <view class="flex-item">
23
-              <image mode="heightFix" src="https://cjgw.oss-cn-hangzhou.aliyuncs.com/ygcxxfb/image/yezhuzixun.png"></image>
24
-            </view>
25
-            <navigator url="./OwnersNews/index" hover-class="other-navigator-hover" class="More">更多 <text class="iconfont iconjiantouright"></text></navigator>
26
-          </view>
27
-          <view class="List" v-if="PageList.length">
28
-            <navigator v-for="(item, index) in PageList" class="flex-h" :key="index" :url="`./OwnersNews/NewsDetail/index?id=${item.newsId}`" hover-class="other-navigator-hover">
29
-              <view class="Num"><text>{{index + 1}}</text></view>
30
-              <view class="flex-item">
31
-                <text>{{item.title}}</text>
32
-              </view>
33
-              <text :class="{'active': item.typeId - 0 === 2}">{{item.typeId - 0 === 1 ? '喜' : item.typeId - 0 === 2 ? '书' : ''}}</text>
34
-            </navigator>
35
-          </view>
36
-        </view>
37
-
38
-        <!-- 授权头像获取弹窗 -->
39
-        <GetUserIcon v-if="ShowGetUserIcon"></GetUserIcon>
40
-
41
-      </view>
42
-
43
-    </ScrollY>
44
-  </view>
45
-</template>
46
-
47
-<script>
48
-import GetUserIcon from '../../components/GetUserIcon/index'
49
-import ScrollY from '../../components/ScrollY/index'
50
-import BannerSwiper from '../../components/BannerSwiper/index'
51
-import { createNamespacedHelpers } from 'vuex'
52
-const { mapState: mapIndexState, mapActions: mapIndexActions, mapMutations: mapIndexMutations } = createNamespacedHelpers('index')
53
-const { mapActions: mapUserActions, mapMutations: mapUserMutations } = createNamespacedHelpers('user')
54
-export default {
55
-  name: 'HuiQuanYi',
56
-  data () {
57
-    return {
58
-      ShowGetUserIcon: false,
59
-      PageList: [],
60
-      RequestNum: 0,
61
-      IsRefreshing: false,
62
-      DataLock: false
63
-    }
64
-  },
65
-  computed: {
66
-    ...mapIndexState({
67
-      QuanYiBanner: x => x.QuanYiBanner, // 荟权益banner
68
-      YeZhuZiXunList: x => x.YeZhuZiXunList // 业主资讯列表
69
-    })
70
-  },
71
-  components: {
72
-    ScrollY,
73
-    BannerSwiper,
74
-    GetUserIcon
75
-  },
76
-  created () {
77
-    this.$authed(() => {
78
-      this.Init()
79
-      this.ShowGetUserIcon = true
80
-    })
81
-  },
82
-  methods: {
83
-    ...mapUserActions([
84
-      'MainSignIn' // 获取用户信息
85
-    ]),
86
-    ...mapUserMutations([
87
-      'EditUserInfo' // 编辑用户信息
88
-    ]),
89
-    ...mapIndexActions([
90
-      'GetHuiQuanYiBanner', // 获取荟权益banner
91
-      'GetYeZhuZiXunList' // 获取业主资讯列表
92
-    ]),
93
-    ...mapIndexMutations([
94
-      'EmptyQuanYiBanner', // 清空荟权益banner
95
-      'EmptyYeZhuZiXunList' // 清空业主资讯列表
96
-    ]),
97
-    Init () {
98
-      this.RequestNum = 0
99
-      this.PageList = []
100
-      this.EmptyQuanYiBanner() // 清空荟权益banner
101
-      this.EmptyYeZhuZiXunList() // 清空业主资讯列表
102
-      this.GetHuiQuanYiBanner({ queryData: { pageNum: 1, pageSize: 10, position: 'rights' } }).then(() => { // 获取荟权益banner
103
-        this.CheckRequestNum(2) // 判断请求接口个数
104
-      }).catch(() => {
105
-        this.CheckRequestNum(2) // 判断请求接口个数
106
-      })
107
-      this.GetYeZhuZiXunList({ queryData: { pageNum: 1, pageSize: 10 } }).then(() => { // 获取业主资讯列表
108
-        this.PageList = [...this.YeZhuZiXunList]
109
-        this.CheckRequestNum(2) // 判断请求接口个数
110
-      }).catch(() => {
111
-        this.CheckRequestNum(2) // 判断请求接口个数
112
-      })
113
-    },
114
-    CheckRequestNum (num) { // 判断请求接口个数
115
-      this.RequestNum += 1
116
-      if (this.RequestNum >= num) {
117
-        this.IsRefreshing = false
118
-        this.DataLock = false
119
-      }
120
-    },
121
-    Refresh (e) { // 页面刷新
122
-      if (this.DataLock) return
123
-      this.DataLock = true
124
-      this.IsRefreshing = true
125
-      setTimeout(() => {
126
-        this.Init()
127
-      }, 1000)
128
-    }
129
-  }
130
-}
131
-</script>
132
-
133
-<style lang="scss">
134
-@import "page.scss";
135
-</style>

+ 0
- 158
src/pages/HuiQuanYi/page.scss Dosyayı Görüntüle

@@ -1,158 +0,0 @@
1
-.page.HuiQuanYi {
2
-  width: 100%;
3
-  height: 100%;
4
-  .PageContainer {
5
-    width: 100%;
6
-    min-height: 100vh;
7
-    position: relative;
8
-    .Banner {
9
-      width: 100%;
10
-      padding-bottom: 41%;
11
-      position: relative;
12
-      overflow: hidden;
13
-      > view {
14
-        width: 100%;
15
-        position: absolute;
16
-        left: 0;
17
-        top: 0;
18
-        bottom: 0;
19
-        overflow: hidden;
20
-        background: #ccc;
21
-      }
22
-    }
23
-    .YiJianQingXin {
24
-      margin-top: 20px;
25
-      > image {
26
-        width: 100%;
27
-      }
28
-    }
29
-    .NewsList {
30
-      padding: 20px 0;
31
-      background: #fff;
32
-      margin-top: 20px;
33
-      > .flex-h {
34
-        padding: 0 20px;
35
-        align-items: center;
36
-        margin-top: 10px;
37
-        > .flex-item {
38
-          > image {
39
-            height: 48px;
40
-          }
41
-        }
42
-        > .More {
43
-          font-size: 26px;
44
-          color: #999;
45
-          > text {
46
-            font-size: 26px;
47
-          }
48
-        }
49
-      }
50
-      > .List {
51
-        position: relative;
52
-        overflow: hidden;
53
-        margin-top: 40px;
54
-        margin-bottom: 30px;
55
-        > .flex-h {
56
-          align-items: center;
57
-          &:nth-child(1) {
58
-            > .Num {
59
-              > text {
60
-                width: 40px;
61
-                text-align: center;
62
-                line-height: 40px;
63
-                display: inline-block;
64
-                border-radius: 100%;
65
-                background: #fe4e45;
66
-                color: #fff;
67
-                box-shadow: 0 10px 20px 5px rgba(254, 78, 69, 0.1);
68
-              }
69
-            }
70
-          }
71
-          &:nth-child(2) {
72
-            > .Num {
73
-              > text {
74
-                display: inline-block;
75
-                width: 40px;
76
-                text-align: center;
77
-                line-height: 40px;
78
-                display: inline-block;
79
-                border-radius: 100%;
80
-                background: #fe7e48;
81
-                color: #fff;
82
-                box-shadow: 0 10px 20px 5px rgba(254, 126, 72, 0.1);
83
-              }
84
-            }
85
-          }
86
-          &:nth-child(3) {
87
-            > .Num {
88
-              > text {
89
-                width: 40px;
90
-                text-align: center;
91
-                line-height: 40px;
92
-                display: inline-block;
93
-                border-radius: 100%;
94
-                background: #ffa93a;
95
-                color: #fff;
96
-                box-shadow: 0 10px 20px 5px rgba(255, 169, 58, 0.1);
97
-              }
98
-            }
99
-          }
100
-          > .Num {
101
-            width: 56px;
102
-            margin-left: 10px;
103
-            text-align: center;
104
-            font-size: 0;
105
-            height: 40px;
106
-            overflow: visible;
107
-            > text {
108
-              font-size: 24px;
109
-              color: #999;
110
-            }
111
-          }
112
-          > .flex-item {
113
-            padding: 20px 0;
114
-            margin-left: 10px;
115
-            border-bottom: 2px solid #f5f5f5;
116
-            font-size: 0;
117
-            white-space: nowrap;
118
-            margin-top: 10px;
119
-            > text {
120
-              display: inline-block;
121
-              vertical-align: middle;
122
-              max-width: 100%;
123
-              font-size: 28px;
124
-              line-height: 1.5;
125
-              white-space: nowrap;
126
-              overflow: hidden;
127
-              text-overflow: ellipsis;
128
-              &:nth-child(1) {
129
-                max-width: 88%;
130
-                white-space: nowrap;
131
-                overflow: hidden;
132
-                text-overflow: ellipsis;
133
-              }
134
-              &:nth-child(2) {
135
-                color: #999;
136
-                width: 10%;
137
-                margin-left: 2%;
138
-              }
139
-            }
140
-          }
141
-          > text {
142
-            font-size: 24px;
143
-            background: #fe7e48;
144
-            line-height: 40px;
145
-            width: 40px;
146
-            text-align: center;
147
-            border-radius: 6px;
148
-            color: #fff;
149
-            margin-right: 20px;
150
-            &.active {
151
-              background: #ffa93a;
152
-            }
153
-          }
154
-        }
155
-      }
156
-    }
157
-  }
158
-}

+ 0
- 3
src/pages/HuiShengHuo/ActivityList/ActivityDetail/JoinIn/index.config.js Dosyayı Görüntüle

@@ -1,3 +0,0 @@
1
-export default {
2
-  navigationBarTitleText: '活动报名'
3
-}

+ 0
- 104
src/pages/HuiShengHuo/ActivityList/ActivityDetail/JoinIn/index.vue Dosyayı Görüntüle

@@ -1,104 +0,0 @@
1
-<template>
2
-  <view class="page LiJiBaoMing">
3
-
4
-    <!-- 表单 -->
5
-    <view class="Form">
6
-      <view class="flex-h">
7
-        <text>姓名</text>
8
-        <view class="flex-item">
9
-          <input type="text" placeholder="请输入" v-model="Name" />
10
-        </view>
11
-      </view>
12
-      <view class="flex-h">
13
-        <text>手机号</text>
14
-        <view class="flex-item">
15
-          <input type="number" placeholder="请输入" v-model="Phone" />
16
-        </view>
17
-      </view>
18
-      <view class="flex-h">
19
-        <text>人数</text>
20
-        <view class="flex-item">
21
-          <input type="number" placeholder="请输入" v-model="Num" />
22
-        </view>
23
-      </view>
24
-    </view>
25
-
26
-    <text @tap="ToJoin">提交</text>
27
-
28
-  </view>
29
-</template>
30
-
31
-<script>
32
-import { getCurrentInstance } from '@tarojs/taro'
33
-import { createNamespacedHelpers } from 'vuex'
34
-const { mapState: mapUserState, mapActions: mapUserActions, mapMutations: mapUserMutations } = createNamespacedHelpers('user')
35
-const { mapMutations: mapIndexMutations } = createNamespacedHelpers('index')
36
-export default {
37
-  name: 'LiJiBaoMing',
38
-  data () {
39
-    return {
40
-      Name: '',
41
-      Phone: '',
42
-      Num: '',
43
-      CurrnetId: null,
44
-      DataLock: false
45
-    }
46
-  },
47
-  computed: {
48
-    ...mapUserState({
49
-      UserInfo: x => x.UserInfo // 用户信息
50
-    })
51
-  },
52
-  components: {
53
-  },
54
-  created () {
55
-    this.Name = this.UserInfo.Name
56
-    this.Phone = this.UserInfo.Phone
57
-    this.CurrnetId = getCurrentInstance().router.params.id
58
-    this.$authed(() => {
59
-      this.Init()
60
-    })
61
-  },
62
-  methods: {
63
-    ...mapUserActions([
64
-      'GetUserPhone',
65
-      'PostActivityJoin',
66
-      'MainSignIn' // 获取用户信息
67
-    ]),
68
-    ...mapUserMutations([
69
-      'EditUserInfo' // 编辑用户信息
70
-    ]),
71
-    ...mapIndexMutations([
72
-      'EditActivityDetail'
73
-    ]),
74
-    Init () {
75
-    },
76
-    ToJoin () { // 去报名
77
-      if (this.DataLock) return
78
-      this.DataLock = true
79
-      this.PostActivityJoin({
80
-        urlData: { id: this.CurrnetId },
81
-        data: { data: { enrollName: this.Name, enrollPhone: this.Phone, enrollNum: this.Num } }
82
-      }).then((res) => {
83
-        this.DataLock = false
84
-        this.EditActivityDetail({ name: 'status', value: 1 })
85
-        wx.showToast({
86
-          title: '报名成功',
87
-          icon: 'none',
88
-          duration: 2000
89
-        })
90
-        wx.navigateBack({
91
-          delta: 1
92
-        })
93
-      }).catch(() => {
94
-        this.DataLock = false
95
-      })
96
-    }
97
-  }
98
-}
99
-</script>
100
-
101
-<style lang="scss">
102
-@import "page.scss";
103
-</style>
104
- 

+ 0
- 43
src/pages/HuiShengHuo/ActivityList/ActivityDetail/JoinIn/page.scss Dosyayı Görüntüle

@@ -1,43 +0,0 @@
1
-.page.LiJiBaoMing {
2
-  width: 100%;
3
-  height: 100%;
4
-  overflow-y: scroll;
5
-  background: #fff;
6
-  > .Form {
7
-    padding: 0 20px;
8
-    > view {
9
-      padding: 26px 0;
10
-      border-bottom: 2px solid #f5f5f5;
11
-      &:last-child {
12
-        border-bottom: none;
13
-      }
14
-      > text {
15
-        font-size: 28px;
16
-        width: 100px;
17
-      }
18
-      > view {
19
-        position: relative;
20
-        overflow: hidden;
21
-        > input {
22
-          width: 100%;
23
-          font-size: 28px;
24
-          line-height: 40px;
25
-          height: 40px;
26
-          text-align: right;
27
-        }
28
-      }
29
-    }
30
-  }
31
-  > text {
32
-    width: 620px;
33
-    font-size: 40px;
34
-    display: block;
35
-    font-weight: bold;
36
-    line-height: 100px;
37
-    border-radius: 100px;
38
-    background: #fddd39;
39
-    margin: 60px auto 0;
40
-    text-align: center;
41
-    box-shadow: 0 5px 10px 5px rgba(253, 221, 57, 0.3);
42
-  }
43
-}

+ 0
- 6
src/pages/HuiShengHuo/ActivityList/ActivityDetail/index.config.js Dosyayı Görüntüle

@@ -1,6 +0,0 @@
1
-export default {
2
-  navigationBarTitleText: '荟 · 生活',
3
-  usingComponents: {
4
-    'towxml': '/towxml/towxml'
5
-  }
6
-}

+ 0
- 242
src/pages/HuiShengHuo/ActivityList/ActivityDetail/index.vue Dosyayı Görüntüle

@@ -1,242 +0,0 @@
1
-<template>
2
-  <view class="page HuoDongXiangQing flex-v">
3
-
4
-    <view class="flex-item">
5
-      <view v-if="ActivityDetail !== null">
6
-
7
-        <!-- 活动主要信息 -->
8
-        <view class="MainInfo">
9
-          <text>{{ActivityDetail.name}}</text>
10
-          <view class="SubInfo flex-h">
11
-            <view class="flex-item">
12
-              <text class="iconfont iconxianshi"></text>
13
-              <text>{{ActivityDetail.pv || ''}}</text>
14
-            </view>
15
-            <view class="Time">
16
-              <text class="iconfont iconshijian"></text>
17
-              <text>{{ToolClass.DateFormat(new Date(ActivityDetail.createDate).getTime())}}</text>
18
-            </view>
19
-          </view>
20
-          <view class="Line flex-h">
21
-            <text>活动时间:</text>
22
-            <text class="flex-item">{{ToolClass.DateFormat(new Date(ActivityDetail.startDate).getTime())}} 至 {{ToolClass.DateFormat(new Date(ActivityDetail.endDate).getTime())}}</text>
23
-          </view>
24
-          <view class="Line flex-h">
25
-            <text>活动地址:</text>
26
-            <text class="flex-item">{{ActivityDetail.address}}</text>
27
-          </view>
28
-          <view class="Line flex-h" v-if="IsEnroll">
29
-            <text>报名截止:</text>
30
-            <text class="flex-item">{{ToolClass.DateFormat(new Date(ActivityDetail.enrollEnd).getTime())}}</text>
31
-          </view>
32
-        </view>
33
-
34
-        <!-- 活动详情 -->
35
-        <view class="DetailContainer">
36
-          <image mode="heightFix" src="https://cjgw.oss-cn-hangzhou.aliyuncs.com/ygcxxfb/image/huodongxiangqing.png"></image>
37
-          <view class="Text">
38
-            <!-- <rich-text :nodes="ActivityDetail.detail"></rich-text> -->
39
-            <Markdown :value="ActivityDetail.detail" />
40
-          </view>
41
-        </view>
42
-
43
-        <!-- 投票 -->
44
-        <view class="VoteContainer" v-if="IsVote">
45
-          <image mode="heightFix" src="https://cjgw.oss-cn-hangzhou.aliyuncs.com/ygcxxfb/image/toupiao.png"></image>
46
-          <view class="List" v-if="!ShowVoteRes">
47
-            <view v-for="(item, index) in VoteList" :key="index" class="flex-h" @tap="VoteIndex = index">
48
-              <text class="iconfont iconweigouxuan" v-if="VoteIndex !== index"></text>
49
-              <text class="iconfont icongouxuan" v-else></text>
50
-              <view class="flex-item">
51
-                <text>{{item.name}}</text>
52
-              </view>
53
-            </view>
54
-          </view>
55
-          <text @tap="ToPostActivityVote" v-if="!ShowVoteRes && (ActivityDetail.status - 0 !== 2)">提交</text>
56
-          <button open-type="getPhoneNumber" class="GetPhoneBtn" v-if="!DataLock && ShowGetPhoneBtn && !ShowVoteRes && (ActivityDetail.status - 0 !== 2)" @getphonenumber="GetPhoneNumber">授权手机号</button>
57
-          <view class="ResList" v-if="ShowVoteRes">
58
-            <view v-for="(item, index) in VoteResList" :key="index">
59
-              <view class="Text flex-h">
60
-                <text class="flex-item">{{item.name}}({{item.num}}/{{item.total}})</text>
61
-                <text>{{item.selfVoted ? '我投过的' : ''}}</text>
62
-              </view>
63
-              <view class="Line">
64
-                <view>
65
-                  <view :style="{width: `${item.pec}%`}"></view>
66
-                </view>
67
-              </view>
68
-            </view>
69
-          </view>
70
-        </view>
71
-
72
-      </view>
73
-    </view>
74
-
75
-    <!-- 底部栏 -->
76
-    <view class="Bottom flex-h">
77
-      <view class="flex-item" @tap="LinkTo('../../index')">
78
-        <image class="centerLabel" mode="heightFix" src="https://cjgw.oss-cn-hangzhou.aliyuncs.com/ygcxxfb/image/huishenghuo.png"></image>
79
-      </view>
80
-      <view class="flex-item" @tap="ToShare">
81
-        <image class="centerLabel" mode="heightFix" src="https://cjgw.oss-cn-hangzhou.aliyuncs.com/ygcxxfb/image/fenxiang.png"></image>
82
-      </view>
83
-      <button open-type="share" class="ShareBottomBtn" :class="{'active': IsEnroll}">分享</button>
84
-      <image mode="heightFix" v-if="IsEnroll && !HasEnroll && (ActivityDetail.status - 0 !== 2)" src="https://cjgw.oss-cn-hangzhou.aliyuncs.com/ygcxxfb/image/lijibaomingbtn.png" @tap="ToJoin"></image>
85
-      <button open-type="getPhoneNumber" class="GetPhoneBottomBtn" v-if="!DataLock && ShowGetPhoneBtn && IsEnroll && !HasEnroll && (ActivityDetail.status - 0 !== 2)" @getphonenumber="GetPhoneNumber">授权手机号</button>
86
-      <text v-if="IsEnroll && HasEnroll && (ActivityDetail.status - 0 !== 2)">已报名</text>
87
-      <text v-if="!(ActivityDetail.status - 0 !== 2)">已过期</text>
88
-    </view>
89
-
90
-    <!-- 授权头像获取弹窗 -->
91
-    <GetUserIcon></GetUserIcon>
92
-
93
-  </view>
94
-</template>
95
-
96
-<script>
97
-import GetUserIcon from '../../../../components/GetUserIcon/index'
98
-import { getCurrentInstance } from '@tarojs/taro'
99
-import { createNamespacedHelpers } from 'vuex'
100
-const { mapState: mapIndexState, mapActions: mapIndexActions } = createNamespacedHelpers('index')
101
-const { mapState: mapUserState, mapActions: mapUserActions, mapMutations: mapUserMutations } = createNamespacedHelpers('user')
102
-export default {
103
-  name: 'HuoDongXiangQing',
104
-  data () {
105
-    return {
106
-      From: null,
107
-      HasEnroll: false,
108
-      ShowVoteRes: false,
109
-      VoteResList: [],
110
-      ShowGetPhoneBtn: false,
111
-      VoteIndex: null,
112
-      VoteList: [],
113
-      IsVote: false,
114
-      IsEnroll: false,
115
-      CurrnetId: null,
116
-      DataLock: false
117
-    }
118
-  },
119
-  computed: {
120
-    ...mapUserState({
121
-      UserInfo: x => x.UserInfo // 用户信息
122
-    }),
123
-    ...mapIndexState({
124
-      ActivityDetail: x => x.ActivityDetail // 活动详情
125
-    })
126
-  },
127
-  components: {
128
-    GetUserIcon
129
-  },
130
-  onShareAppMessage () {
131
-    return {
132
-      title: this.ActivityDetail.shareTitle,
133
-      path: `/pages/HuiShengHuo/ActivityList/ActivityDetail/index?id=${this.ActivityDetail.activityId}&from=life`,
134
-      imageUrl: this.ActivityDetail.shareImg
135
-    }
136
-  },
137
-  created () {
138
-    this.CurrnetId = getCurrentInstance().router.params.id
139
-    this.From = getCurrentInstance().router.params.from
140
-    let _that = this
141
-    wx.setNavigationBarTitle({
142
-      title: _that.From === 'love' ? '荟 · 爱心' : '荟 · 生活'
143
-    })
144
-    this.$authed(() => {
145
-      this.Init()
146
-    })
147
-  },
148
-  mounted () {
149
-  },
150
-  methods: {
151
-    ...mapUserActions([ // 活动投票
152
-      'PostActivityVote',
153
-      'GetUserPhone',
154
-      'PostActivityJoin',
155
-      'MainSignIn' // 获取用户信息
156
-    ]),
157
-    ...mapUserMutations([
158
-      'EditUserInfo' // 编辑用户信息
159
-    ]),
160
-    ...mapIndexActions([
161
-      'GetActivityDetail' // 获取活动详情
162
-    ]),
163
-    Init () {
164
-      this.ShowGetPhoneBtn = this.UserInfo === null || this.UserInfo.Phone === undefined || this.UserInfo.Phone === null
165
-      this.GetActivityDetail({ urlData: { id: this.CurrnetId } }).then((res) => {
166
-        this.IsEnroll = this.ActivityDetail.isEnroll
167
-        if (this.IsEnroll) {
168
-          this.HasEnroll = this.ActivityDetail.isSelfEnrolled
169
-        }
170
-        if (this.ActivityDetail.isVote) {
171
-          this.VoteList = this.ActivityDetail.voteItemList.slice(0)
172
-          this.CreateVoteResList()
173
-          this.ShowVoteRes = !!this.ActivityDetail.selfVoted
174
-        }
175
-        this.IsVote = this.ActivityDetail.isVote
176
-      })
177
-    },
178
-    CreateVoteResList () { // 计算投票结果
179
-      this.VoteResList = []
180
-      let VoteTotal = 0
181
-      this.VoteList.map((item) => {
182
-        VoteTotal += item.voteNum - 0
183
-      })
184
-      this.VoteList.map((item) => {
185
-        this.VoteResList.push({ name: item.name, pec: Math.floor((item.voteNum / VoteTotal) * 100), total: VoteTotal, num: item.voteNum, selfVoted: this.ActivityDetail.selfVoted === item.itemId })
186
-      })
187
-    },
188
-    ToShare () {
189
-      wx.showShareMenu({
190
-        withShareTicket: true,
191
-        menus: ['shareAppMessage', 'shareTimeline']
192
-      })
193
-    },
194
-    LinkTo (url) {
195
-      wx.switchTab({ url })
196
-    },
197
-    ToJoin () { // 报名
198
-      wx.navigateTo({ url: `./JoinIn/index?id=${this.ActivityDetail.activityId}` })
199
-    },
200
-    ToPostActivityVote () { // 活动投票
201
-      if (this.DataLock || this.VoteIndex === null) return
202
-      this.DataLock = true
203
-      this.PostActivityVote({
204
-        urlData: { id: this.ActivityDetail.activityId },
205
-        data: { data: { itemId: this.VoteList[this.VoteIndex].itemId } }
206
-      }).then(() => {
207
-        this.DataLock = false
208
-        wx.showToast({
209
-          title: '投票成功',
210
-          icon: 'none',
211
-          duration: 2000
212
-        })
213
-        this.ActivityDetail.selfVoted = this.VoteList[this.VoteIndex].itemId
214
-        this.CreateVoteResList()
215
-        this.ShowVoteRes = true
216
-      }).catch(() => {
217
-        this.DataLock = false
218
-      })
219
-    },
220
-    GetPhoneNumber (e) {
221
-      if (this.DataLock) return
222
-      this.DataLock = true
223
-      this.GetUserPhone({
224
-        urlData: { personId: this.UserInfo.PersonId },
225
-        data: { data: { sessionKey: this.UserInfo.SessionKey, encryptedData: e.detail.encryptedData, iv: e.detail.iv } }
226
-      }).then((res) => {
227
-        this.ShowGetPhoneBtn = false
228
-        this.EditUserInfo({ name: 'OpenId', value: res.data.data.openId })
229
-        this.EditUserInfo({ name: 'Phone', value: res.data.data.phone })
230
-        this.DataLock = false
231
-      }).catch(() => {
232
-        this.DataLock = false
233
-      })
234
-    }
235
-  }
236
-}
237
-</script>
238
-
239
-<style lang="scss">
240
-@import "page.scss";
241
-</style>
242
- 

+ 0
- 236
src/pages/HuiShengHuo/ActivityList/ActivityDetail/page.scss Dosyayı Görüntüle

@@ -1,236 +0,0 @@
1
-.page.HuoDongXiangQing {
2
-  width: 100%;
3
-  height: 100%;
4
-  > .flex-item {
5
-    position: relative;
6
-    overflow: hidden;
7
-    > view {
8
-      width: 100%;
9
-      height: 100%;
10
-      overflow-y: scroll;
11
-      > .MainInfo {
12
-        background: #fff;
13
-        padding: 24px;
14
-        box-shadow: 0 5px 10px 5px rgba(0, 0, 0, 0.08);
15
-        > text {
16
-          display: block;
17
-          font-size: 44px;
18
-          line-height: 60px;
19
-        }
20
-        > .SubInfo {
21
-          align-items: center;
22
-          margin-top: 10px;
23
-          > .flex-item {
24
-            font-size: 0;
25
-            white-space: nowrap;
26
-            > text {
27
-              display: inline-block;
28
-              vertical-align: middle;
29
-              font-size: 24px;
30
-              line-height: 40px;
31
-              color: #999;
32
-              margin-right: 10px;
33
-              &:nth-child(1) {
34
-                font-size: 30px;
35
-              }
36
-            }
37
-          }
38
-          > .Time {
39
-            font-size: 0;
40
-            white-space: nowrap;
41
-            > text {
42
-              display: inline-block;
43
-              vertical-align: middle;
44
-              font-size: 24px;
45
-              line-height: 40px;
46
-              margin-left: 10px;
47
-              color: #999;
48
-              &:nth-child(1) {
49
-                font-size: 30px;
50
-              }
51
-            }
52
-          }
53
-        }
54
-        > .Line {
55
-          align-items: center;
56
-          margin-top: 10px;
57
-          margin-bottom: 10px;
58
-          > text {
59
-            font-size: 28px;
60
-            color: #000;
61
-            line-height: 40px;
62
-            white-space: nowrap;
63
-            overflow: hidden;
64
-            text-overflow: ellipsis;
65
-            &:nth-child(1) {
66
-              color: #999;
67
-              width: 140px;
68
-            }
69
-          }
70
-        }
71
-      }
72
-      > .DetailContainer {
73
-        background: #fff;
74
-        margin-top: 20px;
75
-        padding-top: 50px;
76
-        box-shadow: 0 5px 10px 5px rgba(0, 0, 0, 0.08);
77
-        > image {
78
-          height: 70px;
79
-          display: block;
80
-          margin: 0 auto;
81
-        }
82
-        > .Text {
83
-          padding: 20px;
84
-        }
85
-      }
86
-      > .VoteContainer {
87
-        background: #fff;
88
-        margin-top: 20px;
89
-        padding-top: 50px;
90
-        padding-bottom: 80px;
91
-        margin-bottom: 40px;
92
-        box-shadow: 0 5px 10px 5px rgba(0, 0, 0, 0.08);
93
-        > image {
94
-          height: 70px;
95
-          display: block;
96
-          margin: 0 auto;
97
-        }
98
-        > .List {
99
-          padding-top: 20px;
100
-          padding-left: 20px;
101
-          > view {
102
-            margin-bottom: 20px;
103
-            align-items: flex-start;
104
-            padding: 22px 0;
105
-            border-bottom: 2px solid #f5f5f5;
106
-            > text {
107
-              font-size: 38px;
108
-              line-height: 40px;
109
-              margin-right: 20px;
110
-              color: #fe4e45;
111
-            }
112
-            > view {
113
-              position: relative;
114
-              overflow: hidden;
115
-              > text {
116
-                display: block;
117
-                font-size: 28px;
118
-                color: #666;
119
-                line-height: 40px;
120
-              }
121
-            }
122
-          }
123
-        }
124
-        > .ResList {
125
-          padding-left: 20px;
126
-          margin-top: 20px;
127
-          > view {
128
-            padding: 22px 0;
129
-            border-bottom: 2px solid #f5f5f5;
130
-            margin-bottom: 20px;
131
-            > view.flex-h {
132
-              align-items: center;
133
-              > text {
134
-                font-size: 28px;
135
-                color: #666;
136
-                line-height: 40px;
137
-                &:last-child {
138
-                  margin-right: 20px;
139
-                }
140
-              }
141
-            }
142
-            > view.Line {
143
-              padding-right: 20px;
144
-              > view {
145
-                margin-top: 20px;
146
-                width: 100%;
147
-                position: relative;
148
-                overflow: hidden;
149
-                background: #ccc;
150
-                border-radius: 20px;
151
-                height: 20px;
152
-                > view {
153
-                  position: absolute;
154
-                  left: 0;
155
-                  top: 0;
156
-                  height: 100%;
157
-                  background: #fe4e45;
158
-                }
159
-              }
160
-            }
161
-          }
162
-        }
163
-        > text {
164
-          width: 620px;
165
-          font-size: 40px;
166
-          display: block;
167
-          font-weight: bold;
168
-          line-height: 100px;
169
-          border-radius: 100px;
170
-          background: #fddd39;
171
-          margin: 40px auto 0;
172
-          text-align: center;
173
-          box-shadow: 0 5px 10px 5px rgba(253, 221, 57, 0.3);
174
-        }
175
-        > .GetPhoneBtn {
176
-          line-height: 100px;
177
-          margin-top: -100px;
178
-          opacity: 0;
179
-        }
180
-      }
181
-    }
182
-  }
183
-  > .Bottom {
184
-    background: #fff;
185
-    position: relative;
186
-    overflow: hidden;
187
-    > text {
188
-      line-height: 90px;
189
-      width: 380px;
190
-      display: block;
191
-      text-align: center;
192
-      font-size: 36px;
193
-      font-weight: bold;
194
-      background: #ccc;
195
-      color: #333;
196
-    }
197
-    > view {
198
-      height: 90px;
199
-      position: relative;
200
-      overflow: hidden;
201
-      > image {
202
-        height: 40px;
203
-      }
204
-      &:nth-child(2) {
205
-        > image {
206
-          height: 36px;
207
-        }
208
-      }
209
-    }
210
-    > image {
211
-      height: 90px;
212
-    }
213
-    > .ShareBottomBtn {
214
-      height: 90px;
215
-      width: 50%;
216
-      display: block;
217
-      position: absolute;
218
-      right: 0;
219
-      top: 0;
220
-      opacity: 0;
221
-      &.active {
222
-        width: 188px;
223
-        right: 380px;
224
-      }
225
-    }
226
-    > .GetPhoneBottomBtn {
227
-      height: 90px;
228
-      width: 380px;
229
-      display: block;
230
-      position: absolute;
231
-      right: 0;
232
-      top: 0;
233
-      opacity: 0;
234
-    }
235
-  }
236
-}

+ 0
- 3
src/pages/HuiShengHuo/ActivityList/index.config.js Dosyayı Görüntüle

@@ -1,3 +0,0 @@
1
-export default {
2
-  navigationBarTitleText: '精彩活动'
3
-}

+ 0
- 155
src/pages/HuiShengHuo/ActivityList/index.vue Dosyayı Görüntüle

@@ -1,155 +0,0 @@
1
-<template>
2
-  <view class="page JingCaiHuoDong flex-v">
3
-
4
-    <!-- Nav -->
5
-    <view class="NavContainer">
6
-      <scroll-view scroll-x="true">
7
-        <view class="NavX">
8
-          <image mode="heightFix" src="https://cjgw.oss-cn-hangzhou.aliyuncs.com/ygcxxfb/image/jingcaihuodong.png"></image>
9
-          <view v-for="(item, index) in HuoDongNavList" :key="index" :class="{'active': CurrentNavId - 0 === item.Id - 0}" @tap="CutNav(item)">{{item.Name}}</view>
10
-        </view>
11
-      </scroll-view>
12
-    </view>
13
-
14
-    <!-- 列表 -->
15
-    <view class="flex-item">
16
-      <ScrollY :IsRefreshing="IsRefreshing" @Refresh="Refresh" @ScrollBottom="ScrollBottom">
17
-
18
-        <view class="ActivityList">
19
-          <view class="NoData" v-show="NoData">
20
-            <image mode="widthFix" src="https://cjgw.oss-cn-hangzhou.aliyuncs.com/ygcxxfb/image/nodata.png"></image>
21
-            <text>暂无内容</text>
22
-          </view>
23
-          <view class="List">
24
-            <view class="Item" v-for="(item, index) in PageList" :key="index">
25
-              <navigator class="Img" :url="`./ActivityDetail/index?id=${item.activityId}&from=life`" hover-class="other-navigator-hover">
26
-                <view class="MainItemImg">
27
-                  <image mode="aspectFill" :src="item.thumb"></image>
28
-                </view>
29
-              </navigator>
30
-              <view class="Info">
31
-                <text>{{item.name}}</text>
32
-                <view class="flex-h">
33
-                  <text class="flex-item">参与截止时间:{{ToolClass.DateFormat(new Date(item.enrollEnd).getTime())}}</text>
34
-                  <navigator :url="`./ActivityDetail/index?id=${item.activityId}&from=life`" hover-class="other-navigator-hover" class="Btn" v-if="item.isEnroll">立即报名</navigator>
35
-                  <navigator :url="`./ActivityDetail/index?id=${item.activityId}&from=life`" hover-class="other-navigator-hover" class="Btn" v-if="item.isVote">立即投票</navigator>
36
-                  <view v-if="new Date(item.endDate).getTime() <= Date.now()">已结束</view>
37
-                </view>
38
-              </view>
39
-            </view>
40
-            <view style="width: 100%; height: 10px;"></view>
41
-          </view>
42
-        </view>
43
-
44
-      </ScrollY>
45
-    </view>
46
-  </view>
47
-</template>
48
-
49
-<script>
50
-import ScrollY from '../../../components/ScrollY/index'
51
-import { createNamespacedHelpers } from 'vuex'
52
-const { mapState: mapIndexState, mapActions: mapIndexActions, mapMutations: mapIndexMutations } = createNamespacedHelpers('index')
53
-const { mapActions: mapUserActions, mapMutations: mapUserMutations } = createNamespacedHelpers('user')
54
-export default {
55
-  name: 'JingCaiHuoDong',
56
-  data () {
57
-    return {
58
-      NoData: false,
59
-      PageData: {
60
-        pageNum: 1,
61
-        pageSize: 15
62
-      },
63
-      PageList: [],
64
-      HuoDongNavList: [
65
-        { Name: '暖场活动', Id: '1' },
66
-        { Name: '六点半学堂', Id: '2' },
67
-        { Name: '夜跑行动', Id: '3' },
68
-        { Name: '美好出游季', Id: '4' },
69
-        { Name: '旧衣飞行', Id: '5' },
70
-        { Name: '丽园助农', Id: '6' }
71
-      ],
72
-      CurrentNavId: 1,
73
-      HasNextPage: true,
74
-      IsRefreshing: false,
75
-      DataLock: false
76
-    }
77
-  },
78
-  computed: {
79
-    ...mapIndexState({
80
-      ActivityList: x => x.ActivityList // 活动列表
81
-    })
82
-  },
83
-  components: {
84
-    ScrollY
85
-  },
86
-  created () {
87
-    this.$authed(() => {
88
-      this.Init()
89
-    })
90
-  },
91
-  methods: {
92
-    ...mapUserActions([
93
-      'MainSignIn' // 获取用户信息
94
-    ]),
95
-    ...mapUserMutations([
96
-      'EditUserInfo' // 编辑用户信息
97
-    ]),
98
-    ...mapIndexActions([
99
-      'GetActivityList' // 获取活动列表
100
-    ]),
101
-    ...mapIndexMutations([
102
-      'EmptyActivityList' // 清空活动列表
103
-    ]),
104
-    Init () { // 初始化
105
-      this.PageData.pageNum = 1
106
-      this.HasNextPage = true
107
-      this.PageList = []
108
-      this.EmptyActivityList() // 清空活动列表
109
-      this.ToGetPageList() // 获取列表
110
-    },
111
-    LinkTo (url) { // 跳转页面
112
-      wx.navigateTo({ url })
113
-    },
114
-    CutNav (item) { // 切换导航
115
-      if (this.DataLock) return
116
-      this.DataLock = true
117
-      this.EmptyActivityList() // 清空活动列表
118
-      this.CurrentNavId = item.Id
119
-      setTimeout(() => {
120
-        this.Init() // 初始化
121
-      }, 300)
122
-    },
123
-    ScrollBottom () { // 上拉加载
124
-      if (this.DataLock || !this.HasNextPage) return
125
-      this.DataLock = true
126
-      this.PageData.pageNum += 1
127
-      this.ToGetPageList() // 获取列表
128
-    },
129
-    ToGetPageList () { // 获取列表
130
-      this.GetActivityList({ queryData: { ...this.PageData, typeId: this.CurrentNavId } }).then((res) => { // 获取活动列表
131
-        this.NoData = !this.ActivityList.length
132
-        this.PageList = [...this.ActivityList]
133
-        this.HasNextPage = res.data.data.current < res.data.data.pages
134
-        this.DataLock = false
135
-        this.IsRefreshing = false
136
-      }).catch(() => {
137
-        this.DataLock = false
138
-        this.IsRefreshing = false
139
-      })
140
-    },
141
-    Refresh (e) { // 页面下拉刷新
142
-      if (this.DataLock) return
143
-      this.DataLock = true
144
-      this.IsRefreshing = true
145
-      setTimeout(() => {
146
-        this.Init() // 初始化
147
-      }, 1000)
148
-    }
149
-  }
150
-}
151
-</script>
152
-
153
-<style lang="scss">
154
-@import "page.scss";
155
-</style>

+ 0
- 109
src/pages/HuiShengHuo/ActivityList/page.scss Dosyayı Görüntüle

@@ -1,109 +0,0 @@
1
-.page.JingCaiHuoDong {
2
-  width: 100%;
3
-  height: 100%;
4
-  background: #fff;
5
-  > .NavContainer {
6
-    width: 100%;
7
-    position: relative;
8
-    overflow: hidden;
9
-    margin-top: 40px;
10
-    padding-bottom: 20px;
11
-    > scroll-view {
12
-      position: relative;
13
-      .NavX {
14
-        font-size: 0;
15
-        white-space: nowrap;
16
-        > image {
17
-          display: inline-block;
18
-          vertical-align: text-bottom;
19
-          height: 44px;
20
-          margin-left: 20px;
21
-        }
22
-        > view {
23
-          display: inline-block;
24
-          vertical-align: text-bottom;
25
-          font-size: 28px;
26
-          line-height: 30px;
27
-          margin-left: 30px;
28
-          &.active {
29
-            color: #fe4e45;
30
-          }
31
-          &:last-child {
32
-            margin-right: 30px;
33
-          }
34
-        }
35
-      }
36
-    }
37
-  }
38
-  > .flex-item {
39
-    .ActivityList {
40
-      background: #fff;
41
-      > .List {
42
-        position: relative;
43
-        overflow: hidden;
44
-        margin-top: 40px;
45
-        margin-bottom: 30px;
46
-        padding: 0 20px;
47
-        > .Item {
48
-          position: relative;
49
-          overflow: hidden;
50
-          background: #fff;
51
-          border-radius: 20px;
52
-          box-shadow: 0 5px 10px 5px rgba(0, 0, 0, 0.08);
53
-          margin-top: 20px;
54
-          &:first-child {
55
-            margin-top: 0;
56
-          }
57
-          > .Img {
58
-            width: 100%;
59
-            padding-bottom: 55%;
60
-            background: #ccc;
61
-            position: relative;
62
-            overflow: hidden;
63
-          }
64
-          > .Info {
65
-            padding: 20px 34px;
66
-            > text {
67
-              display: block;
68
-              font-size: 32px;
69
-              line-height: 1.5;
70
-            }
71
-            > .flex-h {
72
-              align-items: center;
73
-              margin-top: 20px;
74
-              margin-bottom: 20px;
75
-              overflow: visible;
76
-              > text {
77
-                margin-right: 10px;
78
-                white-space: nowrap;
79
-                overflow: hidden;
80
-                text-overflow: ellipsis;
81
-                font-size: 24px;
82
-                color: #999;
83
-                line-height: 1.5;
84
-              }
85
-              > .Btn {
86
-                font-size: 26px;
87
-                color: #fff;
88
-                background: #fe4e45;
89
-                line-height: 54px;
90
-                border-radius: 54px;
91
-                padding: 0 20px;
92
-                box-shadow: 0 10px 20px 5px rgba(254, 78, 69, 0.3);
93
-              }
94
-              > view {
95
-                font-size: 26px;
96
-                color: #000;
97
-                background: #e5e3e3;
98
-                line-height: 54px;
99
-                border-radius: 54px;
100
-                padding: 0 20px;
101
-                box-shadow: 0 10px 20px 5px rgba(0, 0, 0, 0.1);
102
-              }
103
-            }
104
-          }
105
-        }
106
-      }
107
-    }
108
-  }
109
-}

+ 0
- 3
src/pages/HuiShengHuo/PhotoList/PhotoDetail/index.config.js Dosyayı Görüntüle

@@ -1,3 +0,0 @@
1
-export default {
2
-  navigationBarTitleText: '照片'
3
-}

+ 0
- 44
src/pages/HuiShengHuo/PhotoList/PhotoDetail/index.vue Dosyayı Görüntüle

@@ -1,44 +0,0 @@
1
-<template>
2
-  <view class="page ZhaoPianXiangQing">
3
-    
4
-    <!-- 标题 -->
5
-    <view class="MainTitle">
6
-      <text>照片</text>
7
-      <text class="iconfont iconguanbi"></text>
8
-    </view>
9
-
10
-    <!-- 列表 -->
11
-    <view class="List">
12
-      <view v-for="(item, index) in 10">
13
-        <view class="Img"></view>
14
-        <text>相册描述</text>
15
-      </view>
16
-    </view>
17
-
18
-  </view>
19
-</template>
20
-
21
-<script>
22
-
23
-export default {
24
-  name: 'ZhaoPianXiangQing',
25
-  data () {
26
-    return {
27
-
28
-    }
29
-  },
30
-  components: {
31
-  },
32
-  created () {
33
-    this.Init()
34
-  },
35
-  methods: {
36
-    Init () {
37
-    }
38
-  }
39
-}
40
-</script>
41
-
42
-<style lang="scss">
43
-@import "page.scss";
44
-</style>

+ 0
- 66
src/pages/HuiShengHuo/PhotoList/PhotoDetail/page.scss Dosyayı Görüntüle

@@ -1,66 +0,0 @@
1
-.page.ZhaoPianXiangQing {
2
-  width: 100%;
3
-  height: 100%;
4
-  overflow-y: scroll;
5
-  background: #fff;
6
-  > .MainTitle {
7
-    position: relative;
8
-    overflow: hidden;
9
-    margin-top: 20px;
10
-    > text {
11
-      &:nth-child(1) {
12
-        display: block;
13
-        text-align: center;
14
-        font-size: 52px;
15
-        font-weight: bold;
16
-        line-height: 80px;
17
-        z-index: 1;
18
-        position: relative;
19
-      }
20
-      &:nth-child(2) {
21
-        font-size: 24px;
22
-        display: inline-block;
23
-        position: absolute;
24
-        z-index: 2;
25
-        right: 40px;
26
-        top: 50%;
27
-        transform: translateY(-50%);
28
-        -webkit-transform: translateY(-50%);
29
-      }
30
-    }
31
-  }
32
-  > .List {
33
-    padding: 0 20px;
34
-    > view {
35
-      margin-top: 40px;
36
-      padding-bottom: 30px;
37
-      position: relative;
38
-      overflow: hidden;
39
-      &::after {
40
-        content: "";
41
-        display: block;
42
-        position: absolute;
43
-        width: 90%;
44
-        height: 2px;
45
-        background: #d5d4d3;
46
-        left: 5%;
47
-        bottom: 0;
48
-      }
49
-      > .Img {
50
-        width: 100%;
51
-        padding-bottom: 74%;
52
-        background: #ccc;
53
-        border-radius: 10px;
54
-        position: relative;
55
-        overflow: hidden;
56
-      }
57
-      > text {
58
-        display: block;
59
-        font-size: 24px;
60
-        line-height: 40px;
61
-        text-align: center;
62
-        margin-top: 40px;
63
-      }
64
-    }
65
-  }
66
-}

+ 0
- 3
src/pages/HuiShengHuo/PhotoList/index.config.js Dosyayı Görüntüle

@@ -1,3 +0,0 @@
1
-export default {
2
-  navigationBarTitleText: '活动照片墙'
3
-}

+ 0
- 174
src/pages/HuiShengHuo/PhotoList/index.vue Dosyayı Görüntüle

@@ -1,174 +0,0 @@
1
-<template>
2
-  <view class="page HuoDongZhaoPianQiang">
3
-    <ScrollY :IsRefreshing="IsRefreshing" @Refresh="Refresh">
4
-
5
-      <!-- 活动照片墙 -->
6
-      <view class="PhotoList">
7
-        <view class="flex-h">
8
-          <view class="flex-item">
9
-            <image mode="heightFix" src="https://cjgw.oss-cn-hangzhou.aliyuncs.com/ygcxxfb/image/huodongzhaopianqiang.png"></image>
10
-          </view>
11
-        </view>
12
-        <view class="ListContainer">
13
-          <view v-for="(item, index) in PageList" :key="index">
14
-            <view class="Title flex-h" @tap="ShowItemList(item, index)">
15
-              <text class="flex-item">{{item.name}}</text>
16
-              <text class="iconfont iconxiala" v-if="!item.Show"></text>
17
-              <text class="iconfont iconshangla" v-else></text>
18
-            </view>
19
-            <view class="List" v-show="item.Show">
20
-              <view v-for="(subItem, subIndex) in item.List" :key="subIndex">
21
-                <view class="Img" @tap="CheckBigImg(item, subItem.imgUrl)">
22
-                  <view class="MainItemImg">
23
-                    <image mode="aspectFill" :src="subItem.imgUrl"></image>
24
-                  </view>
25
-                </view>
26
-              </view>
27
-            </view>
28
-            <text class="More" v-if="item.Show" @tap="GetMore(item, index)">{{item.Loading ? '加载中...' : item.pageNum < item.pages ? '加载更多' : '加载完毕'}}</text>
29
-          </view>
30
-        </view>
31
-      </view>
32
-
33
-    </ScrollY>
34
-
35
-    <view class="BigImg" v-if="ShowBigImg" @tap="ShowBigImg = false">
36
-      <image mode="aspectFit" :src="BigImgUrl"></image>
37
-    </view>
38
-  </view>
39
-</template>
40
-
41
-<script>
42
-import ScrollY from '../../../components/ScrollY/index'
43
-import { createNamespacedHelpers } from 'vuex'
44
-const { mapState: mapIndexState, mapActions: mapIndexActions, mapMutations: mapIndexMutations } = createNamespacedHelpers('index')
45
-const { mapActions: mapUserActions, mapMutations: mapUserMutations } = createNamespacedHelpers('user')
46
-export default {
47
-  name: 'HuoDongZhaoPianQiang',
48
-  data () {
49
-    return {
50
-      PhotoUrlArr: [],
51
-      ShowBigImg: false,
52
-      BigImgUrl: null,
53
-      PageList: [],
54
-      PageData: {
55
-        pageNum: 1,
56
-        pageSize: 15
57
-      },
58
-      HasNextPage: true,
59
-      IsRefreshing: false,
60
-      DataLock: false
61
-    }
62
-  },
63
-  computed: {
64
-    ...mapIndexState({
65
-      GalleryTypeList: x => x.GalleryTypeList, // 照片墙类型列表
66
-      PhotoList: x => x.PhotoList // 照片墙列表
67
-    })
68
-  },
69
-  components: {
70
-    ScrollY
71
-  },
72
-  created () {
73
-    this.$authed(() => {
74
-      this.Init()
75
-    })
76
-  },
77
-  methods: {
78
-    ...mapUserActions([
79
-      'MainSignIn' // 获取用户信息
80
-    ]),
81
-    ...mapUserMutations([
82
-      'EditUserInfo' // 编辑用户信息
83
-    ]),
84
-    ...mapIndexActions([
85
-      'GetGalleryType', // 获取照片墙列表类型
86
-      'GetPhotoList' // 获取照片墙列表
87
-    ]),
88
-    ...mapIndexMutations([
89
-      'EmptyGalleryTypeList', // 清空照片墙类型列表
90
-      'EmptyPhotoList' // 清空照片墙列表
91
-    ]),
92
-    Init () { // 初始化
93
-      this.PageData.pageNum = 1
94
-      this.HasNextPage = true
95
-      this.PageList = []
96
-      this.PhotoUrlArr = []
97
-      this.EmptyPhotoList() // 清空照片墙列表
98
-      this.EmptyGalleryTypeList() // 清空照片墙类型列表
99
-      this.GetGalleryType({ queryData: { pageNum: 1, pageSize: 10000, hasImages: true } }).then(() => {
100
-        this.GalleryTypeList.map((item) => {
101
-          this.PageList.push({ ...item, List: [], Show: false, pageNum: 1, pageSize: 10, pages: 2, Loading: false })
102
-        })
103
-      })
104
-    },
105
-    GetMore (item, index) { // 加载更多
106
-      if (this.DataLock) return
107
-      this.DataLock = true
108
-      item.Loading = true
109
-      item.pageNum += 1
110
-      this.GetPhotoList({ queryData: { pageNum: item.pageNum, pageSize: item.pageSize, typeId: item.typeId } }).then((res) => {
111
-        item.pageNum = res.data.data.current - 0
112
-        item.pages = res.data.data.pages - 0
113
-        this.PhotoList.map((subItem) => {
114
-          item.List.push({ ...subItem })
115
-        })
116
-        this.DataLock = false
117
-        item.Loading = false
118
-      }).catch((res) => {
119
-        this.DataLock = false
120
-        item.Loading = false
121
-      })
122
-    },
123
-    ShowItemList (item, index) { // 显示图片列表
124
-      if (item.Show) {
125
-        item.Show = false
126
-      } else {
127
-        if (item.List.length) {
128
-          item.Show = true
129
-        } else {
130
-          if (this.DataLock) return
131
-          this.DataLock = true
132
-          item.Loading = true
133
-          item.List = []
134
-          this.GetPhotoList({ queryData: { pageNum: item.pageNum, pageSize: item.pageSize, typeId: item.typeId } }).then((res) => {
135
-            item.pageNum = res.data.data.current - 0
136
-            item.pages = res.data.data.pages - 0
137
-            this.PhotoList.map((subItem) => {
138
-              item.List.push({ ...subItem })
139
-            })
140
-            item.Show = true
141
-            this.DataLock = false
142
-            item.Loading = false
143
-          }).catch((res) => {
144
-            this.DataLock = false
145
-            item.Loading = false
146
-          })
147
-        }
148
-      }
149
-    },
150
-    CheckBigImg (item, url) { // 查看大图
151
-      this.PhotoUrlArr = []
152
-      item.List.map((item) => {
153
-        this.PhotoUrlArr.push(item.imgUrl)
154
-      })
155
-      wx.previewImage({
156
-        current: url, // 当前显示图片的http链接
157
-        urls: this.PhotoUrlArr // 需要预览的图片http链接列表
158
-      })
159
-    },
160
-    Refresh (e) { // 页面下拉刷新
161
-      if (this.DataLock) return
162
-      this.DataLock = true
163
-      this.IsRefreshing = true
164
-      setTimeout(() => {
165
-        this.Init() // 获取列表
166
-      }, 1000)
167
-    }
168
-  }
169
-}
170
-</script>
171
-
172
-<style lang="scss">
173
-@import "page.scss";
174
-</style>

+ 0
- 96
src/pages/HuiShengHuo/PhotoList/page.scss Dosyayı Görüntüle

@@ -1,96 +0,0 @@
1
-.page.HuoDongZhaoPianQiang {
2
-  width: 100%;
3
-  height: 100%;
4
-  background: #fff;
5
-  > .BigImg {
6
-    width: 100%;
7
-    position: absolute;
8
-    left: 0;
9
-    top: 0;
10
-    bottom: 0;
11
-    z-index: 100;
12
-    background: rgba(0, 0, 0, 0.7);
13
-    overflow: hidden;
14
-    > image {
15
-      width: 100%;
16
-      height: 100%;
17
-    }
18
-  }
19
-  .PhotoList {
20
-    > .flex-h {
21
-      padding: 0 20px;
22
-      align-items: center;
23
-      margin-top: 10px;
24
-      > .flex-item {
25
-        > image {
26
-          height: 52px;
27
-        }
28
-      }
29
-      > .More {
30
-        font-size: 26px;
31
-        color: #999;
32
-        > text {
33
-          font-size: 26px;
34
-        }
35
-      }
36
-    }
37
-    > .ListContainer {
38
-      > view {
39
-        > .More {
40
-          display: block;
41
-          text-align: center;
42
-          font-size: 26px;
43
-          line-height: 60px;
44
-          color: #999;
45
-        }
46
-        > view.Title {
47
-          padding: 0 3.5vw;
48
-          align-items: center;
49
-          margin-top: 20px;
50
-          position: relative;
51
-          &::after {
52
-            content: "";
53
-            display: block;
54
-            width: 8px;
55
-            height: 30px;
56
-            background: #fddd39;
57
-            position: absolute;
58
-            left: 3.5vw;
59
-            top: 15px;
60
-          }
61
-          > text {
62
-            &:nth-child(1) {
63
-              overflow: hidden;
64
-              font-size: 28px;
65
-              line-height: 60px;
66
-              text-indent: 20px;
67
-            }
68
-            &:nth-child(2) {
69
-              font-size: 40px;
70
-            }
71
-          }
72
-        }
73
-        > view.List {
74
-          font-size: 0;
75
-          margin-top: 20px;
76
-          > view {
77
-            display: inline-block;
78
-            vertical-align: middle;
79
-            width: 44.75vw;
80
-            margin-left: 3.5vw;
81
-            margin-bottom: 3.5vw;
82
-            > .Img {
83
-              width: 100%;
84
-              display: block;
85
-              padding-bottom: 84%;
86
-              background: #ccc;
87
-              position: relative;
88
-              overflow: hidden;
89
-              border-radius: 10px;
90
-            }
91
-          }
92
-        }
93
-      }
94
-    }
95
-  }
96
-}

+ 0
- 3
src/pages/HuiShengHuo/index.config.js Dosyayı Görüntüle

@@ -1,3 +0,0 @@
1
-export default {
2
-  navigationBarTitleText: '荟 · 生活'
3
-}

+ 0
- 193
src/pages/HuiShengHuo/index.vue Dosyayı Görüntüle

@@ -1,193 +0,0 @@
1
-<template>
2
-  <BasicLayout>
3
-    <view class="page HuiShengHuo">
4
-      <ScrollY :IsRefreshing="IsRefreshing" @Refresh="Refresh">
5
-
6
-        <!-- banner -->
7
-        <view class="Banner">
8
-          <view>
9
-            <BannerSwiper :List="IndexBanner"></BannerSwiper>
10
-          </view>
11
-        </view>
12
-
13
-        <!-- 活动照片墙 -->
14
-        <view class="PhotoList">
15
-          <view class="flex-h">
16
-            <view class="flex-item">
17
-              <image mode="heightFix" src="https://cjgw.oss-cn-hangzhou.aliyuncs.com/ygcxxfb/image/huodongzhaopianqiang.png"></image>
18
-            </view>
19
-            <navigator url="./PhotoList/index" hover-class="other-navigator-hover" class="More">更多 <text class="iconfont iconjiantouright"></text></navigator>
20
-          </view>
21
-          <view class="ListContainer" v-if="PhotoList.length">
22
-            <scroll-view scroll-x="true">
23
-              <view class="List">
24
-                <view v-for="(item, index) in PhotoList" :key="index">
25
-                  <view @tap="CheckBigImg(item.imgUrl)">
26
-                    <view class="MainItemImg">
27
-                      <image mode="aspectFill" :src="item.imgUrl"></image>
28
-                    </view>
29
-                  </view>
30
-                </view>
31
-              </view>
32
-            </scroll-view>
33
-          </view>
34
-        </view>
35
-
36
-        <!-- 精彩活动 -->
37
-        <view class="ActivityList">
38
-          <view class="flex-h">
39
-            <view class="flex-item">
40
-              <image mode="heightFix" src="https://cjgw.oss-cn-hangzhou.aliyuncs.com/ygcxxfb/image/jingcaihuodong.png"></image>
41
-            </view>
42
-            <navigator url="./ActivityList/index" hover-class="other-navigator-hover" class="More">更多 <text class="iconfont iconjiantouright"></text></navigator>
43
-          </view>
44
-          <view class="List" v-if="ActivityList.length">
45
-            <view class="Item" v-for="(item, index) in ActivityList" :key="index">
46
-              <navigator class="Img" :url="`./ActivityList/ActivityDetail/index?id=${item.activityId}&from=life`" hover-class="other-navigator-hover">
47
-                <view class="MainItemImg">
48
-                  <image mode="aspectFill" :src="item.thumb"></image>
49
-                </view>
50
-              </navigator>
51
-              <view class="Info">
52
-                <text>{{item.name}}</text>
53
-                <view class="flex-h">
54
-                  <text class="flex-item">参与截止时间:{{ToolClass.DateFormat(new Date(item.enrollEnd).getTime())}}</text>
55
-                  <navigator :url="`./ActivityList/ActivityDetail/index?id=${item.activityId}&from=life`" hover-class="other-navigator-hover" class="Btn" v-if="item.isEnroll">立即报名</navigator>
56
-                  <navigator :url="`./ActivityList/ActivityDetail/index?id=${item.activityId}&from=life`" hover-class="other-navigator-hover" class="Btn" v-if="item.isVote">立即投票</navigator>
57
-                  <view v-if="new Date(item.endDate).getTime() <= Date.now()">已结束</view>
58
-                </view>
59
-              </view>
60
-            </view>
61
-            <view style="width: 100%; height: 10px;"></view>
62
-          </view>
63
-        </view>
64
-
65
-      </ScrollY>
66
-
67
-      <view class="BigImg" v-if="ShowBigImg" @tap="ShowBigImg = false">
68
-        <image mode="aspectFit" :src="BigImgUrl"></image>
69
-      </view>
70
-    </view>
71
-  </BasicLayout>
72
-</template>
73
-
74
-<script>
75
-import ScrollY from '../../components/ScrollY/index'
76
-import BannerSwiper from '../../components/BannerSwiper/index'
77
-import { createNamespacedHelpers } from 'vuex'
78
-const { mapState: mapIndexState, mapActions: mapIndexActions, mapMutations: mapIndexMutations } = createNamespacedHelpers('index')
79
-const { mapActions: mapUserActions, mapMutations: mapUserMutations } = createNamespacedHelpers('user')
80
-export default {
81
-  name: 'HuiShengHuo',
82
-  data () {
83
-    return {
84
-      PhotoUrlArr: [],
85
-      ShowBigImg: false,
86
-      BigImgUrl: null,
87
-      PageActivityList: [],
88
-      PagePhotoList: [],
89
-      RequestNum: 0,
90
-      IsRefreshing: false,
91
-      DataLock: false
92
-    }
93
-  },
94
-  computed: {
95
-    ...mapIndexState({
96
-      IndexBanner: x => x.IndexBanner, // 首页banner
97
-      PhotoList: x => x.PhotoList, // 照片墙列表
98
-      ActivityList: x => x.ActivityList // 活动列表
99
-    })
100
-  },
101
-  components: {
102
-    ScrollY,
103
-    BannerSwiper
104
-  },
105
-  created () {
106
-    this.$authed(() => {
107
-      this.Init()
108
-    })
109
-  },
110
-  mounted () {
111
-    this.$nextTick(() => {
112
-      wx.showShareMenu({
113
-        withShareTicket: true,
114
-        menus: ['shareAppMessage', 'shareTimeline']
115
-      })
116
-    })
117
-  },
118
-  methods: {
119
-    ...mapUserActions([
120
-      'MainSignIn' // 获取用户信息
121
-    ]),
122
-    ...mapUserMutations([
123
-      'EditUserInfo' // 编辑用户信息
124
-    ]),
125
-    ...mapIndexActions([
126
-      'GetIndexBanner', // 获取首页banner
127
-      'GetPhotoList', // 获取照片墙列表
128
-      'GetActivityList' // 获取活动列表
129
-    ]),
130
-    ...mapIndexMutations([
131
-      'EmptyIndexBanner', // 清空首页banner
132
-      'EmptyPhotoList', // 清空照片墙列表
133
-      'EmptyActivityList' // 清空活动列表
134
-    ]),
135
-    Init () { // 初始化
136
-      this.RequestNum = 0
137
-      this.EmptyIndexBanner() // 清空首页banner
138
-      this.EmptyPhotoList() // 清空照片墙列表
139
-      this.EmptyActivityList() // 清空活动列表
140
-      this.PageActivityList = []
141
-      this.PagePhotoList = []
142
-      this.GetIndexBanner({ queryData: { pageNum: 1, pageSize: 10, position: 'life' } }).then(() => { // 获取首页banner
143
-        this.CheckRequestNum(3) // 判断请求接口个数
144
-      }).catch(() => {
145
-        this.CheckRequestNum(3) // 判断请求接口个数
146
-      })
147
-      this.GetPhotoList({ queryData: { pageNum: 1, pageSize: 10 } }).then(() => { // 获取照片墙列表
148
-        this.PhotoUrlArr = []
149
-        this.PhotoList.map((item) => {
150
-          this.PhotoUrlArr.push(item.imgUrl)
151
-        })
152
-        this.CheckRequestNum(3) // 判断请求接口个数
153
-      }).catch(() => {
154
-        this.CheckRequestNum(3) // 判断请求接口个数
155
-      })
156
-      this.GetActivityList({ queryData: { pageNum: 1, pageSize: 10, toIndex: true } }).then(() => { // 获取活动列表
157
-        this.PageActivityList = [...this.ActivityList]
158
-        this.CheckRequestNum(3) // 判断请求接口个数
159
-      }).catch(() => {
160
-        this.CheckRequestNum(3) // 判断请求接口个数
161
-      })
162
-    },
163
-    CheckBigImg (url) { // 查看大图
164
-      wx.previewImage({
165
-        current: url, // 当前显示图片的http链接
166
-        urls: this.PhotoUrlArr // 需要预览的图片http链接列表
167
-      })
168
-    },
169
-    CheckRequestNum (num) { // 判断请求接口个数
170
-      this.RequestNum += 1
171
-      if (this.RequestNum >= num) {
172
-        this.IsRefreshing = false
173
-        this.DataLock = false
174
-      }
175
-    },
176
-    LinkTo (url) {
177
-      wx.navigateTo({ url })
178
-    },
179
-    Refresh (e) { // 页面刷新
180
-      if (this.DataLock) return
181
-      this.DataLock = true
182
-      this.IsRefreshing = true
183
-      setTimeout(() => {
184
-        this.Init() // 初始化
185
-      }, 1000)
186
-    }
187
-  }
188
-}
189
-</script>
190
-
191
-<style lang="scss">
192
-@import "page.scss";
193
-</style>

+ 0
- 176
src/pages/HuiShengHuo/page.scss Dosyayı Görüntüle

@@ -1,176 +0,0 @@
1
-.page.HuiShengHuo {
2
-  width: 100%;
3
-  height: 100%;
4
-  position: relative;
5
-  >.BigImg {
6
-    width: 100%;
7
-    position: absolute;
8
-    left: 0;
9
-    top: 0;
10
-    bottom: 0;
11
-    z-index: 100;
12
-    background: rgba(0, 0, 0, 0.7);
13
-    overflow: hidden;
14
-    > image {
15
-      width: 100%;
16
-      height: 100%;
17
-    }
18
-  }
19
-  .Banner {
20
-    width: 100%;
21
-    padding-bottom: 41%;
22
-    position: relative;
23
-    overflow: hidden;
24
-    > view {
25
-      width: 100%;
26
-      position: absolute;
27
-      left: 0;
28
-      top: 0;
29
-      bottom: 0;
30
-      overflow: hidden;
31
-      background: #ccc;
32
-    }
33
-  }
34
-  .PhotoList {
35
-    padding: 20px 0;
36
-    background: #fff;
37
-    margin-top: 20px;
38
-    > .flex-h {
39
-      padding: 0 20px;
40
-      align-items: center;
41
-      margin-top: 10px;
42
-      > .flex-item {
43
-        > image {
44
-          height: 48px;
45
-        }
46
-      }
47
-      > .More {
48
-        font-size: 26px;
49
-        color: #999;
50
-        > text {
51
-          font-size: 26px;
52
-        }
53
-      }
54
-    }
55
-    > .ListContainer {
56
-      width: 100%;
57
-      position: relative;
58
-      overflow: hidden;
59
-      margin-top: 40px;
60
-      margin-bottom: 30px;
61
-      > scroll-view {
62
-        .List {
63
-          font-size: 0;
64
-          white-space: nowrap;
65
-          > view {
66
-            width: 36%;
67
-            position: relative;
68
-            overflow: visible;
69
-            display: inline-block;
70
-            vertical-align: middle;
71
-            margin-left: 25px;
72
-            &:last-child {
73
-              margin-right: 25px;
74
-            }
75
-            > view {
76
-              width: 100%;
77
-              padding-bottom: 85%;
78
-              background: #ccc;
79
-              border-radius: 20px;
80
-              position: relative;
81
-              overflow: hidden;
82
-            }
83
-          }
84
-        }
85
-      }
86
-    }
87
-  }
88
-  .ActivityList {
89
-    padding: 20px 0;
90
-    background: #fff;
91
-    margin-top: 20px;
92
-    > .flex-h {
93
-      padding: 0 20px;
94
-      align-items: center;
95
-      margin-top: 10px;
96
-      > .flex-item {
97
-        > image {
98
-          height: 48px;
99
-        }
100
-      }
101
-      > .More {
102
-        font-size: 26px;
103
-        color: #999;
104
-        > text {
105
-          font-size: 26px;
106
-        }
107
-      }
108
-    }
109
-    > .List {
110
-      position: relative;
111
-      overflow: hidden;
112
-      margin-top: 40px;
113
-      margin-bottom: 30px;
114
-      padding: 0 20px;
115
-      > .Item {
116
-        position: relative;
117
-        overflow: hidden;
118
-        background: #fff;
119
-        border-radius: 20px;
120
-        box-shadow: 0 5px 10px 5px rgba(0, 0, 0, 0.08);
121
-        margin-top: 20px;
122
-        &:first-child {
123
-          margin-top: 0;
124
-        }
125
-        > .Img {
126
-          width: 100%;
127
-          padding-bottom: 55%;
128
-          background: #ccc;
129
-          position: relative;
130
-          overflow: hidden;
131
-        }
132
-        > .Info {
133
-          padding: 20px 34px;
134
-          > text {
135
-            display: block;
136
-            font-size: 32px;
137
-            line-height: 1.5;
138
-          }
139
-          > .flex-h {
140
-            align-items: center;
141
-            margin-top: 20px;
142
-            margin-bottom: 20px;
143
-            overflow: visible;
144
-            > text {
145
-              margin-right: 10px;
146
-              white-space: nowrap;
147
-              overflow: hidden;
148
-              text-overflow: ellipsis;
149
-              font-size: 24px;
150
-              color: #999;
151
-              line-height: 1.5;
152
-            }
153
-            > .Btn {
154
-              font-size: 26px;
155
-              color: #fff;
156
-              background: #fe4e45;
157
-              line-height: 54px;
158
-              border-radius: 54px;
159
-              padding: 0 20px;
160
-              box-shadow: 0 10px 20px 5px rgba(254, 78, 69, 0.3);
161
-            }
162
-            > view {
163
-              font-size: 26px;
164
-              color: #000;
165
-              background: #e5e3e3;
166
-              line-height: 54px;
167
-              border-radius: 54px;
168
-              padding: 0 20px;
169
-              box-shadow: 0 10px 20px 5px rgba(0, 0, 0, 0.1);
170
-            }
171
-          }
172
-        }
173
-      }
174
-    }
175
-  }
176
-}

+ 3
- 0
src/pages/HuoDong/index.config.js Dosyayı Görüntüle

@@ -0,0 +1,3 @@
1
+export default {
2
+  navigationBarTitleText: '香颂蔚澜'
3
+}

+ 39
- 0
src/pages/HuoDong/index.vue Dosyayı Görüntüle

@@ -0,0 +1,39 @@
1
+<template>
2
+  <view class="page HuoDong">
3
+    活动
4
+  </view>
5
+</template>
6
+
7
+<script>
8
+import { createNamespacedHelpers } from 'vuex'
9
+const { mapState: mapUserState, mapActions: mapUserActions, mapMutations: mapUserMutations } = createNamespacedHelpers('user')
10
+export default {
11
+  name: 'HuoDong',
12
+  data () {
13
+    return {
14
+      DataLock: false
15
+    }
16
+  },
17
+  computed: {
18
+    ...mapUserState({
19
+      UserInfo: x => x.UserInfo // 用户信息
20
+    })
21
+  },
22
+  components: {
23
+  },
24
+  created () {
25
+  },
26
+  methods: {
27
+    ...mapUserActions([
28
+    ]),
29
+    ...mapUserMutations([
30
+    ]),
31
+    Init () {
32
+    }
33
+  }
34
+}
35
+</script>
36
+
37
+<style lang="scss">
38
+@import "page.scss";
39
+</style>

+ 6
- 0
src/pages/HuoDong/page.scss Dosyayı Görüntüle

@@ -0,0 +1,6 @@
1
+.page.HuoDong {
2
+  width: 100%;
3
+  height: 100%;
4
+  overflow-y: scroll;
5
+  background: #fff;
6
+}

+ 5
- 0
src/pages/ShouYe/index.config.js Dosyayı Görüntüle

@@ -0,0 +1,5 @@
1
+export default {
2
+  navigationBarTitleText: '香颂蔚澜',
3
+  navigationStyle: 'custom',
4
+  navigationBarTextStyle: 'white'
5
+}

+ 168
- 0
src/pages/ShouYe/index.vue Dosyayı Görüntüle

@@ -0,0 +1,168 @@
1
+<template>
2
+  <view class="page ShouYe flex-v">
3
+    <NavHeader Title="首页" BgColor="#f35844"></NavHeader>
4
+    <view class="flex-item">
5
+      <view class="PageContainer">
6
+        <scroll-view scroll-y="true" style="height: 100%;" :refresher-enabled="true" @refresherrefresh="OnRefresh" :refresher-triggered="IsPull" refresher-background="none">
7
+          <view class="Content">
8
+
9
+            <view class="TopBg"></view>
10
+
11
+            <view>
12
+              <!-- 欢迎词 -->
13
+              <text class="Welcome">欢迎来到远道智慧社区!</text>
14
+
15
+              <!-- banner -->
16
+              <view class="BannerContainer">
17
+                <view>
18
+                  <view>
19
+                    <swiper class="BannerSwiper" :autoplay="true" :circular="true" :indicator-dots="true" indicator-color="rgba(0,0,0,0.4)" indicator-active-color="rgba(255,255,255,0.8)">
20
+                      <swiper-item v-for="(item, index) in BannerList" :key="index">
21
+                        <view class="BannerItem">
22
+                          <image mode="aspectFill" :src="item.img"></image>
23
+                        </view>
24
+                      </swiper-item>
25
+                    </swiper>
26
+                  </view>
27
+                </view>
28
+              </view>
29
+
30
+              <!-- 导航 -->
31
+              <view class="NavContainer flex-h">
32
+                <view v-for="(item, index) in NavList" :key="index" class="flex-item">
33
+                  <view>
34
+                    <view class="centerLabel">
35
+                      <text class="iconfont" :class="item.icon"></text>
36
+                      <text>{{item.name}}</text>
37
+                    </view>
38
+                  </view>
39
+                </view>
40
+              </view>
41
+
42
+              <!-- 热门活动 -->
43
+              <view class="HotActivityContainer">
44
+                <view>
45
+                  <view class="Title">
46
+                    <text>热门活动</text>
47
+                    <text class="iconfont icongengduo"></text>
48
+                  </view>
49
+                  <view class="Activity">
50
+                    <image class="centerLabel" mode="aspectFill" :src="TestImg"></image>
51
+                  </view>
52
+                </view>
53
+              </view>
54
+
55
+              <!-- 业主专区 -->
56
+              <view class="OwnerContainer">
57
+                <view>
58
+                  <view class="Title">
59
+                    <text>业主专区</text>
60
+                  </view>
61
+                  <view class="OwnerList flex-h">
62
+                    <view class="flex-item" v-for="(item, index) in OwnerList" :key="index">
63
+                      <text class="iconfont" :class="item.icon"></text>
64
+                      <text>{{item.name}}</text>
65
+                    </view>
66
+                  </view>
67
+                </view>
68
+              </view>
69
+
70
+              <!-- 热门资讯 -->
71
+              <view class="NewsContainer">
72
+                <view>
73
+                  <view class="Title flex-h">
74
+                    <text class="flex-item">热门资讯</text>
75
+                    <text>查看全部</text>
76
+                    <text class="iconfont iconjiantouright"></text>
77
+                  </view>
78
+                  <view class="List">
79
+                    <view v-for="(item, index) in NewsList" :key="index" class="flex-h">
80
+                      <view class="Img">
81
+                        <image mode="aspectFill" :src="item.img" class="centerLabel"></image>
82
+                      </view>
83
+                      <view class="flex-item">
84
+                        <text>{{item.title}}</text>
85
+                        <text>{{item.desc}}</text>
86
+                      </view>
87
+                    </view>
88
+                  </view>
89
+                </view>
90
+              </view>
91
+
92
+              <view class="PageBottom"></view>
93
+            </view>
94
+
95
+          </view>
96
+        </scroll-view>
97
+      </view>
98
+    </view>
99
+  </view>
100
+</template>
101
+
102
+<script>
103
+import NavHeader from '../../components/NavHeader'
104
+import { createNamespacedHelpers } from 'vuex'
105
+const { mapState: mapUserState, mapActions: mapUserActions, mapMutations: mapUserMutations } = createNamespacedHelpers('user')
106
+export default {
107
+  name: 'ShouYe',
108
+  data () {
109
+    return {
110
+      IsPull: false,
111
+      NewsList: [
112
+        { img: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1606120989360&di=8610f1678b51e26de6d4c6af39d1cf63&imgtype=0&src=http%3A%2F%2Fattachments.gfan.com%2Fforum%2F201503%2F19%2F211608ztcq7higicydxhsy.jpg', title: '标题', desc: '描述' },
113
+        { img: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1606120989360&di=8610f1678b51e26de6d4c6af39d1cf63&imgtype=0&src=http%3A%2F%2Fattachments.gfan.com%2Fforum%2F201503%2F19%2F211608ztcq7higicydxhsy.jpg', title: '标题', desc: '描述' },
114
+        { img: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1606120989360&di=8610f1678b51e26de6d4c6af39d1cf63&imgtype=0&src=http%3A%2F%2Fattachments.gfan.com%2Fforum%2F201503%2F19%2F211608ztcq7higicydxhsy.jpg', title: '标题', desc: '描述' },
115
+        { img: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1606120989360&di=8610f1678b51e26de6d4c6af39d1cf63&imgtype=0&src=http%3A%2F%2Fattachments.gfan.com%2Fforum%2F201503%2F19%2F211608ztcq7higicydxhsy.jpg', title: '标题', desc: '描述' }
116
+      ],
117
+      OwnerList: [
118
+        { icon: 'iconjiaofei', name: '物业缴费', id: 1 },
119
+        { icon: 'icontongzhi', name: '物业通知', id: 2 },
120
+        { icon: 'iconbaoxiu', name: '物业报修', id: 3 },
121
+        { icon: 'iconrenzheng', name: '业主认证', id: 4 }
122
+      ],
123
+      NavList: [
124
+        { icon: 'iconhuodong1', name: '活动', id: 1 },
125
+        { icon: 'iconfuli', name: '福利', id: 2 },
126
+        { icon: 'iconfuwu', name: '服务', id: 3 },
127
+        { icon: 'iconxinwen', name: '资讯', id: 4 }
128
+      ],
129
+      TestImg: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1606120989360&di=8610f1678b51e26de6d4c6af39d1cf63&imgtype=0&src=http%3A%2F%2Fattachments.gfan.com%2Fforum%2F201503%2F19%2F211608ztcq7higicydxhsy.jpg',
130
+      BannerList: [
131
+        { img: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1606120989360&di=8610f1678b51e26de6d4c6af39d1cf63&imgtype=0&src=http%3A%2F%2Fattachments.gfan.com%2Fforum%2F201503%2F19%2F211608ztcq7higicydxhsy.jpg' },
132
+        { img: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1606120989360&di=16024dc7edcdbb6c325d40cdff6373a1&imgtype=0&src=http%3A%2F%2Fattach.bbs.miui.com%2Fforum%2F201408%2F07%2F213601f2xz7usscm2z1mjh.jpg' },
133
+        { img: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1606120989360&di=3f54f5330ec21728ecb02352fbb6af90&imgtype=0&src=http%3A%2F%2Fattach.bbs.miui.com%2Fforum%2F201205%2F15%2F152011zser9o5oa9ee9xx6.jpg' },
134
+        { img: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1606120989359&di=46ae1d0f0d4f1f3740139191398f2a81&imgtype=0&src=http%3A%2F%2Fpic.baike.soso.com%2Fp%2F20131230%2F20131230165604-1960511167.jpg' },
135
+        { img: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1606120989359&di=2ec3fe46fb98c01055601cece86f111f&imgtype=0&src=http%3A%2F%2Fbenyouhuifile.it168.com%2Fforum%2Fday_100429%2F1004291840008539c8ac02cd5c.jpg' }
136
+      ]
137
+    }
138
+  },
139
+  computed: {
140
+    ...mapUserState({
141
+      UserInfo: x => x.UserInfo // 用户信息
142
+    })
143
+  },
144
+  components: {
145
+    NavHeader
146
+  },
147
+  created () {
148
+  },
149
+  methods: {
150
+    ...mapUserActions([
151
+    ]),
152
+    ...mapUserMutations([
153
+    ]),
154
+    Init () {
155
+    },
156
+    OnRefresh (e) {
157
+      this.IsPull = true
158
+      window.setTimeout(() => {
159
+        this.IsPull = false
160
+      }, 1000)
161
+    }
162
+  }
163
+}
164
+</script>
165
+
166
+<style lang="scss">
167
+@import "page.scss";
168
+</style>

+ 334
- 0
src/pages/ShouYe/page.scss Dosyayı Görüntüle

@@ -0,0 +1,334 @@
1
+.page.ShouYe {
2
+  width: 100%;
3
+  height: 100%;
4
+  overflow: hidden;
5
+  background: #f8f8f8;
6
+  > view {
7
+    position: relative;
8
+    &.flex-item {
9
+      > .PageContainer {
10
+        width: 100%;
11
+        position: relative;
12
+        z-index: 2;
13
+        height: 100%;
14
+        overflow: hidden;
15
+        .Content {
16
+          position: relative;
17
+          overflow: hidden;
18
+          > view {
19
+            position: relative;
20
+            z-index: 2;
21
+            &.TopBg {
22
+              width: 100%;
23
+              position: absolute;
24
+              z-index: 1;
25
+              left: 0;
26
+              top: 0;
27
+              padding-bottom: 60%;
28
+              border-radius: 0 0 100px 100px;
29
+              background-image: linear-gradient(#f35844, #ff8d61);
30
+              z-index: 1;
31
+            }
32
+            > .Welcome {
33
+              display: block;
34
+              font-size: 30px;
35
+              color: #fff;
36
+              margin-top: 60px;
37
+              text-indent: 30px;
38
+            }
39
+            > .BannerContainer {
40
+              padding: 0 30px;
41
+              position: relative;
42
+              overflow: hidden;
43
+              margin-top: 50px;
44
+              > view {
45
+                width: 100%;
46
+                position: relative;
47
+                overflow: hidden;
48
+                padding-bottom: 50%;
49
+                background: #f8f8f8;
50
+                border-radius: 24px;
51
+                height: 0;
52
+                > view {
53
+                  width: 100%;
54
+                  position: absolute;
55
+                  left: 0;
56
+                  top: 0;
57
+                  bottom: 0;
58
+                  overflow: hidden;
59
+                  > .BannerSwiper {
60
+                    width: 100%;
61
+                    height: 100%;
62
+                    position: relative;
63
+                    overflow: hidden;
64
+                    .BannerItem {
65
+                      width: 100%;
66
+                      height: 100%;
67
+                      position: relative;
68
+                      overflow: hidden;
69
+                      > image {
70
+                        width: 100%;
71
+                        height: 100%;
72
+                      }
73
+                    }
74
+                  }
75
+                }
76
+              }
77
+            }
78
+            > .NavContainer {
79
+              position: relative;
80
+              overflow: hidden;
81
+              align-items: center;
82
+              padding: 0 30px;
83
+              margin-top: 40px;
84
+              > view {
85
+                margin-left: 30px;
86
+                position: relative;
87
+                overflow: hidden;
88
+                &:first-child {
89
+                  margin-left: 0;
90
+                }
91
+                &:nth-child(1) {
92
+                  > view {
93
+                    > view {
94
+                      > text {
95
+                        &:first-child {
96
+                          color: #ffc412;
97
+                        }
98
+                      }
99
+                    }
100
+                  }
101
+                }
102
+                &:nth-child(2) {
103
+                  > view {
104
+                    > view {
105
+                      > text {
106
+                        &:first-child {
107
+                          color: #fb3fc8;
108
+                        }
109
+                      }
110
+                    }
111
+                  }
112
+                }
113
+                &:nth-child(3) {
114
+                  > view {
115
+                    > view {
116
+                      > text {
117
+                        &:first-child {
118
+                          color: #fb7820;
119
+                        }
120
+                      }
121
+                    }
122
+                  }
123
+                }
124
+                &:nth-child(4) {
125
+                  > view {
126
+                    > view {
127
+                      > text {
128
+                        &:first-child {
129
+                          color: #586ff8;
130
+                        }
131
+                      }
132
+                    }
133
+                  }
134
+                }
135
+                > view {
136
+                  width: 100%;
137
+                  padding-bottom: 100%;
138
+                  background: #fff;
139
+                  position: relative;
140
+                  overflow: hidden;
141
+                  border-radius: 12px;
142
+                  > view {
143
+                    width: 100%;
144
+                    > text {
145
+                      display: block;
146
+                      text-align: center;
147
+                      line-height: 40px;
148
+                      color: #333;
149
+                      font-size: 26px;
150
+                      &:first-child {
151
+                        font-size: 50px;
152
+                        line-height: 60px;
153
+                        margin-bottom: 10px;
154
+                      }
155
+                    }
156
+                  }
157
+                }
158
+              }
159
+            }
160
+            > .HotActivityContainer {
161
+              padding: 0 30px;
162
+              position: relative;
163
+              overflow: hidden;
164
+              margin-top: 30px;
165
+              > view {
166
+                width: 100%;
167
+                position: relative;
168
+                overflow: hidden;
169
+                border-radius: 40px;
170
+                background: #fff;
171
+                > .Title {
172
+                  font-size: 0;
173
+                  white-space: nowrap;
174
+                  text-align: center;
175
+                  padding: 30px 0;
176
+                  > text {
177
+                    display: inline-block;
178
+                    vertical-align: middle;
179
+                    font-size: 24px;
180
+                    color: #999;
181
+                    &:first-child {
182
+                      font-size: 34px;
183
+                      color: #333;
184
+                      line-height: 40px;
185
+                      font-weight: bold;
186
+                      margin-right: 20px;
187
+                    }
188
+                  }
189
+                }
190
+                > .Activity {
191
+                  width: 100%;
192
+                  padding-bottom: 33.33%;
193
+                  position: relative;
194
+                  overflow: hidden;
195
+                  > image {
196
+                    width: 100%;
197
+                    height: 100%;
198
+                  }
199
+                }
200
+              }
201
+            }
202
+            > .OwnerContainer {
203
+              padding: 0 30px;
204
+              position: relative;
205
+              overflow: hidden;
206
+              margin-top: 30px;
207
+              > view {
208
+                width: 100%;
209
+                position: relative;
210
+                overflow: hidden;
211
+                border-radius: 40px;
212
+                background: #fff;
213
+                > .Title {
214
+                  font-size: 0;
215
+                  white-space: nowrap;
216
+                  text-align: center;
217
+                  padding: 30px 0;
218
+                  > text {
219
+                    display: inline-block;
220
+                    vertical-align: middle;
221
+                    font-size: 24px;
222
+                    color: #999;
223
+                    &:first-child {
224
+                      font-size: 34px;
225
+                      color: #333;
226
+                      line-height: 40px;
227
+                      font-weight: bold;
228
+                      margin-right: 20px;
229
+                    }
230
+                  }
231
+                }
232
+                > .OwnerList {
233
+                  border-top: 2px solid #f8f8f8;
234
+                  align-items: center;
235
+                  padding: 30px 0;
236
+                  > view {
237
+                    > text {
238
+                      display: block;
239
+                      width: 100%;
240
+                      text-align: center;
241
+                      font-size: 26px;
242
+                      color: #333;
243
+                      line-height: 40px;
244
+                      &:first-child {
245
+                        color: #f35844;
246
+                        font-size: 60px;
247
+                        line-height: 70px;
248
+                        margin-bottom: 10px;
249
+                      }
250
+                    }
251
+                  }
252
+                }
253
+              }
254
+            }
255
+            > .NewsContainer {
256
+              padding: 0 30px;
257
+              position: relative;
258
+              overflow: hidden;
259
+              margin-top: 30px;
260
+              > view {
261
+                position: relative;
262
+                overflow: hidden;
263
+                background: #fff;
264
+                border-radius: 40px;
265
+                > .Title {
266
+                  align-items: center;
267
+                  padding: 0 20px;
268
+                  > text {
269
+                    font-size: 24px;
270
+                    color: #666;
271
+                    line-height: 98px;
272
+                    margin-left: 10px;
273
+                    &:first-child {
274
+                      font-size: 30px;
275
+                      color: #333;
276
+                    }
277
+                  }
278
+                }
279
+                > .List {
280
+                  > view {
281
+                    align-items: center;
282
+                    border-top: 2px solid #f8f8f8;
283
+                    padding: 30px 20px;
284
+                    position: relative;
285
+                    overflow: hidden;
286
+                    &:first-child {
287
+                      border-top: none;
288
+                    }
289
+                    > .Img {
290
+                      width: 160px;
291
+                      height: 128px;
292
+                      position: relative;
293
+                      overflow: hidden;
294
+                      background: #f8f8f8;
295
+                      margin-right: 20px;
296
+                      > image {
297
+                        width: 100%;
298
+                        height: 100%;
299
+                      }
300
+                    }
301
+                    > .flex-item {
302
+                      position: relative;
303
+                      overflow: hidden;
304
+                      > text {
305
+                        display: block;
306
+                        font-size: 26px;
307
+                        color: #666;
308
+                        line-height: 40px;
309
+                        &:first-child {
310
+                          font-size: 30px;
311
+                          color: #333;
312
+                          margin-bottom: 10px;
313
+                        }
314
+                        &:last-child {
315
+                          white-space: nowrap;
316
+                          overflow: hidden;
317
+                          text-overflow: ellipsis;
318
+                        }
319
+                      }
320
+                    }
321
+                  }
322
+                }
323
+              }
324
+            }
325
+            > .PageBottom {
326
+              width: 100%;
327
+              height: 30px;
328
+            }
329
+          }
330
+        }
331
+      }
332
+    }
333
+  }
334
+}

+ 0
- 3
src/pages/SignIn/XieYi/index.config.js Dosyayı Görüntüle

@@ -1,3 +0,0 @@
1
-export default {
2
-  navigationBarTitleText: '协议'
3
-}

+ 0
- 40
src/pages/SignIn/XieYi/index.vue Dosyayı Görüntüle

@@ -1,40 +0,0 @@
1
-<template>
2
-  <view class="page XieYi">
3
-    <text class="Bold">用户隐私协议</text>
4
-    <text>丽园荟小程序下称“本软件”尊重并保护所有使用服务用户的个人隐私权。为了给您提供更准确、更有个性化的服务,本软件会按照本隐私权政策的规定使用和披露您的个人信息。除本隐私权政策另有规定外,在未征得您事先许可的情况下,本软件不会将这些信息对外披露或向第三方提供。本软件会不时更新本隐私权政策。您在同意本软件服务使用协议之时,即视为您已经同意本隐私权政策全部内容。本隐私权政策属于本软件服务使用协议不可分割的一部分。</text>
5
-    <text>1.适用范围</text>
6
-    <text>a)在您使用本软件网络服务,本软件自动接收并记录的您的手机上的信息,包括但不限于您的健康数据、使用的语言、访问日期和时间、软硬件特征信息及您需求的网页记录等数据;</text>
7
-    <text>2.信息的使用</text>
8
-    <text>a)在获得您的数据之后,本软件会将其上传至服务器,以生成您的排行榜数据,以便您能够更好地使用服务。</text>
9
-    <text>3.信息披露</text>
10
-    <text>a)本软件不会将您的信息披露给不受信任的第三方。</text>
11
-    <text>b)根据法律的有关规定,或者行政或司法机构的要求,向第三方或者行政、司法机构披露;</text>
12
-    <text>c)如您出现违反中国有关法律、法规或者相关规则的情况,需要向第三方披露;</text>
13
-    <text>4.信息存储和交换</text>
14
-    <text>本软件收集的有关您的信息和资料将保存在本软件及(或)其关联公司的服务器上,这些信息和资料可能传送至您所在国家、地区或本软件收集信息和资料所在地的境外并在境外被访问、存储和展示。</text>
15
-    <text>5.信息安全</text>
16
-    <text>a)在使用本软件网络服务进行网上交易时,您不可避免的要向交易对方或潜在的交易对方披露自己的个人信息,如联络方式或者邮政地址。请您妥善保护自己的个人信息,仅在必要的情形下向他人提供。如您发现自己的个人信息泄密,请您立即联络本软件客服,以便本软件采取相应措施。</text>
17
-  </view>
18
-</template>
19
-
20
-<script>
21
-export default {
22
-  name: 'XieYi',
23
-  data () {
24
-    return {
25
-    }
26
-  },
27
-  computed: {
28
-  },
29
-  components: {
30
-  },
31
-  created () {
32
-  },
33
-  methods: {
34
-  }
35
-}
36
-</script>
37
-
38
-<style lang="scss">
39
-@import "page.scss";
40
-</style>

+ 0
- 20
src/pages/SignIn/XieYi/page.scss Dosyayı Görüntüle

@@ -1,20 +0,0 @@
1
-.page.XieYi {
2
-  padding: 0 20px 20px;
3
-  height: 100%;
4
-  overflow-y: scroll;
5
-  background: #fff;
6
-  > text {
7
-    display: block;
8
-    line-height: 40px;
9
-    font-size: 28px;
10
-    text-align: justify;
11
-    text-indent: 2em;
12
-    &.Bold {
13
-      text-indent: 0;
14
-      font-size: 40px;
15
-      text-align: center;
16
-      line-height: 60px;
17
-      margin-top: 20px;
18
-    }
19
-  }
20
-}

+ 1
- 1
src/pages/SignIn/index.config.js Dosyayı Görüntüle

@@ -1,3 +1,3 @@
1 1
 export default {
2
-  navigationBarTitleText: '丽园荟'
2
+  navigationBarTitleText: '香颂蔚澜'
3 3
 }

+ 2
- 60
src/pages/SignIn/index.vue Dosyayı Görüntüle

@@ -1,19 +1,6 @@
1 1
 <template>
2 2
   <view class="page DengLu">
3
-    <image mode="widthFix" src="https://cjgw.oss-cn-hangzhou.aliyuncs.com/ygcxxfb/image/signinbg.png"></image>
4
-    <view class="Btn flex-h">
5
-      <view class="flex-item"><text @tap="Back">取消登录</text></view>
6
-      <view class="flex-item"><text>授权登录</text></view>
7
-      <button open-type="getPhoneNumber" v-if="Agree && UserInfo !== null && UserInfo.PersonId !== undefined" @getphonenumber="GetPhoneNumber">授权登录</button>
8
-    </view>
9
-    <view class="Agree flex-h">
10
-      <text class="iconfont icongouxuan" v-if="Agree" @tap="Agree = false"></text>
11
-      <text class="iconfont iconweigouxuan" v-else @tap="Agree = true"></text>
12
-      <view class="flex-item">
13
-        <view>我已认真阅读,理解并同意<view @tap="LinkTo">《用户协议及隐私政策》</view>
14
-        </view>
15
-      </view>
16
-    </view>
3
+    登录页
17 4
   </view>
18 5
 </template>
19 6
 
@@ -24,8 +11,7 @@ export default {
24 11
   name: 'DengLu',
25 12
   data () {
26 13
     return {
27
-      DataLock: false,
28
-      Agree: false
14
+      DataLock: false
29 15
     }
30 16
   },
31 17
   computed: {
@@ -36,57 +22,13 @@ export default {
36 22
   components: {
37 23
   },
38 24
   created () {
39
-    this.$authed(() => {
40
-      this.Init()
41
-    })
42 25
   },
43 26
   methods: {
44 27
     ...mapUserActions([
45
-      'MainSignIn', // 获取用户信息
46
-      'GetUserPhone' // 获取用户手机号
47 28
     ]),
48 29
     ...mapUserMutations([
49
-      'EditUserInfo' // 编辑用户信息
50 30
     ]),
51 31
     Init () {
52
-      // this.ToLogin() 
53
-    },
54
-    LinkTo () {
55
-      wx.navigateTo({ url: './XieYi/index' })
56
-    },
57
-    Back () {
58
-      wx.navigateBack({ changed: true })
59
-    },
60
-    ToLogin () {
61
-      let _that = this
62
-      wx.login({
63
-        success (res) {
64
-          _that.MainSignIn({ queryData: { code: res.code } }).then((res) => { // 获取用户信息
65
-            _that.EditUserInfo({ name: 'PersonId', value: res.data.data.person.personId })
66
-            _that.EditUserInfo({ name: 'OpenId', value: res.data.data.person.openId })
67
-            _that.GetUserPhone({ urlData: { personId: _that.UserInfo.PersonId } })
68
-          })
69
-        }
70
-      })
71
-    },
72
-    GetPhoneNumber (e) {
73
-      if (this.DataLock) return
74
-      this.DataLock = true
75
-      this.GetUserPhone({
76
-        urlData: { personId: this.UserInfo.PersonId },
77
-        data: { data: { sessionKey: this.UserInfo.SessionKey, encryptedData: e.detail.encryptedData, iv: e.detail.iv } }
78
-      }).then((res) => {
79
-        this.ShowGetPhoneBtn = false
80
-        this.EditUserInfo({ name: 'OpenId', value: res.data.data.openId })
81
-        this.EditUserInfo({ name: 'Phone', value: res.data.data.phone })
82
-        wx.navigateBack()
83
-        wx.switchTab({
84
-          url: '../WoDe/index'
85
-        })
86
-        this.DataLock = false
87
-      }).catch(() => {
88
-        this.DataLock = false
89
-      })
90 32
     }
91 33
   }
92 34
 }

+ 0
- 70
src/pages/SignIn/page.scss Dosyayı Görüntüle

@@ -3,74 +3,4 @@
3 3
   height: 100%;
4 4
   overflow-y: scroll;
5 5
   background: #fff;
6
-  > image {
7
-    width: 100%;
8
-  }
9
-  > .Btn {
10
-    padding: 0 76px;
11
-    margin-top: 40px;
12
-    align-items: center;
13
-    overflow: visible;
14
-    position: relative;
15
-    > view {
16
-      position: relative;
17
-      margin-left: 40px;
18
-      overflow: visible;
19
-      &:nth-child(1) {
20
-        margin-left: 0;
21
-      }
22
-      &:nth-child(2) {
23
-        > text {
24
-          background: #fddd39;
25
-          border-color: #fddd39;
26
-          box-shadow: 0 5px 10px 5px rgba(253, 221, 57, 0.3);
27
-        }
28
-      }
29
-      > text {
30
-        display: block;
31
-        text-align: center;
32
-        font-size: 28px;
33
-        line-height: 80px;
34
-        border-radius: 80px;
35
-        box-sizing: border-box;
36
-        border: 2px solid #333;
37
-        text-align: center;
38
-      }
39
-    }
40
-    > button {
41
-      width: 40%;
42
-      display: block;
43
-      position: absolute;
44
-      font-size: 28px;
45
-      line-height: 80px;
46
-      right: 76px;
47
-      top: 0;
48
-      opacity: 0;
49
-    }
50
-  }
51
-  > .Agree {
52
-    padding: 0 76px;
53
-    align-items: flex-start;
54
-    margin-top: 20px;
55
-    > text {
56
-      font-size: 36px;
57
-      line-height: 40px;
58
-      margin-right: 10px;
59
-      color: #fe4e45;
60
-    }
61
-    > view {
62
-      > view {
63
-        display: block;
64
-        font-size: 24px;
65
-        color: #333;
66
-        line-height: 40px;
67
-        > view {
68
-          display: inline-block;
69
-          font-size: 24px;
70
-          color: #333;
71
-          line-height: 40px;
72
-        }
73
-      }
74
-    }
75
-  }
76 6
 }

+ 0
- 0
src/pages/WoDe/Feedback/index.config.js Dosyayı Görüntüle


Bu fark içinde çok fazla dosya değişikliği olduğu için bazı dosyalar gösterilmiyor