Handy_Cao 2 rokov pred
rodič
commit
6a095cdb1c

+ 2 - 2
src/packages/mobile/views/swap/detail/Index.vue

@@ -109,7 +109,7 @@ const { pageIndex, loading, run, pageCount } = useRequest(queryTjmdTradeOrderDet
 const getDelistingButtonTitles = (tab: number, row: Model.TjmdTradeOrderDetailRsp) => {
     /// 如果是机构自己的单 不能签署
     if (row.userid === getUserId() ) {
-        return tab === BuyOrSell.Buy ? '卖出' : '买入'
+        return '摘牌'
     }
     switch (status(row)) {
         case 1:
@@ -119,7 +119,7 @@ const getDelistingButtonTitles = (tab: number, row: Model.TjmdTradeOrderDetailRs
         case 3:
             return '待审核'
         default:
-            return tab === BuyOrSell.Buy ? '卖出' : '买入'
+            return '摘牌'
     }
 }
 

+ 1 - 1
src/packages/mobile/views/swap/detail/components/delisting/Index.vue

@@ -76,7 +76,7 @@
             </Field>
         </Form>
         <template #footer>
-            <Button type="danger" block round @click="formRef?.submit">{{ selectedRow.buyorsell === 0 ? '卖出' : '买入' }}</Button>
+            <Button type="danger" block round @click="formRef?.submit">摘牌</Button>
         </template>
     </app-popup>
 </template>

+ 0 - 1
src/packages/mobile/views/swap/detail/components/listing/Index.vue

@@ -203,7 +203,6 @@ const onSubmit = () => {
     formData.PriceMode = priceMove.value
     formData.MarketMaxSub = priceMove.value === EPriceMode.PRICEMODE_LIMIT ? 0.0 : formData.MarketMaxSub
     formData.GoodsID = goodsid
-    formData.PriceMode = priceMove.value
     formData.ListingSelectType = EListingSelectType.LISTINGSELECTTYPE_LISTING
     formData.DelistingType = EDelistingType.DELISTINGTYPE_SELECTED
     formData.BuildType = EBuildType.BUILDTYPE_OPEN

+ 2 - 2
src/packages/pc/views/market/trade/swap/detail/index.vue

@@ -27,8 +27,8 @@
                 </div>
             </template>
             <Chart class="g-view-detail__container" v-bind="{ goodsCode }" v-if="active" />
-            <Order class="g-view-detail__container" v-bind="{ goodsId }" v-else />
-            <component ref="componentRef" v-bind="{ quoteGoods: selectedRow }" :is="componentMap.get(componentId)"
+            <Order class="g-view-detail__container" v-bind="{ goodsId, quoteGoods: selectedRow }" v-else />
+            <component ref="componentRef" v-bind="{ quoteGoods: selectedRow, goodsId }" :is="componentMap.get(componentId)"
                     @closed="closeComponent" v-if="componentId" />
         </app-view>
     </teleport>

+ 1 - 2
src/packages/pc/views/market/trade/swap/detail/listing/index.vue

@@ -36,7 +36,7 @@
                 <span>{{ accountStore.currentAccountId }}</span>
             </el-form-item>
             <el-form-item label="参考价格" v-if="priceMove === 2">
-                <span :class="quote?.lastColor">{{ quote?.last ?? 0.0 }}</span>
+                <span :class="quote?.lastColor">{{ (quote?.last ?? 0.0).toFixed(goods?.decimalplace) }}</span>
             </el-form-item>
             <el-form-item label="估算价格" v-if="priceMove === 3">
                 <span :class="quote?.lastColor">{{ estimateprice.toFixed(goods?.decimalplace) }}</span>
@@ -203,7 +203,6 @@ const onSubmit = () => {
                 formData.PriceMode = priceMove.value
                 formData.MarketMaxSub = priceMove.value === EPriceMode.PRICEMODE_LIMIT ? 0.0 : formData.MarketMaxSub
                 formData.GoodsID = goodsid
-                formData.PriceMode = priceMove.value
                 formData.ListingSelectType = EListingSelectType.LISTINGSELECTTYPE_LISTING
                 formData.DelistingType = EDelistingType.DELISTINGTYPE_SELECTED
                 formData.BuildType = EBuildType.BUILDTYPE_OPEN

+ 24 - 10
src/packages/pc/views/market/trade/swap/detail/order/delisting/index.vue

@@ -18,7 +18,7 @@
                 <span>{{ getBuyOrSellName(selectedRow.buyorsell) }}</span>
             </el-form-item>
             <el-form-item label="挂牌价格">
-                <span>{{ selectedRow.orderprice }}</span>
+                <span :class="quote?.lastColor">{{ selectedRow.pricemode === 3 ? (selectedRow.marketmaxsub+(quote?.last ?? 0.0)).toFixed(goods?.decimalplace ?? 2.0) : selectedRow.orderprice }}</span>
             </el-form-item>
             <el-form-item label="卖出价格" v-if="selectedRow.pricemode === 3" prop="PriceMode">
                 <el-radio-group v-model="priceMode">
@@ -57,7 +57,7 @@
         <template #footer>
             <el-button type="info" @click="onCancel(false)">取消</el-button>
             <el-button type="danger" :disabled="!formData.OrderQty || formData.OrderQty > selectedRow.orderqty"
-                        @click="onSubmit(EBuildType.BUILDTYPE_OPEN)">{{ selectedRow.buyorsell === 0 ? '卖出' : '买入' }}</el-button>
+                        @click="onSubmit(EBuildType.BUILDTYPE_OPEN)">摘牌</el-button>
         </template>
     </app-drawer>
 </template>
@@ -111,6 +111,8 @@ const qtyStep = shallowRef(qtyStepList[0])
 const margin = shallowRef<Model.TjmdTodayAccountMarginRsp>()
 /// 商品信息
 const goods = computed(() => futuresStore.getGoods(props.selectedRow.goodsid) ) 
+/// 商品价格
+const quote = futuresStore.getGoodsQuote(props.quoteGoods?.refgoodsid ?? 0)
 /// 默认价格为挂牌价格
 formData.OrderPrice = props.selectedRow.orderprice ?? 0.0
 
@@ -136,17 +138,29 @@ const calculateDelistingAmount = () => {
     if (margin.value?.infoc) {
         const { MarginAlgorithm, MarketMarginValue } = margin.value?.infoc
         const { OrderQty = 0 } = formData
-        const { OrderPrice = 0.0 } = formData
         const { agreeunit = 0 } = goods.value ?? {}
-        /// 按比例
-        if (MarginAlgorithm === 1) {
-            /// 价格*数量*合约单位*保证金比例
-            permargin.value = OrderPrice*OrderQty*agreeunit*MarketMarginValue
+        const { marketmaxsub } = props.selectedRow
+        if (props.selectedRow.pricemode === 3) {
+            if (MarginAlgorithm === 1) {
+                /// 价格*数量*合约单位*保证金比例
+                permargin.value = ((quote.value?.last ?? 0.0)+(marketmaxsub))*OrderQty*agreeunit*MarketMarginValue
+            } else {
+                /// 数量*保证金值
+                permargin.value = OrderQty*MarketMarginValue
+            }
+            amount.value = OrderQty*((quote.value?.last ?? 0.0)+(marketmaxsub))*agreeunit
         } else {
-            /// 数量*保证金值
-            permargin.value = OrderQty*MarketMarginValue
+            const { OrderPrice = 0.0 } = formData
+            /// 按比例
+            if (MarginAlgorithm === 1) {
+                /// 价格*数量*合约单位*保证金比例
+                permargin.value = OrderPrice*OrderQty*agreeunit*MarketMarginValue
+            } else {
+                /// 数量*保证金值
+                permargin.value = OrderQty*MarketMarginValue
+            }
+            amount.value = OrderQty*OrderPrice*agreeunit
         }
-        amount.value = OrderQty*OrderPrice*agreeunit
     }
 }
 

+ 4 - 5
src/packages/pc/views/market/trade/swap/detail/order/index.vue

@@ -15,7 +15,7 @@
                         getDelistingButtonTitles(1, row) }}</el-button>
             </template>
         </app-table>
-        <component ref="componentRef" v-bind="{ selectedRow, quoteGoods }" :is="componentMap.get(componentId)"
+        <component ref="componentRef" v-bind="{ selectedRow, quoteGoods, goodsId }" :is="componentMap.get(componentId)"
             @closed="closeComponent" v-if="componentId" />
     </div>
 </template>
@@ -50,8 +50,7 @@ const componentMap = new Map<string, unknown>([
 ])
 
 const futuresStore = useFuturesStore()
-const quote = futuresStore.getGoodsQuote(props.goodsId)
-
+const quote = futuresStore.getGoodsQuote(props.quoteGoods?.refgoodsid ?? 0)
 /// 查询用户掉期协议签署表
 const { dataList: protocolList } = useRequest(queryMdUserSwapProtocol, {
     params: {
@@ -77,7 +76,7 @@ const { componentRef, componentId, openComponent, closeComponent } = useComponen
 const getDelistingButtonTitles = (tab: number, row: Model.TjmdTradeOrderDetailRsp) => {
     /// 如果是机构自己的单 不能签署
     if (row.userid === getUserId() ) {
-        return tab === BuyOrSell.Buy ? '卖出' : '买入'
+        return '摘牌'
     }
     switch (status(row)) {
         case 1:
@@ -87,7 +86,7 @@ const getDelistingButtonTitles = (tab: number, row: Model.TjmdTradeOrderDetailRs
         case 3:
             return '待审核'
         default:
-            return tab === BuyOrSell.Buy ? '卖出' : '买入'
+            return '摘牌'
     }
 }