feat(工作台): 待办/我的创建/我的关注页面无项目展示

This commit is contained in:
baiqi 2024-11-11 14:12:58 +08:00 committed by Craftsman
parent ad272627cb
commit 40b9fbdc6a
7 changed files with 177 additions and 167 deletions

View File

@ -30,8 +30,6 @@
</template>
<script setup lang="ts">
import { ref } from 'vue';
import MsButton from '@/components/pure/ms-button/index.vue';
import MsCard from '@/components/pure/ms-card/index.vue';

View File

@ -86,7 +86,7 @@
import { VueDraggable } from 'vue-draggable-plus';
import MsDrawer from '@/components/pure/ms-drawer/index.vue';
import NotData from './notData.vue';
import NotData from '../../components/notData.vue';
import CardSettingList from '@/views/workbench/homePage/components/cardSettingList.vue';
import { useI18n } from '@/hooks/useI18n';

View File

@ -25,7 +25,7 @@
import { ref } from 'vue';
import { debounce } from 'lodash-es';
import NoData from './notData.vue';
import NoData from '../../components/notData.vue';
import { addCommasToNumber } from '@/utils';

View File

@ -72,6 +72,7 @@
import { ref } from 'vue';
import MsBackButton from '@/components/pure/ms-back-button/index.vue';
import NoData from '../components/notData.vue';
import ApiAndScenarioCase from './components/apiAndScenarioCase.vue';
import ApiChangeList from './components/apiChangeList.vue';
import ApiCount from './components/apiCount.vue';
@ -79,7 +80,6 @@
import CaseCount from './components/caseCount.vue';
import CaseReviewedCount from './components/caseReviewedCount.vue';
import DefectCount from './components/defectCount.vue';
import NoData from './components/notData.vue';
import Overview from './components/overview.vue';
import RelatedCaseCount from './components/relatedCaseCount.vue';
import TestPlanCount from './components/testPlanCount.vue';

View File

@ -1,68 +1,71 @@
<template>
<div class="flex flex-col gap-[16px]">
<div class="flex items-center justify-end gap-[12px]">
<MsProjectSelect
v-model:project="currentProject"
class="w-[240px]"
use-default-arrow-icon
@change="handleRefresh"
>
<template #prefix>
{{ t('menu.projectManagementShort') }}
</template>
</MsProjectSelect>
<MsSelect
v-model:model-value="features"
:options="featureOptions"
:allow-search="false"
allow-clear
class="!w-[240px]"
:prefix="t('project.messageManagement.function')"
:multiple="true"
:has-all-select="true"
:default-all-select="true"
/>
<a-button type="outline" class="arco-btn-outline--secondary p-[10px]" @click="handleRefresh">
<MsIcon type="icon-icon_reset_outlined" size="14" />
</a-button>
</div>
<template v-if="appStore.projectList.length > 0">
<div class="flex items-center justify-end gap-[12px]">
<MsProjectSelect
v-model:project="currentProject"
class="w-[240px]"
use-default-arrow-icon
@change="handleRefresh"
>
<template #prefix>
{{ t('menu.projectManagementShort') }}
</template>
</MsProjectSelect>
<MsSelect
v-model:model-value="features"
:options="featureOptions"
:allow-search="false"
allow-clear
class="!w-[240px]"
:prefix="t('project.messageManagement.function')"
:multiple="true"
:has-all-select="true"
:default-all-select="true"
/>
<a-button type="outline" class="arco-btn-outline--secondary p-[10px]" @click="handleRefresh">
<MsIcon type="icon-icon_reset_outlined" size="14" />
</a-button>
</div>
<testPlanTable
v-if="features.includes(FeatureEnum.TEST_PLAN)"
:project="currentProject"
:refresh-id="refreshId"
type="my_create"
/>
<testCaseTable
v-if="features.includes(FeatureEnum.TEST_CASE)"
:project="currentProject"
:refresh-id="refreshId"
type="my_create"
/>
<caseReviewTable
v-if="features.includes(FeatureEnum.CASE_REVIEW)"
:project="currentProject"
:refresh-id="refreshId"
type="my_create"
/>
<apiCaseTable
v-if="features.includes(FeatureEnum.API_CASE)"
:project="currentProject"
:refresh-id="refreshId"
type="my_create"
/>
<scenarioCaseTable
v-if="features.includes(FeatureEnum.API_SCENARIO)"
:project="currentProject"
:refresh-id="refreshId"
type="my_create"
/>
<bugTable
v-if="features.includes(FeatureEnum.BUG)"
:project="currentProject"
:refresh-id="refreshId"
type="my_create"
/>
<testPlanTable
v-if="features.includes(FeatureEnum.TEST_PLAN)"
:project="currentProject"
:refresh-id="refreshId"
type="my_create"
/>
<testCaseTable
v-if="features.includes(FeatureEnum.TEST_CASE)"
:project="currentProject"
:refresh-id="refreshId"
type="my_create"
/>
<caseReviewTable
v-if="features.includes(FeatureEnum.CASE_REVIEW)"
:project="currentProject"
:refresh-id="refreshId"
type="my_create"
/>
<apiCaseTable
v-if="features.includes(FeatureEnum.API_CASE)"
:project="currentProject"
:refresh-id="refreshId"
type="my_create"
/>
<scenarioCaseTable
v-if="features.includes(FeatureEnum.API_SCENARIO)"
:project="currentProject"
:refresh-id="refreshId"
type="my_create"
/>
<bugTable
v-if="features.includes(FeatureEnum.BUG)"
:project="currentProject"
:refresh-id="refreshId"
type="my_create"
/>
</template>
<NoData v-else all-screen />
</div>
</template>
@ -73,6 +76,7 @@
import apiCaseTable from '../components/apiCaseTable.vue';
import bugTable from '../components/bugTable.vue';
import caseReviewTable from '../components/caseReviewTable.vue';
import NoData from '../components/notData.vue';
import scenarioCaseTable from '../components/scenarioCaseTable.vue';
import testCaseTable from '../components/testCaseTable.vue';
import testPlanTable from '../components/testPlanTable.vue';

View File

@ -1,67 +1,70 @@
<template>
<div class="flex flex-col gap-[16px]">
<div class="flex items-center justify-end gap-[12px]">
<MsProjectSelect
v-model:project="currentProject"
class="w-[240px]"
use-default-arrow-icon
@change="handleRefresh"
>
<template #prefix>
{{ t('menu.projectManagementShort') }}
</template>
</MsProjectSelect>
<MsSelect
v-model:model-value="features"
:options="featureOptions"
:allow-search="false"
allow-clear
class="!w-[240px]"
:prefix="t('project.messageManagement.function')"
:multiple="true"
:has-all-select="true"
:default-all-select="true"
<template v-if="appStore.projectList.length > 0">
<div class="flex items-center justify-end gap-[12px]">
<MsProjectSelect
v-model:project="currentProject"
class="w-[240px]"
use-default-arrow-icon
@change="handleRefresh"
>
<template #prefix>
{{ t('menu.projectManagementShort') }}
</template>
</MsProjectSelect>
<MsSelect
v-model:model-value="features"
:options="featureOptions"
:allow-search="false"
allow-clear
class="!w-[240px]"
:prefix="t('project.messageManagement.function')"
:multiple="true"
:has-all-select="true"
:default-all-select="true"
/>
<a-button type="outline" class="arco-btn-outline--secondary p-[10px]" @click="handleRefresh">
<MsIcon type="icon-icon_reset_outlined" size="14" />
</a-button>
</div>
<testPlanTable
v-if="features.includes(FeatureEnum.TEST_PLAN)"
:project="currentProject"
:refresh-id="refreshId"
type="my_follow"
/>
<a-button type="outline" class="arco-btn-outline--secondary p-[10px]" @click="handleRefresh">
<MsIcon type="icon-icon_reset_outlined" size="14" />
</a-button>
</div>
<testPlanTable
v-if="features.includes(FeatureEnum.TEST_PLAN)"
:project="currentProject"
:refresh-id="refreshId"
type="my_follow"
/>
<testCaseTable
v-if="features.includes(FeatureEnum.TEST_CASE)"
:project="currentProject"
:refresh-id="refreshId"
type="my_follow"
/>
<caseReviewTable
v-if="features.includes(FeatureEnum.CASE_REVIEW)"
:project="currentProject"
:refresh-id="refreshId"
type="my_follow"
/>
<apiCaseTable
v-if="features.includes(FeatureEnum.API_CASE)"
:project="currentProject"
:refresh-id="refreshId"
type="my_follow"
/>
<scenarioCaseTable
v-if="features.includes(FeatureEnum.API_SCENARIO)"
:project="currentProject"
:refresh-id="refreshId"
type="my_follow"
/>
<bugTable
v-if="features.includes(FeatureEnum.BUG)"
:project="currentProject"
:refresh-id="refreshId"
type="my_follow"
/>
<testCaseTable
v-if="features.includes(FeatureEnum.TEST_CASE)"
:project="currentProject"
:refresh-id="refreshId"
type="my_follow"
/>
<caseReviewTable
v-if="features.includes(FeatureEnum.CASE_REVIEW)"
:project="currentProject"
:refresh-id="refreshId"
type="my_follow"
/>
<apiCaseTable
v-if="features.includes(FeatureEnum.API_CASE)"
:project="currentProject"
:refresh-id="refreshId"
type="my_follow"
/>
<scenarioCaseTable
v-if="features.includes(FeatureEnum.API_SCENARIO)"
:project="currentProject"
:refresh-id="refreshId"
type="my_follow"
/>
<bugTable
v-if="features.includes(FeatureEnum.BUG)"
:project="currentProject"
:refresh-id="refreshId"
type="my_follow"
/>
</template>
<NoData v-else all-screen />
</div>
</template>
@ -72,6 +75,7 @@
import apiCaseTable from '../components/apiCaseTable.vue';
import bugTable from '../components/bugTable.vue';
import caseReviewTable from '../components/caseReviewTable.vue';
import NoData from '../components/notData.vue';
import scenarioCaseTable from '../components/scenarioCaseTable.vue';
import testCaseTable from '../components/testCaseTable.vue';
import testPlanTable from '../components/testPlanTable.vue';

View File

@ -1,45 +1,48 @@
<template>
<div class="flex flex-col gap-[16px]">
<div class="flex items-center justify-end gap-[12px]">
<MsProjectSelect v-model:project="currentProject" class="w-[240px]" use-default-arrow-icon>
<template #prefix>
{{ t('menu.projectManagementShort') }}
</template>
</MsProjectSelect>
<MsSelect
v-model:model-value="features"
:options="featureOptions"
:allow-search="false"
allow-clear
class="!w-[240px]"
:prefix="t('project.messageManagement.function')"
:multiple="true"
:has-all-select="true"
:default-all-select="true"
<template v-if="appStore.projectList.length > 0">
<div class="flex items-center justify-end gap-[12px]">
<MsProjectSelect v-model:project="currentProject" class="w-[240px]" use-default-arrow-icon>
<template #prefix>
{{ t('menu.projectManagementShort') }}
</template>
</MsProjectSelect>
<MsSelect
v-model:model-value="features"
:options="featureOptions"
:allow-search="false"
allow-clear
class="!w-[240px]"
:prefix="t('project.messageManagement.function')"
:multiple="true"
:has-all-select="true"
:default-all-select="true"
/>
<a-button type="outline" class="arco-btn-outline--secondary p-[10px]" @click="handleRefresh">
<MsIcon type="icon-icon_reset_outlined" size="14" />
</a-button>
</div>
<testPlanTable
v-if="features.includes(FeatureEnum.TEST_PLAN)"
:project="currentProject"
:refresh-id="refreshId"
type="my_follow"
hide-show-type
/>
<a-button type="outline" class="arco-btn-outline--secondary p-[10px]" @click="handleRefresh">
<MsIcon type="icon-icon_reset_outlined" size="14" />
</a-button>
</div>
<testPlanTable
v-if="features.includes(FeatureEnum.TEST_PLAN)"
:project="currentProject"
:refresh-id="refreshId"
type="my_follow"
hide-show-type
/>
<caseReviewTable
v-if="features.includes(FeatureEnum.CASE_REVIEW)"
:project="currentProject"
:refresh-id="refreshId"
type="my_follow"
/>
<bugTable
v-if="features.includes(FeatureEnum.BUG)"
:project="currentProject"
:refresh-id="refreshId"
type="my_follow"
/>
<caseReviewTable
v-if="features.includes(FeatureEnum.CASE_REVIEW)"
:project="currentProject"
:refresh-id="refreshId"
type="my_follow"
/>
<bugTable
v-if="features.includes(FeatureEnum.BUG)"
:project="currentProject"
:refresh-id="refreshId"
type="my_follow"
/>
</template>
<NoData v-else all-screen />
</div>
</template>
@ -49,6 +52,7 @@
import MsSelect from '@/components/business/ms-select';
import bugTable from '../components/bugTable.vue';
import caseReviewTable from '../components/caseReviewTable.vue';
import NoData from '../components/notData.vue';
import testPlanTable from '../components/testPlanTable.vue';
import { useI18n } from '@/hooks/useI18n';