Showing
1 changed file
with
64 additions
and
46 deletions
| 1 | <!-- | 1 | <!-- |
| 2 | * @Date: 2022-09-29 16:32:03 | 2 | * @Date: 2022-09-29 16:32:03 |
| 3 | * @LastEditors: hookehuyr hookehuyr@gmail.com | 3 | * @LastEditors: hookehuyr hookehuyr@gmail.com |
| 4 | - * @LastEditTime: 2022-10-21 18:18:46 | 4 | + * @LastEditTime: 2022-10-24 16:48:30 |
| 5 | * @FilePath: /swx/src/pages/userInfo/index.vue | 5 | * @FilePath: /swx/src/pages/userInfo/index.vue |
| 6 | * @Description: 用户资料 | 6 | * @Description: 用户资料 |
| 7 | --> | 7 | --> |
| 8 | <template> | 8 | <template> |
| 9 | <view class="user-info-page"> | 9 | <view class="user-info-page"> |
| 10 | - <view class="bg-header"> | 10 | + <view id="top-header" class="bg-header"> |
| 11 | <view style="height: 4rem; padding: 1rem;"> | 11 | <view style="height: 4rem; padding: 1rem;"> |
| 12 | <van-row> | 12 | <van-row> |
| 13 | <van-col span="17"> | 13 | <van-col span="17"> |
| ... | @@ -49,61 +49,49 @@ | ... | @@ -49,61 +49,49 @@ |
| 49 | </view> | 49 | </view> |
| 50 | </view> | 50 | </view> |
| 51 | <view class="list-wrapper" style="margin: 1rem;"> | 51 | <view class="list-wrapper" style="margin: 1rem;"> |
| 52 | - <view style="background-color: white; border-radius: 0.65rem; padding: 1rem;overflow: auto; margin-bottom: 1px;"> | 52 | + <view id="list-header" style="background-color: white; border-radius: 0.65rem; padding: 1rem;overflow: auto; margin-bottom: 1px;"> |
| 53 | <view style="display: inline-block; margin-right: 1rem; line-height: 60rpx;"> | 53 | <view style="display: inline-block; margin-right: 1rem; line-height: 60rpx;"> |
| 54 | <view class="bg-gradient" style="font-size: 1.15rem;">陪伴记录</view> | 54 | <view class="bg-gradient" style="font-size: 1.15rem;">陪伴记录</view> |
| 55 | </view> | 55 | </view> |
| 56 | - <view @tap="show_status_popup=true" style="float: right; color: #FFFFFF; font-size: 0.9rem; border-radius: 1rem; padding: 0.3rem 1rem 0.3rem 1rem; background-color: #199A74;"> | 56 | + <view @tap="show_partner_popup=true" style="float: right; color: #FFFFFF; font-size: 0.9rem; border-radius: 1rem; padding: 0.3rem 1rem 0.3rem 1rem; background-color: #199A74;"> |
| 57 | - {{ status_type === '' ? '全部' : status_type }} | 57 | + {{ partner === '' ? '全部' : partner }} |
| 58 | <van-icon :name="icon_sel3" size="0.8rem" color="" style="vertical-align: middle;" /> | 58 | <van-icon :name="icon_sel3" size="0.8rem" color="" style="vertical-align: middle;" /> |
| 59 | </view> | 59 | </view> |
| 60 | <view style="float: right; margin-top: 0.25rem;"> | 60 | <view style="float: right; margin-top: 0.25rem;"> |
| 61 | 陪伴者: | 61 | 陪伴者: |
| 62 | </view> | 62 | </view> |
| 63 | </view> | 63 | </view> |
| 64 | - <view> | 64 | + <view id="partner-list"> |
| 65 | - <view style="background-color: white; padding: 1rem; border-radius: 1rem; margin-bottom: 1rem;"> | 65 | + <view v-for="(item, index) in partner_list" :key="index" style="background-color: white; padding: 1rem; border-radius: 1rem; margin-bottom: 1rem;"> |
| 66 | <view style="overflow: auto;"> | 66 | <view style="overflow: auto;"> |
| 67 | <view style="float: left; font-size: 1.15rem;"> | 67 | <view style="float: left; font-size: 1.15rem;"> |
| 68 | - <text style="color: #999999;">状态:</text><text style="color: #199A74;">跟进</text> | 68 | + <text style="color: #999999;">状态:</text><text style="color: #199A74;">{{ item.status }}</text> |
| 69 | </view> | 69 | </view> |
| 70 | <view style="float: right; margin-top: 0.2rem; font-size: 0.9rem; color: #222222;"> | 70 | <view style="float: right; margin-top: 0.2rem; font-size: 0.9rem; color: #222222;"> |
| 71 | - 净弘 2022-08-11 14:22 | 71 | + {{ item.created_by_name }} {{ formatDate(item.created_time) }} |
| 72 | </view> | 72 | </view> |
| 73 | </view> | 73 | </view> |
| 74 | <view style="margin-top: 1rem;"> | 74 | <view style="margin-top: 1rem;"> |
| 75 | - 对比上次净妙这次参与活动明显的能够融入进去了,与其他学员间的交流也比较多了,期待越来越好! | 75 | + {{ item.note }} |
| 76 | - </view> | ||
| 77 | - </view> | ||
| 78 | - <view style="background-color: white; padding: 1rem; border-radius: 1rem; margin-bottom: 1rem;"> | ||
| 79 | - <view style="overflow: auto;"> | ||
| 80 | - <view style="float: left; font-size: 1.15rem;"> | ||
| 81 | - <text style="color: #999999;">状态:</text><text style="color: #199A74;">跟进</text> | ||
| 82 | - </view> | ||
| 83 | - <view style="float: right; margin-top: 0.2rem; font-size: 0.9rem; color: #222222;"> | ||
| 84 | - 净弘 2022-08-11 14:22 | ||
| 85 | - </view> | ||
| 86 | - </view> | ||
| 87 | - <view style="margin-top: 1rem;"> | ||
| 88 | - 对比上次净妙这次参与活动明显的能够融入进去了,与其他学员间的交流也比较多了,期待越来越好! | ||
| 89 | </view> | 76 | </view> |
| 90 | </view> | 77 | </view> |
| 91 | </view> | 78 | </view> |
| 79 | + <view style="height: 6rem;"></view> | ||
| 92 | </view> | 80 | </view> |
| 93 | - <view style="height: 2rem;"></view> | ||
| 94 | <bottom-button @on-submit="onSubmit">添加记录</bottom-button> | 81 | <bottom-button @on-submit="onSubmit">添加记录</bottom-button> |
| 95 | 82 | ||
| 96 | </view> | 83 | </view> |
| 97 | 84 | ||
| 98 | <!-- 切换状态弹出框 --> | 85 | <!-- 切换状态弹出框 --> |
| 99 | - <van-popup :show="show_status_popup" position="bottom" custom-style="height: 40%;" :lock-scroll="true"> | 86 | + <van-popup :show="show_partner_popup" position="bottom" custom-style="height: 50%;" :lock-scroll="true"> |
| 100 | - <van-picker :show-toolbar="true" title="" confirm-button-text="确定" :columns="status_type_columns" | 87 | + <van-picker :show-toolbar="true" title="" confirm-button-text="确定" :columns="partner_columns" |
| 101 | - toolbar-class="picker-toolbar" @confirm="onStatusTypeConfirm" @cancel="onStatusTypeCancel" @change="onStatusTypeChange" /> | 88 | + :default-index="partner_index" |
| 89 | + toolbar-class="picker-toolbar" @confirm="onPartnerConfirm" @cancel="onPartnerCancel" /> | ||
| 102 | </van-popup> | 90 | </van-popup> |
| 103 | </template> | 91 | </template> |
| 104 | 92 | ||
| 105 | <script setup> | 93 | <script setup> |
| 106 | -import { ref } from "vue"; | 94 | +import { ref, getCurrentInstance, onMounted } from "vue"; |
| 107 | import icon_vip from '@/images/icon/vip@2x.png' | 95 | import icon_vip from '@/images/icon/vip@2x.png' |
| 108 | import Taro from '@tarojs/taro' | 96 | import Taro from '@tarojs/taro' |
| 109 | import { AtAvatar } from 'taro-ui-vue3' | 97 | import { AtAvatar } from 'taro-ui-vue3' |
| ... | @@ -112,31 +100,16 @@ import icon_join from '@/images/icon/baoming@2x.png' | ... | @@ -112,31 +100,16 @@ import icon_join from '@/images/icon/baoming@2x.png' |
| 112 | import icon_sel3 from '@/images/icon/sel03@2x.png' | 100 | import icon_sel3 from '@/images/icon/sel03@2x.png' |
| 113 | import bottomButton from "@/components/bottom-button"; | 101 | import bottomButton from "@/components/bottom-button"; |
| 114 | 102 | ||
| 115 | -const show_status_popup = ref(false); | 103 | +const internalInstance = getCurrentInstance(); |
| 116 | -const status_type = ref(''); | ||
| 117 | -const status_type_columns = ref(['净弘']); | ||
| 118 | -const onStatusTypeChange = (event) => { | ||
| 119 | - const { picker, value, index } = event.detail; | ||
| 120 | -} | ||
| 121 | -const onStatusTypeConfirm = (event) => { | ||
| 122 | - const { picker, value, index } = event.detail; | ||
| 123 | - show_status_popup.value = false; | ||
| 124 | - status_type.value = value; | ||
| 125 | - console.warn('查询新数据'); | ||
| 126 | -} | ||
| 127 | -const onStatusTypeCancel = (event) => { | ||
| 128 | - show_status_popup.value = false; | ||
| 129 | -} | ||
| 130 | - | ||
| 131 | const editInfo = (val) => { | 104 | const editInfo = (val) => { |
| 132 | Taro.navigateTo({ | 105 | Taro.navigateTo({ |
| 133 | - url: '../editInfo/index' | 106 | + url: '../editInfo/index?member_id=' + getCurrentPageParam().member_id + '&host_id=' + internalInstance.data.host_id |
| 134 | }) | 107 | }) |
| 135 | } | 108 | } |
| 136 | 109 | ||
| 137 | const onSubmit = (val) => { | 110 | const onSubmit = (val) => { |
| 138 | Taro.navigateTo({ | 111 | Taro.navigateTo({ |
| 139 | - url: '../addRecord/index' | 112 | + url: '../addRecord/index?id=' + internalInstance.data.id + '&host_id=' + internalInstance.data.host_id + '&name=' + JSON.stringify(internalInstance.data.name) |
| 140 | }) | 113 | }) |
| 141 | } | 114 | } |
| 142 | </script> | 115 | </script> |
| ... | @@ -145,9 +118,12 @@ const onSubmit = (val) => { | ... | @@ -145,9 +118,12 @@ const onSubmit = (val) => { |
| 145 | import "./index.less"; | 118 | import "./index.less"; |
| 146 | import { infoMemberAPI } from '@/api/Member/index'; | 119 | import { infoMemberAPI } from '@/api/Member/index'; |
| 147 | import { getCurrentPageParam } from "@/utils/weapp"; | 120 | import { getCurrentPageParam } from "@/utils/weapp"; |
| 121 | +import mixin from '@/utils/mixin'; | ||
| 122 | +import * as dayjs from 'dayjs' | ||
| 148 | 123 | ||
| 149 | export default { | 124 | export default { |
| 150 | name: "userInfoPage", | 125 | name: "userInfoPage", |
| 126 | + mixins: [mixin.init], | ||
| 151 | data () { | 127 | data () { |
| 152 | return { | 128 | return { |
| 153 | avatar: '', | 129 | avatar: '', |
| ... | @@ -155,6 +131,16 @@ export default { | ... | @@ -155,6 +131,16 @@ export default { |
| 155 | reg_count: '', | 131 | reg_count: '', |
| 156 | age_group: '', | 132 | age_group: '', |
| 157 | gender: '', | 133 | gender: '', |
| 134 | + id: '', | ||
| 135 | + host_id: '', | ||
| 136 | + phone: '', | ||
| 137 | + partner_list: [], | ||
| 138 | + partner_user_list: [], | ||
| 139 | + show_partner_popup: false, | ||
| 140 | + partner: '', | ||
| 141 | + partner_id: '', | ||
| 142 | + partner_columns: [], | ||
| 143 | + partner_index: 0 | ||
| 158 | } | 144 | } |
| 159 | }, | 145 | }, |
| 160 | async onShow () { | 146 | async onShow () { |
| ... | @@ -165,6 +151,38 @@ export default { | ... | @@ -165,6 +151,38 @@ export default { |
| 165 | this.reg_count = data.reg_count; | 151 | this.reg_count = data.reg_count; |
| 166 | this.age_group = data.member.age_group; | 152 | this.age_group = data.member.age_group; |
| 167 | this.gender = data.member.gender === 'man' ? '男士' : '女士'; | 153 | this.gender = data.member.gender === 'man' ? '男士' : '女士'; |
| 154 | + this.id = data.member.id; | ||
| 155 | + this.host_id = data.member.host_id; | ||
| 156 | + this.phone = data.member.phone; | ||
| 157 | + this.partner_list = data.partner_list; | ||
| 158 | + // 生成陪伴者显示列表 | ||
| 159 | + const user_list = []; | ||
| 160 | + data.partner_user_list.forEach(item => { | ||
| 161 | + user_list.push({ | ||
| 162 | + text: item.name, | ||
| 163 | + key: item.user_id, | ||
| 164 | + }) | ||
| 165 | + }); | ||
| 166 | + this.partner_columns = [{ text: '全部', key: '' }, ...user_list]; | ||
| 167 | + } | ||
| 168 | + }, | ||
| 169 | + methods: { | ||
| 170 | + async onPartnerConfirm (event) { | ||
| 171 | + const { picker, value, index } = event.detail; | ||
| 172 | + this.show_partner_popup = false; | ||
| 173 | + this.partner_id = value.key; | ||
| 174 | + this.partner = value.text; | ||
| 175 | + // | ||
| 176 | + const { code, data } = await infoMemberAPI({ i: getCurrentPageParam().member_id, created_by: this.partner_id }); | ||
| 177 | + if (code) { | ||
| 178 | + this.partner_list = data.partner_list; | ||
| 179 | + } | ||
| 180 | + }, | ||
| 181 | + onPartnerCancel (event) { | ||
| 182 | + this.show_partner_popup = false; | ||
| 183 | + }, | ||
| 184 | + formatDate (date) { | ||
| 185 | + return dayjs(date).format('YYYY-MM-DD HH:mm') | ||
| 168 | } | 186 | } |
| 169 | } | 187 | } |
| 170 | }; | 188 | }; | ... | ... |
-
Please register or login to post a comment