From 067883c72b282546402064eb1b78d8618d45b74d Mon Sep 17 00:00:00 2001
From: jhzh <1628036192@qq.com>
Date: Mon, 21 Apr 2025 17:23:10 +0800
Subject: [PATCH] 1
---
src/page/newUser/index.vue | 428 +++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 317 insertions(+), 111 deletions(-)
diff --git a/src/page/newUser/index.vue b/src/page/newUser/index.vue
index 92f5396..eb1d871 100644
--- a/src/page/newUser/index.vue
+++ b/src/page/newUser/index.vue
@@ -2,23 +2,29 @@
<div class="user_page">
<div class="content">
<div class="top_icon">
+
<div class="right_icon">
- <div @click="goToTopUp()">
+ <!-- <div @click="goToTopUp()">
<img src="@/assets/img/qianbao.png" alt />
+ </div> -->
+ <div style="justify-content: flex-end;">
+ <a href="https://t.me/Mc1992023" target="_blank">
+ <img style="width: 0.5rem;height: 0.5rem;" src="@/assets/img/kefu.png" alt />
+ </a>
</div>
- <div>
- <img src="@/assets/img/kefu.png" alt />
- </div>
+ <!-- <div @click="goOnline" style="justify-content: flex-end;">
+ <img style="width: 0.5rem;height: 0.5rem;" src="@/assets/img/kefu.png" alt />
+ </div> -->
</div>
</div>
- <div class="users">
+ <div class="users" @click="goWall()" style="display:none">
<div class="left_tou">
<div class="left_tx">
<div>
<img src="@/assets/img/eslogo.png" alt />
</div>
</div>
- <div class="right_name" @click="$router.push('/wallet')">
+ <div class="right_name">
<span>{{ userInfo.realName ? userInfo.realName : userInfo.phone }}</span>
</div>
</div>
@@ -28,58 +34,98 @@
</div>
<div class="center_card">
<div class="keyon">
- <span>{{ '总资产' }}</span>
+ <span>{{ $t('hj49') }}</span>
</div>
- <div class="num_price">
- <p
- v-if="this.$store.state.settingForm.indexDisplay && !this.$store.state.settingForm.futuresDisplay"
- class="account"
- >
- ¥{{ $store.state.hide ? '****' : Number($store.state.userInfo.userAmt +
- $store.state.userInfo.userIndexAmt).toFixed(2)
+ <div class="num_price" v-if="userInfo.length == 0">
+ ﷼0
+ </div>
+
+ <div class="num_price" v-if="userInfo.length != 0">
+ <p v-if="this.$store.state.settingForm.indexDisplay && !this.$store.state.settingForm.futuresDisplay"
+ class="account">
+ ﷼{{ $store.state.hide ? '****' : Number($store.state.userInfo.userAmt +
+ $store.state.userInfo.userIndexAmt).toFixed(2)
}}
</p>
- <p
- v-else-if="!this.$store.state.settingForm.indexDisplay && this.$store.state.settingForm.futuresDisplay"
- class="account"
- >
- ¥{{ $store.state.hide ? '****' : Number($store.state.userInfo.userAmt +
- $store.state.userInfo.userFuturesAmt).toFixed(2)
+ <p v-else-if="!this.$store.state.settingForm.indexDisplay && this.$store.state.settingForm.futuresDisplay"
+ class="account">
+ ﷼{{ $store.state.hide ? '****' : Number($store.state.userInfo.userAmt +
+ $store.state.userInfo.userFuturesAmt).toFixed(2)
}}
</p>
- <p
- v-else-if="!this.$store.state.settingForm.indexDisplay && !this.$store.state.settingForm.futuresDisplay"
- class="account"
- >¥{{ $store.state.hide ? '****' : Number($store.state.userInfo.userAmt).toFixed(2) }}</p>
+ <p v-else-if="!this.$store.state.settingForm.indexDisplay && !this.$store.state.settingForm.futuresDisplay"
+ class="account">﷼ {{ $store.state.hide ? '****' :
+ regexNum($store.state.userInfo.userAmt)
+ }}</p>
</div>
+ <div style="text-align: center;">Phone: {{ this.$store.state.userInfo.phone }}</div>
+
<div class="yk es">
<div>
- <span>{{ '盈亏' }}</span>
+ <span>{{ $t('hj55') }}</span>
</div>
<div>
- <span>{{ '可用余额(¥)' }}</span>
+ <span>{{ $t('hj141') }}</span>
+ </div>
+
+ <div>
+ <span>{{ $t('hj48') }}</span>
</div>
</div>
<div class="yk as">
<div>
+ <span class="orenge">﷼ {{ userInfo.length != 0 ? regexNum($store.state.userInfo.allFreezAmt +
+ $store.state.userInfo.djzj) : 0
+ }}</span>
+ </div>
+ <div v-if="userInfo.length == 0">
+ <span v-if="!selectUserFlag">
+ <span>{{ '﷼ 0' }}</span>
+ </span>
+ <span v-else>
+ <span>{{ '﷼ 0' }}</span>
+ </span>
+ </div>
+ <div v-if="userInfo.length != 0">
<span v-if="!selectUserFlag">
<span
- :class="$store.state.userInfo.allIndexProfitAndLose > 0 ? ' red' : $store.state.userInfo.allIndexProfitAndLose < 0 ? ' green' : ''"
- >{{ '¥ ' + $store.state.userInfo.allIndexProfitAndLose }}</span>
+ :class="$store.state.userInfo.allIndexProfitAndLose > 0 ? ' red' : $store.state.userInfo.allIndexProfitAndLose < 0 ? ' green' : ''">{{
+ '﷼ ' + $store.state.userInfo.allIndexProfitAndLose
+ }}</span>
</span>
<span v-else>
<span
- :class="$store.state.userInfo.allProfitAndLose > 0 ? ' red' : $store.state.userInfo.allProfitAndLose < 0 ? ' green' : ''"
- >{{ '¥ ' + $store.state.userInfo.allProfitAndLose }}</span>
+ :class="$store.state.userInfo.allProfitAndLose > 0 ? ' red' : $store.state.userInfo.allProfitAndLose < 0 ? ' green' : ''">{{
+ regexNum($store.state.userInfo.allProfitAndLose)
+ }}</span>
</span>
</div>
- <div>
- <span class="bzz" v-if="!selectUserFlag">{{ '¥ ' + $store.state.userInfo.userIndexAmt }}</span>
- <span class="bzz" v-else>{{ '¥ ' + $store.state.userInfo.userAmt }}</span>
+
+ <div v-if="userInfo.length == 0">
+ <span class="bzz" v-if="!selectUserFlag">{{ '﷼ 0' }}</span>
+ <span class="bzz" v-else>{{ '﷼ 0' }}</span>
+ </div>
+ <div v-if="userInfo.length != 0">
+ <span class="bzz" v-if="!selectUserFlag">{{ '﷼ ' + $store.state.userInfo.enableIndexAmt }}</span>
+ <span class="bzz" v-else>{{ ' ' + regexNum($store.state.userInfo.enableAmt) }}</span>
+ </div>
+
+ </div>
+ <!-- <div class="btns" @click="handleZh()" :class="selectUserFlag ? '' : 'active'">
+ <span>{{ selectUserFlag ? $t('hj142') : $t('hj143') }}</span>
+ </div> -->
+ </div>
+ <div class="jy" @click="goWall()">
+ <div class="left_gn">
+ <div class="l_icon">
+ <img src="../../assets/img/huazhuan2.png" alt />
+ </div>
+ <div class="r_title">
+ <span>{{ $t('hj256') }}</span>
</div>
</div>
- <div class="btns" @click="handleZh()" :class="selectUserFlag ? '' : 'active'">
- <span>{{ selectUserFlag ? '切换指数账户' : '切换沪深账户' }}</span>
+ <div class="right_gos">
+ <img src="../../assets/img/youjiantou.png" alt />
</div>
</div>
<div class="jy" @click="goToSettings()">
@@ -88,7 +134,7 @@
<img src="../../assets/img/xiugaimima.png" alt />
</div>
<div class="r_title">
- <span>{{ '修改密码' }}</span>
+ <span>{{ $t('hj144') }}</span>
</div>
</div>
<div class="right_gos">
@@ -101,7 +147,7 @@
<img src="../../assets/img/huazhuan2.png" alt />
</div>
<div class="r_title">
- <span>{{ '资金划转' }}</span>
+ <span>{{ $t('subdka') }}</span>
</div>
</div>
<div class="right_gos">
@@ -114,7 +160,7 @@
<img src="../../assets/img/shiming.png" alt />
</div>
<div class="r_title">
- <span>{{ '实名认证' }}</span>
+ <span>{{ $t('hj146') }}</span>
</div>
</div>
<div class="right_gos">
@@ -127,7 +173,7 @@
<img src="../../assets/img/shiming.png" alt />
</div>
<div class="r_title">
- <span>{{ '绑定银行卡' }}</span>
+ <span>{{ $t('hj147') }}</span>
</div>
</div>
<div class="right_gos">
@@ -140,7 +186,7 @@
<img src="../../assets/img/out2.png" alt />
</div>
<div class="r_title">
- <span>{{ '退出登录' }}</span>
+ <span>{{ $t('hj148') }}</span>
</div>
</div>
<div class="right_gos">
@@ -152,7 +198,7 @@
<div class="setting_content">
<div class="old_password">
<div class="left_titles">
- <span>{{ '旧密码:' }}</span>
+ <span>{{ $t('hj150') + ':' }}</span>
</div>
<div class="right_password_input">
<input type="password" v-model="oldPassword" />
@@ -160,7 +206,7 @@
</div>
<div class="old_password">
<div class="left_titles">
- <span>{{ '新密码:' }}</span>
+ <span>{{ $t('hj151') + ':' }}</span>
</div>
<div class="right_password_input">
<input type="password" v-model="newPassword" />
@@ -168,98 +214,185 @@
</div>
<div class="old_password">
<div class="left_titles">
- <span>{{ '确认新密码:' }}</span>
+ <span>{{ $t('hj152') + ':' }}</span>
</div>
<div class="right_password_input">
<input type="password" v-model="cirNewPassword" />
</div>
</div>
<div class="btn_setting" @click="changeLoginPsd()">
- <span>{{ '确认修改' }}</span>
+ <span>{{ $t('hj153') }}</span>
</div>
</div>
</van-popup>
- <loginPopup />
+
</div>
</template>
<script>
-import * as api from "@/axios/api";
-import { Toast } from "mint-ui";
-import { isNull, pwdReg } from "@/utils/utils";
-import loginPopup from "@/components/loginDialog.vue";
+import * as api from '@/axios/api'
+import { Toast, MessageBox } from 'mint-ui'
+import { isNull, pwdReg } from '@/utils/utils'
export default {
- name: "newUser",
+ name: 'newUser',
data() {
return {
- name: "大狗子",
+ name: '大狗子',
selectUserFlag: true,
settingDialog: false,
- oldPassword: "", // 旧密码
- newPassword: "", // 新密码
- cirNewPassword: "", //确认新密码
- userInfo: {},
- };
+ oldPassword: '', // 旧密码
+ newPassword: '', // 新密码
+ cirNewPassword: '', // 确认新密码
+ userInfo: [],
+ onlineService: ''
+ }
},
components: {
- loginPopup,
},
created() {
- this.getUserInfo();
+ this.getUserInfo()
+ this.getInfoSite()
},
methods: {
+ regexNum(str) {
+ console.log(str);
+ str = str.toString()
+ if (str.indexOf(".") == -1) {
+ str = str + ".00"
+ }
+
+ var newStr = str.split('.')
+ var point = newStr[1]
+
+ if (point.length < 2) {
+ point = point + "0"
+ }
+ var moneyPoint = newStr[0]
+ if (moneyPoint.length <= 3) {
+ return moneyPoint + "." + point
+ } else {
+ var mPoint = moneyPoint.substr(moneyPoint.length - 3, moneyPoint.length)
+ var twoPoint = moneyPoint.substr(0, moneyPoint.length - 3)
+ var endString = twoPoint.toString().replace(/(\d)(?=(\d{2})+(?!\d))/g, '$1,')
+ return endString + "," + mPoint + '.' + point;
+
+ }
+ },
+ goOnline() {
+ if (navigator.vibrate) {
+ // 支持
+ navigator.vibrate([55])
+ }
+ this.$router.push('/service')
+ },
+ async getInfoSite() {
+ let data = await api.getInfoSite()
+ if (data.status === 0) {
+ this.onlineService = data.data.onlineService
+ } else {
+ Toast(data.msg)
+ }
+ },
+ goWall() {
+ // if (this.userInfo.length === 0) {
+ // this.$store.commit('dialogVisible', true)
+ // return
+ // }
+ this.$router.push('/recharge')
+ },
handleZh() {
- this.selectUserFlag = !this.selectUserFlag;
- this.dialogVisible = true;
+ this.selectUserFlag = !this.selectUserFlag
+
+ if (this.userInfo.length === 0) {
+ this.$store.commit('dialogVisible', true)
+ return
+ }
+ if (navigator.vibrate) {
+ // 支持
+ navigator.vibrate([55])
+ }
},
async getUserInfo() {
// 获取用户信息
- let data = await api.getUserInfo();
+ let data = await api.getUserInfo()
if (data.status === 0) {
// 判断是否登录
- this.$store.state.userInfo = data.data;
- this.userInfo = data.data;
+ this.$store.commit('dialogVisible', false)
+ this.$store.state.userInfo = data.data
+ this.userInfo = data.data
} else {
+ this.$store.commit('dialogVisible', true)
}
},
goToTopUp() {
- this.$router.push("/wallet");
+ if (this.userInfo.length === 0) {
+ this.$store.commit('dialogVisible', true)
+ return
+ }
+ if (navigator.vibrate) {
+ // 支持
+ navigator.vibrate([55])
+ }
+ this.$router.push('/wallet')
},
handleOutLoginClick() {
// 退出登录
- this.toRegister();
+ MessageBox.confirm(this.$t('hj149') + '?', this.$t('hj165'), {
+ confirmButtonText: this.$t('hj161'),
+ cancelButtonText: this.$t('hj106')
+ }).then(() => {
+ this.toRegister()
+ }).catch(() => {
+
+ })
},
goToSettings() {
+ // if (this.userInfo.length === 0) {
+ // this.$store.commit('dialogVisible', true)
+ // return
+ // }
// 每次打开dialog 清空密码数据
- this.settingDialog = !this.settingDialog;
+ this.settingDialog = !this.settingDialog
if (this.settingDialog) {
- this.oldPassword = "";
- this.newPassword = "";
- this.cirNewPassword = "";
+ this.oldPassword = ''
+ this.newPassword = ''
+ this.cirNewPassword = ''
}
},
handleGoToTransfer() {
- this.$router.push("/transfers");
+ // if (this.userInfo.length === 0) {
+ // this.$store.commit('dialogVisible', true)
+ // return
+ // }
+ this.$router.push('/RechargeSure')
},
handleGoToAuthentication() {
- this.$router.push("/authentications");
+ // if (this.userInfo.length === 0) {
+ // this.$store.commit('dialogVisible', true)
+ // return
+ // }
+ this.$router.push('/authentications')
},
handleGoToBankCard() {
- this.$router.push("/bankCard");
+ // if (this.userInfo.length === 0) {
+ // this.$store.commit('dialogVisible', true)
+ // return
+ // }
+ this.$router.push('/banklist')
},
async toRegister() {
// 注销登陆
- window.localStorage.clear("USERTOKEN"); // 清空本地存储 USERTOKEN字段
- this.clearCookie();
- let data = await api.logout();
+ window.localStorage.removeItem('USERTOKEN') // 清空本地存储 USERTOKEN字段
+ this.clearCookie()
+ let data = await api.logout()
if (data.status === 0) {
// Toast(data.msg)
- this.$router.push("/login");
+ this.$router.push('/login')
} else {
- Toast(data.msg);
+ Toast(data.msg)
}
- this.$router.push("/login");
+ this.$router.push('/login')
},
async changeLoginPsd() {
// 修改密码
@@ -268,61 +401,79 @@
isNull(this.newPassword) ||
isNull(this.cirNewPassword)
) {
- Toast("请输入新旧密码");
- this.settingDialog = false;
+ Toast(this.$t('hj154'))
+ this.settingDialog = false
} else if (!pwdReg(this.newPassword)) {
- Toast("密码为6~12位,数字、字母或符号");
- this.settingDialog = false;
+ Toast(this.$t('hj19'))
+ this.settingDialog = false
} else {
// 修改密码
if (this.newPassword === this.cirNewPassword) {
let opts = {
oldPwd: this.oldPassword,
newPwd: this.newPassword
- };
- let data = await api.changePassword(opts);
+ }
+ let data = await api.changePassword(opts)
if (data.status === 0) {
- this.changeLoginPsdBox = false;
- Toast(data.msg);
- this.settingDialog = false;
+ this.changeLoginPsdBox = false
+ Toast(data.msg)
+ this.settingDialog = false
} else {
- Toast(data.msg);
- this.settingDialog = false;
+ Toast(data.msg)
+ this.settingDialog = false
}
} else {
- Toast("新密码不一致");
- this.settingDialog = false;
+ Toast(this.$t('hj155'))
+ this.settingDialog = false
}
}
+ if (navigator.vibrate) {
+ // 支持
+ navigator.vibrate([55])
+ }
}
- }
-};
+ },
+
+}
</script>
<style scoped lang="less">
+.green {
+ color: #028f52 !important;
+}
+
+.red {
+ color: #b60c0d !important;
+}
+
.user_page {
width: 100%;
height: calc(100% - 1.3rem);
+
.content {
width: 100%;
height: 100%;
padding: 0 0.3rem;
+
.top_icon {
width: 100%;
height: 1.5rem;
display: flex;
justify-content: flex-end;
align-items: center;
+
.right_icon {
- width: 25%;
+ width: 17%;
height: 50%;
display: flex;
- > div {
- width: 50%;
+
+ >div {
+ width: 100%;
height: 100%;
display: flex;
- justify-content: center;
+ justify-content: space-between;
align-items: center;
+
img {
width: 0.6rem;
height: 0.6rem;
@@ -330,6 +481,7 @@
}
}
}
+
.users {
width: 100%;
height: 1.7949rem;
@@ -338,10 +490,12 @@
display: flex;
align-items: center;
justify-content: space-between;
+
.left_tou {
width: 80%;
height: 70%;
display: flex;
+
.left_tx {
width: 20%;
height: 100%;
@@ -349,29 +503,34 @@
display: flex;
align-items: center;
justify-content: center;
- > div {
+
+ >div {
width: 1rem;
height: 1rem;
border-radius: 50%;
overflow: hidden;
background: rgb(211, 211, 211);
+
img {
width: 100%;
height: 100%;
}
}
}
+
.right_name {
width: 80%;
height: 100%;
display: flex;
align-items: center;
font-size: 0.4415rem;
+
span {
font-weight: 600;
}
}
}
+
.right_go {
width: 20%;
height: 70%;
@@ -379,69 +538,98 @@
justify-content: flex-end;
align-items: center;
padding-right: 0.2rem;
+
img {
width: 0.6rem;
height: 0.6rem;
}
}
}
+
.center_card {
width: 100%;
- height: 5.3846rem;
+ // height: 5.3846rem;
background-image: linear-gradient(to right bottom, #ffffff, #dfedfc);
// background-image: linear-gradient(to right, #ffffff , #dfedfc);
- margin-top: 0.5rem;
+ // margin-top: 0.5rem;
border-radius: 0.15rem;
padding: 0.5rem 0.4rem;
+
.keyon {
width: 100%;
- height: 0.5128rem;
font-size: 0.359rem;
display: flex;
align-items: center;
color: #3d4144;
+ font-weight: 600;
+ justify-content: center;
+ padding-bottom: 0.2rem;
+
span {
font-weight: 600;
+ font-size: 0.6rem;
}
}
+
.num_price {
width: 100%;
- height: 0.6667rem;
+ // height: 0.6667rem;
margin-top: 0.1rem;
display: flex;
align-items: center;
+ justify-content: center;
font-size: 0.5528rem;
+ padding-bottom: 0.3rem;
+
span {
font-weight: 600;
}
}
+
+ .account {
+ font-size: 0.6rem;
+ font-weight: 600;
+ }
+
.yk {
width: 100%;
height: 0.5rem;
display: flex;
align-items: center;
- > div {
- width: 50%;
+ justify-content: space-between;
+
+ >div {
+ width: 33%;
height: 100%;
color: #97989d;
display: flex;
align-items: center;
+ justify-content: center;
+ }
+
+ .orenge {
+ // color: rgb(216, 141, 1) !important;
}
}
+
.yk.es {
margin-top: 0.3rem;
}
+
.yk.as {
font-size: 0.4033rem;
margin-top: 0.1rem;
+
span {
color: #000;
font-weight: 600;
}
+
.bzz {
- color: #4ea364;
+ // color: #4ea364;
}
}
+
.btns {
width: 100%;
height: 1.2821rem;
@@ -453,14 +641,17 @@
font-size: 0.4015rem;
color: #fff;
margin-top: 0.35rem;
+
span {
font-weight: 600;
}
}
+
.active {
background: #4ea364;
}
}
+
.jy {
width: 100%;
height: 1.5rem;
@@ -471,39 +662,47 @@
justify-content: space-between;
padding: 0 0.3rem;
margin-top: 0.3rem;
+
.left_gn {
- width: 40%;
+ // width: 40%;
height: 60%;
display: flex;
+
.l_icon {
- width: 30%;
+ // width: 30%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
+
img {
width: 0.5041rem;
height: 0.5041rem;
}
}
+
.r_title {
- width: 70%;
+ // width: 70%;
height: 100%;
display: flex;
align-items: center;
font-size: 0.4046rem;
color: #404040;
+ padding-left: 0.3rem;
+
span {
font-weight: 600;
}
}
}
+
.right_gos {
- width: 20%;
+ // width: 20%;
height: 60%;
display: flex;
align-items: center;
justify-content: flex-end;
+
img {
width: 0.6rem;
height: 0.6rem;
@@ -512,10 +711,12 @@
}
}
}
+
.setting_content {
width: 100%;
height: 5rem;
padding: 0.3rem;
+
.old_password {
width: 100%;
height: 1rem;
@@ -523,22 +724,26 @@
border-radius: 0.15rem;
display: flex;
margin-top: 0.5rem;
+
.left_titles {
width: 25%;
height: 100%;
display: flex;
align-items: center;
padding-left: 0.2rem;
+
// justify-content: flex-end;
span {
font-weight: 600;
}
}
+
.right_password_input {
width: 80%;
height: 100%;
display: flex;
align-items: center;
+
input {
width: 100%;
height: 100%;
@@ -546,6 +751,7 @@
}
}
}
+
.btn_setting {
width: 100%;
height: 1.3rem;
@@ -557,10 +763,10 @@
display: flex;
align-items: center;
justify-content: center;
+
span {
font-weight: 600;
}
}
}
-
-</style>
\ No newline at end of file
+</style>
--
Gitblit v1.9.3