From 1bd03f5c2e7b9fa9cc80c4e673e18132da411333 Mon Sep 17 00:00:00 2001
From: jhzh <1628036192@qq.com>
Date: Wed, 12 Nov 2025 16:21:06 +0800
Subject: [PATCH] 1

---
 src/page/trading/buy.vue |  533 ++++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 404 insertions(+), 129 deletions(-)

diff --git a/src/page/trading/buy.vue b/src/page/trading/buy.vue
index bbeccae..9b9bc65 100644
--- a/src/page/trading/buy.vue
+++ b/src/page/trading/buy.vue
@@ -4,11 +4,11 @@
       <div class="top_cny">
         <div class="top_back">
           <div class="left_back" @click="handleBack()">
-            <img src="../../assets/img/zuojiantou.png" alt />
+            <img src="../../assets/img/backs.png" alt />
           </div>
           <div class="right_title">
-            <div class="t_t" style="white-space: nowrap">
-              <span>{{ name }}</span>
+            <div class="t_t" style="white-space: pre-wrap">
+              <span>{{ name }}({{ gid }})</span>
             </div>
             <div class="b_t">
               <span>{{ spell }}</span>
@@ -19,7 +19,10 @@
           <div class="cot">
             <div class="lefts">
               <div class="top_new">
-                <span>{{ nowPrice }}</span>
+                <span>
+                  {{ bayType | currencySymbol }}
+                  {{ nowPrice | _toLocaleString }}
+                </span>
               </div>
               <div class="bottom_es">
                 <span>{{ $t("hj98") }}</span>
@@ -32,7 +35,7 @@
                   @click="handleTradingClick(0)"
                   :class="tabsCurrentIndex === 0 ? 'actives' : ''"
                 >
-                  <span>{{ $t("hj84") }}</span>
+                  <span>Short</span>
                 </div>
 
                 <div
@@ -40,7 +43,7 @@
                   @click="handleTradingClick(1)"
                   :class="tabsCurrentIndex === 1 ? 'active' : ''"
                 >
-                  <span>{{ $t("hj85") }}</span>
+                  <span>Long</span>
                 </div>
               </div>
             </div>
@@ -94,6 +97,7 @@
                 type="number"
                 onkeyup="value=value.replace(/[^\d]/g,'')"
                 v-model="num"
+                @input="numInput"
               />
             </div>
             <div class="right_sw flexJy" style="width: auto">
@@ -101,14 +105,7 @@
                 <img src="@/assets/img/ic_number_jian.png" />
               </div>
               <div class="addorj"></div>
-              <div
-                class="addorj"
-                @click="
-                  typeof num == 'string'
-                    ? (num = Number(Number(num) + 1))
-                    : (num = Number(Number(num) + 1))
-                "
-              >
+              <div class="addorj" @click="jjjisua">
                 <img src="@/assets/img/ic_number_add.png" />
               </div>
             </div>
@@ -116,31 +113,67 @@
           <div class="tr_rs gg" @click="showGg = true">
             <div class="top_bzz">
               <span>{{ $t("hj101") }}</span>
-              <span>{{ selectCycle + "X" }}</span>
+              <span>{{ selectCycle }}</span>
             </div>
           </div>
           <div class="tr_rs">
             <div class="top_bzz" style="padding-bottom: 0.2rem">
-              <span style="text-align: left">
-                {{ $t("交易总额") }}({{ moneyData.symbol || "$" }})
-              </span>
-              <span style="text-align: right">
-                {{ $t("hj103") }}({{ moneyData.symbol || "$" }})
-              </span>
+              <span style="text-align: left"> {{ $t("交易总额") }} </span>
+              <span style="text-align: right"> {{ $t("hj103") }} </span>
             </div>
 
             <div class="bottom_bzz">
-              <span>{{ ((nowPrice / selectCycle) * num).toFixed(2) }}</span>
-              <span style="white-space: nowarp">
-                <!-- moneyData.symbol + " " + -->
-
-                {{ moneyData.availableBalance || "0.00" }}
+              <span>
+                {{ bayType | currencySymbol }}
+                {{
+                  (nowPrice * selectCycle.replace("X", "") * num)
+                    | _toLocaleString
+                }}
+                <span v-if="bayType != 'US'">
+                  ≈ $
+                  {{
+                    (nowPrice * selectCycle.replace("X", "") * num * rate)
+                      | _toLocaleString
+                  }}
+                </span>
               </span>
+              <span style="white-space: nowarp">
+                $ {{ moneyData.availableBalance | _toLocaleString }}
+              </span>
+            </div>
+          </div>
+          <div class="tr_rs">
+            <div class="top_bzz" style="padding-bottom: 0.2rem">
+              <span style="text-align: left"> {{ $t("hj44") }} </span>
+              <span style="text-align: right"> </span>
+            </div>
+
+            <div class="bottom_bzz">
+              <span>
+                <!-- {{
+                  (nowPrice * selectCycle.replace("X", "") * num * sxf).toFixed(
+                    2
+                  )
+                }} -->
+                {{Math.floor(nowPrice * selectCycle.replace("X", "") * num * sxf * 100) / 100}}
+                <span v-if="bayType != 'US'">
+                  ≈ $
+                  {{
+                    (nowPrice *
+                      selectCycle.replace("X", "") *
+                      num *
+                      sxf *
+                      rate)
+                      | _toLocaleString
+                  }}
+                </span>
+              </span>
+              <span style="white-space: nowarp"> </span>
             </div>
           </div>
         </div>
       </div>
-      <div class="switchs">
+      <!-- <div class="switchs">
         <div class="zy">
           <div class="left_zy">
             <span>{{ $t("hj104") }}</span>
@@ -151,21 +184,16 @@
         </div>
         <div class="zy" v-show="checkedZy">
           <div class="left_zy">
-            <input
-              v-model="profitTarget"
-              onkeyup="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')"
-              @input="zyInt"
-            />
+            <input v-model="profitTarget" onkeyup="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')"
+              @input="zyInt" />
           </div>
           <div class="right_sw" style="width: auto">
             <div class="addorj" @click="zYjian">
               <img src="@/assets/img/ic_number_jian.png" />
             </div>
             <div class="addorj"></div>
-            <div
-              class="addorj"
-              @click="profitTarget = (Number(profitTarget) + 1).toFixed(2)"
-            >
+            <div class="addorj"
+              @click="tabsCurrentIndex==0?profitTarget = (Number(profitTarget) + 1).toFixed(2):profitTarget = (Number(profitTarget) + 1).toFixed(2)">
               <img src="@/assets/img/ic_number_add.png" />
             </div>
           </div>
@@ -180,14 +208,11 @@
         </div>
         <div class="zy" v-show="checkedZs">
           <div class="left_zy">
-            <input
-              v-model="zhisun"
-              onkeyup="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')"
-              @input="zsInt"
-            />
+            <input v-model="zhisun" onkeyup="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')" @input="zsInt" />
           </div>
           <div class="right_sw" style="width: auto">
-            <div class="addorj" @click="zhisun--">
+            <div class="addorj"
+              @click="zSjian">
               <img src="@/assets/img/ic_number_jian.png" />
             </div>
             <div class="addorj"></div>
@@ -196,21 +221,55 @@
             </div>
           </div>
         </div>
-        <!-- <div class="zy">
-            <div class="left_zy">
-              <span>追踪止损</span>
-            </div>
-            <div class="right_sw">
-              <van-switch v-model="profitArr[2].checked" />
-            </div>
-          </div> -->
+      </div> -->
+      <div class="btn_buy" @click="clickishow()">
+        <div
+          :class="tabsCurrentIndex == 0 ? 'maichu' : ''"
+          :style="preMarket==0?'background-color:#555555 !important':'background-color:#287dff'"
+        >
+          <span>{{ tabsCurrentIndex == 0 ? $t("场外卖出") : $t("场外买入") }}</span>
+        </div>
       </div>
       <div class="btn_buy" @click="gdOrSetBuy()">
-        <div :class="tabsCurrentIndex == 0 ? 'maichu' : ''">
-          <span>{{ tabsCurrentIndex == 0 ? $t("hj84") : $t("hj85") }}</span>
+        <div
+          :class="tabsCurrentIndex == 0 ? 'maichu' : ''"
+          style="background-color:#287dff"
+        >
+          <span>{{ tabsCurrentIndex == 0 ? $t("hj84") : $t("gm") }}</span>
         </div>
       </div>
     </div>
+    <van-popup v-model="isshow" position="center" round>
+      <div class="edit-popup">
+        <div class="edit-title">
+          {{ tabsCurrentIndex == 0 ? $t("场外卖出") : $t("场外买入") }}
+        </div>
+        <div class="division"></div>
+
+        <div class="edit-form">
+          <div class="form-item">
+            <div class="form-label">
+              <span class="required">*</span>{{ $t("hj271") }}
+            </div>
+            <input
+              pattern="^(0\.\d+|[1-9]\d*(\.\d+)?)$"
+              type="number"
+              v-model="preMarketPrice"
+              :placeholder="$t('hj271')"
+              class="form-input"
+            />
+          </div>
+        </div>
+
+        <div class="division"></div>
+        <div class="edit-buttons">
+          <div class="cancel-btn" @click="isshow = false">
+            {{ $t("qx") }}
+          </div>
+          <div class="save-btn" @click="saveEdit">{{ $t("qr") }}</div>
+        </div>
+      </div>
+    </van-popup>
     <van-action-sheet
       v-model="showGg"
       :actions="siteLeverList"
@@ -225,9 +284,11 @@
 <script>
 import * as api from "@/axios/api";
 import { mapActions } from "vuex";
+import { myMixin } from "@/mixins/myMixin";
 
 export default {
   name: "trBuy",
+  mixins: [myMixin],
   created() {
     if (this.$route.query.t) {
       this.tabsCurrentIndex = Number(this.$route.query.t);
@@ -257,6 +318,9 @@
     if (this.$route.query.if_us) {
       this.if_us = this.$route.query.if_us;
     }
+    if(this.$route.query.preMarket){
+      this.preMarket = this.$route.query.preMarket;
+    }
   },
   data() {
     return {
@@ -269,12 +333,16 @@
       nums: 1,
       profit: false,
       nowPrice: 0,
+      isshow: false,
+      preMarketPrice:"",
+      preMarket:0,
       type: 0,
       code: "",
       name: "",
       spell: "",
       settingInfo: [],
-      selectCycle: 1,
+      selectCycle: "1X",
+      selectLever: 1,
       siteLeverList: [],
       checkedZy: false,
       checkedZs: false,
@@ -284,31 +352,53 @@
       profitTarget: 0,
       if_us: 0,
       bayType: "",
+      sxf: "",
       id: "",
       actions: [
-        { name: "100X", subname: this.$t("hj102") },
-        { name: "200X", subname: this.$t("hj102") },
-        { name: "300X", subname: this.$t("hj102") },
+        {
+          name: "100X",
+          subname: this.$t("hj102")
+        },
+        {
+          name: "200X",
+          subname: this.$t("hj102")
+        },
+        {
+          name: "300X",
+          subname: this.$t("hj102")
+        }
       ],
       profitArr: [
         {
           name: this.$t("hj104"),
-          checked: false,
+          checked: false
         },
         {
           name: this.$t("hj105"),
-          checked: false,
+          checked: false
         },
         {
           name: this.$t("hj110"),
-          checked: false,
-        },
+          checked: false
+        }
       ],
       moneyData: {},
+      gid: ""
     };
+  },
+  computed: {
+    // 计算当前汇率
+    rate() {
+      let rate = 1;
+      if (this.bayType == "HK") rate = this.htu;
+      else if (this.bayType == "IN") rate = this.itu;
+      else if (this.bayType == "TW") rate = this.ttu;
+      return rate;
+    }
   },
   mounted() {
     this.bayType = this.$route.query.bayType;
+    this.gid = this.$route.query.gid;
     if (this.bayType == "in") {
       this.priceTabs = [this.$t("hj108"), this.$t("hj109")];
     } else if (this.bayType == "qh") {
@@ -317,6 +407,7 @@
     this.setUseInfo();
     this.getMoneyData();
     this.getSettingInfo();
+    this.queryStockConfig();
   },
   watch: {
     checkedZy(val) {
@@ -330,18 +421,74 @@
         // 支持
         navigator.vibrate([55]);
       }
-    },
+    }
   },
   methods: {
-    ...mapActions(["setUseInfo"]),
+    async clickishow(){
+      if(this.preMarket==0){
+        return
+      }
+      if(this.tabsCurrentIndex == 0 ){
+        this.$store.commit("elAlertShow", {
+          elAlertShow: true,
+          elAlertText: this.$t("失败")
+        });
+      }else{
+        this.isshow = true
+      }
+    },
+    async saveEdit(){
+      if(this.preMarketPrice<=0){
+      this.$store.commit("elAlertShow", {
+          elAlertShow: true,
+          elAlertText: this.$t("hj277")+0
+        });
+      }else{
+        this.setBuy()
+      }
 
+    },
+    async queryStockConfig() {
+      let data = await api.queryStockConfig();
+      if (data.status === 0) {
+        this.sxf = data.data.cValue;
+      }
+    },
+    zSjian() {
+      var newzishu = (Number(this.zhisun) - 1).toFixed(2);
+      if (Number(newzishu) < 1) {
+      } else {
+        this.zhisun = newzishu;
+      }
+    },
+    ...mapActions(["setUseInfo"]),
+    numInput(e) {
+      // this.nowPrice / this.selectCycle.replace("X", "")
+      // this.moneyData.availableBalance
+      let numbs = Math.floor(
+        this.moneyData.availableBalance /
+          this.nowPrice /
+          this.selectCycle.replace("X", "")
+      );
+      if (e.target.value >= numbs) {
+        this.num = numbs;
+      }
+      // if()
+      console.log(e.target.value);
+    },
+    handleDoubleClick(event) {
+      console.log(1);
+      // console.log('Input field was double-clicked', event);
+    },
     async getMoneyData() {
       let data = await api.getMoney();
-      let type = this.bayType === "SZHB" ? "US" : this.bayType;
+      // let type = this.bayType === "SZHB" ? "US" : this.bayType;
       if (data.status === 0) {
-        const newArr = data.data.filter((item) => item.accectType === type);
+        // const newArr = data.data.filter(item => item.accectType === type);
+        // this.moneyData = newArr[0] || {};
 
-        this.moneyData = newArr[0] || {};
+        this.moneyData = data.data[0];
+
         // console.log(this.bayType, newArr);
         // 判断是否登录
         // this.moneyList = data.data;
@@ -355,6 +502,21 @@
     },
     handleTabsClick(item, index) {
       this.priceTabsCurrentIndex = index;
+    },
+    jjjisua() {
+      let numbs = Math.floor(
+        this.moneyData.availableBalance /
+          this.nowPrice /
+          this.selectCycle.replace("X", "")
+      );
+      typeof this.num == "string"
+        ? (this.num = Number(Number(this.num) + 1))
+        : (this.num = Number(Number(this.num) + 1));
+
+      console.log(this.num, numbs);
+      if (this.num >= numbs) {
+        this.num = numbs;
+      }
     },
     jyslJian() {
       if (typeof this.num === "string") {
@@ -383,18 +545,35 @@
       }
     },
     zYjian() {
-      if ((Number(this.profitTarget) - 1).toFixed(2) < this.nowPrice) {
-        this.profitTarget = this.nowPrice;
+      var newzishu = (Number(this.profitTarget) - 1).toFixed(2);
+      if (Number(newzishu) < 1) {
       } else {
-        this.profitTarget = (Number(this.profitTarget) - 1).toFixed(2);
+        this.profitTarget = newzishu;
       }
+      // this.profitTarget = (Number(this.profitTarget) - 1).toFixed(2);
+      // if(this.tabsCurrentIndex==0){
+      //   console.log( this.nowPrice);
+      //   if ((Number(this.profitTarget) - 1).toFixed(2) < this.nowPrice) {
+      //     this.profitTarget = (Number(this.profitTarget) - 1).toFixed(2);
+      //   } else {
+      //     this.profitTarget = this.nowPrice;
+      //   }
+      // }else{
+      //   console.log(123);
+      //   if ((Number(this.profitTarget) - 1).toFixed(2) < this.nowPrice) {
+      //     this.profitTarget = this.nowPrice;
+      //   } else {
+      //     this.profitTarget = (Number(this.profitTarget) - 1).toFixed(2);
+      //   }
+      // }
     },
     zSjia() {
-      if ((Number(this.zhisun) + 1).toFixed(2) > this.nowPrice) {
-        this.zhisun = this.nowPrice;
-      } else {
-        this.zhisun++;
-      }
+      this.zhisun++;
+      // if ((Number(this.zhisun) + 1).toFixed(2) > this.nowPrice) {
+      //   this.zhisun = this.nowPrice;
+      // } else {
+      //   this.zhisun++;
+      // }
     },
     zsInt(e) {
       if (typeof e.target.value === "string") {
@@ -415,9 +594,18 @@
       }
     },
     onSelect(val) {
-      this.selectCycle = val.gg;
+      this.selectCycle = val.name;
+      this.selectLever = val.label;
     },
     gdOrSetBuy() {
+      if(this.preMarket == 1){
+      this.$store.commit("elAlertShow", {
+        elAlertShow: true,
+        elAlertText: this.$t('hj113'),
+        elAlertType: "success"
+      });
+        return
+      }
       if (this.priceTabsCurrentIndex == 0) {
         this.setBuy();
       } else {
@@ -437,9 +625,11 @@
       let opts = {
         stockId: this.code,
         buyNum: this.num,
-        lever: 1,
-        targetPrice: this.nums,
+        lever: this.selectLever,
+        targetPrice: this.nums
       };
+      console.log(this.selectLever, "this.selectLever ");
+
       if (this.tabsCurrentIndex == 0) {
         opts.buyType = 1;
       } else {
@@ -458,23 +648,24 @@
         this.$store.commit("elAlertShow", {
           elAlertShow: true,
           elAlertText: data.msg,
-          elAlertType: "success",
+          elAlertType: "success"
         });
         this.getUserInfo();
-        this.$router.push("/warehouse?index=1&buyType=" + this.bayType);
+        // this.$router.push("/warehouse?index=1&buyType=" + this.bayType);
+        this.$router.push("/markets-list");
       } else {
         this.$store.commit("elAlertShow", {
           elAlertShow: true,
-          elAlertText: data.msg,
+          elAlertText: data.msg
         });
       }
     },
     // 买卖
     setBuy() {
-      if (!this.$store.state.userInfo.idCard) {
+      if (this.$store.state.userInfo.isActive !== 2) {
         this.$store.commit("elAlertShow", {
           elAlertShow: true,
-          elAlertText: this.$t("hj111"),
+          elAlertText: this.$t("hj111")
         });
         this.$router.push("/authentications");
         return;
@@ -489,14 +680,15 @@
         // stockId: this.detail.id,
         // buyNum: this.selectNumber ? this.selectNumber * 100 : 0, // 单位为手
         // buyType: this.selectType,
-        // lever: this.selectCycle ? this.selectCycle : 0,
+        lever: this.selectCycle ? this.selectCycle : 0,
         // subaccountNumber:this.subaccountNumber
-
+        preMarketPrice:this.preMarketPrice,
         // 买入是买涨buyType:0, 卖出是买跌buyType:1,卖出的状态是0,买入的状态是1
         buyNum: this.num, // 单位为手
         // buyNum: (this.num.match(/\d+/g))[0] * 100, // 单位为手
-        lever: 1,
+        lever: this.selectLever
       };
+      console.log(this.selectLever, "this.selectLever ");
       if (this.tabsCurrentIndex == 0) {
         opts.buyType = 1;
       } else {
@@ -530,7 +722,7 @@
         this.$store.commit("elAlertShow", {
           elAlertShow: true,
           elAlertText: data.msg,
-          elAlertType: "success",
+          elAlertType: "success"
         });
         this.getUserInfo();
         var buyType = "";
@@ -539,17 +731,18 @@
         } else {
           buyType = 0;
         }
-        this.$router.push("/warehouse?index=1&buyType=" + this.bayType);
+        // this.$router.push("/warehouse?index=1&buyType=" + this.bayType);
+        this.$router.push("/markets-list");
       } else {
         if (data.msg.indexOf("不在交易时段内") > -1) {
           this.$store.commit("elAlertShow", {
             elAlertShow: true,
-            elAlertText: this.$t("hj113"),
+            elAlertText: this.$t("hj113")
           });
         } else {
           this.$store.commit("elAlertShow", {
             elAlertShow: true,
-            elAlertText: data.msg,
+            elAlertText: data.msg
           });
         }
       }
@@ -563,14 +756,15 @@
         this.$store.commit("elAlertShow", {
           elAlertShow: true,
           elAlertText: data.msg,
-          elAlertType: "success",
+          elAlertType: "success"
         });
         this.getUserInfo();
-        this.$router.push("/warehouse?index=1&buyType=" + this.bayType);
+        // this.$router.push("/warehouse?index=1&buyType=" + this.bayType);
+        this.$router.push("/markets-list");
       } else {
         this.$store.commit("elAlertShow", {
           elAlertShow: true,
-          elAlertText: data.msg,
+          elAlertText: data.msg
         });
       }
     },
@@ -584,7 +778,7 @@
       } else {
         this.$store.commit("elAlertShow", {
           elAlertShow: true,
-          elAlertText: data.msg,
+          elAlertText: data.msg
         });
       }
       this.$store.state.user = this.user;
@@ -599,14 +793,14 @@
         // data.data.siteLever根据/分割成数组
         // this.siteLeverList = data.data.siteLever.split('/')
 
-        this.selectCycle = data.data.siteLever;
         if (
           this.$store.state.userInfo !== undefined &&
           this.$store.state.userInfo !== null &&
-          this.$store.state.userInfo.phone !== "" &&
           this.$store.state.userInfo.siteLever != null
         ) {
-          this.selectCycle = this.$store.state.userInfo.siteLever.split("/")[0];
+          this.selectCycle =
+            this.$store.state.userInfo.siteLever.split("/")[0] + "X";
+
           this.siteLeverList = [];
           for (
             let i = 0;
@@ -614,32 +808,21 @@
             i++
           ) {
             let val = this.$store.state.userInfo.siteLever.split("/")[i];
-            let item = { label: val + this.$t("hj112"), value: val };
-            this.siteLeverList.push(item);
-          }
-        } else {
-          this.selectCycle = data.data.siteLever.split("/")[0];
-          this.siteLeverList = [];
-          for (let i = 0; i < data.data.siteLever.split("/").length; i++) {
-            let val = data.data.siteLever.split("/")[i];
-            var ccet = (Number(this.nowPrice) / Number(val)).toFixed(2);
-            // let item = { label: val + '倍', value: val ,bzj:ccet}
             let item = {
-              name: val + "X",
-              subname: this.$t("hj102") + ":" + (ccet * 100).toFixed(2),
-              gg: val,
-              bzj: ccet,
+              label: val,
+              name: val + "X"
             };
             this.siteLeverList.push(item);
           }
+          console.log(this.siteLeverList, " this.selectCycle");
         }
       } else {
         this.$store.commit("elAlertShow", {
           elAlertShow: true,
-          elAlertText: data.msg,
+          elAlertText: data.msg
         });
       }
-    },
+    }
   },
   filters: {
     getName(name) {
@@ -648,23 +831,113 @@
       } else {
         return name;
       }
-    },
-  },
+    }
+  }
 };
 </script>
 
 <style scoped lang="less">
+  @green: #287dff;
 .buy_page {
   width: 100%;
   min-height: 100vh;
-  background-color: #fff;
+  // background-color: #fff;
 
   > .content {
     width: 100%;
     height: calc(100% - 1.6rem);
     position: relative;
-    background-color: rgb(241, 242, 246);
+    background-color: #222;
   }
+}
+.edit-popup {
+  width: 100%;
+  padding: 0.25rem 0;
+  box-sizing: border-box;
+
+  .division {
+    width: 100%;
+    height: 0.25rem;
+    background-color: #f5f5f5;
+  }
+}
+/deep/ .van-popup {
+  width: 80%;
+  border-radius: 8px;
+}
+.edit-popup {
+  width: 100%;
+  padding: 0.25rem 0;
+  box-sizing: border-box;
+
+  .division {
+    width: 100%;
+    height: 0.25rem;
+    background-color: #f5f5f5;
+  }
+}
+.form-item {
+  // margin-bottom: 15px;
+  border-bottom: 1px solid #f5f5f5;
+  padding: 0.35rem 0 0.25rem;
+}
+
+.form-label {
+  font-size: 0.4rem;
+  margin-bottom: 0.2rem;
+  color: #333;
+}
+
+.required {
+  color: red;
+  margin-right: 4px;
+}
+
+.form-input {
+  width: 100%;
+  height: 1.1rem;
+  border: 1px solid #ccc;
+  border-radius: 4px;
+  padding: 0 10px;
+  font-size: 0.3rem;
+  box-sizing: border-box;
+  color: #333;
+}
+
+.edit-buttons {
+  display: flex;
+  justify-content: space-between;
+  border-top: 1px solid #f5f5f5;
+  padding-top: 15px;
+}
+.cancel-btn,
+.save-btn {
+  flex: 1;
+  height: 40px;
+  line-height: 40px;
+  text-align: center;
+  font-size: 16px;
+  cursor: pointer;
+}
+
+.cancel-btn {
+  color: #333;
+}
+
+.save-btn {
+  color: @green;
+  font-weight: 500;
+}
+.edit-title {
+  text-align: center;
+  font-size: 0.45rem;
+  font-weight: 700;
+  padding: 0.25rem;
+  color: #333;
+}
+
+.edit-form {
+  padding: 0.25rem;
 }
 
 .top_cny {
@@ -692,12 +965,12 @@
     }
 
     .right_title {
-      width: 3rem;
+      width: 80vw;
       height: 80%;
 
       .t_t {
         width: 100%;
-        height: 70%;
+        // height: 70%;
         display: flex;
         align-items: center;
         font-size: 0.4615rem;
@@ -769,7 +1042,7 @@
           > div {
             width: 45%;
             height: 70%;
-            background: rgb(236, 236, 236);
+            background: #444;
             display: flex;
             justify-content: center;
             align-items: center;
@@ -778,7 +1051,7 @@
           }
 
           .active {
-            background: #fff;
+            background: #333;
             color: rgb(110, 169, 118);
 
             span {
@@ -787,7 +1060,7 @@
           }
 
           .actives {
-            background: #fff;
+            background: #333;
             color: rgb(212, 71, 78);
 
             span {
@@ -804,14 +1077,14 @@
   width: 100%;
   height: auto;
   padding: 0.2rem 0.8rem;
-  background: #fff;
+  // background: #fff;
   margin-top: 0.1rem;
   border-radius: 0.3rem;
 
   .tabs {
     width: 100%;
     height: 0.8205rem;
-    background: rgb(247, 247, 247);
+    background: #555;
     display: flex;
     align-items: center;
     justify-content: center;
@@ -827,7 +1100,7 @@
     }
 
     .active {
-      background: #fff;
+      background: #333;
 
       span {
         font-weight: 600;
@@ -882,7 +1155,7 @@
       }
 
       .bottom_bzz {
-        color: #000;
+        // color: #000;
         font-size: 0.3846rem;
 
         span {
@@ -904,7 +1177,7 @@
       border-bottom: 0.05rem solid rgb(236, 236, 236);
 
       > div {
-        color: #000;
+        // color: #000;
       }
     }
   }
@@ -945,7 +1218,8 @@
 .btn_buy {
   width: 100%;
   height: auto;
-  background: #fff;
+  bottom: 0;
+  // background: #fff;
   padding: 0.8rem 0.8rem;
   display: flex;
   align-items: flex-end;
@@ -957,7 +1231,7 @@
     display: flex;
     justify-content: center;
     align-items: center;
-    background: rgb(68, 155, 84);
+    // background: rgb(68, 155, 84);
     color: #fff;
     font-size: 0.3846rem;
     border-radius: 0.15rem;
@@ -1031,7 +1305,7 @@
     left: -0.1rem;
     z-index: 10000;
     background: rgba(255, 255, 255, 0);
-    border-left: 0.12rem solid rgb(241, 242, 246);
+    border-left: 0.12rem solid #555;
     transform-origin: bottom right;
     -ms-transform: skew(-10deg, 0deg);
     -webkit-transform: skew(-10deg, 0deg);
@@ -1052,13 +1326,14 @@
     left: 0;
     z-index: 10000;
     background: rgba(255, 255, 255, 0);
-    border-right: 0.1rem solid rgb(241, 242, 246);
+    border-right: 0.1rem solid #555;
     transform-origin: bottom left;
     -ms-transform: skew(-10deg, 0deg);
     -webkit-transform: skew(-10deg, 0deg);
     transform: skew(-10deg, 0deg);
   }
 }
+
 /deep/.van-overlay {
   z-index: 10000 !important;
 }

--
Gitblit v1.9.3