feat(报告): 报告导出日志&权限
This commit is contained in:
parent
8ab2aa8c29
commit
dfd4b7ecbc
|
@ -19,6 +19,7 @@ import {
|
||||||
BatchRecoverApiUrl,
|
BatchRecoverApiUrl,
|
||||||
BatchRecoverCaseUrl,
|
BatchRecoverCaseUrl,
|
||||||
BatchUpdateDefinitionUrl,
|
BatchUpdateDefinitionUrl,
|
||||||
|
CaseExportLogUrl,
|
||||||
CasePageUrl,
|
CasePageUrl,
|
||||||
caseTableBatchSyncUrl,
|
caseTableBatchSyncUrl,
|
||||||
CheckDefinitionScheduleUrl,
|
CheckDefinitionScheduleUrl,
|
||||||
|
@ -95,8 +96,6 @@ import {
|
||||||
UploadTempFileUrl,
|
UploadTempFileUrl,
|
||||||
UploadTempMockFileUrl,
|
UploadTempMockFileUrl,
|
||||||
} from '@/api/requrls/api-test/management';
|
} from '@/api/requrls/api-test/management';
|
||||||
import { StopCaseExportUrl } from '@/api/requrls/case-management/featureCase';
|
|
||||||
import { BatchDownloadFileUrl } from '@/api/requrls/project-management/fileManagement';
|
|
||||||
|
|
||||||
import { ApiCaseReportDetail, ExecuteRequestParams } from '@/models/apiTest/common';
|
import { ApiCaseReportDetail, ExecuteRequestParams } from '@/models/apiTest/common';
|
||||||
import {
|
import {
|
||||||
|
@ -619,3 +618,8 @@ export function getCaseReportDetail(reportId: string, stepId: string) {
|
||||||
export function exportApiDefinition(data: ApiDefinitionBatchExportParams, type: string) {
|
export function exportApiDefinition(data: ApiDefinitionBatchExportParams, type: string) {
|
||||||
return MSR.post({ url: `${ExportDefinitionUrl}/${type}`, data });
|
return MSR.post({ url: `${ExportDefinitionUrl}/${type}`, data });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 接口用例导出报告日志记录
|
||||||
|
export function logCaseExport(reportId: string) {
|
||||||
|
return MSR.get({ url: `${CaseExportLogUrl}/${reportId}` });
|
||||||
|
}
|
||||||
|
|
|
@ -29,6 +29,7 @@ import {
|
||||||
MoveModuleUrl,
|
MoveModuleUrl,
|
||||||
RecoverScenarioUrl,
|
RecoverScenarioUrl,
|
||||||
RecycleScenarioUrl,
|
RecycleScenarioUrl,
|
||||||
|
ScenarioExportLogUrl,
|
||||||
ScenarioHistoryUrl,
|
ScenarioHistoryUrl,
|
||||||
ScenarioPageUrl,
|
ScenarioPageUrl,
|
||||||
ScenarioScheduleConfigDeleteUrl,
|
ScenarioScheduleConfigDeleteUrl,
|
||||||
|
@ -304,3 +305,8 @@ export function updateScenarioPro(id: string | number, priority: CaseLevel | und
|
||||||
export function getStepProjectInfo(id: string, type: ScenarioStepType) {
|
export function getStepProjectInfo(id: string, type: ScenarioStepType) {
|
||||||
return MSR.get<ScenarioStepResourceInfo>({ url: `${GetStepProjectInfoUrl}/${id}`, params: { resourceType: type } });
|
return MSR.get<ScenarioStepResourceInfo>({ url: `${GetStepProjectInfoUrl}/${id}`, params: { resourceType: type } });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 场景导出报告日志记录
|
||||||
|
export function logScenarioExport(reportId: string) {
|
||||||
|
return MSR.get({ url: `${ScenarioExportLogUrl}/${reportId}` });
|
||||||
|
}
|
||||||
|
|
|
@ -96,6 +96,7 @@ export const ToggleFollowCaseUrl = '/api/case/follow'; // 接口定义-关注/
|
||||||
export const RunCaseUrl = '/api/case/run'; // 执行接口用例
|
export const RunCaseUrl = '/api/case/run'; // 执行接口用例
|
||||||
export const GetCaseReportByIdUrl = '/api/report/case/get/'; // 接口用例报告获取
|
export const GetCaseReportByIdUrl = '/api/report/case/get/'; // 接口用例报告获取
|
||||||
export const GetCaseReportDetailUrl = '/api/report/case/get/detail/'; // 接口用例报告获取
|
export const GetCaseReportDetailUrl = '/api/report/case/get/detail/'; // 接口用例报告获取
|
||||||
|
export const CaseExportLogUrl = '/api/report/case/export'; // 接口用例导出报告日志记录
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 接口用例回收站
|
* 接口用例回收站
|
||||||
|
|
|
@ -41,3 +41,4 @@ export const BatchDeleteScenarioUrl = '/api/scenario/batch-operation/delete';
|
||||||
|
|
||||||
export const ExecuteHistoryUrl = '/api/scenario/execute/page'; // 场景执行历史
|
export const ExecuteHistoryUrl = '/api/scenario/execute/page'; // 场景执行历史
|
||||||
export const ScenarioHistoryUrl = '/api/scenario/operation-history/page'; // 场景变更历史
|
export const ScenarioHistoryUrl = '/api/scenario/operation-history/page'; // 场景变更历史
|
||||||
|
export const ScenarioExportLogUrl = '/api/report/scenario/export'; // 场景导出报告日志记录
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
</template>
|
</template>
|
||||||
</a-dropdown>
|
</a-dropdown>
|
||||||
<MsButton
|
<MsButton
|
||||||
v-permission="['PROJECT_API_REPORT:READ+SHARE']"
|
v-permission="['PROJECT_API_REPORT:READ+EXPORT']"
|
||||||
type="icon"
|
type="icon"
|
||||||
status="secondary"
|
status="secondary"
|
||||||
class="mr-4 !rounded-[var(--border-radius-small)] text-[var(--color-text-1)]"
|
class="mr-4 !rounded-[var(--border-radius-small)] text-[var(--color-text-1)]"
|
||||||
|
|
|
@ -38,7 +38,7 @@
|
||||||
</template>
|
</template>
|
||||||
</a-dropdown>
|
</a-dropdown>
|
||||||
<MsButton
|
<MsButton
|
||||||
v-permission="['PROJECT_API_REPORT:READ+SHARE']"
|
v-permission="['PROJECT_API_REPORT:READ+EXPORT']"
|
||||||
type="icon"
|
type="icon"
|
||||||
status="secondary"
|
status="secondary"
|
||||||
class="mr-4 !rounded-[var(--border-radius-small)]"
|
class="mr-4 !rounded-[var(--border-radius-small)]"
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
{{ t('common.share') }}
|
{{ t('common.share') }}
|
||||||
</MsButton>
|
</MsButton>
|
||||||
<MsButton
|
<MsButton
|
||||||
v-permission="['PROJECT_API_REPORT:READ+SHARE']"
|
v-permission="['PROJECT_API_REPORT:READ+EXPORT']"
|
||||||
type="icon"
|
type="icon"
|
||||||
status="secondary"
|
status="secondary"
|
||||||
class="mr-4 !rounded-[var(--border-radius-small)]"
|
class="mr-4 !rounded-[var(--border-radius-small)]"
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
|
|
||||||
import CaseReportCom from './component/caseReportCom.vue';
|
import CaseReportCom from './component/caseReportCom.vue';
|
||||||
|
|
||||||
|
import { logCaseExport } from '@/api/modules/api-test/management';
|
||||||
import { reportCaseDetail } from '@/api/modules/api-test/report';
|
import { reportCaseDetail } from '@/api/modules/api-test/report';
|
||||||
import { useI18n } from '@/hooks/useI18n';
|
import { useI18n } from '@/hooks/useI18n';
|
||||||
import exportPDF from '@/utils/exportPdf';
|
import exportPDF from '@/utils/exportPdf';
|
||||||
|
@ -42,9 +43,19 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function logExport() {
|
||||||
|
try {
|
||||||
|
await logCaseExport(route.query.id as string);
|
||||||
|
} catch (error) {
|
||||||
|
// eslint-disable-next-line no-console
|
||||||
|
console.log(error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
onBeforeMount(() => {
|
onBeforeMount(() => {
|
||||||
if (route.query.id) {
|
if (route.query.id) {
|
||||||
initReportDetail();
|
initReportDetail();
|
||||||
|
logExport();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
import ScenarioCom from './component/scenarioCom.vue';
|
import ScenarioCom from './component/scenarioCom.vue';
|
||||||
|
|
||||||
import { reportScenarioDetail } from '@/api/modules/api-test/report';
|
import { reportScenarioDetail } from '@/api/modules/api-test/report';
|
||||||
|
import { logScenarioExport } from '@/api/modules/api-test/scenario';
|
||||||
import { useI18n } from '@/hooks/useI18n';
|
import { useI18n } from '@/hooks/useI18n';
|
||||||
import exportPDF from '@/utils/exportPdf';
|
import exportPDF from '@/utils/exportPdf';
|
||||||
|
|
||||||
|
@ -42,9 +43,19 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function logExport() {
|
||||||
|
try {
|
||||||
|
await logScenarioExport(route.query.id as string);
|
||||||
|
} catch (error) {
|
||||||
|
// eslint-disable-next-line no-console
|
||||||
|
console.log(error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
onBeforeMount(() => {
|
onBeforeMount(() => {
|
||||||
if (route.query.id) {
|
if (route.query.id) {
|
||||||
initReportDetail();
|
initReportDetail();
|
||||||
|
logExport();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -27,7 +27,13 @@
|
||||||
<MsIcon type="icon-icon_share1" class="mr-2 font-[16px]" />
|
<MsIcon type="icon-icon_share1" class="mr-2 font-[16px]" />
|
||||||
{{ t('common.share') }}
|
{{ t('common.share') }}
|
||||||
</MsButton>
|
</MsButton>
|
||||||
<MsButton type="icon" status="secondary" class="ml-4 !rounded-[var(--border-radius-small)]" @click="exportPdf">
|
<MsButton
|
||||||
|
v-permission="['PROJECT_TEST_PLAN_REPORT:READ+EXPORT']"
|
||||||
|
type="icon"
|
||||||
|
status="secondary"
|
||||||
|
class="ml-4 !rounded-[var(--border-radius-small)]"
|
||||||
|
@click="exportPdf"
|
||||||
|
>
|
||||||
{{ t('report.detail.exportPdf') }}
|
{{ t('report.detail.exportPdf') }}
|
||||||
</MsButton>
|
</MsButton>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in New Issue