xcx преди 4 години
родител
ревизия
eeb6235019
променени са 86 файла, в които са добавени 384 реда и са изтрити 58 реда
  1. BIN
      image/1.png
  2. BIN
      image/2.png
  3. BIN
      image/3.png
  4. BIN
      image/fenxiang.png
  5. BIN
      image/huishenghuo.png
  6. BIN
      image/huodongxiangqing.png
  7. BIN
      image/huodongzhaopianqiang.png
  8. BIN
      image/iconhuiaixin-.png
  9. BIN
      image/iconhuiaixin.png
  10. BIN
      image/iconhuiquanyi-.png
  11. BIN
      image/iconhuiquanyi.png
  12. BIN
      image/iconhuishenghuo-.png
  13. BIN
      image/iconhuishenghuo.png
  14. BIN
      image/iconhuodong.png
  15. BIN
      image/iconwode-.png
  16. BIN
      image/iconwode.png
  17. BIN
      image/jingcaihuodong.png
  18. BIN
      image/lijibaoming.png
  19. BIN
      image/lijibaomingbtn.png
  20. BIN
      image/liyuanhui.png
  21. BIN
      image/mingxingyezhu.png
  22. BIN
      image/morentouxiang.png
  23. BIN
      image/nodata.png
  24. BIN
      image/signinbg.png
  25. BIN
      image/toupiao.png
  26. BIN
      image/wodebeijingtu.png
  27. BIN
      image/wodehuodong.png
  28. BIN
      image/wodeicon1.png
  29. BIN
      image/wodeicon2.png
  30. BIN
      image/yezhuzixun.png
  31. BIN
      image/yijianfankui.png
  32. BIN
      image/zhengnengliangshiji.png
  33. 1
    0
      src/app.config.js
  34. 1
    1
      src/app.js
  35. 22
    0
      src/app.scss
  36. BIN
      src/assets/image/1.png
  37. BIN
      src/assets/image/2.png
  38. BIN
      src/assets/image/3.png
  39. 52
    0
      src/assets/image/bars.svg
  40. BIN
      src/assets/image/fenxiang.png
  41. BIN
      src/assets/image/huishenghuo.png
  42. BIN
      src/assets/image/huodongxiangqing.png
  43. BIN
      src/assets/image/huodongzhaopianqiang.png
  44. BIN
      src/assets/image/iconhuiaixin-.png
  45. BIN
      src/assets/image/iconhuiaixin.png
  46. BIN
      src/assets/image/iconhuiquanyi-.png
  47. BIN
      src/assets/image/iconhuiquanyi.png
  48. BIN
      src/assets/image/iconhuishenghuo-.png
  49. BIN
      src/assets/image/iconhuishenghuo.png
  50. BIN
      src/assets/image/iconhuodong.png
  51. BIN
      src/assets/image/iconwode-.png
  52. BIN
      src/assets/image/iconwode.png
  53. BIN
      src/assets/image/jingcaihuodong.png
  54. BIN
      src/assets/image/lijibaoming.png
  55. BIN
      src/assets/image/liyuanhui.png
  56. BIN
      src/assets/image/mingxingyezhu.png
  57. BIN
      src/assets/image/mr@2x.png
  58. BIN
      src/assets/image/mybg@2x.png
  59. BIN
      src/assets/image/quexing@2x.png
  60. BIN
      src/assets/image/sqbg@2x.png
  61. BIN
      src/assets/image/time@2x.png
  62. BIN
      src/assets/image/toupiao.png
  63. BIN
      src/assets/image/wd@2x.png
  64. BIN
      src/assets/image/wodehuodong.png
  65. BIN
      src/assets/image/yezhuzixun.png
  66. BIN
      src/assets/image/yijianfankui.png
  67. BIN
      src/assets/image/yj@2x.png
  68. BIN
      src/assets/image/zhengnengliangshiji.png
  69. BIN
      src/assets/image/组 17112@2x.png
  70. 3
    1
      src/components/Layout/Basic/index.vue
  71. 1
    1
      src/pages/HuiAiXin/StarOwner/index.config.js
  72. 5
    5
      src/pages/HuiAiXin/StarOwner/index.vue
  73. 7
    0
      src/pages/HuiQuanYi/OwnersNews/NewsDetail/index.vue
  74. 3
    0
      src/pages/HuiQuanYi/Recommed/index.config.js
  75. 130
    0
      src/pages/HuiQuanYi/Recommed/index.vue
  76. 70
    0
      src/pages/HuiQuanYi/Recommed/page.scss
  77. 1
    1
      src/pages/HuiShengHuo/ActivityList/ActivityDetail/JoinIn/index.vue
  78. 13
    9
      src/pages/HuiShengHuo/ActivityList/ActivityDetail/index.vue
  79. 13
    0
      src/pages/HuiShengHuo/ActivityList/ActivityDetail/page.scss
  80. 0
    15
      src/pages/HuiShengHuo/ActivityList/page.scss
  81. 2
    5
      src/pages/HuiShengHuo/PhotoList/index.vue
  82. 1
    1
      src/pages/HuiShengHuo/index.vue
  83. 24
    15
      src/pages/WoDe/MyActivityList/index.vue
  84. 30
    0
      src/store/user/index.js
  85. 5
    1
      src/util/Api/index.js
  86. 0
    3
      src/util/PublicMethod/index.js

BIN
image/1.png Целия файл


BIN
image/2.png Целия файл


BIN
image/3.png Целия файл


BIN
image/fenxiang.png Целия файл


BIN
image/huishenghuo.png Целия файл


BIN
image/huodongxiangqing.png Целия файл


BIN
image/huodongzhaopianqiang.png Целия файл


BIN
image/iconhuiaixin-.png Целия файл


BIN
image/iconhuiaixin.png Целия файл


BIN
image/iconhuiquanyi-.png Целия файл


BIN
image/iconhuiquanyi.png Целия файл


BIN
image/iconhuishenghuo-.png Целия файл


BIN
image/iconhuishenghuo.png Целия файл


BIN
image/iconhuodong.png Целия файл


BIN
image/iconwode-.png Целия файл


BIN
image/iconwode.png Целия файл


BIN
image/jingcaihuodong.png Целия файл


BIN
image/lijibaoming.png Целия файл


BIN
image/lijibaomingbtn.png Целия файл


BIN
image/liyuanhui.png Целия файл


BIN
image/mingxingyezhu.png Целия файл


BIN
image/morentouxiang.png Целия файл


BIN
image/nodata.png Целия файл


BIN
image/signinbg.png Целия файл


BIN
image/toupiao.png Целия файл


BIN
image/wodebeijingtu.png Целия файл


BIN
image/wodehuodong.png Целия файл


BIN
image/wodeicon1.png Целия файл


BIN
image/wodeicon2.png Целия файл


BIN
image/yezhuzixun.png Целия файл


BIN
image/yijianfankui.png Целия файл


BIN
image/zhengnengliangshiji.png Целия файл


+ 1
- 0
src/app.config.js Целия файл

11
     'pages/HuiQuanYi/index', // 荟权益
11
     'pages/HuiQuanYi/index', // 荟权益
12
     'pages/HuiQuanYi/OwnersNews/index', // 荟权益-业主资讯
12
     'pages/HuiQuanYi/OwnersNews/index', // 荟权益-业主资讯
13
     'pages/HuiQuanYi/OwnersNews/NewsDetail/index', // 荟权益-业主资讯-详情
13
     'pages/HuiQuanYi/OwnersNews/NewsDetail/index', // 荟权益-业主资讯-详情
14
+    'pages/HuiQuanYi/Recommed/index', // 荟权益-一荐倾心
14
 
15
 
15
     'pages/HuiAiXin/index', // 荟爱心
16
     'pages/HuiAiXin/index', // 荟爱心
16
     'pages/HuiAiXin/StarOwner/index', // 荟爱心-明星业主
17
     'pages/HuiAiXin/StarOwner/index', // 荟爱心-明星业主

+ 1
- 1
src/app.js Целия файл

48
               
48
               
49
               store.commit(
49
               store.commit(
50
                 'user/EditUserInfo',
50
                 'user/EditUserInfo',
51
-                { name: 'SessionKey', value: res.data.data.person.sessionKey }
51
+                { name: 'SessionKey', value: res.data.data.extraInfo.sessionKey }
52
               )
52
               )
53
               
53
               
54
               store.commit(
54
               store.commit(

+ 22
- 0
src/app.scss Целия файл

47
       }
47
       }
48
     }
48
     }
49
   }
49
   }
50
+
51
+  .MainLoading {
52
+    width: 100%;
53
+    height: 300px;
54
+    background: url('../src/assets/image/bars.svg') no-repeat center center;
55
+    background-size: 100px auto;
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
+  }
50
 }
72
 }

BIN
src/assets/image/1.png Целия файл


BIN
src/assets/image/2.png Целия файл


BIN
src/assets/image/3.png Целия файл


+ 52
- 0
src/assets/image/bars.svg Целия файл

1
+<svg width="135" height="140" viewBox="0 0 135 140" xmlns="http://www.w3.org/2000/svg" fill="#ccc">
2
+    <rect y="10" width="15" height="120" rx="6">
3
+        <animate attributeName="height"
4
+             begin="0.5s" dur="1s"
5
+             values="120;110;100;90;80;70;60;50;40;140;120" calcMode="linear"
6
+             repeatCount="indefinite" />
7
+        <animate attributeName="y"
8
+             begin="0.5s" dur="1s"
9
+             values="10;15;20;25;30;35;40;45;50;0;10" calcMode="linear"
10
+             repeatCount="indefinite" />
11
+    </rect>
12
+    <rect x="30" y="10" width="15" height="120" rx="6">
13
+        <animate attributeName="height"
14
+             begin="0.25s" dur="1s"
15
+             values="120;110;100;90;80;70;60;50;40;140;120" calcMode="linear"
16
+             repeatCount="indefinite" />
17
+        <animate attributeName="y"
18
+             begin="0.25s" dur="1s"
19
+             values="10;15;20;25;30;35;40;45;50;0;10" calcMode="linear"
20
+             repeatCount="indefinite" />
21
+    </rect>
22
+    <rect x="60" width="15" height="140" rx="6">
23
+        <animate attributeName="height"
24
+             begin="0s" dur="1s"
25
+             values="120;110;100;90;80;70;60;50;40;140;120" calcMode="linear"
26
+             repeatCount="indefinite" />
27
+        <animate attributeName="y"
28
+             begin="0s" dur="1s"
29
+             values="10;15;20;25;30;35;40;45;50;0;10" calcMode="linear"
30
+             repeatCount="indefinite" />
31
+    </rect>
32
+    <rect x="90" y="10" width="15" height="120" rx="6">
33
+        <animate attributeName="height"
34
+             begin="0.25s" dur="1s"
35
+             values="120;110;100;90;80;70;60;50;40;140;120" calcMode="linear"
36
+             repeatCount="indefinite" />
37
+        <animate attributeName="y"
38
+             begin="0.25s" dur="1s"
39
+             values="10;15;20;25;30;35;40;45;50;0;10" calcMode="linear"
40
+             repeatCount="indefinite" />
41
+    </rect>
42
+    <rect x="120" y="10" width="15" height="120" rx="6">
43
+        <animate attributeName="height"
44
+             begin="0.5s" dur="1s"
45
+             values="120;110;100;90;80;70;60;50;40;140;120" calcMode="linear"
46
+             repeatCount="indefinite" />
47
+        <animate attributeName="y"
48
+             begin="0.5s" dur="1s"
49
+             values="10;15;20;25;30;35;40;45;50;0;10" calcMode="linear"
50
+             repeatCount="indefinite" />
51
+    </rect>
52
+</svg>

BIN
src/assets/image/fenxiang.png Целия файл


BIN
src/assets/image/huishenghuo.png Целия файл


BIN
src/assets/image/huodongxiangqing.png Целия файл


BIN
src/assets/image/huodongzhaopianqiang.png Целия файл


BIN
src/assets/image/iconhuiaixin-.png Целия файл


BIN
src/assets/image/iconhuiaixin.png Целия файл


BIN
src/assets/image/iconhuiquanyi-.png Целия файл


BIN
src/assets/image/iconhuiquanyi.png Целия файл


BIN
src/assets/image/iconhuishenghuo-.png Целия файл


BIN
src/assets/image/iconhuishenghuo.png Целия файл


BIN
src/assets/image/iconhuodong.png Целия файл


BIN
src/assets/image/iconwode-.png Целия файл


BIN
src/assets/image/iconwode.png Целия файл


BIN
src/assets/image/jingcaihuodong.png Целия файл


BIN
src/assets/image/lijibaoming.png Целия файл


BIN
src/assets/image/liyuanhui.png Целия файл


BIN
src/assets/image/mingxingyezhu.png Целия файл


BIN
src/assets/image/mr@2x.png Целия файл


BIN
src/assets/image/mybg@2x.png Целия файл


BIN
src/assets/image/quexing@2x.png Целия файл


BIN
src/assets/image/sqbg@2x.png Целия файл


BIN
src/assets/image/time@2x.png Целия файл


BIN
src/assets/image/toupiao.png Целия файл


BIN
src/assets/image/wd@2x.png Целия файл


BIN
src/assets/image/wodehuodong.png Целия файл


BIN
src/assets/image/yezhuzixun.png Целия файл


BIN
src/assets/image/yijianfankui.png Целия файл


BIN
src/assets/image/yj@2x.png Целия файл


BIN
src/assets/image/zhengnengliangshiji.png Целия файл


BIN
src/assets/image/组 17112@2x.png Целия файл


+ 3
- 1
src/components/Layout/Basic/index.vue Целия файл

3
     <block v-if="user.PersonId">
3
     <block v-if="user.PersonId">
4
       <slot v-bind:user="user"></slot>
4
       <slot v-bind:user="user"></slot>
5
     </block>
5
     </block>
6
-    <Loading v-else />
6
+    <view class="MainLoading centerLabel" v-else></view>
7
   </block>
7
   </block>
8
 </template>
8
 </template>
9
 
9
 
20
     ...mapState({
20
     ...mapState({
21
       user: s => s.user.UserInfo || {}
21
       user: s => s.user.UserInfo || {}
22
     })
22
     })
23
+  },
24
+  created () {
23
   }
25
   }
24
 }
26
 }
25
 </script>
27
 </script>

+ 1
- 1
src/pages/HuiAiXin/StarOwner/index.config.js Целия файл

1
 export default {
1
 export default {
2
-  navigationBarTitleText: '明星业主'
2
+  navigationBarTitleText: '旧衣飞行'
3
 }
3
 }

+ 5
- 5
src/pages/HuiAiXin/StarOwner/index.vue Целия файл

44
   },
44
   },
45
   computed: {
45
   computed: {
46
     ...mapIndexState({
46
     ...mapIndexState({
47
-      MingXingYeZhuList: x => x.MingXingYeZhuList // 明星业主列表
47
+      MingXingYeZhuList: x => x.MingXingYeZhuList // 旧衣飞行列表
48
     })
48
     })
49
   },
49
   },
50
   components: {
50
   components: {
63
       'EditUserInfo' // 编辑用户信息
63
       'EditUserInfo' // 编辑用户信息
64
     ]),
64
     ]),
65
     ...mapIndexActions([
65
     ...mapIndexActions([
66
-      'GetMingXingYeZhuList' // 获取明星业主列表
66
+      'GetMingXingYeZhuList' // 获取旧衣飞行列表
67
     ]),
67
     ]),
68
     ...mapIndexMutations([
68
     ...mapIndexMutations([
69
-      'EmptyMingXingYeZhuList' // 清空明星业主列表
69
+      'EmptyMingXingYeZhuList' // 清空旧衣飞行列表
70
     ]),
70
     ]),
71
     Init () { // 初始化
71
     Init () { // 初始化
72
       this.PageData.pageNum = 1
72
       this.PageData.pageNum = 1
73
       this.HasNextPage = true
73
       this.HasNextPage = true
74
-      this.EmptyMingXingYeZhuList() // 清空明星业主列表
74
+      this.EmptyMingXingYeZhuList() // 清空旧衣飞行列表
75
       this.PageList = []
75
       this.PageList = []
76
       this.ToGetPageList() // 获取列表
76
       this.ToGetPageList() // 获取列表
77
     },
77
     },
78
     ToGetPageList () { // 获取列表
78
     ToGetPageList () { // 获取列表
79
-      this.GetMingXingYeZhuList({ queryData: { ...this.PageData, typeId: 2 } }).then((res) => { // 获取明星业主列表
79
+      this.GetMingXingYeZhuList({ queryData: { ...this.PageData, typeId: 5 } }).then((res) => { // 获取旧衣飞行列表
80
         this.PageList = [...this.MingXingYeZhuList]
80
         this.PageList = [...this.MingXingYeZhuList]
81
         this.HasNextPage = res.data.data.current < res.data.data.pages
81
         this.HasNextPage = res.data.data.current < res.data.data.pages
82
         this.DataLock = false
82
         this.DataLock = false

+ 7
- 0
src/pages/HuiQuanYi/OwnersNews/NewsDetail/index.vue Целия файл

12
       <!-- <towxml :nodes="nodes" /> -->
12
       <!-- <towxml :nodes="nodes" /> -->
13
       <Markdown :value="(Info || {}).content" />
13
       <Markdown :value="(Info || {}).content" />
14
     </view>
14
     </view>
15
+
16
+    <!-- 授权头像获取弹窗 -->
17
+    <GetUserIcon></GetUserIcon>
15
   </view>
18
   </view>
16
 </template>
19
 </template>
17
 
20
 
18
 <script>
21
 <script>
22
+import GetUserIcon from '../../../../components/GetUserIcon/index'
19
 import { getCurrentInstance } from "@tarojs/taro"
23
 import { getCurrentInstance } from "@tarojs/taro"
20
 import { createNamespacedHelpers } from "vuex"
24
 import { createNamespacedHelpers } from "vuex"
21
 const { mapActions: mapIndexActions } = createNamespacedHelpers("index")
25
 const { mapActions: mapIndexActions } = createNamespacedHelpers("index")
27
       Info: null
31
       Info: null
28
     }
32
     }
29
   },
33
   },
34
+  components: {
35
+    GetUserIcon
36
+  },
30
   computed: {},
37
   computed: {},
31
   created() {
38
   created() {
32
     this.CurrnetId = getCurrentInstance().router.params.id
39
     this.CurrnetId = getCurrentInstance().router.params.id

+ 3
- 0
src/pages/HuiQuanYi/Recommed/index.config.js Целия файл

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

+ 130
- 0
src/pages/HuiQuanYi/Recommed/index.vue Целия файл

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
+        this.DataLock = false
111
+      }).catch((res) => {
112
+        wx.showToast({
113
+          title: res.data.data.message,
114
+          icon: 'none',
115
+          duration: 2000
116
+        })
117
+        this.DataLock = false
118
+      })
119
+    },
120
+    SexChange (e) {
121
+      this.Sex = this.SexList[e.detail.value].id
122
+      this.SexName = this.SexList[e.detail.value].name
123
+    }
124
+  }
125
+}
126
+</script>
127
+
128
+<style lang="scss">
129
+@import "page.scss";
130
+</style>

+ 70
- 0
src/pages/HuiQuanYi/Recommed/page.scss Целия файл

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
+}

+ 1
- 1
src/pages/HuiShengHuo/ActivityList/ActivityDetail/JoinIn/index.vue Целия файл

71
       if (this.DataLock) return
71
       if (this.DataLock) return
72
       this.DataLock = true
72
       this.DataLock = true
73
       this.PostActivityJoin({
73
       this.PostActivityJoin({
74
-        urlData: { id: this.ActivityInfo.activityId },
74
+        urlData: { id: this.CurrnetId },
75
         data: { data: { enrollName: this.Name, enrollPhone: this.Phone, enrollNum: this.Num } }
75
         data: { data: { enrollName: this.Name, enrollPhone: this.Phone, enrollNum: this.Num } }
76
       }).then((res) => {
76
       }).then((res) => {
77
         this.DataLock = false
77
         this.DataLock = false

+ 13
- 9
src/pages/HuiShengHuo/ActivityList/ActivityDetail/index.vue Целия файл

54
       <view class="flex-item" @tap="LinkTo('../../index')">
54
       <view class="flex-item" @tap="LinkTo('../../index')">
55
         <image class="centerLabel" mode="heightFix" src="https://cjgw.oss-cn-hangzhou.aliyuncs.com/ygcxxfb/image/huishenghuo.png"></image>
55
         <image class="centerLabel" mode="heightFix" src="https://cjgw.oss-cn-hangzhou.aliyuncs.com/ygcxxfb/image/huishenghuo.png"></image>
56
       </view>
56
       </view>
57
-      <view class="flex-item">
57
+      <view class="flex-item" @tap="ToShare">
58
         <image class="centerLabel" mode="heightFix" src="https://cjgw.oss-cn-hangzhou.aliyuncs.com/ygcxxfb/image/fenxiang.png"></image>
58
         <image class="centerLabel" mode="heightFix" src="https://cjgw.oss-cn-hangzhou.aliyuncs.com/ygcxxfb/image/fenxiang.png"></image>
59
       </view>
59
       </view>
60
+      <button open-type="share" class="ShareBottomBtn" :class="{'active': IsEnroll}">分享</button>
60
       <image mode="heightFix" v-if="IsEnroll" src="https://cjgw.oss-cn-hangzhou.aliyuncs.com/ygcxxfb/image/lijibaomingbtn.png" @tap="ToJoin"></image>
61
       <image mode="heightFix" v-if="IsEnroll" src="https://cjgw.oss-cn-hangzhou.aliyuncs.com/ygcxxfb/image/lijibaomingbtn.png" @tap="ToJoin"></image>
61
       <button open-type="getPhoneNumber" class="GetPhoneBottomBtn" v-if="!DataLock && ShowGetPhoneBtn && IsEnroll" @getphonenumber="GetPhoneNumber">授权手机号</button>
62
       <button open-type="getPhoneNumber" class="GetPhoneBottomBtn" v-if="!DataLock && ShowGetPhoneBtn && IsEnroll" @getphonenumber="GetPhoneNumber">授权手机号</button>
62
     </view>
63
     </view>
63
 
64
 
65
+    <!-- 授权头像获取弹窗 -->
66
+    <GetUserIcon></GetUserIcon>
67
+
64
   </view>
68
   </view>
65
 </template>
69
 </template>
66
 
70
 
67
 <script>
71
 <script>
72
+import GetUserIcon from '../../../../components/GetUserIcon/index'
68
 import { getCurrentInstance } from '@tarojs/taro'
73
 import { getCurrentInstance } from '@tarojs/taro'
69
 import { createNamespacedHelpers } from 'vuex'
74
 import { createNamespacedHelpers } from 'vuex'
70
 const { mapActions: mapIndexActions } = createNamespacedHelpers('index')
75
 const { mapActions: mapIndexActions } = createNamespacedHelpers('index')
89
     })
94
     })
90
   },
95
   },
91
   components: {
96
   components: {
97
+    GetUserIcon
92
   },
98
   },
93
   onShareAppMessage () {
99
   onShareAppMessage () {
94
     return {
100
     return {
98
     }
104
     }
99
   },
105
   },
100
   created () {
106
   created () {
101
-    wx.showShareMenu({
102
-      withShareTicket: true,
103
-      menus: ['shareAppMessage', 'shareTimeline']
104
-    })
105
     this.CurrnetId = getCurrentInstance().router.params.id
107
     this.CurrnetId = getCurrentInstance().router.params.id
106
     this.$authed(() => {
108
     this.$authed(() => {
107
       this.Init()
109
       this.Init()
129
           this.VoteList = this.ActivityInfo.voteItemList.slice(0)
131
           this.VoteList = this.ActivityInfo.voteItemList.slice(0)
130
         }
132
         }
131
         this.IsVote = this.ActivityInfo.isVote
133
         this.IsVote = this.ActivityInfo.isVote
132
-        wx.ShareAppMessage({
133
-          title: this.ActivityInfo.shareTitle,
134
-          imageUrl: this.ActivityInfo.shareImg
135
-        })
134
+      })
135
+    },
136
+    ToShare () {
137
+      wx.showShareMenu({
138
+        withShareTicket: true,
139
+        menus: ['shareAppMessage', 'shareTimeline']
136
       })
140
       })
137
     },
141
     },
138
     LinkTo (url) {
142
     LinkTo (url) {

+ 13
- 0
src/pages/HuiShengHuo/ActivityList/ActivityDetail/page.scss Целия файл

161
     > image {
161
     > image {
162
       height: 90px;
162
       height: 90px;
163
     }
163
     }
164
+    > .ShareBottomBtn {
165
+      height: 90px;
166
+      width: 50%;
167
+      display: block;
168
+      position: absolute;
169
+      right: 0;
170
+      top: 0;
171
+      opacity: 0;
172
+      &.active {
173
+        width: 188px;
174
+        right: 380px;
175
+      }
176
+    }
164
     > .GetPhoneBottomBtn {
177
     > .GetPhoneBottomBtn {
165
       height: 90px;
178
       height: 90px;
166
       width: 380px;
179
       width: 380px;

+ 0
- 15
src/pages/HuiShengHuo/ActivityList/page.scss Целия файл

38
   > .flex-item {
38
   > .flex-item {
39
     .ActivityList {
39
     .ActivityList {
40
       background: #fff;
40
       background: #fff;
41
-      > .NoData {
42
-        > image {
43
-          width: 53%;
44
-          margin: 172px auto 0;
45
-          display: block;
46
-        }
47
-        > text {
48
-          font-size: 28px;
49
-          color: #999;
50
-          line-height: 40px;
51
-          margin-top: 10px;
52
-          display: block;
53
-          text-align: center;
54
-        }
55
-      }
56
       > .List {
41
       > .List {
57
         position: relative;
42
         position: relative;
58
         overflow: hidden;
43
         overflow: hidden;

+ 2
- 5
src/pages/HuiShengHuo/PhotoList/index.vue Целия файл

93
       this.GetPhotoList({ queryData: { ...this.PageData } }).then((res) => { // 获取照片墙列表
93
       this.GetPhotoList({ queryData: { ...this.PageData } }).then((res) => { // 获取照片墙列表
94
         let Arr = []
94
         let Arr = []
95
         this.PhotoList.map((item) => {
95
         this.PhotoList.map((item) => {
96
-          let Year = new Date(item.createDate).getFullYear()
97
-          let Month = new Date(item.createDate).getMonth() + 1
98
-          Month = Month > 9 ? Month : `0${Month}`
99
-          if (Arr.length && `${Year}-${Month}` === Arr[Arr.length - 1].Month) {
96
+          if (Arr.length && item.typeId === Arr[Arr.length - 1].Month) {
100
             Arr[Arr.length - 1].List.push({ ...item })
97
             Arr[Arr.length - 1].List.push({ ...item })
101
           } else {
98
           } else {
102
-            Arr.push({ Month: `${Year}-${Month}`, List: [{ ...item} ] })
99
+            Arr.push({ Month: item.typeId, List: [{ ...item} ] })
103
           }
100
           }
104
         })
101
         })
105
         this.PageList = Arr
102
         this.PageList = Arr

+ 1
- 1
src/pages/HuiShengHuo/index.vue Целия файл

136
       }).catch(() => {
136
       }).catch(() => {
137
         this.CheckRequestNum(3) // 判断请求接口个数
137
         this.CheckRequestNum(3) // 判断请求接口个数
138
       })
138
       })
139
-      this.GetActivityList({ queryData: { pageNum: 1, pageSize: 10, typeId: 2 } }).then(() => { // 获取活动列表
139
+      this.GetActivityList({ queryData: { pageNum: 1, pageSize: 10, toIndex: true } }).then(() => { // 获取活动列表
140
         this.PageActivityList = [...this.ActivityList]
140
         this.PageActivityList = [...this.ActivityList]
141
         this.CheckRequestNum(3) // 判断请求接口个数
141
         this.CheckRequestNum(3) // 判断请求接口个数
142
       }).catch(() => {
142
       }).catch(() => {

+ 24
- 15
src/pages/WoDe/MyActivityList/index.vue Целия файл

8
           <image mode="heightFix" src="https://cjgw.oss-cn-hangzhou.aliyuncs.com/ygcxxfb/image/wodehuodong.png"></image>
8
           <image mode="heightFix" src="https://cjgw.oss-cn-hangzhou.aliyuncs.com/ygcxxfb/image/wodehuodong.png"></image>
9
         </view>
9
         </view>
10
 
10
 
11
+        <view class="NoData" v-show="NoData">
12
+          <image mode="widthFix" src="https://cjgw.oss-cn-hangzhou.aliyuncs.com/ygcxxfb/image/nodata.png"></image>
13
+          <text>暂无内容</text>
14
+        </view>
15
+
11
         <!-- 列表 -->
16
         <!-- 列表 -->
12
-        <view class="List" v-if="UserActivityList.length">
13
-          <navigator v-for="(item, index) in UserActivityList" :key="index" url="../../HuiShengHuo/ActivityList/ActivityDetail/index" hover-class="other-navigator-hover" class="Item flex-h">
17
+        <view class="List" v-if="PageList.length">
18
+          <navigator v-for="(item, index) in PageList" :key="index" :url="`../../HuiShengHuo/ActivityList/ActivityDetail/index?id=${item.activityId}`" hover-class="other-navigator-hover" class="Item flex-h">
14
             <view class="flex-item">
19
             <view class="flex-item">
15
-              <text>活动标题</text>
16
-              <text>已报名123人</text>
17
-              <text>已结束</text>
20
+              <text>{{item.name}}</text>
21
+              <text>已报名{{item.enrollNum}}人</text>
22
+              <text v-if="new Date(item.enrollEnd).getTime() <= Date.now()">已结束</text>
18
             </view>
23
             </view>
19
             <view class="Img">
24
             <view class="Img">
20
               <view>
25
               <view>
21
-                <image mode="aspectFill" class="centerLabel" :src="ToolClass.DemoImg()"></image>
26
+                <image mode="aspectFill" class="centerLabel" :src="item.thumb"></image>
22
               </view>
27
               </view>
23
             </view>
28
             </view>
24
           </navigator>
29
           </navigator>
32
 <script>
37
 <script>
33
 import ScrollY from '../../../components/ScrollY/index'
38
 import ScrollY from '../../../components/ScrollY/index'
34
 import { createNamespacedHelpers } from 'vuex'
39
 import { createNamespacedHelpers } from 'vuex'
35
-const { mapState: mapIndexState, mapActions: mapIndexActions, mapMutations: mapIndexMutations } = createNamespacedHelpers('index')
40
+const { mapState: mapUserState, mapActions: mapUserActions } = createNamespacedHelpers('user')
36
 export default {
41
 export default {
37
   name: 'WoDeHuoDong',
42
   name: 'WoDeHuoDong',
38
   data () {
43
   data () {
39
     return {
44
     return {
45
+      NoData: false,
40
       PageData: {
46
       PageData: {
41
         pageNum: 1,
47
         pageNum: 1,
42
         pageSize: 15
48
         pageSize: 15
43
       },
49
       },
50
+      PageList: [],
44
       HasNextPage: true,
51
       HasNextPage: true,
45
       IsRefreshing: false,
52
       IsRefreshing: false,
46
       DataLock: false
53
       DataLock: false
47
     }
54
     }
48
   },
55
   },
49
   computed: {
56
   computed: {
50
-    ...mapIndexState({
51
-      UserActivityList: x => x.UserActivityList // 我的活动列表
57
+    ...mapUserState({
58
+      UserInfo: x => x.UserInfo // 用户信息
52
     })
59
     })
53
   },
60
   },
54
   components: {
61
   components: {
58
     this.Init() // 初始化
65
     this.Init() // 初始化
59
   },
66
   },
60
   methods: {
67
   methods: {
61
-    ...mapIndexActions([
68
+    ...mapUserActions([
62
       'GetUserActivityList' // 获取我的活动列表
69
       'GetUserActivityList' // 获取我的活动列表
63
     ]),
70
     ]),
64
-    ...mapIndexMutations([
65
-      'EmptyUserActivityList' // 清空我的活动列表
66
-    ]),
67
     Init () { // 初始化
71
     Init () { // 初始化
68
       this.PageData.pageNum = 1
72
       this.PageData.pageNum = 1
69
       this.HasNextPage = true
73
       this.HasNextPage = true
70
-      this.EmptyUserActivityList() // 清空我的活动列表
74
+      this.PageList = [] // 清空我的活动列表
71
       this.ToGetPageList() // 获取列表
75
       this.ToGetPageList() // 获取列表
72
     },
76
     },
73
     ToGetPageList () { // 获取列表
77
     ToGetPageList () { // 获取列表
74
-      this.GetUserActivityList({ queryData: { accountId: 5, ...this.PageData } }).then((res) => { // 获取我的活动列表
78
+      this.GetUserActivityList({
79
+        urlData: { personId: this.UserInfo.PersonId },
80
+        queryData: { ...this.PageData }
81
+      }).then((res) => { // 获取我的活动列表
82
+        this.PageList = [...res.data.data.records]
83
+        this.NoData = !this.PageList.length
75
         this.HasNextPage = res.data.data.current < res.data.data.pages
84
         this.HasNextPage = res.data.data.current < res.data.data.pages
76
         this.DataLock = false
85
         this.DataLock = false
77
         this.IsRefreshing = false
86
         this.IsRefreshing = false

+ 30
- 0
src/store/user/index.js Целия файл

17
     }
17
     }
18
   },
18
   },
19
   actions: {
19
   actions: {
20
+    GetUserActivityList (context, payload) { // 获取我的活动列表
21
+      return new Promise((resolve, reject) => {
22
+        ToolClass.WxRequest({
23
+          url: Api.GetUserActivityList.url,
24
+          method: Api.GetUserActivityList.method,
25
+          ...payload,
26
+          success (res) {
27
+            resolve(res)
28
+          },
29
+          error (res) {
30
+            reject(res)
31
+          }
32
+        })
33
+      })
34
+    },
35
+    PostRecommed (context, payload) { // 推荐客户
36
+      return new Promise((resolve, reject) => {
37
+        ToolClass.WxRequest({
38
+          url: Api.PostRecommed.url,
39
+          method: Api.PostRecommed.method,
40
+          ...payload,
41
+          success (res) {
42
+            resolve(res)
43
+          },
44
+          error (res) {
45
+            reject(res)
46
+          }
47
+        })
48
+      })
49
+    },
20
     PostActivityJoin (context, payload) { // 活动报名
50
     PostActivityJoin (context, payload) { // 活动报名
21
       payload = { ...payload, IsSigIn: true }
51
       payload = { ...payload, IsSigIn: true }
22
       return new Promise((resolve, reject) => {
52
       return new Promise((resolve, reject) => {

+ 5
- 1
src/util/Api/index.js Целия файл

2
 const prefix = process.env.NODE_ENV === 'production' ? '' : ''
2
 const prefix = process.env.NODE_ENV === 'production' ? '' : ''
3
 
3
 
4
 const Api = {
4
 const Api = {
5
+  PostRecommed: { // 推荐客户
6
+    method: 'post',
7
+    url: `${prefix}/recommender`
8
+  },
5
   GetNewsDetail: { // 获取资讯详情
9
   GetNewsDetail: { // 获取资讯详情
6
     method: 'get',
10
     method: 'get',
7
     url: `${prefix}/news/:id`
11
     url: `${prefix}/news/:id`
64
   },
68
   },
65
   GetUserActivityList: { // 获取我的活动列表
69
   GetUserActivityList: { // 获取我的活动列表
66
     method: 'get',
70
     method: 'get',
67
-    url: `${prefix}/activity`
71
+    url: `${prefix}/person/:personId/activity`
68
   }
72
   }
69
 }
73
 }
70
 
74
 

+ 0
- 3
src/util/PublicMethod/index.js Целия файл

1
 import qs from 'qs'
1
 import qs from 'qs'
2
 const ToolClass = {
2
 const ToolClass = {
3
-  DemoImg () {
4
-    return 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1597250549302&di=7483208ccacdeb49188263423a9c8316&imgtype=0&src=http%3A%2F%2Ft9.baidu.com%2Fit%2Fu%3D3363001160%2C1163944807%26fm%3D79%26app%3D86%26f%3DJPEG%3Fw%3D1280%26h%3D830'
5
-  },
6
   DateFormat (timestamp) { // 格式化时间
3
   DateFormat (timestamp) { // 格式化时间
7
     if (timestamp) {
4
     if (timestamp) {
8
       let YY = new Date(timestamp).getFullYear()
5
       let YY = new Date(timestamp).getFullYear()