| | |
| | | export function getMoney(options) { |
| | | return post("/user/getMoney.do", options); |
| | | } |
| | | // 汇率 |
| | | export function currencyRate(options) { |
| | | return post("/user/currencyRate.do", options); |
| | | } |
| | | // 多账户 |
| | | export function siteGetPayInfo(options) { |
| | | return post("/api/site/getPayInfo.do", options); |
| | |
| | | // baseURL: '/', |
| | | // baseURL: 'http://www.jumptalk.net:8091', |
| | | // 0311 |
| | | baseURL: "https://api.3falcon.com/", |
| | | // baseURL: "https://api.3falcon.com/", |
| | | // 本地 |
| | | // baseURL: "http://192.168.0.106:8091/", |
| | | // baseURL: "http://192.168.0.104:8091/", |
| | | // baseURL: 'http://121.43.237.202:8091/', |
| | | // baseURL: 'http://192.168.0.103:8091/', |
| | | baseURL: "http://192.168.0.101:8091/", |
| | | util: { |
| | | image: "/util/image.html" // 图片上传 |
| | | } |
| | |
| | | 馬股账户: "Horse stock account", |
| | | 美股账户: "US stock account", |
| | | 到: "to", |
| | | "美国新闻": "US News", |
| | | "马来西亚新闻": "Malaysia News" |
| | | 美国新闻: "US News", |
| | | 马来西亚新闻: "Malaysia News", |
| | | Search: "search", |
| | | 港股: "Hong Kong stocks", |
| | | 港股总资产: "Total assets of Hong Kong stocks", |
| | | HK: "Hong Kong Stock Account", |
| | | 港股资产: "Hong Kong stock assets", |
| | | 港股可用: "Available in Hong Kong stock market", |
| | | 港股冻结: "Hong Kong stock freeze" |
| | | }; |
| | |
| | | 劃轉记录: "레코드 스왑", |
| | | 馬股账户: "마주 계좌", |
| | | 美股账户: "미국 주식 계좌", |
| | | "美国新闻": "미국 뉴스", |
| | | "马来西亚新闻": "말레이시아 뉴스" |
| | | 美国新闻: "미국 뉴스", |
| | | 马来西亚新闻: "말레이시아 뉴스", |
| | | Search: "검색", |
| | | 港股: "홍콩 주식", |
| | | 港股总资产: "홍콩 주식 총자산", |
| | | HK: "홍콩 주식 계좌", |
| | | 港股资产: "홍콩 주식 자산", |
| | | 港股可用: "홍콩 주식 사용 가능", |
| | | 港股冻结: "홍콩 주식 동결" |
| | | }; |
| | |
| | | 馬股账户: "मलेशियाई स्टॉक खाता", |
| | | 美股账户: "यूएस स्टॉक खाता", |
| | | 美国新闻: "अमेरिका समाचार", |
| | | 马来西亚新闻: "मलेशिया समाचार" |
| | | 马来西亚新闻: "मलेशिया समाचार", |
| | | Search: "खोजें", |
| | | 港股: "हांगकांग स्टॉक", |
| | | 港股总资产: "हांगकांग शेयरों की कुल संपत्ति", |
| | | HK: "हांगकांग स्टॉक खाता", |
| | | 港股资产: "สินทรัพย์ในหุ้นฮ่องกง", |
| | | 港股可用: "มีหุ้นฮ่องกง", |
| | | 港股冻结: "การแช่แข็งหุ้นฮ่องกง", |
| | | 港股资产: "हांगकांग स्टॉक एसेट्स", |
| | | 港股可用: "हांगकांग के स्टॉक उपलब्ध हैं", |
| | | 港股冻结: "हांगकांग के स्टॉक जमे हुए" |
| | | }; |
| | |
| | | 劃轉记录: "かいてんきろく", |
| | | 馬股账户: "馬株口座", |
| | | 美股账户: "米株口座", |
| | | "美国新闻": "ニュース", |
| | | "马来西亚新闻": "マレーシアニュース" |
| | | 美国新闻: "ニュース", |
| | | 马来西亚新闻: "マレーシアニュース", |
| | | Search: "検索けんさく", |
| | | 港股: "香港株", |
| | | 港股总资产: "香港株式総資産", |
| | | HK: "香港株口座", |
| | | 港股资产: "香港株資産", |
| | | 港股可用: "香港株が利用可能", |
| | | 港股冻结: "香港株凍結" |
| | | }; |
| | |
| | | 馬股账户: "บัญชีหุ้นม้า", |
| | | 美股账户: "บัญชี MeiShar", |
| | | 美国新闻: "ข่าวสหรัฐอเมริกา", |
| | | 马来西亚新闻: "ข่าวมาเลเซีย" |
| | | 马来西亚新闻: "ข่าวมาเลเซีย", |
| | | Search: "ค้นหา", |
| | | 港股: "หุ้นฮ่องกง", |
| | | 港股总资产: "สินทรัพย์รวมของหุ้นฮ่องกง", |
| | | HK: "บัญชีหุ้นฮ่องกง", |
| | | 港股资产: "สินทรัพย์ในหุ้นฮ่องกง", |
| | | 港股可用: "มีหุ้นฮ่องกง", |
| | | 港股冻结: "การแช่แข็งหุ้นฮ่องกง" |
| | | }; |
| | |
| | | "上傳憑證:": " 上傳憑證:", |
| | | 从: "從", |
| | | 到: "到", |
| | | "密码修改成功": "密碼修改成功", |
| | | "劃轉记录": "劃轉記錄", |
| | | "馬股账户": "馬股帳戶", |
| | | "美股账户": "美股帳戶", |
| | | "美国新闻": "美國新聞", |
| | | "马来西亚新闻": "馬來西亞新聞" |
| | | 密码修改成功: "密碼修改成功", |
| | | 劃轉记录: "劃轉記錄", |
| | | 馬股账户: "馬股帳戶", |
| | | 美股账户: "美股帳戶", |
| | | 美国新闻: "美國新聞", |
| | | 马来西亚新闻: "馬來西亞新聞", |
| | | Search: "蒐索", |
| | | 港股: "港股", |
| | | 港股总资产: "港股總資產", |
| | | HK: "港股帳戶", |
| | | 港股资产: "港股資產", |
| | | 港股可用: "港股可用", |
| | | 港股冻结: "港股凍結" |
| | | }; |
| | |
| | | 馬股账户: "馬股账户", |
| | | 美股账户: "美股账户", |
| | | 美国新闻: "美国新闻", |
| | | 马来西亚新闻: "马来西亚新闻" |
| | | 马来西亚新闻: "马来西亚新闻", |
| | | |
| | | Search: "搜索", |
| | | 港股: "港股", |
| | | 港股总资产: "港股总资产", |
| | | HK: "港股账户", |
| | | 港股资产: "港股资产", |
| | | 港股可用: "港股可用", |
| | | 港股冻结: "港股冻结" |
| | | }; |
| | |
| | | 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() { |
| | | // console.log(this.form); |
| | | |
| | | // return; |
| | | let opts = { |
| | | realName: this.form.name, |
| | | idCard: this.form.idCard, |
| | |
| | | <div class="name">{{ $t("提款") }}</div> |
| | | </div> |
| | | </li> |
| | | <li> |
| | | <li @click="aRouter"> |
| | | <div class="link"> |
| | | <div class="icon"> |
| | | <img |
| | |
| | | <div class="name">{{ $t("安全") }}</div> |
| | | </div> |
| | | </li> |
| | | <li @click="$router.push('/setting')"> |
| | | <li @click="$router.push('/trading-list?type=2')"> |
| | | <div class="link"> |
| | | <div class="icon"> |
| | | <img |
| | |
| | | alt="" |
| | | /> |
| | | </div> |
| | | <div class="name">{{ $t("用戶手冊") }}</div> |
| | | <!-- $t("马股") --> |
| | | <div class="name">{{ $t("马股") }}</div> |
| | | </div> |
| | | </li> |
| | | <li @click="$router.push('/setting')"> |
| | | <li @click="$router.push('/trading-list?type=3')"> |
| | | <div class="link"> |
| | | <div class="icon"> |
| | | <img |
| | |
| | | alt="" |
| | | /> |
| | | </div> |
| | | <div class="name">{{ $t("平臺") }}</div> |
| | | <div class="name">{{ $t("美股") }}</div> |
| | | </div> |
| | | </li> |
| | | <li @click="$router.push('/transferIndex')"> |
| | |
| | | GoToLogin, |
| | | Echart, |
| | | }, |
| | | // onlineService |
| | | props: {}, |
| | | data() { |
| | | return { |
| | | // 客服地址 |
| | | news: "tab_0", |
| | | // 新闻导航 |
| | | newListHeader: [ |
| | |
| | | }, |
| | | }, |
| | | methods: { |
| | | aRouter() { |
| | | window.open(this.onlineService); |
| | | }, |
| | | qkclick(e) { |
| | | this.settingDialog = false; |
| | | window.localStorage.setItem("language", e.lang); |
| | |
| | | K线图</div> |
| | | </div>--> |
| | | <div class="rightContent" ref="rightContent"> |
| | | <!-- <div class="contentBox" v-show='chartType == "minute"'> |
| | | <div class="indexWrap" ref="minute_indexWrap"> |
| | | <div class="btnGroup"> |
| | | <div class="btn" v-for="(indexName) in MinuteIndexMenu" :key="indexName.ID" |
| | | @click="changeChartIndex(indexName.ID)">{{ indexName.Name }}</div> |
| | | </div> |
| | | </div> |
| | | <div class="periodWrap" ref='minute_periodWrap'> |
| | | <div class="btnGroup"> |
| | | <div class="btn" :class="{ active: MinuteDayIndex == index }" |
| | | v-for="(item, index) in MinuteDayMenu" :key="item.ID" |
| | | @click="OnClickMinuteDayMenu(index, item)">{{ item.Name }}</div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div>--> |
| | | |
| | | <div class="contentBox"> |
| | | <!-- 分时 --> |
| | | <!-- <div class="indexWrap" ref="kline_indexWrap"> |
| | | <div class="btnGroup"> |
| | | <div class="btn" v-for="(item) in KLineIndexMenu" :key="item.ID" |
| | | @click="ChangeKLineIndex(item)">{{ item.Name }}</div> |
| | | </div>:class="{ active: KLinePeriodIndex == index }" |
| | | </div>--> |
| | | <div class="periodWrap kline_periodWrap" ref="kline_periodWrap"> |
| | | <!-- DWM 分 --> |
| | | <div class="btnGroup" style="position: relative"> |
| | |
| | | :key="item.ID" |
| | | @click="OnClickKLinePeriodMenu(index, item, 'kline')" |
| | | > |
| | | <!-- <div |
| | | class="btn2" |
| | | v-for="(item, index) in KLinePeriodMenu" |
| | | :class="{ active: KLinePeriodIndex == index }" |
| | | :key="item.ID" |
| | | @click="index == 0 ? changeRightContent('minute') : OnClickKLinePeriodMenu(index, item, 'kline')" |
| | | > --> |
| | | <span>{{ item.Name }}</span> |
| | | </div> |
| | | <div |
| | |
| | | erd.listenTo(this.$refs["rightContent"], function (element) { |
| | | var width = element.offsetWidth; |
| | | var height = element.offsetHeight; |
| | | self.tableHeight = height - 100; // 将监听到的宽高进行赋值 |
| | | self.tableHeight = height - 10; // 将监听到的宽高进行赋值 |
| | | self.tableWidth = width - 20; |
| | | that.offHeight = height; |
| | | that.OnSize(); |
| | |
| | | } |
| | | |
| | | .rightContent { |
| | | // height: calc(100% - @rightTabHeight); |
| | | height: calc(100% - @rightTabHeight); |
| | | width: 100%; |
| | | |
| | |
| | | } |
| | | .hqchart { |
| | | width: 100%; |
| | | height: 7.5rem; |
| | | height: 100vh; |
| | | } |
| | | </style> |
| | |
| | | </div> |
| | | <div class="right_title"> |
| | | <div class="t_t" style="white-space: nowrap"> |
| | | <span>{{ singDetails.spell }}</span> |
| | | <span>{{ singDetails.name }}</span> |
| | | </div> |
| | | <div class="b_t"> |
| | | <span>{{ singDetails.code }}</span> |
| | | <span>{{ singDetails.spell }}</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div |
| | | <!-- <div |
| | | class="jianjie" |
| | | v-if=" |
| | | !(kLineDetails.if_zhishu != '0' && singDetails.gid.indexOf('hk') > -1) |
| | |
| | | <div class="jet"> |
| | | <span>{{ jianjie }}</span> |
| | | </div> |
| | | </div> |
| | | <div |
| | | </div> --> |
| | | <!-- <div |
| | | class="hknews" |
| | | v-if=" |
| | | kLineDetails.if_zhishu != '0' && singDetails.gid.indexOf('hk') > -1 |
| | |
| | | </mt-tab-container-item> |
| | | </mt-tab-container> |
| | | </div> |
| | | </div> |
| | | <div class="hknews" v-else> |
| | | </div> --> |
| | | <!-- <div class="hknews" v-else> |
| | | <div class="news-tab"> |
| | | <div class="t_title"> |
| | | <span>{{ $t("hj6") }}</span> |
| | |
| | | </mt-tab-container-item> |
| | | </mt-tab-container> |
| | | </div> |
| | | </div> |
| | | </div> --> |
| | | <!-- <div class="border_bottom"></div> --> |
| | | </div> |
| | | <div class="btns"> |
| | |
| | | type: this.kLineDetails.if_zhishu, |
| | | id: this.singDetails.id, |
| | | name: this.kLineDetails.name, |
| | | spell: this.singDetails.spell, |
| | | if_us: this.kLineDetails.if_us, |
| | | bayType: this.bayType, |
| | | }, |
| | |
| | | |
| | | .k_line_detail { |
| | | width: 100%; |
| | | height: 8.3rem; |
| | | height: calc(100vh - 300px); |
| | | background: #fff; |
| | | border-radius: 0 0 0.3rem 0.3rem; |
| | | } |
| | |
| | | font-weight: 500; |
| | | font-size: 0.4rem; |
| | | line-height: 0.56rem; |
| | | width: 4.2rem; |
| | | width: 4rem; |
| | | text-align: left; |
| | | color: #14181f; |
| | | } |
| | |
| | | font-weight: 500; |
| | | font-size: 0.4rem; |
| | | line-height: 0.56rem; |
| | | width: 4.2rem; |
| | | width: 4rem; |
| | | text-align: left; |
| | | color: #14181f; |
| | | } |
| | |
| | | /> |
| | | </div> |
| | | </div> |
| | | <div class="right_search" @click="sousuo">Search</div> |
| | | <div class="right_search" @click="sousuo">{{ $t("Search") }}</div> |
| | | </div> |
| | | </div> |
| | | <tabsList ref="tabsList" /> |
| | |
| | | this.listArr = []; |
| | | this.pageNumVal = 1; |
| | | this.loadings = true; |
| | | this.getStock(e, this.zxactive, 1); |
| | | }, |
| | | zxactive(e) { |
| | | this.finished = false; |
| | |
| | | finished: false, |
| | | listArr: [], |
| | | pageNumVal: 1, |
| | | getInterval: null, |
| | | }; |
| | | }, |
| | | |
| | |
| | | this.listArr = []; |
| | | this.pageNumVal = 1; |
| | | this.getStock(this.active, this.zxactive, 1); |
| | | this.getInterval = setInterval(() => { |
| | | this.getStock(this.active, this.zxactive, 1); |
| | | }, 5000); |
| | | }, |
| | | methods: { |
| | | filterSH(val) { |
| | |
| | | // 获取列表 |
| | | getStock: handleDt.debounce(async function (a, b, c) { |
| | | a = this.active; |
| | | |
| | | let stockType = ""; |
| | | if (a !== "") { |
| | | let array = this.tabsList.filter((item) => item.key === a); |
| | | stockType = array[0].name; |
| | | } else { |
| | | // return this.getStockzx(); |
| | | let array = this.zxtabsList.filter((item) => item.key === b); |
| | | stockType = array[0].name; |
| | | } |
| | | console.log(a, b, c, "====="); |
| | | let pageNumVal = c || this.pageNumVal; |
| | | let opt = { |
| | | pageNum: pageNumVal, |
| | | pageSize: 15, |
| | | pageSize: 100, |
| | | stockPlate: "", |
| | | keyWords: this.sousuo, |
| | | stockType: stockType, |
| | |
| | | |
| | | this.loadings = false; |
| | | if (data.status === 0) { |
| | | if (data.data.list.length < 15) { |
| | | this.finished = true; |
| | | } |
| | | // if (data.data.list.length < 15) { |
| | | this.finished = true; |
| | | // } |
| | | if (pageNumVal !== 1) { |
| | | this.listArr = [...this.listArr, ...data.data.list]; |
| | | } else { |
| | |
| | | } |
| | | }, 500), |
| | | onLoads() { |
| | | this.pageNumVal++; |
| | | this.loadings = true; |
| | | this.getStock(); |
| | | // this.pageNumVal++; |
| | | // this.loadings = true; |
| | | // this.getStock(); |
| | | }, |
| | | optionszx() {}, |
| | | }, |
| | | destroyed() { |
| | | clearInterval(this.getInterval); |
| | | this.getInterval = null; |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | |
| | | |
| | | export default { |
| | | components: { dataList }, |
| | | mounted() { |
| | | console.log(this.$route.query.type); |
| | | this.active = this.$route.query.type || "2"; |
| | | }, |
| | | data() { |
| | | return { |
| | | tabsList: [ |
| | | { title: this.$t("hj61"), key: "" }, |
| | | { title: this.$t("数字货币"), key: "1", name: "SZHB" }, |
| | | // { title: this.$t("数字货币"), key: "1", name: "SZHB" }, |
| | | { title: this.$t("马股"), key: "2", name: "MAS" }, |
| | | { title: this.$t("美股"), key: "3", name: "US" }, |
| | | { title: this.$t("港股"), key: "4", name: "HK" }, |
| | | ], |
| | | zxtabsList: [ |
| | | { title: this.$t("数字货币"), key: "1", name: "SZHB" }, |
| | | // { title: this.$t("数字货币"), key: "1", name: "SZHB" }, |
| | | { title: this.$t("马股"), key: "2", name: "MAS" }, |
| | | { title: this.$t("美股"), key: "3", name: "US" }, |
| | | { title: this.$t("港股"), key: "4", name: "HK" }, |
| | | ], |
| | | active: "1", |
| | | zxactive: "1", |
| | | active: "2", |
| | | zxactive: "2", |
| | | sousuo: "", |
| | | }; |
| | | }, |
| | |
| | | <el-input |
| | | :placeholder="$t('hj9')" |
| | | :size="medium" |
| | | maxlength="11" |
| | | v-model="userName" |
| | | clearable |
| | | > |
| | |
| | | :name="item.title" |
| | | > |
| | | <ul class="money"> |
| | | <li> |
| | | <li style="text-align: left"> |
| | | <div class="li-title"> |
| | | {{ item.title1 }}({{ item.symbolCode }}) |
| | | </div> |
| | |
| | | symbol: "$", |
| | | symbolCode: "USD", |
| | | }, |
| | | // { |
| | | // title: this.$t("印股資產"), |
| | | // title1: this.$t("印股可用"), |
| | | // title2: this.$t("印股冻结"), |
| | | // accectType: "IN", |
| | | // symbol: "RM", |
| | | // symbolCode: "MYR", |
| | | // }, |
| | | { |
| | | title: this.$t("馬股資產"), |
| | | title1: this.$t("馬股可用"), |
| | |
| | | accectType: "MAS", |
| | | symbol: "RM", |
| | | symbolCode: "MYR", |
| | | }, |
| | | { |
| | | title: this.$t("港股资产"), |
| | | title1: this.$t("港股可用"), |
| | | title2: this.$t("港股冻结"), |
| | | accectType: "HK", |
| | | symbol: "HK$", |
| | | symbolCode: "HKD", |
| | | }, |
| | | ], |
| | | active: this.$t("美股資產"), |
| | |
| | | |
| | | const arr = data.data.filter((item) => item.accectType === "ALL"); |
| | | this.asstesAll = arr[0].totalMoneyUSD; |
| | | console.log(this.listAsstes); |
| | | } |
| | | }, |
| | | tabsChange(e) { |
| | |
| | | <div style="margin-right: 10px">{{ language }}</div> |
| | | </div> |
| | | </div> |
| | | <van-popup v-model="settingDialog" position="bottom" :style="{ height: '35%' }" @close="popClose"> |
| | | <div class="lang_box" v-for="(item, index) in actions" :key="index" @click="qkclick(item)"> |
| | | <div :class="$i18n.locale == item.lang ? 'lang_box_txt' : 'lang_box_txta'"> |
| | | <van-popup |
| | | v-model="settingDialog" |
| | | position="bottom" |
| | | :style="{ height: '35%' }" |
| | | @close="popClose" |
| | | > |
| | | <div |
| | | class="lang_box" |
| | | v-for="(item, index) in actions" |
| | | :key="index" |
| | | @click="qkclick(item)" |
| | | > |
| | | <div |
| | | :class="$i18n.locale == item.lang ? 'lang_box_txt' : 'lang_box_txta'" |
| | | > |
| | | {{ item.text }} |
| | | </div> |
| | | </div> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import * as api from "@/axios/api"; |
| | | import { |
| | | Toast, |
| | | MessageBox |
| | | } from "mint-ui"; |
| | | import { |
| | | isNull, |
| | | pwdReg |
| | | } from "@/utils/utils"; |
| | | import { |
| | | mapMutations |
| | | } from "vuex"; |
| | | import { |
| | | Notify |
| | | } from "vant"; |
| | | import * as api from "@/axios/api"; |
| | | import { Toast, MessageBox } from "mint-ui"; |
| | | import { isNull, pwdReg } from "@/utils/utils"; |
| | | import { mapMutations } from "vuex"; |
| | | import { Notify } from "vant"; |
| | | |
| | | export default { |
| | | name: "newUser", |
| | | data() { |
| | | return { |
| | | name: "大狗子", |
| | | pswDialog: false, |
| | | selectUserFlag: true, |
| | | settingDialog: false, |
| | | oldPassword: "", // 旧密码 |
| | | newPassword: "", // 新密码 |
| | | cirNewPassword: "", // 确认新密码 |
| | | userInfo: [], |
| | | onlineService: "", |
| | | language: "", |
| | | actions: [{ |
| | | text: "English", |
| | | icon: require("@/assets/ico/english.png"), |
| | | lang: "zh-CN", |
| | | }, |
| | | { |
| | | text: "हिंदी", |
| | | icon: require("@/assets/ico/india.png"), |
| | | lang: "en" |
| | | }, |
| | | { |
| | | text: "한국인", |
| | | icon: require("@/assets/ico/india.png"), |
| | | lang: "hy" |
| | | }, |
| | | { |
| | | text: "ภาษาไทย", |
| | | icon: require("@/assets/ico/india.png"), |
| | | lang: "ty", |
| | | }, |
| | | { |
| | | text: "日本語にほんご", |
| | | icon: require("@/assets/ico/india.png"), |
| | | lang: "ry", |
| | | }, |
| | | export default { |
| | | name: "newUser", |
| | | data() { |
| | | return { |
| | | name: "大狗子", |
| | | pswDialog: false, |
| | | selectUserFlag: true, |
| | | settingDialog: false, |
| | | oldPassword: "", // 旧密码 |
| | | newPassword: "", // 新密码 |
| | | cirNewPassword: "", // 确认新密码 |
| | | userInfo: [], |
| | | onlineService: "", |
| | | language: "", |
| | | actions: [ |
| | | { |
| | | text: "English", |
| | | icon: require("@/assets/ico/english.png"), |
| | | lang: "zh-CN", |
| | | }, |
| | | { |
| | | text: "हिंदी", |
| | | icon: require("@/assets/ico/india.png"), |
| | | lang: "en", |
| | | }, |
| | | { |
| | | text: "한국인", |
| | | icon: require("@/assets/ico/india.png"), |
| | | lang: "hy", |
| | | }, |
| | | { |
| | | text: "ภาษาไทย", |
| | | icon: require("@/assets/ico/india.png"), |
| | | lang: "ty", |
| | | }, |
| | | { |
| | | text: "日本語にほんご", |
| | | icon: require("@/assets/ico/india.png"), |
| | | lang: "ry", |
| | | }, |
| | | |
| | | { |
| | | text: "繁体中文", |
| | | icon: require("@/assets/ico/tw.png"), |
| | | lang: "tw" |
| | | }, |
| | | ], |
| | | }; |
| | | { |
| | | text: "繁体中文", |
| | | icon: require("@/assets/ico/tw.png"), |
| | | lang: "tw", |
| | | }, |
| | | ], |
| | | }; |
| | | }, |
| | | components: {}, |
| | | created() { |
| | | this.getUserInfo(); |
| | | this.language = window.localStorage.getItem("language") || "zh-CN"; |
| | | let arr = this.actions.filter((item) => item.lang === this.language); |
| | | this.language = arr[0].text; |
| | | }, |
| | | methods: { |
| | | ...mapMutations(["undataToken"]), |
| | | |
| | | popClose() { |
| | | this.settingDialog = false; |
| | | }, |
| | | components: {}, |
| | | created() { |
| | | this.getUserInfo(); |
| | | this.language = window.localStorage.getItem("language"); |
| | | console.log(window.localStorage.getItem("language")); |
| | | if (this.language == "zh-CN") { |
| | | this.language = "English"; |
| | | qkclick(e) { |
| | | this.settingDialog = false; |
| | | window.localStorage.setItem("language", e.lang); |
| | | this.$i18n.locale = e.lang; |
| | | this.language = e.text; |
| | | }, |
| | | clicklang() { |
| | | this.settingDialog = true; |
| | | }, |
| | | yebclick() { |
| | | this.$router.push("/yeb"); |
| | | }, |
| | | regexNum(str) { |
| | | console.log(str); |
| | | str = str.toString(); |
| | | if (str.indexOf(".") == -1) { |
| | | str = str + ".00"; |
| | | } |
| | | |
| | | var newStr = str.split("."); |
| | | var point = newStr[1]; |
| | | |
| | | if (point.length < 2) { |
| | | point = point + "0"; |
| | | } |
| | | var moneyPoint = newStr[0]; |
| | | if (moneyPoint.length <= 3) { |
| | | return moneyPoint + "." + point; |
| | | } else { |
| | | this.language = "हिंदी"; |
| | | var mPoint = moneyPoint.substr( |
| | | moneyPoint.length - 3, |
| | | moneyPoint.length |
| | | ); |
| | | var twoPoint = moneyPoint.substr(0, moneyPoint.length - 3); |
| | | var endString = twoPoint |
| | | .toString() |
| | | .replace(/(\d)(?=(\d{2})+(?!\d))/g, "$1,"); |
| | | return endString + "," + mPoint + "." + point; |
| | | } |
| | | }, |
| | | methods: { |
| | | ...mapMutations(["undataToken"]), |
| | | |
| | | popClose() { |
| | | this.settingDialog = false; |
| | | }, |
| | | qkclick(e) { |
| | | this.settingDialog = false; |
| | | window.localStorage.setItem("language", e.lang); |
| | | this.$i18n.locale = e.lang; |
| | | this.language = e.text; |
| | | }, |
| | | clicklang() { |
| | | this.settingDialog = true; |
| | | }, |
| | | yebclick() { |
| | | this.$router.push("/yeb"); |
| | | }, |
| | | regexNum(str) { |
| | | console.log(str); |
| | | str = str.toString(); |
| | | if (str.indexOf(".") == -1) { |
| | | str = str + ".00"; |
| | | } |
| | | |
| | | var newStr = str.split("."); |
| | | var point = newStr[1]; |
| | | |
| | | if (point.length < 2) { |
| | | point = point + "0"; |
| | | } |
| | | var moneyPoint = newStr[0]; |
| | | if (moneyPoint.length <= 3) { |
| | | return moneyPoint + "." + point; |
| | | } else { |
| | | var mPoint = moneyPoint.substr( |
| | | moneyPoint.length - 3, |
| | | moneyPoint.length |
| | | ); |
| | | var twoPoint = moneyPoint.substr(0, moneyPoint.length - 3); |
| | | var endString = twoPoint |
| | | .toString() |
| | | .replace(/(\d)(?=(\d{2})+(?!\d))/g, "$1,"); |
| | | return endString + "," + mPoint + "." + point; |
| | | } |
| | | }, |
| | | goOnline() { |
| | | if (navigator.vibrate) { |
| | | // 支持 |
| | | navigator.vibrate([55]); |
| | | } |
| | | this.$router.push("/service"); |
| | | }, |
| | | async getInfoSite() { |
| | | let data = await api.getInfoSite(); |
| | | if (data.status === 0) { |
| | | this.onlineService = data.data.onlineService; |
| | | } else { |
| | | Toast(data.msg); |
| | | } |
| | | }, |
| | | goWall() { |
| | | goOnline() { |
| | | if (navigator.vibrate) { |
| | | // 支持 |
| | | navigator.vibrate([55]); |
| | | } |
| | | this.$router.push("/service"); |
| | | }, |
| | | async getInfoSite() { |
| | | let data = await api.getInfoSite(); |
| | | if (data.status === 0) { |
| | | this.onlineService = data.data.onlineService; |
| | | } else { |
| | | Toast(data.msg); |
| | | } |
| | | }, |
| | | goWall() { |
| | | this.$router.push("/wallet"); |
| | | }, |
| | | gotoa(e) { |
| | | if (e == 0) { |
| | | this.$router.push("/wallet"); |
| | | }, |
| | | gotoa(e) { |
| | | if (e == 0) { |
| | | this.$router.push("/wallet"); |
| | | } else if (e == 1) { |
| | | this.$router.push("/tixian"); |
| | | } else { |
| | | this.$router.push("/transfers"); |
| | | } |
| | | }, |
| | | subclick() { |
| | | this.$router.push("/SubDK"); |
| | | }, |
| | | subaclick() { |
| | | } else if (e == 1) { |
| | | this.$router.push("/tixian"); |
| | | }, |
| | | handleZh() { |
| | | this.selectUserFlag = !this.selectUserFlag; |
| | | |
| | | if (navigator.vibrate) { |
| | | // 支持 |
| | | navigator.vibrate([55]); |
| | | } |
| | | }, |
| | | async getUserInfo() { |
| | | // 获取用户信息 |
| | | let data = await api.getUserInfo(); |
| | | if (data.status === 0) { |
| | | // 判断是否登录 |
| | | this.$store.commit("dialogVisible", false); |
| | | this.$store.state.userInfo = data.data; |
| | | this.userInfo = data.data; |
| | | } else { |
| | | this.$store.commit("dialogVisible", true); |
| | | } |
| | | }, |
| | | goToTopUp() { |
| | | // if (this.userInfo.length === 0) { |
| | | // this.$store.commit('dialogVisible', true) |
| | | // return |
| | | // } |
| | | // if (navigator.vibrate) { |
| | | // // 支持 |
| | | // navigator.vibrate([55]) |
| | | // } |
| | | this.$router.push("/setting"); |
| | | }, |
| | | handleOutLoginClick() { |
| | | // 退出登录 |
| | | MessageBox.confirm(this.$t("hj149") + "?", this.$t("hj165"), { |
| | | confirmButtonText: this.$t("hj161"), |
| | | cancelButtonText: this.$t("hj106"), |
| | | }) |
| | | .then(() => { |
| | | this.toRegister(); |
| | | }) |
| | | .catch(() => {}); |
| | | }, |
| | | goToSettings() { |
| | | // 每次打开dialog 清空密码数据 |
| | | this.pswDialog = !this.pswDialog; |
| | | if (this.pswDialog) { |
| | | this.oldPassword = ""; |
| | | this.newPassword = ""; |
| | | this.cirNewPassword = ""; |
| | | } |
| | | }, |
| | | handleGoToTransfer() { |
| | | } else { |
| | | this.$router.push("/transfers"); |
| | | }, |
| | | handleGoToAuthentication() { |
| | | this.$router.push("/authentications"); |
| | | }, |
| | | handleGoToAuthenticationaz() { |
| | | this.$router.push("/download"); |
| | | }, |
| | | handleGoToBankCard() { |
| | | this.$router.push("/bankCard"); |
| | | }, |
| | | async toRegister() { |
| | | // 注销登陆 |
| | | window.localStorage.removeItem("USERTOKEN"); // 清空本地存储 USERTOKEN字段 |
| | | this.clearCookie(); |
| | | let data = await api.logout(); |
| | | if (data.status === 0) { |
| | | // Toast(data.msg) |
| | | this.undataToken(null); |
| | | this.$router.push("/login"); |
| | | } else { |
| | | Toast(data.msg); |
| | | } |
| | | this.$router.push("/login"); |
| | | }, |
| | | async changeLoginPsd() { |
| | | // 修改密码 |
| | | if ( |
| | | isNull(this.oldPassword) || |
| | | isNull(this.newPassword) || |
| | | isNull(this.cirNewPassword) |
| | | ) { |
| | | Toast(this.$t("hj154")); |
| | | this.settingDialog = false; |
| | | } else if (!pwdReg(this.newPassword)) { |
| | | Toast(this.$t("hj19")); |
| | | this.settingDialog = false; |
| | | } else { |
| | | // 修改密码 |
| | | if (this.newPassword === this.cirNewPassword) { |
| | | let opts = { |
| | | oldPwd: this.oldPassword, |
| | | newPwd: this.newPassword, |
| | | }; |
| | | let data = await api.changePassword(opts); |
| | | if (data.status === 0) { |
| | | this.changeLoginPsdBox = false; |
| | | } |
| | | }, |
| | | subclick() { |
| | | this.$router.push("/SubDK"); |
| | | }, |
| | | subaclick() { |
| | | this.$router.push("/tixian"); |
| | | }, |
| | | handleZh() { |
| | | this.selectUserFlag = !this.selectUserFlag; |
| | | |
| | | this.pswDialog = false; |
| | | this.settingDialog = false; |
| | | Notify({ |
| | | type: "success", |
| | | message: this.$t("密码修改成功") |
| | | }); |
| | | this.toRegister() |
| | | } else { |
| | | Toast(data.msg); |
| | | this.settingDialog = false; |
| | | } |
| | | if (navigator.vibrate) { |
| | | // 支持 |
| | | navigator.vibrate([55]); |
| | | } |
| | | }, |
| | | async getUserInfo() { |
| | | // 获取用户信息 |
| | | let data = await api.getUserInfo(); |
| | | if (data.status === 0) { |
| | | // 判断是否登录 |
| | | this.$store.commit("dialogVisible", false); |
| | | this.$store.state.userInfo = data.data; |
| | | this.userInfo = data.data; |
| | | } else { |
| | | this.$store.commit("dialogVisible", true); |
| | | } |
| | | }, |
| | | goToTopUp() { |
| | | // if (this.userInfo.length === 0) { |
| | | // this.$store.commit('dialogVisible', true) |
| | | // return |
| | | // } |
| | | // if (navigator.vibrate) { |
| | | // // 支持 |
| | | // navigator.vibrate([55]) |
| | | // } |
| | | this.$router.push("/setting"); |
| | | }, |
| | | handleOutLoginClick() { |
| | | // 退出登录 |
| | | MessageBox.confirm(this.$t("hj149") + "?", this.$t("hj165"), { |
| | | confirmButtonText: this.$t("hj161"), |
| | | cancelButtonText: this.$t("hj106"), |
| | | }) |
| | | .then(() => { |
| | | this.toRegister(); |
| | | }) |
| | | .catch(() => {}); |
| | | }, |
| | | goToSettings() { |
| | | // 每次打开dialog 清空密码数据 |
| | | this.pswDialog = !this.pswDialog; |
| | | if (this.pswDialog) { |
| | | this.oldPassword = ""; |
| | | this.newPassword = ""; |
| | | this.cirNewPassword = ""; |
| | | } |
| | | }, |
| | | handleGoToTransfer() { |
| | | this.$router.push("/transfers"); |
| | | }, |
| | | handleGoToAuthentication() { |
| | | this.$router.push("/authentications"); |
| | | }, |
| | | handleGoToAuthenticationaz() { |
| | | this.$router.push("/download"); |
| | | }, |
| | | handleGoToBankCard() { |
| | | this.$router.push("/bankCard"); |
| | | }, |
| | | async toRegister() { |
| | | // 注销登陆 |
| | | window.localStorage.removeItem("USERTOKEN"); // 清空本地存储 USERTOKEN字段 |
| | | this.clearCookie(); |
| | | let data = await api.logout(); |
| | | if (data.status === 0) { |
| | | // Toast(data.msg) |
| | | this.undataToken(null); |
| | | this.$router.push("/login"); |
| | | } else { |
| | | Toast(data.msg); |
| | | } |
| | | this.$router.push("/login"); |
| | | }, |
| | | async changeLoginPsd() { |
| | | // 修改密码 |
| | | if ( |
| | | isNull(this.oldPassword) || |
| | | isNull(this.newPassword) || |
| | | isNull(this.cirNewPassword) |
| | | ) { |
| | | Toast(this.$t("hj154")); |
| | | this.settingDialog = false; |
| | | } else if (!pwdReg(this.newPassword)) { |
| | | Toast(this.$t("hj19")); |
| | | this.settingDialog = false; |
| | | } else { |
| | | // 修改密码 |
| | | if (this.newPassword === this.cirNewPassword) { |
| | | let opts = { |
| | | oldPwd: this.oldPassword, |
| | | newPwd: this.newPassword, |
| | | }; |
| | | let data = await api.changePassword(opts); |
| | | if (data.status === 0) { |
| | | this.changeLoginPsdBox = false; |
| | | |
| | | this.pswDialog = false; |
| | | this.settingDialog = false; |
| | | Notify({ |
| | | type: "success", |
| | | message: this.$t("密码修改成功"), |
| | | }); |
| | | this.toRegister(); |
| | | } else { |
| | | Toast(this.$t("hj155")); |
| | | Toast(data.msg); |
| | | this.settingDialog = false; |
| | | } |
| | | } else { |
| | | Toast(this.$t("hj155")); |
| | | this.settingDialog = false; |
| | | } |
| | | if (navigator.vibrate) { |
| | | // 支持 |
| | | navigator.vibrate([55]); |
| | | } |
| | | }, |
| | | } |
| | | if (navigator.vibrate) { |
| | | // 支持 |
| | | navigator.vibrate([55]); |
| | | } |
| | | }, |
| | | }; |
| | | }, |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped lang="less"> |
| | | .right_gos_txt { |
| | | margin-right: 15px; |
| | | } |
| | | .right_gos_txt { |
| | | margin-right: 15px; |
| | | } |
| | | |
| | | .setting_content { |
| | | .setting_content { |
| | | width: 100%; |
| | | height: 5rem; |
| | | padding: 0.3rem; |
| | | |
| | | .old_password { |
| | | width: 100%; |
| | | height: 5rem; |
| | | padding: 0.3rem; |
| | | height: 1rem; |
| | | background: rgb(243, 243, 243); |
| | | border-radius: 0.15rem; |
| | | display: flex; |
| | | margin-top: 0.5rem; |
| | | |
| | | .old_password { |
| | | width: 100%; |
| | | height: 1rem; |
| | | background: rgb(243, 243, 243); |
| | | border-radius: 0.15rem; |
| | | .left_titles { |
| | | width: 25%; |
| | | height: 100%; |
| | | display: flex; |
| | | margin-top: 0.5rem; |
| | | align-items: center; |
| | | padding-left: 0.2rem; |
| | | |
| | | .left_titles { |
| | | width: 25%; |
| | | height: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | padding-left: 0.2rem; |
| | | |
| | | // justify-content: flex-end; |
| | | span { |
| | | font-weight: 600; |
| | | } |
| | | } |
| | | |
| | | .right_password_input { |
| | | width: 80%; |
| | | height: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | | input { |
| | | width: 100%; |
| | | height: 100%; |
| | | padding-left: 0.2rem; |
| | | } |
| | | // justify-content: flex-end; |
| | | span { |
| | | font-weight: 600; |
| | | } |
| | | } |
| | | |
| | | .btn_setting { |
| | | width: 100%; |
| | | height: 1.3rem; |
| | | border-radius: 0.15rem; |
| | | background: #2d6ae9; |
| | | color: #fff; |
| | | font-size: 0.4615rem; |
| | | margin-top: 0.5rem; |
| | | .right_password_input { |
| | | width: 80%; |
| | | height: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | | input { |
| | | width: 100%; |
| | | height: 100%; |
| | | padding-left: 0.2rem; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .btn_setting { |
| | | width: 100%; |
| | | height: 1.3rem; |
| | | border-radius: 0.15rem; |
| | | background: #2d6ae9; |
| | | color: #fff; |
| | | font-size: 0.4615rem; |
| | | margin-top: 0.5rem; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | |
| | | span { |
| | | font-weight: 600; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .lang_box_txta { |
| | | width: 100%; |
| | | height: 100px; |
| | | text-align: center; |
| | | line-height: 100px; |
| | | border-bottom: 1px solid #ecf5ff; |
| | | } |
| | | |
| | | .lang_box_txt { |
| | | width: 100%; |
| | | height: 100px; |
| | | text-align: center; |
| | | line-height: 100px; |
| | | border-bottom: 1px solid #ecf5ff; |
| | | color: #2196f3; |
| | | } |
| | | |
| | | .lang_box { |
| | | width: 100%; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | flex-direction: column; |
| | | } |
| | | |
| | | .btn_s_box { |
| | | border: none; |
| | | background: #409eff; |
| | | color: #fff; |
| | | height: 70px; |
| | | width: 100%; |
| | | line-height: 70px; |
| | | font-size: 16px; |
| | | text-align: center; |
| | | border-radius: 15px; |
| | | font-weight: 600; |
| | | margin: 40px 20px 0 20px; |
| | | } |
| | | |
| | | .btn_s { |
| | | width: 100%; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | } |
| | | |
| | | .jy { |
| | | width: 100%; |
| | | height: 1.5rem; |
| | | // border-radius: 0.2rem; |
| | | background: #fff; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | // padding: 0 0.3rem; |
| | | padding-top: 0.3rem; |
| | | border-bottom: 1px solid #ecf5ff; |
| | | |
| | | .left_gn { |
| | | // width: 40%; |
| | | height: 60%; |
| | | display: flex; |
| | | |
| | | .l_icon { |
| | | // width: 30%; |
| | | height: 100%; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | |
| | | img { |
| | | width: 0.5041rem; |
| | | height: 0.5041rem; |
| | | } |
| | | } |
| | | |
| | | .r_title { |
| | | // width: 70%; |
| | | height: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | font-size: 0.4046rem; |
| | | color: #404040; |
| | | padding-left: 0.4rem; |
| | | |
| | | span { |
| | | font-weight: 600; |
| | |
| | | } |
| | | } |
| | | |
| | | .lang_box_txta { |
| | | width: 100%; |
| | | height: 100px; |
| | | text-align: center; |
| | | line-height: 100px; |
| | | border-bottom: 1px solid #ecf5ff; |
| | | } |
| | | |
| | | .lang_box_txt { |
| | | width: 100%; |
| | | height: 100px; |
| | | text-align: center; |
| | | line-height: 100px; |
| | | border-bottom: 1px solid #ecf5ff; |
| | | color: #2196f3; |
| | | } |
| | | |
| | | .lang_box { |
| | | width: 100%; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | flex-direction: column; |
| | | } |
| | | |
| | | .btn_s_box { |
| | | border: none; |
| | | background: #409eff; |
| | | color: #fff; |
| | | height: 70px; |
| | | width: 100%; |
| | | line-height: 70px; |
| | | font-size: 16px; |
| | | text-align: center; |
| | | border-radius: 15px; |
| | | font-weight: 600; |
| | | margin: 40px 20px 0 20px; |
| | | } |
| | | |
| | | .btn_s { |
| | | width: 100%; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | } |
| | | |
| | | .jy { |
| | | width: 100%; |
| | | height: 1.5rem; |
| | | // border-radius: 0.2rem; |
| | | background: #fff; |
| | | .right_gos { |
| | | // width: 20%; |
| | | height: 60%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | // padding: 0 0.3rem; |
| | | padding-top: 0.3rem; |
| | | border-bottom: 1px solid #ecf5ff; |
| | | justify-content: flex-end; |
| | | |
| | | .left_gn { |
| | | // width: 40%; |
| | | height: 60%; |
| | | display: flex; |
| | | |
| | | .l_icon { |
| | | // width: 30%; |
| | | height: 100%; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | |
| | | img { |
| | | width: 0.5041rem; |
| | | height: 0.5041rem; |
| | | } |
| | | } |
| | | |
| | | .r_title { |
| | | // width: 70%; |
| | | height: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | font-size: 0.4046rem; |
| | | color: #404040; |
| | | padding-left: 0.4rem; |
| | | |
| | | span { |
| | | font-weight: 600; |
| | | } |
| | | } |
| | | img { |
| | | width: 0.6rem; |
| | | height: 0.6rem; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .right_gos { |
| | | // width: 20%; |
| | | height: 60%; |
| | | body { |
| | | background-color: #f8f8f8; |
| | | } |
| | | |
| | | .pages_logo_btn_right { |
| | | margin-left: 20px; |
| | | margin-top: 20px; |
| | | display: inline-block; |
| | | padding: 16px 40px; |
| | | text-decoration: none; |
| | | color: #fff; |
| | | background: #f44336; |
| | | border-radius: 40px; |
| | | } |
| | | |
| | | .pages_logo_btn_left { |
| | | border-radius: 40px; |
| | | margin-top: 20px; |
| | | display: inline-block; |
| | | padding: 16px 40px; |
| | | text-decoration: none; |
| | | color: #fff; |
| | | background: #2196f3; |
| | | } |
| | | |
| | | .pages_logo_btn { |
| | | width: 100%; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | margin-top: 100px; |
| | | } |
| | | |
| | | .pages_logo_img { |
| | | width: 200px; |
| | | height: 200px; |
| | | border-radius: 20px; |
| | | } |
| | | |
| | | .pages_logo_txt { |
| | | width: 100%; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | margin-top: 50px; |
| | | } |
| | | |
| | | .pages_logo { |
| | | width: 100%; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | margin-top: 100px; |
| | | } |
| | | |
| | | .content { |
| | | width: 100%; |
| | | height: 100%; |
| | | // padding: 0 0.3rem; |
| | | |
| | | .top_back { |
| | | width: 100%; |
| | | height: 2rem; |
| | | display: flex; |
| | | background-color: #fff; |
| | | |
| | | > div { |
| | | width: 10%; |
| | | height: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: flex-end; |
| | | |
| | | img { |
| | | width: 0.6rem; |
| | | height: 0.6rem; |
| | | } |
| | | } |
| | | } |
| | | |
| | | body { |
| | | background-color: #f8f8f8; |
| | | } |
| | | img { |
| | | width: 0.6rem; |
| | | height: 0.6rem; |
| | | margin-left: 20px; |
| | | } |
| | | |
| | | .pages_logo_btn_right { |
| | | margin-left: 20px; |
| | | margin-top: 20px; |
| | | display: inline-block; |
| | | padding: 16px 40px; |
| | | text-decoration: none; |
| | | color: #fff; |
| | | background: #f44336; |
| | | border-radius: 40px; |
| | | } |
| | | |
| | | .pages_logo_btn_left { |
| | | border-radius: 40px; |
| | | margin-top: 20px; |
| | | display: inline-block; |
| | | padding: 16px 40px; |
| | | text-decoration: none; |
| | | color: #fff; |
| | | background: #2196f3; |
| | | } |
| | | |
| | | .pages_logo_btn { |
| | | width: 100%; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | margin-top: 100px; |
| | | } |
| | | |
| | | .pages_logo_img { |
| | | width: 200px; |
| | | height: 200px; |
| | | border-radius: 20px; |
| | | } |
| | | |
| | | .pages_logo_txt { |
| | | width: 100%; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | margin-top: 50px; |
| | | } |
| | | |
| | | .pages_logo { |
| | | width: 100%; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | margin-top: 100px; |
| | | } |
| | | |
| | | .content { |
| | | width: 100%; |
| | | height: 100%; |
| | | // padding: 0 0.3rem; |
| | | |
| | | .top_back { |
| | | .titles { |
| | | width: 100%; |
| | | height: 2rem; |
| | | height: 1.5rem; |
| | | margin-top: 15px; |
| | | // margin-left: 110px; |
| | | display: flex; |
| | | background-color: #fff; |
| | | margin-right: 20px; |
| | | justify-content: center; |
| | | align-items: center; |
| | | |
| | | >div { |
| | | width: 10%; |
| | | height: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | } |
| | | |
| | | img { |
| | | width: 0.6rem; |
| | | height: 0.6rem; |
| | | margin-left: 20px; |
| | | } |
| | | |
| | | .titles { |
| | | width: 100%; |
| | | height: 1.5rem; |
| | | margin-top: 15px; |
| | | // margin-left: 110px; |
| | | display: flex; |
| | | margin-right: 20px; |
| | | justify-content: center; |
| | | align-items: center; |
| | | |
| | | span { |
| | | font-weight: 600; |
| | | } |
| | | span { |
| | | font-weight: 600; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | </div> |
| | | <div class="right_title"> |
| | | <div class="t_t" style="white-space: nowrap"> |
| | | <span>{{ name | getName }}</span> |
| | | <span>{{ name }}</span> |
| | | </div> |
| | | <div class="b_t"> |
| | | <span>{{ code }}</span> |
| | | <span>{{ spell }}</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | if (this.$route.query.name) { |
| | | this.name = this.$route.query.name; |
| | | } |
| | | if (this.$route.query.spell) { |
| | | this.spell = this.$route.query.spell; |
| | | } |
| | | if (this.$route.query.type) { |
| | | this.type = this.$route.query.type; |
| | | } |
| | |
| | | type: 0, |
| | | code: "", |
| | | name: "", |
| | | spell: "", |
| | | settingInfo: [], |
| | | selectCycle: 1, |
| | | siteLeverList: [], |
| | |
| | | filters: { |
| | | getName(name) { |
| | | if (name.length > 15) { |
| | | return name.substring(0, 14); |
| | | return name; |
| | | } else { |
| | | return name; |
| | | } |
| | |
| | | symbolCode: "USD", |
| | | symbol: "$", |
| | | }, |
| | | // { |
| | | // title: this.$t("ydgs"), |
| | | // assname: this.$t("印股总资产"), |
| | | // name: "3", |
| | | // bgc: "rgb(255, 91, 150)", |
| | | // laber: "IN", |
| | | // symbolCode: "USD", |
| | | // symbol: "$", |
| | | // }, |
| | | { |
| | | title: this.$t("马来西亚"), |
| | | assname: this.$t("馬股总资产"), |
| | |
| | | laber: "MAS", |
| | | symbolCode: "MYR", |
| | | symbol: "RM", |
| | | }, |
| | | { |
| | | title: this.$t("港股"), |
| | | assname: this.$t("港股总资产"), |
| | | name: "5", |
| | | bgc: "rgb(255 91 230)", |
| | | laber: "HK", |
| | | symbolCode: "HKD", |
| | | symbol: "HK$", |
| | | }, |
| | | ], |
| | | getMoneyList: [], |
| | |
| | | }); |
| | | let obj = arr.filter((item) => item.name == this.active)[0]; |
| | | this.activeObj = obj; |
| | | console.log(obj, "0000000", res.data); |
| | | console.log(obj, "0000000", this.tabsArr); |
| | | this.tabsArr = arr; |
| | | this.$forceUpdate(); // 强制Vue重新渲染 |
| | | } |
| | |
| | | v-for="(item, index) in dataList" |
| | | :key="index" |
| | | > |
| | | <div class="title-box"> |
| | | <div class="span">{{ item.stockName }}</div> |
| | | <div |
| | | class="states" |
| | | :class="item.orderDirection === '买跌' ? 'states-red' : ''" |
| | | > |
| | | {{ $t(item.orderDirection) }} |
| | | <div @click="pushRouter(item)"> |
| | | <div class="title-box"> |
| | | <div class="span">{{ item.stockName }}</div> |
| | | <div |
| | | class="states" |
| | | :class="item.orderDirection === '买跌' ? 'states-red' : ''" |
| | | > |
| | | {{ $t(item.orderDirection) }} |
| | | </div> |
| | | </div> |
| | | {{ item.stockCode }} |
| | | </div> |
| | | <van-row> |
| | | <van-col span="8"> |
| | |
| | | }, |
| | | |
| | | methods: { |
| | | pushRouter(item) { |
| | | const obj = { |
| | | pid: item.stockCode || "", |
| | | type: item.stockGid || "", |
| | | }; |
| | | window.localStorage.setItem("kLine", JSON.stringify(obj)); |
| | | // return; |
| | | var codes = item.stockCode; |
| | | var names = item.stockName; |
| | | |
| | | this.$router.push({ |
| | | path: "/kline", |
| | | query: { |
| | | name: names, |
| | | code: codes, |
| | | if_us: "", |
| | | if_zhishu: 0, |
| | | sok: "", |
| | | type: item.stockGid, |
| | | }, |
| | | }); |
| | | }, |
| | | onLoad() { |
| | | this.pageNum++; |
| | | this.loading = true; |
| | |
| | | this.loading = false; |
| | | if (res.status === 0) { |
| | | this.dataList = res.data.list; |
| | | if (res.data.total <= this.dataList.length) { |
| | | this.finished = true; |
| | | } |
| | | // if (res.data.total <= this.dataList.length) { |
| | | this.finished = true; |
| | | // } |
| | | } else { |
| | | this.loading = false; |
| | | this.finished = true; |
| | |
| | | </div> |
| | | <div class="right" @click="closeAll">{{ $t("全部平仓") }}</div> |
| | | </div> |
| | | <!-- totleAssets 总资产 --> |
| | | <!-- availableBalance 可用 --> |
| | | <!-- cumulativeProfitAndLoss 累计盈亏 --> |
| | | <!-- profitAndLoss 浮动盈亏 --> |
| | | <!-- handlingCharge 总手续费 --> |
| | | <!-- freezeMoney 冻结 --> |
| | | |
| | | <div class="item-card-itembox"> |
| | | <div class="item"> |
| | | <div class="itembox-data">{{ activeObj.profitAndLoss }}</div> |
| | |
| | | <van-cell v-for="item in list" :key="item.id"> |
| | | <div class="item"> |
| | | <div> |
| | | <div v-if="Number(item.amount) < 0"> |
| | | {{ $t("美股账户") }} > {{ $t("馬股账户") }} |
| | | <div> |
| | | {{ $t(item.descs.split("/")[0]) }} |
| | | > {{ $t(item.descs.split("/")[1]) }} |
| | | </div> |
| | | <div v-else>{{ $t("馬股账户") }} > {{ $t("美股账户") }}</div> |
| | | </div> |
| | | <div>{{ Math.abs(Number(item.amount)) }} USD</div> |
| | | </div> |
| | |
| | | methods: { |
| | | async getMoenyLogs() { |
| | | const res = await getMoenyLog({ type: "转换" }); |
| | | const arr = res.data.filter((item) => item.accectType === "US"); |
| | | this.list = arr; |
| | | // const arr = res.data.filter((item) => item.accectType === "US"); |
| | | this.list = res.data; |
| | | // 加载状态结束 |
| | | this.loading = false; |
| | | this.finished = true; |
| | |
| | | <template> |
| | | <!-- 最多关注--> |
| | | <div class="center_tabs" style="height: 100%; margin: 0;padding: 0;top: 0;"> |
| | | <!-- 最多关注--> |
| | | <div class="center_tabs" style="height: 100%; margin: 0; padding: 0; top: 0"> |
| | | <div class="search"> |
| | | <div class="search_content"> |
| | | <div class="left_search"> |
| | | <div class="search_img"> |
| | | <img src="../../assets/img/searchs.png" alt /> |
| | | </div> |
| | | <div class="search_input"> |
| | | <input |
| | | type="text" |
| | | class="searchs" |
| | | :placeholder="$t('hj37')" |
| | | ref="search" |
| | | id="sousuo" |
| | | v-model="gpcode" |
| | | @input="gpinput" |
| | | /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="tabs_title"> |
| | | <div class="tb" style="padding: 0; background-color: #f5f5f5"> |
| | | <div style="width: 33%; text-align: center"> |
| | | <span |
| | | :class="tabsIndex0010 == 0 ? 'active' : ''" |
| | | @click="handleTabsClick0010(0)" |
| | | >{{ $t("hj61") }}</span |
| | | > |
| | | </div> |
| | | <div style="width: 33%; text-align: center"> |
| | | <span |
| | | :class="tabsIndex0010 == 1 ? 'active' : ''" |
| | | @click="handleTabsClick0010(1)" |
| | | >{{ $t("ydgs") }}</span |
| | | > |
| | | </div> |
| | | <div style="width: 33%; text-align: center"> |
| | | <span |
| | | :class="tabsIndex0010 == 2 ? 'active' : ''" |
| | | @click="handleTabsClick0010(2)" |
| | | >{{ $t("mggs") }}</span |
| | | > |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="tabs_title" v-if="tabsIndex0010 == 0"> |
| | | <div class="tb" style="padding: 0; background-color: #f5f5f5"> |
| | | <div style="width: 33%; text-align: center"> |
| | | <span |
| | | :class="tabsIndex0010a == 0 ? 'active' : ''" |
| | | @click="handleTabsClick0010a(0)" |
| | | >{{ $t("ydgs") }}</span |
| | | > |
| | | </div> |
| | | <div style="width: 33%; text-align: center"> |
| | | <span |
| | | :class="tabsIndex0010a == 1 ? 'active' : ''" |
| | | @click="handleTabsClick0010a(1)" |
| | | >{{ $t("mggs") }}</span |
| | | > |
| | | </div> |
| | | <div style="width: 33%; text-align: center"> |
| | | <!-- <span :class="tabsIndex0010 == 2 ? 'active' : ''" @click="handleTabsClick0010(1)">{{ $t('TOPC') }}</span> --> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="search"> |
| | | <div class="search_content"> |
| | | <div class="left_search"> |
| | | <div class="search_img"> |
| | | <img src="../../assets/img/searchs.png" alt /> |
| | | </div> |
| | | <div class="search_input"> |
| | | <input type="text" class="searchs" :placeholder="$t('hj37')" ref="search" id="sousuo" |
| | | v-model="gpcode" @input="gpinput" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="list_title"> |
| | | <div class="item_title varieties"> |
| | | <span>{{ $t("hj39") }}</span> |
| | | </div> |
| | | <div class="item_title latest_price"> |
| | | <span>{{ $t("hj40") }}</span> |
| | | </div> |
| | | <div class="item_title applies"> |
| | | <span>{{ $t("hj41") }}</span> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="tabs_title"> |
| | | <div class="tb" style="padding: 0;background-color: #F5F5F5;"> |
| | | <div style="width: 33%;text-align: center;"> |
| | | <span :class="tabsIndex0010 == 0 ? 'active' : ''" |
| | | @click="handleTabsClick0010(0)">{{ $t('hj61') }}</span> |
| | | </div> |
| | | <div style="width: 33%;text-align: center;"> |
| | | <span :class="tabsIndex0010 == 1 ? 'active' : ''" |
| | | @click="handleTabsClick0010(1)">{{ $t('ydgs') }}</span> |
| | | </div> |
| | | <div style="width: 33%;text-align: center;"> |
| | | <span :class="tabsIndex0010 == 2 ? 'active' : ''" |
| | | @click="handleTabsClick0010(2)">{{ $t('mggs') }}</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="tabs_title" v-if="tabsIndex0010==0"> |
| | | <div class="tb" style="padding: 0;background-color: #F5F5F5;"> |
| | | <div style="width: 33%;text-align: center;"> |
| | | <span :class="tabsIndex0010a == 0 ? 'active' : ''" |
| | | @click="handleTabsClick0010a(0)">{{ $t('ydgs') }}</span> |
| | | </div> |
| | | <div style="width: 33%;text-align: center;"> |
| | | <span :class="tabsIndex0010a == 1 ? 'active' : ''" |
| | | @click="handleTabsClick0010a(1)">{{ $t('mggs') }}</span> |
| | | </div> |
| | | <div style="width: 33%;text-align: center;"> |
| | | <!-- <span :class="tabsIndex0010 == 2 ? 'active' : ''" @click="handleTabsClick0010(1)">{{ $t('TOPC') }}</span> --> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <!-- <TradList class="tradlist" :typety="true"></TradList> --> |
| | | |
| | | <!-- 市场列表 --> |
| | | <div |
| | | class="list" |
| | | v-if="tabsIndex001 == 0" |
| | | :class="isToken == '' ? 'listHeight' : 'listHeights'" |
| | | > |
| | | <van-list |
| | | v-model="loading" |
| | | :finished="finished" |
| | | :loading-text="$t('hj430')" |
| | | :finished-text="$t('hj43')" |
| | | @load="onLoad" |
| | | :immediate-check="false" |
| | | > |
| | | <div v-if="tabsIndex0010 == 0" class="van-clearfix"> |
| | | <div class="list_items"> |
| | | <div |
| | | class="item" |
| | | v-for="(item, index) in listArr" |
| | | :key="index" |
| | | @click="handleGoToKlineDetail(item, index)" |
| | | > |
| | | <div class="item_box"> |
| | | <div class="item_box_left"> |
| | | <div class="item_box_left_top">{{ item.spell }}</div> |
| | | <div class="item_box_left_bottom">{{ item.name }}</div> |
| | | </div> |
| | | <div class="item_box_zj">{{ item.nowPrice }}</div> |
| | | |
| | | <div class="list_title"> |
| | | <div class="item_title varieties"> |
| | | <span>{{ $t('hj39') }}</span> |
| | | </div> |
| | | <div class="item_title latest_price"> |
| | | <span>{{ $t('hj40') }}</span> |
| | | </div> |
| | | <div class="item_title applies"> |
| | | <span>{{ $t('hj41') }}</span> |
| | | </div> |
| | | </div> |
| | | <div |
| | | :class=" |
| | | item.color == '1' ? 'item_box_right' : 'item_box_righta' |
| | | " |
| | | > |
| | | {{ item.hcrate }}% |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div v-if="tabsIndex0010 == 1" class="van-clearfix"> |
| | | <div class="list_items"> |
| | | <div |
| | | class="item" |
| | | v-for="(item, index) in listArr" |
| | | :key="index" |
| | | @click="handleGoToKlineDetail(item, index)" |
| | | > |
| | | <div class="item_box"> |
| | | <div class="item_box_left"> |
| | | <div class="item_box_left_top">{{ item.spell }}</div> |
| | | <div class="item_box_left_bottom">{{ item.name }}</div> |
| | | </div> |
| | | <div class="item_box_zj">{{ item.nowPrice }}</div> |
| | | |
| | | <!-- <TradList class="tradlist" :typety="true"></TradList> --> |
| | | <div |
| | | :class=" |
| | | item.color == '1' ? 'item_box_right' : 'item_box_righta' |
| | | " |
| | | > |
| | | {{ item.hcrate }}% |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div v-if="tabsIndex0010 == 2" class="van-clearfix"> |
| | | <div class="list_items"> |
| | | <div |
| | | class="item" |
| | | v-for="(item, index) in listArr" |
| | | :key="index" |
| | | @click="handleGoToKlineDetail(item, index)" |
| | | > |
| | | <div class="item_box"> |
| | | <div class="item_box_left"> |
| | | <div class="item_box_left_top">{{ item.spell }}</div> |
| | | <div class="item_box_left_bottom">{{ item.name }}</div> |
| | | </div> |
| | | <div class="item_box_zj">{{ item.nowPrice }}</div> |
| | | |
| | | <!-- 市场列表 --> |
| | | <div class="list" v-if="tabsIndex001 == 0" :class="isToken == '' ? 'listHeight' : 'listHeights'"> |
| | | <van-list v-model="loading" :finished="finished" :loading-text="$t('hj430')" :finished-text="$t('hj43')" |
| | | @load="onLoad" :immediate-check="false"> |
| | | <div v-if="tabsIndex0010 == 0" class="van-clearfix"> |
| | | <div class="list_items"> |
| | | <div class="item" v-for="(item, index) in listArr" :key="index" |
| | | @click="handleGoToKlineDetail(item, index)"> |
| | | <div class="item_box"> |
| | | <div class="item_box_left"> |
| | | <div class="item_box_left_top">{{item.spell}}</div> |
| | | <div class="item_box_left_bottom">{{item.name}}</div> |
| | | </div> |
| | | <div class="item_box_zj">{{item.nowPrice}}</div> |
| | | |
| | | <div :class="item.color=='1'?'item_box_right':'item_box_righta'">{{item.hcrate}}%</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div v-if="tabsIndex0010 == 1" class="van-clearfix"> |
| | | <div class="list_items"> |
| | | <div class="item" v-for="(item, index) in listArr" :key="index" |
| | | @click="handleGoToKlineDetail(item, index)"> |
| | | <div class="item_box"> |
| | | <div class="item_box_left"> |
| | | <div class="item_box_left_top">{{item.spell}}</div> |
| | | <div class="item_box_left_bottom">{{item.name}}</div> |
| | | </div> |
| | | <div class="item_box_zj">{{item.nowPrice}}</div> |
| | | <div |
| | | :class=" |
| | | item.color == '1' ? 'item_box_right' : 'item_box_righta' |
| | | " |
| | | > |
| | | {{ item.hcrate }}% |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </van-list> |
| | | </div> |
| | | |
| | | <div :class="item.color=='1'?'item_box_right':'item_box_righta'">{{item.hcrate}}%</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div v-if="tabsIndex0010 == 2" class="van-clearfix"> |
| | | <div class="list_items"> |
| | | <div class="item" v-for="(item, index) in listArr" :key="index" |
| | | @click="handleGoToKlineDetail(item, index)"> |
| | | <div class="item_box"> |
| | | <div class="item_box_left"> |
| | | <div class="item_box_left_top">{{item.spell}}</div> |
| | | <div class="item_box_left_bottom">{{item.name}}</div> |
| | | </div> |
| | | <div class="item_box_zj">{{item.nowPrice}}</div> |
| | | |
| | | <div :class="item.color=='1'?'item_box_right':'item_box_righta'">{{item.hcrate}}%</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </van-list> |
| | | |
| | | </div> |
| | | |
| | | <!-- 市场列表 --> |
| | | <div class="list" v-if="tabsIndex001 == 1" :class="isToken == '' ? 'listHeight' : 'listHeights'"> |
| | | <van-list v-model="loading" :finished="finished" :loading-text="$t('hj430')" :finished-text="$t('hj43')" |
| | | @load="onLoad" :immediate-check="false"> |
| | | <div v-if="tabsItemIndex == 0" class="van-clearfix"> |
| | | <div class="list_items"> |
| | | <div class="item" v-for="(item, index) in listArr" :key="index" |
| | | @click="handleGoToKlineDetail(item, index)"> |
| | | <div class="item_box"> |
| | | <div class="item_box_left"> |
| | | <div class="item_box_left_top">{{item.spell}}</div> |
| | | <div class="item_box_left_bottom">{{item.name}}</div> |
| | | </div> |
| | | <div class="item_box_zj">{{item.nowPrice}}</div> |
| | | <div class="item_box_righta" v-if="orderBy=='asc' &&tabsIndex0010==0">{{item.hcrate}}% |
| | | </div> |
| | | <div class="item_box_right" v-if="orderBy=='desc'&&tabsIndex0010==1">{{item.hcrate}}% |
| | | </div> |
| | | <div :class="item.color=='1'?'item_box_right':'item_box_righta'">{{item.hcrate}}%</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div v-if="tabsItemIndex == 1" class="van-clearfix"> |
| | | <div class="list_items"> |
| | | <div class="item" v-for="(item, index) in listArr1" :key="index" |
| | | @click="handleGoToKlineDetail(item, index)"> |
| | | <div v-if="(tabsItemIndex == 5 && item.zt == 0) || tabsItemIndex != 5"> |
| | | <div class="left_title"> |
| | | <div class="tp"> |
| | | <span class="collection" @click.stop="options(item)"> |
| | | <span v-show="tabsItemIndex != 5" class="shu" |
| | | :class="item.isOption == '1' ? 'shublue' : ''"></span> |
| | | <span v-show="tabsItemIndex == 5" class="shu hongse"></span> |
| | | </span> |
| | | <span class="title_color" style="white-space: nowrap;overflow: hidden;"> |
| | | {{ tabsItemIndex == 5 ? item.name : tabsItemIndex == |
| | | 2 ? item.name : tabsItemIndex == 0 || tabsItemIndex == 3 || tabsItemIndex == 4 ? item.name : |
| | | item.indexName | getName |
| | | }} |
| | | </span> |
| | | </div> |
| | | <div class="bt"> |
| | | <span> |
| | | {{ tabsItemIndex == 5 ? item.stockType + item.code : tabsItemIndex == 2 ? item.gid : |
| | | tabsItemIndex |
| | | == |
| | | 0 || tabsItemIndex == 3 || tabsItemIndex == 4 ? item.gid : item.indexCode |
| | | }} |
| | | </span> |
| | | </div> |
| | | </div> |
| | | <div class="center_price"> |
| | | <div class="tp"> |
| | | <span class="price_color" |
| | | v-if="tabsItemIndex == 0 || tabsItemIndex == 2 || tabsItemIndex == 3 || tabsItemIndex == 4" |
| | | :class="item.hcrate > 0 ? 'green' : 'red'"> |
| | | {{ item.nowPrice |
| | | }} |
| | | </span> |
| | | <span class="price_color" v-else> |
| | | {{ tabsItemIndex == 5 ? Number(item.price).toFixed(2) : |
| | | item.currentPoint |
| | | }} |
| | | </span> |
| | | </div> |
| | | <div class="bt"> |
| | | <span v-if="tabsItemIndex == 5 || tabsItemIndex == 1">{{ tabsItemIndex == 5 ? 'Max:' + |
| | | Number(item.orderNumber) : $t('hj44') + ':' + Number(item.transFee) |
| | | }}</span> |
| | | <span v-else>{{ item.today_min }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="right_bs"> |
| | | <div class="tp" style="justify-content: flex-end;"> |
| | | <span class="price_color" |
| | | v-if="tabsItemIndex == 0 || tabsItemIndex == 2 || tabsItemIndex == 3 || tabsItemIndex == 4" |
| | | :class="item.hcrate > 0 ? 'green' : 'red'">{{ item.hcrate }}</span> |
| | | <span class="price_color" v-if="tabsItemIndex == 1" |
| | | :class="item.floatRate > 0 ? 'green' : 'red'"> |
| | | {{ |
| | | item.floatRate + '%' |
| | | }} |
| | | </span> |
| | | <!-- <span class="price_color" v-if="tabsItemIndex == 3" |
| | | <!-- 市场列表 --> |
| | | <div |
| | | class="list" |
| | | v-if="tabsIndex001 == 1" |
| | | :class="isToken == '' ? 'listHeight' : 'listHeights'" |
| | | > |
| | | <van-list |
| | | v-model="loading" |
| | | :finished="finished" |
| | | :loading-text="$t('hj430')" |
| | | :finished-text="$t('hj43')" |
| | | @load="onLoad" |
| | | :immediate-check="false" |
| | | > |
| | | <div v-if="tabsItemIndex == 0" class="van-clearfix"> |
| | | <div class="list_items"> |
| | | <div |
| | | class="item" |
| | | v-for="(item, index) in listArr" |
| | | :key="index" |
| | | @click="handleGoToKlineDetail(item, index)" |
| | | > |
| | | <div class="item_box"> |
| | | <div class="item_box_left"> |
| | | <div class="item_box_left_top">{{ item.spell }}</div> |
| | | <div class="item_box_left_bottom">{{ item.name }}</div> |
| | | </div> |
| | | <div class="item_box_zj">{{ item.nowPrice }}</div> |
| | | <div |
| | | class="item_box_righta" |
| | | v-if="orderBy == 'asc' && tabsIndex0010 == 0" |
| | | > |
| | | {{ item.hcrate }}% |
| | | </div> |
| | | <div |
| | | class="item_box_right" |
| | | v-if="orderBy == 'desc' && tabsIndex0010 == 1" |
| | | > |
| | | {{ item.hcrate }}% |
| | | </div> |
| | | <div |
| | | :class=" |
| | | item.color == '1' ? 'item_box_right' : 'item_box_righta' |
| | | " |
| | | > |
| | | {{ item.hcrate }}% |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div v-if="tabsItemIndex == 1" class="van-clearfix"> |
| | | <div class="list_items"> |
| | | <div |
| | | class="item" |
| | | v-for="(item, index) in listArr1" |
| | | :key="index" |
| | | @click="handleGoToKlineDetail(item, index)" |
| | | > |
| | | <div |
| | | v-if=" |
| | | (tabsItemIndex == 5 && item.zt == 0) || tabsItemIndex != 5 |
| | | " |
| | | > |
| | | <div class="left_title"> |
| | | <div class="tp"> |
| | | <span class="collection" @click.stop="options(item)"> |
| | | <span |
| | | v-show="tabsItemIndex != 5" |
| | | class="shu" |
| | | :class="item.isOption == '1' ? 'shublue' : ''" |
| | | ></span> |
| | | <span |
| | | v-show="tabsItemIndex == 5" |
| | | class="shu hongse" |
| | | ></span> |
| | | </span> |
| | | <span |
| | | class="title_color" |
| | | style="white-space: nowrap; overflow: hidden" |
| | | > |
| | | {{ |
| | | tabsItemIndex == 5 |
| | | ? item.name |
| | | : tabsItemIndex == 2 |
| | | ? item.name |
| | | : tabsItemIndex == 0 || |
| | | tabsItemIndex == 3 || |
| | | tabsItemIndex == 4 |
| | | ? item.name |
| | | : item.indexName | getName |
| | | }} |
| | | </span> |
| | | </div> |
| | | <div class="bt"> |
| | | <span> |
| | | {{ |
| | | tabsItemIndex == 5 |
| | | ? item.stockType + item.code |
| | | : tabsItemIndex == 2 |
| | | ? item.gid |
| | | : tabsItemIndex == 0 || |
| | | tabsItemIndex == 3 || |
| | | tabsItemIndex == 4 |
| | | ? item.gid |
| | | : item.indexCode |
| | | }} |
| | | </span> |
| | | </div> |
| | | </div> |
| | | <div class="center_price"> |
| | | <div class="tp"> |
| | | <span |
| | | class="price_color" |
| | | v-if=" |
| | | tabsItemIndex == 0 || |
| | | tabsItemIndex == 2 || |
| | | tabsItemIndex == 3 || |
| | | tabsItemIndex == 4 |
| | | " |
| | | :class="item.hcrate > 0 ? 'green' : 'red'" |
| | | > |
| | | {{ item.nowPrice }} |
| | | </span> |
| | | <span class="price_color" v-else> |
| | | {{ |
| | | tabsItemIndex == 5 |
| | | ? Number(item.price).toFixed(2) |
| | | : item.currentPoint |
| | | }} |
| | | </span> |
| | | </div> |
| | | <div class="bt"> |
| | | <span v-if="tabsItemIndex == 5 || tabsItemIndex == 1">{{ |
| | | tabsItemIndex == 5 |
| | | ? "Max:" + Number(item.orderNumber) |
| | | : $t("hj44") + ":" + Number(item.transFee) |
| | | }}</span> |
| | | <span v-else>{{ item.today_min }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="right_bs"> |
| | | <div class="tp" style="justify-content: flex-end"> |
| | | <span |
| | | class="price_color" |
| | | v-if=" |
| | | tabsItemIndex == 0 || |
| | | tabsItemIndex == 2 || |
| | | tabsItemIndex == 3 || |
| | | tabsItemIndex == 4 |
| | | " |
| | | :class="item.hcrate > 0 ? 'green' : 'red'" |
| | | >{{ item.hcrate }}</span |
| | | > |
| | | <span |
| | | class="price_color" |
| | | v-if="tabsItemIndex == 1" |
| | | :class="item.floatRate > 0 ? 'green' : 'red'" |
| | | > |
| | | {{ item.floatRate + "%" }} |
| | | </span> |
| | | <!-- <span class="price_color" v-if="tabsItemIndex == 3" |
| | | :class="((item.nowPrice - item.lastClose) / item.lastClose * 100).toFixed(2) > 0 ? 'green' : 'red'"> |
| | | {{ |
| | | item.lastClose == "" ? 0.00 : ((Number(item.nowPrice) - Number(item.lastClose)) / |
| | | Number(item.lastClose) * 100).toFixed(2) + '%' |
| | | }} |
| | | </span> --> |
| | | <div v-if="tabsItemIndex == 5" |
| | | :class="item.type == 1 ? 'xgsgType' : 'xgsgTypeRed'"> |
| | | <!-- {{item.orderNumber}} --> |
| | | {{ item.type == 1 ? $t('hj45') : $t('hj46') }} |
| | | </div> |
| | | </div> |
| | | <div class="bt" style="justify-content: flex-end;"> |
| | | <div v-if="tabsItemIndex != 1 && tabsItemIndex != 5">{{ item.preclose_px }} |
| | | </div> |
| | | <!-- class="codeIcon" item.stock_type.toUpperCase()--> |
| | | </div> |
| | | </div> |
| | | <div |
| | | v-if="tabsItemIndex == 5" |
| | | :class="item.type == 1 ? 'xgsgType' : 'xgsgTypeRed'" |
| | | > |
| | | <!-- {{item.orderNumber}} --> |
| | | {{ item.type == 1 ? $t("hj45") : $t("hj46") }} |
| | | </div> |
| | | </div> |
| | | <div class="bt" style="justify-content: flex-end"> |
| | | <div v-if="tabsItemIndex != 1 && tabsItemIndex != 5"> |
| | | {{ item.preclose_px }} |
| | | </div> |
| | | <!-- class="codeIcon" item.stock_type.toUpperCase()--> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </van-list> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </van-list> |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | <!-- <table border="1" class="list_item" width="100%"> |
| | | <!-- <table border="1" class="list_item" width="100%"> |
| | | <tr class="thh"> |
| | | <th>{{ $t('hj39') }}</th> |
| | | <th>{{ $t('hj40') }}</th> |
| | |
| | | |
| | | </table> --> |
| | | |
| | | |
| | | |
| | | <!-- <div class="list_items"> |
| | | <!-- <div class="list_items"> |
| | | <div class="item" v-for="(item, index) in listArr" :key="index" @click="handleGoToKlineDetail(item, index)"> |
| | | {{ item }} |
| | | </div> |
| | | </div> --> |
| | | |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import AllList from "@/page/list/list-all"; |
| | |
| | | <div class="van-cell__value van-field__value"> |
| | | <div class="van-field__body"> |
| | | <div class="van-field__control" style="padding-left: 10px"> |
| | | {{ |
| | | from.accectType !== "US" |
| | | ? (formValue / exchangeRate).toFixed(2) |
| | | : (formValue * exchangeRate).toFixed(2) |
| | | }} |
| | | {{ (formValue * rate).toFixed(2) }} |
| | | </div> |
| | | <div class="van-field__button" style=""> |
| | | <span style="color: rgb(79, 82, 87)">{{ |
| | |
| | | show: false, |
| | | toShow: false, |
| | | // 后端返回的数据列表比较多。在这里前端配置需要展示的 |
| | | filterActions: ["US", "MAS"], |
| | | filterActions: ["US", "MAS", "HK"], |
| | | // 选择的列表 |
| | | actions: [], |
| | | // 汇率 |
| | | rate: "", |
| | | }; |
| | | }, |
| | | methods: { |
| | |
| | | this.from = { ...this.to }; |
| | | this.to = { ...obj }; |
| | | this.formValue = ""; |
| | | this.geCurrencyRate(); |
| | | }, |
| | | fromSelect(e) { |
| | | if (e.accectType === this.to.accectType) { |
| | |
| | | } |
| | | this.from = e; |
| | | this.formValue = ""; |
| | | this.geCurrencyRate(); |
| | | }, |
| | | toSelect(e) { |
| | | if (e.accectType === this.from.accectType) { |
| | |
| | | |
| | | this.to = e; |
| | | this.formValue = ""; |
| | | this.geCurrencyRate(); |
| | | }, |
| | | // 获取账号余额 |
| | | async getMoneyData() { |
| | | let res = await api.getMoney(); |
| | | if (res.status === 0) { |
| | |
| | | this.actions = array; |
| | | } |
| | | }, |
| | | // 获取汇率 |
| | | async geCurrencyRate() { |
| | | if (this.from.accectType && this.to.accectType) { |
| | | let res = await api.currencyRate({ |
| | | fromType: this.from.accectType, |
| | | toType: this.to.accectType, |
| | | }); |
| | | if (res.status === 0) { |
| | | this.rate = res.data; |
| | | } |
| | | } |
| | | }, |
| | | onClickLeft() { |
| | | this.$router.push("/user"); |
| | | }, |
| | |
| | | <div> |
| | | <div class="dz-title" v-if="rechargeAccountData.key !== undefined"> |
| | | <div>{{ $t("可用餘額") }}</div> |
| | | <div class="balance-text" v-if="rechargeAccountData.key=='US'"> |
| | | {{ availableBalanceUSD }} USD |
| | | <!-- {{ symbolCode }} --> |
| | | </div> |
| | | <div class="balance-text" v-else> |
| | | {{ availableBalanceUSD }} MYR |
| | | <div class="balance-text"> |
| | | {{ availableBalanceUSD }} {{ symbolCode }} |
| | | <!-- {{ symbolCode }} --> |
| | | </div> |
| | | </div> |
| | |
| | | name: this.$t("MAS"), |
| | | key: "MAS", |
| | | }, |
| | | { |
| | | name: this.$t("HK"), |
| | | key: "HK", |
| | | }, |
| | | ], |
| | | bankCard: {}, |
| | | availableBalanceUSD: "0.0000", |