提交 765cfea2 编写于 作者: Z zhaoke

* Fix issues.

上级 8523c5ef
......@@ -4,7 +4,6 @@
<SiteNav />
<BatchRunButton />
<LastTestInfo />
<div class="gap flex-auto"></div>
<AppToolbar />
......@@ -18,7 +17,6 @@ import WindowToolbar from './WindowToolbar.vue';
import AppToolbar from './AppToolbar.vue';
import SiteNav from '@/views/site/SiteNav.vue';
import BatchRunButton from '@/views/exec/BatchRunButton.vue';
import LastTestInfo from '@/views/exec/LastTestInfo.vue';
</script>
<style>
......
......@@ -38,7 +38,8 @@ export default {
'only_failed': 'Only Failed',
'zentao_site': 'Zentao Site',
'site_management': 'Site management',
'local': 'Local',
'site_management': 'Zentao Site Management',
'site_num': '{count} sites',
'create_site': 'Create Site',
'edit_site': 'Edit Site',
......
......@@ -41,7 +41,8 @@ export default {
'only_failed': '仅失败用例',
'zentao_site': '禅道站点',
'site_management': '站点管理',
'local': '本地',
'site_management': '禅道站点管理',
'site_num': '{count} 个站点',
'create_site': '新建站点',
'edit_site': '编辑站点',
......
<template>
<Button v-if="model!=undefined" class="rounded border-light canvas gap-sm" :hint="t('view_test_result')" @click="showDetail(model)">
<small class="text-muted">{{t('previous_result')}}</small>
<small class="text-yellow" :key="model">{{model.duration}}s</small>
<Icon icon="close-circle" class="text-red space-left" />
<small class="text-red">{{model.fail}}</small>
<Icon icon="checkmark-circle" class="text-green space-left" />
<small class="text-green">{{model.pass}}</small>
</Button>
</template>
<script setup lang="ts">
import Button from '@/components/Button.vue';
import Icon from '@/components/Icon.vue';
import {StateType} from "@/views/result/store";
import {useStore} from "vuex";
import {computed, onMounted} from "vue";
import {useI18n} from "vue-i18n";
const { t } = useI18n();
const store = useStore<{ Result: StateType }>();
const model = computed<any[]>(() => store.state.Result.lastResult)
const latest = () => {
store.dispatch('Result/latest', {});
}
latest();
const showDetail = (item) => {
store.dispatch('tabs/open', {
id: 'result-' + item.no,
title: item.total != 1 ? item.workspaceName + '(' + item.total + ')' : item.testScriptName,
type: 'result',
data: {seq:item.seq, workspaceId: item.workspaceId}
});
}
onMounted(() => {
console.log("onMounted")
})
</script>
......@@ -9,7 +9,6 @@ import {
export interface StateType {
queryResult: QueryResult;
detailResult: any;
lastResult: any;
}
export interface ModuleType extends StoreModuleType<StateType> {
......@@ -17,13 +16,11 @@ export interface ModuleType extends StoreModuleType<StateType> {
mutations: {
setQueryResult: Mutation<StateType>;
setDetailResult: Mutation<StateType>;
setLastResult: Mutation<StateType>;
};
actions: {
list: Action<StateType, StateType>;
get: Action<StateType, StateType>;
delete: Action<StateType, StateType>;
latest: Action<StateType, StateType>;
};
}
const initState: StateType = {
......@@ -38,7 +35,6 @@ const initState: StateType = {
},
},
detailResult: {},
lastResult: {},
};
const StoreModel: ModuleType = {
......@@ -54,9 +50,6 @@ const StoreModel: ModuleType = {
setDetailResult(state, payload) {
state.detailResult = payload;
},
setLastResult(state, payload) {
state.lastResult = payload;
},
},
actions: {
async list({ commit }, params: QueryParams ) {
......@@ -67,7 +60,6 @@ const StoreModel: ModuleType = {
}
const data = response.data;
commit('setQueryResult', data);
commit('setLastResult', data.result[0]);
return true;
} catch (error) {
......@@ -87,20 +79,6 @@ const StoreModel: ModuleType = {
await remove(data);
dispatch('list', {})
return true;
} catch (error) {
return false;
}
},
async latest({ commit }, params: QueryParams ) {
try {
const response: ResponseData = await getLastest(params);
if (response.code != 0) {
return;
}
const data = response.data;
commit('setLastResult', data);
return true;
} catch (error) {
return false;
......
<template>
<ButtonGroup class="space-left">
<Button id="siteMenuToggle"
:label="currSite.name"
:label="currSite.id == 1 ? t('local') : currSite.name"
:icon="currSite.username ? 'zentao' : 'hard-drive-filled'"
class="rounded border lighten-16"
:iconClass="currSite.username ? 'text-blue' : 'text-secondary'"
......@@ -67,7 +67,8 @@ const currSite = computed<any>(() => store.state.Zentao.currSite);
const sites = computed<any[]>(() => store.state.Zentao.sites.map(site => ({
icon: site.username ? 'zentao' : 'hard-drive-filled',
iconClass: 'muted',
...site
...site,
name: site.id == 1 ? t('local') : site.name,
})));
const currProduct = computed<any>(() => store.state.Zentao.currProduct);
......
......@@ -27,14 +27,9 @@
<div class="row single align-center gap space-xs-v">
<span class="text-primary">{{site.name}}</span>
<div class="row single align-center gap-sm small muted"><Icon icon="link" size="1em" /> {{site.url}}</div>
</div>
<div class="row single align-center gap muted">
<div class="row single align-center gap-sm small">
<div class="row single align-center gap muted">
<Icon icon="person" size="1em" /> {{site.username}}
</div>
<div class="row single align-center gap-sm small">
<Icon icon="clock" size="1em" /> {{t('create_time')}}{{momentUtc(site.createdAt)}}
</div>
</div>
<template #trailing>
<Button
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册