551 lines
19 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view class="user_bg">
<view :style="{paddingTop: vuex_custom_bar_height +40+ 'rpx'}">
<view class="tn-flex tn-flex-center tn-flex-col-center" style="padding:100rpx 30rpx 30rpx 30rpx;width: 100%;">
<view v-if="login && userInfo.photo_image">
<image :src="apiImgUrl+userInfo.photo_image"
@click="tn_ru('/pages/packageA/user/my_card?id='+userInfo.member_id)"
style="width: 100rpx;height: 100rpx;border-radius: 50%;"></image>
</view>
<view v-if="!login || !userInfo.photo_image">
<image src="/static/def.png" style="width: 100rpx;height: 100rpx;border-radius: 50%;"></image>
</view>
<view style="width: 100%;">
<view v-if="login" class="tn-flex tn-flex-col-center tn-flex-row-between">
<view style="margin-left: 20rpx;color: #000000;font-weight: 600;"
@click="tn_ru('/pages/packageA/user/my_card?id='+userInfo.member_id)">
<view style="font-size: 35rpx;">{{ userInfo.nikename }}</view>
<!-- <view v-if="userInfo.position_name!=null&&userInfo.if_member!=2"
style="font-size: 24rpx;margin-top: 10rpx;">
{{userInfo.position_name}}
</view> -->
<!-- <view
v-if="userInfo.if_member==2&&userInfo.association_id!=null&&userInfo.association_id!=0&&userInfo.if_xianshi==0"
style="font-size: 24rpx;margin-top: 10rpx;">
入会审核中
</view>
<view
v-if="userInfo.association_id==null||userInfo.association_id==0&&userInfo.if_member==2"
style="font-size: 24rpx;margin-top: 10rpx;">
游客
</view> -->
</view>
<view @click="tn('/pages/packageA/user/my_msg')">
<image class="no-img" src="/static/ico13.png" style="width: 40rpx ;" mode="widthFix"></image>
</view>
</view>
<view v-if="!login" class="tn-flex tn-flex-col-center tn-flex-row-between">
<view style="margin-left: 20rpx;color: #fff">
<!-- <tn-button @click="loginMod = true">点击登陆</tn-button> -->
<tn-button open-type="getPhoneNumber" @getphonenumber="PhoneLogin">点击登陆</tn-button>
</view>
<!-- <view @click="tn('/pages/index/my_edit')">-->
<!-- <image src="/static/ico13.png" style="width: 40rpx ;" mode="widthFix"></image>-->
<!-- </view>-->
</view>
</view>
</view>
<view style="padding:0rpx 30rpx;">
<image @click="tn_ru('/pages/packageA/user/apply_in?association_id='+loginData.association_id)" src="/static/user_ru.png" style="width: 100%;" mode="widthFix" class="no-img"></image>
</view>
</view>
<view>
<view style="padding: 30rpx;background-color: transparent;">
<view class="tn-flex tn-flex-center tn-flex-col-center tn-flex-row-between"
style="text-align: center;padding: 40rpx 30rpx;background-color: #FFF;border-radius: 20rpx;">
<view>
<view>
<image src="/static/wdfb.png" style="width: 80rpx;height: 80rpx;"></image>
</view>
<view style="margin-top: 10rpx;">
<text>我的发布</text>
</view>
</view>
<view @click="tn('/pages/packageA/user/events_my')">
<view>
<image src="/static/ico1.png" style="width: 80rpx;height: 80rpx;"></image>
</view>
<view style="margin-top: 10rpx;">
<text>我的活动</text>
</view>
</view>
<view>
<view>
<image src="/static/wdsc.png" style="width: 80rpx;height: 80rpx;"></image>
</view>
<view style="margin-top: 10rpx;">
<text>我的收藏</text>
</view>
</view>
<view @click="tn('/pages/index/pizz_info?id='+userInfo.association_id)">
<view>
<image src="/static/ico5.png" style="width: 80rpx;height: 80rpx;"></image>
</view>
<view style="margin-top: 10rpx;">
<text>所在协会</text>
</view>
</view>
<!-- <view @click="tn('/pages/index/pizz_info?id='+userInfo.association_id)">
<view>
<image src="/static/ico5.png" style="width: 50rpx;height: 50rpx;"></image>
</view>
<view style="margin-top: 10rpx;">
<text>所在商/协会</text>
</view>
</view>
<view @click="tn('/pages/packageA/user/events_my')">
<view>
<image src="/static/ico1.png" style="width: 50rpx;height: 50rpx;"></image>
</view>
<view style="margin-top: 10rpx;">
<text>参与活动</text>
</view>
</view>
<view @click="tn('/pages/packageA/user/my_desc')">
<view>
<image src="/static/02_2.png" style="width: 50rpx;height: 50rpx;"></image>
</view>
<view style="margin-top: 10rpx;">
<text>协会服务</text>
</view>
</view>
<view @click="tn('/pages/packageA/user/my_card?id='+userInfo.member_id)">
<view>
<image src="/static/ico6.png" style="width: 50rpx;height: 50rpx;"></image>
</view>
<view style="margin-top: 10rpx;">
<text>我的名片</text>
</view>
</view> -->
</view>
</view>
<view style="background-color: #fff;padding-bottom: 0rpx;margin:0rpx 30rpx;border-radius: 20rpx;">
<view style="padding:0px 20rpx;">
<tn-list-cell :unlined="true" v-if="login" :arrow="true" @click="tn('/pages/packageA/user/my_card_holder')">
<view class="tn-flex tn-flex-center tn-flex-col-center">
<image src="/static/icon13.png" style="width: 50rpx;height: 50rpx"></image>
<view style="margin-left: 20rpx;">名片夹</view>
</view>
</tn-list-cell>
<tn-list-cell :unlined="true" v-if="login" :arrow="true" @click="tn('/pages/packageA/user/my_edit')">
<view class="tn-flex tn-flex-center tn-flex-col-center">
<image src="/static/icon14.png" style="width: 50rpx;height: 50rpx"></image>
<view style="margin-left: 20rpx;">信息修改</view>
</view>
</tn-list-cell>
<!-- <tn-list-cell :arrow="true" @click="tn('/pages/index/my_pizz')">-->
<!-- <view class="tn-flex tn-flex-center tn-flex-col-center">-->
<!-- <image src="/static/ico7.png" style="width: 50rpx;height: 50rpx"></image>-->
<!-- <view style="margin-left: 20rpx;">所在商/协会</view>-->
<!-- </view>-->
<!-- </tn-list-cell>-->
<!-- <tn-list-cell :unlined="true" :arrow="true" v-if="login && userInfo.if_xianshi!=1"
@click="tn_ru('/pages/packageA/user/apply_in?association_id='+loginData.association_id)">
<view class="tn-flex tn-flex-center tn-flex-col-center">
<image src="/static/ico8.png" style="width: 50rpx;height: 50rpx"></image>
<view style="margin-left: 20rpx;">入会申请</view>
</view>
</tn-list-cell> -->
<!-- <tn-list-cell :unlined="true" :arrow="true" @click="tn('/pages/packageA/user/my_msg')">
<view class="tn-flex tn-flex-center tn-flex-col-center" style="position: relative;">
<image src="/static/ico9.png" style="width: 50rpx;height: 50rpx"></image>
<view style="margin-left: 20rpx;">我的消息</view>
<tn-badge v-if="msg()>0" style="position: absolute;right: 40rpx;width: 30rpx;height: 30rpx"
backgroundColor="#E83A30" fontColor="#ffffff">{{msg()}}</tn-badge>
</view>
</tn-list-cell> -->
<tn-list-cell :unlined="true" v-if="login" :arrow="true" @click="tn_ru('/pages/packageA/user/my_card?id='+userInfo.member_id)">
<view class="tn-flex tn-flex-center tn-flex-col-center">
<image src="/static/icon100.png" style="width: 50rpx;height: 50rpx"></image>
<view style="margin-left: 20rpx;">我的名片</view>
</view>
</tn-list-cell>
<tn-list-cell :unlined="true" v-if="login" :arrow="true" @click="tn('/pages/packageA/user/my_invite')">
<view class="tn-flex tn-flex-center tn-flex-col-center">
<image src="/static/ico10.png" style="width: 50rpx;height: 50rpx"></image>
<view style="margin-left: 20rpx;">邀请入会</view>
</view>
</tn-list-cell>
<tn-list-cell :unlined="true" v-if="login" :arrow="true" @click="tn('/pages/packageA/user/my_desc')">
<view class="tn-flex tn-flex-center tn-flex-col-center">
<image src="/static/icon101.png" style="width: 50rpx;height: 50rpx"></image>
<view style="margin-left: 20rpx;">协会服务</view>
</view>
</tn-list-cell>
<!-- <tn-list-cell :arrow="true" @click="tn('/pages/index/my_assist')">-->
<!-- <view class="tn-flex tn-flex-center tn-flex-col-center">-->
<!-- <image src="/static/ico10.png" style="width: 50rpx;height: 50rpx"></image>-->
<!-- <view style="margin-left: 20rpx;">常见问题</view>-->
<!-- </view>-->
<!-- </tn-list-cell>-->
<tn-list-cell :unlined="true" v-if="userInfo.shenhe==1&&login" :arrow="true"
@click="tn('/pages/packageA/user/user_auditing')">
<view class="tn-flex tn-flex-center tn-flex-col-center">
<image src="/static/icon15.png" style="width: 50rpx;height: 50rpx"></image>
<view style="margin-left: 20rpx;">信息审核</view>
</view>
</tn-list-cell>
<!-- <tn-list-cell :unlined="true" v-if="userInfo.shenhe==1&&login" :arrow="true"
@click="tn('/pages/packageA/user/user_activity')">
<view class="tn-flex tn-flex-center tn-flex-col-center">
<image src="/static/ico16.png" style="width: 50rpx;height: 50rpx"></image>
<view style="margin-left: 20rpx;">发布活动</view>
</view>
</tn-list-cell> -->
<tn-list-cell :unlined="true" :arrow="true" @click="tn('/pages/packageA/user/my_idea')">
<view class="tn-flex tn-flex-center tn-flex-col-center">
<image src="/static/ico12.png" style="width: 50rpx;height: 50rpx"></image>
<view style="margin-left: 20rpx;">意见反馈</view>
</view>
</tn-list-cell>
<!-- <tn-list-cell v-if="userInfo.if_business==1" :arrow="true"
@click="tn('/pages/packageA/user/my_vip')">
<view class="tn-flex tn-flex-center tn-flex-col-center">
<image src="/static/vip.png" style="width: 50rpx;height: 50rpx"></image>
<view style="margin-left: 20rpx;">会员卡</view>
</view>
</tn-list-cell> -->
<tn-list-cell :unlined="true" v-if="userInfo.business==1" :arrow="true"
@click="tn('/pages/packageA/user/my_vip_clerk')">
<view class="tn-flex tn-flex-center tn-flex-col-center">
<image src="/static/ico12.png" style="width: 50rpx;height: 50rpx"></image>
<view style="margin-left: 20rpx;">店员管理</view>
</view>
</tn-list-cell>
<!-- <tn-list-cell :arrow="true" @click="loginAut">
<view class="tn-flex tn-flex-center tn-flex-col-center">
<image src="/static/ico11.png" style="width: 50rpx;height: 50rpx"></image>
<view style="margin-left: 20rpx;">退出帐号</view>
</view>
</tn-list-cell> -->
</view>
</view>
<view style="padding: 30rpx;">
<view style="height: 100rpx;background-color: #FFF;border-radius: 20rpx;line-height: 100rpx;text-align: center">
退出登陆
</view>
</view>
</view>
<tn-popup v-model="loginMod" mode="bottom" :safeAreaInsetBottom="true">
<view class="custom-modal-content">
<view style="font-size: 30rpx;padding: 30rpx 30rpx 0rpx 30rpx;font-weight: 600;letter-spacing: 2rpx">
会员登陆</view>
<view class="text" style="padding: 40rpx;">
<tn-form ref="form" :labelWidth="120">
<tn-form-item prop="phone">
<tn-input placeholder="手机号" :customStyle="{width: '660rpx'}" v-model="loginData.phone" />
</tn-form-item>
<view style="height: 20rpx;"></view>
<tn-form-item prop="password">
<tn-input placeholder="密码" :customStyle="{width: '660rpx'}" :passwordIcon="false"
v-model="loginData.password" type="password" />
</tn-form-item>
<tn-form-item prop="code">
<tn-input v-model="code" :customStyle="{width: '400rpx'}" type="text"
placeholder="请输入验证码"></tn-input>
<view slot="right">
<view @click="getcheckCode"
style="letter-spacing: 2px; font-size: 42rpx; background-color: antiquewhite; padding: 5rpx 15rpx;">
<text v-for="(item,index) in identifyCode" :style="{color:colors[index]}">
{{ item }}
</text>
</view>
</view>
</tn-form-item>
</tn-form>
<view style="text-align: center;margin-top: 50rpx;">
<!-- <tn-button backgroundColor="#E6E6E6" fontColor="#ffffff"
@click="loginMod = false">取消</tn-button> -->
<tn-button style="border-radius: 0px;" height="80rpx" backgroundColor="#EEF0F2" width="100%"
fontColor="#000000" @click="submitLogin">确定</tn-button>
</view>
</view>
</view>
<view style="height: 120rpx;"></view>
</tn-popup>
<view @click="callPhone"
style="text-align: center;padding-bottom: 100rpx;font-size: 24rpx;color: rgba(153,153,153,0.5);letter-spacing: 2rpx;padding-top: 60rpx;">
<view>v{{vuex_version}}</view>
<view>技术支持洛商协工作小组</view>
<view>电话15503791530</view>
</view>
</view>
</template>
<script>
import {
getUserIndex,
loginDo,
wxphoneLogin
} from "@/util/api";
import store from "@/store";
export default {
data() {
return {
topCurrent: 0,
login: false,
loginMod: false,
userInfo: {},
apiImgUrl: this.$store.state.imgUrl,
loginData: {
openid: '',
phone: '',
password: '',
association_id: store.state.Gid
},
code: '',
identifyCode: '',
identifyCodeName: '',
colors: ['#00CCFF', '#FF0000', '#FF9933', '#33CC99'], // 可以根据需要增加颜色
}
},
mounted() {
//this.getcheckCode();
},
methods: {
onload() {
var uid = uni.getStorageSync('uid');
this.uid = uid;
if (uid) {
this.getUserInfo();
}
},
PhoneLogin(d) {
console.log(d);
var openid = uni.getStorageSync('openid');
wxphoneLogin({
code: d.code,
openid: openid
})
.then(res => {
console.log(res);
if (res.code == 1) {
uni.showToast({
title: '登陆成功!',
icon: 'none',
duration: 2000
});
uni.setStorageSync('uid', res.data.id);
uni.setStorageSync('userInfo', res.data);
this.userInfo = res.data;
this.login = true;
this.loginMod = false;
} else {
uni.showToast({
title: '登陆失败!',
icon: 'none',
duration: 2000
});
}
})
.catch(error => {
uni.showToast({
title: error,
icon: 'none',
duration: 2000
});
})
},
getcheckCode() {
let code = [];
const codeLength = 4;
var codeName = '';
const random = [
1, 2, 3, 4, 5, 6, 7, 8, 9, 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I',
'J', 'K', 'L', 'M', 'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W',
'X', 'Y', 'Z',
];
for (let i = 0; i < codeLength; i++) {
let index = Math.floor(Math.random() * 34);
code.push(random[index]);
codeName += random[index];
}
this.identifyCodeName = codeName;
this.identifyCode = code;
},
msg() {
return this.$store.state.msgCount;
},
getUserInfo() {
getUserIndex({
member_b_id: this.uid,
member_id: this.uid
})
.then(res => {
console.log(res);
if (res.code == 1) {
this.userInfo = res.data;
this.login = true;
}
})
.catch(error => {
uni.showToast({
title: error,
icon: 'none',
duration: 2000
});
})
},
submitLogin() {
console.log(this.code);
console.log(this.identifyCodeName);
if (this.code.toLowerCase() !== this.identifyCodeName.toLowerCase()) {
uni.showToast({
title: '验证码错误!',
icon: 'none',
duration: 2000
});
return;
}
if (this.loginData.phone == '') {
uni.showToast({
title: '请填写手机号!',
icon: 'none',
duration: 2000
});
return;
}
if (this.loginData.password == '') {
uni.showToast({
title: '请填写密码!',
icon: 'none',
duration: 2000
});
return;
}
this.loginData.openid = uni.getStorageSync('openid');
loginDo(this.loginData)
.then(res => {
console.log(res);
if (res.code == 1) {
uni.showToast({
title: '登陆成功!',
icon: 'none',
duration: 2000
});
uni.setStorageSync('uid', res.data.id);
uni.setStorageSync('userInfo', res.data);
this.userInfo = res.data;
this.login = true;
this.loginMod = false;
} else {
uni.showToast({
title: '帐号或密码错误!',
icon: 'none',
duration: 2000
});
}
})
.catch(error => {
uni.showToast({
title: error,
icon: 'none',
duration: 2000
});
})
},
loginAut() {
var that = this;
uni.showModal({
title: '提示',
content: '确定要退出吗?',
success: function(res) {
if (res.confirm) {
uni.removeStorageSync('uid');
that.login = false;
that.loginData.openid = '';
that.loginData.phone = '';
that.loginData.password = '';
that.code = '';
that.getcheckCode();
}
}
});
},
tn_ru(e) {
var url = "/pages/packageA/user/apply_in?association_id=" + store.state.Gid;
uni.navigateTo({
url: e
})
},
tn(e) {
var uid = uni.getStorageSync('uid');
console.log(this.userInfo);
console.log(this.login);
if (!this.login) {
uni.showToast({
title: '请登陆后查看',
icon: 'none',
duration: 2000
});
return;
}
if (this.userInfo.if_member == 2) {
if (e == '/pages/packageA/user/my_edit') {
uni.showToast({
title: '请入会后查看',
icon: 'none',
duration: 2000
});
return;
}
if (e.includes("/pages/packageA/user/my_invite")) {
uni.showToast({
title: '请入会后查看',
icon: 'none',
duration: 2000
});
return;
}
if (e.includes("/pages/index/pizz_info")) {
uni.showToast({
title: '请入会后查看',
icon: 'none',
duration: 2000
});
return;
}
if (e.includes("/pages/packageA/user/my_card")) {
uni.showToast({
title: '请入会后查看',
icon: 'none',
duration: 2000
});
return;
}
if (e.includes("/pages/packageA/user/my_desc")) {
uni.showToast({
title: '请入会后查看',
icon: 'none',
duration: 2000
});
return;
}
}
uni.navigateTo({
url: e
})
}
}
}
</script>
<style scoped>
.my_input view {
width: 100% !important;
}
.my_input input {
width: 100% !important;
}
.user_bg{
background: url('https://ysx.hschool.com.cn/uploads/1/20250508/fba457bced27c544cefc8538910bf3ec.png') no-repeat;
background-size: 100%;
height: 100%;
padding-bottom: 100rpx;
}
</style>