|
@@ -3,7 +3,7 @@
|
|
|
<div class="buy-sell-market">
|
|
<div class="buy-sell-market">
|
|
|
<div class="buy-sell-market-title">
|
|
<div class="buy-sell-market-title">
|
|
|
<a class="backIcon"
|
|
<a class="backIcon"
|
|
|
- @click="cancel">
|
|
|
|
|
|
|
+ @click="cancelAction">
|
|
|
<LeftOutlined />
|
|
<LeftOutlined />
|
|
|
</a>
|
|
</a>
|
|
|
<div class="titleBtn">
|
|
<div class="titleBtn">
|
|
@@ -11,8 +11,15 @@
|
|
|
<div class="arrowRightIcon"></div>
|
|
<div class="arrowRightIcon"></div>
|
|
|
</div>
|
|
</div>
|
|
|
<div class="priceBar bdf1 ml20">
|
|
<div class="priceBar bdf1 ml20">
|
|
|
- <div class="greenBar green"
|
|
|
|
|
- @click="changeMarketOrDetail">
|
|
|
|
|
|
|
+ <div>
|
|
|
|
|
+ <!-- 最新价 -->
|
|
|
|
|
+ <span>1255.00</span>
|
|
|
|
|
+ <!-- 涨跌值 -->
|
|
|
|
|
+ <span>1255.00</span>
|
|
|
|
|
+ <!-- 涨跌幅 -->
|
|
|
|
|
+ <span>1255.00</span>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="greenBar green">
|
|
|
<div class="numBlock ml15">
|
|
<div class="numBlock ml15">
|
|
|
<div class="first">卖价</div>
|
|
<div class="first">卖价</div>
|
|
|
<div class="last">{{selectedRow.sellprice}}</div>
|
|
<div class="last">{{selectedRow.sellprice}}</div>
|
|
@@ -22,8 +29,7 @@
|
|
|
<div class="last">{{selectedRow.sellqty}}</div>
|
|
<div class="last">{{selectedRow.sellqty}}</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
- <div class="greenBar green"
|
|
|
|
|
- @click="changeMarketOrDetail">
|
|
|
|
|
|
|
+ <div class="greenBar green">
|
|
|
<div class="numBlock ml15">
|
|
<div class="numBlock ml15">
|
|
|
<div class="first">卖价</div>
|
|
<div class="first">卖价</div>
|
|
|
<div class="last">{{selectedRow.sellprice}}</div>
|
|
<div class="last">{{selectedRow.sellprice}}</div>
|
|
@@ -48,8 +54,12 @@
|
|
|
:record="selectedRow"
|
|
:record="selectedRow"
|
|
|
@click="openComponent" />
|
|
@click="openComponent" />
|
|
|
</div>
|
|
</div>
|
|
|
|
|
+ <!-- 交易图表 -->
|
|
|
|
|
+ <Chart v-if="showComponentsId === ComponentType.chart"
|
|
|
|
|
+ @update="changeComponent" />
|
|
|
|
|
+ <!-- 买卖大厅内容 -->
|
|
|
<a-row class="buySellHall"
|
|
<a-row class="buySellHall"
|
|
|
- v-if="showMarketOrDetail">
|
|
|
|
|
|
|
+ v-if="showComponentsId === ComponentType.marketContent">
|
|
|
<a-col :span="12">
|
|
<a-col :span="12">
|
|
|
<Sell ref="sellRef"
|
|
<Sell ref="sellRef"
|
|
|
:parantSelectedRow="deliverGoods" />
|
|
:parantSelectedRow="deliverGoods" />
|
|
@@ -59,8 +69,9 @@
|
|
|
:parantSelectedRow="deliverGoods" />
|
|
:parantSelectedRow="deliverGoods" />
|
|
|
</a-col>
|
|
</a-col>
|
|
|
</a-row>
|
|
</a-row>
|
|
|
|
|
+ <!-- 成交明细 -->
|
|
|
<StockExchange :deliverGoods="deliverGoods"
|
|
<StockExchange :deliverGoods="deliverGoods"
|
|
|
- v-else />
|
|
|
|
|
|
|
+ v-if="showComponentsId === ComponentType.tradeDetail" />
|
|
|
<component :is="componentId"
|
|
<component :is="componentId"
|
|
|
v-if="componentId"
|
|
v-if="componentId"
|
|
|
:selectedRow="deliverGoods"
|
|
:selectedRow="deliverGoods"
|
|
@@ -87,6 +98,8 @@ import moment, { Moment } from 'moment';
|
|
|
import { QueryQuoteDayRsp } from '@/services/go/quote/interface';
|
|
import { QueryQuoteDayRsp } from '@/services/go/quote/interface';
|
|
|
import { QueryDeliveryRelationRsp } from '@/services/go/delivery/interface';
|
|
import { QueryDeliveryRelationRsp } from '@/services/go/delivery/interface';
|
|
|
import StockExchange from '../stock-exchange/index.vue';
|
|
import StockExchange from '../stock-exchange/index.vue';
|
|
|
|
|
+import Chart from '../chart/index.vue';
|
|
|
|
|
+import { ComponentType } from '../../setup';
|
|
|
|
|
|
|
|
export default defineComponent({
|
|
export default defineComponent({
|
|
|
emits: ['cancel', 'update'],
|
|
emits: ['cancel', 'update'],
|
|
@@ -105,6 +118,7 @@ export default defineComponent({
|
|
|
Buy,
|
|
Buy,
|
|
|
Sell,
|
|
Sell,
|
|
|
BtnList,
|
|
BtnList,
|
|
|
|
|
+ Chart,
|
|
|
LeftOutlined,
|
|
LeftOutlined,
|
|
|
Listing: defineAsyncComponent(() => import('../listing/index.vue')),
|
|
Listing: defineAsyncComponent(() => import('../listing/index.vue')),
|
|
|
Detail: defineAsyncComponent(() => import('../detail/index.vue')),
|
|
Detail: defineAsyncComponent(() => import('../detail/index.vue')),
|
|
@@ -131,9 +145,19 @@ export default defineComponent({
|
|
|
};
|
|
};
|
|
|
const { componentId, closeComponent, openComponent } = handleModalComponent(queryFn, ref({}));
|
|
const { componentId, closeComponent, openComponent } = handleModalComponent(queryFn, ref({}));
|
|
|
|
|
|
|
|
- const showMarketOrDetail = ref<boolean>(true);
|
|
|
|
|
- function changeMarketOrDetail() {
|
|
|
|
|
- showMarketOrDetail.value = !showMarketOrDetail.value;
|
|
|
|
|
|
|
+ const showComponentsId = ref<ComponentType>(ComponentType.chart);
|
|
|
|
|
+
|
|
|
|
|
+ // 切换组件
|
|
|
|
|
+ function changeComponent(type: ComponentType) {
|
|
|
|
|
+ showComponentsId.value = type;
|
|
|
|
|
+ }
|
|
|
|
|
+ // 返回上层组件
|
|
|
|
|
+ function cancelAction() {
|
|
|
|
|
+ if (showComponentsId.value === ComponentType.chart) {
|
|
|
|
|
+ cancel();
|
|
|
|
|
+ } else {
|
|
|
|
|
+ showComponentsId.value = ComponentType.chart;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
TimerUtils.setInterval(
|
|
TimerUtils.setInterval(
|
|
@@ -155,8 +179,10 @@ export default defineComponent({
|
|
|
closeComponent,
|
|
closeComponent,
|
|
|
openComponent,
|
|
openComponent,
|
|
|
btnListData,
|
|
btnListData,
|
|
|
- showMarketOrDetail,
|
|
|
|
|
- changeMarketOrDetail,
|
|
|
|
|
|
|
+ changeComponent,
|
|
|
|
|
+ ComponentType,
|
|
|
|
|
+ showComponentsId,
|
|
|
|
|
+ cancelAction,
|
|
|
};
|
|
};
|
|
|
},
|
|
},
|
|
|
});
|
|
});
|