13 files modified
1 files added
| | |
| | | import Vue from 'vue'; |
| | | import VueI18n from 'vue-i18n'; |
| | | |
| | | import chinese from './zh-CN.js'; |
| | | import english from './en.js'; |
| | | import chinesechar from './tw.js'; |
| | | import Vue from "vue"; |
| | | import VueI18n from "vue-i18n"; |
| | | import zh from "./zh.js"; |
| | | import en from "./en.js"; |
| | | |
| | | Vue.use(VueI18n); |
| | | |
| | | function getCookie(name) { |
| | | // 获取cookie |
| | | var arr; |
| | | var reg = new RegExp(`(^| )${name}=([^;]*)(;|$)`); |
| | | if (arr = document.cookie.match(reg)) { |
| | | return unescape(arr[2]); |
| | | } |
| | | return null; |
| | | } |
| | | const DEFAULT_LANG = 'en-us'; |
| | | const LOCALE_KEY = 'language'; |
| | | const DEFAULT_LANG = "zh"; |
| | | const LOCALE_KEY = "language"; |
| | | |
| | | const locales = { |
| | | zh_cn: { |
| | | ...chinese, |
| | | zh: { |
| | | ...zh |
| | | }, |
| | | en: { |
| | | ...english, |
| | | }, |
| | | tw: { |
| | | ...chinesechar, |
| | | }, |
| | | ...en |
| | | } |
| | | }; |
| | | // en-us zh-cn |
| | | //let langLocale = getCookie(LOCALE_KEY) || 'en'; |
| | | let langLocale = window.localStorage.getItem(LOCALE_KEY) || 'en'; |
| | | |
| | | if (!window.localStorage.getItem(LOCALE_KEY)) { |
| | | window.localStorage.setItem(LOCALE_KEY, DEFAULT_LANG); |
| | | } |
| | | let langLocale = window.localStorage.getItem(LOCALE_KEY) |
| | | ? window.localStorage.getItem(LOCALE_KEY) |
| | | : "zh"; |
| | | const i18n = new VueI18n({ |
| | | locale: langLocale, |
| | | messages: locales, |
| | | silentTranslationWarn: true |
| | | }); |
| | | const init = Vue.prototype._init; |
| | | Vue.prototype._init = function (options) { |
| | | Vue.prototype._init = function(options) { |
| | | init.call(this, { |
| | | i18n, |
| | | ...options, |
| | | ...options |
| | | }); |
| | | }; |
| | | |
| | |
| | | //const language = getCookie(LOCALE_KEY); |
| | | const language = window.localStorage.getItem(LOCALE_KEY); |
| | | if (language) { |
| | | langLocale = language.replace('-', '_').toLowerCase(); |
| | | langLocale = language.replace("-", "_").toLowerCase(); |
| | | } |
| | | if (undefined !== langLocale && langLocale !== '') { |
| | | if (undefined !== langLocale && langLocale !== "") { |
| | | lang = langLocale; |
| | | } |
| | | if (locales[lang] === undefined) { |
| | |
| | | // console.log(`lang-${lang}`); |
| | | } |
| | | |
| | | |
| | | Vue.config.lang = lang; |
| | | i18n.locale = lang; |
| | | }; |
| | | |
| | | setup(); |
| | | |
| | | |
| | | export default i18n; |
| New file |
| | |
| | | /* eslint-disable */ |
| | | export default { |
| | | "MingCheng":"名称", |
| | | "hj1":"行情", |
| | | "hj2":"持仓", |
| | | "hj3":"新股", |
| | | "hj4":"我的", |
| | | "hj5":"最多关注", |
| | | "hj6":"新闻", |
| | | "hj7":"经济", |
| | | "hj8":"手机号登录", |
| | | "hj9":"请输入手机号", |
| | | "hj10":"登录密码", |
| | | "hj11":"安全登录", |
| | | "hj12":"忘记密码?", |
| | | "hj13":"其他登录方式", |
| | | "hj14":"没有账户", |
| | | "hj15":"注册", |
| | | "hj16":"电子邮箱", |
| | | "hj17":"您所在的地区暂未开通此服务", |
| | | "hj18":"手机注册", |
| | | "hj19":"密码为6~12位数字、字母或符号", |
| | | "hj20":"请再次确认密码", |
| | | "hj21":"邀请码", |
| | | "hj22":"安全注册", |
| | | "hj23":"已有账户", |
| | | "hj24":"登录", |
| | | "hj25":"验证码", |
| | | "hj26":"手机号注册", |
| | | "hj27":"手机号", |
| | | "hj28":"请输入正确的手机号", |
| | | "hj29":"手机号不能为空", |
| | | "hj30":"请输入密码", |
| | | "hj31":"请确认密码", |
| | | "hj32":"两次输入的密码不一致", |
| | | "hj33":"请输入邀请码", |
| | | "hj34":"注册成功,请登录", |
| | | "hj35":"用户已注册,请登录", |
| | | "hj36":"登录成功", |
| | | "hj37":"输入股票名称/代码搜索", |
| | | "hj38":"开户即可入金交易", |
| | | "hj39":"名称", |
| | | "hj40":"最新价", |
| | | "hj41":"涨跌幅", |
| | | "hj42":"申购类型", |
| | | "hj43":"没有更多了", |
| | | "hj44":"手续费", |
| | | "hj45":"新股申购", |
| | | "hj46":"线下配售", |
| | | "hj47":"余额", |
| | | "hj48":"可用余额", |
| | | "hj49":"总资产", |
| | | "hj50":"强平线", |
| | | "hj51":"指数", |
| | | "hj52":"股票", |
| | | "hj53":"资产", |
| | | "hj54":"可用资金", |
| | | "hj55":"冻结保证金", |
| | | "hj56":"持仓总盈亏", |
| | | "hj57":"申购数量", |
| | | "hj58":"立即申购", |
| | | "hj59":"申购时间", |
| | | "hj60":"认缴时间", |
| | | "hj61":"自选", |
| | | "hj62":"市场", |
| | | "hj63":"沪深京", |
| | | "hj64":"科创", |
| | | "hj65":"美股", |
| | | "hj66":"港股", |
| | | "hj67":"数量不能为空", |
| | | "hj68":"数量不能小于1", |
| | | "hj69":"数量不能大于", |
| | | "hj70":"申购成功", |
| | | "hj71":"指数暂不支持自选!", |
| | | "hj72":"今开", |
| | | "hj73":"最高", |
| | | "hj74":"昨收", |
| | | "hj75":"最低", |
| | | "hj76":"五档", |
| | | "hj77":"买", |
| | | "hj78":"卖", |
| | | "hj79":"分时成交", |
| | | "hj80":"时间", |
| | | "hj81":"价格", |
| | | "hj82":"成交量", |
| | | "hj83":"简介", |
| | | "hj84":"卖出", |
| | | "hj85":"买入", |
| | | "hj86":"分时", |
| | | "hj87":"天", |
| | | "hj88":"周", |
| | | "hj89":"月", |
| | | "hj90":"1分", |
| | | "hj91":"5分", |
| | | "hj92":"30分", |
| | | "hj93":"不复权", |
| | | "hj94":"前复权", |
| | | "hj95":"后复权", |
| | | "hj96":"添加自选成功", |
| | | "hj97":"删除自选成功", |
| | | "hj98":"买入价", |
| | | "hj99":"当价格满足条件时买入", |
| | | "hj100":"交易数量(手)", |
| | | "hj101":"杠杆", |
| | | "hj102":"需付保证金", |
| | | "hj103":"可用余额", |
| | | "hj104":"止盈", |
| | | "hj105":"止损", |
| | | "hj106":"取消", |
| | | "hj107":"选择杠杆", |
| | | "hj108":"市单价", |
| | | "hj109":"挂单", |
| | | "hj110":"追踪止损", |
| | | "hj111":"您还未实名认证,请先实名认证了再下单", |
| | | "hj112":"倍", |
| | | "hj113":"下单失败,不在交易时段内", |
| | | "hj114":"沪深京账户", |
| | | "hj115":"指数账户", |
| | | "hj116":"新股账户", |
| | | "hj117":"手", |
| | | "hj118":"浮动净盈亏", |
| | | "hj119":"开仓价格", |
| | | "hj120":"当前价格", |
| | | "hj121":"平仓", |
| | | "hj122":"当前无持仓", |
| | | "hj123":"开始交易", |
| | | "hj124":"当前无挂单", |
| | | "hj125":"挂单价格", |
| | | "hj126":"撤销", |
| | | "hj127":"当前无平仓", |
| | | "hj128":"平仓时间", |
| | | "hj129":"当前无申购", |
| | | "hj130":"申购价格", |
| | | "hj131":"已认购", |
| | | "hj132":"未中签", |
| | | "hj133":"已中签", |
| | | "hj134":"已缴纳", |
| | | "hj135":"已转持仓", |
| | | "hj136":"已平仓", |
| | | "hj137":"撤单成功", |
| | | "hj138":"您还未实名认证,请先实名认证了再下单", |
| | | "hj139":"您确定要平仓吗", |
| | | "hj140":"平仓失败,不在交易时段内", |
| | | "hj141":"盈亏", |
| | | "hj142":"切换指数账户", |
| | | "hj143":"切换沪深账户", |
| | | "hj144":"修改密码", |
| | | "hj145":"资金划转", |
| | | "hj146":"实名认证", |
| | | "hj147":"绑定银行卡", |
| | | "hj148":"退出登录", |
| | | "hj149":"您确定要退出登录吗", |
| | | "hj150":"旧密码", |
| | | "hj151":"新密码", |
| | | "hj152":"确认新密码", |
| | | "hj153":"确认修改", |
| | | "hj154":"请输入新旧密码", |
| | | "hj155":"新密码不一致", |
| | | "hj156":"沪深账户", |
| | | "hj157":"账户金额互转", |
| | | "hj158":"可提现金额", |
| | | "hj159":"提现金额", |
| | | "hj160":"全部", |
| | | "hj161":"确定", |
| | | "hj162":"提现记录", |
| | | "hj163":"收款名称", |
| | | "hj164":"复制", |
| | | "hj165":"提示", |
| | | "hj166":"全部", |
| | | "hj167":"全部", |
| | | "hj168":"全部", |
| | | "hj169":"全部", |
| | | "hj170":"全部", |
| | | "hj171":"全部", |
| | | } |
| | |
| | | Vue.use(Vant); |
| | | Vue.use(Mint) |
| | | Vue.use(Tab); |
| | | Vue.use({ |
| | | i18n: (key, value) => i18n.t(key, value), |
| | | }); |
| | | Vue.prototype._i18n = i18n; |
| | | Vue.use(Tabs, Popup, DatetimePicker, Switch, Notify); |
| | | Vue.component('icon', Icon) |
| | | Vue.config.productionTip = false |
| | |
| | | |
| | | new Vue({ |
| | | el: '#app', |
| | | i18n, |
| | | store, |
| | | router, |
| | | axios, |
| | |
| | | </div> |
| | | <!-- 公告 --> |
| | | <van-skeleton title :row="1" :loading="loading" /> |
| | | <div class="announcement" v-if="!loading&&close"> |
| | | <div class="announcement" v-if="!loading && close"> |
| | | <div class="an_content" @click="$router.push('/newGg')"> |
| | | <div class="an_left_icon"> |
| | | <img :src="Announcement" alt /> |
| | | </div> |
| | | <div class="an_right_message " > |
| | | <div class="an_right_message "> |
| | | <div class="animate"> |
| | | {{ artList.artTitle }} |
| | | </div> |
| | | |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <!-- 排行入门 --> |
| | | <van-skeleton title :row="2" :loading="loading" /> |
| | | |
| | | <div class="navs" v-if="!loading&&close"> |
| | | <div class="navs" v-if="!loading && close"> |
| | | |
| | | <div class="navs_content"> |
| | | <div class="chacha" @click="close=false"> |
| | | <div class="chacha" @click="close = false"> |
| | | <div> |
| | | <img :src="clear" /> |
| | | </div> |
| | |
| | | <div class="focus_on" v-if="!loading"> |
| | | <div class="fo_content"> |
| | | <div class="top_title"> |
| | | {{ '最多关注' }} |
| | | {{ $t('hj5') }} |
| | | </div> |
| | | <div class="fo_banner"> |
| | | <van-swipe class="fo_my-swipe" :autoplay="0" indicator-color="white" @change="onChange"> |
| | |
| | | </div> |
| | | </van-swipe-item> --> |
| | | <van-swipe-item v-for="(item, index) in proData" :key="index"> |
| | | <div class="item_cont" :class="idx!=2?'item_conts':''" v-for="(item2, idx) in proData[currentIndex]" :key="idx" @click="goDetail(item2)"> |
| | | <div class="item_cont" :class="idx != 2 ? 'item_conts' : ''" |
| | | v-for="(item2, idx) in proData[currentIndex]" :key="idx" @click="goDetail(item2)"> |
| | | <div class="top_fo"> |
| | | <div class="title"> |
| | | {{ item2.name }} |
| | |
| | | <div class="bottom_fo"> |
| | | <div class="title"> |
| | | <span class="numberid" style="margin-right: 0.12rem;">{{ item2.symbol }}</span> |
| | | <div v-for="(items,indexs) in Number(item2.pnum.slice(0, 1))" style="width: 0.4rem;height: 0.4rem;display: flex;"> |
| | | <img v-if="indexs<3" :src="Huo" alt style="width: 0.4rem;height: 0.4rem;" /> |
| | | <div v-for="(items, indexs) in Number(item2.pnum.slice(0, 1))" |
| | | style="width: 0.4rem;height: 0.4rem;display: flex;"> |
| | | <img v-if="indexs < 3" :src="Huo" alt style="width: 0.4rem;height: 0.4rem;" /> |
| | | </div> |
| | | |
| | | |
| | | </div> |
| | | <div class="numbers" :class="item2.floatPoint > 0 ? 'gree' : 'redd'"> |
| | | <span class="point">{{ item2.pnum |
| | |
| | | <div class="news-tab"> |
| | | <mt-navbar v-model="news"> |
| | | <mt-tab-item id="tab_0"> |
| | | <span class="tab-name">新闻</span> |
| | | <span class="tab-name">{{ $t('hj6') }}</span> |
| | | </mt-tab-item> |
| | | <mt-tab-item id="tab_1"> |
| | | <span class="tab-name">经济</span> |
| | | <span class="tab-name">{{ $t('hj67') }}</span> |
| | | </mt-tab-item> |
| | | <mt-tab-item id="tab_2"> |
| | | <span class="tab-name">7×24</span> |
| | |
| | | </div> |
| | | </div> |
| | | </mt-tab-container-item> |
| | | <mt-tab-container-item id="tab_1" > |
| | | <mt-tab-container-item id="tab_1"> |
| | | <div class="news-content"> |
| | | <div class="item-out" v-for="(item, inde) in newsContent4" :key="inde" @click="$router.push({ |
| | | path: '/newPage', query: { |
| | | listid: item.id |
| | | } |
| | | })" > |
| | | })"> |
| | | <div class="item-times">{{ item.addTime | gettime }}</div> |
| | | <div class="titContent" style="-webkit-box-orient: vertical;">{{ item.title }}</div> |
| | | </div> |
| | |
| | | Huo, |
| | | is_login: false, |
| | | loading: true, |
| | | close:true, |
| | | close: true, |
| | | proData: [], // 分割好的数据 |
| | | currentIndex: 0, |
| | | bannerImgsArr: [{ |
| | |
| | | announcementMess: "20202/10 - 交易时间安排", |
| | | navsArr: [{ |
| | | img: Tops, |
| | | title: "行情" |
| | | title: this.$t('hj1'), |
| | | }, |
| | | { |
| | | img: Rumen, |
| | | title: "持仓" |
| | | title: this.$t('hj2'), |
| | | }, |
| | | { |
| | | img: Xuexi, |
| | | title: "新股" |
| | | title: this.$t('hj3'), |
| | | }, |
| | | { |
| | | img: Guanyu, |
| | | title: "我的" |
| | | } |
| | | ], |
| | | artList:[], |
| | | title: this.$t('hj4'), |
| | | }], |
| | | artList: [], |
| | | news: "tab_0", |
| | | newsContent1: [], |
| | | newsContent2: [], |
| | |
| | | newsContent4: [], |
| | | onlineService: "", |
| | | isGoTo: false, |
| | | bannerList:[], |
| | | bannerList: [], |
| | | userInfo: [], |
| | | }; |
| | | }, |
| | | methods: { |
| | | |
| | | async getUserInfo() { |
| | | // 获取用户信息 |
| | | let data = await api.getUserInfo(); |
| | |
| | | } |
| | | }, |
| | | goDetail(item) { |
| | | if(this.userInfo.length==0){ |
| | | this.$store.commit('dialogVisible',true); |
| | | if (this.userInfo.length == 0) { |
| | | this.$store.commit('dialogVisible', true); |
| | | return; |
| | | } |
| | | this.$router.push({ |
| | |
| | | return 0; |
| | | } |
| | | }, |
| | | goJy(index){ |
| | | if(this.userInfo.length==0){ |
| | | this.$store.commit('dialogVisible',true); |
| | | goJy(index) { |
| | | if (this.userInfo.length == 0) { |
| | | this.$store.commit('dialogVisible', true); |
| | | return; |
| | | } |
| | | switch (index) { |
| | | case 0: |
| | | this.$router.push('/trading-list'); |
| | | break; |
| | | case 1: |
| | | case 1: |
| | | this.$router.push('/warehouse'); |
| | | break; |
| | | case 2: |
| | | this.$router.push({path:'/trading-list',query:{listid:3}}); |
| | | case 2: |
| | | this.$router.push({ path: '/trading-list', query: { listid: 3 } }); |
| | | break; |
| | | case 3: |
| | | case 3: |
| | | this.$router.push('/user'); |
| | | break; |
| | | |
| | | |
| | | default: |
| | | break; |
| | | } |
| | | if (navigator.vibrate) { |
| | | // 支持 |
| | | // 支持 |
| | | navigator.vibrate([55]); |
| | | } |
| | | }, |
| | | async getBanner () { |
| | | async getBanner() { |
| | | // 获取显示的banner |
| | | let result = await api.getBannerByPlat({ platType: 'm' }) |
| | | if (result.status === 0) { |
| | | this.bannerList = result.data |
| | | } else { |
| | | this.$store.commit('elAlertShow',{'elAlertShow':true,'elAlertText': result.msg}); |
| | | this.$store.commit('elAlertShow', { 'elAlertShow': true, 'elAlertText': result.msg }); |
| | | } |
| | | }, |
| | | goOnline() { |
| | | window.location.href = this.onlineService; |
| | | |
| | | }, |
| | | async getArtList(){ |
| | | async getArtList() { |
| | | let data = await api.getArtList(); |
| | | if(data.status == 0){ |
| | | if (data.status == 0) { |
| | | this.artList = data.data.list[0]; |
| | | } |
| | | }, |
| | |
| | | if (data.status === 0) { |
| | | this.onlineService = data.data.onlineService |
| | | } else { |
| | | this.$store.commit('elAlertShow',{'elAlertShow':true,'elAlertText': data.msg}); |
| | | this.$store.commit('elAlertShow', { 'elAlertShow': true, 'elAlertText': data.msg }); |
| | | } |
| | | }, |
| | | async getStock() { |
| | |
| | | }, |
| | | handleSearchClick() { |
| | | //this.loading = !this.loading; |
| | | this.$router.push({path:"/trading-list",query:{type:1}}); |
| | | this.$router.push({ path: "/trading-list", query: { type: 1 } }); |
| | | } |
| | | }, |
| | | filters: { |
| | |
| | | this.getArtList(); |
| | | this.getBanner() |
| | | |
| | | |
| | | |
| | | setInterval(() => { |
| | | if(window.localStorage.getItem('USERTOKEN')){ |
| | | if (window.localStorage.getItem('USERTOKEN')) { |
| | | this.isGoTo = false; |
| | | }else{ |
| | | } else { |
| | | this.isGoTo = !this.isGoTo |
| | | } |
| | | }, 10000); |
| | |
| | | align-content: center; |
| | | font-size: 0.29rem; |
| | | white-space: nowrap; |
| | | overflow: hidden; |
| | | overflow: hidden; |
| | | // text-overflow:ellipsis; |
| | | } |
| | | } |
| | |
| | | /deep/.van-swipe__indicator--active { |
| | | width: 0.35rem !important; |
| | | border-radius: 0.23rem; |
| | | background-color: #aec7ec!important; |
| | | background-color: #aec7ec !important; |
| | | } |
| | | |
| | | .fo_banner { |
| | |
| | | .numberid { |
| | | font-size: 0.28rem; |
| | | display: flex; |
| | | |
| | | |
| | | line-height: 0.5rem; |
| | | } |
| | | |
| | |
| | | text-align: center; |
| | | justify-content: center; |
| | | } |
| | | .percentage span{ |
| | | |
| | | .percentage span { |
| | | height: 0.5rem; |
| | | line-height: 0.5rem; |
| | | } |
| | |
| | | border: 0.0513rem solid #41AC75; |
| | | color: #41AC75; |
| | | } |
| | | |
| | | .animate { |
| | | |
| | | padding-left: 20px; |
| | | padding-left: 20px; |
| | | |
| | | font-size: 0.29rem; |
| | | font-size: 0.29rem; |
| | | |
| | | color: #000; |
| | | color: #000; |
| | | |
| | | display: inline-block; |
| | | display: inline-block; |
| | | |
| | | white-space: nowrap; |
| | | white-space: nowrap; |
| | | |
| | | animation: 10s wordsLoop linear infinite normal; |
| | | animation: 10s wordsLoop linear infinite normal; |
| | | |
| | | } |
| | | |
| | |
| | | |
| | | @keyframes wordsLoop { |
| | | |
| | | 0% { |
| | | 0% { |
| | | |
| | | transform: translateX(100%); |
| | | |
| | | -webkit-transform: translateX(100%); |
| | | |
| | | } |
| | | } |
| | | |
| | | 100% { |
| | | 100% { |
| | | |
| | | transform: translateX(-100%); |
| | | |
| | | -webkit-transform: translateX(-100%); |
| | | |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | |
| | | |
| | | @-webkit-keyframes wordsLoop { |
| | | |
| | | 0% { |
| | | 0% { |
| | | |
| | | transform: translateX(100%); |
| | | |
| | | -webkit-transform: translateX(100%); |
| | | |
| | | } |
| | | } |
| | | |
| | | 100% { |
| | | 100% { |
| | | |
| | | transform: translateX(-100%); |
| | | |
| | | -webkit-transform: translateX(-100%); |
| | | |
| | | } |
| | | } |
| | | |
| | | } |
| | | </style> |
| | |
| | | <span>{{ item.Name }}</span> |
| | | </div> |
| | | <div class="btn2" @click="isShow ? isShow = false : isShow = true"> |
| | | <div class="btn2" :class="KLinePeriodIndex === index ? 'active' : ''"> |
| | | <div class="btn2"> |
| | | <!-- :class="KLinePeriodIndex === index ? 'active' : ''" --> |
| | | <img src="../../../assets/img/options.png" alt /> |
| | | </div> |
| | | </div> |
| | |
| | | import "hqchart/src/jscommon/umychart.resource/css/tools.css"; |
| | | import "hqchart/src/jscommon/umychart.resource/font/iconfont.css"; |
| | | import EastMoney from "../../../eastmoney/HQData.js"; |
| | | |
| | | import i18n from '@/locales/index.js' |
| | | //源码调试用 |
| | | //import Chart from '../jscommon/umychart.vue/umychart.vue.js' |
| | | //import '../jscommon/umychart.resource/css/tools.css' |
| | |
| | | |
| | | DefaultData.GetKLinePeriodMenu = function() { |
| | | var data = [ |
| | | { Name: "分时", ID: 3 }, |
| | | { Name: "天", ID: 0 }, |
| | | { Name: "周", ID: 1 }, |
| | | { Name: "月", ID: 2 }, |
| | | { Name: "1分", ID: 4 }, |
| | | { Name: "5分", ID: 5 }, |
| | | { Name: "30分", ID: 7 } |
| | | { Name: i18n.t('hj86'), ID: 3 }, |
| | | { Name: i18n.t('hj87'), ID: 0 }, |
| | | { Name: i18n.t('hj88'), ID: 1 }, |
| | | { Name: i18n.t('hj89'), ID: 2 }, |
| | | { Name: i18n.t('hj90'), ID: 4 }, |
| | | { Name: i18n.t('hj91'), ID: 5 }, |
| | | { Name: i18n.t('hj92'), ID: 7 } |
| | | ]; |
| | | |
| | | return data; |
| | |
| | | |
| | | DefaultData.GetKLineRightMenu = function() { |
| | | var data = [ |
| | | { Name: "不复权", ID: 0 }, |
| | | { Name: "前复权", ID: 1 }, |
| | | { Name: "后复权", ID: 2 } |
| | | { Name: i18n.t('hj93'), ID: 0 }, |
| | | { Name: i18n.t('hj94'), ID: 1 }, |
| | | { Name: i18n.t('hj95'), ID: 2 } |
| | | ]; |
| | | |
| | | return data; |
| | |
| | | <div class="content_money"> |
| | | <div class="top_price"> |
| | | <div class="left"> |
| | | <span>{{ '余额' }}</span> |
| | | <span>{{ $t('hj47') }}</span> |
| | | </div> |
| | | <div class="right"> |
| | | <span v-if="$store.state.userInfo.userAmt == undefined">¥0.00</span> |
| | |
| | | </div> |
| | | <div class="bottom_balance"> |
| | | <div> |
| | | <span>{{ '可用余额' }}</span> |
| | | <span>{{ $t('hj48') }}</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="right_ets"> |
| | | <div class="tops"> |
| | | <div class="lefts topes"> |
| | | <span class="titles">{{ '今开' }}</span> |
| | | <span class="titles">{{ $t('hj72') }}</span> |
| | | <span :class="singDetails.nowPrice - singDetails.preclose_px < 0 ? 'number green' : 'number red'">{{ |
| | | singDetails.open_px |
| | | }}</span> |
| | | </div> |
| | | <div class="rights topes"> |
| | | <span class="titles">{{ '最高' }}</span> |
| | | <span class="titles">{{ $t('hj73') }}</span> |
| | | <span :class="singDetails.nowPrice - singDetails.preclose_px < 0 ? 'number green' : 'number red'">{{ |
| | | singDetails.today_max |
| | | }}</span> |
| | |
| | | </div> |
| | | <div class="bottoms"> |
| | | <div class="lefts bots"> |
| | | <span class="titles">{{ '昨收' }}</span> |
| | | <span class="titles">{{ $t('hj74') }}</span> |
| | | <span :class="singDetails.nowPrice - singDetails.preclose_px < 0 ? 'number green' : 'number red'">{{ |
| | | singDetails.preclose_px |
| | | }}</span> |
| | | </div> |
| | | <div class="rights bots"> |
| | | <span class="titles">{{ '最低' }}</span> |
| | | <span class="titles">{{ $t('hj75') }}</span> |
| | | <span :class="singDetails.nowPrice - singDetails.preclose_px < 0 ? 'number green' : 'number red'">{{ |
| | | singDetails.today_min |
| | | }}</span> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="k_line_detail" > |
| | | <Kline :type="singDetails.type"/> |
| | | <div class="k_line_detail"> |
| | | <Kline :type="singDetails.type" /> |
| | | </div> |
| | | <div class="priect_top_bottom" |
| | | v-if="(kLineDetails.if_us != 1 && kLineDetails.type != 'hk') && kLineDetails.type != 'hk' && kLineDetails.if_zhishu == 0"> |
| | | <div class="t_title"> |
| | | <span>{{ '五档' }}</span> |
| | | <span>{{ $t('hj76') }}</span> |
| | | </div> |
| | | <div class="charts"> |
| | | <div class="left_s"> |
| | | <div class="t_ma"> |
| | | <span>{{ '买' }}</span> |
| | | <span>{{ $t('hj77') }}</span> |
| | | </div> |
| | | <div class="ets"> |
| | | <div class="left_sell1"> |
| | |
| | | </div> |
| | | <div class="right_h"> |
| | | <div class="t_ma"> |
| | | <span>{{ '卖' }}</span> |
| | | <span>{{ $t('hj78') }}</span> |
| | | </div> |
| | | <div class="ets"> |
| | | <div class="left_sell1"> |
| | |
| | | </div> |
| | | <div class="priect_top_bottom" v-if="kLineDetails.if_us == 1"> |
| | | <div class="t_title"> |
| | | <span>{{ '分时成交' }}</span> |
| | | <span>{{ $t('hj79') }}</span> |
| | | </div> |
| | | <div class="charts"> |
| | | <div class="left_s"> |
| | | <div class="t_ma"> |
| | | <span>{{ '时间' }}</span> |
| | | <span>{{ $t('hj80') }}</span> |
| | | </div> |
| | | <div class="ets" v-for="item in timedata.data.details"> |
| | | <div class="left_sell1"> |
| | |
| | | </div> |
| | | <div class="right_h"> |
| | | <div class="t_ma"> |
| | | <span>{{ '价格' }}</span> |
| | | <span>{{ $t('hj81') }}</span> |
| | | </div> |
| | | <div class="ets" v-for="item in timedata.data.details"> |
| | | <div class="left_sell1"> |
| | |
| | | </div> |
| | | <div class="right_h"> |
| | | <div class="t_ma"> |
| | | <span>{{ '成交量' }}</span> |
| | | <span>{{ $t('hj82') }}</span> |
| | | </div> |
| | | <div class="ets" v-for="item in timedata.data.details"> |
| | | <div class="left_sell1"> |
| | |
| | | <div class="jianjie" v-if="!(kLineDetails.if_zhishu != '0' && singDetails.gid.indexOf('hk') > -1)" |
| | | :class="acseFlag ? 'isjj' : ''" ref="isjj" id="isjj"> |
| | | <div class="top_jj"> |
| | | <span>{{ '简介' }}</span> |
| | | <span>{{ $t('hj83') }}</span> |
| | | </div> |
| | | <div class="jet"> |
| | | <span>{{ jianjie }}</span> |
| | |
| | | |
| | | <div class="news-tab"> |
| | | <div class="t_title"> |
| | | <span>{{ '新闻' }}</span> |
| | | <span>{{ $t('hj6') }}</span> |
| | | </div> |
| | | <mt-tab-container v-model="news" :swipeable="false" style="padding-top: 0.5rem;"> |
| | | <mt-tab-container-item id="tab_2"> |
| | |
| | | <div class="hknews" v-else> |
| | | <div class="news-tab"> |
| | | <div class="t_title"> |
| | | <span>{{ '新闻' }}</span> |
| | | <span>{{ $t('hj6') }}</span> |
| | | </div> |
| | | <mt-tab-container v-model="news" :swipeable="false" style="padding-top: 0.5rem;"> |
| | | <mt-tab-container-item id="tab_2"> |
| | |
| | | <div class="rights"> |
| | | <div class="buy_btn"> |
| | | <div class="top_buy" @click="goBuy(0)"> |
| | | <span>{{ '卖出' }}</span> |
| | | <span>{{ $t('hj84') }}</span> |
| | | </div> |
| | | <div class="bottom_buy"> |
| | | <span>{{ singDetails.nowPrice }}</span> |
| | |
| | | </div> |
| | | <div class="sell_btn" @click="goBuy(1)"> |
| | | <div class="top_sell"> |
| | | <span>{{ '买入' }}</span> |
| | | <span>{{ $t('hj85') }}</span> |
| | | </div> |
| | | <div class="bottom_sell"> |
| | | <span>{{ singDetails.nowPrice }}</span> |
| | |
| | | Kline |
| | | }, |
| | | created() { |
| | | |
| | | |
| | | const { query } = this.$route; |
| | | this.kLineDetails = query; |
| | | if (query.if_us == '1') { |
| | |
| | | if (data.status === 0) { |
| | | this.getOpation(); |
| | | this.optionBtn = false; |
| | | this.$message({ |
| | | message: this.$t('hj97'), |
| | | type: 'success' |
| | | }); |
| | | } else { |
| | | this.optionBtn = false; |
| | | this.$message({ |
| | | message: data.msg, |
| | | type: 'warning' |
| | | }); |
| | | message: data.msg, |
| | | type: 'warning' |
| | | }); |
| | | } |
| | | } else { |
| | | let data = await api.addOption({ code: this.kLineDetails.code }); |
| | | if (data.status === 0) { |
| | | this.getOpation(); |
| | | this.optionBtn = false; |
| | | this.$message({ |
| | | message: this.$t('hj96'), |
| | | type: 'success' |
| | | }); |
| | | } else { |
| | | this.$message({ |
| | | message: data.msg, |
| | | type: 'warning' |
| | | }); |
| | | message: data.msg, |
| | | type: 'warning' |
| | | }); |
| | | this.optionBtn = false; |
| | | } |
| | | } |
| | |
| | | await api.getSingleStock(opts).then(res => { |
| | | if (res.status === 0) { |
| | | this.singDetails = res.data.stock; |
| | | |
| | | |
| | | if (res.data.introduction) { |
| | | this.jianjie = res.data.introduction; |
| | | } else { |
| | |
| | | // setTimeout(() => { |
| | | // that.getSingDetailUs() |
| | | // }, 3000); |
| | | |
| | | |
| | | // } |
| | | if (res.status === 0) { |
| | | this.singDetails = res.data.stock; |
| | |
| | | font-size: 0.4546rem; |
| | | margin-top: 0.2rem; |
| | | padding: 0 0.3rem; |
| | | |
| | | span{ |
| | | |
| | | span { |
| | | font-weight: 700; |
| | | } |
| | | } |
| | |
| | | <img src="../../assets/img/searchs.png" alt /> |
| | | </div> |
| | | <div class="search_input"> |
| | | <input type="text" class="searchs" placeholder="输入品种名称/代码搜索" ref="search" id="sousuo" v-model="gpcode" |
| | | <input type="text" class="searchs" :placeholder="$t('hj37')" ref="search" id="sousuo" v-model="gpcode" |
| | | @input="gpinput" /> |
| | | </div> |
| | | </div> |
| | |
| | | <img src="../../assets/img/shenfen2.png" alt /> |
| | | </div> |
| | | <div class="text"> |
| | | <span>{{ '开户即可入金交易' }}</span> |
| | | <span>{{ $t('hj38') }}</span> |
| | | </div> |
| | | <div class="right_go"> |
| | | <img src="../../assets/img/yuoujiantou.png" alt /> |
| | |
| | | </div> |
| | | <div class="list_title"> |
| | | <div class="item_title varieties"> |
| | | <span>{{ '品种' }}</span> |
| | | <span>{{ $t('hj39') }}</span> |
| | | </div> |
| | | <div class="item_title latest_price"> |
| | | <span>{{ '最新价' }}</span> |
| | | <span>{{ $t('hj40') }}</span> |
| | | </div> |
| | | <div class="item_title applies"> |
| | | <span v-show="tabsItemIndex != 5">{{ '涨跌幅' }}</span> |
| | | <span v-show="tabsItemIndex == 5" style="width: 100%;text-align: center;">{{ '申购类型' }}</span> |
| | | <span v-show="tabsItemIndex != 5">{{ $t('hj41') }}</span> |
| | | <span v-show="tabsItemIndex == 5" style="width: 100%;text-align: center;">{{ $t('hj42') }}</span> |
| | | </div> |
| | | </div> |
| | | <!-- 市场列表 --> |
| | | <div class="list" :class="isToken == '' ? 'listHeight' : 'listHeights'"> |
| | | <van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="onLoad" |
| | | <van-list v-model="loading" :finished="finished" :finished-text="$t('hj43')" @load="onLoad" |
| | | :immediate-check="false"> |
| | | <div class="van-clearfix"> |
| | | <div class="list_items"> |
| | |
| | | </div> |
| | | <div class="bt"> |
| | | <span v-if="tabsItemIndex == 5 || tabsItemIndex == 1">{{ tabsItemIndex == 5 ? 'Max:' + |
| | | Number(item.orderNumber) : '手续费:' + Number(item.transFee) |
| | | Number(item.orderNumber) : $t('hj44') + ':' + Number(item.transFee) |
| | | }}</span> |
| | | <span v-else>{{ item.today_min }}</span> |
| | | </div> |
| | |
| | | </span> --> |
| | | <div v-if="tabsItemIndex == 5" :class="item.type == 1 ? 'xgsgType' : 'xgsgTypeRed'"> |
| | | <!-- {{item.orderNumber}} --> |
| | | {{ item.type == 1 ? '新股申购' : '线下配售' }} |
| | | {{ item.type == 1 ? $t('hj45') : $t('hj46') }} |
| | | </div> |
| | | </div> |
| | | <div class="bt" style="justify-content: flex-end;"> |
| | |
| | | <img src="../../assets/img/searchs.png" alt /> |
| | | </div> |
| | | <div class="search_input"> |
| | | <input type="text" class="searchs" placeholder="输入品种名称/代码搜索" |
| | | <input type="text" class="searchs" :placeholder="$t('hj37')" |
| | | onkeyup="value=value.replace(/[^a-zA-Z0-9]/g,'')" v-model="gpcodes" @input="gpinputs" /> |
| | | </div> |
| | | </div> |
| | |
| | | </div> |
| | | <div class="list_title"> |
| | | <div class="item_title varieties"> |
| | | <span>{{ '品种' }}</span> |
| | | <span>{{ $t('hj39') }}</span> |
| | | </div> |
| | | <div class="item_title latest_price"> |
| | | <span>{{ '最新价' }}</span> |
| | | <span>{{ $t('hj40') }}</span> |
| | | </div> |
| | | <div class="item_title applies"> |
| | | <span>{{ '涨跌幅' }}</span> |
| | | <span>{{ $t('hj41') }}</span> |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | | <!-- 自选列表 --> |
| | | <div class="list zxlist"> |
| | | <van-list v-model="loadings" :finished="finisheds" finished-text="没有更多了" @load="onLoads" |
| | | <van-list v-model="loadings" :finished="finisheds" :finished-text="$t('hj43')" @load="onLoads" |
| | | :immediate-check="false"> |
| | | <div class="van-clearfix"> |
| | | <div class="list_items"> |
| | |
| | | <div class="content_money" v-if="tabsIndex === 1"> |
| | | <div class="top_price"> |
| | | <div class="left"> |
| | | <span>{{ '余额' }}</span> |
| | | <span>{{ $t('hj47') }}</span> |
| | | </div> |
| | | <div class="right" v-if="userData.length == 0">¥0.00</div> |
| | | <div class="right" v-if="userData.length != 0"> |
| | |
| | | </div> |
| | | <div class="bottom_balance"> |
| | | <div> |
| | | <span>{{ '可用余额' }}</span> |
| | | <span>{{ $t('hj48') }}</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="card_item"> |
| | | <div class="tops_title"> |
| | | <div> |
| | | <span>{{ '总资产' }}</span> |
| | | <span>{{ $t('hj49') }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="bottom_price"> |
| | |
| | | <div class="card_item"> |
| | | <div class="tops_title"> |
| | | <div> |
| | | <span>{{ '强平线' }}</span> |
| | | <span>{{ $t('hj50') }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="bottom_price"> |
| | |
| | | <div class="tops_title"> |
| | | <div> |
| | | <span> |
| | | {{ tabsItemIndex == 1 ? '指数' : tabsItemIndex == 0 ? '股票' : tabsItemIndex == 2 ? '股票' : |
| | | {{ tabsItemIndex == 1 ? $t('hj51') : tabsItemIndex == 0 ? $t('hj52') : tabsItemIndex == 2 ? $t('hj52') : |
| | | tabsItemIndex == |
| | | 5 ? '股票' : '' |
| | | 5 ? $t('hj52') : '' |
| | | }} |
| | | </span> |
| | | <span>{{ '资产' }}</span> |
| | | <span>{{ $t('hj53') }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="bottom_price"> |
| | |
| | | <div class="card_item"> |
| | | <div class="tops_title"> |
| | | <div> |
| | | <span>{{ '可用资金' }}</span> |
| | | <span>{{ $t('hj54') }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="bottom_price"> |
| | |
| | | <div class="card_item"> |
| | | <div class="tops_title"> |
| | | <div> |
| | | <span>{{ '冻结保证金' }}</span> |
| | | <span>{{ $t('hj55') }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="bottom_price"> |
| | |
| | | <div class="card_item"> |
| | | <div class="tops_title"> |
| | | <div> |
| | | <span>{{ '持仓总盈亏' }}</span> |
| | | <span>{{ $t('hj56') }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="bottom_price"> |
| | |
| | | <div class="setting_content"> |
| | | <div class="old_password"> |
| | | <div class="left_titles"> |
| | | <span>{{ '申购数量:' }}</span> |
| | | <span>{{ $t('hj57') }}:</span> |
| | | </div> |
| | | <div class="right_password_input"> |
| | | <input type="number" v-model="sgNum" /> |
| | | </div> |
| | | </div> |
| | | <div class="btn_setting" @click="changeSg()"> |
| | | <span>{{ '立即申购' }}</span> |
| | | <span>{{ $t('hj58') }}</span> |
| | | </div> |
| | | <div class="shijian"> |
| | | <div class="xgsj"> |
| | | |
| | | <div class="sjtlt">申购时间: </div> |
| | | <div class="sjtlt">{{ $t('hj59') }}: </div> |
| | | <div class="xgTime" v-if="this.sgsj">{{ this.sgsj | getTimeYear }}</div> |
| | | </div> |
| | | <div class="xgsj"> |
| | | <div class="sjtlt">认缴时间: </div> |
| | | <div class="sjtlt">{{ $t('hj60') }}: </div> |
| | | <div class="xgTime" v-if="this.rjsj">{{ this.rjsj | getTimeYear }}</div> |
| | | </div> |
| | | </div> |
| | |
| | | data() { |
| | | return { |
| | | tabsIndex: 1, |
| | | tabsArr: ["自选", "市场"], |
| | | tabsArr: [this.$t('hj61'), this.$t('hj62')], |
| | | tabClassActive: 1, |
| | | dialogFlag: false, |
| | | pageNum: 1, |
| | |
| | | stockType: '', |
| | | tabsClassArr: [ |
| | | { |
| | | name: "沪深京", |
| | | name: this.$t('hj63'), |
| | | type: 0 |
| | | }, |
| | | { |
| | | name: "指数", |
| | | name: this.$t('hj51'), |
| | | type: 1 |
| | | }, |
| | | |
| | | { |
| | | name: "科创", |
| | | name: this.$t('hj64'), |
| | | type: 2 |
| | | }, |
| | | // { |
| | |
| | | // type: 3 |
| | | // } |
| | | { |
| | | name: "美股", |
| | | name: this.$t('hj65'), |
| | | type: 3 |
| | | }, |
| | | { |
| | | name: "港股", |
| | | name: this.$t('hj66'), |
| | | type: 4 |
| | | }, |
| | | { |
| | | name: "新股", |
| | | name: this.$t('hj3'), |
| | | type: 5 |
| | | } |
| | | ], |
| | |
| | | }, |
| | | async changeSg() { |
| | | if (!this.sgNum) { |
| | | Toast('数量不能为空'); |
| | | Toast(this.$t('hj67')); |
| | | return; |
| | | }; |
| | | //this.sgNum必须是数字并且不能小于1 |
| | | if (this.sgNum < 1) { |
| | | Toast('数量不能小于1'); |
| | | Toast(this.$t('hj68')); |
| | | return; |
| | | } |
| | | if (this.sgNum > this.orderNumber) { |
| | | Toast('数量不能大于' + this.orderNumber); |
| | | Toast(this.$t('hj69') + this.orderNumber); |
| | | return; |
| | | } |
| | | |
| | |
| | | this.sgsj = ''; |
| | | this.rjsj = ''; |
| | | this.orderNumber = ''; |
| | | Toast('申购成功'); |
| | | Toast(this.$t('hj70')); |
| | | this.$router.push({ path: '/warehouse?index=3' }); |
| | | } else { |
| | | Toast(data.msg); |
| | |
| | | async options(val) { |
| | | if(this.tabsItemIndex == 1){ |
| | | this.$message({ |
| | | message: '指数暂不支持自选!', |
| | | message: this.$t('hj71'), |
| | | type: 'warning' |
| | | }); |
| | | return; |
| | |
| | | </div> --> |
| | | <div class="logins_content"> |
| | | <div class="login_title animated slideInDown"> |
| | | <span>{{ '手机号登录' }}</span> |
| | | <span>{{ $t('hj8') }}</span> |
| | | </div> |
| | | <div class="login_forms"> |
| | | <div class="top_forms"> |
| | |
| | | <div class="password"> |
| | | <input type="password" placeholder="登录密码" v-model="userPassword" @input="handleInput()" /> |
| | | </div> --> |
| | | <el-input placeholder="请输入手机号" :size="medium" maxlength="11" v-model="userName" clearable> |
| | | <el-input :placeholder="$t('hj9')" :size="medium" maxlength="11" v-model="userName" clearable> |
| | | </el-input> |
| | | <el-input style="margin-top: 0.46rem;" show-password placeholder="登录密码" :size="medium" v-model="userPassword" @input="handleInput()"> |
| | | <el-input style="margin-top: 0.46rem;" show-password :placeholder="$t('hj10')" :size="medium" |
| | | v-model="userPassword" @input="handleInput()"> |
| | | </el-input> |
| | | </div> |
| | | <div class="bottom_btns" :class="btnClass ? 'on' : 'off'" > |
| | | <div class="bottom_btns" :class="btnClass ? 'on' : 'off'"> |
| | | <div class="top_btn " @click="loginIN" :class="dengl ? 'animated pulse' : ''"> |
| | | <span>{{ '安全登录' }}</span> |
| | | <span>{{ $t('hj11') }}</span> |
| | | </div> |
| | | <div class="mes" @click="getApp()"> |
| | | <span>{{ '忘记密码?' }}</span> |
| | | <span>{{ $t('hj12') }}</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="login_bom"> |
| | | |
| | | <div class="line"> |
| | | <div class="left_line"></div> |
| | | <div class="center_line"> |
| | | <span>{{ '其他登录方式' }}</span> |
| | | </div> |
| | | <div class="right_line"></div> |
| | | |
| | | <div class="line"> |
| | | <div class="left_line"></div> |
| | | <div class="center_line"> |
| | | <span>{{ $t('hj13') }}</span> |
| | | </div> |
| | | <div class="right_line"></div> |
| | | </div> |
| | | <div class="imgDemo"> |
| | | <div class="appImg" @click="getApp()"><img src="@/assets/img/apple.png"/></div> |
| | | <div class="appImg" @click="getApp()"><img src="@/assets/img/google.png"/></div> |
| | | <div class="appImg" @click="getApp()"><img src="@/assets/img/facebook.png"/></div> |
| | | <div class="appImg" @click="getApp()"><img src="@/assets/img/apple.png" /></div> |
| | | <div class="appImg" @click="getApp()"><img src="@/assets/img/google.png" /></div> |
| | | <div class="appImg" @click="getApp()"><img src="@/assets/img/facebook.png" /></div> |
| | | </div> |
| | | <div class="myzh"><span class="mes">没有账户?</span><span @click="$router.push('/register')" class="mes" style="color: rgb(54,124,248);">{{ '注册' }}</span> </div> |
| | | <div class="myzh"><span class="mes">{{ $t('hj14') }}?</span><span @click="$router.push('/register')" class="mes" |
| | | style="color: rgb(54,124,248);">{{ $t('hj15') }}</span> </div> |
| | | </div> |
| | | <el-alert |
| | | v-show="alertShow" |
| | | :closable="closable" |
| | | :title="texts" |
| | | :type="eltype" center></el-alert> |
| | | <el-alert v-show="alertShow" :closable="closable" :title="texts" :type="eltype" center></el-alert> |
| | | </div> |
| | | </template> |
| | | <script> |
| | |
| | | name: "newLogin", |
| | | data() { |
| | | return { |
| | | loginWay: "手机号登录", |
| | | loginWay: this.$t('hj8'), |
| | | currentLoginMode: "email", |
| | | placeholder: "电子邮箱", |
| | | placeholder: this.$t('hj16'), |
| | | Logo, |
| | | userPassword: "", |
| | | userName: "", |
| | | btnClass: false, |
| | | medium: "medium", |
| | | alertShow:false, |
| | | closable:false, |
| | | eltype:'warning', |
| | | texts:"", |
| | | dengl:false, |
| | | loginBtn:false, |
| | | alertShow: false, |
| | | closable: false, |
| | | eltype: 'warning', |
| | | texts: "", |
| | | dengl: false, |
| | | loginBtn: false, |
| | | }; |
| | | }, |
| | | components: { |
| | | headers |
| | | }, |
| | | methods: { |
| | | getApp(){ |
| | | // Toast('您所在的地区暂未开通此服务') |
| | | getApp() { |
| | | // Toast('您所在的地区暂未开通此服务') |
| | | //Toast 弹窗大小 |
| | | this.texts="您所在的地区暂未开通此服务" |
| | | this.alertShow=true |
| | | setTimeout(()=>{ |
| | | this.alertShow=false |
| | | },2000) |
| | | this.texts = this.$t('hj17') |
| | | this.alertShow = true |
| | | setTimeout(() => { |
| | | this.alertShow = false |
| | | }, 2000) |
| | | }, |
| | | handleInput() { |
| | | console.log(this.userPassword !== "" && this.userName !== ''); |
| | |
| | | } |
| | | }, |
| | | async loginIN() { |
| | | |
| | | this.dengl=true |
| | | setTimeout(()=>{ |
| | | this.dengl=false |
| | | },1000) |
| | | if(this.loginBtn){ |
| | | |
| | | this.dengl = true |
| | | setTimeout(() => { |
| | | this.dengl = false |
| | | }, 1000) |
| | | if (this.loginBtn) { |
| | | return; |
| | | } |
| | | this.loginBtn = true; |
| | |
| | | if (data.status === 0) { |
| | | this.$store.state.userInfo.phone = this.userName |
| | | this.$store.state.userInfo.token = data.data.token |
| | | this.texts=data.msg |
| | | this.eltype='success' |
| | | this.alertShow=true |
| | | setTimeout(()=>{ |
| | | this.alertShow=false |
| | | this.eltype='warning' |
| | | this.$router.push('/home') |
| | | },1000) |
| | | this.loginBtn = false; |
| | | this.texts = this.$t('hj36') |
| | | this.eltype = 'success' |
| | | this.alertShow = true |
| | | setTimeout(() => { |
| | | this.alertShow = false |
| | | this.eltype = 'warning' |
| | | this.$router.push('/home') |
| | | }, 1000) |
| | | this.loginBtn = false; |
| | | window.localStorage.clear() |
| | | window.localStorage.setItem("USERTOKEN", data.data.token); |
| | | |
| | | |
| | | |
| | | |
| | | } else { |
| | | this.texts=data.msg |
| | | this.alertShow=true |
| | | this.loginBtn = false; |
| | | setTimeout(()=>{ |
| | | this.alertShow=false |
| | | },2000) |
| | | this.texts = data.msg |
| | | this.alertShow = true |
| | | this.loginBtn = false; |
| | | setTimeout(() => { |
| | | this.alertShow = false |
| | | }, 2000) |
| | | //Toast(data.msg) |
| | | } |
| | | if (navigator.vibrate) { |
| | | // 支持 |
| | | // 支持 |
| | | navigator.vibrate([55]); |
| | | } |
| | | }, |
| | |
| | | width: 100%; |
| | | height: auto; |
| | | margin-top: 0.35rem; |
| | | |
| | | .top_forms { |
| | | width: 100%; |
| | | height: auto; |
| | |
| | | width: 100%; |
| | | height: 1.25rem; |
| | | border-radius: 0.3564rem; |
| | | background: rgb(154,197,250); |
| | | background: rgb(154, 197, 250); |
| | | color: #fff; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | font-size: 0.5128rem; |
| | | margin-top: 0.75rem; |
| | | |
| | | >span { |
| | | font-weight: 530 !important; |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | .mes { |
| | | width: 100%; |
| | |
| | | } |
| | | } |
| | | } |
| | | .login_bom{ |
| | | |
| | | .login_bom { |
| | | position: absolute; |
| | | bottom: 2.6rem; |
| | | width: 100%; |
| | | height: 4rem; |
| | | padding: 0 2rem; |
| | | } |
| | | .line{ |
| | | //分割线 |
| | | width: 100%; |
| | | height: 0.3846rem; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | margin-top: 0.3846rem; |
| | | .left_line{ |
| | | width: 20%; |
| | | height: 0.01rem; |
| | | background: #e5e5e5; |
| | | } |
| | | .center_line{ |
| | | width: 50%; |
| | | height: 0.01rem; |
| | | background: #fff; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | >span{ |
| | | font-size: 0.3046rem; |
| | | color: #000; |
| | | background-color: #fff; |
| | | |
| | | } |
| | | } |
| | | .right_line{ |
| | | width: 20%; |
| | | height: 0.01rem; |
| | | background: #e5e5e5; |
| | | } |
| | | |
| | | .line { |
| | | //分割线 |
| | | width: 100%; |
| | | height: 0.3846rem; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | margin-top: 0.3846rem; |
| | | |
| | | .left_line { |
| | | width: 20%; |
| | | height: 0.01rem; |
| | | background: #e5e5e5; |
| | | } |
| | | .myzh{ |
| | | width: calc(100% - 4rem); |
| | | position: absolute; |
| | | bottom: 0.01rem; |
| | | text-align: center; |
| | | .mes { |
| | | width: 100%; |
| | | height: 40%; |
| | | |
| | | font-size: 0.3846rem; |
| | | } |
| | | } |
| | | .imgDemo{ |
| | | |
| | | .center_line { |
| | | width: 50%; |
| | | height: 0.01rem; |
| | | background: #fff; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | position: relative; |
| | | transform:translateY(50%); |
| | | } |
| | | .appImg{ |
| | | width: 1.4rem; |
| | | height: 1.4rem; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | background-color: rgb(246,246,247); |
| | | border-radius: 100%; |
| | | justify-content: center; |
| | | |
| | | >span { |
| | | font-size: 0.3046rem; |
| | | color: #000; |
| | | background-color: #fff; |
| | | |
| | | } |
| | | } |
| | | .appImg img{ |
| | | width: 0.8rem; |
| | | height: 0.8rem; |
| | | |
| | | .right_line { |
| | | width: 20%; |
| | | height: 0.01rem; |
| | | background: #e5e5e5; |
| | | } |
| | | |
| | | } |
| | | |
| | | .myzh { |
| | | width: calc(100% - 4rem); |
| | | position: absolute; |
| | | bottom: 0.01rem; |
| | | text-align: center; |
| | | |
| | | .mes { |
| | | width: 100%; |
| | | height: 40%; |
| | | |
| | | font-size: 0.3846rem; |
| | | } |
| | | } |
| | | |
| | | .imgDemo { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | position: relative; |
| | | transform: translateY(50%); |
| | | } |
| | | |
| | | .appImg { |
| | | width: 1.4rem; |
| | | height: 1.4rem; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | background-color: rgb(246, 246, 247); |
| | | border-radius: 100%; |
| | | } |
| | | |
| | | .appImg img { |
| | | width: 0.8rem; |
| | | height: 0.8rem; |
| | | } |
| | | |
| | | .img_mess { |
| | | width: 100%; |
| | |
| | | } |
| | | } |
| | | |
| | | /deep/.el-input__suffix{ |
| | | width: 1rem!important; |
| | | /deep/.el-input__suffix { |
| | | width: 1rem !important; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | justify-content: center; |
| | | align-items: center; |
| | | } |
| | | /deep/.el-input__suffix-inner{ |
| | | |
| | | |
| | | /deep/.el-input__suffix-inner { |
| | | |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | |
| | | justify-content: center; |
| | | align-items: center; |
| | | |
| | | } |
| | | /deep/.el-input__icon{ |
| | | width: 1rem!important; |
| | | |
| | | /deep/.el-input__icon { |
| | | width: 1rem !important; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | justify-content: center; |
| | | align-items: center; |
| | | } |
| | | |
| | | .on .top_btn { |
| | | background: #2d8cf0!important; |
| | | } |
| | | /deep/.el-icon-circle-close::before{ |
| | | font-size: 0.5rem!important; |
| | | |
| | | } |
| | | /deep/.el-input__clear{ |
| | | font-size: 0.5rem!important; |
| | | background: #2d8cf0 !important; |
| | | } |
| | | |
| | | /deep/.el-icon-circle-close::before { |
| | | font-size: 0.5rem !important; |
| | | |
| | | } |
| | | |
| | | /deep/.el-input__clear { |
| | | font-size: 0.5rem !important; |
| | | } |
| | | </style> |
| | |
| | | </div> --> |
| | | <div class="logins_content"> |
| | | <div class="login_title animated slideInDown"> |
| | | <span>{{ '手机注册' }}</span> |
| | | <span>{{ $t('hj18') }}</span> |
| | | </div> |
| | | <div class="login_forms"> |
| | | <div class="top_forms"> |
| | |
| | | </el-input> |
| | | <!-- <el-input style="margin-top: 0.46rem;" :placeholder="verification" :size="medium" v-model="code" clearable> |
| | | </el-input> --> |
| | | <el-input style="margin-top: 0.46rem;" show-password placeholder="密码为6~12位数字、字母或符号" size="medium" |
| | | <el-input style="margin-top: 0.46rem;" show-password :placeholder="$t('hj19')" size="medium" |
| | | v-model="userPassword" @input="handleInput()"> |
| | | </el-input> |
| | | <el-input style="margin-top: 0.46rem;" show-password placeholder="请再次确认密码" size="medium" v-model="rePassword" |
| | | <el-input style="margin-top: 0.46rem;" show-password :placeholder="$t('hj20')" size="medium" v-model="rePassword" |
| | | @input="handleInput()"> |
| | | </el-input> |
| | | <el-input style="margin-top: 0.46rem;" placeholder="邀请码" size="medium" v-model="userName" clearable |
| | | <el-input style="margin-top: 0.46rem;" :placeholder="$t('hj21')" size="medium" v-model="userName" clearable |
| | | @input="handleInput()"> |
| | | </el-input> |
| | | </div> |
| | | <div class="bottom_btns" :class="btnClass ? 'on' : 'off'"> |
| | | <div class="top_btn " @click="gook" :class="dengl ? 'animated pulse' : ''"> |
| | | <span>{{ '安全注册' }}</span> |
| | | <span>{{ $t('hj22') }}</span> |
| | | </div> |
| | | <!-- <div |
| | | class="register-form-item agree-model" |
| | |
| | | <a style="color:#fff">《注册协议》</a> |
| | | </div> --> |
| | | <div class="mes"> |
| | | <span>{{ '已有账户?' }}</span> |
| | | <span @click="$router.push('/login')" style="color: rgb(54,124,248);">{{ '登录>' }}</span> |
| | | <span>{{ $t('hj23') }}?</span> |
| | | <span @click="$router.push('/login')" style="color: rgb(54,124,248);"> {{ $t('hj24') }} ></span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | name: "newRegister", |
| | | data() { |
| | | return { |
| | | verification: "验证码", |
| | | loginWay: "手机号注册", |
| | | loginWay: "手机号注册", |
| | | placeholder: "手机号", |
| | | verification: this.$t('hj25'), |
| | | loginWay: this.$t('hj26'), |
| | | loginWay: this.$t('hj26'), |
| | | placeholder: this.$t('hj27'), |
| | | Logo, |
| | | phone: "", |
| | | userName: "", |
| | |
| | | checkCodeBox() { |
| | | if (isNull(this.phone) || !isPhone(this.phone)) { |
| | | // Toast('请输入正确的手机号') |
| | | this.texts = "请输入正确的手机号" |
| | | this.texts = this.$t('hj28') |
| | | this.alertShow = true |
| | | setTimeout(() => { |
| | | this.alertShow = false |
| | |
| | | // var reg = 11 && /^((13|14|15|17|18)[0-9]{1}\d{8})$/ |
| | | let reg = /^[0-9]{11}$/ // 手机号码验证 |
| | | if (isNull(this.phone)) { |
| | | this.texts = "手机号不能为空" |
| | | this.texts = this.$t('hj29') |
| | | this.alertShow = true |
| | | setTimeout(() => { |
| | | this.alertShow = false |
| | | }, 2000) |
| | | } else { |
| | | if (!reg.test(this.phone)) { |
| | | this.texts = "请输入正确的手机号码" |
| | | this.texts = this.$t('hj28') |
| | | this.alertShow = true |
| | | setTimeout(() => { |
| | | this.alertShow = false |
| | |
| | | // } else |
| | | if (isNull(this.phone) || !isPhone(this.phone)) { |
| | | |
| | | this.texts = "请输入正确的手机号码" |
| | | this.texts = this.$t('hj28') |
| | | this.alertShow = true |
| | | setTimeout(() => { |
| | | this.alertShow = false |
| | | }, 2000) |
| | | this.loginBtn = false; |
| | | } else if (isNull(this.userPassword)) { |
| | | this.texts = "请输入密码" |
| | | this.texts = this.$t('hj30') |
| | | this.alertShow = true |
| | | setTimeout(() => { |
| | | this.alertShow = false |
| | | }, 2000) |
| | | this.loginBtn = false; |
| | | } else if (isNull(this.rePassword)) { |
| | | this.texts = "请确认密码" |
| | | this.texts = this.$t('hj31') |
| | | this.alertShow = true |
| | | setTimeout(() => { |
| | | this.alertShow = false |
| | |
| | | this.loginBtn = false; |
| | | } else { |
| | | if (this.userPassword !== this.rePassword) { |
| | | this.texts = "两次输入的密码不一致" |
| | | this.texts = this.$t('hj32') |
| | | this.alertShow = true |
| | | setTimeout(() => { |
| | | this.alertShow = false |
| | |
| | | this.loginBtn = false; |
| | | } else if (!pwdReg(this.userPassword)) { |
| | | |
| | | this.texts = "密码为6~12位,数字、字母或符号" |
| | | this.texts = this.$t('hj19') |
| | | this.alertShow = true |
| | | setTimeout(() => { |
| | | this.alertShow = false |
| | | }, 2000) |
| | | this.loginBtn = false; |
| | | } else if (isNull(this.userName)) { |
| | | this.texts = "请输入邀请码" |
| | | this.texts = this.$t('hj33') |
| | | this.alertShow = true |
| | | setTimeout(() => { |
| | | this.alertShow = false |
| | |
| | | } |
| | | let data = await api.register(opts) |
| | | if (data.status === 0) { |
| | | this.texts = "注册成功,请登录" |
| | | this.texts = this.$t('hj34') |
| | | this.elType = "success" |
| | | this.alertShow = true |
| | | setTimeout(() => { |
| | |
| | | let data = await api.checkPhone({ phoneNum: this.phone }) |
| | | if (data.status === 0) { |
| | | // 如果用户已存在返回 0 |
| | | this.texts = "用户已注册,请登录" |
| | | this.texts = this.$t('hj35') |
| | | this.alertShow = true |
| | | setTimeout(() => { |
| | | this.alertShow = false |
| | |
| | | </div> |
| | | <div class="center_card"> |
| | | <div class="keyon"> |
| | | <span>{{ '总资产' }}</span> |
| | | <span>{{ $t('hj49') }}</span> |
| | | </div> |
| | | <div class="num_price" v-if="userInfo.length == 0"> |
| | | ¥0 |
| | |
| | | }}22 |
| | | </p> |
| | | <p v-else-if="!this.$store.state.settingForm.indexDisplay && !this.$store.state.settingForm.futuresDisplay" |
| | | class="account">¥ {{ $store.state.hide ? '****' : Number($store.state.userInfo.userAmt).toFixed(2) }}</p> |
| | | class="account">¥ {{ $store.state.hide ? '****' : |
| | | Number($store.state.userInfo.userAmt).toFixed(2) |
| | | }}</p> |
| | | </div> |
| | | <div class="yk es"> |
| | | <div> |
| | | <span>{{ '冻结保证金' }}</span> |
| | | <span>{{ $t('hj55') }}</span> |
| | | </div> |
| | | <div> |
| | | <span>{{ '盈亏' }}</span> |
| | | <span>{{ $t('hj141') }}</span> |
| | | </div> |
| | | |
| | | |
| | | <div> |
| | | <span>{{ '可用余额(¥)' }}</span> |
| | | <span>{{ $t('hj48') }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="yk as"> |
| | | <div> |
| | | <span class="orenge">¥ {{ userInfo.length != 0 ? $store.state.userInfo.allFreezAmt + $store.state.userInfo.djzj : 0}}</span> |
| | | <span class="orenge">¥ {{ userInfo.length != 0 ? $store.state.userInfo.allFreezAmt + |
| | | $store.state.userInfo.djzj : 0 |
| | | }}</span> |
| | | </div> |
| | | <div v-if="userInfo.length == 0"> |
| | | <span v-if="!selectUserFlag"> |
| | | <span>{{ '¥ 0' }}</span> |
| | | </span> |
| | | <span v-else > |
| | | <span v-else> |
| | | <span>{{ '¥ 0' }}</span> |
| | | </span> |
| | | </div> |
| | |
| | | }}</span> |
| | | </span> |
| | | </div> |
| | | |
| | | |
| | | <div v-if="userInfo.length == 0"> |
| | | <span class="bzz" v-if="!selectUserFlag">{{ '¥ 0' }}</span> |
| | | <span class="bzz" v-else>{{ '¥ 0' }}</span> |
| | |
| | | <span class="bzz" v-if="!selectUserFlag">{{ '¥ ' + $store.state.userInfo.userIndexAmt }}</span> |
| | | <span class="bzz" v-else>{{ '¥ ' + $store.state.userInfo.userAmt }}</span> |
| | | </div> |
| | | |
| | | |
| | | </div> |
| | | <div class="btns" @click="handleZh()" :class="selectUserFlag ? '' : 'active'"> |
| | | <span>{{ selectUserFlag ? '切换指数账户' : '切换沪深账户' }}</span> |
| | | <span>{{ selectUserFlag ? $t('hj142') : $t('hj143') }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="jy" @click="goToSettings()"> |
| | |
| | | <img src="../../assets/img/xiugaimima.png" alt /> |
| | | </div> |
| | | <div class="r_title"> |
| | | <span>{{ '修改密码' }}</span> |
| | | <span>{{ $t('hj144') }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="right_gos"> |
| | |
| | | <img src="../../assets/img/huazhuan2.png" alt /> |
| | | </div> |
| | | <div class="r_title"> |
| | | <span>{{ '资金划转' }}</span> |
| | | <span>{{ $t('hj145') }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="right_gos"> |
| | |
| | | <img src="../../assets/img/shiming.png" alt /> |
| | | </div> |
| | | <div class="r_title"> |
| | | <span>{{ '实名认证' }}</span> |
| | | <span>{{ $t('hj146') }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="right_gos"> |
| | |
| | | <img src="../../assets/img/shiming.png" alt /> |
| | | </div> |
| | | <div class="r_title"> |
| | | <span>{{ '绑定银行卡' }}</span> |
| | | <span>{{ $t('hj147') }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="right_gos"> |
| | |
| | | <img src="../../assets/img/out2.png" alt /> |
| | | </div> |
| | | <div class="r_title"> |
| | | <span>{{ '退出登录' }}</span> |
| | | <span>{{ $t('hj148') }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="right_gos"> |
| | |
| | | <div class="setting_content"> |
| | | <div class="old_password"> |
| | | <div class="left_titles"> |
| | | <span>{{ '旧密码:' }}</span> |
| | | <span>{{ $t('hj150') + ':' }}</span> |
| | | </div> |
| | | <div class="right_password_input"> |
| | | <input type="password" v-model="oldPassword" /> |
| | |
| | | </div> |
| | | <div class="old_password"> |
| | | <div class="left_titles"> |
| | | <span>{{ '新密码:' }}</span> |
| | | <span>{{ $t('hj151') + ':' }}</span> |
| | | </div> |
| | | <div class="right_password_input"> |
| | | <input type="password" v-model="newPassword" /> |
| | |
| | | </div> |
| | | <div class="old_password"> |
| | | <div class="left_titles"> |
| | | <span>{{ '确认新密码:' }}</span> |
| | | <span>{{ $t('hj152') + ':' }}</span> |
| | | </div> |
| | | <div class="right_password_input"> |
| | | <input type="password" v-model="cirNewPassword" /> |
| | | </div> |
| | | </div> |
| | | <div class="btn_setting" @click="changeLoginPsd()"> |
| | | <span>{{ '确认修改' }}</span> |
| | | <span>{{ $t('hj153') }}</span> |
| | | </div> |
| | | </div> |
| | | </van-popup> |
| | |
| | | import * as api from "@/axios/api"; |
| | | import { Toast } from "mint-ui"; |
| | | import { isNull, pwdReg } from "@/utils/utils"; |
| | | import i18n from '@/locales'; |
| | | import { MessageBox } from 'mint-ui' |
| | | |
| | | |
| | | export default { |
| | |
| | | methods: { |
| | | goOnline() { |
| | | if (navigator.vibrate) { |
| | | // 支持 |
| | | navigator.vibrate([55]); |
| | | } |
| | | // 支持 |
| | | navigator.vibrate([55]); |
| | | } |
| | | window.location.href = this.onlineService; |
| | | }, |
| | | async getInfoSite() { |
| | |
| | | }, |
| | | handleZh() { |
| | | this.selectUserFlag = !this.selectUserFlag; |
| | | |
| | | |
| | | if (this.userInfo.length == 0) { |
| | | this.$store.commit('dialogVisible', true); |
| | | return; |
| | | } |
| | | if (navigator.vibrate) { |
| | | // 支持 |
| | | navigator.vibrate([55]); |
| | | } |
| | | // 支持 |
| | | navigator.vibrate([55]); |
| | | } |
| | | }, |
| | | async getUserInfo() { |
| | | // 获取用户信息 |
| | |
| | | return; |
| | | } |
| | | if (navigator.vibrate) { |
| | | // 支持 |
| | | navigator.vibrate([55]); |
| | | } |
| | | // 支持 |
| | | navigator.vibrate([55]); |
| | | } |
| | | this.$router.push("/wallet"); |
| | | }, |
| | | handleOutLoginClick() { |
| | | // 退出登录 |
| | | this.toRegister(); |
| | | MessageBox.confirm(this.$t('hj149') + '?',this.$t('hj165'), { |
| | | confirmButtonText: this.$t('hj161'), |
| | | cancelButtonText: this.$t('hj106'), |
| | | }).then(() => { |
| | | this.toRegister(); |
| | | }).catch(() => { |
| | | |
| | | }); |
| | | }, |
| | | goToSettings() { |
| | | if (this.userInfo.length == 0) { |
| | |
| | | isNull(this.newPassword) || |
| | | isNull(this.cirNewPassword) |
| | | ) { |
| | | Toast("请输入新旧密码"); |
| | | Toast(this.$t('hj154')); |
| | | this.settingDialog = false; |
| | | } else if (!pwdReg(this.newPassword)) { |
| | | Toast("密码为6~12位,数字、字母或符号"); |
| | | Toast(this.$t('hj19')); |
| | | this.settingDialog = false; |
| | | } else { |
| | | // 修改密码 |
| | |
| | | this.settingDialog = false; |
| | | } |
| | | } else { |
| | | Toast("新密码不一致"); |
| | | Toast(this.$t('hj155')); |
| | | this.settingDialog = false; |
| | | } |
| | | } |
| | | if (navigator.vibrate) { |
| | | // 支持 |
| | | navigator.vibrate([55]); |
| | | } |
| | | // 支持 |
| | | navigator.vibrate([55]); |
| | | } |
| | | } |
| | | } |
| | | }; |
| | |
| | | |
| | | <style scoped lang="less"> |
| | | .green { |
| | | color: #028f52 !important; |
| | | color: #028f52 !important; |
| | | } |
| | | .red{ |
| | | |
| | | .red { |
| | | color: #b60c0d !important; |
| | | } |
| | | |
| | | .user_page { |
| | | width: 100%; |
| | | height: calc(100% - 1.3rem); |
| | |
| | | } |
| | | } |
| | | |
| | | .account{ |
| | | .account { |
| | | font-size: 0.6rem; |
| | | font-weight: 600; |
| | | } |
| | | |
| | | .yk { |
| | | width: 100%; |
| | | height: 0.5rem; |
| | |
| | | align-items: center; |
| | | justify-content: center; |
| | | } |
| | | .orenge{ |
| | | |
| | | .orenge { |
| | | // color: rgb(216, 141, 1) !important; |
| | | } |
| | | } |
| | |
| | | <span>{{ nowPrice }}</span> |
| | | </div> |
| | | <div class="bottom_es"> |
| | | <span>{{ '买入价' }}</span> |
| | | <span>{{ $t('hj98') }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="rights"> |
| | | <div class="ese"> |
| | | <div class="mc" @click="handleTradingClick(0)" :class="tabsCurrentIndex === 0 ? 'actives' : ''"> |
| | | <span>卖出</span> |
| | | <span>{{ $t('hj84') }}</span> |
| | | </div> |
| | | |
| | | <div class="mr" @click="handleTradingClick(1)" :class="tabsCurrentIndex === 1 ? 'active' : ''"> |
| | | <span>买入</span> |
| | | <span>{{ $t('hj85') }}</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | </div> |
| | | <div class="tabs_content"> |
| | | <div class="num" v-show="priceTabsCurrentIndex == 1"> |
| | | <span>{{ '当价格满足条件时买入' }}</span> |
| | | <span>{{ $t('hj99') }}</span> |
| | | </div> |
| | | <div class="tr_es flexJy" v-show="priceTabsCurrentIndex == 1"> |
| | | <div class="top_input"> |
| | |
| | | </div> |
| | | </div> |
| | | <div class="num"> |
| | | <span>{{ '交易数量(手)' }}</span> |
| | | <span>{{ $t('hj100') }}</span> |
| | | </div> |
| | | <div class="tr_es flexJy"> |
| | | <div class="top_input"> |
| | |
| | | </div> |
| | | <div class="tr_rs gg" @click="showGg = true"> |
| | | <div class="top_bzz"> |
| | | <span>{{ '杠杆' }}</span> |
| | | <span>{{ $t('hj101') }}</span> |
| | | <span>{{ selectCycle + 'X' }}</span> |
| | | </div> |
| | | <!-- <div class="bottom_bzz"> |
| | |
| | | </div> |
| | | <div class="tr_rs"> |
| | | <div class="top_bzz"> |
| | | <span>{{ if_us == 1 ? '需付保证金($)' : if_us == '2' ? '需付保证金(HK$)' : '需付保证金(¥)' }}</span> |
| | | <span>{{ if_us == 1 ? '可用余额($)' : if_us == '2' ? '可用余额(HK$)' : '可用余额(¥)' }}</span> |
| | | <span>{{ if_us == 1 ? $t('hj102') + '($)' : if_us == '2' ? $t('hj102') + '(HK$)' : $t('hj102') + '(¥)' |
| | | }}</span> |
| | | <span>{{ if_us == 1 ? $t('hj103') + '($)' : if_us == '2' ? $t('hj103') + '(HK$)' : $t('hj103') + '(¥)' |
| | | }}</span> |
| | | </div> |
| | | <div class="bottom_bzz"> |
| | | <!-- <span>{{ (nowPrice/ selectCycle).toFixed(2) }}</span> --> |
| | |
| | | <div class="switchs"> |
| | | <div class="zy"> |
| | | <div class="left_zy"> |
| | | <span>止盈</span> |
| | | <span>{{ $t('hj104') }}</span> |
| | | </div> |
| | | <div class="right_sw"> |
| | | <van-switch v-model="checkedZy" /> |
| | |
| | | </div> |
| | | <div class="zy"> |
| | | <div class="left_zy"> |
| | | <span>止损</span> |
| | | <span>{{ $t('hj105') }}</span> |
| | | </div> |
| | | <div class="right_sw"> |
| | | <van-switch v-model="checkedZs" /> |
| | |
| | | </div> |
| | | <div class="btn_buy" @click="gdOrSetBuy()"> |
| | | <div :class="tabsCurrentIndex == 0 ? 'maichu' : ''"> |
| | | <span>{{ tabsCurrentIndex == 0 ? '卖出' : '买入' }}</span> |
| | | <span>{{ tabsCurrentIndex == 0 ? $t('hj84') : $t('hj85') }}</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <van-action-sheet v-model="showGg" :actions="siteLeverList" cancel-text="取消" description="选择杠杆" |
| | | <van-action-sheet v-model="showGg" :actions="siteLeverList" :cancel-text="$t('hj106')" :description="$t('hj107')" |
| | | close-on-click-action @select="onSelect" /> |
| | | </div> |
| | | </template> |
| | |
| | | }, |
| | | data() { |
| | | return { |
| | | tradingArr: ['卖出', '买入'], |
| | | tradingArr: [this.$t('hj84'), this.$t('hj85')], |
| | | tabsCurrentIndex: 0, |
| | | priceTabs: ['市单价', '挂单'], |
| | | priceTabs: [this.$t('hj108'), this.$t('hj109')], |
| | | priceTabsCurrentIndex: 0, |
| | | num: 1, |
| | | nums: 1, |
| | |
| | | profitTarget: 0, |
| | | if_us: 0, |
| | | actions: [ |
| | | { name: '100X', subname: '需付保证金:' }, |
| | | { name: '200X', subname: '需付保证金:' }, |
| | | { name: '300X', subname: '需付保证金:' }, |
| | | { name: '100X', subname: this.$t('hj102') }, |
| | | { name: '200X', subname: this.$t('hj102') }, |
| | | { name: '300X', subname: this.$t('hj102') }, |
| | | ], |
| | | profitArr: [ |
| | | { |
| | | name: '止盈', |
| | | name: this.$t('hj104'), |
| | | checked: false |
| | | }, |
| | | { |
| | | name: '止损', |
| | | name: this.$t('hj105'), |
| | | checked: false |
| | | }, |
| | | { |
| | | name: '追踪止损', |
| | | name: this.$t('hj110'), |
| | | checked: false |
| | | } |
| | | ] |
| | |
| | | //买卖 |
| | | setBuy() { |
| | | if (!this.$store.state.userInfo.idCard) { |
| | | this.$store.commit('elAlertShow', { 'elAlertShow': true, 'elAlertText': '您还未实名认证,请先实名认证了再下单' }); |
| | | this.$store.commit('elAlertShow', { 'elAlertShow': true, 'elAlertText': this.$t('hj111') }); |
| | | this.$router.push('/authentication') |
| | | return |
| | | } |
| | |
| | | this.getUserInfo() |
| | | this.$router.push('/orderlist?index=2') |
| | | } else { |
| | | this.$store.commit('elAlertShow', { 'elAlertShow': true, 'elAlertText': data.msg }); |
| | | if (data.msg.indexOf('不在交易时段内') > -1) { |
| | | this.$store.commit('elAlertShow', { 'elAlertShow': true, 'elAlertText': this.$t('hj113') }); |
| | | } else { |
| | | this.$store.commit('elAlertShow', { 'elAlertShow': true, 'elAlertText': data.msg }); |
| | | } |
| | | |
| | | } |
| | | }, |
| | | //指数买入 |
| | |
| | | this.siteLeverList = [] |
| | | for (let i = 0; i < this.$store.state.userInfo.siteLever.split('/').length; i++) { |
| | | let val = this.$store.state.userInfo.siteLever.split('/')[i] |
| | | let item = { label: val + '倍', value: val } |
| | | let item = { label: val + this.$t('hj112'), value: val } |
| | | this.siteLeverList.push(item) |
| | | } |
| | | } else { |
| | |
| | | let val = data.data.siteLever.split('/')[i] |
| | | var ccet = (Number(this.nowPrice) / Number(val)).toFixed(2) |
| | | //let item = { label: val + '倍', value: val ,bzj:ccet} |
| | | let item = { name: val + 'X', subname: '需付保证金:' + (ccet * 100).toFixed(2), gg: val, bzj: ccet } |
| | | let item = { name: val + 'X', subname: this.$t('hj102') + ':' + (ccet * 100).toFixed(2), gg: val, bzj: ccet } |
| | | this.siteLeverList.push(item) |
| | | } |
| | | } |
| | |
| | | </div> |
| | | <div class="overflow_box item" @click="SetTitleIndex(0)"> |
| | | <div class="left_titles"> |
| | | <span>{{ '沪深京账户' }}</span> |
| | | <span>{{ $t('hj114') }}</span> |
| | | </div> |
| | | <div class="right_price"> |
| | | <span>{{ '' }}</span> |
| | |
| | | </div> |
| | | <div class="overflow_box item" @click="SetTitleIndex(1)"> |
| | | <div class="left_titles"> |
| | | <span>{{ '指数账户' }}</span> |
| | | <span>{{ $t('hj115') }}</span> |
| | | </div> |
| | | <div class="right_price"> |
| | | <span>{{ '' }}</span> |
| | |
| | | </div> |
| | | <div class="overflow_box item" @click="SetTitleIndex(2)"> |
| | | <div class="left_titles"> |
| | | <span>{{ '新股账户' }}</span> |
| | | <span>{{ $t('hj116') }}</span> |
| | | </div> |
| | | <div class="right_price"> |
| | | <span>{{ '' }}</span> |
| | |
| | | <div class="top_card"> |
| | | <div class="card_content"> |
| | | <div class="t_title"> |
| | | <span>{{ '总资产' }}</span> |
| | | <span>{{ $t('hj49') }}</span> |
| | | </div> |
| | | <div class="t_price"> |
| | | <!-- <span class="price">{{ '49,619.05' }}</span> |
| | |
| | | </div> |
| | | <div class="balance"> |
| | | <div class="left_titles"> |
| | | {{ '强平线' }} |
| | | {{ $t('hj50') }} |
| | | </div> |
| | | <div class="right_titles"> |
| | | {{ '可用资金' }} |
| | | {{ $t('hj54') }} |
| | | </div> |
| | | </div> |
| | | <div class="num"> |
| | |
| | | </div> |
| | | <div class="margin"> |
| | | <div class="left_titles"> |
| | | {{ '冻结保证金' }} |
| | | {{ $t('hj55') }} |
| | | </div> |
| | | <div class="right_titles"> |
| | | {{ '持仓总盈亏' }} |
| | | {{ $t('hj56') }} |
| | | </div> |
| | | </div> |
| | | <div class="prices"> |
| | |
| | | <div class="tabs_card"> |
| | | <div class="tabs_card_content"> |
| | | <div class="tabs_top_title"> |
| | | <div class="title_items" v-for="(item, index) in tabsArr" :key="index" |
| | | <div class="title_items" v-for="(item, index) in tabsArr" :key="index" |
| | | @click="handleTabsClick(item, index)" :class="index == 0 ? 'kuan' : 'kuan'"> |
| | | <span :class="tabsCurrentIndex === index ? 'active' : ''">{{ item }}{{ index == 0 ? '(' + total + ')' : |
| | | index == 1 ? '(' + totalss + ')' : |
| | | index == 2 ? '(' + totals + ')' : '(' + xgTotal + ')' |
| | | }}</span> |
| | | <span :class="tabsCurrentIndex === index ? 'active' : ''"> |
| | | {{ item }}{{ index == 0 ? '(' + total + ')' : index == 1 ? '(' + totalss + ')' : index == 2 ? '(' + |
| | | totals + ')' : '(' + xgTotal + ')' |
| | | }}</span> |
| | | </div> |
| | | </div> |
| | | <!-- 持仓 currentIndex: 0 --> |
| | | <div class="over"> |
| | | <van-list v-model="loading" :finished="finished" finished-text="没有更多了" |
| | | <van-list v-model="loading" :finished="finished" :finished-text="$t('hj43')" |
| | | v-show="tabsCurrentIndex === 0 && total != 0" @load="onLoad" :immediate-check="immediate"> |
| | | <div class="tabs_o"> |
| | | <div class="tabs_o_items" v-for="(item, index) in tabsPositionNumArr" :key="item.buyOrderId"> |
| | | <div class="tabs_o_title"> |
| | | <span class="title">{{ item.stockName }}</span> |
| | | <span class="buy_to_sell" :class="item.orderDirection == '买跌' ? 'maichu' : 'mairu'">{{ |
| | | item.orderDirection == "买跌" ? '卖出' : '买入' |
| | | }}</span> |
| | | <span class="title">{{ item.stockName ? item.stockName : item.indexName }}</span> |
| | | <span class="buy_to_sell" :class="item.orderDirection == '买跌' ? 'maichu' : 'mairu'"> |
| | | {{ item.orderDirection == "买跌" ? $t('hj84') : $t('hj85') }}</span> |
| | | <span class="multiple">{{ item.allProfitAndLose }}</span> |
| | | <span class="nums">{{ item.orderNum / 100 + '手' }}</span> |
| | | <span class="nums">{{ item.orderNum / 100 + $t('hj117') }}</span> |
| | | </div> |
| | | <div class="center_price"> |
| | | <div class="profit"> |
| | |
| | | </div> |
| | | <div class="bottom_price_title"> |
| | | <div class="profit_title"> |
| | | <span>{{ '浮动净盈亏' }}</span> |
| | | <span>{{ $t('hj118') }}</span> |
| | | </div> |
| | | <div class="start_price"> |
| | | <span>{{ '开仓价格' }}</span> |
| | | <span>{{ $t('hj119') }}</span> |
| | | </div> |
| | | <div class="new_price"> |
| | | <span>{{ '当前价格' }}</span> |
| | | <span>{{ $t('hj120') }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="right_btn"> |
| | | <span>{{ '平仓' }}</span> |
| | | <div class="right_btn pingbtn" @click="getpingcang(item.positionSn)"> |
| | | <span>{{ $t('hj121') }}</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="waiting_box"> |
| | | <div class="img_cont"> |
| | | <img src="../../assets/img/zhaobudao.png" alt /> |
| | | <span class="gd">{{ '当前无持仓' }}</span> |
| | | <span class="gd">{{ $t('hj122') }}</span> |
| | | <div class="trading" @click="$router.push('/trading-list')"> |
| | | <span>{{ '开始交易' }}</span> |
| | | <span>{{ $t('hj123') }}</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="waiting_box"> |
| | | <div class="img_cont"> |
| | | <img src="../../assets/img/zhaobudao.png" alt /> |
| | | <span class="gd">{{ '当前无挂单' }}</span> |
| | | <span class="gd">{{ $t('hj124') }}</span> |
| | | <div class="trading" @click="$router.push('/trading-list')"> |
| | | <span>{{ '开始交易' }}</span> |
| | | <span>{{ $t('hj123') }}</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <van-list v-model="loadingss" :finished="finishedss" finished-text="没有更多了" |
| | | <van-list v-model="loadingss" :finished="finishedss" :finished-text="$t('hj43')" |
| | | v-show="tabsCurrentIndex === 1 && totalss != 0" @load="onLoad" :immediate-check="immediate"> |
| | | <div class="tabs_o"> |
| | | <div class="tabs_o_items" v-for="(item, index) in tabsOrderList" :key="item.id"> |
| | | <div class="tabs_o_title"> |
| | | <span class="title">{{ item.stockName }}</span> |
| | | <span class="title">{{ item.stockName ? item.stockName : item.indexName }}</span> |
| | | <span class="buy_to_sell" :class="item.buyType == 1 ? 'maichu' : 'mairu'">{{ |
| | | item.buyType == 1 ? '卖出' : '买入' |
| | | item.buyType == 1 ? $t('hj84') : $t('hj85') |
| | | }}</span> |
| | | <span class="multiple">{{ item.lever }}X</span> |
| | | <span class="nums">{{ item.buyNum / 100 + '手' }}</span> |
| | | <span class="nums">{{ item.buyNum / 100 + $t('hj117') }}</span> |
| | | </div> |
| | | <div class="center_price"> |
| | | |
| | |
| | | <div class="bottom_price_title"> |
| | | |
| | | <div class="start_price"> |
| | | <span>{{ '挂单价格' }}</span> |
| | | <span>{{ $t('hj125') }}</span> |
| | | </div> |
| | | <div class="new_price"> |
| | | <span>{{ '当前价格' }}</span> |
| | | <span>{{ $t('hj120') }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="right_btn" @click="gdClose(item)"> |
| | | <span>{{ '撤销' }}</span> |
| | | <span>{{ $t('hj126') }}</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="waiting_box"> |
| | | <div class="img_cont"> |
| | | <img src="../../assets/img/zhaobudao.png" alt /> |
| | | <span class="gd">{{ '当前无平仓' }}</span> |
| | | <span class="gd">{{ $t('hj127') }}</span> |
| | | <div class="trading" @click="$router.push('/trading-list')"> |
| | | <span>{{ '开始交易' }}</span> |
| | | <span>{{ $t('hj123') }}</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <van-list v-model="loadings" :finished="finisheds" finished-text="没有更多了" @load="onLoads" |
| | | <van-list v-model="loadings" :finished="finisheds" :finished-text="$t('hj43')" @load="onLoads" |
| | | :immediate-check="immediate" v-show="tabsCurrentIndex === 2 && totals != 0"> |
| | | <div class="tabs_o"> |
| | | <div class="tabs_o_items oes" v-for="(item, index) in tabsPcArr" :key="index"> |
| | | <div class="tabs_o_title"> |
| | | <span class="title">{{ item.stockName }}</span> |
| | | <span class="buy_to_sell">{{ item.orderDirection }}</span> |
| | | <span class="title">{{ item.stockName ? item.stockName : item.indexName }}</span> |
| | | <span class="buy_to_sell" :class="item.orderDirection == '买跌' ? 'maichu' : 'mairu'">{{ |
| | | item.orderDirection == "买跌" ? |
| | | $t('hj84') : $t('hj85') |
| | | }}</span> |
| | | <span class="multiple">{{ item.allProfitAndLose }}</span> |
| | | <span class="nums">{{ item.orderNum / 100 + '手' }}</span> |
| | | <span class="nums">{{ item.orderNum / 100 + $t('hj117') }}</span> |
| | | </div> |
| | | <div class="bottom_price_title"> |
| | | <div class="profit_res"> |
| | | <span>平仓时间: {{ item.buyOrderTime | gettime }}</span> |
| | | <span>{{ $t('hj128') }}: {{ item.buyOrderTime | gettime }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="right_count" |
| | |
| | | <div class="waiting_box"> |
| | | <div class="img_cont"> |
| | | <img src="../../assets/img/zhaobudao.png" alt /> |
| | | <span class="gd">{{ '当前无申购' }}</span> |
| | | <span class="gd">{{ $t('hj129') }}</span> |
| | | <div class="trading" @click="$router.push({ path: '/trading-list', query: { listid: 3 } })"> |
| | | <span>{{ '开始交易' }}</span> |
| | | <span>{{ $t('hj123') }}</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <van-list v-model="loadingXg" :finished="finishedXg" finished-text="没有更多了" |
| | | <van-list v-model="loadingXg" :finished="finishedXg" :finished-text="$t('hj43')" |
| | | v-show="tabsCurrentIndex === 3 && xgTotal != 0" @load="onLoadXg" :immediate-check="immediate"> |
| | | <div class="tabs_o"> |
| | | <div class="tabs_o_items" v-for="(item, index) in tabsXgArr" :key="item.id"> |
| | | <div class="tabs_o_title"> |
| | | <span class="title">{{ item.newName }}</span> |
| | | <span class="buy_to_sell" :class="item.type == 1 ? 'mairu' : 'maichu'">{{ |
| | | item.type == 1 ? '新股申购' : '线下配售' |
| | | item.type == 1 ? $t('hj45') : $t('hj46') |
| | | }}</span> |
| | | <!-- <span class="multiple">{{ item.lever }}X</span> |
| | | <span class="nums">{{ item.buyNum / 100 + '手' }}</span> --> |
| | |
| | | <div class="bottom_price_title"> |
| | | |
| | | <div class="start_price"> |
| | | <span>{{ '申购价格' }}</span> |
| | | <span>{{ $t('hj130') }}</span> |
| | | </div> |
| | | <div class="new_price"> |
| | | <span>{{ '申购数量' }}</span> |
| | | <span>{{ $t('hj57') }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="right_btn" @click="zcsg(item)" :class="item.status == 1 ? 'pink' : item.status == 2 ? 'red' |
| | | : item.status == 3 ? 'greeen' : item.status == 4 ? 'blue' : item.status == 5 ? 'purple' : ''"> |
| | | : item.status == 3 ? 'greeen' : item.status == 4 ? 'blue' : item.status == 5 ? 'purple' : ''"> |
| | | <span>{{ item.status == 1 ? |
| | | '已认购' : item.status == 2 ? '未中签' |
| | | : item.status == 3 ? '已中签' : item.status == 4 ? '已缴纳' : item.status == 5 ? '已转持仓' |
| | | $t('hj131') : item.status == 2 ? $t('hj132') |
| | | : item.status == 3 ? $t('hj133') : item.status == 4 ? $t('hj134') : item.status == 5 ? |
| | | $t('hj135') |
| | | : '' |
| | | }}</span> |
| | | </div> |
| | |
| | | |
| | | <script> |
| | | import { Toast } from 'vant'; |
| | | import { MessageBox } from 'mint-ui' |
| | | import * as api from "@/axios/api"; |
| | | export default { |
| | | data() { |
| | | return { |
| | | tabsArr: ["持仓", "挂单", "已平仓", "新股"], |
| | | tabsArr: [this.$t('hj2'), this.$t('hj109'), this.$t('hj136'), this.$t('hj3')], |
| | | tabsCurrentIndex: 0, |
| | | titleName: "沪深京账户", |
| | | titleName: this.$t('hj114'), |
| | | indexSettingInfo: {}, |
| | | futuresSettingInfo: {}, |
| | | tabsPositionNumArr: [], |
| | |
| | | |
| | | }, |
| | | methods: { |
| | | getpingcang(val) { |
| | | if (!this.$store.state.userInfo.idCard) { |
| | | Toast(this.$t('hj138')) |
| | | this.$router.push('/authentication') |
| | | return |
| | | } |
| | | if (this.titleIndex == 0) { |
| | | MessageBox.confirm(this.$t('hj139') + '?', this.$t('hj165'), { |
| | | confirmButtonText: this.$t('hj161'), |
| | | cancelButtonText: this.$t('hj106'), |
| | | }).then(async () => { |
| | | let opt = { |
| | | positionSn: val |
| | | } |
| | | let data = await api.sell(opt) |
| | | if (data.status === 0) { |
| | | Toast(data.msg) |
| | | this.getzhishuListDetail(); |
| | | this.getzhishuListDetails(); |
| | | this.getorderList(); |
| | | } else if (data.msg.indexOf('不在交易时段内') > -1) { |
| | | Toast(this.$t('hj140')) |
| | | } else { |
| | | Toast(data.msg) |
| | | } |
| | | }).catch(() => { |
| | | |
| | | }); |
| | | } else { |
| | | MessageBox.confirm(this.$t('hj139') + '?', this.$t('hj165'), { |
| | | confirmButtonText: this.$t('hj161'), |
| | | cancelButtonText: this.$t('hj106'), |
| | | }).then(async () => { |
| | | let opt = { |
| | | positionSn: val |
| | | } |
| | | let data = await api.sellIndex(opt) |
| | | if (data.status === 0) { |
| | | Toast(data.msg) |
| | | this.getzhishuListDetail(); |
| | | this.getzhishuListDetails(); |
| | | this.getorderList(); |
| | | } else if (data.msg.indexOf('不在交易时段内') > -1) { |
| | | Toast(this.$t('hj140')) |
| | | } else { |
| | | Toast(data.msg) |
| | | } |
| | | }).catch(() => { |
| | | |
| | | }); |
| | | } |
| | | }, |
| | | onLoad() { |
| | | this.page++; |
| | | switch (this.titleIndex) { |
| | |
| | | } |
| | | let data = await api.delGuaDan(opts) |
| | | if (data.status == 1) { |
| | | Toast('撤单成功') |
| | | Toast(this.$t('hj137')) |
| | | this.page = 1; |
| | | this.pages = 1; |
| | | this.finished = false; |
| | |
| | | this.tabsPcArr = []; |
| | | switch (this.titleIndex) { |
| | | case 0: |
| | | this.titleName = "沪深京账户"; |
| | | this.titleName = this.$t('hj114'); |
| | | this.getListDetail(); |
| | | this.getListDetails(); |
| | | this.getorderList(); |
| | | break; |
| | | case 1: |
| | | this.titleName = "指数账户"; |
| | | this.titleName = this.$t('hj115'); |
| | | this.getzhishuListDetail(); |
| | | this.getzhishuListDetails(); |
| | | this.getorderList(); |
| | | break; |
| | | case 2: |
| | | this.titleName = "新股账户"; |
| | | this.titleName = this.$t('hj116'); |
| | | this.getQhListDetail(); |
| | | this.getQhListDetails(); |
| | | this.getorderList(); |
| | |
| | | this.tabsPcArr = []; |
| | | switch (index) { |
| | | case 0: |
| | | this.titleName = "沪深京账户"; |
| | | this.titleName = this.$t('hj114'); |
| | | this.getListDetail(); |
| | | this.getListDetails(); |
| | | this.getorderList(); |
| | | this.handleTabsClick('', 0) |
| | | break; |
| | | case 1: |
| | | this.titleName = "指数账户"; |
| | | this.titleName = this.$t('hj115'); |
| | | this.getzhishuListDetail(); |
| | | this.getzhishuListDetails(); |
| | | this.getorderList(); |
| | | this.handleTabsClick('', 0) |
| | | break; |
| | | case 2: |
| | | this.titleName = "新股账户"; |
| | | this.getQhListDetail(); |
| | | this.getQhListDetails(); |
| | | this.getorderList(); |
| | | this.totalss = 0; |
| | | this.totals = 0; |
| | | this.total = 0; |
| | | this.titleName = this.$t('hj116'); |
| | | this.handleTabsClick('', 3) |
| | | // this.getQhListDetail(); |
| | | // this.getQhListDetails(); |
| | | // this.getorderList(); |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | this.titleDialog = false; |
| | | if (navigator.vibrate) { |
| | | // 支持 |
| | | navigator.vibrate([55]); |
| | | } |
| | | // 支持 |
| | | navigator.vibrate([55]); |
| | | } |
| | | }, |
| | | handleTabsClick(item, index) { |
| | | //持仓已平仓选项卡 |
| | |
| | | this.getNewXg(); |
| | | } |
| | | if (navigator.vibrate) { |
| | | // 支持 |
| | | navigator.vibrate([55]); |
| | | } |
| | | // 支持 |
| | | navigator.vibrate([55]); |
| | | } |
| | | }, |
| | | handleOpenDialog() { |
| | | this.titleDialog = !this.titleDialog; |
| | |
| | | </script> |
| | | |
| | | <style scoped lang="less"> |
| | | .pink{ |
| | | /deep/ .mint-msgbox-title { |
| | | font-size: 0.4rem !important; |
| | | } |
| | | |
| | | .pingbtn { |
| | | width: auto !important; |
| | | height: auto !important; |
| | | background: rgb(45, 106, 233); |
| | | color: rgb(255, 255, 255); |
| | | padding: 0.2rem 0.4rem; |
| | | border-radius: 0.2rem !important; |
| | | } |
| | | |
| | | .pink { |
| | | color: #eb2f96; |
| | | background: #fff0f6; |
| | | border-color: #ffadd2; |
| | | background: #fff0f6; |
| | | border-color: #ffadd2; |
| | | } |
| | | .red{ |
| | | |
| | | .red { |
| | | color: #f5222d; |
| | | background: #fff1f0; |
| | | border-color: #ffa39e; |
| | | background: #fff1f0; |
| | | border-color: #ffa39e; |
| | | } |
| | | .blue{ |
| | | |
| | | .blue { |
| | | color: #1890ff; |
| | | background: #e6f7ff; |
| | | border-color: #91d5ff; |
| | | background: #e6f7ff; |
| | | border-color: #91d5ff; |
| | | } |
| | | .green{ |
| | | |
| | | .green { |
| | | color: #52c41a; |
| | | background: #f6ffed; |
| | | border-color: #b7eb8f; |
| | | background: #f6ffed; |
| | | border-color: #b7eb8f; |
| | | } |
| | | .purple{ |
| | | |
| | | .purple { |
| | | color: #722ed1; |
| | | background: #f9f0ff; |
| | | border-color: #d3adf7; |
| | | background: #f9f0ff; |
| | | border-color: #d3adf7; |
| | | } |
| | | |
| | | @boxCenter: { |
| | | display: flex; |
| | | justify-content: center; |
| | |
| | | height: 0.7667rem; |
| | | position: absolute; |
| | | right: 1%; |
| | | top: 48%; |
| | | top: 27%; |
| | | // background: #f7f7f7; |
| | | // color: #3773dd; |
| | | display: flex; |
| | |
| | | </div> |
| | | <div class="center_card" v-if="tabsCurrentIndex === 0"> |
| | | <div class="keyon"> |
| | | <span>{{ '总资产' }}</span> |
| | | <span>{{ $t('hj49') }}</span> |
| | | </div> |
| | | <div class="num_price"> |
| | | <p v-if="this.$store.state.settingForm.indexDisplay && !this.$store.state.settingForm.futuresDisplay" |
| | |
| | | </div> |
| | | <div class="yk es"> |
| | | <div> |
| | | <span>{{ '沪深账户' }}</span> |
| | | <span>{{ $t('hj156') }}</span> |
| | | </div> |
| | | <div> |
| | | <span>{{ '指数账户' }}</span> |
| | | <span>{{ $t('hj115') }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="yk as"> |
| | |
| | | </div> |
| | | </div> |
| | | <div class="btns" @click="handleGoToTransfers()"> |
| | | <span>{{ '账户金额互转' }}</span> |
| | | <span>{{ $t('hj157') }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="withdrawal" v-if="tabsCurrentIndex === 1"> |
| | | <div class="ttx"> |
| | | <span>{{ '可提现金额 (元)' }}</span> |
| | | <span>{{ $t('hj158') }}</span> |
| | | </div> |
| | | <div class="ttx_price"> |
| | | <span>{{ $store.state.userInfo.enableAmt }}</span> |
| | | </div> |
| | | <div class="ttx_input"> |
| | | <div class="titles"> |
| | | <span>{{ '提现金额' }}</span> |
| | | <span>{{ $t('hj159') }}</span> |
| | | </div> |
| | | <div class="num"> |
| | | <input type="text" v-model="withdrawalValue" /> |
| | | </div> |
| | | <div class="all" @click="withdrawalAll()"> |
| | | <span>{{ '全部' }}</span> |
| | | <span>{{ $t('hj160') }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="btns" @click="handleToSure()"> |
| | | <span>{{ '确定' }}</span> |
| | | <span>{{ $t('hj161') }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="banks" v-if="tabsCurrentIndex === 1"> |
| | | <div class="bank_1"> |
| | | <div class="left_name"> |
| | | <span>{{ '提现记录' }}</span> |
| | | <span>{{ $t('hj162') }}</span> |
| | | </div> |
| | | <div class="center_input"></div> |
| | | <div class="right_copy img_right" @click="handleGoToCashWithdrawalRecord()"> |
| | |
| | | |
| | | <div class="bank_1"> |
| | | <div class="left_name"> |
| | | <span>{{ '收款名称' }}</span> |
| | | <span>{{ $t('hj163') }}</span> |
| | | </div> |
| | | <div class="center_input"> |
| | | <input type="text" v-model="skName" readonly /> |
| | | </div> |
| | | <div class="right_copy"> |
| | | <span v-clipboard:copy="skName" v-clipboard:success="onCopy" v-clipboard:error="onError">{{ '复制' }}</span> |
| | | <span v-clipboard:copy="skName" v-clipboard:success="onCopy" v-clipboard:error="onError">{{ $t('hj164') }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="bank_1"> |
| | |
| | | // 点击全部提现 |
| | | this.withdrawalValue = this.userInfo.enableAmt; |
| | | if (navigator.vibrate) { |
| | | // 支持 |
| | | navigator.vibrate([55]); |
| | | } |
| | | // 支持 |
| | | navigator.vibrate([55]); |
| | | } |
| | | }, |
| | | async handleToSure() { |
| | | // 点击确定提现 |
| | |
| | | } |
| | | } |
| | | if (navigator.vibrate) { |
| | | // 支持 |
| | | navigator.vibrate([55]); |
| | | } |
| | | // 支持 |
| | | navigator.vibrate([55]); |
| | | } |
| | | }, |
| | | async getCardDetail() { |
| | | // 获取银行卡信息 |
| | |
| | | }, |
| | | handleGoToTransferRecord() { // 充值记录 |
| | | if (navigator.vibrate) { |
| | | // 支持 |
| | | navigator.vibrate([55]); |
| | | } |
| | | // 支持 |
| | | navigator.vibrate([55]); |
| | | } |
| | | this.$router.push('/transferRecord'); |
| | | }, |
| | | handleGoToCashWithdrawalRecord() { // 提现记录 |
| | |
| | | }, |
| | | handleGoToTransfers() { |
| | | if (navigator.vibrate) { |
| | | // 支持 |
| | | navigator.vibrate([55]); |
| | | } |
| | | // 支持 |
| | | navigator.vibrate([55]); |
| | | } |
| | | this.$router.push('/transfers'); |
| | | }, |
| | | handleGoCz() { |
| | | if (navigator.vibrate) { |
| | | // 支持 |
| | | navigator.vibrate([55]); |
| | | } |
| | | // 支持 |
| | | navigator.vibrate([55]); |
| | | } |
| | | if (this.walletNum === "") { |
| | | this.messShow = true; |
| | | this.mess = "请输入充值金额"; |
| | |
| | | onCopy() { |
| | | Toast("复制成功"); |
| | | if (navigator.vibrate) { |
| | | // 支持 |
| | | navigator.vibrate([55]); |
| | | } |
| | | // 支持 |
| | | navigator.vibrate([55]); |
| | | } |
| | | }, |
| | | onError() { |
| | | Toast("复制失败请重试"); |
| | |
| | | left: 50%; |
| | | transform: translate3d(-50%, -50%, 0); |
| | | background-color: #fff; |
| | | width: 85%; |
| | | width: 80%; |
| | | border-radius: 3px; |
| | | font-size: 16px; |
| | | -webkit-user-select: none; |
| | | overflow: hidden; |
| | | -webkit-backface-visibility: hidden; |
| | | backface-visibility: hidden; |
| | | transition: .2s |
| | | transition: .2s; |
| | | border-radius:16px; |
| | | } |
| | | |
| | | .mint-msgbox-header { |
| | | padding: 15px 0 0 |
| | | padding: 30px 0 0 |
| | | } |
| | | |
| | | .mint-msgbox-content { |
| | |
| | | text-align: center; |
| | | padding-left: 0; |
| | | margin-bottom: 0; |
| | | font-size: 16px; |
| | | font-size: 26px; |
| | | font-weight: 700; |
| | | color: #333 |
| | | color: #333; |
| | | } |
| | | |
| | | .mint-msgbox-message { |
| | | line-height: 36px |
| | | line-height: 36px; |
| | | font-size: 20px; |
| | | color: #666666; |
| | | } |
| | | |
| | | .mint-msgbox-btns { |
| | | display: -ms-flexbox; |
| | | display: flex; |
| | | height: 40px; |
| | | line-height: 40px |
| | | height: 50px; |
| | | line-height: 50px |
| | | } |
| | | |
| | | .mint-msgbox-btn { |
| | | line-height: 35px; |
| | | line-height: 50px; |
| | | display: block; |
| | | background-color: #fff; |
| | | -ms-flex: 1; |
| | | flex: 1; |
| | | margin: 0; |
| | | border: 0 |
| | | border: 0; |
| | | font-size: 22px; |
| | | letter-spacing: 2px; |
| | | } |
| | | |
| | | .mint-msgbox-btn:focus { |
| | |
| | | |
| | | .mint-msgbox-cancel { |
| | | width: 50%; |
| | | border-right: 1px solid #ddd |
| | | border-right: 1px solid #ddd; |
| | | color: #999; |
| | | } |
| | | |
| | | .mint-msgbox-cancel:active { |
| | |
| | | } |
| | | |
| | | .mint-msgbox-message { |
| | | color: #999; |
| | | color: #666666; |
| | | margin: 0; |
| | | text-align: center; |
| | | line-height: 2rem !important |