|
|
@@ -1,101 +1,104 @@
|
|
|
<template>
|
|
|
- <!-- 买卖大厅 -->
|
|
|
- <div class="buy-sell-market">
|
|
|
- <div class="buy-sell-market-title">
|
|
|
- <a class="backIcon" @click="cancel">
|
|
|
- <LeftOutlined />
|
|
|
- </a>
|
|
|
- <div class="titleBtn">
|
|
|
- <div class="name">{{selectedRow.deliverygoodsname}}</div>
|
|
|
- <div class="arrowRightIcon"></div>
|
|
|
- </div>
|
|
|
- <div class="titleBtn titleBtn2">
|
|
|
- <div class="arrowLeftIcon"></div>
|
|
|
- <div class="name">{{selectedRow.wrgoodsname}}</div>
|
|
|
- <div class="arrowRightIcon"></div>
|
|
|
- </div>
|
|
|
- <div class="titleBtn titleBtn2">
|
|
|
- <div class="arrowLeftIcon"></div>
|
|
|
- <div class="name">{{selectedRow.warehousename}}</div>
|
|
|
- <div class="arrowRightIcon"></div>
|
|
|
- </div>
|
|
|
- <div class="titleBtn titleBtn3" v-if="!isWR(enumName)">
|
|
|
- <div class="arrowLeftIcon"></div>
|
|
|
- <div class="name">
|
|
|
- <a-month-picker
|
|
|
- :allowClear="false"
|
|
|
- v-model:value="time"
|
|
|
- @change="timeChange"
|
|
|
- class="commonDatePicker conditionPicker"
|
|
|
- />
|
|
|
- </div>
|
|
|
- <DownOutlined />
|
|
|
- </div>
|
|
|
- <div class="green bdf1 ml20">
|
|
|
- <div class="numBlock ml15" v-if="isFloat()">
|
|
|
- <div class="first">卖基差</div>
|
|
|
- <div class="last">{{selectedRow.sellpricemove}}</div>
|
|
|
- </div>
|
|
|
- <div class="numBlock ml15" v-else>
|
|
|
- <div class="first">卖价</div>
|
|
|
- <div class="last">{{selectedRow.sellprice}}</div>
|
|
|
- </div>
|
|
|
- <div class="numBlock">
|
|
|
- <div class="first">卖量</div>
|
|
|
- <div class="last">{{selectedRow.sellqty}}</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="red ml35">
|
|
|
- <div class="numBlock" v-if="isFloat()">
|
|
|
- <div class="first">买基差</div>
|
|
|
- <div class="last">{{selectedRow.buypricemove}}</div>
|
|
|
- </div>
|
|
|
- <div class="numBlock" v-else>
|
|
|
- <div class="first">买价</div>
|
|
|
- <div class="last">{{selectedRow.buyprice}}</div>
|
|
|
- </div>
|
|
|
- <div class="numBlock">
|
|
|
- <div class="first">买量</div>
|
|
|
- <div class="last">{{selectedRow.buyqty}}</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="market" v-if="isFloat()">
|
|
|
- <div class="first">{{selectedRow.goodscode}}</div>
|
|
|
- <div class="last red">{{getGoodsPrice()}}</div>
|
|
|
- <LineChartOutlined />
|
|
|
- </div>
|
|
|
- <BtnList :btnList="firstBtn" :record="selectedRow" @click="openComponent" />
|
|
|
+ <!-- 买卖大厅 -->
|
|
|
+ <div class="buy-sell-market">
|
|
|
+ <div class="buy-sell-market-title">
|
|
|
+ <a class="backIcon"
|
|
|
+ @click="cancel">
|
|
|
+ <LeftOutlined />
|
|
|
+ </a>
|
|
|
+ <div class="titleBtn">
|
|
|
+ <div class="name">{{selectedRow.deliverygoodsname}}</div>
|
|
|
+ <div class="arrowRightIcon"></div>
|
|
|
+ </div>
|
|
|
+ <div class="titleBtn titleBtn2">
|
|
|
+ <div class="arrowLeftIcon"></div>
|
|
|
+ <div class="name">{{selectedRow.wrgoodsname}}</div>
|
|
|
+ <div class="arrowRightIcon"></div>
|
|
|
+ </div>
|
|
|
+ <div class="titleBtn titleBtn2">
|
|
|
+ <div class="arrowLeftIcon"></div>
|
|
|
+ <div class="name">{{selectedRow.warehousename}}</div>
|
|
|
+ <div class="arrowRightIcon"></div>
|
|
|
+ </div>
|
|
|
+ <div class="titleBtn titleBtn3"
|
|
|
+ v-if="!isWR(enumName)">
|
|
|
+ <div class="arrowLeftIcon"></div>
|
|
|
+ <div class="name">
|
|
|
+ <a-month-picker :allowClear="false"
|
|
|
+ v-model:value="time"
|
|
|
+ @change="timeChange"
|
|
|
+ class="commonDatePicker conditionPicker" />
|
|
|
</div>
|
|
|
- <a-row class="buySellHall">
|
|
|
- <a-col :span="12" v-if="sellMarket.isMarket">
|
|
|
- <Sell
|
|
|
- :enumName="enumName"
|
|
|
- ref="sellRef"
|
|
|
- :parantSelectedRow="selectedRow"
|
|
|
- :time="time"
|
|
|
- :btnList="handleBtnList(sellMarket.btnList)"
|
|
|
- />
|
|
|
- </a-col>
|
|
|
- <a-col :span="12" v-if="buyMarket.isMarket">
|
|
|
- <Buy
|
|
|
- :enumName="enumName"
|
|
|
- ref="buyRef"
|
|
|
- :time="time"
|
|
|
- :parantSelectedRow="selectedRow"
|
|
|
- :btnList="handleBtnList(buyMarket.btnList)"
|
|
|
- />
|
|
|
- </a-col>
|
|
|
- </a-row>
|
|
|
- <component
|
|
|
- :is="componentId"
|
|
|
- v-if="componentId"
|
|
|
- :selectedRow="selectedRow"
|
|
|
- :goodsPrice="getGoodsPrice()"
|
|
|
- :enumName="enumName"
|
|
|
- :time="time"
|
|
|
- @cancel="closeComponent"
|
|
|
- ></component>
|
|
|
+ <DownOutlined />
|
|
|
+ </div>
|
|
|
+ <div class="green bdf1 ml20">
|
|
|
+ <div class="numBlock ml15"
|
|
|
+ v-if="isFloat()">
|
|
|
+ <div class="first">卖基差</div>
|
|
|
+ <div class="last">{{selectedRow.sellpricemove}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="numBlock ml15"
|
|
|
+ v-else>
|
|
|
+ <div class="first">卖价</div>
|
|
|
+ <div class="last">{{selectedRow.sellprice}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="numBlock">
|
|
|
+ <div class="first">卖量</div>
|
|
|
+ <div class="last">{{selectedRow.sellqty}}</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="red ml35">
|
|
|
+ <div class="numBlock"
|
|
|
+ v-if="isFloat()">
|
|
|
+ <div class="first">买基差</div>
|
|
|
+ <div class="last">{{selectedRow.buypricemove}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="numBlock"
|
|
|
+ v-else>
|
|
|
+ <div class="first">买价</div>
|
|
|
+ <div class="last">{{selectedRow.buyprice}}</div>
|
|
|
+ </div>
|
|
|
+ <div class="numBlock">
|
|
|
+ <div class="first">买量</div>
|
|
|
+ <div class="last">{{selectedRow.buyqty}}</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="market"
|
|
|
+ v-if="isFloat()">
|
|
|
+ <div class="first">{{selectedRow.goodscode}}</div>
|
|
|
+ <div class="last red">{{getGoodsPrice()}}</div>
|
|
|
+ <LineChartOutlined />
|
|
|
+ </div>
|
|
|
+ <BtnList :btnList="firstBtn"
|
|
|
+ :record="selectedRow"
|
|
|
+ @click="openComponent" />
|
|
|
</div>
|
|
|
+ <a-row class="buySellHall">
|
|
|
+ <a-col :span="12"
|
|
|
+ v-if="sellMarket.isMarket">
|
|
|
+ <Sell :enumName="enumName"
|
|
|
+ ref="sellRef"
|
|
|
+ :parantSelectedRow="selectedRow"
|
|
|
+ :time="time"
|
|
|
+ :btnList="handleBtnList(sellMarket.btnList)" />
|
|
|
+ </a-col>
|
|
|
+ <a-col :span="12"
|
|
|
+ v-if="buyMarket.isMarket">
|
|
|
+ <Buy :enumName="enumName"
|
|
|
+ ref="buyRef"
|
|
|
+ :time="time"
|
|
|
+ :parantSelectedRow="selectedRow"
|
|
|
+ :btnList="handleBtnList(buyMarket.btnList)" />
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
+ <component :is="componentId"
|
|
|
+ v-if="componentId"
|
|
|
+ :selectedRow="selectedRow"
|
|
|
+ :goodsPrice="getGoodsPrice()"
|
|
|
+ :enumName="enumName"
|
|
|
+ :time="time"
|
|
|
+ @cancel="closeComponent"></component>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
|
|
|
<script lang="ts">
|
|
|
@@ -109,7 +112,7 @@ import Buy from './components/buy/index.vue';
|
|
|
import Sell from './components/sell/index.vue';
|
|
|
import { LineChartOutlined, DownOutlined } from '@ant-design/icons-vue';
|
|
|
import { handleModalComponent } from '@/common/setup/asyncComponent';
|
|
|
-import { onMounted, PropType, ref } from 'vue';
|
|
|
+import { onBeforeUnmount, onMounted, PropType, ref } from 'vue';
|
|
|
import { handleSpotBtnList } from '../../setup';
|
|
|
import { v4 } from 'uuid';
|
|
|
import { addSubscribeQuotation, removeSubscribeQuotation } from '@/services/socket/quota';
|
|
|
@@ -165,7 +168,7 @@ export default defineComponent({
|
|
|
const arr = [{ exchangeCode: 250, goodsCode: props.selectedRow.goodscode, subState: 0 }];
|
|
|
addSubscribeQuotation(uuid, arr);
|
|
|
}
|
|
|
- onMounted(() => {
|
|
|
+ onBeforeUnmount(() => {
|
|
|
removeSubscribeQuotation(uuid);
|
|
|
TimerUtils.clearInterval('buyAndSellMartet');
|
|
|
TimerUtils.clearTimeout('debounce');
|
|
|
@@ -227,5 +230,4 @@ export default defineComponent({
|
|
|
});
|
|
|
</script>
|
|
|
<style lang="less">
|
|
|
-
|
|
|
</style>
|