Browse Source

reset trans corntime once - admin UI

alpha
徐云金YunjinXu 3 years ago
parent
commit
493bbeaec4
  1. 8
      admin/src/api/api_dtm.ts
  2. 2
      admin/src/components.d.ts
  3. 22
      admin/src/views/Dashboard/GlobalTransactions/DialogTransactionDetail.vue

8
admin/src/api/api_dtm.ts

@ -92,6 +92,14 @@ export function getTransaction<T>(payload: {
})
}
export function resetNextCronTime(gid: string): Promise<AxiosResponse> {
return request({
url: '/api/dtmsvr/resetNextCronTime',
method: 'post',
data: { gid }
})
}
export function getDtmVersion(): Promise<AxiosResponse<any>> {
return request({
url: '/api/dtmsvr/version',

2
admin/src/components.d.ts

@ -1,6 +1,6 @@
// generated by unplugin-vue-components
// We suggest you to commit this file into source control
// Read more: https://github.com/vuejs/core/pull/3399
// Read more: https://github.com/vuejs/vue-next/pull/3399
import '@vue/runtime-core'
declare module '@vue/runtime-core' {

22
admin/src/views/Dashboard/GlobalTransactions/DialogTransactionDetail.vue

@ -17,7 +17,16 @@
>
<a-button danger type="default" :disabled="transaction?.status==='failed' || transaction?.status==='succeed'"
>ForceStop</a-button>
</a-popconfirm>
</a-popconfirm>
<!-- todo enable condition -->
<a-popconfirm
title="Reset next cron time to current time?"
ok-text="Yes, reset"
cancel-text="No"
class="action-button"
@confirm="handleSetNextCronTimeToNow(<string>transaction?.gid)" >
<a-button type="default">Reset next cron time</a-button>
</a-popconfirm>
<a-descriptions bordered size="small" :column="{ xxl: 4, xl: 3, lg: 3, md: 3, sm: 2, xs: 1 }">
<a-descriptions-item label="Status">
<a-tag :color="transaction?.status === 'succeed' ? 'green' : 'volcano'">{{ transaction?.status }}</a-tag>
@ -31,6 +40,7 @@
<a-descriptions-item label="UpdateTime">{{ transaction?.update_time }}</a-descriptions-item>
<a-descriptions-item label="NextCronInterval">{{ transaction?.next_cron_interval }}</a-descriptions-item>
<a-descriptions-item label="NextCronTime">{{ transaction?.next_cron_time }}</a-descriptions-item>
<a-descriptions-item label="RollbackReason">{{ transaction?.rollback_reason }}</a-descriptions-item>
</a-descriptions>
<h2>Branches</h2>
<a-table :columns="columns" :data-source="dataSource" :pagination="false" :scroll="{ x: true}">
@ -51,7 +61,7 @@ import { getTransaction } from '/@/api/api_dtm'
import screenfull from '/@/components/Screenfull/index.vue'
import { useRoute } from 'vue-router';
import { string } from 'vue-types';
import { forceStopTransaction} from '/@/api/api_dtm'
import { forceStopTransaction, resetNextCronTime } from '/@/api/api_dtm'
// import VueJsonPretty from 'vue-json-pretty';
// import 'vue-json-pretty/lib/styles.css'
const route = useRoute();
@ -121,6 +131,12 @@ const handleTransactionStop = async(gid: string) => {
refresh();
}
const handleSetNextCronTimeToNow = async(gid: string) => {
await resetNextCronTime(gid);
refresh();
}
type Data = {
branches: {
gid: string
@ -144,6 +160,7 @@ type Data = {
next_cron_interval: number
next_cron_time: string
concurrent: boolean
rollback_reason: string
}
}
@ -160,6 +177,7 @@ interface Transaction {
next_cron_interval: number
next_cron_time: string
concurrent: boolean
rollback_reason: string
}
interface Branches {

Loading…
Cancel
Save