From 6b019592ce032937fd6d3631a912fa8cd37e9fe4 Mon Sep 17 00:00:00 2001
From: PC-20250623MANY\Administrator <344137771@qq.com>
Date: Thu, 07 Aug 2025 14:56:31 +0800
Subject: [PATCH] 1

---
 src/locales/es.json                     |   25 
 src/page/user/compontents/cash-list.vue |   28 
 src/page/bankCard/banklist.vue          |    4 
 src/page/markets/blockTrading.vue       |    4 
 src/page/user/loanRecord.vue            |    2 
 src/page/markets/ipo.vue                |    6 
 src/page/user/recharge-sure.vue         |    2 
 src/page/kline/index.vue                |    3 
 src/page/markets/blockTradingOrder.vue  |   13 
 src/page/markets/ipoOrder.vue           |    7 
 src/page/trading/stockRecord.vue        |    5 
 src/axios/api.js                        |    2 
 src/page/home/homeIndex.vue             |   31 
 src/router/index.js                     |    2 
 src/assets/img/logo.png                 |    0 
 src/components/tabHead.vue              |   29 
 src/page/user/Warehouse/Stockdetail.vue |   15 
 src/locales/en.json                     |   31 
 src/page/login/login.vue                |   74 ++
 src/page/newUser/setting.vue            |   33 
 src/page/authentication/index-old.vue   |  433 +++++++++++++++++
 src/page/authentication/index.vue       |  693 +++++++++++----------------
 src/page/kline/components/kLine.vue     |    2 
 src/page/markets/aiTrading.vue          |    4 
 24 files changed, 916 insertions(+), 532 deletions(-)

diff --git a/src/assets/img/logo.png b/src/assets/img/logo.png
new file mode 100644
index 0000000..9ad6ec8
--- /dev/null
+++ b/src/assets/img/logo.png
Binary files differ
diff --git a/src/axios/api.js b/src/axios/api.js
index f1864fb..6661e1a 100644
--- a/src/axios/api.js
+++ b/src/axios/api.js
@@ -335,7 +335,7 @@
 export function getIndexOrderList(options) {
   return post("/user/index/position/list.do", options);
 }
-// 获取我的持仓单 - 指数
+// 获取我的持仓单 - 股票
 export function findByPostionSn(options) {
   return post("/user/position/findByPostionSn.do", options);
 }
diff --git a/src/components/tabHead.vue b/src/components/tabHead.vue
index c80aeb5..58b3022 100644
--- a/src/components/tabHead.vue
+++ b/src/components/tabHead.vue
@@ -16,34 +16,19 @@
       <slot></slot>
     </div>
     <!-- 搜索弹窗 -->
-    <van-popup
-      v-model="searchShow"
-      round
-      position="bottom"
-      :style="{ height: '80%' }"
-    >
+    <van-popup v-model="searchShow" round position="bottom" :style="{ height: '80%' }">
       <div class="popup_head">
         <van-icon name="arrow-left" size=".5em" @click="searchShow = false" />
         <div class="popup_input">
-          <van-field
-            v-model="searchValue"
-            :placeholder="$t('hj37')"
-            left-icon="search"
-            clearable
-          />
+          <van-field v-model="searchValue" :placeholder="$t('hj37')" left-icon="search" clearable />
         </div>
         <van-button type="primary" round @click="submit">{{
           $t("Search")
         }}</van-button>
       </div>
 
-      <van-list
-        v-model="loading"
-        :finished="finished"
-        :finished-text="$t('hj43')"
-        @load="onLoad"
-        v-if="(lists && lists.length > 0) || !finished"
-      >
+      <van-list v-model="loading" :finished="finished" :finished-text="$t('hj43')" @load="onLoad"
+        v-if="(lists && lists.length > 0) || !finished">
         <van-cell v-for="item in lists" :key="item.id" @click="toDetails(item)">
           <div class="search_item">
             <div class="search_item_left">
@@ -108,12 +93,12 @@
     this.getInfoSite();
   },
   methods: {
+    // 跳转客服页面
     aRouter1() {
-      // 跳转客服页面
       window.open(this.onlineService);
     },
+    // 获取客服地址
     async getInfoSite() {
-      // 获取客服地址
       let data = await api.getInfoSite();
       if (data.status === 0) {
         this.onlineService = data.data.onlineService;
@@ -129,7 +114,7 @@
       // 跳转设置页面
       this.$router.push("/setting");
     },
-    onLoad: handleDt.throttle(async function(a, b) {
+    onLoad: handleDt.throttle(async function (a, b) {
       // 搜索列表加载
       this.finished = false;
       let opt = {
diff --git a/src/locales/en.json b/src/locales/en.json
index afd298e..6b19da1 100644
--- a/src/locales/en.json
+++ b/src/locales/en.json
@@ -18,7 +18,7 @@
   "yszc": "Privacy Policy",
   "zgzs": "Qualification certificate",
   "ysmrz": "Real-name authenticated",
-  "dlan": "Log in",
+  "dlan": "Login",
   "dltips": "After logging in, you can start real/simulated trading.",
   "usertop": "Total account assets (USD)",
   "pcje": "Closing amount",
@@ -39,7 +39,7 @@
   "aym": "Accumulated P/L(INR)",
   "disana": "Frozen assets (INR)",
   "disan": "Available Assets (INR)",
-  "setting": "Set up",
+  "setting": "Setting",
   "caidan": "Qualification",
   "bz": "Help",
   "kf": "Customer Service",
@@ -109,8 +109,9 @@
   "wjs": "Unsettlement",
   "wei": "Not yet",
   "yi": "Already",
-  "sqz": "Applying",
+  "sqz": "Pending Approval",
   "sptg": "Approved",
+  "sqsb": "Approval Failed",
   "shjj": "Review rejected",
   "dkffcg": "The loan was issued successfully",
   "dkjg": "Lending institution",
@@ -191,7 +192,7 @@
   "hj61": "Optional",
   "hj62": "Market",
   "hj620": "Limit Down",
-  "hj621": "Cap discount stock",
+  "hj621": "Block Trading",
   "hj63": "Shanghai, Shenzhen and Beijing",
   "hj64": "Science and technology innovation",
   "hj65": "US stocks",
@@ -268,11 +269,11 @@
   "hj140": "Failed to close position, not within trading hours",
   "hj142": "Switch index account",
   "hj143": "Switch between Shanghai and Shenzhen accounts",
-  "hj144": "Change Password",
+  "hj144": "Login password",
   "hj145": "Funds transfer",
   "hj146": "Verify",
   "hj1461": "Download App",
-  "hj147": "Bind Bank Card",
+  "hj147": "Bank Cards",
   "hj148": "Sign out",
   "hj149": "Are you sure you want to log out?",
   "hj150": "Old Password",
@@ -594,8 +595,8 @@
   "当前充值渠道已关闭请选择在线客服进行充值。": "The current recharge channel has been closed Please choose online customer service to recharge.",
   "删除": "Delete",
   "快捷方式": "Quick Access",
-  "量化交易": "Quantitative trading",
-  "理财基金": "Wealth management fund",
+  "量化交易": "AI Quantitative trading",
+  "理财基金": "Fund Investment",
   "美股指数": "Us stock index",
   "墨西哥指数": "Mexican Index",
   "更多新闻": "More news",
@@ -667,5 +668,17 @@
   "日内":"In the meantime",
   "建仓成本":"Position-building cost",
   "已申购":"Already purchased",
-  "hj316": "Please enter bank cardholder name"
+  "hj316": "Please enter bank cardholder name",
+  "Password": "Password",
+  "rnv":"Real Name Verification",
+  "it1":"ID Type",
+  "dl1":"Driver License",
+  "pa1":"Passport",
+  "ot1":"Other",
+  "in1":"Identification Number",
+  "fsi1":"Front Side of ID Photo",
+  "bsi1":"Back Side of ID Photo",
+  "uv1":"Under Verification",
+  "sc":"Stock Code",
+  "abc":"Add bank card"
 }
\ No newline at end of file
diff --git a/src/locales/es.json b/src/locales/es.json
index 245436b..db5d1d9 100644
--- a/src/locales/es.json
+++ b/src/locales/es.json
@@ -111,8 +111,9 @@
   "yjs": "Liquidado",
   "wei": "No",
   "yi": "Sí",
-  "sqz": "En Solicitud",
+  "sqz": "Pendiente de aprobación",
   "sptg": "Aprobado",
+  "sqsb": "Aprobación fallida",
   "shjj": "Rechazado",
   "dkffcg": "Desembolso de Préstamo Exitoso",
   "dkjg": "Institución Crediticia",
@@ -279,11 +280,11 @@
   "hj141": "Tasa de Ganancia/Pérdida",
   "hj142": "Cambiar a Cuenta de Índices",
   "hj143": "Cambiar a Cuenta SH/SZ/BJ",
-  "hj144": "Cambiar Contraseña",
+  "hj144": "Cambiar contraseña de acceso",
   "hj145": "Transferencia de Fondos",
   "hj146": "Verificar",
   "hj1461": "Descargar App",
-  "hj147": "Vincular Tarjeta Bancaria",
+  "hj147": "Agregar cuenta bancaria",
   "hj148": "Cerrar Sesión",
   "hj149": "¿Confirmar cierre de sesión?",
   "hj150": "Contraseña Anterior",
@@ -334,7 +335,7 @@
   "hj192": "Ingrese el monto a transferir",
   "hj193": "Confirmar transferencia a cuenta de índices",
   "hj194": "Confirmar transferencia a cuenta de financiamiento",
-  "hj195": "Nombre Real",
+  "hj195": "Nombre real",
   "hj196": "Número de Identificación",
   "hj197": "Frente de Identificación",
   "hj198": "Subiendo...",
@@ -579,7 +580,7 @@
   "当前充值渠道已关闭请选择在线客服进行充值。": "Canal de recarga cerrado, contacte servicio al cliente.",
   "删除": "Eliminar",
   "快捷方式": "Accesos Rápidos",
-  "量化交易": "Trading Cuantitativo",
+  "量化交易": "Negociación cuantitativa de IA",
   "理财基金": "Fondos de Inversión",
   "美股指数": "Índices EE.UU.",
   "墨西哥指数": "Índices México",
@@ -652,5 +653,17 @@
   "日内": "Intradía",
   "建仓成本": "Costo de Apertura",
   "已申购": "Suscrito",
-  "hj316": "Introduzca el nombre del titular de la tarjeta bancaria"
+  "hj316": "Introduzca el nombre del titular de la tarjeta bancaria",
+  "Password": "contraseña",
+  "rnv":"Verificación de identidad",
+  "it1":"Tipo de identificación",
+  "dl1":"Licencia de conducir",
+  "pa1":"Pasaporte",
+  "ot1":"Otro",
+  "in1":"Número de identificación",
+  "fsi1":"Foto frontal del ID",
+  "bsi1":"Foto trasera del ID",
+  "uv1":"En verificación",
+  "sc":"Código de existencias",
+  "abc":"Añadir tarjeta bancaria"
 }
\ No newline at end of file
diff --git a/src/page/authentication/index-old.vue b/src/page/authentication/index-old.vue
new file mode 100644
index 0000000..0115a4a
--- /dev/null
+++ b/src/page/authentication/index-old.vue
@@ -0,0 +1,433 @@
+<template>
+  <div class="bank_card_page">
+    <van-nav-bar :placeholder="true" :safe-area-inset-top="true" :title="$t('rnv')" left-arrow
+      @click-left="$router.go(-1)">
+    </van-nav-bar>
+    <div class="content">
+      <!--      <div class="top_back">
+        <div class="left_back_icon" @click="$router.go(-1)">
+          <img src="../../assets/img/zuojiantou.png" alt />
+        </div>
+      </div> -->
+      <!-- <div class="titles">
+        <span>{{ $t("hj146") }}</span>
+      </div> -->
+      <div class="bank_name">
+        <div class="lefts">
+          <span>{{ $t("hj195") + ":" }}</span>
+        </div>
+        <div class="rights">
+          <input v-if="showBtn" type="text" placeholder="Please enter your Name" v-model="form.name" />
+
+          <input v-if="!showBtn" type="text" v-model="form.name" readonly />
+        </div>
+      </div>
+      <div class="bank_name">
+        <div class="lefts">
+          <span>{{ $t("hj196") + ":" }}</span>
+        </div>
+        <div class="rights">
+          <input v-if="showBtn" type="text" placeholder="Please enter your Aadhaar card" v-model="form.idCard" />
+          <input v-if="!showBtn" type="text" v-model="form.idCard" readonly />
+        </div>
+      </div>
+      <div class="bank_name">
+        <div class="lefts">
+          <span>{{ $t("电话号码") + ":" }}</span>
+        </div>
+        <div class="rights">
+          <input v-if="showBtn" type="text" placeholder="Please enter your telephone number"
+            v-model="form.vaildNumber" />
+          <input v-if="!showBtn" type="text" v-model="form.vaildNumber" readonly />
+        </div>
+      </div>
+      <div class="uploads">
+        <div class="lefts">
+          <el-upload :with-credentials="true" class="avatar-uploader" :action="admin + 'user/upload.do'"
+            list-type="picture-card" name="upload_file" :show-file-list="false" :on-success="handleAvatarSuccess"
+            :on-error="handleError" :before-upload="beforeAvatarUpload" :disabled="!showBtn">
+            <img v-if="form.img1key" :src="form.img1key" class="id-img avatar" style="width: 100%; height: 100%" />
+            <i v-else class="iconfont icon-zhaopian"></i>
+            <span v-if="!form.img1key && !imgStatus" class="btn-title">{{
+              $t("hj197")
+            }}</span>
+            <span v-if="imgStatus" class="btn-title">{{ $t("hj198") }}</span>
+          </el-upload>
+        </div>
+        <div class="rights">
+          <el-upload :with-credentials="true" class="avatar-uploader" :action="admin + 'user/upload.do'"
+            list-type="picture-card" name="upload_file" :show-file-list="false" :on-success="handleAvatarSuccess2"
+            :on-error="handleError2" :before-upload="beforeAvatarUpload2" :disabled="!showBtn">
+            <img v-if="form.img2key" :src="form.img2key" class="id-img avatar" style="width: 100%; height: 100%" />
+            <i v-else class="iconfont icon-zhaopian"></i>
+            <span v-if="!form.img2key && !imgStatus2" class="btn-title">{{
+              $t("hj199")
+            }}</span>
+            <span v-if="imgStatus2" class="btn-title">{{ $t("hj198") }}</span>
+          </el-upload>
+        </div>
+      </div>
+      <div class="bank_name bind" @click="toSure" v-if="showBtn">
+        <span>{{ $t("hj161") }}</span>
+      </div>
+      <van-notify v-model="messFlag" type="primary">
+        <div>
+          <div class="eft">
+            <span>{{ $t("hj200") }}</span>
+          </div>
+          <div class="bft">
+            <span>{{ $t("hj201") }}:{{ this.$store.state.userInfo.authMsg }}</span>
+          </div>
+        </div>
+      </van-notify>
+      <div class="pass">
+        <div class="top_t">
+          <img v-if="this.$store.state.userInfo.isActive == 1" src="../../../static/img/bd_shz.png" />
+          <span v-if="this.$store.state.userInfo.isActive == 1" class="ise_pass">{{ $t("hj202") }}</span>
+          <img v-if="!showBtn && this.$store.state.userInfo.isActive != 1" src="../../../static/img/bd_suessce.png" />
+          <span v-if="!showBtn && this.$store.state.userInfo.isActive != 1">{{
+            $t("hj203")
+          }}</span>
+          <img v-if="showBtn" src="../../../static/img/bd_fail.png" />
+          <span v-if="showBtn" class="ise_pass">{{ $t("hj204") }}</span>
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+import * as api from "@/axios/api";
+import { Toast } from "mint-ui";
+import { isNull, idCardReg, isName } from "@/utils/utils";
+import { compress } from "@/utils/imgupload";
+import apiUrl from "@/axios/api.url.js";
+export default {
+  name: "bankCard",
+  data() {
+    return {
+      form: {
+        phone: "",
+        name: "",
+        idCard: "",
+        vaildNumber: "",
+        img1key: "",
+        img2key: "",
+        img3key: "",
+      },
+      img1Key: "",
+      img2Key: "",
+      img3Key: "",
+      showBtn: true,
+      admin: apiUrl.baseURL,
+      imgStatus: false,
+      imgStatus2: false,
+      messFlag: this.$store.state.userInfo.isActive == 3 ? true : false,
+    };
+  },
+  created() {
+    this.getUserInfo();
+  },
+
+  beforeDestroy() {
+    if (this.$state.theme == "red") {
+      document.body.classList.remove("red-bg");
+      document.body.classList.add("black-bg");
+    }
+  },
+  mounted() {
+    if (this.$state.theme == "red") {
+      document.body.classList.remove("black-bg");
+      document.body.classList.add("red-bg");
+    }
+  },
+  methods: {
+    handleAvatarSuccess(res, file) {
+      this.imgStatus = false;
+      this.form.img1key = res.data.url;
+    },
+    beforeAvatarUpload(file) {
+      this.imgStatus = true;
+    },
+    handleError() {
+      this.imgStatus = false;
+    },
+    handleAvatarSuccess2(res, file) {
+      this.imgStatus2 = false;
+      this.form.img2key = res.data.url; // URL.createObjectURL(file.raw);
+    },
+    beforeAvatarUpload2(file) {
+      this.imgStatus2 = true;
+      const isLt10M = file.size / 1024 / 1024 < 10;
+      if (!isLt10M) {
+        this.$message.error(this.$t("hj205"));
+        return false;
+      } else {
+        this.form.img2key = URL.createObjectURL(file);
+        compress(file, function (val) { });
+      }
+    },
+    handleError2() {
+      this.imgStatus2 = false;
+    },
+    handleAvatarSuccess3(res, file) {
+      this.form.img3key = res.data.url; // URL.createObjectURL(file.raw);
+    },
+    async getUserInfo() {
+      // 获取用户信息
+      let data = await api.getUserInfodata();
+      if (data.status === 0) {
+        // 判断是否登录
+        this.$store.commit("dialogVisible", false);
+        this.$store.state.userInfo = data.data;
+        this.userInfo = data.data;
+        if (
+          this.$store.state.userInfo.isActive === 1 ||
+          this.$store.state.userInfo.isActive === 2
+        ) {
+          this.form.idCard = this.$store.state.userInfo.idCard;
+          this.form.vaildNumber = this.$store.state.userInfo.vaildNumber;
+          this.form.name = this.$store.state.userInfo.realName;
+          this.form.img1key = this.$store.state.userInfo.img1Key;
+          this.form.img2key = this.$store.state.userInfo.img2Key;
+          this.showBtn = false;
+        }
+      } else {
+        //this.$store.commit('dialogVisible',true);
+        //跳转到login
+        this.$router.push({ path: "/login" });
+      }
+    },
+    beforeAvatarUpload3(file) { },
+    // 上传
+    handleFile: function (e) {
+      // var that = this
+      let $target = e.target || e.srcElement;
+      let file = $target.files[0];
+      // if(file.size > 1024 * 1024 *20){
+      console.log(file, "file");
+      let i = false;
+      if (i) {
+        Toast(this.$t("hj206"));
+      } else {
+        this.img1Key = file;
+        var reader = new FileReader();
+        reader.onload = (data) => {
+          let res = data.target || data.srcElement;
+          this.form.img1Key = res.result;
+          // Indicator.close()
+        };
+
+        reader.readAsDataURL(file);
+      }
+    },
+    toSure() {
+      // 实名认证弹框
+      if (isNull(this.form.name)) {
+        Toast(this.$t("hj207"));
+      } else if (isNull(this.form.idCard)) {
+        Toast(this.$t("hj208"));
+      } else if (!this.form.img1key) {
+        Toast(this.$t("hj209"));
+      } else if (!this.form.img2key) {
+        Toast(this.$t("hj209"));
+      } else {
+        // 显示确认弹窗
+        this.toAuthentication();
+      }
+    },
+    async toAuthentication() {
+      let opts = {
+        realName: this.form.name,
+        idCard: this.form.idCard,
+        vaildNumber: this.form.vaildNumber,
+        img1key: this.form.img1key,
+        img2key: this.form.img2key,
+        img3key: this.form.img3key,
+      };
+      let data = await api.userAuth(opts);
+      if (data.status === 0) {
+        Toast(this.$t("hj210"));
+        this.goBack();
+      } else {
+        Toast(data.msg);
+      }
+    },
+    goBack() {
+      this.$router.back(-1);
+    },
+  },
+};
+</script>
+
+<style scoped lang="less">
+@green: #c4d600;
+
+/deep/ .van-nav-bar__content {
+  height: 65px;
+}
+
+/deep/ .van-nav-bar__title {
+  font-family: "DINPro";
+  width: 100%;
+  height: 1.17333rem;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  font-style: normal;
+  font-weight: 500;
+  font-size: 0.48rem;
+  color: #14181f;
+}
+
+.bank_card_page {
+  width: 100%;
+  height: 100%;
+  background: #fff;
+  position: relative;
+
+  .content {
+    width: 100%;
+    height: 100vh;
+    padding: 0 0.6rem;
+
+    .top_back {
+      width: 100%;
+      height: 2rem;
+
+      >div {
+        width: 10%;
+        height: 100%;
+        display: flex;
+        align-items: center;
+      }
+
+      img {
+        width: 0.6rem;
+        height: 0.6rem;
+      }
+    }
+
+    .titles {
+      width: 100%;
+      height: 1.5rem;
+      font-size: 0.641rem;
+      margin-top: 1rem;
+
+      span {
+        font-weight: 600;
+      }
+    }
+  }
+
+  .bank_name {
+    width: 100%;
+    height: 1.5rem;
+    display: flex;
+    padding: 0 0.2rem;
+    background: rgb(247, 247, 247);
+    border-radius: 0.2rem;
+    margin-top: 0.3rem;
+
+    .lefts {
+      width: 36%;
+      height: 100%;
+      display: flex;
+      align-items: center;
+      font-size: 0.3846rem;
+
+      span {
+        font-weight: 600;
+      }
+    }
+
+    .rights {
+      width: 75%;
+      height: 100%;
+      display: flex;
+      align-items: center;
+      justify-content: center;
+
+      input {
+        width: 100%;
+        height: 100%;
+      }
+    }
+  }
+}
+
+.bank_name.bind {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  background: @green;
+  font-size: 0.4103rem;
+  color: #fff;
+
+  span {
+    font-weight: 600;
+  }
+}
+
+.uploads {
+  width: 100%;
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  margin-top: 0.3rem;
+
+  >div {
+    width: 48%;
+    background: rgb(247, 247, 247);
+  }
+}
+
+/deep/ .el-upload--picture-card {
+  background: none;
+  width: 100%;
+  height: 100PX;
+  line-height: 1.6rem;
+}
+
+/deep/ .el-upload__input {
+  display: none;
+}
+
+.pass {
+  width: 100%;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  height: auto;
+  // position: absolute;
+  // top: 1.72rem;
+  // right: .2rem;
+  // opacity: 0.2;
+
+  .top_t {
+    width: 100%;
+    height: auto;
+    display: flex;
+    flex-direction: column;
+    justify-content: center;
+    font-size: 80px;
+    color: #3ac23e;
+    align-items: center;
+
+    img {
+      width: 64px;
+      height: 64px;
+      margin-top: 200px;
+      margin-bottom: 20px;
+    }
+
+    span {
+      font-size: 30px;
+    }
+  }
+
+  .ise_pass {
+    font-size: 80px;
+  }
+}
+</style>
diff --git a/src/page/authentication/index.vue b/src/page/authentication/index.vue
index b657f3a..30b19d7 100644
--- a/src/page/authentication/index.vue
+++ b/src/page/authentication/index.vue
@@ -1,175 +1,81 @@
 <template>
-  <div class="bank_card_page">
-    <van-nav-bar
-      :placeholder="true"
-      :safe-area-inset-top="true"
-      title="KYC"
-      left-arrow
-      @click-left="$router.go(-1)"
-    >
+  <div class="authentication-container">
+    <van-nav-bar :placeholder="true" :safe-area-inset-top="true" :title="$t('rnv')" left-arrow
+      @click-left="$router.go(-1)">
     </van-nav-bar>
-    <div class="content">
-<!--      <div class="top_back">
-        <div class="left_back_icon" @click="$router.go(-1)">
-          <img src="../../assets/img/zuojiantou.png" alt />
-        </div>
-      </div> -->
-     <!-- <div class="titles">
-        <span>{{ $t("hj146") }}</span>
-      </div> -->
-      <div class="bank_name">
-        <div class="lefts">
-          <span>{{ $t("hj195") + ":" }}</span>
-        </div>
-        <div class="rights">
-          <input
-            v-if="showBtn"
-            type="text"
-            placeholder="Please enter your Name"
-            v-model="form.name"
-          />
 
-          <input v-if="!showBtn" type="text" v-model="form.name" readonly />
-        </div>
-      </div>
-      <div class="bank_name">
-        <div class="lefts">
-          <span>{{ $t("hj196") + ":" }}</span>
-        </div>
-        <div class="rights">
-          <input
-            v-if="showBtn"
-            type="text"
-            placeholder="Please enter your Aadhaar card"
-            v-model="form.idCard"
-          />
-          <input v-if="!showBtn" type="text" v-model="form.idCard" readonly />
-        </div>
-      </div>
-      <div class="bank_name">
-        <div class="lefts">
-          <span>{{ $t("电话号码") + ":" }}</span>
-        </div>
-        <div class="rights">
-          <input
-            v-if="showBtn"
-            type="text"
-            placeholder="Please enter your telephone number"
-            v-model="form.vaildNumber"
-          />
-          <input
-            v-if="!showBtn"
-            type="text"
-            v-model="form.vaildNumber"
-            readonly
-          />
-        </div>
-      </div>
-      <div class="uploads">
-        <div class="lefts">
-          <el-upload
-            :with-credentials="true"
-            class="avatar-uploader"
-            :action="admin + 'user/upload.do'"
-            list-type="picture-card"
-            name="upload_file"
-            :show-file-list="false"
-            :on-success="handleAvatarSuccess"
-            :on-error="handleError"
-            :before-upload="beforeAvatarUpload"
-            :disabled="!showBtn"
-          >
-            <img
-              v-if="form.img1key"
-              :src="form.img1key"
-              class="id-img avatar"
-              style="width: 100%; height: 100%"
-            />
-            <i v-else class="iconfont icon-zhaopian"></i>
-            <span v-if="!form.img1key && !imgStatus" class="btn-title">{{
-              $t("hj197")
-            }}</span>
-            <span v-if="imgStatus" class="btn-title">{{ $t("hj198") }}</span>
-          </el-upload>
-        </div>
-        <div class="rights">
-          <el-upload
-            :with-credentials="true"
-            class="avatar-uploader"
-            :action="admin + 'user/upload.do'"
-            list-type="picture-card"
-            name="upload_file"
-            :show-file-list="false"
-            :on-success="handleAvatarSuccess2"
-            :on-error="handleError2"
-            :before-upload="beforeAvatarUpload2"
-            :disabled="!showBtn"
-          >
-            <img
-              v-if="form.img2key"
-              :src="form.img2key"
-              class="id-img avatar"
-              style="width: 100%; height: 100%"
-            />
-            <i v-else class="iconfont icon-zhaopian"></i>
-            <span v-if="!form.img2key && !imgStatus2" class="btn-title">{{
-              $t("hj199")
-            }}</span>
-            <span v-if="imgStatus2" class="btn-title">{{ $t("hj198") }}</span>
-          </el-upload>
-        </div>
-      </div>
-      <div class="bank_name bind" @click="toSure" v-if="showBtn">
-        <span>{{ $t("hj161") }}</span>
-      </div>
-      <van-notify v-model="messFlag" type="primary">
-        <div>
-          <div class="eft">
-            <span>{{ $t("hj200") }}</span>
-          </div>
-          <div class="bft">
-            <span
-              >{{ $t("hj201") }}:{{ this.$store.state.userInfo.authMsg }}</span
-            >
-          </div>
-        </div>
-      </van-notify>
-      <div class="pass">
-        <div class="top_t">
-          <img
-            v-if="this.$store.state.userInfo.isActive == 1"
-            src="../../../static/img/bd_shz.png"
-          />
-          <span
-            v-if="this.$store.state.userInfo.isActive == 1"
-            class="ise_pass"
-            >{{ $t("hj202") }}</span
-          >
-          <img
-            v-if="!showBtn && this.$store.state.userInfo.isActive != 1"
-            src="../../../static/img/bd_suessce.png"
-          />
-          <span v-if="!showBtn && this.$store.state.userInfo.isActive != 1">{{
-            $t("hj203")
-          }}</span>
-          <img v-if="showBtn" src="../../../static/img/bd_fail.png" />
-          <span v-if="showBtn" class="ise_pass">{{ $t("hj204") }}</span>
-        </div>
-      </div>
+    <div style="width: 100%; height: .25em; background-color: #f8f8f8"></div>
+
+    <div class="form-group" :class="{ 'disabled': isSubmitting || isActive }">
+      <label class="required-label">{{ $t('hj195') }}</label>
+      <input type="text" v-model="form.name" class="form-input" :disabled="isActive" />
+    </div>
+
+    <div class="form-group" :class="{ 'disabled': isSubmitting || isActive }">
+      <label class="required-label">{{ $t('it1') }}</label>
+      <van-radio-group v-model="auRadio" direction="horizontal" disabled style="font-size: 3.5vw;margin-top: 1em;">
+        <van-radio name="1">{{ $t('dl1') }}</van-radio>
+        <van-radio name="2">{{ $t('pa1') }}</van-radio>
+        <van-radio name="3">{{ $t('ot1') }}</van-radio>
+      </van-radio-group>
+    </div>
+
+    <div class="form-group" :class="{ 'disabled': isSubmitting || isActive }">
+      <label class="required-label">{{ $t('in1') }}</label>
+      <input type="text" v-model="form.idCard" class="form-input" :disabled="isActive" />
+    </div>
+
+    <div class="form-group" :class="{ 'disabled': isSubmitting || isActive }">
+      <label class="required-label">{{ $t("电话号码") }}</label>
+      <input type="text" v-model="form.vaildNumber" class="form-input" :disabled="isActive" />
+    </div>
+
+    <div style="width: 100%; height: .25em; background-color: #f8f8f8"></div>
+
+    <div class="form-group flex-between" :class="{ 'disabled': isSubmitting || isActive }">
+      <label class="required-label">{{ $t('fsi1') }}</label>
+
+      <el-upload :with-credentials="true" class="avatar-uploader" :action="admin + 'user/upload.do'"
+        list-type="picture-card" name="upload_file" :show-file-list="false" :on-success="handleAvatarSuccess"
+        :on-error="handleError" :before-upload="beforeAvatarUpload" :disabled="isActive">
+        <img v-if="form.img1key" :src="form.img1key" class="id-img avatar" style="width: 100%; height: 100%" />
+        <i v-else class="iconfont icon-zhaopian"></i>
+      </el-upload>
+    </div>
+
+    <div class="form-group flex-between" :class="{ 'disabled': isSubmitting || isActive }">
+      <label class="required-label">{{ $t('bsi1') }}</label>
+
+      <el-upload :with-credentials="true" class="avatar-uploader" :action="admin + 'user/upload.do'"
+        list-type="picture-card" name="upload_file" :show-file-list="false" :on-success="handleAvatarSuccess2"
+        :on-error="handleError2" :before-upload="beforeAvatarUpload2" :disabled="isActive">
+        <img v-if="form.img2key" :src="form.img2key" class="id-img avatar" style="width: 100%; height: 100%" />
+        <i v-else class="iconfont icon-zhaopian"></i>
+      </el-upload>
+    </div>
+
+    <div style="width: 100%; height: .25em; background-color: #f8f8f8"></div>
+
+    <div class="submit-button" :class="{ 'disabled': isSubmitting || isActive }" @click="toSure">
+      <span>{{ $t("uv1") }}</span>
     </div>
   </div>
 </template>
 
 <script>
 import * as api from "@/axios/api";
-import { Toast } from "mint-ui";
-import { isNull, idCardReg, isName } from "@/utils/utils";
-import { compress } from "@/utils/imgupload";
 import apiUrl from "@/axios/api.url.js";
+import { compress } from "@/utils/imgupload";
+import { isNull } from "@/utils/utils";
+import { Toast } from "vant";
 export default {
-  name: "bankCard",
+  name: 'Authentication',
   data() {
     return {
+      frontImage: '',
+      backImage: '',
+      isSubmitting: false,
+      auRadio: '1',
       form: {
         phone: "",
         name: "",
@@ -177,65 +83,62 @@
         vaildNumber: "",
         img1key: "",
         img2key: "",
-        img3key: "",
       },
-      img1Key: "",
-      img2Key: "",
-      img3Key: "",
-      showBtn: true,
-      admin: apiUrl.baseURL,
       imgStatus: false,
-      imgStatus2: false,
-      messFlag: this.$store.state.userInfo.isActive == 3 ? true : false,
-    };
+      admin: apiUrl.baseURL,
+    }
+  },
+  computed: {
+    //注册默认0  1.提交未实名 2.已实名 3.驳回, 状态1||2的时候屏蔽所有的输入
+    isActive() {
+      return this.$store.state.userInfo.isActive == 1 || this.$store.state.userInfo.isActive == 2;
+      // return false;
+    }
   },
   created() {
     this.getUserInfo();
   },
-
-  beforeDestroy() {
-    if (this.$state.theme == "red") {
-      document.body.classList.remove("red-bg");
-      document.body.classList.add("black-bg");
-    }
-  },
   mounted() {
-    if (this.$state.theme == "red") {
-      document.body.classList.remove("black-bg");
-      document.body.classList.add("red-bg");
-    }
+    // 可以在这里加载用户已有的认证信息
+    // 如果用户已经提交过认证信息,可以显示认证状态
   },
   methods: {
-    handleAvatarSuccess(res, file) {
-      this.imgStatus = false;
-      this.form.img1key = res.data.url;
-    },
-    beforeAvatarUpload(file) {
-      this.imgStatus = true;
-    },
-    handleError() {
-      this.imgStatus = false;
-    },
-    handleAvatarSuccess2(res, file) {
-      this.imgStatus2 = false;
-      this.form.img2key = res.data.url; // URL.createObjectURL(file.raw);
-    },
-    beforeAvatarUpload2(file) {
-      this.imgStatus2 = true;
-      const isLt10M = file.size / 1024 / 1024 < 10;
-      if (!isLt10M) {
-        this.$message.error(this.$t("hj205"));
-        return false;
+
+    toSure() {
+      if (this.isSubmitting || this.isActive) return // 防止重复提交
+      // 实名认证弹框
+      if (isNull(this.form.name)) {
+        Toast(this.$t("hj207"));
+      } else if (isNull(this.form.idCard)) {
+        Toast(this.$t("hj208"));
+      } else if (!this.form.img1key) {
+        Toast(this.$t("hj209"));
+      } else if (!this.form.img2key) {
+        Toast(this.$t("hj209"));
       } else {
-        this.form.img2key = URL.createObjectURL(file);
-        compress(file, function (val) {});
+        // 显示确认弹窗
+        this.toAuthentication();
       }
     },
-    handleError2() {
-      this.imgStatus2 = false;
-    },
-    handleAvatarSuccess3(res, file) {
-      this.form.img3key = res.data.url; // URL.createObjectURL(file.raw);
+    async toAuthentication() {
+      this.isSubmitting = true
+
+      let opts = {
+        realName: this.form.name,
+        idCard: this.form.idCard,
+        vaildNumber: this.form.vaildNumber,
+        img1key: this.form.img1key,
+        img2key: this.form.img2key,
+        img3key: this.form.img3key,
+      };
+      let data = await api.userAuth(opts);
+      if (data.status === 0) {
+        Toast(this.$t("hj210"));
+        this.goBack();
+      } else {
+        Toast(data.msg);
+      }
+      this.isSubmitting = false
     },
     async getUserInfo() {
       // 获取用户信息
@@ -262,231 +165,205 @@
         this.$router.push({ path: "/login" });
       }
     },
-    beforeAvatarUpload3(file) {},
-    // 上传
-    handleFile: function (e) {
-      // var that = this
-      let $target = e.target || e.srcElement;
-      let file = $target.files[0];
-      // if(file.size > 1024 * 1024 *20){
-      console.log(file, "file");
-      let i = false;
-      if (i) {
-        Toast(this.$t("hj206"));
+    handleAvatarSuccess(res, file) {
+      this.imgStatus = false;
+      this.form.img1key = res.data.url;
+    },
+    beforeAvatarUpload(file) {
+      this.imgStatus = true;
+    },
+    handleError() {
+      this.imgStatus = false;
+    },
+    handleAvatarSuccess2(res, file) {
+      this.imgStatus2 = false;
+      this.form.img2key = res.data.url; // URL.createObjectURL(file.raw);
+    },
+    beforeAvatarUpload2(file) {
+      this.imgStatus2 = true;
+      const isLt10M = file.size / 1024 / 1024 < 10;
+      if (!isLt10M) {
+        this.$message.error(this.$t("hj205"));
+        return false;
       } else {
-        this.img1Key = file;
-        var reader = new FileReader();
-        reader.onload = (data) => {
-          let res = data.target || data.srcElement;
-          this.form.img1Key = res.result;
-          // Indicator.close()
-        };
-
-        reader.readAsDataURL(file);
+        this.form.img2key = URL.createObjectURL(file);
+        compress(file, function (val) { });
       }
     },
-    toSure() {
-      // 实名认证弹框
-      if (isNull(this.form.name)) {
-        Toast(this.$t("hj207"));
-      } else if (isNull(this.form.idCard)) {
-        Toast(this.$t("hj208"));
-      } else if (!this.form.img1key) {
-        Toast(this.$t("hj209"));
-      } else if (!this.form.img2key) {
-        Toast(this.$t("hj209"));
-      } else {
-        // 显示确认弹窗
-        this.toAuthentication();
-      }
+    handleError2() {
+      this.imgStatus2 = false;
     },
-    async toAuthentication() {
-      let opts = {
-        realName: this.form.name,
-        idCard: this.form.idCard,
-        vaildNumber: this.form.vaildNumber,
-        img1key: this.form.img1key,
-        img2key: this.form.img2key,
-        img3key: this.form.img3key,
-      };
-      let data = await api.userAuth(opts);
-      if (data.status === 0) {
-        Toast(this.$t("hj210"));
-        this.goBack();
-      } else {
-        Toast(data.msg);
-      }
-    },
-    goBack() {
-      this.$router.back(-1);
-    },
-  },
-};
+  }
+}
 </script>
 
-<style scoped lang="less">
+<style lang="less" scoped>
 @green: #c4d600;
-  /deep/ .van-nav-bar__content {
-    height: 65px;
-  }
-  /deep/ .van-nav-bar__title {
-    font-family: "DINPro";
-    width: 100%;
-    height: 1.17333rem;
-    display: flex;
-    justify-content: center;
-    align-items: center;
-    font-style: normal;
-    font-weight: 500;
-    font-size: 0.48rem;
-    color: #14181f;
-  }
-.bank_card_page {
-  width: 100%;
-  height: 100%;
-  background: #fff;
-  position: relative;
 
-  .content {
-    width: 100%;
-    height: 100vh;
-    padding: 0 0.6rem;
-
-    .top_back {
-      width: 100%;
-      height: 2rem;
-
-      > div {
-        width: 10%;
-        height: 100%;
-        display: flex;
-        align-items: center;
-      }
-
-      img {
-        width: 0.6rem;
-        height: 0.6rem;
-      }
-    }
-
-    .titles {
-      width: 100%;
-      height: 1.5rem;
-      font-size: 0.641rem;
-      margin-top: 1rem;
-
-      span {
-        font-weight: 600;
-      }
-    }
-  }
-
-  .bank_name {
-    width: 100%;
-    height: 1.5rem;
-    display: flex;
-    padding: 0 0.2rem;
-    background: rgb(247, 247, 247);
-    border-radius: 0.2rem;
-    margin-top: 0.3rem;
-
-    .lefts {
-      width: 36%;
-      height: 100%;
-      display: flex;
-      align-items: center;
-      font-size: 0.3846rem;
-
-      span {
-        font-weight: 600;
-      }
-    }
-
-    .rights {
-      width: 75%;
-      height: 100%;
-      display: flex;
-      align-items: center;
-      justify-content: center;
-
-      input {
-        width: 100%;
-        height: 100%;
-      }
-    }
-  }
+/deep/ .van-nav-bar__content {
+  height: 65px;
 }
 
-.bank_name.bind {
+/deep/ .van-nav-bar__title {
+  font-family: "DINPro";
+  width: 100%;
+  height: 1.17333rem;
   display: flex;
-  align-items: center;
   justify-content: center;
-  background: @green;
-  font-size: 0.4103rem;
-  color: #fff;
-
-  span {
-    font-weight: 600;
-  }
-}
-
-.uploads {
-  width: 100%;
-  display: flex;
   align-items: center;
-  justify-content: space-between;
-  margin-top: 0.3rem;
-
-  > div {
-    width: 48%;
-    background: rgb(247, 247, 247);
-  }
-}
-
-/deep/ .el-upload--picture-card {
-  background: none;
-  width: 100%;
-  height: 100PX;
-  line-height: 1.6rem;
+  font-style: normal;
+  font-weight: 700;
+  font-size: 0.48rem;
+  color: #14181f;
 }
 
 /deep/ .el-upload__input {
   display: none;
 }
 
-.pass {
+.authentication-container {
+  /* padding: 20px; */
+  background-color: #ffffff;
+  min-height: 100vh;
+  font-size: 10vw;
+}
+
+.form-group {
+  margin-bottom: .25em;
+  padding: .25em .25em 0;
+}
+
+label {
+  display: block;
+  margin-bottom: 8px;
+  color: #999;
+  font-size: 16px;
+  font-weight: normal;
+}
+
+.required-label {
+  color: #333;
+  font-weight: bold;
+  font-size: .4em;
+}
+
+.required-label::before {
+  content: '*';
+  color: #ff4d4f;
+  margin-right: 4px;
+}
+
+.form-input {
   width: 100%;
+  height: 3em;
+  border: 1px solid #e8e8e8;
+  border-radius: 4px;
+  padding: 0 15px;
+  font-size: .4em;
+  box-sizing: border-box;
+  color: #333;
+}
+
+.id-type-options {
   display: flex;
-  justify-content: center;
+  justify-content: space-between;
+}
+
+.option {
+  display: flex;
   align-items: center;
-  height: auto;
-  // position: absolute;
-  // top: 1.72rem;
-  // right: .2rem;
-  // opacity: 0.2;
+  padding: 10px 15px;
+  border: 1px solid #e8e8e8;
+  border-radius: 4px;
+  background-color: #fff;
+  flex: 1;
+  margin-right: 10px;
+}
 
-  .top_t {
-    width: 100%;
-    height: auto;
-    display: flex;
-    flex-direction: column;
-    justify-content: center;
-    font-size: 80px;
-    color: #3ac23e;
-    align-items: center;
-    img {
-      width: 64px;
-      height: 64px;
-      margin-top: 200px;
-      margin-bottom: 20px;
-    }
-    span {
-      font-size: 30px;
-    }
-  }
+.option:last-child {
+  margin-right: 0;
+}
 
-  .ise_pass {
-    font-size: 80px;
+.option.selected {
+  border-color: #4a90e2;
+}
+
+.radio-circle {
+  width: 24px;
+  height: 24px;
+  border-radius: 50%;
+  border: 1px solid #ccc;
+  margin-right: 8px;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  background-color: #f5f5f5;
+}
+
+.option.selected .radio-circle {
+  border-color: #4a90e2;
+  background-color: #fff;
+}
+
+.radio-inner {
+  width: 14px;
+  height: 14px;
+  border-radius: 50%;
+  background-color: #4a90e2;
+}
+
+.upload-box {
+  width: 100%;
+  height: 120px;
+  border: 1px solid #e8e8e8;
+  border-radius: 4px;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  background-color: #fafafa;
+  cursor: pointer;
+  overflow: hidden;
+}
+
+.upload-placeholder {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  justify-content: center;
+}
+
+.upload-icon {
+  width: 40px;
+  height: 40px;
+  margin-bottom: 8px;
+  opacity: 0.5;
+}
+
+.preview-image {
+  width: 100%;
+  height: 100%;
+  object-fit: cover;
+}
+
+.submit-button {
+  width: 9.5em;
+  margin: .4em auto 0;
+  height: 1.2em;
+  background-color: #e6e254;
+  color: #fff;
+  border-radius: 4px;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  cursor: pointer;
+  font-weight: normal;
+
+  span {
+    font-size: .4em;
   }
 }
-</style>
+
+.disabled {
+  opacity: .5;
+}
+</style>
\ No newline at end of file
diff --git a/src/page/bankCard/banklist.vue b/src/page/bankCard/banklist.vue
index 751ec87..84dc6c9 100644
--- a/src/page/bankCard/banklist.vue
+++ b/src/page/bankCard/banklist.vue
@@ -22,7 +22,7 @@
       <div class="bank_name">
         <!-- <div class="bank_box" @click="$router.push('/bankcard')"> -->
         <div class="bank_box" @click="openEditDialog()">
-          {{ $t("hj220").substring(0, 2) }}{{ $t("hj247") }}
+          {{ $t("abc") }}
         </div>
       </div>
     </div>
@@ -32,6 +32,7 @@
       <div class="edit-popup">
         <div class="edit-title">{{ !this.editForm.id ? $t('hj211') : $t('hj212') }}</div>
         <div class="division"></div>
+
         <div class="edit-form">
           <div class="form-item">
             <div class="form-label"><span class="required">*</span>{{ $t('hj213') }}</div>
@@ -46,6 +47,7 @@
             <input type="text" v-model="editForm.bankCardholderName" :placeholder="$t('银行卡户主名称')" class="form-input" />
           </div>
         </div>
+
         <div class="division"></div>
         <div class="edit-buttons">
           <div class="cancel-btn" @click="showEditDialog = false">{{ $t('qx') }}</div>
diff --git a/src/page/home/homeIndex.vue b/src/page/home/homeIndex.vue
index b793a2f..2f914d9 100644
--- a/src/page/home/homeIndex.vue
+++ b/src/page/home/homeIndex.vue
@@ -1,13 +1,7 @@
 <template>
   <div class="home_index">
     <tab-head>
-      <van-popover
-        v-model="languageShow"
-        trigger="click"
-        :actions="actions"
-        @select="onSelect"
-        placement="bottom-end"
-      >
+      <van-popover v-model="languageShow" trigger="click" :actions="actions" @select="onSelect" placement="bottom-end">
         <template #reference>
           <div class="multilingual">
             <img src="../../assets/img/language.svg" alt="" />
@@ -26,7 +20,7 @@
           <div class="swiper-slide">
             <div class="nav_item flex-start" @click="toPage('/aiTrading')">
               <img src="../../assets/img/home_1.png" alt="" />
-              <span>AI {{ $t("量化交易") }}</span>
+              <span>{{ $t("量化交易") }}</span>
             </div>
           </div>
           <div class="swiper-slide">
@@ -58,10 +52,7 @@
       </div>
       <div class="flex-between navs">
         <div class="nav_item" v-for="item in usDataStockBeans" :key="item.id">
-          <index-component
-            :ids="'a' + item.id"
-            :dataObj="item"
-          ></index-component>
+          <index-component :ids="'a' + item.id" :dataObj="item"></index-component>
           <!-- <van-skeleton title :row="3" /> -->
         </div>
       </div>
@@ -75,10 +66,7 @@
       <div class="flex-between navs">
         <div class="nav_item" v-for="item in mxDataStockBeans" :key="item.id">
           <!-- <van-skeleton title :row="3" /> -->
-          <index-component
-            :ids="'b' + item.id"
-            :dataObj="item"
-          ></index-component>
+          <index-component :ids="'b' + item.id" :dataObj="item"></index-component>
         </div>
       </div>
     </div>
@@ -89,11 +77,7 @@
         <span>{{ $t("hj6") }}</span>
       </div>
 
-      <news-item
-        :item="item"
-        v-for="item in newsList"
-        :key="item.id"
-      ></news-item>
+      <news-item :item="item" v-for="item in newsList" :key="item.id"></news-item>
 
       <div class="more flex-center" @click="$router.push('/new-list')">
         <span>{{ $t("更多新闻") }}</span>
@@ -274,6 +258,7 @@
             height: 100%;
             flex-direction: column;
             padding-top: .25em;
+            padding: .25em .15em 0;
 
             img {
               width: 0.75em;
@@ -281,8 +266,8 @@
             }
 
             span {
-              font-size: 0.25em;
-              font-weight: 500;
+              font-size: 0.28em;
+              font-weight: 700;
               text-align: center;
             }
           }
diff --git a/src/page/kline/components/kLine.vue b/src/page/kline/components/kLine.vue
index 93b5b8b..fb9777c 100644
--- a/src/page/kline/components/kLine.vue
+++ b/src/page/kline/components/kLine.vue
@@ -1358,7 +1358,7 @@
             EastMoney.HQData.NetworkFilter(data, callback);
             break;
         }
-      }, 2000);
+      }, 5000);
     },
 
     handleSelect(key, keyPath) {
diff --git a/src/page/kline/index.vue b/src/page/kline/index.vue
index 546c178..dbeb3d8 100644
--- a/src/page/kline/index.vue
+++ b/src/page/kline/index.vue
@@ -450,10 +450,9 @@
     } else {
       this.timer = setInterval(() => {
         this.getSingDetails();
-      }, 2000);
+      }, 5000);
     }
     this.getOpation();
-    // this.$Lazyload();
     this.getUserInfo();
     this.getNohknews();
   },
diff --git a/src/page/login/login.vue b/src/page/login/login.vue
index b852d92..6c7816a 100644
--- a/src/page/login/login.vue
+++ b/src/page/login/login.vue
@@ -1,16 +1,30 @@
 <template>
   <div class="login_page">
-    <headers />
+    <!-- <headers /> -->
+    <tab-head :leftShow="false" :rightShow="false">
+      <van-popover v-model="languageShow" trigger="click" :actions="actions" @select="onSelect" placement="bottom-end">
+        <template #reference>
+          <div class="multilingual">
+            <img src="../../assets/img/language.svg" alt="" />
+          </div>
+        </template>
+      </van-popover>
+    </tab-head>
+
+    <img src="../../assets/img/logo.png" alt="" class="logo">
+
     <div class="login_title animated slideInDown">
-      <span>{{ $t("登錄賬號") }}</span>
+      <span>{{ $t("dlan") }}</span>
     </div>
     <div class="logins_content">
       <div class="login_forms">
         <div class="top_forms">
+          <div class="forms_title">{{ $t('hj27') }}</div>
           <el-input :placeholder="$t('hj9')" :size="medium" v-model="userName" clearable>
           </el-input>
-          <el-input style="margin-top: 0.46rem" show-password :placeholder="$t('hj10')" :size="medium"
-            v-model="userPassword" @input="handleInput()">
+          <div class="forms_title">{{ $t('Password') }}</div>
+          <el-input show-password :placeholder="$t('hj10')" :size="medium" v-model="userPassword"
+            @input="handleInput()">
           </el-input>
         </div>
         <div class="bottom_btns">
@@ -41,7 +55,8 @@
   </div>
 </template>
 <script>
-import headers from "./components/header.vue";
+// import headers from "./components/header.vue";
+import tabHead from "../../components/tabHead.vue";
 import * as api from "@/axios/api";
 import { Notify } from "vant";
 import { mapActions, mapMutations } from "vuex";
@@ -57,11 +72,21 @@
       userPassword: "",
       userName: "",
       btnClass: false,
-      medium: "medium"
+      medium: "medium",
+      languageShow: false, // 语言选择
+      // 多语言配置
+      actions: [
+        {
+          text: "English",
+          lang: "en"
+        },
+        { text: "español", lang: "es" }
+      ],
     };
   },
   components: {
-    headers
+    // headers, 
+    tabHead,
   },
   mounted() {
     const ret = window.localStorage.getItem("login_admin");
@@ -128,7 +153,12 @@
         // 支持
         navigator.vibrate([55]);
       }
-    }
+    },
+    // 选择语言
+    onSelect(e) {
+      window.localStorage.setItem("language", e.lang);
+      this.$i18n.locale = e.lang;
+    },
   },
   beforeDestroy() { },
   created() { }
@@ -176,11 +206,11 @@
 .login_title {
   font-family: "DINPro", serif;
   font-style: normal;
-  font-weight: 500;
-  font-size: 0.48rem;
+  font-weight: 700;
+  font-size: 0.7rem;
   line-height: 0.66667rem;
   color: #14181f;
-  margin-left: 0.53333rem;
+  text-align: center;
 }
 
 /deep/ .van-checkbox__label {
@@ -200,6 +230,22 @@
   display: flex;
   flex-direction: column;
   height: 100vh;
+
+  .multilingual {
+    width: .8em;
+    height: .8em;
+    margin-left: 0.25em;
+
+    img {
+      width: 100%;
+      height: 100%;
+    }
+  }
+}
+
+.logo {
+  width: 50vw;
+  margin: 10vw auto 15vw;
 }
 
 .logins_content {
@@ -229,6 +275,12 @@
       align-items: center;
       flex-wrap: wrap;
 
+      .forms_title {
+        font-size: .4rem;
+        margin-top: .5rem;
+        margin-bottom: .2rem;
+      }
+
       .user_name,
       .password {
         width: 100%;
diff --git a/src/page/markets/aiTrading.vue b/src/page/markets/aiTrading.vue
index 91bbe52..1b13650 100644
--- a/src/page/markets/aiTrading.vue
+++ b/src/page/markets/aiTrading.vue
@@ -1,6 +1,6 @@
 <template>
   <div class="ai_trading">
-    <page-head :title="`AI ${$t('量化交易')}`">
+    <page-head :title="`${$t('量化交易')}`">
       <template slot="right">
         <div class="head_right" @click="$router.push('/aiTradingOrder')">
           {{ $t("订单") }}
@@ -55,7 +55,7 @@
     <van-popup v-model="buyShow" round>
       <van-form class="buy_popup" @submit="popupSubmit">
         <div class="popup_title flex-center">
-          <span>{{ `AI ${$t("量化交易")}` }}</span>
+          <span>{{ `${$t("量化交易")}` }}</span>
         </div>
 
         <div class="division"></div>
diff --git a/src/page/markets/blockTrading.vue b/src/page/markets/blockTrading.vue
index a8d3a2b..8d7359d 100644
--- a/src/page/markets/blockTrading.vue
+++ b/src/page/markets/blockTrading.vue
@@ -89,7 +89,7 @@
           </span>
         </div>
 
-        <div class="popup_item flex-between-start">
+        <!-- <div class="popup_item flex-between-start">
           <span style="color:red">*</span>
           <van-field
             v-model="popFrom.password"
@@ -97,7 +97,7 @@
             :placeholder="$t('请输入')"
             :rules="[{ required: true, message: $t('请输入') }]"
           />
-        </div>
+        </div> -->
 
         <div class="popup_item flex-between">
           <p class="flex-start">
diff --git a/src/page/markets/blockTradingOrder.vue b/src/page/markets/blockTradingOrder.vue
index 6a5145e..9dee16e 100644
--- a/src/page/markets/blockTradingOrder.vue
+++ b/src/page/markets/blockTradingOrder.vue
@@ -45,14 +45,16 @@
 
       <p class="card_label2 flex-between">
         <span>{{ $t("总金额") }}</span>
-        <span class="zje"
-          >{{ i.stockGid | currencySymbol }} {{ i.orderTotalPrice }}</span
-        >
+        <span class="zje">
+          {{ i.stockGid | currencySymbol }} {{ i.orderTotalPrice }}
+        </span>
       </p>
 
       <p class="card_label2 flex-between">
         <span>{{ $t("状态") }}</span>
-        <span class="zt">{{ status[i.checkType] }}</span>
+        <span :class="`${i.checkType == 2 ? 'zt2' : 'zt'}`">
+          {{ status[i.checkType] }}
+        </span>
       </p>
 
       <p class="card_label2 flex-between">
@@ -234,6 +236,9 @@
       span.zt {
         color: @green;
       }
+      span.zt2 {
+        color: @red;
+      }
     }
 
     .card_label1 {
diff --git a/src/page/markets/ipo.vue b/src/page/markets/ipo.vue
index ba654ea..7594dc7 100644
--- a/src/page/markets/ipo.vue
+++ b/src/page/markets/ipo.vue
@@ -21,9 +21,9 @@
         </div>
 
         <div class="flex-end">
-          <span class="label_status" v-if="i.listDate > Date.now()">{{
-            $t("待上市")
-          }}</span>
+          <span class="label_status" v-if="i.listDate > Date.now()">
+            {{ $t("待上市") }}
+          </span>
           <span class="label_status1" v-else>{{ $t("已上市") }}</span>
         </div>
       </div>
diff --git a/src/page/markets/ipoOrder.vue b/src/page/markets/ipoOrder.vue
index d2dddb7..148aacb 100644
--- a/src/page/markets/ipoOrder.vue
+++ b/src/page/markets/ipoOrder.vue
@@ -34,11 +34,16 @@
       </p>
 
       <p class="card_label2 flex-between">
-        <span>{{ $t("sl") }}</span>
+        <span>{{ $t("hj270") }}</span>
         <span>{{ i.applyNums }}</span>
       </p>
 
       <p class="card_label2 flex-between">
+        <span>{{ $t("sl") }}</span>
+        <span>{{ i.applyNumber || "-" }}</span>
+      </p>
+
+      <p class="card_label2 flex-between">
         <span>{{ $t("发行时间") }}</span>
         <span>{{ i.subscriptionTime | gettime }}</span>
       </p>
diff --git a/src/page/newUser/setting.vue b/src/page/newUser/setting.vue
index 3a1d7ad..d5180a9 100644
--- a/src/page/newUser/setting.vue
+++ b/src/page/newUser/setting.vue
@@ -13,24 +13,25 @@
     </div> -->
     <div style="width: 100%; height: 10px; background-color: #f8f8f8"></div>
 
-    <div class="jy" @click="handleGoToBankCard1()">
+    <div class="jy" @click="handleGoToAuthentication()">
       <div class="left_gn">
         <div class="l_icon">
-          <!-- <img src="../../assets/img/yeb.png" alt /> -->
-          <van-icon name="friends" size=".8rem" />
+          <van-icon name="manager" size=".8rem" />
         </div>
         <div class="r_title">
-          <span>{{ $t("关于我们") }}</span>
+          <span>{{ $t('rnv') }}</span>
         </div>
       </div>
       <div class="right_gos">
-        <img src="../../assets/img/youjiantou.png" alt />
+        <div class="right_gos_txt" v-if="userInfo.realName">
+          {{ $t("ysmrz") }}
+        </div>
+        <img v-else src="../../assets/img/youjiantou.png" alt />
       </div>
     </div>
     <div class="jy" @click="handleGoToBankCard()">
       <div class="left_gn">
         <div class="l_icon">
-          <!-- <img src="../../assets/img/yeb.png" alt /> -->
           <van-icon name="card" size=".8rem" />
         </div>
         <div class="r_title">
@@ -44,7 +45,6 @@
     <div class="jy" @click="goToSettings()">
       <div class="left_gn">
         <div class="l_icon">
-          <!-- <img src="../../assets/img/yeb.png" alt /> -->
           <van-icon name="lock" size=".8rem" />
         </div>
         <div class="r_title">
@@ -55,26 +55,19 @@
         <img src="../../assets/img/youjiantou.png" alt />
       </div>
     </div>
-
-    <div class="jy" @click="handleGoToAuthentication()">
+    <!-- <div class="jy" @click="handleGoToBankCard1()">
       <div class="left_gn">
         <div class="l_icon">
-          <!-- <img src="../../assets/img/yeb.png" alt /> -->
-          <van-icon name="manager" size=".8rem" />
+          <van-icon name="friends" size=".8rem" />
         </div>
         <div class="r_title">
-          <span>KYC</span>
-          <!-- <span>{{ $t("hj146") }}</span> -->
+          <span>{{ $t("关于我们") }}</span>
         </div>
       </div>
       <div class="right_gos">
-        <div class="right_gos_txt" v-if="userInfo.realName">
-          {{ $t("ysmrz") }}
-        </div>
-        <img v-else src="../../assets/img/youjiantou.png" alt />
+        <img src="../../assets/img/youjiantou.png" alt />
       </div>
-    </div>
-
+    </div> -->
     <div class="jy" @click="clicklang()">
       <div class="left_gn">
         <div class="l_icon">
@@ -374,7 +367,7 @@
   justify-content: center;
   align-items: center;
   font-style: normal;
-  font-weight: 500;
+  font-weight: 700;
   font-size: 0.48rem;
   color: #14181f;
 }
diff --git a/src/page/trading/stockRecord.vue b/src/page/trading/stockRecord.vue
index 8ed4321..f0d7c7f 100644
--- a/src/page/trading/stockRecord.vue
+++ b/src/page/trading/stockRecord.vue
@@ -4,6 +4,11 @@
 
     <div class="trading_card" v-for="i in list" :key="i.id">
       <p class="card_label2 flex-between">
+        <span>{{ $t("sc") }}</span>
+        <span> {{ i.stockCode }}</span>
+      </p>
+
+      <p class="card_label2 flex-between">
         <span>{{ $t("訂單編號") }}</span>
         <span> {{ i.buyOrderId }}</span>
       </p>
diff --git a/src/page/user/Warehouse/Stockdetail.vue b/src/page/user/Warehouse/Stockdetail.vue
index 688d90b..78ee5c9 100644
--- a/src/page/user/Warehouse/Stockdetail.vue
+++ b/src/page/user/Warehouse/Stockdetail.vue
@@ -22,6 +22,20 @@
         </div>
       </div>
       <div class="pagebox">
+        <div class="pagebox_left">
+          {{ $t("sc") }}
+        </div>
+        <div class="pagebox_right">{{ pages.stockCode }}</div>
+      </div>
+      <div class="pagebox">
+        <div class="pagebox_left">
+          {{ $t("類型") }}
+        </div>
+        <div class="pagebox_right">
+          {{ pages.orderDirection == "买涨" ? $t("gm") : $t("hj78") }}
+        </div>
+      </div>
+      <div class="pagebox">
         <div class="pagebox_left">{{ $t("盈虧") }}</div>
         <div class="pagebox_right">
           {{ pages.stockGid | currencySymbol }}
@@ -226,6 +240,7 @@
 
   .buttonbox {
     padding-top: 1.2em;
+    padding-bottom: 1.2em;
 
     /deep/ .van-button--primary {
       background-color: @green;
diff --git a/src/page/user/compontents/cash-list.vue b/src/page/user/compontents/cash-list.vue
index 0fc00a1..2693f7f 100644
--- a/src/page/user/compontents/cash-list.vue
+++ b/src/page/user/compontents/cash-list.vue
@@ -14,10 +14,10 @@
           <div class="order-info-box">
             <div class="order-title">
               <span class="main"> {{ $t("hjtxyhk") }} </span>
-              <span class="payNumber"
-                >{{ $USD }}{{ item.withAmt | _toLocaleString }}</span
-              >
-              <span v-if="item.withStatus!=1" class="red pull-right">
+              <span class="payNumber">{{
+                item.withAmt | _toLocaleString
+              }}</span>
+              <span v-if="item.withStatus != 1" class="red pull-right">
                 {{
                   item.withStatus == 1
                     ? $t("hjtxcg")
@@ -44,7 +44,7 @@
                   class="iconfont icon-iconfontweitongguo animated bounceInDown"
                 ></i>
               </span>
-              <span v-if="item.withStatus==1" class="green pull-right" >
+              <span v-if="item.withStatus == 1" class="green pull-right">
                 {{
                   item.withStatus == 1
                     ? $t("hjtxcg")
@@ -78,7 +78,7 @@
                 <span class="col-xs-6">
                   {{ $t("hj44") }}:
                   <b class="space">
-                    {{ $USD }} {{ item.withFee | _toLocaleString }}
+                    {{ item.withFee | _toLocaleString }}
                   </b>
                 </span>
                 <!-- <span class="col-xs-6">实际到账金额:<b class="space" style="font-size:0.26rem">{{item.withAmt - item.withFee}}</b>元</span>                         -->
@@ -112,7 +112,9 @@
               <p class="clearfix">
                 <span class="secondary col-xs-6"
                   >{{ $t("sj") }}:
-                  <b v-if="item.applyTime">{{ $moment(item.applyTime).format("DD-MM-YYYY hh:mm:ss A") }}</b>
+                  <b v-if="item.applyTime">{{
+                    $moment(item.applyTime).format("DD-MM-YYYY hh:mm:ss A")
+                  }}</b>
                   <b v-else></b>
                 </span>
               </p>
@@ -160,7 +162,7 @@
       loading: false,
       list: [],
       pageNum: 1,
-      pageSize: 15,
+      pageSize: 15
     };
   },
   watch: {},
@@ -174,11 +176,11 @@
       let opt = {
         withStatus: "", // 提现状态 0已提交,1转账成功,2转账失败
         pageNum: this.pageNum,
-        pageSize: 15,
+        pageSize: 15
       };
       let data = await api.withdrawList(opt);
       if (data.status === 0) {
-        data.data.list.forEach((element) => {
+        data.data.list.forEach(element => {
           this.list.push(element);
         });
       } else {
@@ -199,7 +201,7 @@
       // 取消提现
       // MessageBox.confirm('您确定要平仓吗?').then(async action => {
       let opt = {
-        withId: val,
+        withId: val
       };
       let data = await api.canceloutMoney(opt);
       if (data.status === 0) {
@@ -210,8 +212,8 @@
         Toast(data.msg);
       }
       // });
-    },
-  },
+    }
+  }
 };
 </script>
 <style lang="less" scoped>
diff --git a/src/page/user/loanRecord.vue b/src/page/user/loanRecord.vue
index 5d08cd0..83d729e 100644
--- a/src/page/user/loanRecord.vue
+++ b/src/page/user/loanRecord.vue
@@ -6,7 +6,7 @@
         <van-tab :title="$t('hj160')" name=""></van-tab>
         <van-tab :title="$t('sqz')" name="0"></van-tab>
         <van-tab :title="$t('sptg')" name="1"></van-tab>
-        <van-tab :title="$t('审核拒绝')" name="2"></van-tab>
+        <van-tab :title="$t('sqsb')" name="2"></van-tab>
       </van-tabs>
     </div>
 
diff --git a/src/page/user/recharge-sure.vue b/src/page/user/recharge-sure.vue
index ad27219..5841985 100644
--- a/src/page/user/recharge-sure.vue
+++ b/src/page/user/recharge-sure.vue
@@ -64,7 +64,7 @@
         <input type="number" :value="value" @input="inputValue" />
         <span
           class="myr"
-          @click="value = Math.floor(availableBalanceUSD * 100) / 100"
+          @click="value = Math.floor(availableBalance * 100) / 100"
           >{{ $t("最大") }}</span
         >
       </div>
diff --git a/src/router/index.js b/src/router/index.js
index f9f420b..f0d7569 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -124,7 +124,7 @@
       path: "/aiTrading",
       name: "aiTrading",
       meta: {
-        title: "AI" + i18n.t("量化交易"),
+        title: i18n.t("量化交易"),
         requireAuth: true,
         show: true,
         index: 1

--
Gitblit v1.9.3