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">﷼&nbsp;&nbsp;{{ $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