|
|
@@ -1,9 +1,10 @@
|
|
|
<!-- 商品订单- 委托 -->
|
|
|
<template>
|
|
|
- <app-table :data="dataList" v-model:columns="tableColumns" :loading="loading" :row-key="rowKey"
|
|
|
- :expand-row-keys="expandKeys" @row-click="rowClick">
|
|
|
+ <app-table :data="dataList" selection-type="single" v-model:columns="tableColumns" :loading="loading"
|
|
|
+ @selection-change="onTableSelect">
|
|
|
<template #headerRight>
|
|
|
- <el-button type="danger" size="small" @click="showComponent('clear')" v-if="dataList.length">一键全撤</el-button>
|
|
|
+ <el-button type="danger" size="small" :disabled="selectedRows.length === 0"
|
|
|
+ @click="openComponent('cancel')">撤销</el-button>
|
|
|
</template>
|
|
|
<!-- 类型' -->
|
|
|
<template #buyorsell="{ value }">
|
|
|
@@ -17,14 +18,8 @@
|
|
|
<template #ordertime="{ value }">
|
|
|
{{ formatDate(value) }}
|
|
|
</template>
|
|
|
- <!-- 展开行 -->
|
|
|
- <template #expand="{ row }">
|
|
|
- <div class="buttonbar">
|
|
|
- <el-button type="danger" size="small" @click="showComponent('cancel', row)">撤销</el-button>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
<template #footer>
|
|
|
- <component ref="componentRef" v-bind="{ selectedRow }" :is="componentMap.get(componentId)"
|
|
|
+ <component ref="componentRef" v-bind="{ selectedRows }" :is="componentMap.get(componentId)"
|
|
|
@closed="closeComponent" v-if="componentId" />
|
|
|
</template>
|
|
|
</app-table>
|
|
|
@@ -38,15 +33,15 @@ import { queryTradeOrderDetail } from '@/services/api/order'
|
|
|
import AppTable from '@pc/components/base/table/index.vue'
|
|
|
import { formatDate } from '@/filters'
|
|
|
import { useComponent } from '@/hooks/component'
|
|
|
-import { useComposeTable } from '@pc/components/base/table'
|
|
|
import eventBus from '@/services/bus'
|
|
|
|
|
|
const componentMap = new Map<string, unknown>([
|
|
|
['cancel', defineAsyncComponent(() => import('./cancel/index.vue'))], // 撤单
|
|
|
- ['clear', defineAsyncComponent(() => import('./clear/index.vue'))], // 一键全撤
|
|
|
+ //['clear', defineAsyncComponent(() => import('./clear/index.vue'))], // 一键全撤
|
|
|
])
|
|
|
|
|
|
const dataList = ref<Model.TradeOrderDetailRsp[]>([])
|
|
|
+const selectedRows = ref<Model.TradeOrderDetailRsp[]>([])
|
|
|
|
|
|
const { loading, run, runAsync } = useRequest(queryTradeOrderDetail, {
|
|
|
params: {
|
|
|
@@ -62,8 +57,6 @@ const { componentRef, componentId, openComponent, closeComponent } = useComponen
|
|
|
run()
|
|
|
})
|
|
|
|
|
|
-const { rowKey, expandKeys, selectedRow, rowClick } = useComposeTable<Model.TradeOrderDetailRsp>({ rowKey: 'orderid' })
|
|
|
-
|
|
|
const tableColumns = ref<Model.TableColumn[]>([
|
|
|
{ prop: 'goodsname', label: '订单合约' },
|
|
|
{ prop: 'buyorsell', label: '类型' },
|
|
|
@@ -75,9 +68,9 @@ const tableColumns = ref<Model.TableColumn[]>([
|
|
|
{ prop: 'orderstatus', label: '状态' }
|
|
|
])
|
|
|
|
|
|
-const showComponent = (componentName: string, row?: Model.TradeOrderDetailRsp) => {
|
|
|
- selectedRow.value = row
|
|
|
- openComponent(componentName)
|
|
|
+// 勾选表格行
|
|
|
+const onTableSelect = (rows: Model.TradeOrderDetailRsp[]) => {
|
|
|
+ selectedRows.value = rows
|
|
|
}
|
|
|
|
|
|
// 接收成交通知
|