huangbin 4 år sedan
förälder
incheckning
b0e032ed9b

+ 32 - 22
src/views/market/spot_trade/spot_trade_order_transaction/spot_trade_order_transaction_swap/components/delisting/index.vue

@@ -225,47 +225,57 @@ export default defineComponent({
         // 是否是 限价
         const isLimit = () => formState.priceType === 2;
         const getPrice = () => (isFloat() && isLimit() ? formState.price : props.selectedRow.orderprice);
+        // 四舍五入
+        const fn = (value: number) => Math.round(value * 100) / 1000;
         // 金额
         const getMoney = () => {
             let result = 0;
             const temp = getGoodsAgreeunitByGoodsId(props.selectedRow.goodsid);
-            const price = getQuoteDayInfoByCodeFindPrice(props.parantSelectedRow.refgoodscode);
-            if (price && price !== '--') {
-                const argeeunit = temp ? temp : 1;
-                let priceTemp: string | number = price;
-                if (isLimit()) {
-                    priceTemp = formState.price;
-                } else {
-                    if (isFloat()) {
-                        priceTemp = price;
-                    } else {
-                        priceTemp = props.selectedRow.orderprice;
+            const argeeunit = temp ? temp : 1;
+            let priceTemp: number = 0;
+            // 限价
+            if (isLimit()) {
+                priceTemp = formState.price;
+            } else {
+                // 市价
+                if (isFloat()) {
+                    const price = getQuoteDayInfoByCodeFindPrice(props.parantSelectedRow.refgoodscode);
+                    if (price && price !== '--') {
+                        // 浮动价
+                        priceTemp = +price + props.selectedRow.marketmaxsub;
                     }
+                } else {
+                    priceTemp = props.selectedRow.orderprice;
                 }
-                result = formState.num * argeeunit * Number(priceTemp);
-                // const price = isFloat() ? getPrice() + props.selectedRow.marketmaxsub : getPrice();
             }
-
-            // return Math.round(formState.num * argeeunit * price * 100) / 100;
+            if (formState.num) {
+                // 四舍五入
+                result = fn(formState.num * argeeunit * +priceTemp);
+            }
+            return result ? result : '--';
         };
         // 估算价
         const getRatio = () => {
             let result = '--';
             const price = getQuoteDayInfoByCodeFindPrice(props.parantSelectedRow.refgoodscode);
             if (price && price !== '--') {
-                result = (+price + props.selectedRow.marketmaxsub).toString();
+                // 四舍五入
+                result = fn(+price + props.selectedRow.marketmaxsub).toString();
             }
             return result;
         };
         // 保证金
         const getMargin = () => {
-            debugger;
-            const marginvalue = getReckonMarginValueByTradeMode(TradeMode.DiaoQi);
-            let result = 0;
-            if (formState.num && marginvalue) {
-                // result = getMoney() * formState.num * (marginvalue / 100);
+            let result = '--';
+            const price = getMoney();
+            if (price !== '--') {
+                const marginvalue = getReckonMarginValueByTradeMode(TradeMode.DiaoQi);
+                if (formState.num && marginvalue) {
+                    // 四舍五入
+                    result = fn(+price + marginvalue * formState.num).toString();
+                }
             }
-            return result ? result.toFixed(2) : '--';
+            return result;
         };
         // 估算价
         // function getGuseetPrice() {