ne1
zzzz
2024-04-07 4d1142f68ab46428939b6d16913b98cad406f082
ne1
11 files modified
455 ■■■■ changed files
src/axios/api.url.js 4 ●●●● patch | view | raw | blame | history
src/locales/en.js 4 ●●● patch | view | raw | blame | history
src/locales/hanyu.js 4 ●●● patch | view | raw | blame | history
src/locales/india.js 4 ●●● patch | view | raw | blame | history
src/locales/riyu.js 4 ●●● patch | view | raw | blame | history
src/locales/taiyu.js 4 ●●● patch | view | raw | blame | history
src/locales/tw.js 4 ●●● patch | view | raw | blame | history
src/locales/zh.js 4 ●●● patch | view | raw | blame | history
src/page/home/home.vue 296 ●●●● patch | view | raw | blame | history
src/page/user/Warehouse/data.list.vue 116 ●●●● patch | view | raw | blame | history
src/page/user/ransferIndex.vue 11 ●●●● patch | view | raw | blame | history
src/axios/api.url.js
@@ -7,9 +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.106:8091/",
  // baseURL: "http://192.168.0.104:8091/",
  // baseURL: 'http://121.43.237.202:8091/',
  // baseURL: 'http://192.168.0.103:8091/',
src/locales/en.js
@@ -969,5 +969,7 @@
  劃轉记录: "Transfer Record",
  馬股账户: "Horse stock account",
  美股账户: "US stock account",
  到: "to"
  到: "to",
  "美国新闻": "US News",
  "马来西亚新闻": "Malaysia News"
};
src/locales/hanyu.js
@@ -530,5 +530,7 @@
  密码修改成功: "암호 수정 성공",
  劃轉记录: "레코드 스왑",
  馬股账户: "마주 계좌",
  美股账户: "미국 주식 계좌"
  美股账户: "미국 주식 계좌",
  "美国新闻": "미국 뉴스",
  "马来西亚新闻": "말레이시아 뉴스"
};
src/locales/india.js
@@ -959,5 +959,7 @@
  密码修改成功: "पासवर्ड सफलतापूर्वक बदला गया",
  劃轉记录: "स्थानांतरण रिकॉर्ड",
  馬股账户: "मलेशियाई स्टॉक खाता",
  美股账户: "यूएस स्टॉक खाता"
  美股账户: "यूएस स्टॉक खाता",
  美国新闻: "अमेरिका समाचार",
  马来西亚新闻: "मलेशिया समाचार"
};
src/locales/riyu.js
@@ -530,5 +530,7 @@
  密码修改成功: "パスワードの変更に成功しました",
  劃轉记录: "かいてんきろく",
  馬股账户: "馬株口座",
  美股账户: "米株口座"
  美股账户: "米株口座",
  "美国新闻": "ニュース",
  "马来西亚新闻": "マレーシアニュース"
};
src/locales/taiyu.js
@@ -529,5 +529,7 @@
  密码修改成功: "แก้ไขรหัสผ่านสำเร็จ",
  劃轉记录: "บันทึกการเดินทาง",
  馬股账户: "บัญชีหุ้นม้า",
  美股账户: "บัญชี MeiShar"
  美股账户: "บัญชี MeiShar",
  美国新闻: "ข่าวสหรัฐอเมริกา",
  马来西亚新闻: "ข่าวมาเลเซีย"
};
src/locales/tw.js
@@ -1196,5 +1196,7 @@
  "密码修改成功": "密碼修改成功",
  "劃轉记录": "劃轉記錄",
  "馬股账户": "馬股帳戶",
  "美股账户": "美股帳戶"
  "美股账户": "美股帳戶",
  "美国新闻": "美國新聞",
  "马来西亚新闻": "馬來西亞新聞"
};
src/locales/zh.js
@@ -529,5 +529,7 @@
  密码修改成功: "密码修改成功",
  劃轉记录: "劃轉记录",
  馬股账户: "馬股账户",
  美股账户: "美股账户"
  美股账户: "美股账户",
  美国新闻: "美国新闻",
  马来西亚新闻: "马来西亚新闻"
};
src/page/home/home.vue
@@ -2,9 +2,7 @@
  <div class="wrapper">
    <div class="page_content">
      <div class="center_tabs">
        <!-- 顶部轮播图 -->
        <div class="banner_top">
          <!-- <van-skeleton title :row="3" :loading="loading" /> -->
          <van-swipe class="my-swipe" :autoplay="5000" indicator-color="white">
            <van-swipe-item
              v-for="(item, index) in bannerImgsArr"
@@ -33,7 +31,6 @@
        <div class="fg"></div>
        <div class="box-1">
          <ul class="menu" style="border-bottom: 0px">
            <!----><!---->
            <li @click="$router.push('/recharge')">
              <div class="link">
                <div class="icon">
@@ -128,6 +125,7 @@
              </div>
            </li>
          </ul>
          <!-- 多语言弹框 -->
          <van-popup
            v-model="settingDialog"
            position="bottom"
@@ -171,7 +169,6 @@
              </div>
              <div class="i-title">{{ $t("打新日曆") }}</div>
            </div>
            <!-- favoritesList -->
            <div
              class="item"
              style="margin-left: 10px"
@@ -195,69 +192,19 @@
            </div>
          </div>
        </div>
        <!-- <div class="txt_box">
          <div class="txt_box_top">{{ $t("hometips") }}</div>
          <div class="txt_box_box">
            <div class="txt_box_box_left" v-if="userInfo.length == 0">
              $0.00
            </div>
            <div class="txt_box_box_left" v-else>
              ${{ userInfo.totalAssets }}
            </div>
            <div class="txt_box_box_right" @click="gocz">{{ $t("btn1") }}</div>
          </div>
        </div> -->
      </div>
      <!-- <div class="navs">
        <div class="navs_content">
          <div
            v-for="(item, index) in navsArr"
            :key="index"
            @click="goJy(index)"
          >
            <div
              style="
                display: flex;
                justify-content: center;
                align-items: center;
                flex-direction: column;
              "
            >
              <div class="top_img">
                <div>
                  <img :src="item.img" alt />
                </div>
              </div>
              <div class="bottom_navs">
                <span>{{ item.title }}</span>
              </div>
            </div>
          </div>
        </div>
      </div> -->
      <!-- <van-skeleton title :row="18" :loading="loading" /> -->
      <!--     <div class='btns_box'>
        <div class="btns_box_left">
            <img src="../../assets/img/out.png" style="width: 20px;height: 20px;"/>
            <div class="btns_box_left_txt"></div>
        </div>
        <div class="btns_box_right"></div>
    </div> -->
      <!-- <van-skeleton title :row="18" :loading="loading" /> -->
      <div class="title-box">
        <div class="title">{{ $t("資訊") }}</div>
      </div>
      <div class="news-tab">
        <mt-navbar v-model="news">
          <mt-tab-item id="tab_0">
            <span class="tab-name">{{ $t("hj6") }}</span>
          </mt-tab-item>
          <mt-tab-item id="tab_1">
            <span class="tab-name">{{ $t("hj7") }}</span>
          </mt-tab-item>
          <mt-tab-item id="tab_2">
            <span class="tab-name">7×24</span>
          <mt-tab-item
            v-for="(item, index) in newListHeader"
            :id="item.id"
            :key="index"
          >
            <span class="tab-name">{{ $t(item.title) }}</span>
          </mt-tab-item>
        </mt-navbar>
        <mt-tab-container
@@ -265,11 +212,15 @@
          :swipeable="true"
          style="padding-top: 0.5rem"
        >
          <mt-tab-container-item id="tab_0">
          <mt-tab-container-item
            v-for="(items, index) in newListHeader"
            :id="items.id"
            :key="index"
          >
            <div class="news-content">
              <div
                class=""
                v-for="(item, inde) in newsContent1"
                v-for="(item, inde) in items.data"
                :key="inde"
                @click="
                  $router.push({
@@ -280,7 +231,9 @@
                  })
                "
              >
                <div class="item-times">{{ item.addTime | gettime }}</div>
                <div class="item-times">
                  {{ $moment(item.addTime).format("YYYY-MM-DD HH:mm:ss") }}
                </div>
                <div
                  class="titContent"
                  style="
@@ -291,54 +244,7 @@
                >
                  {{ item.title }}
                </div>
                <!-- <div class="block-out">
                  <div class="blocks">{{ item.sourceName }}</div>
                </div> -->
                <div class="neitu"><img :src="item.imgurl" /></div>
              </div>
            </div>
          </mt-tab-container-item>
          <mt-tab-container-item id="tab_1">
            <div class="news-content">
              <div
                class="item-out"
                v-for="(item, inde) in newsContent4"
                :key="inde"
                @click="
                  $router.push({
                    path: '/newPage',
                    query: {
                      listid: item.id,
                    },
                  })
                "
              >
                <div class="item-times">{{ item.addTime | gettime }}</div>
                <div class="titContent" style="-webkit-box-orient: vertical">
                  {{ item.title }}
                </div>
              </div>
            </div>
          </mt-tab-container-item>
          <mt-tab-container-item id="tab_2">
            <div class="news-content">
              <div
                class="item-out"
                v-for="(item, inde) in newsContent2"
                :key="inde"
                @click="
                  $router.push({
                    path: '/newPage',
                    query: {
                      listid: item.id,
                    },
                  })
                "
              >
                <div class="item-times">{{ item.addTime | gettime }}</div>
                <div class="titContent" style="-webkit-box-orient: vertical">
                  {{ item.title }}
                </div>
              </div>
            </div>
          </mt-tab-container-item>
@@ -355,27 +261,11 @@
import HomeList from "./components/home-list";
import Echart from "./components/echart.vue";
import * as api from "@/axios/api";
import Logo from "@/assets/img/img_log_home.png";
import Searchs from "@/assets/ico/leng.png";
import Service from "@/assets/home/icon_talk.png";
import clear from "@/assets/home/close.png";
import Announcement from "@/assets/img/black_laba.png";
import Tops from "@/assets/home/1.png";
import Rumen from "@/assets/home/2.png";
import Xuexi from "@/assets/home/3.png";
import Guanyu from "@/assets/home/4.png";
import dazong from "@/assets/home/5.png";
import vip from "../../assets/img/app.png";
import vipa from "../../assets/img/huazhuan2.png";
import Huo from "@/assets/home/huo.png";
// import language from "@/assets/img/language.png";
import banner2 from "@/assets/img/b2.jpg";
import banner3 from "@/assets/img/b3.jpg";
import caidana from "@/assets/img/caidana.png";
import bangzhu from "@/assets/img/bangzhu.png";
import kefua from "@/assets/img/kefua.png";
import xiazai from "@/assets/img/xiazai.png";
// import indexData from "./data.json";
import GoToLogin from "@/page/home/components/GoLogin.vue";
import { MessageBox } from "mint-ui";
export default {
@@ -388,7 +278,24 @@
  props: {},
  data() {
    return {
      news: "tab_0",
      // 新闻导航
      newListHeader: [
        {
          title: "美国新闻",
          id: "tab_0",
          data: [],
          type: 1,
        },
        {
          title: "马来西亚新闻",
          id: "tab_1",
          data: [],
          type: 2,
        },
      ],
      settingDialog: false,
      // 多语言配置
      actions: [
        {
          text: "English",
@@ -408,18 +315,9 @@
          icon: require("@/assets/ico/india.png"),
          lang: "ry",
        },
      ],
      // language,
      Logo,
      Searchs,
      Service,
      clear,
      // 公告 icon 地址
      Announcement,
      indexData: [],
      Huo,
      is_login: false,
      loading: true,
      close: true,
      proData: [], // 分割好的数据
      currentIndex: 0,
@@ -434,28 +332,17 @@
          img: "https://api.trowegroup.com/bs/image/20240305/06eb4602ba7b3e570ccd70c0415884ec.png",
        },
      ],
      announcementMess: "20202/10 - 交易时间安排",
      // 公告列表
      artList: [],
      news: "tab_0",
      newsContent1: [],
      newsContent2: [],
      newsContent3: [],
      newsContent4: [],
      onlineService: "",
      isGoTo: false,
      bannerList: [],
      userInfo: [],
      showPopover: false,
    };
  },
  computed: {
    navsArr() {
      return [
        // {
        //     img: Tops,
        //     title: this.$t('yeb')
        //   },
        {
          img: xiazai,
          title: this.$t("hj1461"),
@@ -472,26 +359,6 @@
          img: caidana,
          title: this.$t("caidan"),
        },
        // {
        //   img: Rumen,
        //   title: this.$t('hj2')
        // },
        // {
        //   img: Xuexi,
        //   title: this.$t('hj3')
        // },
        // {
        //   img: Guanyu,
        //   title: this.$t('hj4')
        // },
        // {
        //   img: dazong,
        //   title: this.$t('hj261')
        // },
        // {
        //   img: vipa,
        //   title: this.$t('hj172')
        // }
      ];
    },
  },
@@ -630,11 +497,8 @@
      // 获取显示的banner
      let result = await api.getBannerByPlat({ platType: "m" });
      if (result.status === 0) {
        // this.bannerList = result.data
        var ajson = { bannerUrl: this.banner1 };
        this.bannerList.push(ajson);
        console.log(this.banner1);
        // console.log(this.bannerList);
      } else {
        this.$store.commit("elAlertShow", {
          elAlertShow: true,
@@ -645,6 +509,7 @@
    goOnline() {
      this.$router.push("/service");
    },
    // 获取公告
    async getArtList() {
      let data = await api.getArtList();
      if (data.status === 0) {
@@ -662,93 +527,28 @@
        });
      }
    },
    async getStock() {
      let data = await api.getIndexMarket();
      for (var i = 0; i < data.data.result.data.length; i += 3) {
        this.proData.push(data.data.result.data.slice(i, i + 3));
      }
    },
    // 获取新闻列表
    async getNewsList(type) {
      let data = await api.queryNewsList(type);
      this.newListHeader.map((item) => {
        if (item.type === type) {
          item.data = data.data.list;
        }
      });
      this[`newsContent${type}`] = data.data.list;
    },
      switch (type) {
        case 1:
          this.newsContent1 = data.data.list;
          break;
        case 2:
          this.newsContent2 = data.data.list;
          break;
        case 3:
          this.newsContent3 = data.data.list;
          break;
        case 4:
          this.newsContent4 = data.data.list;
          break;
        case 5:
          this.newsContent5 = data.data.list;
          break;
      }
    },
    handleBannerClick(ind) {
      // console.log(ind);
    },
    ProcessData() {
      // 把数据分割成三等份
      // for (var i = 0; i < this.indexData.data.diff.length; i += 3) {
      //   this.proData.push(this.indexData.data.diff.slice(i, i + 3));
      // }
    },
    onChange(index) {
      this.currentIndex = index;
      this.proData[index].forEach((item) => {});
    },
    handleSearchClick() {
      // this.loading = !this.loading;
      this.$router.push({ path: "/trading-list", query: { type: 1 } });
    },
  },
  filters: {
    gettime(time) {
      if (!time) {
        return "";
      }
      var nd = new Date(time);
      var y = nd.getFullYear();
      var mm = nd.getMonth() + 1;
      var d = nd.getDate();
      var h = nd.getHours();
      var m = nd.getMinutes();
      var c = nd.getSeconds();
      if (mm < 10) {
        mm = "0" + mm;
      }
      if (d < 10) {
        d = "0" + d;
      }
      if (h < 10) {
        h = "0" + h;
      }
      if (m < 10) {
        m = "0" + m;
      }
      if (c < 10) {
        c = "0" + c;
      }
      // 17:35:2922-06-2022
      return y + "-" + mm + "-" + d + " " + h + ":" + m + ":" + c;
    },
  },
  created() {
    // this.getdialog()
    this.ProcessData();
  },
  mounted() {
    this.getUserInfo();
    this.getInfoSite();
    this.getNewsList(1);
    this.getNewsList(2);
    this.getNewsList(4);
    this.getStock();
    this.getArtList();
    this.getBanner();
@@ -759,10 +559,6 @@
        this.isGoTo = !this.isGoTo;
      }
    }, 10000);
    setTimeout(() => {
      this.loading = false;
    }, 2000);
  },
};
</script>
src/page/user/Warehouse/data.list.vue
@@ -35,7 +35,7 @@
          <van-col span="8">
            <div style="text-align: left">
              <div class="sport-content-title2">
                {{ $t("盈虧") }} ({{ item.stockGid }})
                {{ $t("盈虧") }} ({{ activeObj.symbolCode }})
              </div>
              <div class="sport-content-text" style="color: #d04b64">
                {{ item.profitAndLose }}
@@ -45,7 +45,7 @@
          <van-col span="8">
            <div style="text-align: center">
              <div class="sport-content-title2">
                {{ $t("hj141") }} ({{ item.stockGid }})
                {{ $t("hj141") }} ({{ activeObj.symbolCode }})
              </div>
              <div class="sport-content-text2">
                {{ item.profitAndLoseParent }}
@@ -63,7 +63,7 @@
          <van-col span="8">
            <div style="text-align: left">
              <div class="sport-content-title2">
                {{ $t("hj40") }}({{ item.stockGid }})
                {{ $t("hj40") }}({{ activeObj.symbolCode }})
              </div>
              <div class="sport-content-text2">{{ item.now_price }}</div>
            </div>
@@ -71,7 +71,7 @@
          <van-col span="8">
            <div style="text-align: center">
              <div class="sport-content-title2">
                {{ $t("持倉價") }} ({{ item.stockGid }})
                {{ $t("持倉價") }} ({{ activeObj.symbolCode }})
              </div>
              <div class="sport-content-text2">{{ item.buyOrderPrice }}</div>
            </div>
@@ -79,7 +79,7 @@
          <van-col span="8">
            <div style="text-align: right">
              <div class="sport-content-title2">
                {{ $t("訂單金額") }} ({{ item.stockGid }})
                {{ $t("訂單金額") }} ({{ activeObj.symbolCode }})
              </div>
              <div class="sport-content-text2">{{ item.orderTotalPrice }}</div>
            </div>
@@ -89,7 +89,7 @@
          <van-col span="8">
            <div style="text-align: left">
              <div class="sport-content-title2">
                {{ $t("開倉手續費") }} ({{ item.stockGid }})
                {{ $t("開倉手續費") }} ({{ activeObj.symbolCode }})
              </div>
              <div class="sport-content-text2">{{ item.orderFee }}</div>
            </div>
@@ -97,7 +97,7 @@
          <van-col span="8">
            <div style="text-align: center">
              <div class="sport-content-title2">
                {{ $t("止損價") }} ({{ item.stockGid }})
                {{ $t("止損價") }} ({{ activeObj.symbolCode }})
              </div>
              <div class="sport-content-text2">
                -{{ item.profitTargetPrice || "--" }}
@@ -107,7 +107,7 @@
          <van-col span="8">
            <div style="text-align: right">
              <div class="sport-content-title2">
                {{ $t("止盈價") }} ({{ item.stockGid }})
                {{ $t("止盈價") }} ({{ activeObj.symbolCode }})
              </div>
              <div class="sport-content-text2">
                -{{ item.stopTargetPrice || "--" }}
@@ -169,18 +169,18 @@
</template>
<script>
import Dialog from '@/components/Dialog'
import { getchicang, sell } from '../../../axios/api'
import { Notify } from 'vant'
import Dialog from "@/components/Dialog";
import { getchicang, sell } from "../../../axios/api";
import { Notify } from "vant";
export default {
  components: { Dialog },
  props: {
    activeObj: {
      type: Object,
      default: {}
    }
      default: {},
    },
  },
  data () {
  data() {
    return {
      pageNum: 1,
      pageSize: 150,
@@ -192,76 +192,76 @@
      dataList: [],
      tabsList: [
        {
          title: this.$t('持倉'),
          key: 0
          title: this.$t("持倉"),
          key: 0,
        },
        {
          title: this.$t('平倉'),
          key: 1
        }
      ]
    }
          title: this.$t("平倉"),
          key: 1,
        },
      ],
    };
  },
  methods: {
    onLoad () {
      this.pageNum++
      this.loading = true
    onLoad() {
      this.pageNum++;
      this.loading = true;
    },
    async confirm () {
    async confirm() {
      const res = await sell({
        positionSn: this.closeSell.positionSn
      })
        positionSn: this.closeSell.positionSn,
      });
      if (res.status === 0) {
        this.$refs.closeDialog.show = false
        this.dataList = []
        this.pageNum = 1
        this.finished = false
        this.getList()
        this.$emit('closingPosition')
        this.$refs.closeDialog.show = false;
        this.dataList = [];
        this.pageNum = 1;
        this.finished = false;
        this.getList();
        this.$emit("closingPosition");
      } else {
        Notify({ type: 'danger', message: res.msg })
        Notify({ type: "danger", message: res.msg });
      }
    },
    // 获取仓位列表
    async getList (laber) {
    async getList(laber) {
      if (laber) {
        this.dataList = []
        this.pageNum = 1
        this.finished = false
        this.dataList = [];
        this.pageNum = 1;
        this.finished = false;
      }
      const res = await getchicang({
        state: this.actives,
        stockType: laber || this.activeObj.laber,
        pageNum: this.pageNum,
        pageSize: this.pageSize
      })
        pageSize: this.pageSize,
      });
      this.loading = false
      this.loading = false;
      if (res.status === 0) {
        this.dataList = res.data.list
        this.dataList = res.data.list;
        if (res.data.total <= this.dataList.length) {
          this.finished = true
          this.finished = true;
        }
      } else {
        this.loading = false
        this.finished = true
        this.loading = false;
        this.finished = true;
      }
    },
    close (item) {
      this.closeSell = item
      this.$refs.closeDialog.show = true
    close(item) {
      this.closeSell = item;
      this.$refs.closeDialog.show = true;
    },
    clickTabs (e) {
      this.dataList = []
      this.pageNum = 1
      this.finished = false
      this.actives = e.key
      this.getList()
    }
  }
}
    clickTabs(e) {
      this.dataList = [];
      this.pageNum = 1;
      this.finished = false;
      this.actives = e.key;
      this.getList();
    },
  },
};
</script>
<style lang="less" scoped>
src/page/user/ransferIndex.vue
@@ -172,13 +172,18 @@
  components: {},
  data() {
    return {
      // 马股和美元的汇率
      exchangeRate: 4.59,
      // 划转的金额
      formValue: "",
      from: {},
      to: {},
      show: false,
      actions: [],
      toShow: false,
      // 后端返回的数据列表比较多。在这里前端配置需要展示的
      filterActions: ["US", "MAS"],
      // 选择的列表
      actions: [],
    };
  },
  methods: {
@@ -224,7 +229,9 @@
    async getMoneyData() {
      let res = await api.getMoney();
      if (res.status === 0) {
        let array = res.data.filter((item) => item.accectType !== "ALL");
        let array = res.data.filter(
          (item) => this.filterActions.indexOf(item.accectType) !== -1
        );
        array.map((item) => {
          item.name = this.$t(item.accectType);
        });