zzzz
2024-04-10 66d132b96fd30abf1d75bed49ff176a52b4101ee
huilv
29 files modified
730 ■■■■■ changed files
src/axios/api.js 4 ●●●● patch | view | raw | blame | history
src/axios/api.url.js 7 ●●●● patch | view | raw | blame | history
src/locales/en.js 11 ●●●● patch | view | raw | blame | history
src/locales/hanyu.js 11 ●●●● patch | view | raw | blame | history
src/locales/india.js 12 ●●●●● patch | view | raw | blame | history
src/locales/riyu.js 11 ●●●● patch | view | raw | blame | history
src/locales/taiyu.js 9 ●●●● patch | view | raw | blame | history
src/locales/tw.js 19 ●●●●● patch | view | raw | blame | history
src/locales/zh.js 10 ●●●●● patch | view | raw | blame | history
src/page/authentication/index.vue 7 ●●●●● patch | view | raw | blame | history
src/page/home/home.vue 16 ●●●●● patch | view | raw | blame | history
src/page/kline/components/kLine.vue 36 ●●●●● patch | view | raw | blame | history
src/page/kline/index.vue 19 ●●●● patch | view | raw | blame | history
src/page/list/favorites/data.list.vue 2 ●●● patch | view | raw | blame | history
src/page/list/favoriteslist/data.list.vue 2 ●●● patch | view | raw | blame | history
src/page/list/trading-list.vue 2 ●●● patch | view | raw | blame | history
src/page/list/tradingList/data.list.vue 24 ●●●●● patch | view | raw | blame | history
src/page/list/tradingList/tabs.vue 14 ●●●● patch | view | raw | blame | history
src/page/login/login.vue 1 ●●●● patch | view | raw | blame | history
src/page/newUser/index.vue 19 ●●●● patch | view | raw | blame | history
src/page/newUser/setting.vue 59 ●●●● patch | view | raw | blame | history
src/page/trading/buy.vue 10 ●●●● patch | view | raw | blame | history
src/page/user/Warehouse.vue 20 ●●●● patch | view | raw | blame | history
src/page/user/Warehouse/data.list.vue 29 ●●●●● patch | view | raw | blame | history
src/page/user/Warehouse/item.card.vue 7 ●●●● patch | view | raw | blame | history
src/page/user/compontents/transferindex-list.vue 10 ●●●● patch | view | raw | blame | history
src/page/user/favorites.vue 321 ●●●●● patch | view | raw | blame | history
src/page/user/ransferIndex.vue 26 ●●●● patch | view | raw | blame | history
src/page/user/recharge-sure.vue 12 ●●●● patch | view | raw | blame | history
src/axios/api.js
@@ -285,6 +285,10 @@
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);
src/axios/api.url.js
@@ -7,12 +7,9 @@
  // 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" // 图片上传
  }
src/locales/en.js
@@ -970,6 +970,13 @@
  馬股账户: "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"
};
src/locales/hanyu.js
@@ -531,6 +531,13 @@
  劃轉记录: "레코드 스왑",
  馬股账户: "마주 계좌",
  美股账户: "미국 주식 계좌",
  "美国新闻": "미국 뉴스",
  "马来西亚新闻": "말레이시아 뉴스"
  美国新闻: "미국 뉴스",
  马来西亚新闻: "말레이시아 뉴스",
  Search: "검색",
  港股: "홍콩 주식",
  港股总资产: "홍콩 주식 총자산",
  HK: "홍콩 주식 계좌",
  港股资产: "홍콩 주식 자산",
  港股可用: "홍콩 주식 사용 가능",
  港股冻结: "홍콩 주식 동결"
};
src/locales/india.js
@@ -961,5 +961,15 @@
  馬股账户: "मलेशियाई स्टॉक खाता",
  美股账户: "यूएस स्टॉक खाता",
  美国新闻: "अमेरिका समाचार",
  马来西亚新闻: "मलेशिया समाचार"
  马来西亚新闻: "मलेशिया समाचार",
  Search: "खोजें",
  港股: "हांगकांग स्टॉक",
  港股总资产: "हांगकांग शेयरों की कुल संपत्ति",
  HK: "हांगकांग स्टॉक खाता",
  港股资产: "สินทรัพย์ในหุ้นฮ่องกง",
  港股可用: "มีหุ้นฮ่องกง",
  港股冻结: "การแช่แข็งหุ้นฮ่องกง",
  港股资产: "हांगकांग स्टॉक एसेट्स",
  港股可用: "हांगकांग के स्टॉक उपलब्ध हैं",
  港股冻结: "हांगकांग के स्टॉक जमे हुए"
};
src/locales/riyu.js
@@ -531,6 +531,13 @@
  劃轉记录: "かいてんきろく",
  馬股账户: "馬株口座",
  美股账户: "米株口座",
  "美国新闻": "ニュース",
  "马来西亚新闻": "マレーシアニュース"
  美国新闻: "ニュース",
  马来西亚新闻: "マレーシアニュース",
  Search: "検索けんさく",
  港股: "香港株",
  港股总资产: "香港株式総資産",
  HK: "香港株口座",
  港股资产: "香港株資産",
  港股可用: "香港株が利用可能",
  港股冻结: "香港株凍結"
};
src/locales/taiyu.js
@@ -531,5 +531,12 @@
  馬股账户: "บัญชีหุ้นม้า",
  美股账户: "บัญชี MeiShar",
  美国新闻: "ข่าวสหรัฐอเมริกา",
  马来西亚新闻: "ข่าวมาเลเซีย"
  马来西亚新闻: "ข่าวมาเลเซีย",
  Search: "ค้นหา",
  港股: "หุ้นฮ่องกง",
  港股总资产: "สินทรัพย์รวมของหุ้นฮ่องกง",
  HK: "บัญชีหุ้นฮ่องกง",
  港股资产: "สินทรัพย์ในหุ้นฮ่องกง",
  港股可用: "มีหุ้นฮ่องกง",
  港股冻结: "การแช่แข็งหุ้นฮ่องกง"
};
src/locales/tw.js
@@ -1193,10 +1193,17 @@
  "上傳憑證:": " 上傳憑證:",
  从: "從",
  到: "到",
  "密码修改成功": "密碼修改成功",
  "劃轉记录": "劃轉記錄",
  "馬股账户": "馬股帳戶",
  "美股账户": "美股帳戶",
  "美国新闻": "美國新聞",
  "马来西亚新闻": "馬來西亞新聞"
  密码修改成功: "密碼修改成功",
  劃轉记录: "劃轉記錄",
  馬股账户: "馬股帳戶",
  美股账户: "美股帳戶",
  美国新闻: "美國新聞",
  马来西亚新闻: "馬來西亞新聞",
  Search: "蒐索",
  港股: "港股",
  港股总资产: "港股總資產",
  HK: "港股帳戶",
  港股资产: "港股資產",
  港股可用: "港股可用",
  港股冻结: "港股凍結"
};
src/locales/zh.js
@@ -531,5 +531,13 @@
  馬股账户: "馬股账户",
  美股账户: "美股账户",
  美国新闻: "美国新闻",
  马来西亚新闻: "马来西亚新闻"
  马来西亚新闻: "马来西亚新闻",
  Search: "搜索",
  港股: "港股",
  港股总资产: "港股总资产",
  HK: "港股账户",
  港股资产: "港股资产",
  港股可用: "港股可用",
  港股冻结: "港股冻结"
};
src/page/authentication/index.vue
@@ -283,15 +283,16 @@
        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,
src/page/home/home.vue
@@ -54,7 +54,7 @@
                <div class="name">{{ $t("提款") }}</div>
              </div>
            </li>
            <li>
            <li @click="aRouter">
              <div class="link">
                <div class="icon">
                  <img
@@ -77,7 +77,7 @@
                <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
@@ -85,10 +85,11 @@
                    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
@@ -96,7 +97,7 @@
                    alt=""
                  />
                </div>
                <div class="name">{{ $t("平臺") }}</div>
                <div class="name">{{ $t("美股") }}</div>
              </div>
            </li>
            <li @click="$router.push('/transferIndex')">
@@ -275,9 +276,11 @@
    GoToLogin,
    Echart,
  },
  // onlineService
  props: {},
  data() {
    return {
      // 客服地址
      news: "tab_0",
      // 新闻导航
      newListHeader: [
@@ -363,6 +366,9 @@
    },
  },
  methods: {
    aRouter() {
      window.open(this.onlineService);
    },
    qkclick(e) {
      this.settingDialog = false;
      window.localStorage.setItem("language", e.lang);
src/page/kline/components/kLine.vue
@@ -29,31 +29,7 @@
                  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">
@@ -64,13 +40,6 @@
                :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
@@ -1144,7 +1113,7 @@
    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();
@@ -1411,6 +1380,7 @@
    }
    .rightContent {
      // height: calc(100% - @rightTabHeight);
      height: calc(100% - @rightTabHeight);
      width: 100%;
@@ -1531,6 +1501,6 @@
}
.hqchart {
  width: 100%;
  height: 7.5rem;
  height: 100vh;
}
</style>
src/page/kline/index.vue
@@ -9,10 +9,10 @@
            </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>
@@ -336,7 +336,7 @@
          </div>
        </div>
      </div>
      <div
      <!-- <div
        class="jianjie"
        v-if="
          !(kLineDetails.if_zhishu != '0' && singDetails.gid.indexOf('hk') > -1)
@@ -351,8 +351,8 @@
        <div class="jet">
          <span>{{ jianjie }}</span>
        </div>
      </div>
      <div
      </div> -->
      <!-- <div
        class="hknews"
        v-if="
          kLineDetails.if_zhishu != '0' && singDetails.gid.indexOf('hk') > -1
@@ -385,8 +385,8 @@
            </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>
@@ -413,7 +413,7 @@
            </mt-tab-container-item>
          </mt-tab-container>
        </div>
      </div>
      </div> -->
      <!-- <div class="border_bottom"></div> -->
    </div>
    <div class="btns">
@@ -677,6 +677,7 @@
          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,
        },
@@ -910,7 +911,7 @@
.k_line_detail {
  width: 100%;
  height: 8.3rem;
  height: calc(100vh - 300px);
  background: #fff;
  border-radius: 0 0 0.3rem 0.3rem;
}
src/page/list/favorites/data.list.vue
@@ -371,7 +371,7 @@
  font-weight: 500;
  font-size: 0.4rem;
  line-height: 0.56rem;
  width: 4.2rem;
  width: 4rem;
  text-align: left;
  color: #14181f;
}
src/page/list/favoriteslist/data.list.vue
@@ -365,7 +365,7 @@
  font-weight: 500;
  font-size: 0.4rem;
  line-height: 0.56rem;
  width: 4.2rem;
  width: 4rem;
  text-align: left;
  color: #14181f;
}
src/page/list/trading-list.vue
@@ -19,7 +19,7 @@
            />
          </div>
        </div>
        <div class="right_search" @click="sousuo">Search</div>
        <div class="right_search" @click="sousuo">{{ $t("Search") }}</div>
      </div>
    </div>
    <tabsList ref="tabsList" />
src/page/list/tradingList/data.list.vue
@@ -120,7 +120,6 @@
      this.listArr = [];
      this.pageNumVal = 1;
      this.loadings = true;
      this.getStock(e, this.zxactive, 1);
    },
    zxactive(e) {
      this.finished = false;
@@ -143,6 +142,7 @@
      finished: false,
      listArr: [],
      pageNumVal: 1,
      getInterval: null,
    };
  },
@@ -150,6 +150,9 @@
    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) {
@@ -188,21 +191,18 @@
    // 获取列表
    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,
@@ -221,9 +221,9 @@
      this.loadings = false;
      if (data.status === 0) {
        if (data.data.list.length < 15) {
        // if (data.data.list.length < 15) {
          this.finished = true;
        }
        // }
        if (pageNumVal !== 1) {
          this.listArr = [...this.listArr, ...data.data.list];
        } else {
@@ -234,12 +234,16 @@
      }
    }, 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>
src/page/list/tradingList/tabs.vue
@@ -44,21 +44,27 @@
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: "",
    };
  },
src/page/login/login.vue
@@ -10,7 +10,6 @@
          <el-input
            :placeholder="$t('hj9')"
            :size="medium"
            maxlength="11"
            v-model="userName"
            clearable
          >
src/page/newUser/index.vue
@@ -104,7 +104,7 @@
            :name="item.title"
          >
            <ul class="money">
              <li>
              <li style="text-align: left">
                <div class="li-title">
                  {{ item.title1 }}({{ item.symbolCode }})
                </div>
@@ -158,14 +158,6 @@
          symbol: "$",
          symbolCode: "USD",
        },
        // {
        //   title: this.$t("印股資產"),
        //   title1: this.$t("印股可用"),
        //   title2: this.$t("印股冻结"),
        //   accectType: "IN",
        //   symbol: "RM",
        //   symbolCode: "MYR",
        // },
        {
          title: this.$t("馬股資產"),
          title1: this.$t("馬股可用"),
@@ -173,6 +165,14 @@
          accectType: "MAS",
          symbol: "RM",
          symbolCode: "MYR",
        },
        {
          title: this.$t("港股资产"),
          title1: this.$t("港股可用"),
          title2: this.$t("港股冻结"),
          accectType: "HK",
          symbol: "HK$",
          symbolCode: "HKD",
        },
      ],
      active: this.$t("美股資產"),
@@ -215,7 +215,6 @@
        const arr = data.data.filter((item) => item.accectType === "ALL");
        this.asstesAll = arr[0].totalMoneyUSD;
        console.log(this.listAsstes);
      }
    },
    tabsChange(e) {
src/page/newUser/setting.vue
@@ -65,9 +65,21 @@
        <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>
@@ -113,20 +125,10 @@
<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 { Toast, MessageBox } from "mint-ui";
import { isNull, pwdReg } from "@/utils/utils";
import { mapMutations } from "vuex";
import { Notify } from "vant";
  export default {
    name: "newUser",
@@ -142,7 +144,8 @@
        userInfo: [],
        onlineService: "",
        language: "",
        actions: [{
      actions: [
        {
            text: "English",
            icon: require("@/assets/ico/english.png"),
            lang: "zh-CN",
@@ -150,12 +153,12 @@
          {
            text: "हिंदी",
            icon: require("@/assets/ico/india.png"),
            lang: "en"
          lang: "en",
          },
          {
            text: "한국인",
            icon: require("@/assets/ico/india.png"),
            lang: "hy"
          lang: "hy",
          },
          {
            text: "ภาษาไทย",
@@ -171,7 +174,7 @@
          {
            text: "繁体中文",
            icon: require("@/assets/ico/tw.png"),
            lang: "tw"
          lang: "tw",
          },
        ],
      };
@@ -179,13 +182,9 @@
    components: {},
    created() {
      this.getUserInfo();
      this.language = window.localStorage.getItem("language");
      console.log(window.localStorage.getItem("language"));
      if (this.language == "zh-CN") {
        this.language = "English";
      } else {
        this.language = "हिंदी";
      }
    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"]),
@@ -370,9 +369,9 @@
              this.settingDialog = false;
              Notify({
                type: "success",
                message: this.$t("密码修改成功")
              message: this.$t("密码修改成功"),
              });
              this.toRegister()
            this.toRegister();
            } else {
              Toast(data.msg);
              this.settingDialog = false;
src/page/trading/buy.vue
@@ -8,10 +8,10 @@
          </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>
@@ -252,6 +252,9 @@
    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;
    }
@@ -273,6 +276,7 @@
      type: 0,
      code: "",
      name: "",
      spell: "",
      settingInfo: [],
      selectCycle: 1,
      siteLeverList: [],
@@ -650,7 +654,7 @@
  filters: {
    getName(name) {
      if (name.length > 15) {
        return name.substring(0, 14);
        return name;
      } else {
        return name;
      }
src/page/user/Warehouse.vue
@@ -68,15 +68,6 @@
          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("馬股总资产"),
@@ -85,6 +76,15 @@
          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: [],
@@ -125,7 +125,7 @@
        });
        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重新渲染
      }
src/page/user/Warehouse/data.list.vue
@@ -22,6 +22,7 @@
        v-for="(item, index) in dataList"
        :key="index"
      >
        <div @click="pushRouter(item)">
        <div class="title-box">
          <div class="span">{{ item.stockName }}</div>
          <div
@@ -30,6 +31,8 @@
          >
            {{ $t(item.orderDirection) }}
          </div>
          </div>
          {{ item.stockCode }}
        </div>
        <van-row>
          <van-col span="8">
@@ -205,6 +208,28 @@
  },
  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;
@@ -241,9 +266,9 @@
      this.loading = false;
      if (res.status === 0) {
        this.dataList = res.data.list;
        if (res.data.total <= this.dataList.length) {
        // if (res.data.total <= this.dataList.length) {
          this.finished = true;
        }
        //   }
      } else {
        this.loading = false;
        this.finished = true;
src/page/user/Warehouse/item.card.vue
@@ -12,12 +12,7 @@
      </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>
src/page/user/compontents/transferindex-list.vue
@@ -18,10 +18,10 @@
        <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>
@@ -47,8 +47,8 @@
  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;
src/page/user/favorites.vue
@@ -1,8 +1,6 @@
<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">
@@ -10,68 +8,103 @@
                        <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" />
            <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 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 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 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 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 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;">
        <div style="width: 33%; text-align: center">
                    <!-- <span :class="tabsIndex0010 == 2 ? 'active' : ''" @click="handleTabsClick0010(1)">{{ $t('TOPC') }}</span> -->
                </div>
            </div>
        </div>
        <div class="list_title">
            <div class="item_title varieties">
                <span>{{ $t('hj39') }}</span>
        <span>{{ $t("hj39") }}</span>
            </div>
            <div class="item_title latest_price">
                <span>{{ $t('hj40') }}</span>
        <span>{{ $t("hj40") }}</span>
            </div>
            <div class="item_title applies">
                <span>{{ $t('hj41') }}</span>
        <span>{{ $t("hj41") }}</span>
            </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
      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"
              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>
@@ -79,15 +112,25 @@
                                </div>
                                <div class="item_box_zj">{{item.nowPrice}}</div>
                
                                <div :class="item.color=='1'?'item_box_right':'item_box_righta'">{{item.hcrate}}%</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"
              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>
@@ -95,15 +138,25 @@
                                </div>
                                <div class="item_box_zj">{{item.nowPrice}}</div>
                                <div :class="item.color=='1'?'item_box_right':'item_box_righta'">{{item.hcrate}}%</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"
              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>
@@ -111,99 +164,180 @@
                                </div>
                                <div class="item_box_zj">{{item.nowPrice}}</div>
                
                                <div :class="item.color=='1'?'item_box_right':'item_box_righta'">{{item.hcrate}}%</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
      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"
              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
                  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
                  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
                  :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="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
                        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
                      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
                      {{
                        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
                      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
                      {{
                        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 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 + '%'
                      }}
                  <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'">
@@ -212,30 +346,26 @@
                          Number(item.lastClose) * 100).toFixed(2) + '%'
                    }}
                  </span> -->
                                        <div v-if="tabsItemIndex == 5"
                                            :class="item.type == 1 ? 'xgsgType' : 'xgsgTypeRed'">
                    <div
                      v-if="tabsItemIndex == 5"
                      :class="item.type == 1 ? 'xgsgType' : 'xgsgTypeRed'"
                    >
                                            <!-- {{item.orderNumber}} -->
                                            {{ item.type == 1 ? $t('hj45') : $t('hj46') }}
                      {{ 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="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>
            <!-- <table border="1" class="list_item" width="100%">
            <tr class="thh">
@@ -263,16 +393,11 @@
          </table> -->
            <!-- <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>
</template>
src/page/user/ransferIndex.vue
@@ -117,11 +117,7 @@
              <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)">{{
@@ -181,9 +177,11 @@
      show: false,
      toShow: false,
      // 后端返回的数据列表比较多。在这里前端配置需要展示的
      filterActions: ["US", "MAS"],
      filterActions: ["US", "MAS", "HK"],
      // 选择的列表
      actions: [],
      // 汇率
      rate: "",
    };
  },
  methods: {
@@ -210,6 +208,7 @@
      this.from = { ...this.to };
      this.to = { ...obj };
      this.formValue = "";
      this.geCurrencyRate();
    },
    fromSelect(e) {
      if (e.accectType === this.to.accectType) {
@@ -217,6 +216,7 @@
      }
      this.from = e;
      this.formValue = "";
      this.geCurrencyRate();
    },
    toSelect(e) {
      if (e.accectType === this.from.accectType) {
@@ -225,7 +225,9 @@
      this.to = e;
      this.formValue = "";
      this.geCurrencyRate();
    },
    // 获取账号余额
    async getMoneyData() {
      let res = await api.getMoney();
      if (res.status === 0) {
@@ -238,6 +240,18 @@
        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");
    },
src/page/user/recharge-sure.vue
@@ -57,12 +57,8 @@
      <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>
@@ -110,6 +106,10 @@
          name: this.$t("MAS"),
          key: "MAS",
        },
        {
          name: this.$t("HK"),
          key: "HK",
        },
      ],
      bankCard: {},
      availableBalanceUSD: "0.0000",