From f1dc8f5a7f3a661ce19513a9ad47fe18e3e883ff Mon Sep 17 00:00:00 2001
From: jhzh <1628036192@qq.com>
Date: Mon, 12 Aug 2024 11:47:14 +0800
Subject: [PATCH] 1

---
 src/components/constract/PerpetualContract/positionCom/currentPosition.vue |   96 +++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 83 insertions(+), 13 deletions(-)

diff --git a/src/components/constract/PerpetualContract/positionCom/currentPosition.vue b/src/components/constract/PerpetualContract/positionCom/currentPosition.vue
index fa454bd..b774863 100644
--- a/src/components/constract/PerpetualContract/positionCom/currentPosition.vue
+++ b/src/components/constract/PerpetualContract/positionCom/currentPosition.vue
@@ -41,12 +41,36 @@
 
           <el-button class="btn" size="small" @click="handleAllClose(scope)">{{
             $t("message.home.pingcang")
+          }}</el-button
+          >&nbsp;&nbsp;
+          <el-button class="btn" size="small" @click="zhiyingzhisunClose(scope)">{{
+            $t("message.jiaoyi.zhiyingzhisun")
           }}</el-button>
         </template>
       </el-table-column>
     </el-table>
     <close-all-dialog ref="closeAllDialog"></close-all-dialog>
     <close-dialog ref="closeDialog"></close-dialog>
+    <el-dialog v-model="dialogFormVisible" width="400">
+      <el-form :model="form">
+        <el-form-item :label="$t('message.jiaoyi.zhiying')" :label-width="formLabelWidth">
+          <el-input v-model="form.zhiying" :placeholder="$t(`message.jiaoyi['请输入止盈金额']`)" autocomplete="off" />
+        </el-form-item>
+      </el-form>
+      <el-form :model="form">
+        <el-form-item :label="$t('message.jiaoyi.zhisun')" :label-width="formLabelWidth">
+          <el-input v-model="form.zhisun" :placeholder="$t(`message.jiaoyi['请输入止损金额']`)" autocomplete="off" />
+        </el-form-item>
+      </el-form>
+      <template #footer>
+        <div class="dialog-footer">
+          <el-button @click="dialogFormVisible = false">{{ $t('message.jiaoyi.quxiao') }}</el-button>
+          <el-button type="primary" @click="quedingSetting">
+            {{ $t('message.user.queding') }}
+          </el-button>
+        </div>
+      </template>
+    </el-dialog>
   </div>
 </template>
 
@@ -77,12 +101,19 @@
   },
   data() {
     return {
+      formLabelWidth: '40px',
+      form: {
+        zhiying: "",
+        zhisun: ""
+      },
+      order_no: '',
+      dialogFormVisible: false,
       pageNum: 1,
       timer: null,
       tables: [
         {
-          prop: "volume", //volume_open持仓总张数,volume表示剩余
-          label: "message.home.zhangshu",
+          prop: "shuliang", //volume_open持仓总张数,volume表示剩余
+          label: "message.home.shuliang",
         },
         {
           prop: "trade_avg_price",
@@ -98,19 +129,24 @@
           formatter: this.directionFormatter,
         },
 
-        {
-          prop: "change_ratio",
-          label: "message.home.baozhengjinbilv",
-          formatter: this.ratioFormatter,
-        },
+        // {
+        //   prop: "change_ratio",
+        //   label: "message.home.baozhengjinbilv",
+        //   formatter: this.ratioFormatter,
+        // },
         {
           prop: "deposit",
           label: "message.home.baozhengjin",
         },
         {
           prop: "profit",
-          label: "message.user.weishixianyingkui(shouyilv)",
+          label: "message.user.weishixianyingkui",
           formatter: this.formatterData,
+        },
+        {
+          prop: "profit",
+          label: "message.user.shouyilv",
+          formatter: this.formatterData1,
         },
       ],
       tableData: [],
@@ -131,24 +167,46 @@
     clearInterval(this.timer);
   },
   methods: {
+    quedingSetting(){
+      const data = {
+        order_no: this.order_no,
+        stop_price_profit: this.form.zhiying,
+        stop_price_loss: this.form.zhisun,
+      }
+      Axios.quedingSetting(data).then(res => {
+        if(res.code == 0) {
+          this.$message({
+            message: this.$t("message.user.chenggong"),
+            type: "success",
+          });
+          this.dialogFormVisible = false
+        }
+      })
+    },
     ratioFormatter(row) {
       const { change_ratio } = row;
-      const ratio = `${bigDecimal.divide(change_ratio, 100, 4)}%`;
+      const ratio = `${bigDecimal.divide(change_ratio * 100, 100, 2)}%`;
       return ratio;
     },
     directionFormatter(row, column, val) {
       return val === "buy"
-        ? this.$t("message.home.kaiduo")
-        : this.$t("message.home.kaikong");
+        ? 'Long'
+        : 'Shot';
     },
     formatterData(row) {
       const ratio = this.ratioFormatter(row);
       const profit = Number(row.profit).toFixed(4);
-      return `${profit}(${ratio})`;
+      return profit > 0 ?`+${profit}`: `${profit}`;
     },
+    formatterData1(row) {
+      const ratio = this.ratioFormatter(row);
+      const profit = Number(row.profit).toFixed(4);
+      return ratio > 0 ? `+${ratio}` : `${ratio}`;
+    },
+
     //设置单个单元格样式   行下标:rowIndex    列下标:columnIndex
     cellStyle({ row, column, rowIndex, columnIndex }) {
-      if (columnIndex == 6) {
+      if (columnIndex == 6 || columnIndex == 5) {
         if (Number(row.profit) > 0) {
           return { color: "#62C885" };
         } else {
@@ -170,6 +228,11 @@
       };
       Axios.contractOrderList(data).then((res) => {
         this.tableData = res.data;
+        this.tableData.forEach(item => {
+          let shuliang = item.deposit*item.lever_rate/item.trade_avg_price
+          item.shuliang = shuliang.toFixed(4)
+        })
+        // console.log(this.tableData,'this.tableData');
         this.$emit("getPositionNum", res.data.length);
         // 未实现盈亏
         const profitLoss = res.data.reduce(
@@ -196,6 +259,10 @@
     handleAllClose(data) {
       this.$refs.closeAllDialog.open(data.row);
     },
+    zhiyingzhisunClose(data){
+      this.order_no = data.row.order_no
+      this.dialogFormVisible = true
+    }
   },
 };
 </script>
@@ -229,4 +296,7 @@
   background: #409eff;
   color: #fff;
 }
+/deep/ .el-dialog__header {
+    border-bottom: none;
+}
 </style>

--
Gitblit v1.9.3