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