zzzz
2024-04-21 bc2a7316ce753a6731d9d93faf553f450a9ccda3
first
28 files modified
1 files added
1758 ■■■■■ changed files
src/axios/api.url.js 4 ●●●● patch | view | raw | blame | history
src/components/Language/index.vue 4 ●●●● patch | view | raw | blame | history
src/locales/cht.json 16 ●●●●● patch | view | raw | blame | history
src/locales/en.json 16 ●●●●● patch | view | raw | blame | history
src/locales/hi.json 16 ●●●●● patch | view | raw | blame | history
src/locales/index.js 4 ●●●● patch | view | raw | blame | history
src/locales/jp.json 16 ●●●●● patch | view | raw | blame | history
src/locales/kor.json 16 ●●●●● patch | view | raw | blame | history
src/locales/th.json 16 ●●●●● patch | view | raw | blame | history
src/locales/zh.json 18 ●●●● patch | view | raw | blame | history
src/page/home/home.vue 2 ●●● patch | view | raw | blame | history
src/page/kline/index copy.vue 581 ●●●●● patch | view | raw | blame | history
src/page/kline/index.vue 5 ●●●●● patch | view | raw | blame | history
src/page/list/favorites/data.list.vue 31 ●●●● patch | view | raw | blame | history
src/page/list/favorites/tabs.vue 8 ●●●● patch | view | raw | blame | history
src/page/list/favoriteslist/data.list.vue 109 ●●●● patch | view | raw | blame | history
src/page/list/favoriteslist/tabs.vue 8 ●●●● patch | view | raw | blame | history
src/page/list/tradingList/data.list.vue 16 ●●●●● patch | view | raw | blame | history
src/page/list/tradingList/dazy.vue 216 ●●●●● patch | view | raw | blame | history
src/page/list/tradingList/tabs.vue 3 ●●●● patch | view | raw | blame | history
src/page/login/register.vue 14 ●●●● patch | view | raw | blame | history
src/page/trading/buy.vue 13 ●●●● patch | view | raw | blame | history
src/page/user/Warehouse.vue 4 ●●●● patch | view | raw | blame | history
src/page/user/Warehouse/Stockdetail.vue 4 ●●●● patch | view | raw | blame | history
src/page/user/Warehouse/data.list.vue 5 ●●●● patch | view | raw | blame | history
src/page/user/Warehouse/item.card.vue 2 ●●● patch | view | raw | blame | history
src/page/user/yebs.vue 216 ●●●● patch | view | raw | blame | history
src/page/user/yebs2.vue 234 ●●●●● patch | view | raw | blame | history
src/utils/utils.js 161 ●●●● 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.marwadi.online/",
  // baseURL: "https://api.marwadi.online/",
  // 本地
  // baseURL: "http://192.168.0.109:8091/",
  baseURL: "http://192.168.0.106:8091/",
  util: {
    image: "/util/image.html" // 图片上传
  }
src/components/Language/index.vue
@@ -63,11 +63,11 @@
  mounted() {
    this.$emit(
      "onChange",
      this.getText(window.localStorage.getItem("language") || "zh-CN")
      this.getText(window.localStorage.getItem("language"))
    );
  },
  methods: {
    getText(val) {
    getText(val = "hi") {
      let arr = this.actions.filter((item) => item.lang === val);
      return arr[0].text;
    },
src/locales/cht.json
@@ -542,5 +542,19 @@
  "审核中": "取消充值",
  "印股": "印股",
  "印股冻结": "印股凍結",
  "印度新闻": "印度新聞"
  "印度新闻": "印度新聞",
  "上市时间": "上市時間",
  "提示": "提示",
  "是否认缴": "是否認繳",
  "确定": "確定",
  "取消": "取消",
  "认购成功": "認購成功",
  "待补金额": "待補金額",
  "待上市": "待上市",
  "新股配售": "新股配售",
  "配售数量": "配售數量",
  "立即配售": "立即配售",
  "配售时间": "配售時間",
  "配售成功": "配售成功",
  "交易总额": "交易總額"
}
src/locales/en.json
@@ -549,5 +549,19 @@
  "一鍵平倉": "One click closing position",
  "印股": "Printing stocks",
  "印股冻结": "Freezing of printing stocks",
  "印度新闻": "Indian News"
  "印度新闻": "Indian News",
  "上市时间": "Listing time",
  "提示": "prompt",
  "是否认缴": "Whether to subscribe or not",
  "确定": "confirm",
  "取消": "cancel",
  "认购成功": "Subscription successful",
  "待补金额": "Amount to be supplemented",
  "待上市": "Pending listing",
  "新股配售": "New share allotment",
  "配售数量": "Placement quantity",
  "立即配售": "Immediate Placement",
  "配售时间": "Placement time",
  "配售成功": "Successful allocation",
  "交易总额": "Total transaction amount"
}
src/locales/hi.json
@@ -548,5 +548,19 @@
  "一鍵平倉": "एक क्लिक के साथ पोजीशन बंद करें",
  "印股": "प्रिंटिंग स्टॉक",
  "印股冻结": "प्रिंटिंग स्टॉक जमे हुए",
  "印度新闻": "इंडिया न्यूज"
  "印度新闻": "इंडिया न्यूज",
  "上市时间": "प्राप्‍यता",
  "提示": "तुरन्त",
  "是否认缴": "यह भुगतान से इनकार करना है",
  "确定": "क्या आपको यकीन है",
  "取消": "रद्द करना",
  "认购成功": "सदस्यता सफल रही",
  "待补金额": "भुगतान की जाने वाली राशि",
  "待上市": "सूचीबद्ध किया जाना है",
  "新股配售": "नए शेयरों का स्थान",
  "配售数量": "प्लेसमेंट की संख्या",
  "立即配售": "तत्काल प्लेसमेंट",
  "配售时间": "प्लेसमेंट का समय",
  "配售成功": "प्लेसमेंट सफल रहा",
  "交易总额": "लेन-देन की कुल राशि"
}
src/locales/index.js
@@ -9,9 +9,9 @@
Vue.use(VueI18n);
const DEFAULT_LANG = "hi";
const DEFAULT_LANG = window.localStorage.getItem("language") || "hi";
const LOCALE_KEY = "language";
window.localStorage.setItem("language", DEFAULT_LANG);
const locales = {
  en: {
    ...en
src/locales/jp.json
@@ -537,5 +537,19 @@
  "一鍵平倉": "ワンクリック平倉",
  "印股": "いんさつ株",
  "印股冻结": "いんさつとうけつ",
  "印度新闻": "インドニュース"
  "印度新闻": "インドニュース",
  "上市时间": "発売時期",
  "提示": "ヒント",
  "是否认缴": "納付を認めるかどうか",
  "确定": "を選択して、",
  "取消": "キャンセル",
  "认购成功": "購入に成功しました",
  "待补金额": "未払金額",
  "待上市": "上場を待つ",
  "新股配售": "新株配給",
  "配售数量": "配給数量",
  "立即配售": "即時配給",
  "配售时间": "配給時間",
  "配售成功": "配給に成功した",
  "交易总额": "取引総額"
}
src/locales/kor.json
@@ -537,5 +537,19 @@
  "审核中": "충전 취소",
  "印股": "인주",
  "印股冻结": "인주가 동결되다",
  "印度新闻": "인도 뉴스"
  "印度新闻": "인도 뉴스",
  "上市时间": "출시 기간",
  "提示": "힌트",
  "是否认缴": "납부 여부",
  "确定": "확인",
  "取消": "취소",
  "认购成功": "청약 성공",
  "待补金额": "보충 대기 금액",
  "待上市": "출시 예정",
  "新股配售": "신주 배정 판매",
  "配售数量": "배정 수량",
  "立即配售": "지금 판매",
  "配售时间": "배급 판매 시간",
  "配售成功": "배급 판매 성공",
  "交易总额": "거래 총액"
}
src/locales/th.json
@@ -537,5 +537,19 @@
  "一鍵平倉": "การปิดเพียงคลิกเดียว",
  "印股": "หุ้นพิมพ์",
  "印股冻结": "แช่แข็งหุ้นพิมพ์",
  "印度新闻": "ข่าวอินเดีย"
  "印度新闻": "ข่าวอินเดีย",
  "上市时间": "เวลาทำการ",
  "提示": "เคล็ดลับ",
  "是否认缴": "ปฏิเสธการจ่ายเงิน",
  "确定": "ระบุ",
  "取消": "การยกเลิก",
  "认购成功": "สมัครสมาชิกสำเร็จ",
  "待补金额": "จำนวนเงินที่จะเติม",
  "待上市": "รายชื่อ",
  "新股配售": "การจัดสรรหุ้นเพิ่มทุน",
  "配售数量": "จำนวนการจัดสรร",
  "立即配售": "จัดสรรเดี๋ยวนี้",
  "配售时间": "เวลาวางจำหน่าย",
  "配售成功": "ความสำเร็จในการจัดสรร",
  "交易总额": "จำนวนธุรกรรมทั้งหมด"
}
src/locales/zh.json
@@ -165,6 +165,7 @@
  "hj430": "加载中...",
  "hj44": "手续费",
  "hj45": "新股申购",
  "新股配售": "新股配售",
  "hj46": "线下配售",
  "hj47": "余额",
  "hj48": "可用余额",
@@ -179,6 +180,11 @@
  "hj57": "申购数量",
  "hj58": "立即申购",
  "hj59": "申购时间",
  "hj70": "申购成功",
  "配售数量": "配售数量",
  "立即配售": "立即配售",
  "配售时间": "配售时间",
  "配售成功": "配售成功",
  "hj60": "认缴时间",
  "hj61": "自选",
  "hj62": "市场",
@@ -189,7 +195,6 @@
  "hj67": "数量不能为空",
  "hj68": "数量不能小于1",
  "hj69": "数量不能大于",
  "hj70": "申购成功",
  "hj71": "指数暂不支持自选!",
  "hj72": "今开",
  "hj73": "最高",
@@ -536,5 +541,14 @@
  "一鍵平倉": "一键平仓",
  "印股": "印股",
  "印股冻结": "印股冻结",
  "印度新闻": "印度新闻"
  "印度新闻": "印度新闻",
  "上市时间": "上市时间",
  "提示": "提示",
  "是否认缴": "是否认缴",
  "确定": "确定",
  "取消": "取消",
  "认购成功": "认购成功",
  "待补金额": "待补金额",
  "待上市": "待上市",
  "交易总额": "交易总额"
}
src/page/home/home.vue
@@ -213,7 +213,7 @@
                "
              >
                <div class="item-times">
                  {{ $moment(item.addTime).format("YYYY-MM-DD HH:mm:ss") }}
                  {{ $moment(item.addTime).format("DD-MM-YYYY hh:mm:ss A") }}
                </div>
                <div
                  class="titContent"
src/page/kline/index copy.vue
@@ -8,7 +8,7 @@
              <img src="../../assets/img/zuojiantou.png" alt />
            </div>
            <div class="right_title">
              <div class="t_t" style="white-space: nowrap;">
              <div class="t_t" style="white-space: nowrap">
                <span>{{ kLineDetails.name | getName }}</span>
              </div>
              <div class="b_t">
@@ -20,23 +20,51 @@
            <div class="content_money">
              <div class="top_price">
                <div class="left">
                  <span>{{ $t('hj47') }}</span>
                  <span>{{ $t("hj47") }}</span>
                </div>
                <div class="right">
                  <span v-if="$store.state.userInfo.userAmt == undefined">₹0.00</span>
                  <span v-if="$store.state.userInfo && kLineDetails.if_zhishu != '0'" style="white-space: nowarp;">
                    {{ kLineDetails.if_us == 1 ? '$' + Number(Number($store.state.userInfo.userIndexAmt) /
                        7.1).toFixed(2) :
                        kLineDetails.if_us == 2 ? 'HK$' + (Number($store.state.userInfo.userIndexAmt) / 0.9).toFixed(2) :
                          '₹' +
                          $store.state.userInfo.userIndexAmt
                  <span v-if="$store.state.userInfo.userAmt == undefined"
                    >₹0.00</span
                  >
                  <span
                    v-if="
                      $store.state.userInfo && kLineDetails.if_zhishu != '0'
                    "
                    style="white-space: nowarp"
                  >
                    {{
                      kLineDetails.if_us == 1
                        ? "$" +
                          Number(
                            Number($store.state.userInfo.userIndexAmt) / 7.1
                          ).toFixed(2)
                        : kLineDetails.if_us == 2
                        ? "HK$" +
                          (
                            Number($store.state.userInfo.userIndexAmt) / 0.9
                          ).toFixed(2)
                        : "₹" + $store.state.userInfo.userIndexAmt
                    }}
                  </span>
                  <span v-if="$store.state.userInfo.userAmt != undefined && kLineDetails.if_zhishu == '0'"
                    style="white-space: nowarp;">
                    {{ kLineDetails.if_us == 1 ? '$' + Number(Number($store.state.userInfo.userAmt) / 7.1).toFixed(2) :
                        kLineDetails.if_us == 2 ? 'HK$' + (Number($store.state.userInfo.userAmt) / 0.9).toFixed(2) : '₹ ' +
                          $store.state.userInfo.userAmt
                  <span
                    v-if="
                      $store.state.userInfo.userAmt != undefined &&
                      kLineDetails.if_zhishu == '0'
                    "
                    style="white-space: nowarp"
                  >
                    {{
                      kLineDetails.if_us == 1
                        ? "$" +
                          Number(
                            Number($store.state.userInfo.userAmt) / 7.1
                          ).toFixed(2)
                        : kLineDetails.if_us == 2
                        ? "HK$" +
                          (Number($store.state.userInfo.userAmt) / 0.9).toFixed(
                            2
                          )
                        : "₹ " + $store.state.userInfo.userAmt
                    }}
                  </span>
                </div>
@@ -51,7 +79,7 @@
              </div>
              <div class="bottom_balance">
                <div>
                  <span>{{ $t('hj48') }}</span>
                  <span>{{ $t("hj48") }}</span>
                </div>
              </div>
            </div>
@@ -60,52 +88,90 @@
        <div class="real_time_detail">
          <div class="left_now_price">
            <div class="top_now">
              <span :class="singDetails.nowPrice - singDetails.preclose_px > 0 ? 'price green' : 'price red'">{{
                  singDetails.nowPrice
              }}</span>
              <span
                :class="
                  singDetails.nowPrice - singDetails.preclose_px > 0
                    ? 'price green'
                    : 'price red'
                "
                >{{ singDetails.nowPrice }}</span
              >
            </div>
            <div class="bottom_now">
              <div>
                <span v-if="singDetails.nowPrice == 0">-</span>
                <span v-else>{{ singDetails.nowPrice - singDetails.preclose_px > 0
                    ? '+' : ''
                }}{{ (singDetails.nowPrice - singDetails.preclose_px).toFixed(2) }}</span>
                <span v-else
                  >{{
                    singDetails.nowPrice - singDetails.preclose_px > 0
                      ? "+"
                      : ""
                  }}{{
                    (singDetails.nowPrice - singDetails.preclose_px).toFixed(2)
                  }}</span
                >
              </div>
              <div class="tew"
                :class="singDetails.nowPrice - singDetails.preclose_px > 0 ? 'number green' : 'number red'">
              <div
                class="tew"
                :class="
                  singDetails.nowPrice - singDetails.preclose_px > 0
                    ? 'number green'
                    : 'number red'
                "
              >
                <span v-if="singDetails.nowPrice == 0">-</span>
                <span v-else>({{ singDetails.nowPrice - singDetails.preclose_px > 0 ? '+' : '' }}
                  {{ singDetails.hcrate ? singDetails.hcrate : '0' }}%)</span>
                <span v-else
                  >( {{ singDetails.hcrate ? singDetails.hcrate : "0" }}%)</span
                >
              </div>
            </div>
          </div>
          <div class="right_ets">
            <div class="tops">
              <div class="lefts topes">
                <span class="titles">{{ $t('hj72') }}</span>
                <span :class="singDetails.nowPrice - singDetails.preclose_px > 0 ? 'number green' : 'number red'">{{
                    singDetails.open_px
                }}</span>
                <span class="titles">{{ $t("hj72") }}</span>
                <span
                  :class="
                    singDetails.nowPrice - singDetails.preclose_px > 0
                      ? 'number green'
                      : 'number red'
                  "
                  >{{ singDetails.open_px }}</span
                >
              </div>
              <div class="rights topes">
                <span class="titles">{{ $t('hj73') }}</span>
                <span :class="singDetails.nowPrice - singDetails.preclose_px > 0 ? 'number green' : 'number red'">{{
                    singDetails.today_max
                }}</span>
                <span class="titles">{{ $t("hj73") }}</span>
                <span
                  :class="
                    singDetails.nowPrice - singDetails.preclose_px > 0
                      ? 'number green'
                      : 'number red'
                  "
                  >{{ singDetails.today_max }}</span
                >
              </div>
            </div>
            <div class="bottoms">
              <div class="lefts bots">
                <span class="titles">{{ $t('hj74') }}</span>
                <span :class="singDetails.nowPrice - singDetails.preclose_px > 0 ? 'number green' : 'number red'">{{
                    singDetails.preclose_px
                }}</span>
                <span class="titles">{{ $t("hj74") }}</span>
                <span
                  :class="
                    singDetails.nowPrice - singDetails.preclose_px > 0
                      ? 'number green'
                      : 'number red'
                  "
                  >{{ singDetails.preclose_px }}</span
                >
              </div>
              <div class="rights bots">
                <span class="titles">{{ $t('hj75') }}</span>
                <span :class="singDetails.nowPrice - singDetails.preclose_px > 0 ? 'number green' : 'number red'">{{
                    singDetails.today_min
                }}</span>
                <span class="titles">{{ $t("hj75") }}</span>
                <span
                  :class="
                    singDetails.nowPrice - singDetails.preclose_px > 0
                      ? 'number green'
                      : 'number red'
                  "
                  >{{ singDetails.today_min }}</span
                >
              </div>
            </div>
          </div>
@@ -114,15 +180,23 @@
      <div class="k_line_detail">
        <Kline :type="singDetails.type" />
      </div>
      <div class="priect_top_bottom" style="display: none"
        v-if="(kLineDetails.if_us != 1 && kLineDetails.type != 'hk') && kLineDetails.type != 'hk' && kLineDetails.if_zhishu == 0">
      <div
        class="priect_top_bottom"
        style="display: none"
        v-if="
          kLineDetails.if_us != 1 &&
          kLineDetails.type != 'hk' &&
          kLineDetails.type != 'hk' &&
          kLineDetails.if_zhishu == 0
        "
      >
        <div class="t_title">
          <span>{{ $t('hj76') }}</span>
          <span>{{ $t("hj76") }}</span>
        </div>
        <div class="charts">
          <div class="left_s">
            <div class="t_ma">
              <span>{{ $t('hj77') }}</span>
              <span>{{ $t("hj77") }}</span>
            </div>
            <div class="ets">
              <div class="left_sell1">
@@ -167,7 +241,7 @@
          </div>
          <div class="right_h">
            <div class="t_ma">
              <span>{{ $t('hj78') }}</span>
              <span>{{ $t("hj78") }}</span>
            </div>
            <div class="ets">
              <div class="left_sell1">
@@ -199,7 +273,6 @@
              </div>
              <div class="right_sell1">
                <span>{{ singDetails.buy4_num }}</span>
              </div>
            </div>
            <div class="ets">
@@ -215,74 +288,102 @@
      </div>
      <div class="priect_top_bottom" v-if="kLineDetails.if_us == 1">
        <div class="t_title">
          <span>{{ $t('hj79') }}</span>
          <span>{{ $t("hj79") }}</span>
        </div>
        <div class="charts">
          <div class="left_s">
            <div class="t_ma">
              <span>{{ $t('hj80') }}</span>
              <span>{{ $t("hj80") }}</span>
            </div>
            <div class="ets" v-for="(item, i) in timedata.data.details" :key="i">
            <div
              class="ets"
              v-for="(item, i) in timedata.data.details"
              :key="i"
            >
              <div class="left_sell1">
                <span>{{ item.split(',')[0] }}</span>
                <span>{{ item.split(",")[0] }}</span>
              </div>
              <div class="right_sell1">
                <span>{{ }}</span>
                <span>{{}}</span>
              </div>
            </div>
          </div>
          <div class="right_h">
            <div class="t_ma">
              <span>{{ $t('hj81') }}</span>
              <span>{{ $t("hj81") }}</span>
            </div>
            <div class="ets" v-for="(item, i) in timedata.data.details" :key="i">
            <div
              class="ets"
              v-for="(item, i) in timedata.data.details"
              :key="i"
            >
              <div class="left_sell1">
                <span>{{ item.split(',')[1] }}</span>
                <span>{{ item.split(",")[1] }}</span>
              </div>
              <div class="right_sell1">
                <span>{{ }}</span>
                <span>{{}}</span>
              </div>
            </div>
          </div>
          <div class="right_h">
            <div class="t_ma">
              <span>{{ $t('hj82') }}</span>
              <span>{{ $t("hj82") }}</span>
            </div>
            <div class="ets" v-for="item in timedata.data.details">
              <div class="left_sell1">
                <span>{{ item.split(',')[2] }}</span>
                <span>{{ item.split(",")[2] }}</span>
              </div>
              <div class="right_sell1">
                <span>{{ }}</span>
                <span>{{}}</span>
              </div>
            </div>
          </div>
        </div>
      </div>
      <div class="jianjie" v-if="!(kLineDetails.if_zhishu != '0' && singDetails.gid.indexOf('hk') > -1)"
        :class="acseFlag ? 'isjj' : ''" ref="isjj" id="isjj">
      <div
        class="jianjie"
        v-if="
          !(kLineDetails.if_zhishu != '0' && singDetails.gid.indexOf('hk') > -1)
        "
        :class="acseFlag ? 'isjj' : ''"
        ref="isjj"
        id="isjj"
      >
        <div class="top_jj">
          <span>{{ $t('hj83') }}</span>
          <span>{{ $t("hj83") }}</span>
        </div>
        <div class="jet">
          <span>{{ jianjie }}</span>
        </div>
      </div>
      <div class="hknews" v-if="kLineDetails.if_zhishu != '0' && singDetails.gid.indexOf('hk') > -1">
      <div
        class="hknews"
        v-if="
          kLineDetails.if_zhishu != '0' && singDetails.gid.indexOf('hk') > -1
        "
      >
        <div class="news-tab">
          <div class="t_title">
            <span>{{ $t('hj6') }}</span>
            <span>{{ $t("hj6") }}</span>
          </div>
          <mt-tab-container v-model="news" :swipeable="false" style="padding-top: 0.5rem;">
          <mt-tab-container
            v-model="news"
            :swipeable="false"
            style="padding-top: 0.5rem"
          >
            <mt-tab-container-item id="tab_2">
              <div class="news-content">
                <div class="item-out" v-for="(item, inde) in newsdetailList" :key="inde">
                  <div class="item-times">{{ item.Art_ShowTime | utc2beijing }}</div>
                  <div class="titContent" style="-webkit-box-orient: vertical;">{{ item.Art_Title }}</div>
                <div
                  class="item-out"
                  v-for="(item, inde) in newsdetailList"
                  :key="inde"
                >
                  <div class="item-times">
                    {{ item.Art_ShowTime | utc2beijing }}
                  </div>
                  <div class="titContent" style="-webkit-box-orient: vertical">
                    {{ item.Art_Title }}
                  </div>
                </div>
              </div>
            </mt-tab-container-item>
@@ -292,14 +393,24 @@
      <div class="hknews" v-else>
        <div class="news-tab">
          <div class="t_title">
            <span>{{ $t('hj6') }}</span>
            <span>{{ $t("hj6") }}</span>
          </div>
          <mt-tab-container v-model="news" :swipeable="false" style="padding-top: 0.5rem;">
          <mt-tab-container
            v-model="news"
            :swipeable="false"
            style="padding-top: 0.5rem"
          >
            <mt-tab-container-item id="tab_2">
              <div class="news-content">
                <div class="item-out" v-for="(item, inde) in newsdetailList" :key="inde">
                <div
                  class="item-out"
                  v-for="(item, inde) in newsdetailList"
                  :key="inde"
                >
                  <div class="item-times">{{ item.addTime | gettime }}</div>
                  <div class="titContent" style="-webkit-box-orient: vertical;">{{ item.title }}</div>
                  <div class="titContent" style="-webkit-box-orient: vertical">
                    {{ item.title }}
                  </div>
                </div>
              </div>
            </mt-tab-container-item>
@@ -311,7 +422,11 @@
    <div class="btns">
      <div class="lefts">
        <div class="left_ca" @click="option()">
          <img src="../../assets/img/meishoucang.png" alt v-if="isOptionOpt === false" />
          <img
            src="../../assets/img/meishoucang.png"
            alt
            v-if="isOptionOpt === false"
          />
          <img src="../../assets/img/shoucangle.png" alt v-else />
        </div>
        <div class="right_xx" @click="handleJj()">
@@ -321,7 +436,7 @@
      <div class="rights">
        <div class="buy_btn">
          <div class="top_buy" @click="goBuy(0)">
            <span>{{ $t('hj84') }}</span>
            <span>{{ $t("hj84") }}</span>
          </div>
          <div class="bottom_buy">
            <span>{{ singDetails.nowPrice }}</span>
@@ -329,7 +444,7 @@
        </div>
        <div class="sell_btn" @click="goBuy(1)">
          <div class="top_sell">
            <span>{{ $t('hj85') }}</span>
            <span>{{ $t("hj85") }}</span>
          </div>
          <div class="bottom_sell">
            <span>{{ singDetails.nowPrice }}</span>
@@ -341,40 +456,40 @@
</template>
<script>
import Kline from './components/kLine.vue'
import * as api from '@/axios/api'
import Kline from "./components/kLine.vue";
import * as api from "@/axios/api";
export default {
  name: 'kline',
  data () {
  name: "kline",
  data() {
    return {
      news: 'tab_2',
      news: "tab_2",
      kLineDetails: {}, // K线图详情数据
      singDetails: {},
      scFlag: false,
      acseFlag: false,
      jianjie: '',
      jianjie: "",
      optionBtn: false,
      isOptionOpt: false,
      dialogFlag: false,
      timedata: [],
      newsdetailList: []
    }
      newsdetailList: [],
    };
  },
  components: {
    Kline
    Kline,
  },
  created () {
    const { query } = this.$route
    this.kLineDetails = query
    if (query.if_us == '1') {
      this.getSingDetailUs()
  created() {
    const { query } = this.$route;
    this.kLineDetails = query;
    if (query.if_us == "1") {
      this.getSingDetailUs();
    } else {
      this.getSingDetails()
      this.getSingDetails();
    }
    this.getOpation()
    this.getOpation();
    // this.$Lazyload();
    this.getUserInfo()
    this.getUserInfo();
  },
  // beforeDestroy() {
@@ -382,113 +497,116 @@
  //   window.clearInterval()
  // },
  methods: {
    async getHknews () {
      await api.queryIndexNews().then(res => {
    async getHknews() {
      await api.queryIndexNews().then((res) => {
        if (res.status == 0) {
          this.newsdetailList = res.data.data
          this.newsdetailList = res.data.data;
        }
      })
      });
    },
    async getNohknews () {
      let data = await api.queryNewsList(4)
      this.newsdetailList = data.data.list
    async getNohknews() {
      let data = await api.queryNewsList(4);
      this.newsdetailList = data.data.list;
    },
    async option () {
    async option() {
      if (this.optionBtn) {
        return
      };
      this.optionBtn = true
        return;
      }
      this.optionBtn = true;
      if (this.isOptionOpt) {
        let data = await api.delOption({ code: this.kLineDetails.code })
        let data = await api.delOption({ code: this.kLineDetails.code });
        if (data.status === 0) {
          this.getOpation()
          this.optionBtn = false
          this.getOpation();
          this.optionBtn = false;
          this.$message({
            message: this.$t('hj97'),
            type: 'success'
          })
            message: this.$t("hj97"),
            type: "success",
          });
        } else {
          this.optionBtn = false
          this.optionBtn = false;
          this.$message({
            message: data.msg,
            type: 'warning'
          })
            type: "warning",
          });
        }
      } else {
        let data = await api.addOption({ code: this.kLineDetails.code })
        let data = await api.addOption({ code: this.kLineDetails.code });
        if (data.status === 0) {
          this.getOpation()
          this.optionBtn = false
          this.getOpation();
          this.optionBtn = false;
          this.$message({
            message: this.$t('hj96'),
            type: 'success'
          })
            message: this.$t("hj96"),
            type: "success",
          });
        } else {
          this.$message({
            message: data.msg,
            type: 'warning'
          })
          this.optionBtn = false
            type: "warning",
          });
          this.optionBtn = false;
        }
      }
      if (navigator.vibrate) {
        // 支持
        navigator.vibrate([55])
        navigator.vibrate([55]);
      }
    },
    async getUserInfo () {
    async getUserInfo() {
      // 获取用户信息
      //   let showcookie = this.getCookie('USER_TOKEN');
      let data = await api.getUserInfo()
      let data = await api.getUserInfo();
      if (data.status === 0) {
        // this.getProductSetting()
        this.$store.state.userInfo = data.data
        this.$store.state.userInfo = data.data;
      } else {
        Toast(data.msg)
        Toast(data.msg);
      }
      this.$store.state.user = this.user
      this.$store.state.user = this.user;
    },
    async getOpation () {
    async getOpation() {
      let opts = {
        code: this.$route.query.code
      }
      let data = await api.isOption(opts)
        code: this.$route.query.code,
      };
      let data = await api.isOption(opts);
      if (data.status === 0) {
        // 0 --> 未添加
        this.isOptionOpt = false
        this.isOptionOpt = false;
      } else {
        this.isOptionOpt = true
        this.isOptionOpt = true;
      }
    },
    async getSingDetails () {
    async getSingDetails() {
      let opts = {
        code: this.kLineDetails.code,
        stockType: this.kLineDetails.type
      }
      await api.getSingleStock(opts).then(res => {
        stockType: this.kLineDetails.type,
      };
      await api.getSingleStock(opts).then((res) => {
        if (res.status === 0) {
          this.singDetails = res.data.stock
          this.singDetails = res.data.stock;
          if (res.data.introduction) {
            this.jianjie = res.data.introduction
            this.jianjie = res.data.introduction;
          } else {
            this.jianjie = res.data.indexintroduction
            this.jianjie = res.data.indexintroduction;
          }
          console.log(this.singDetails)
          if (this.kLineDetails.if_zhishu != '0' && this.singDetails.gid.indexOf('hk') > -1) {
            this.getHknews()
          console.log(this.singDetails);
          if (
            this.kLineDetails.if_zhishu != "0" &&
            this.singDetails.gid.indexOf("hk") > -1
          ) {
            this.getHknews();
          } else {
            this.getNohknews()
            this.getNohknews();
          }
        }
      })
      });
    },
    async getSingDetailUs () {
    async getSingDetailUs() {
      let opts = {
        code: this.kLineDetails.code,
        stockType: this.kLineDetails.type
      }
      await api.getUsDetail(opts).then(res => {
        stockType: this.kLineDetails.type,
      };
      await api.getUsDetail(opts).then((res) => {
        // console.log(res,1111123);
        // var that = this
        // if(!res){
@@ -498,37 +616,37 @@
        // }
        if (res.status === 0) {
          this.singDetails = res.data.stock
          this.timedata = res.data.timedata
          this.singDetails = res.data.stock;
          this.timedata = res.data.timedata;
          if (res.data.introduction) {
            this.jianjie = res.data.introduction
            this.jianjie = res.data.introduction;
          } else {
            this.jianjie = res.data.indexintroduction
            this.jianjie = res.data.indexintroduction;
          }
          this.getNohknews()
          console.log(this.singDetails)
          this.getNohknews();
          console.log(this.singDetails);
        }
      })
      });
    },
    handleJj () {
      this.acseFlag = true
    handleJj() {
      this.acseFlag = true;
      setTimeout(() => {
        this.acseFlag = false
      }, 1000)
        this.acseFlag = false;
      }, 1000);
      if (navigator.vibrate) {
        // 支持
        navigator.vibrate([55])
        navigator.vibrate([55]);
      }
    },
    handleBack () {
      this.$router.go(-1)
    handleBack() {
      this.$router.go(-1);
    },
    handleSc () {
      this.scFlag = !this.scFlag
    handleSc() {
      this.scFlag = !this.scFlag;
    },
    goBuy (index) {
    goBuy(index) {
      this.$router.push({
        path: '/TradingBuy',
        path: "/TradingBuy",
        query: {
          t: index,
          code: this.kLineDetails.code,
@@ -536,74 +654,80 @@
          type: this.kLineDetails.if_zhishu,
          id: this.singDetails.id,
          name: this.kLineDetails.name,
          if_us: this.kLineDetails.if_us
        }
      })
          if_us: this.kLineDetails.if_us,
        },
      });
      if (navigator.vibrate) {
        // 支持
        navigator.vibrate([55])
        navigator.vibrate([55]);
      }
    }
    },
  },
  filters: {
    getName (name) {
    getName(name) {
      if (name.length > 15) {
        return name.substring(0, 14)
        return name.substring(0, 14);
      } else {
        return name
        return name;
      }
    },
    gettime (time) {
    gettime(time) {
      if (!time) {
        return ''
        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()
      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
        mm = "0" + mm;
      }
      if (d < 10) {
        d = '0' + d
        d = "0" + d;
      }
      if (h < 10) {
        h = '0' + h
        h = "0" + h;
      }
      if (m < 10) {
        m = '0' + m
        m = "0" + m;
      }
      if (c < 10) {
        c = '0' + c
        c = "0" + c;
      }
      // 17:35:2922-06-2022
      return y + '-' + mm + '-' + d + ' ' + h + ':' + m + ':' + c
      return y + "-" + mm + "-" + d + " " + h + ":" + m + ":" + c;
    },
    utc2beijing (utc_datetime) {
    utc2beijing(utc_datetime) {
      // 转为正常的时间格式 年-月-日 时:分:秒
      var T_pos = utc_datetime.indexOf('T')
      var Z_pos = utc_datetime.indexOf('Z')
      var year_month_day = utc_datetime.substr(0, T_pos)
      var hour_minute_second = utc_datetime.substr(T_pos + 1, Z_pos - T_pos - 1)
      var new_datetime = year_month_day + ' ' + hour_minute_second // 2017-03-31 08:02:06
      var T_pos = utc_datetime.indexOf("T");
      var Z_pos = utc_datetime.indexOf("Z");
      var year_month_day = utc_datetime.substr(0, T_pos);
      var hour_minute_second = utc_datetime.substr(
        T_pos + 1,
        Z_pos - T_pos - 1
      );
      var new_datetime = year_month_day + " " + hour_minute_second; // 2017-03-31 08:02:06
      // 处理成为时间戳
      timestamp = new Date(Date.parse(new_datetime))
      timestamp = timestamp.getTime()
      timestamp = timestamp / 1000
      timestamp = new Date(Date.parse(new_datetime));
      timestamp = timestamp.getTime();
      timestamp = timestamp / 1000;
      // 增加8个小时,北京时间比utc时间多八个时区
      var timestamp = timestamp + 8 * 60 * 60
      var timestamp = timestamp + 8 * 60 * 60;
      // 时间戳转为时间
      var beijing_datetime = new Date(parseInt(timestamp) * 1000).toLocaleString().replace(/年|月/g, '-').replace(/日/g, ' ')
      return beijing_datetime // 2017-03-31 16:02:06
    }
  }
}
      var beijing_datetime = new Date(parseInt(timestamp) * 1000)
        .toLocaleString()
        .replace(/年|月/g, "-")
        .replace(/日/g, " ");
      return beijing_datetime; // 2017-03-31 16:02:06
    },
  },
};
</script>
<style scoped lang="less">
@@ -640,12 +764,12 @@
  /deep/.is-selected .tab-name:after {
    position: absolute;
    display: block;
    content: '';
    height: .07rem;
    background-color: #1381A4;
    content: "";
    height: 0.07rem;
    background-color: #1381a4;
    width: 100%;
    left: 0;
    bottom: -.25rem;
    bottom: -0.25rem;
  }
}
@@ -676,8 +800,8 @@
.titContent {
  position: relative;
  width: 100%;
  font-size: .35rem;
  line-height: .46rem;
  font-size: 0.35rem;
  line-height: 0.46rem;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
@@ -694,7 +818,7 @@
  height: calc(100% - 1.7rem);
  overflow: auto;
  >.content {
  > .content {
    width: 100%;
    height: 100%;
    position: relative;
@@ -727,7 +851,7 @@
      display: flex;
      align-items: center;
      >img {
      > img {
        margin-top: 0.2rem;
        width: 0.6rem;
        height: 0.6rem;
@@ -811,20 +935,20 @@
    max-width: 60%;
    height: 100%;
    >div {
    > div {
      width: 100%;
      padding: 0.15rem 0;
      display: flex;
      align-items: center;
      >div {
      > div {
        // width: 50%;
        height: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0 0.1rem;
        .titles{
        .titles {
          padding-right: 0.1rem;
        }
      }
@@ -883,7 +1007,7 @@
    justify-content: space-between;
    margin-top: 0.6rem;
    >div {
    > div {
      width: 49%;
      height: 100%;
    }
@@ -904,7 +1028,7 @@
  display: flex;
  margin-top: 0.08rem;
  >div {
  > div {
    width: 50%;
    height: 100%;
    display: flex;
@@ -988,7 +1112,7 @@
    display: flex;
    align-items: center;
    >div {
    > div {
      width: 50%;
      height: 100%;
      display: flex;
@@ -1009,7 +1133,7 @@
    align-items: center;
    justify-content: space-around;
    >div {
    > div {
      border-radius: 0.15rem;
    }
@@ -1119,10 +1243,10 @@
}
.isjj {
  animation: zy 2.5s .15s linear infinite;
  animation: zy 2.5s .15s linear infinite;
  animation: zy 2.5s .15s linear infinite;
  animation: zy 2.5s .15s linear infinite;
  animation: zy 2.5s 0.15s linear infinite;
  animation: zy 2.5s 0.15s linear infinite;
  animation: zy 2.5s 0.15s linear infinite;
  animation: zy 2.5s 0.15s linear infinite;
  animation: zy 2.5s 0.15s linear infinite;
  animation: zy 2.5s 0.15s linear infinite;
  animation: zy 2.5s 0.15s linear infinite;
@@ -1201,5 +1325,4 @@
  margin-left: 0.2rem;
  padding-right: 0.68rem;
}
</style>
src/page/kline/index.vue
@@ -106,9 +106,8 @@
                <span v-if="singDetails.nowPrice === 0">-</span>
                <!-- <span v-else>({{ singDetails.nowPrice - singDetails.preclose_px > 0 ? '+' : '' }}
                  {{ singDetails.hcrate ? singDetails.hcrate : '0' }}%)</span> -->
                <span v-else
                  >({{ singDetails.hcrate > 0 ? "+" : "" }}
                  {{ singDetails.hcrate ? singDetails.hcrate : "0" }}%)</span
                <span v-else>
                  ({{ singDetails.hcrate ? singDetails.hcrate : "0" }}%)</span
                >
              </div>
            </div>
src/page/list/favorites/data.list.vue
@@ -72,7 +72,9 @@
          <van-col span="6">
            <div style="text-align: right">
              <div class="xgsgType">
                <span class="price_color">{{ $t("hj45") }}</span>
                <span class="price_color">
                  {{ item.type === 1 ? $t("hj45") : $t("新股配售") }}
                </span>
              </div>
            </div>
          </van-col>
@@ -91,16 +93,22 @@
    >
      <div class="popup-box">
        <div class="input-box">
          <div class="laber">{{ $t("hj57") }}:</div>
          <div class="laber">
            {{ shengouObj.type === 1 ? $t("hj57") : $t("配售数量") }}:
          </div>
          <input type="number" :value="fromData.value" @input="fromDatavalue" />
        </div>
        <div class="shijian">
          <div class="xgsj">
            <div class="sjtlt">{{ $t("hj59") }}:</div>
            <div class="sjtlt">
              {{ shengouObj.type === 1 ? $t("hj59") : $t("配售时间") }}:
            </div>
            <div class="xgTime">
              {{
                $moment(shengouObj.subscribeTime).format("YYYY-MM-DD HH:mm:ss")
                $moment(shengouObj.subscribeTime).format(
                  "DD-MM-YYYY hh:mm:ss A"
                )
              }}
            </div>
          </div>
@@ -109,9 +117,15 @@
            <div class="xgTime">
              {{
                $moment(shengouObj.subscriptionTime).format(
                  "YYYY-MM-DD HH:mm:ss"
                  "DD-MM-YYYY hh:mm:ss A"
                )
              }}
            </div>
          </div>
          <div class="xgsj">
            <div class="sjtlt">{{ $t("上市时间") }}:</div>
            <div class="xgTime">
              {{ $moment(shengouObj.listDate).format("DD-MM-YYYY hh:mm:ss A") }}
            </div>
          </div>
          <div class="xgsj">
@@ -126,9 +140,9 @@
            <div class="sjtlt">上市時間:</div>
          </div> -->
        </div>
        <van-button class="but" type="info" @click="newAddxg">{{
          $t("hj58")
        }}</van-button>
        <van-button class="but" type="info" @click="newAddxg">
          {{ shengouObj.type === 1 ? $t("hj58") : $t("立即配售") }}
        </van-button>
      </div>
    </van-popup>
  </div>
@@ -202,7 +216,6 @@
        applyNums: this.fromData.value,
      });
      if (res.status === 0) {
        console.log(333);
        Notify({ type: "success", message: res.msg });
      } else {
        Notify({ type: "warning", message: res.msg });
src/page/list/favorites/tabs.vue
@@ -48,13 +48,13 @@
      tabsList: [
        // { title: "自选", key: "" },
        // { title: "数字货币", key: "1", name: "SZHB" },
        { title: this.$t("马股"), key: "2", name: "MAS" },
        { title: this.$t("美股"), key: "3", name: "US" },
        { title: this.$t("印股"), key: "2", name: "IN" },
        // { title: this.$t("美股"), key: "3", name: "US" },
      ],
      zxtabsList: [
        // { title: "数字货币", key: "1", name: "SZHB" },
        { title: this.$t("马股"), key: "2", name: "MAS" },
        { title: this.$t("美股"), key: "3", name: "US" },
        { title: this.$t("印股"), key: "2", name: "IN" },
        // { title: this.$t("美股"), key: "3", name: "US" },
      ],
      active: "2",
      zxactive: "2",
src/page/list/favoriteslist/data.list.vue
@@ -14,7 +14,9 @@
        >
          <div class="tabs_o_items">
            <div class="tabs_o_title">
              <span class="title">{{ item.newName }}</span>
              <div class="title">
                {{ item.newName }}
              </div>
              <span class="buy_to_sell mairu">{{ $t("hj45") }}</span>
            </div>
            <div
@@ -29,34 +31,68 @@
                  <div class="start_price">
                    <span>{{ item.buyPrice }} </span>
                  </div>
                  <div class="new_price">
                    <span>{{ item.applyNums }}</span>
                  <div class="new_price" v-if="item.status <= 3">
                    <span>
                      {{ item.applyNums }}
                    </span>
                  </div>
                  <div class="new_price" v-if="item.status >= 3">
                    <span>
                      {{ item.applyNumber }}
                    </span>
                  </div>
                  <div class="new_price" v-if="item.status === 4">
                    <span style="color: red">
                      {{ item.dbMoney }}
                    </span>
                  </div>
                </div>
                <div class="bottom_price_title">
                  <div class="start_price">
                    <span>{{ $t("單筆價格") }}</span>
                  </div>
                  <div class="new_price">
                    <span>{{ $t("hj57") }}</span>
                  <div class="new_price" v-if="item.status <= 3">
                    <span>
                      {{ $t("hj57") }}
                    </span>
                  </div>
                  <div class="new_price" v-if="item.status >= 3">
                    <span>
                      {{ $t("hj253") }}
                    </span>
                  </div>
                  <div class="new_price" v-if="item.status === 4">
                    <span style="color: red">
                      {{ $t("待补金额") }}
                    </span>
                  </div>
                </div>
              </div>
              <div class="right_btn pink" style="padding: 0px 0.2rem">
                <span>{{
                  item.status == 1
                    ? $t("hj131")
                    : item.status == 2
                    ? $t("hj132")
                    : item.status == 3
                    ? $t("hj133")
                    : item.status == 4
                    ? $t("hj134")
                    : item.status == 5
                    ? $t("hj135")
                    : ""
                }}</span>
              <div
                class="right_btn pink"
                style="padding: 0px 0.2rem"
                @click="renjiao(item)"
              >
                <span v-if="item.status !== 3">
                  {{
                    item.status == 1
                      ? $t("hj131")
                      : item.status == 2
                      ? $t("hj132")
                      : item.status == 3
                      ? $t("hj133")
                      : item.status == 4
                      ? $t("待上市")
                      : item.status == 5
                      ? $t("hj135")
                      : ""
                  }}
                </span>
                <span v-else>
                  {{ $t("认缴") }}
                </span>
              </div>
              <!---->
            </div>
          </div>
@@ -69,9 +105,13 @@
<script>
import * as api from "@/axios/api";
import handleDt from "@/utils/deTh";
import { Dialog, Notify } from "vant";
// getNewAdd
export default {
  components: {
    [Dialog.Component.name]: Dialog.Component,
  },
  props: {
    active: {
      type: String,
@@ -124,6 +164,32 @@
    this.getStock(this.active, this.zxactive);
  },
  methods: {
    renjiao(item) {
      if (item.status !== 3) {
        return;
      }
      Dialog.confirm({
        title: this.$t("提示"),
        message: this.$t("是否认缴"),
        confirmButtonText: this.$t("确定"),
        cancelButtonText: this.$t("取消"),
      })
        .then(async () => {
          const res = await api.submitSubscribe({
            id: item.id,
          });
          if (res.status === 0) {
            Notify({ type: "success", message: this.$t("认购成功") });
            this.getStock(this.active, this.zxactive);
          } else {
            Notify({ type: "danger", message: this.$t(res.msg) });
          }
          // 认购成功
        })
        .catch(() => {
          // on cancel
        });
    },
    fromDatavalue(e) {
      this.fromData.value = e.target.value;
    },
@@ -201,7 +267,7 @@
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    // justify-content: space-between;
    span {
      display: inline-block;
      margin-right: 0.2rem;
@@ -220,7 +286,8 @@
    }
  }
  .right_btn {
    width: 1.9949rem;
    width: 110px;
    margin-left: 10px;
    height: 0.6667rem;
    right: 1%;
    top: 27%;
src/page/list/favoriteslist/tabs.vue
@@ -48,13 +48,13 @@
      tabsList: [
        // { title: "自选", key: "" },
        // { title: "数字货币", key: "1", name: "SZHB" },
        { title: this.$t("马股"), key: "2", name: "MAS" },
        { title: this.$t("美股"), key: "3", name: "US" },
        { title: this.$t("印股"), key: "2", name: "IN" },
        // { title: this.$t("美股"), key: "3", name: "US" },
      ],
      zxtabsList: [
        // { title: "数字货币", key: "1", name: "SZHB" },
        { title: this.$t("马股"), key: "2", name: "MAS" },
        { title: this.$t("美股"), key: "3", name: "US" },
        // { title: this.$t("马股"), key: "2", name: "MAS" },
        // { title: this.$t("美股"), key: "3", name: "US" },
      ],
      active: "2",
      zxactive: "2",
src/page/list/tradingList/data.list.vue
@@ -85,13 +85,18 @@
        </van-row>
      </div>
    </van-list>
    <dazy ref="dazy" />
  </div>
</template>
<script>
import * as api from "@/axios/api";
import handleDt from "@/utils/deTh";
import dazy from "./dazy.vue";
export default {
  components: { dazy },
  props: {
    active: {
      type: String,
@@ -163,8 +168,16 @@
        return 0;
      }
    },
    // 点击进入详情
    handleGoToKlineDetail1(item) {
      // 如果是大宗交易。不需要进入详情
      if (this.active === "DZ") {
        this.$refs.dazy.currentItem = item;
        this.$refs.dazy.show = true;
        return;
      }
      // 点击进入详情
      const obj = {
        pid: item.code || "",
        type: item.stock_type || "",
@@ -198,6 +211,7 @@
        stockType = array[0].name;
      } else {
        let array = this.zxtabsList.filter((item) => item.key === b);
        console.log(this.zxtabsList, b);
        stockType = array[0].name;
      }
      let pageNumVal = c || this.pageNumVal;
src/page/list/tradingList/dazy.vue
New file
@@ -0,0 +1,216 @@
<template>
  <div>
    <van-popup v-model="show" round position="bottom">
      <div class="boxd">
        <div class="boxh">
          {{ $t("hj261") }}
          <span @click="show = false"></span>
        </div>
        <h5>{{ $t("hj130") }}</h5>
        <h6>{{ currentItem.nowPrice ? currentItem.nowPrice : "" }}</h6>
        <div class="erty tghj">
          <input
            :placeholder="$t('hj262')"
            type="number"
            class="inpy"
            v-model="num"
            @input="num = num.replace(/^(0+)|[^\d]+/g, '')"
          />
          <a>{{ $t("hj117") }}</a>
        </div>
        <p class="plm">
          <span>{{ $t("hj263") }}</span>
          <a>{{ currentItem.nowPrice }}</a>
        </p>
        <div class="erty">
          <input
            :placeholder="$t('hj264')"
            type="password"
            class="inpy"
            v-model="password"
          />
        </div>
        <p class="plm">
          <span>
            {{ $t("hj54") }}
          </span>
          <a>{{ enableAmt }}</a>
        </p>
        <div class="maik" @click="getxiadan">{{ $t("hj85") }}</div>
      </div>
    </van-popup>
  </div>
</template>
<script>
import { buyStockDz, getMoney } from "@/axios/api";
export default {
  methods: {
    async getxiadan() {
      if (!this.num) {
        this.show = false;
        this.$toast(this.$t("hj262"));
        return;
      }
      if (!this.password) {
        this.show = false;
        this.$toast(this.$t("hj264"));
        return;
      }
      var opt = {
        stockCode: this.currentItem.code,
        password: this.password,
        num: this.num,
        buyingType: "dz",
      };
      let res = await buyStockDz(opt);
      console.log(res, "======");
      if (res.status == 0) {
        this.$toast(this.$t("hj265"));
        this.num = "";
        this.password = "";
        this.getenableAmt();
      } else {
        this.$toast(res.msg);
      }
      this.show = false;
    },
    async getenableAmt() {
      const res = await getMoney();
      const data = res.data.filter((item) => item.accectType === "ALL");
      this.enableAmt = data[0].availableBalance;
    },
  },
  mounted() {
    this.getenableAmt();
  },
  data() {
    return {
      show: false,
      num: "",
      password: "",
      currentItem: {},
      enableAmt: "",
    };
  },
};
</script>
<style lang="less" scoped>
.boxd {
  background: #fff;
  border-radius: 0.266rem 0.266rem 0 0;
  padding-bottom: 0.53rem;
  .boxh {
    height: 1.2rem;
    border-bottom: 0.0266rem solid #e0e0e0;
    text-align: center;
    line-height: 1.2rem;
    color: #333;
    font-size: 0.43rem;
    width: 9.48rem;
    margin: 0 auto;
    position: relative;
    span {
      position: absolute;
      width: 0.32rem;
      height: 0.32rem;
      background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAStJREFUSEutlk1qhDAUgF+EzG5EWsYTzK6HKO0hcgB3gscR3IgH8BBTeojuegJLQWg3NqDlyUQwRn0xcWeQ7zMv7ycMAKCu61PTNOcsy77x3fUpy/IhDMNfIcQfQ3jbtvUwDFfO+UuSJF8ugqqqLlLKN8bYZxRFguV5/sg5fweAJwD4cJEouGJJKZ8Z/m1RFHEQBDcXiQ7v+/41TdNmFLhK1uDInQRHJVvwhcBWsgc3CqgSCnxVsCehwjcFaxJcxzynZtzskE0Fpqfw/RtyzewKDDvBJXJBkgRazP0K9AP1GiIdjn2q6zpm01ZWQ2SCq05r07uMgi24be9aCChwG8lMYAOnSibBEThFMgpc4HsSryNTz65xZPoe+koyDX3cou9rC14k4jj+wWvLP1ylVM57GzhpAAAAAElFTkSuQmCC)
        no-repeat 50%;
      background-size: 100%;
      right: 0.266rem;
      top: 0.4rem;
    }
  }
  h5 {
    color: #333;
    font-size: 0.37rem;
    font-weight: 500;
    width: 9.48rem;
    margin: 0 auto;
    margin-top: 0.32rem;
  }
  h6 {
    color: #ea3544;
    font-size: 0.43rem;
    width: 9.48rem;
    margin: 0 auto;
    margin-top: 0.32rem;
    font-weight: 600;
  }
  .erty {
    width: 9.21rem;
    height: 1.07rem;
    border: 0.0266rem solid #5c288c;
    border-radius: 0.13rem;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    margin-top: 0.59rem;
    .inpy {
      height: 1.07rem;
      width: 5.34rem;
      margin-left: 0.266rem;
      background: transparent;
      font-size: 0.37rem;
      color: #000;
    }
    a {
      height: 0.64rem;
      border-left: 0.0266rem solid #999;
      width: 1.15rem;
      margin-top: 0.266rem;
      text-align: center;
      font-size: 0.37rem;
      color: #000;
      line-height: 0.64rem;
    }
  }
  .tghj {
    border: 0.0266rem solid #5c288c;
    margin-top: 0.45rem;
  }
  .plm {
    width: 8.94rem;
    margin: 0 auto;
    margin-top: 0.266rem;
    span {
      color: #999;
      font-size: 0.32rem;
    }
    a {
      color: #f33030;
      margin-left: 0.11rem;
    }
  }
  .maik {
    width: 9.21rem;
    height: 1.07rem;
    background: #5c288c;
    border-radius: 0.26rem;
    margin: 0 auto;
    margin-top: 0.56rem;
    text-align: center;
    line-height: 1.07rem;
    color: #fff;
    font-size: 0.37rem;
  }
}
</style>
src/page/list/tradingList/tabs.vue
@@ -49,8 +49,9 @@
  data() {
    return {
      tabsList: [
        { title: this.$t("hj61"), key: "zx" },
        { title: this.$t("hj61"), key: "" },
        { title: this.$t("印股"), key: "IN", name: "IN" },
        { title: this.$t("hj261"), key: "DZ", name: "DZ" },
      ],
      zxtabsList: [{ title: this.$t("印股"), key: "IN", name: "IN" }],
      active: "",
src/page/login/register.vue
@@ -11,12 +11,13 @@
            :placeholder="placeholder"
            size="medium"
            v-model="phone"
            maxlength="10"
            clearable
            @input="handleInput()"
          >
            <template slot="prepend">+91</template>
          </el-input>
          <!-- <el-input style="margin-top: 0.46rem;" :placeholder="verification" :size="medium" v-model="code" clearable>
          </el-input> -->
          <el-input
            style="margin-top: 0.46rem"
            show-password
@@ -122,7 +123,7 @@
    },
    async gook() {
      if (isNull(this.phone)) {
      if (this.phone.length !== 10) {
        Notify({ type: "warning", message: this.$t("hj28") });
      } else if (isNull(this.userPassword)) {
        Notify({ type: "warning", message: this.$t("hj30") });
@@ -273,7 +274,7 @@
      height: 70px;
      background-color: rgb(246, 246, 247) !important;
      // background: #1e1e1e;
      border-radius: 8px;
      // border-radius: 8px;
      font-size: 0.45rem !important;
      border: none;
    }
@@ -435,6 +436,11 @@
/deep/.el-input__clear {
  font-size: 0.5rem !important;
}
/deep/ .el-input-group__prepend {
  border: none !important;
  border-radius: 0 !important;
  font-size: 0.45rem !important;
}
.on .top_btn {
  background: #2d8cf0 !important;
src/page/trading/buy.vue
@@ -113,20 +113,11 @@
              </div>
            </div>
          </div>
          <div class="tr_rs gg" @click="showGg = true">
            <div class="top_bzz">
              <span>{{ $t("hj101") }}</span>
              <span>{{ selectCycle + "X" }}</span>
            </div>
            <!-- <div class="bottom_bzz">
                <span>{{  }}</span>
                <span>{{  }}</span>
              </div> -->
          </div>
          <div class="tr_rs">
            <div class="top_bzz" style="padding-bottom: 0.2rem">
              <span style="text-align: left">
                {{ $t("hj102") }}({{ moneyData.symbol || "$" }})
                {{ $t("交易总额") }}({{ moneyData.symbol || "$" }})
              </span>
              <span style="text-align: right">
                {{ $t("hj103") }}({{ moneyData.symbol || "$" }})
src/page/user/Warehouse.vue
@@ -1,7 +1,7 @@
<template>
  <div class="ware">
    <div style="padding: 0 0.4rem 0.4rem">
      <div class="tabs-box" onscroll="handleScroll">
      <!-- <div class="tabs-box" onscroll="handleScroll">
        <div
          v-for="(item, index) in tabsArr"
          :key="index"
@@ -12,7 +12,7 @@
        >
          {{ item.title }}
        </div>
      </div>
      </div> -->
      <template v-if="active === '1'">
        <div v-for="(item, index) in tabsArr" :key="index">
src/page/user/Warehouse/Stockdetail.vue
@@ -54,13 +54,13 @@
      <div class="pagebox" v-if="pages.buyOrderTime">
        <div class="pagebox_left">{{ $t("持倉時間") }}</div>
        <div class="pagebox_right">
          {{ $moment(pages.buyOrderTime).format("YYYY-MM-DD HH:mm:ss") }}
          {{ $moment(pages.buyOrderTime).format("DD-MM-YYYY hh:mm:ss A") }}
        </div>
      </div>
      <div class="pagebox" v-if="pages.sellOrderTime">
        <div class="pagebox_left">{{ $t("hj128") }}</div>
        <div class="pagebox_right">
          {{ $moment(pages.sellOrderTime).format("YYYY-MM-DD HH:mm:ss") }}
          {{ $moment(pages.sellOrderTime).format("DD-MM-YYYY hh:mm:ss A") }}
        </div>
      </div>
    </div>
src/page/user/Warehouse/data.list.vue
@@ -125,7 +125,7 @@
            <div style="text-align: left">
              <div class="sport-content-title2">{{ $t("持倉時間") }}</div>
              <div class="sport-content-text2">
                {{ $moment(item.buyOrderTime).format("YYYY-MM-DD HH:mm:ss") }}
                {{ $moment(item.buyOrderTime).format("DD-MM-YYYY hh:mm:ss A") }}
              </div>
            </div>
          </van-col>
@@ -185,6 +185,9 @@
      default: {},
    },
  },
  mounted() {
    this.getList();
  },
  data() {
    return {
      pageNum: 1,
src/page/user/Warehouse/item.card.vue
@@ -10,7 +10,7 @@
          ≈ {{ $USD }} {{ activeObj.totalMoneyUSD || "0.0000" }}
        </div> -->
      </div>
      <div class="right" @click="closeAll">{{ $t("全部平仓") }}</div>
      <!-- <div class="right" @click="closeAll">{{ $t("全部平仓") }}</div> -->
    </div>
    <div class="item-card-itembox">
src/page/user/yebs.vue
@@ -1,7 +1,7 @@
<template>
  <div class="warehouse_page">
    <van-nav-bar
      :title="(this.$t('yebjl'))"
      :title="this.$t('yebjl')"
      left-arrow
      fixed
      @click-left="$router.go(-1)"
@@ -11,8 +11,13 @@
        v-model="refreshing"
        :success-text="$t('sxcg')"
        @refresh="onRefresh"
        >
        <van-empty v-if="!yebsList || yebsList.length < 1" class="custom-image" :image="require('@/assets/img/empty-image-default.png')" :description="$t('zwsj')" />
      >
        <van-empty
          v-if="!yebsList || yebsList.length < 1"
          class="custom-image"
          :image="require('@/assets/img/empty-image-default.png')"
          :description="$t('zwsj')"
        />
        <van-list
          v-model="loading"
          :finished="finished"
@@ -26,33 +31,47 @@
                <h3>{{ item.title }}</h3>
                <div class="li-cont">
                  <div class="li-info li-1">
                    <span class="li-label">{{ $t('zq') + ':' }}</span>
                    <span class="li-value">{{ item.returnTime }} {{ $t('day') }}</span>
                    <span class="li-label">{{ $t("zq") + ":" }}</span>
                    <span class="li-value"
                      >{{ item.returnTime }} {{ $t("day") }}</span
                    >
                  </div>
                  <div class="li-info">
                    <span class="li-label">{{ $t('syl') + ':' }}</span>
                    <span class="li-label">{{ $t("syl") + ":" }}</span>
                    <span class="li-value">{{ item.returnOfRate }}%</span>
                  </div>
                  <div class="li-info li-1">
                    <span class="li-label">{{ $t('gm') + $t('je') + ':' }}</span>
                    <span class="li-value">{{ item.money }} {{ $t('yuan') }}</span>
                    <span class="li-label">{{
                      $t("gm") + $t("je") + ":"
                    }}</span>
                    <span class="li-value"
                      >{{ item.money }} {{ $t("yuan") }}</span
                    >
                  </div>
                </div>
                <div class="li-cont">
                  <div class="li-info">
                    <span class="li-label">{{ $t('gm') + $t('sj') + ':' }}</span>
                    <span class="li-value">{{ item.buyTime | filterTime }}</span>
                    <span class="li-label">{{
                      $t("gm") + $t("sj") + ":"
                    }}</span>
                    <span class="li-value">{{
                      item.buyTime | filterTime
                    }}</span>
                  </div>
                </div>
                <div class="li-cont">
                  <div class="li-info">
                    <span class="li-label">{{ $t('jssj') + ':' }}</span>
                    <span class="li-value">{{ item.endTime | filterTime }}</span>
                    <span class="li-label">{{ $t("jssj") + ":" }}</span>
                    <span class="li-value">{{
                      item.endTime | filterTime
                    }}</span>
                  </div>
                </div>
              </div>
              <div class="li-btn-box">
                <div :class="['account', item.state === '1' ? 'a1' : 'a2']">{{ ['', $t('yjs'), $t('wjs')][item.state] }}</div>
                <div :class="['account', item.state === '1' ? 'a1' : 'a2']">
                  {{ ["", $t("yjs"), $t("wjs")][item.state] }}
                </div>
              </div>
            </div>
          </div>
@@ -63,16 +82,16 @@
</template>
<script>
import { Toast } from 'vant'
import moment from 'moment'
import { Toast } from "vant";
import moment from "moment";
// import { MessageBox } from 'mint-ui'
import * as api from '@/axios/api'
import * as api from "@/axios/api";
export default {
  data () {
  data() {
    return {
      tabsArr: ['余额宝'],
      tabsArr: ["余额宝"],
      tabsCurrentIndex: 0,
      titleName: this.$t('hj114'),
      titleName: this.$t("hj114"),
      indexSettingInfo: {},
      futuresSettingInfo: {},
      tabsPositionNumArr: [],
@@ -100,39 +119,38 @@
      loadingXg: false,
      finishedXg: false,
      refreshing: false,
      yebsList: []
    }
      yebsList: [],
    };
  },
  mounted () {
    this.getUserInfo()
    this.getIndexSettingInfo()
    this.getSettingInfo()
    this.getYebs()
  mounted() {
    this.getUserInfo();
    this.getIndexSettingInfo();
    this.getSettingInfo();
    this.getYebs();
  },
  created () {
  created() {
    if (this.$route.query.index) {
      this.tabsCurrentIndex = Number(this.$route.query.index)
      this.tabsCurrentIndex = Number(this.$route.query.index);
    }
  },
  methods: {
    async getYebs () {
    async getYebs() {
      // 获取用户信息
      let data = await api.getYebs()
      let data = await api.getYebs();
      if (data.status === 0) {
        this.$store.state.yebs = data.data
        this.yebsList = data.data
        console.log(1111, this.$store.state.yebs)
        this.refreshing = false
        this.$store.state.yebs = data.data;
        this.yebsList = data.data;
        console.log(1111, this.$store.state.yebs);
        this.refreshing = false;
      } else {
        Toast(data.msg)
        Toast(data.msg);
      }
    },
    onLoad () {
      this.loading = false
      this.getYebs()
      this.finished = true
    onLoad() {
      this.loading = false;
      this.getYebs();
      this.finished = true;
      // // 持仓
      // this.page++
      // switch (this.titleIndex) {
@@ -149,116 +167,115 @@
      //     break
      // }
    },
    onLoads () {
    onLoads() {
      // 平仓
      this.pages++
      this.pages++;
      switch (this.titleIndex) {
        case 0:
          // 沪深京平仓
          this.getListDetails()
          break
          this.getListDetails();
          break;
        case 1:
          // 指数平仓
          this.getzhishuListDetails()
          break
          this.getzhishuListDetails();
          break;
        default:
          break
          break;
      }
    },
    onRefresh () {
    onRefresh() {
      // this.page = 1
      this.refreshing = true
      this.getYebs()
      this.refreshing = true;
      this.getYebs();
    },
    onLoadss () {
      this.pagess++
    onLoadss() {
      this.pagess++;
      switch (this.titleIndex) {
        case 1:
          this.getorderList()
          break
          this.getorderList();
          break;
        default:
          break
          break;
      }
    },
    onLoadXg () {
    onLoadXg() {
      // this.getNewXg();
    },
    async getIndexSettingInfo () {
    async getIndexSettingInfo() {
      // 网站设置信息 指数
      let data = await api.getIndexSetting()
      let data = await api.getIndexSetting();
      if (data.status === 0) {
        // 成功
        this.indexSettingInfo = data.data
        this.indexSettingInfo = data.data;
      } else {
        Toast(data.msg)
        Toast(data.msg);
      }
    },
    async getSettingInfo () {
      let data = await api.getSetting()
    async getSettingInfo() {
      let data = await api.getSetting();
      if (data.status === 0) {
        // 成功
        this.settingInfo = data.data
        this.settingInfo = data.data;
      } else {
        Toast(data.msg)
        Toast(data.msg);
      }
    },
    async getUserInfo () {
    async getUserInfo() {
      // 获取用户信息
      //   let showcookie = this.getCookie('USER_TOKEN');
      let data = await api.getUserInfo()
      let data = await api.getUserInfo();
      if (data.status === 0) {
        // this.getProductSetting()
        this.$store.state.userInfo = data.data
        this.$store.state.userInfo = data.data;
      } else {
        Toast(data.msg)
        Toast(data.msg);
      }
      this.$store.state.user = this.user
    }
      this.$store.state.user = this.user;
    },
  },
  filters: {
    filterTime (v) {
        console.log(v);
    filterTime(v) {
      console.log(v);
      if (v) {
        return moment.unix(v/1000).format('YYYY-MM-DD HH:mm:ss')
        return moment.unix(v / 1000).format("DD-MM-YYYY hh:mm:ss A");
      } else {
        return ''
        return "";
      }
    },
    gettime (time) {
    gettime(time) {
      if (!time) {
        return ''
        return "";
      }
      // time = time/1000
      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()
      // time = time/1000
      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
        mm = "0" + mm;
      }
      if (d < 10) {
        d = '0' + d
        d = "0" + d;
      }
      if (h < 10) {
        h = '0' + h
        h = "0" + h;
      }
      if (m < 10) {
        m = '0' + m
        m = "0" + m;
      }
      if (c < 10) {
        c = '0' + c
        c = "0" + c;
      }
      // 17:35:2922-06-2022
      return y + '/' + mm + '/' + d + ' ' + h + ':' + m + ':' + c
    }
  }
}
      return y + "/" + mm + "/" + d + " " + h + ":" + m + ":" + c;
    },
  },
};
</script>
<style scoped lang="less">
@@ -268,12 +285,13 @@
  .van-nav-bar__content {
    height: 64px !important;
  }
  .van-nav-bar__title, .van-nav-bar__text {
    color: #FFFFFF;
  .van-nav-bar__title,
  .van-nav-bar__text {
    color: #ffffff;
    font-size: 24px;
  }
  .van-icon {
    color: #FFFFFF;
    color: #ffffff;
    font-size: 24px;
  }
}
@@ -295,7 +313,7 @@
    padding: 20px;
    padding-right: 0px;
    border-radius: 8px;
    background: #FFFFFF;
    background: #ffffff;
    .li {
      font-size: 18px;
      display: flex;
@@ -329,7 +347,7 @@
          font-size: 18px;
        }
        .a1 {
          color: #FF0000;
          color: #ff0000;
        }
        .a2 {
          color: green;
src/page/user/yebs2.vue
@@ -1,7 +1,7 @@
<template>
  <div class="warehouse_page">
    <van-nav-bar
      :title="(this.$t('yebjl'))"
      :title="this.$t('yebjl')"
      left-arrow
      fixed
      @click-left="$router.go(-1)"
@@ -11,8 +11,13 @@
        v-model="refreshing"
        :success-text="$t('sxcg')"
        @refresh="onRefresh"
        >
        <van-empty v-if="!yebsList || yebsList.length < 1" class="custom-image" :image="require('@/assets/img/empty-image-default.png')" :description="$t('zwsj')" />
      >
        <van-empty
          v-if="!yebsList || yebsList.length < 1"
          class="custom-image"
          :image="require('@/assets/img/empty-image-default.png')"
          :description="$t('zwsj')"
        />
        <van-list
          v-model="loading"
          :finished="finished"
@@ -26,40 +31,61 @@
                <h3>{{ item.dkUserName }}</h3>
                <div class="li-cont">
                  <div class="li-info li-1">
                    <span class="li-label">{{ $t('dkjg') + ':' }}</span>
                    <span class="li-value">{{ $t('dkjg') }}</span>
                    <span class="li-label">{{ $t("dkjg") + ":" }}</span>
                    <span class="li-value">{{ $t("dkjg") }}</span>
                    <!-- <span class="li-value">{{ item.dkJgName }}</span> -->
                  </div>
                  <div class="li-info li-1">
                    <span class="li-label">{{ $t('dkje') + ':' }}</span>
                    <span class="li-value">{{ item.dkMoney }} {{ $t('yuan') }}</span>
                    <span class="li-label">{{ $t("dkje") + ":" }}</span>
                    <span class="li-value"
                      >{{ item.dkMoney }} {{ $t("yuan") }}</span
                    >
                  </div>
                </div>
                <div class="li-cont">
                  <div class="li-info">
                    <span class="li-label">{{ $t('dkrdh') + ':' }}</span>
                    <span class="li-label">{{ $t("dkrdh") + ":" }}</span>
                    <span class="li-value">{{ item.dkPhone }}</span>
                  </div>
                  <div class="li-info">
                    <span class="li-label">{{ $t('shje') + ':' }}</span>
                    <span class="li-label">{{ $t("shje") + ":" }}</span>
                    <span class="li-value">{{ item.spMoney }}</span>
                  </div>
                </div>
                <div class="li-cont">
                  <div class="li-info">
                    <span class="li-label">{{ $t('dksj') + ':' }}</span>
                    <span class="li-value">{{ item.createTime | filterTime }}</span>
                    <span class="li-label">{{ $t("dksj") + ":" }}</span>
                    <span class="li-value">{{
                      item.createTime | filterTime
                    }}</span>
                  </div>
                </div>
                <div class="li-cont">
                  <div class="li-info">
                    <span class="li-label">{{ $t('yj') + ':' }}</span>
                    <span class="li-label">{{ $t("yj") + ":" }}</span>
                    <span class="li-value">{{ item.dkMessage }}</span>
                  </div>
                </div>
              </div>
              <div class="li-btn-box">
                <div :class="['account', item.dkState === '0' ? 'a0' : item.dkState === '1' ? 'a1' : item.dkState === '2' ? 'a2' : 'a3']">{{ [$t('sqz'), $t('sptg'), $t('shjj'), $t('dkffcg')][item.dkState] }}</div>
                <div
                  :class="[
                    'account',
                    item.dkState === '0'
                      ? 'a0'
                      : item.dkState === '1'
                      ? 'a1'
                      : item.dkState === '2'
                      ? 'a2'
                      : 'a3',
                  ]"
                >
                  {{
                    [$t("sqz"), $t("sptg"), $t("shjj"), $t("dkffcg")][
                      item.dkState
                    ]
                  }}
                </div>
              </div>
            </div>
          </div>
@@ -70,17 +96,17 @@
</template>
<script>
import { Toast } from 'vant'
import moment from 'moment'
import { Toast } from "vant";
import moment from "moment";
// import { MessageBox } from 'mint-ui'
import * as api from '@/axios/api'
import Axios from 'axios'
import * as api from "@/axios/api";
import Axios from "axios";
export default {
  data () {
  data() {
    return {
      tabsArr: ['余额宝'],
      tabsArr: ["余额宝"],
      tabsCurrentIndex: 0,
      titleName: this.$t('hj114'),
      titleName: this.$t("hj114"),
      indexSettingInfo: {},
      futuresSettingInfo: {},
      tabsPositionNumArr: [],
@@ -108,34 +134,35 @@
      loadingXg: false,
      finishedXg: false,
      refreshing: false,
      yebsList: []
    }
      yebsList: [],
    };
  },
  mounted () {
    this.getUserInfo()
    this.getIndexSettingInfo()
    this.getSettingInfo()
    this.getYebs()
  mounted() {
    this.getUserInfo();
    this.getIndexSettingInfo();
    this.getSettingInfo();
    this.getYebs();
  },
  created () {
  created() {
    if (this.$route.query.index) {
      this.tabsCurrentIndex = Number(this.$route.query.index)
      this.tabsCurrentIndex = Number(this.$route.query.index);
    }
  },
  methods: {
    async getYebs () {
      Axios.post('http://121.43.237.202:8091/api/dk/queryByShUserId.do').then(res => {
        console.log(3333, res)
        if (res.data.status === 0) {
          this.$store.state.yebs = res.data.data
          this.yebsList = res.data.data
          this.refreshing = false
        } else {
          // this.$message.error(res.data.msg)
          Toast(res.data.msg)
    async getYebs() {
      Axios.post("http://121.43.237.202:8091/api/dk/queryByShUserId.do").then(
        (res) => {
          console.log(3333, res);
          if (res.data.status === 0) {
            this.$store.state.yebs = res.data.data;
            this.yebsList = res.data.data;
            this.refreshing = false;
          } else {
            // this.$message.error(res.data.msg)
            Toast(res.data.msg);
          }
        }
      })
      );
      // // 获取用户信息
      // let data = await api.getDkJl()
@@ -148,10 +175,10 @@
      //   Toast(data.msg)
      // }
    },
    onLoad () {
      this.loading = false
      this.getYebs()
      this.finished = true
    onLoad() {
      this.loading = false;
      this.getYebs();
      this.finished = true;
      // // 持仓
      // this.page++
      // switch (this.titleIndex) {
@@ -168,114 +195,113 @@
      //     break
      // }
    },
    onLoads () {
    onLoads() {
      // 平仓
      this.pages++
      this.pages++;
      switch (this.titleIndex) {
        case 0:
          // 沪深京平仓
          this.getListDetails()
          break
          this.getListDetails();
          break;
        case 1:
          // 指数平仓
          this.getzhishuListDetails()
          break
          this.getzhishuListDetails();
          break;
        default:
          break
          break;
      }
    },
    onRefresh () {
    onRefresh() {
      // this.page = 1
      this.refreshing = true
      this.getYebs()
      this.refreshing = true;
      this.getYebs();
    },
    onLoadss () {
      this.pagess++
    onLoadss() {
      this.pagess++;
      switch (this.titleIndex) {
        case 1:
          this.getorderList()
          break
          this.getorderList();
          break;
        default:
          break
          break;
      }
    },
    onLoadXg () {
    onLoadXg() {
      // this.getNewXg();
    },
    async getIndexSettingInfo () {
    async getIndexSettingInfo() {
      // 网站设置信息 指数
      let data = await api.getIndexSetting()
      let data = await api.getIndexSetting();
      if (data.status === 0) {
        // 成功
        this.indexSettingInfo = data.data
        this.indexSettingInfo = data.data;
      } else {
        Toast(data.msg)
        Toast(data.msg);
      }
    },
    async getSettingInfo () {
      let data = await api.getSetting()
    async getSettingInfo() {
      let data = await api.getSetting();
      if (data.status === 0) {
        // 成功
        this.settingInfo = data.data
        this.settingInfo = data.data;
      } else {
        Toast(data.msg)
        Toast(data.msg);
      }
    },
    async getUserInfo () {
    async getUserInfo() {
      // 获取用户信息
      //   let showcookie = this.getCookie('USER_TOKEN');
      let data = await api.getUserInfo()
      let data = await api.getUserInfo();
      if (data.status === 0) {
        // this.getProductSetting()
        this.$store.state.userInfo = data.data
        this.$store.state.userInfo = data.data;
      } else {
        Toast(data.msg)
        Toast(data.msg);
      }
      this.$store.state.user = this.user
    }
      this.$store.state.user = this.user;
    },
  },
  filters: {
    filterTime (v) {
    filterTime(v) {
      if (v) {
        return moment(v).format('YYYY-MM-DD HH:mm:ss')
        return moment(v).format("DD-MM-YYYY hh:mm:ss A");
      } else {
        return ''
        return "";
      }
    },
    gettime (time) {
    gettime(time) {
      if (!time) {
        return ''
        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()
      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
        mm = "0" + mm;
      }
      if (d < 10) {
        d = '0' + d
        d = "0" + d;
      }
      if (h < 10) {
        h = '0' + h
        h = "0" + h;
      }
      if (m < 10) {
        m = '0' + m
        m = "0" + m;
      }
      if (c < 10) {
        c = '0' + c
        c = "0" + c;
      }
      // 17:35:2922-06-2022
      return y + '/' + mm + '/' + d + ' ' + h + ':' + m + ':' + c
    }
  }
}
      return y + "/" + mm + "/" + d + " " + h + ":" + m + ":" + c;
    },
  },
};
</script>
<style scoped lang="less">
@@ -285,12 +311,13 @@
  .van-nav-bar__content {
    height: 64px !important;
  }
  .van-nav-bar__title, .van-nav-bar__text {
    color: #FFFFFF;
  .van-nav-bar__title,
  .van-nav-bar__text {
    color: #ffffff;
    font-size: 24px;
  }
  .van-icon {
    color: #FFFFFF;
    color: #ffffff;
    font-size: 24px;
  }
}
@@ -312,7 +339,7 @@
    padding: 20px;
    padding-right: 0px;
    border-radius: 8px;
    background: #FFFFFF;
    background: #ffffff;
    .li {
      font-size: 18px;
      display: flex;
@@ -348,11 +375,12 @@
        .a0 {
          color: #0a4ca8;
        }
        .a1, .a3 {
        .a1,
        .a3 {
          color: green;
        }
        .a2 {
          color: #FF0000;
          color: #ff0000;
        }
      }
    }
src/utils/utils.js
@@ -1,26 +1,31 @@
import moment from "moment";
// 单位用千位分隔符显示
export function thousandBitSeparator (str) {
  var num = parseFloat(str).toFixed(3) // 这里因为我需要两位小数所以做一个限制,你们看情况做小数位的限制
  var s = num.substring(0, (num.length - 1)) // 只取小数位2位
  return s && s.toString().replace(/(\d)(?=(\d{3})+\.)/g, function ($0, $1) {
    return $1 + ','
  })
export function thousandBitSeparator(str) {
  var num = parseFloat(str).toFixed(3); // 这里因为我需要两位小数所以做一个限制,你们看情况做小数位的限制
  var s = num.substring(0, num.length - 1); // 只取小数位2位
  return (
    s &&
    s.toString().replace(/(\d)(?=(\d{3})+\.)/g, function($0, $1) {
      return $1 + ",";
    })
  );
}
// 判断是不是空 是--true
export function isNull (str) {
  if (str === '' || str === null) {
    return true
export function isNull(str) {
  if (str === "" || str === null) {
    return true;
  } else {
    return false
    return false;
  }
}
export function debounce (fn, delay) {
export function debounce(fn, delay) {
  // 时间期限
  var delay = delay || 200;
  var timer;
  // 闭包
  return function () {
  return function() {
    // 考虑作用域,上下文环境,apply需要用到this对象
    var th = this;
    // 接收的参数用 ES6 中的 rest 参数统一存储到变量 args 中。arguments就是传入的参数数组,而且个数可以不确定的传回给fn(不确定函数到底有多少个参数,用arguments来接收)
@@ -29,7 +34,7 @@
    if (timer) {
      clearTimeout(timer);
    }
    timer = setTimeout(function () {
    timer = setTimeout(function() {
      timer = null;
      // 执行方法
      fn.apply(th, args);
@@ -37,123 +42,107 @@
  };
}
// 判断是不是邮箱 是--true
export function isEmail (str) {
  let myreg = /^[A-Za-z\d]+([-_.][A-Za-z\d]+)*@([A-Za-z\d]+[-.])+[A-Za-z\d]{2,4}$/
  return myreg.test(str)
export function isEmail(str) {
  let myreg = /^[A-Za-z\d]+([-_.][A-Za-z\d]+)*@([A-Za-z\d]+[-.])+[A-Za-z\d]{2,4}$/;
  return myreg.test(str);
}
// 只能中文
export function isName (str) {
  let myreg = /^[\u4E00-\u9FA5]+$/
  return myreg.test(str)
export function isName(str) {
  let myreg = /^[\u4E00-\u9FA5]+$/;
  return myreg.test(str);
}
// 手机号码
export function isPhone (mobile) {
export function isPhone(mobile) {
  // let myreg = /^[1][3,4,5,7,8][0-9]{9}$/  //手机号码验证
  let myreg = /^[0-9]{11}$/ // 手机号码验证
  return myreg.test(mobile)
  let myreg = /^[0-9]{11}$/; // 手机号码验证
  return myreg.test(mobile);
}
// 密码 校验
export function pwdReg (psd) {
  let value = psd.replace(/\s*/g, '')
  let myreg = /^[a-zA-Z0-9!@#$%^&*.]{6,12}$/ // 手机号码验证
  return myreg.test(value)
export function pwdReg(psd) {
  let value = psd.replace(/\s*/g, "");
  let myreg = /^[a-zA-Z0-9!@#$%^&*.]{6,12}$/; // 手机号码验证
  return myreg.test(value);
}
// 身份证校验
export function idCardReg (idcard) {
  var myreg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/
  return myreg.test(idcard)
export function idCardReg(idcard) {
  var myreg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
  return myreg.test(idcard);
}
// 银行卡校验
export function bankNoReg (val) {
  var myreg = /^([1-9]{1})(\d{14,18})$/
  return myreg.test(val)
export function bankNoReg(val) {
  var myreg = /^([1-9]{1})(\d{14,18})$/;
  return myreg.test(val);
}
// 数字隐藏显示 *
export function hideNumberTo (str) {
  let number = str.toFixed(2)
  let arr = number.split('.')
  let string = ''
export function hideNumberTo(str) {
  let number = str.toFixed(2);
  let arr = number.split(".");
  let string = "";
  for (var i = 0; i < arr[0].length; i++) {
    string += '*'
    string += "*";
  }
  return string + '.**'
  return string + ".**";
}
// 时间戳转换为时间格式
export function timeFormat (date) {
  let fmt = 'yyyy-MM-dd hh:mm:ss'
  // let date = new Date(time)
  if (/(y+)/.test(fmt)) {
    fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length))
  }
  let o = {
    'M+': date.getMonth() + 1,
    'd+': date.getDate(),
    'h+': date.getHours(),
    'm+': date.getMinutes(),
    's+': date.getSeconds()
  }
  for (let k in o) {
    if (new RegExp(`(${k})`).test(fmt)) {
      let str = o[k] + ''
      fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : padLeftZero(str))
    }
  }
  return fmt
export function timeFormat(date) {
  return moment(date).format("DD-MM-YYYY hh:mm:ss A");
}
function padLeftZero (str) {
  return ('00' + str).substr(str.length)
function padLeftZero(str) {
  return ("00" + str).substr(str.length);
}
// cookie 操作
export function setCookie (name, value, day) {
  if (day !== 0) { // 当设置的时间等于0时,不设置expires属性,cookie在浏览器关闭后删除
    var curDate = new Date()
    var curTamp = curDate.getTime()
    var curWeeHours = new Date(curDate.toLocaleDateString()).getTime() - 1
    var passedTamp = curTamp - curWeeHours
    var leftTamp = 24 * 60 * 60 * 1000 - passedTamp
    var leftTime = new Date()
    leftTime.setTime(leftTamp + curTamp)
    document.cookie = name + '=' + escape(value) + ';expires=' + leftTime.toGMTString()
export function setCookie(name, value, day) {
  if (day !== 0) {
    // 当设置的时间等于0时,不设置expires属性,cookie在浏览器关闭后删除
    var curDate = new Date();
    var curTamp = curDate.getTime();
    var curWeeHours = new Date(curDate.toLocaleDateString()).getTime() - 1;
    var passedTamp = curTamp - curWeeHours;
    var leftTamp = 24 * 60 * 60 * 1000 - passedTamp;
    var leftTime = new Date();
    leftTime.setTime(leftTamp + curTamp);
    document.cookie =
      name + "=" + escape(value) + ";expires=" + leftTime.toGMTString();
  } else {
    document.cookie = name + '=' + escape(value)
    document.cookie = name + "=" + escape(value);
  }
}
// get
export function getCookie (name) {
  var arr
  var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)')
  arr = document.cookie.match(reg)
export function getCookie(name) {
  var arr;
  var reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
  arr = document.cookie.match(reg);
  if (arr) {
    return unescape(arr[2])
    return unescape(arr[2]);
  } else {
    return null
    return null;
  }
  // document.cookie = name + "=" + escape(value);
}
export function clearCookie () {
  this.setCookie('USER_TOKEN', '', -1)
export function clearCookie() {
  this.setCookie("USER_TOKEN", "", -1);
}
//
export function checkCookie () {
  var user = this.getCookie('USER_TOKEN')
  if (user !== '') {
    alert('Welcome again ' + user)
export function checkCookie() {
  var user = this.getCookie("USER_TOKEN");
  if (user !== "") {
    alert("Welcome again " + user);
  } else {
    user = prompt('Please enter your name:', '')
    if (user !== '' && user != null) {
      this.setCookie('USER_TOKEN', user, 365)
    user = prompt("Please enter your name:", "");
    if (user !== "" && user != null) {
      this.setCookie("USER_TOKEN", user, 365);
    }
  }
}