|
@@ -1,50 +1,15 @@
|
|
|
<template>
|
|
<template>
|
|
|
<!--期货-->
|
|
<!--期货-->
|
|
|
<div class="topTableHeight">
|
|
<div class="topTableHeight">
|
|
|
- <a-table :columns="getColumnsList()" :class="['srcollYTable', isBottom ? 'condSecondTabTable' : 'condSecondTabTableNoBottom', tableList.length ? 'noPlaceHolder' : 'hasPlaceHolder']" :scroll="{ x: '100%', y: isBottom ? 'calc(100vh- 443px)' : 'calc(100vh - 196px)' }" :pagination="false" :loading="loading" :customRow="Rowclick" rowKey="key" :data-source="tableList">
|
|
|
|
|
- <template #totalturnover="{ text }">
|
|
|
|
|
- <span>{{changeUnit(text)}}</span>
|
|
|
|
|
- </template>
|
|
|
|
|
- <!-- 涨跌 -->
|
|
|
|
|
- <template #change="{ record }">
|
|
|
|
|
- <span>{{quoteChange(record, record.decimalplace)}}</span>
|
|
|
|
|
- </template>
|
|
|
|
|
- <!-- 幅度 -->
|
|
|
|
|
- <template #amplitude="{ record }">
|
|
|
|
|
- <span>{{quoteAmplitude(record, record.decimalplace)}}</span>
|
|
|
|
|
- </template>
|
|
|
|
|
- <!-- 振幅 -->
|
|
|
|
|
- <template #vibration="{ record }">
|
|
|
|
|
- <span>{{quoteAmplituOfVibration(record, record.decimalplace)}}</span>
|
|
|
|
|
- </template>
|
|
|
|
|
|
|
+ <a-table :columns="getColumnsList()" :class="['srcollYTable', isBottom ? 'condSecondTabTable' : 'condSecondTabTableNoBottom', tableList.length ? 'noPlaceHolder' : 'hasPlaceHolder']" :scroll="{ x: '100%', y: isBottom ? 'calc(100vh- 443px)' : 'calc(100vh - 196px)' }" :pagination="false" :loading="loading" :customRow="Rowclick" rowKey="goodscode" :data-source="tableList">
|
|
|
<template #index="{ index }">
|
|
<template #index="{ index }">
|
|
|
<span>{{index + 1}}</span>
|
|
<span>{{index + 1}}</span>
|
|
|
</template>
|
|
</template>
|
|
|
- <!-- 买价 -->
|
|
|
|
|
- <template #bid="{ text, record }">
|
|
|
|
|
- <span :class="handleQuotePriceColor(text, record.presettle)">{{text}}</span>
|
|
|
|
|
- </template>
|
|
|
|
|
- <!-- 卖价 -->
|
|
|
|
|
- <template #ask="{ text, record }">
|
|
|
|
|
- <span :class="handleQuotePriceColor(text, record.presettle)">{{text}}</span>
|
|
|
|
|
- </template>
|
|
|
|
|
- <!-- 最新价 -->
|
|
|
|
|
- <template #last="{ text, record }">
|
|
|
|
|
- <span :class="handleQuotePriceColor(text, record.presettle)">{{text}}</span>
|
|
|
|
|
- </template>
|
|
|
|
|
- <!-- 最低价 -->
|
|
|
|
|
- <template #lowest="{ text, record }">
|
|
|
|
|
- <span :class="handleQuotePriceColor(text, record.presettle)">{{text}}</span>
|
|
|
|
|
- </template>
|
|
|
|
|
- <!-- 最高价 -->
|
|
|
|
|
- <template #highest="{ text, record }">
|
|
|
|
|
- <span :class="handleQuotePriceColor(text, record.presettle)">{{text}}</span>
|
|
|
|
|
- </template>
|
|
|
|
|
</a-table>
|
|
</a-table>
|
|
|
<ThridMenu :list="tabList" :selectedKey="index" @selectMenu="changeTab" />
|
|
<ThridMenu :list="tabList" :selectedKey="index" @selectMenu="changeTab" />
|
|
|
<!-- 右键 -->
|
|
<!-- 右键 -->
|
|
|
<contextMenu :contextMenu="contextMenu" @cancel="closeContext" :list="buttons"></contextMenu>
|
|
<contextMenu :contextMenu="contextMenu" @cancel="closeContext" :list="buttons"></contextMenu>
|
|
|
- <component :is="componentId" v-if="componentId" :selectedRow="selectedRow" @cancel="closeComponent"></component>
|
|
|
|
|
|
|
+ <component :is="componentId" v-if="componentId" :tableList="tableList" :selectedRow="selectedRow" @cancel="closeComponent"></component>
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
@@ -53,9 +18,8 @@ import { TabList } from '@/common/components/description/interface';
|
|
|
import ThridMenu from '@/common/components/thirdMenu/index.vue';
|
|
import ThridMenu from '@/common/components/thirdMenu/index.vue';
|
|
|
import { getShowBottomValue } from '@/common/config/constrolBottom';
|
|
import { getShowBottomValue } from '@/common/config/constrolBottom';
|
|
|
import { handleModalComponent } from '@/common/setup/asyncComponent';
|
|
import { handleModalComponent } from '@/common/setup/asyncComponent';
|
|
|
-import { handleQuotePriceColor, handleSubcriteOnDemandQuote, quoteAmplitude, quoteAmplituOfVibration, quoteChange } from '@/common/setup/table/tableQuote';
|
|
|
|
|
|
|
+import { handleSubcriteOnDemandQuote } from '@/common/setup/table/tableQuote';
|
|
|
import { QueryQuoteDayRsp } from '@/services/go/quote/interface';
|
|
import { QueryQuoteDayRsp } from '@/services/go/quote/interface';
|
|
|
-import { ref, reactive, Ref, toRefs } from 'vue';
|
|
|
|
|
import { getColumnsList, useExternalexchange } from './setup';
|
|
import { getColumnsList, useExternalexchange } from './setup';
|
|
|
import { getTableButton } from '@/common/setup/table/button';
|
|
import { getTableButton } from '@/common/setup/table/button';
|
|
|
import { contextMenu, defineAsyncComponent, defineComponent } from '@/common/export/commonTable';
|
|
import { contextMenu, defineAsyncComponent, defineComponent } from '@/common/export/commonTable';
|
|
@@ -64,9 +28,6 @@ import { TableEventCB } from '@/common/setup/table/interface';
|
|
|
import { getTableEvent } from '@/common/export/table';
|
|
import { getTableEvent } from '@/common/export/table';
|
|
|
import { ContextMenuTemp } from '@/common/components/contextMenu/interface';
|
|
import { ContextMenuTemp } from '@/common/components/contextMenu/interface';
|
|
|
import { BtnListType } from '@/common/components/btnList/interface';
|
|
import { BtnListType } from '@/common/components/btnList/interface';
|
|
|
-import APP from '@/services';
|
|
|
|
|
-import { Goods } from '@/services/go/ermcp/goodsInfo/interface';
|
|
|
|
|
-import { getQuoteDayInfoByCode } from '@/services/bus/goods';
|
|
|
|
|
|
|
|
|
|
export default defineComponent({
|
|
export default defineComponent({
|
|
|
name: 'spot_trade_order_transaction_swap',
|
|
name: 'spot_trade_order_transaction_swap',
|
|
@@ -76,36 +37,14 @@ export default defineComponent({
|
|
|
trade: defineAsyncComponent(() => import('./compoments/futures-trade/index.vue')),
|
|
trade: defineAsyncComponent(() => import('./compoments/futures-trade/index.vue')),
|
|
|
},
|
|
},
|
|
|
setup() {
|
|
setup() {
|
|
|
- interface Quote {
|
|
|
|
|
- goodscode: string;
|
|
|
|
|
- goodsname: string;
|
|
|
|
|
- decimalplace: number;
|
|
|
|
|
- last?: Ref;
|
|
|
|
|
- presettle?: Ref;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- const goodsList = APP.get('Goods') as Goods[];
|
|
|
|
|
- const tableList = reactive<Quote[]>([]);
|
|
|
|
|
- const quoteList = ref<QueryQuoteDayRsp[]>([]);
|
|
|
|
|
-
|
|
|
|
|
- goodsList.forEach((el) => {
|
|
|
|
|
- const quote = getQuoteDayInfoByCode(el.goodscode);
|
|
|
|
|
- if (quote) {
|
|
|
|
|
- quoteList.value.push(quote);
|
|
|
|
|
- }
|
|
|
|
|
- tableList.push({
|
|
|
|
|
- goodscode: el.goodscode,
|
|
|
|
|
- goodsname: el.goodsname,
|
|
|
|
|
- decimalplace: el.decimalplace,
|
|
|
|
|
- });
|
|
|
|
|
- });
|
|
|
|
|
-
|
|
|
|
|
const isBottom = getShowBottomValue();
|
|
const isBottom = getShowBottomValue();
|
|
|
const buttons = getTableButton();
|
|
const buttons = getTableButton();
|
|
|
console.log('buttons', buttons);
|
|
console.log('buttons', buttons);
|
|
|
- const { index, loading, tabList, hanldeQuoteData } = useExternalexchange();
|
|
|
|
|
|
|
+ const { index, loading, tabList, tableList, quoteList, hanldeQuoteData, hanldeTableData } = useExternalexchange();
|
|
|
// 行情按需订阅
|
|
// 行情按需订阅
|
|
|
let stopSubcribe = handleSubcriteOnDemandQuote<QueryQuoteDayRsp>(quoteList);
|
|
let stopSubcribe = handleSubcriteOnDemandQuote<QueryQuoteDayRsp>(quoteList);
|
|
|
|
|
+ hanldeTableData();
|
|
|
|
|
+
|
|
|
function changeTab(index: number, current: TabList) {
|
|
function changeTab(index: number, current: TabList) {
|
|
|
hanldeQuoteData(index);
|
|
hanldeQuoteData(index);
|
|
|
console.log(index, current);
|
|
console.log(index, current);
|
|
@@ -113,17 +52,9 @@ export default defineComponent({
|
|
|
stopSubcribe();
|
|
stopSubcribe();
|
|
|
// 重新发起订阅
|
|
// 重新发起订阅
|
|
|
stopSubcribe = handleSubcriteOnDemandQuote<QueryQuoteDayRsp>(quoteList);
|
|
stopSubcribe = handleSubcriteOnDemandQuote<QueryQuoteDayRsp>(quoteList);
|
|
|
|
|
+ hanldeTableData();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- quoteList.value.forEach((item) => {
|
|
|
|
|
- const refs = toRefs(item);
|
|
|
|
|
- const index = tableList.findIndex((e) => e.goodscode === item.goodscode);
|
|
|
|
|
- if (index > -1) {
|
|
|
|
|
- tableList[index].last = refs.last;
|
|
|
|
|
- tableList[index].presettle = refs.presettle;
|
|
|
|
|
- }
|
|
|
|
|
- });
|
|
|
|
|
-
|
|
|
|
|
// 右键逻辑
|
|
// 右键逻辑
|
|
|
const { contextMenu, closeContext: closeContextAction } = handleContextMenu();
|
|
const { contextMenu, closeContext: closeContextAction } = handleContextMenu();
|
|
|
// 右键回调函数
|
|
// 右键回调函数
|
|
@@ -152,10 +83,6 @@ export default defineComponent({
|
|
|
changeTab,
|
|
changeTab,
|
|
|
tableList,
|
|
tableList,
|
|
|
isBottom,
|
|
isBottom,
|
|
|
- handleQuotePriceColor,
|
|
|
|
|
- quoteChange,
|
|
|
|
|
- quoteAmplitude,
|
|
|
|
|
- quoteAmplituOfVibration,
|
|
|
|
|
getColumnsList,
|
|
getColumnsList,
|
|
|
buttons,
|
|
buttons,
|
|
|
contextMenu,
|
|
contextMenu,
|