Browse Source

ForceStop ok

pull/300/head
yedf2 4 years ago
parent
commit
a14fd2772d
  1. 10
      admin/src/api/api_dtm.ts
  2. 36
      admin/src/router/index.ts
  3. 13
      admin/src/views/Dashboard/GlobalTransactions/AllTransactions.vue

10
admin/src/api/api_dtm.ts

@ -14,7 +14,15 @@ export function listAllTransactions<T>(payload: IListAllTransactionsReq): Promis
}) })
} }
export function getTransaction<T>(payload: {gid: string}): Promise<AxiosResponse<T>> { export function forceStopTransaction(gid: string): Promise<AxiosResponse> {
return request({
url: '/api/dtmsvr/forceStop',
method: 'post',
data: { gid },
})
}
export function getTransaction<T>(payload: { gid: string }): Promise<AxiosResponse<T>> {
return request({ return request({
url: '/api/dtmsvr/query', url: '/api/dtmsvr/query',
method: 'get', method: 'get',

36
admin/src/router/index.ts

@ -16,19 +16,19 @@ export const allowRouter: Array<IMenubarList> = [
meta: { title: 'Admin', activeMenu: '/admin' }, meta: { title: 'Admin', activeMenu: '/admin' },
children: [ children: [
{ {
name: 'Nodes', // name: 'Nodes',
path: '/admin/nodes', // path: '/admin/nodes',
component: Components['LayoutMain'], // component: Components['LayoutMain'],
meta: { title: 'Nodes' }, // meta: { title: 'Nodes' },
children: [ // children: [
{ // {
name: 'LivingNodes', // name: 'LivingNodes',
path: '/admin/nodes/living', // path: '/admin/nodes/living',
component: Components['LivingNodes'], // component: Components['LivingNodes'],
meta: { title: 'Living Nodes' }, // meta: { title: 'Living Nodes' },
} // }
] // ]
}, { // }, {
name: 'GlobalTransactions', name: 'GlobalTransactions',
path: '/admin/global-transactions', path: '/admin/global-transactions',
component: Components['LayoutMain'], component: Components['LayoutMain'],
@ -39,11 +39,11 @@ export const allowRouter: Array<IMenubarList> = [
path: '/admin/global-transactions/all', path: '/admin/global-transactions/all',
component: Components['AllTransactions'], component: Components['AllTransactions'],
meta: { title: 'All Transactions' }, meta: { title: 'All Transactions' },
}, { // }, {
name: 'UnfinishedTransactions', // name: 'UnfinishedTransactions',
path: '/admin/global-transactions/unfinished', // path: '/admin/global-transactions/unfinished',
component: Components['UnfinishedTransactions'], // component: Components['UnfinishedTransactions'],
meta: { title: 'Unfinished Transactions' }, // meta: { title: 'Unfinished Transactions' },
} }
] ]
} }

13
admin/src/views/Dashboard/GlobalTransactions/AllTransactions.vue

@ -10,7 +10,8 @@
<template v-else-if="column.key === 'action'"> <template v-else-if="column.key === 'action'">
<span> <span>
<a class="mr-2 font-medium" @click="handleTransactionDetail(record.gid)">Detail</a> <a class="mr-2 font-medium" @click="handleTransactionDetail(record.gid)">Detail</a>
<a class="text-red-400 font-medium">Stop</a> <a-button danger type="link" :disabled="record.status==='failed' || record.status==='succeed'" @click="handleTransactionStop(record.gid)">ForceStop</a-button>
<!-- <a class="text-red-400 font-medium" @click="handleTransactionStop(record.gid)">ForceStop</a> -->
</span> </span>
</template> </template>
</template> </template>
@ -24,7 +25,7 @@
</div> </div>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { IListAllTransactionsReq, listAllTransactions } from '/@/api/api_dtm' import { IListAllTransactionsReq, listAllTransactions, forceStopTransaction } from '/@/api/api_dtm'
import { ref, computed } from 'vue-demi' import { ref, computed } from 'vue-demi'
import { usePagination } from 'vue-request' import { usePagination } from 'vue-request'
import DialogTransactionDetail from './_Components/DialogTransactionDetail.vue'; import DialogTransactionDetail from './_Components/DialogTransactionDetail.vue';
@ -118,6 +119,14 @@ const handleTransactionDetail = (gid: string) => {
transactionDetail.value?.open(gid) transactionDetail.value?.open(gid)
} }
const handleTransactionStop = async (gid: string) => {
await forceStopTransaction(gid)
run({
position: data.value?.data.next_position,
limit: pageSize.value,
})
}
</script> </script>
<style lang="postcss" scoped> <style lang="postcss" scoped>

Loading…
Cancel
Save