国际化
This commit is contained in:
parent
3fd4e2ee6c
commit
eb61f51fd0
|
@ -111,7 +111,7 @@
|
|||
},
|
||||
checkProject() {
|
||||
if(this.currentProject === null) {
|
||||
this.$alert(this.$t('test_track.no_project'), {
|
||||
this.$alert(this.$t('test_track.case.no_project'), {
|
||||
confirmButtonText: this.$t('project.create'),
|
||||
callback: action => {
|
||||
this.$router.push("/track/project/create");
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
|
||||
<div v-loading="result.loading">
|
||||
<el-input :placeholder="$t('test_track.search_module')" v-model="filterText"
|
||||
<el-input :placeholder="$t('test_track.module.search')" v-model="filterText"
|
||||
size="small">
|
||||
<template v-slot:append>
|
||||
<el-button icon="el-icon-folder-add" @click="openEditNodeDialog('add')"></el-button>
|
||||
|
@ -28,10 +28,10 @@
|
|||
</span>
|
||||
<el-dropdown-menu v-slot:default>
|
||||
<el-dropdown-item>
|
||||
<div @click="openEditNodeDialog('edit', data)">{{$t('test_track.rename')}}</div>
|
||||
<div @click="openEditNodeDialog('edit', data)">{{$t('test_track.module.rename')}}</div>
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item>
|
||||
<div @click="openEditNodeDialog('add', data)">{{$t('test_track.add_submodule')}}</div>
|
||||
<div @click="openEditNodeDialog('add', data)">{{$t('test_track.module.add_submodule')}}</div>
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item>
|
||||
<div @click="remove(node, data)">{{$t('commons.delete')}}</div>
|
||||
|
@ -42,12 +42,12 @@
|
|||
</template>
|
||||
</el-tree>
|
||||
|
||||
<el-dialog :title="$t('test_track.add_module')" :visible.sync="dialogFormVisible" width="500px">
|
||||
<el-dialog :title="$t('test_track.module.add_module')" :visible.sync="dialogFormVisible" width="500px">
|
||||
|
||||
<el-row type="flex" justify="center">
|
||||
<el-col :span="18">
|
||||
<el-form :model="form">
|
||||
<el-form-item :label="$t('test_track.module_name')" :label-width="formLabelWidth">
|
||||
<el-form-item :label="$t('test_track.module.name')" :label-width="formLabelWidth">
|
||||
<el-input v-model="form.name" autocomplete="off"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
@ -127,8 +127,8 @@
|
|||
this.$post('/case/node/edit', param);
|
||||
},
|
||||
remove(node, data) {
|
||||
this.$alert(this.$t('test_track.delete_module_confirm') + data.label + "," +
|
||||
this.$t('test_track.delete_module_resource') + "?", '', {
|
||||
this.$alert(this.$t('test_track.module.delete_confirm') + data.label + "," +
|
||||
this.$t('test_track.module.delete_all_resource') + "?", '', {
|
||||
confirmButtonText: this.$t('commons.confirm'),
|
||||
callback: (action) => {
|
||||
if (action === 'confirm') {
|
||||
|
@ -139,6 +139,7 @@
|
|||
const children = parent.data.children || parent.data;
|
||||
const index = children.findIndex(d => d.id === data.id);
|
||||
children.splice(index, 1);
|
||||
this.$message.success(this.$t('commons.delete_success'));
|
||||
this.$emit("refresh");
|
||||
});
|
||||
}
|
||||
|
@ -215,6 +216,7 @@
|
|||
this.treeNodes.push(param);
|
||||
}
|
||||
}
|
||||
this.$message.success(this.$t('commons.save_success'));
|
||||
});
|
||||
this.form.name = '';
|
||||
},
|
||||
|
|
|
@ -2,15 +2,15 @@
|
|||
|
||||
<div>
|
||||
|
||||
<el-dialog :title="$t('test_track.create')" :visible.sync="dialogFormVisible" width="65%">
|
||||
<el-dialog :title="$t('test_track.case.create')" :visible.sync="dialogFormVisible" width="65%">
|
||||
|
||||
<el-form :model="form" :rules="rules" ref="caseFrom">
|
||||
|
||||
<el-row>
|
||||
<el-col :span="8" :offset="1">
|
||||
<el-form-item
|
||||
:placeholder="$t('test_track.input_name')"
|
||||
:label="$t('test_track.name')"
|
||||
:placeholder="$t('test_track.case.input_name')"
|
||||
:label="$t('test_track.case.name')"
|
||||
:label-width="formLabelWidth"
|
||||
prop="name">
|
||||
<el-input v-model="form.name"></el-input>
|
||||
|
@ -18,10 +18,10 @@
|
|||
</el-col>
|
||||
|
||||
<el-col :span="11" :offset="2">
|
||||
<el-form-item :label="$t('test_track.module')" :label-width="formLabelWidth" prop="module">
|
||||
<el-form-item :label="$t('test_track.case.module')" :label-width="formLabelWidth" prop="module">
|
||||
<el-select
|
||||
v-model="form.module"
|
||||
:placeholder="$t('test_track.input_module')"
|
||||
:placeholder="$t('test_track.case.input_module')"
|
||||
filterable>
|
||||
<el-option
|
||||
v-for="item in moduleOptions"
|
||||
|
@ -36,8 +36,8 @@
|
|||
|
||||
<el-row>
|
||||
<el-col :span="10" :offset="1">
|
||||
<el-form-item :label="$t('test_track.maintainer')" :label-width="formLabelWidth" prop="maintainer">
|
||||
<el-select v-model="form.maintainer" :placeholder="$t('test_track.input_maintainer')" filterable>
|
||||
<el-form-item :label="$t('test_track.case.maintainer')" :label-width="formLabelWidth" prop="maintainer">
|
||||
<el-select v-model="form.maintainer" :placeholder="$t('test_track.case.input_maintainer')" filterable>
|
||||
<el-option
|
||||
v-for="item in maintainerOptions"
|
||||
:key="item.id"
|
||||
|
@ -48,8 +48,8 @@
|
|||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item :label="$t('test_track.priority')" :label-width="formLabelWidth" prop="priority">
|
||||
<el-select v-model="form.priority" clearable :placeholder="$t('test_track.input_priority')">
|
||||
<el-form-item :label="$t('test_track.case.priority')" :label-width="formLabelWidth" prop="priority">
|
||||
<el-select v-model="form.priority" clearable :placeholder="$t('test_track.case.input_priority')">
|
||||
<el-option label="P0" value="P0"></el-option>
|
||||
<el-option label="P1" value="P1"></el-option>
|
||||
<el-option label="P2" value="P2"></el-option>
|
||||
|
@ -61,26 +61,26 @@
|
|||
|
||||
<el-row>
|
||||
<el-col :span="10" :offset="1">
|
||||
<el-form-item :label="$t('test_track.type')" :label-width="formLabelWidth" prop="type">
|
||||
<el-select v-model="form.type" :placeholder="$t('test_track.input_type')">
|
||||
<el-option :label="$t('test_track.functional_test')" value="functional"></el-option>
|
||||
<el-form-item :label="$t('test_track.case.type')" :label-width="formLabelWidth" prop="type">
|
||||
<el-select v-model="form.type" :placeholder="$t('test_track.case.input_type')">
|
||||
<el-option :label="$t('commons.functional')" value="functional"></el-option>
|
||||
<el-option :label="$t('commons.performance')" value="performance"></el-option>
|
||||
<el-option :label="$t('commons.api')" value="api"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item :label="$t('test_track.method')" :label-width="formLabelWidth" prop="method">
|
||||
<el-select v-model="form.method" :placeholder="$t('test_track.input_method')">
|
||||
<el-option :label="$t('test_track.manual')" value="manual"></el-option>
|
||||
<el-option :label="$t('test_track.auto')" value="auto"></el-option>
|
||||
<el-form-item :label="$t('test_track.case.method')" :label-width="formLabelWidth" prop="method">
|
||||
<el-select v-model="form.method" :placeholder="$t('test_track.case.input_method')">
|
||||
<el-option :label="$t('test_track.case.manual')" value="manual"></el-option>
|
||||
<el-option :label="$t('test_track.case.auto')" value="auto"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row style="margin-top: 15px;">
|
||||
<el-col :offset="2">{{$t('test_track.prerequisite')}}:</el-col>
|
||||
<el-col :offset="2">{{$t('test_track.case.prerequisite')}}:</el-col>
|
||||
</el-row>
|
||||
<el-row type="flex" justify="center" style="margin-top: 10px;">
|
||||
<el-col :span="20">
|
||||
|
@ -89,13 +89,13 @@
|
|||
type="textarea"
|
||||
:autosize="{ minRows: 2, maxRows: 4}"
|
||||
:rows="2"
|
||||
:placeholder="$t('test_track.input_prerequisite')"></el-input>
|
||||
:placeholder="$t('test_track.case.input_prerequisite')"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row style="margin-bottom: 10px">
|
||||
<el-col :offset="2">{{$t('test_track.steps')}}:</el-col>
|
||||
<el-col :offset="2">{{$t('test_track.case.steps')}}:</el-col>
|
||||
</el-row>
|
||||
<el-row type="flex" justify="center">
|
||||
<el-col :span="20">
|
||||
|
@ -106,8 +106,8 @@
|
|||
size="mini"
|
||||
:default-sort = "{prop: 'num', order: 'ascending'}"
|
||||
highlight-current-row>
|
||||
<el-table-column :label="$t('test_track.number')" prop="num" min-width="15%"></el-table-column>
|
||||
<el-table-column :label="$t('test_track.step_desc')" prop="desc" min-width="35%">
|
||||
<el-table-column :label="$t('test_track.case.number')" prop="num" min-width="15%"></el-table-column>
|
||||
<el-table-column :label="$t('test_track.case.step_desc')" prop="desc" min-width="35%">
|
||||
<template v-slot:default="scope">
|
||||
<el-input
|
||||
size="mini"
|
||||
|
@ -119,7 +119,7 @@
|
|||
<span>{{scope.row.desc}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :label="$t('test_track.expected_results')" prop="result" min-width="35%">
|
||||
<el-table-column :label="$t('test_track.case.expected_results')" prop="result" min-width="35%">
|
||||
<template v-slot:default="scope">
|
||||
<el-input
|
||||
size="mini"
|
||||
|
@ -213,12 +213,12 @@
|
|||
moduleOptions: [],
|
||||
maintainerOptions: [],
|
||||
rules:{
|
||||
name :[{required: true, message: this.$t('test_track.input_name'), trigger: 'blur'}],
|
||||
module :[{required: true, message: this.$t('test_track.input_module'), trigger: 'change'}],
|
||||
maintainer :[{required: true, message: this.$t('test_track.input_maintainer'), trigger: 'change'}],
|
||||
priority :[{required: true, message: this.$t('test_track.input_priority'), trigger: 'change'}],
|
||||
type :[{required: true, message: this.$t('test_track.input_type'), trigger: 'change'}],
|
||||
method :[{required: true, message: this.$t('test_track.input_method'), trigger: 'change'}]
|
||||
name :[{required: true, message: this.$t('test_track.case.input_name'), trigger: 'blur'}],
|
||||
module :[{required: true, message: this.$t('test_track.case.input_module'), trigger: 'change'}],
|
||||
maintainer :[{required: true, message: this.$t('test_track.case.input_maintainer'), trigger: 'change'}],
|
||||
priority :[{required: true, message: this.$t('test_track.case.input_priority'), trigger: 'change'}],
|
||||
type :[{required: true, message: this.$t('test_track.case.input_type'), trigger: 'change'}],
|
||||
method :[{required: true, message: this.$t('test_track.case.input_method'), trigger: 'change'}]
|
||||
},
|
||||
formLabelWidth: "120px",
|
||||
operationType: ''
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<div>
|
||||
<el-tooltip class="item" effect="dark" content="导出用例" placement="right">
|
||||
<el-tooltip class="item" effect="dark" :content="$t('test_track.case.export.export')" placement="right">
|
||||
<el-button type="info" icon="el-icon-download" size="mini" circle></el-button>
|
||||
</el-tooltip>
|
||||
</div>
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
<template>
|
||||
|
||||
<div>
|
||||
<el-tooltip class="item" effect="dark" content="导入用例" placement="right">
|
||||
<el-tooltip class="item" effect="dark" :content="$t('test_track.case.import.import')" placement="right">
|
||||
<el-button type="info" icon="el-icon-upload2" size="mini" circle
|
||||
@click="dialogVisible = true"></el-button></el-tooltip>
|
||||
|
||||
<el-dialog width="30%" title="导入测试用例" :visible.sync="dialogVisible"
|
||||
<el-dialog width="30%" :title="$t('test_track.case.import.case_import')" :visible.sync="dialogVisible"
|
||||
@close="init">
|
||||
|
||||
<el-row>
|
||||
<el-link type="primary" class="download-template"
|
||||
href="/test/case/export/template">下载模版</el-link></el-row>
|
||||
href="/test/case/export/template">{{$t('test_track.case.import.download_template')}}</el-link></el-row>
|
||||
|
||||
<el-row>
|
||||
<el-upload
|
||||
|
@ -25,10 +25,10 @@
|
|||
:on-error="handleError"
|
||||
:file-list="fileList">
|
||||
<template v-slot:trigger>
|
||||
<el-button size="mini" type="success" plain>点击上传</el-button>
|
||||
<el-button size="mini" type="success" plain>{{$t('test_track.case.import.click_upload')}}</el-button>
|
||||
</template>
|
||||
<template v-slot:tip>
|
||||
<div class="el-upload__tip">只能上传xls/xlsx文件,且不超过20M</div>
|
||||
<div class="el-upload__tip">{{$t('test_track.case.import.upload_limit')}}</div>
|
||||
</template>
|
||||
</el-upload></el-row>
|
||||
|
||||
|
@ -68,13 +68,13 @@
|
|||
this.init();
|
||||
},
|
||||
handleExceed(files, fileList) {
|
||||
this.$message.warning(`当前限制选择 1 个文件,本次选择了 ${files.length} 个文件`);
|
||||
this.$message.warning(this.$t('test_track.case.import.upload_limit_count'));
|
||||
},
|
||||
UploadValidate(file) {
|
||||
var suffix =file.name.substring(file.name.lastIndexOf('.') + 1);
|
||||
if (suffix != 'xls' && suffix != 'xlsx') {
|
||||
this.$message({
|
||||
message: '上传文件只能是 xls、xlsx格式!',
|
||||
message: this.$t('test_track.case.import.upload_limit_format'),
|
||||
type: 'warning'
|
||||
});
|
||||
return false;
|
||||
|
@ -82,7 +82,7 @@
|
|||
|
||||
if (file.size / 1024 / 1024 > 20) {
|
||||
this.$message({
|
||||
message: '上传文件大小不能超过 20MB!',
|
||||
message: this.$t('test_track.case.import.upload_limit_size'),
|
||||
type: 'warning'
|
||||
});
|
||||
return false;
|
||||
|
@ -92,7 +92,7 @@
|
|||
handleSuccess(response) {
|
||||
let res = response.data;
|
||||
if (res.success) {
|
||||
this.$message.success("导入成功!");
|
||||
this.$message.success(this.$t('test_track.case.import.success'));
|
||||
this.dialogVisible = false;
|
||||
this.$emit("refresh");
|
||||
} else {
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
<template v-slot:header>
|
||||
<div>
|
||||
<el-row type="flex" justify="space-between" align="middle">
|
||||
<span class="title">{{$t('test_track.test_case')}}
|
||||
<ms-create-box :tips="$t('test_track.create')" :exec="testCaseCreate"/></span>
|
||||
<span class="title">{{$t('test_track.case.test_case')}}
|
||||
<ms-create-box :tips="$t('test_track.case.create')" :exec="testCaseCreate"/></span>
|
||||
|
||||
<span class="operate-button">
|
||||
<test-case-import :projectId="currentProject == null? null : currentProject.id"
|
||||
|
@ -33,31 +33,31 @@
|
|||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="priority"
|
||||
:label="$t('test_track.priority')"
|
||||
:label="$t('test_track.case.priority')"
|
||||
show-overflow-tooltip>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="type"
|
||||
:label="$t('test_track.type')"
|
||||
:label="$t('test_track.case.type')"
|
||||
show-overflow-tooltip>
|
||||
<template v-slot:default="scope">
|
||||
<span v-if="scope.row.type == 'functional'">{{$t('test_track.functional_test')}}</span>
|
||||
<span v-if="scope.row.type == 'functional'">{{$t('test_track.case.functional_test')}}</span>
|
||||
<span v-if="scope.row.type == 'performance'">{{$t('commons.performance')}}</span>
|
||||
<span v-if="scope.row.type == 'api'">{{$t('commons.api')}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="method"
|
||||
:label="$t('test_track.method')"
|
||||
:label="$t('test_track.case.method')"
|
||||
show-overflow-tooltip>
|
||||
<template v-slot:default="scope">
|
||||
<span v-if="scope.row.method == 'manual'">{{$t('test_track.manual')}}</span>
|
||||
<span v-if="scope.row.method == 'auto'">{{$t('test_track.auto')}}</span>
|
||||
<span v-if="scope.row.method == 'manual'">{{$t('test_track.case.manual')}}</span>
|
||||
<span v-if="scope.row.method == 'auto'">{{$t('test_track.case.auto')}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="nodePath"
|
||||
:label="$t('test_track.module')"
|
||||
:label="$t('test_track.case.module')"
|
||||
show-overflow-tooltip>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
|
@ -152,7 +152,7 @@
|
|||
this.$emit('testCaseEdit', testCase);
|
||||
},
|
||||
handleDelete(testCase) {
|
||||
this.$alert(this.$t('test_track.case_delete_confirm') + testCase.name + "?", '', {
|
||||
this.$alert(this.$t('test_track.case.delete_confirm') + testCase.name + "?", '', {
|
||||
confirmButtonText: this.$t('commons.confirm'),
|
||||
callback: (action) => {
|
||||
if (action === 'confirm') {
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
|
||||
<el-submenu v-if="isCurrentWorkspaceUser"
|
||||
index="6" popper-class="submenu" v-permission="['test_manager', 'test_user']">
|
||||
<template v-slot:title>{{$t('test_track.test_case')}}</template>
|
||||
<template v-slot:title>{{$t('test_track.case.test_case')}}</template>
|
||||
<ms-recent-list :options="caseRecent"/>
|
||||
<el-divider/>
|
||||
<ms-show-all :index="'/track/case/all'"/>
|
||||
|
@ -29,12 +29,12 @@
|
|||
|
||||
<el-submenu v-if="isCurrentWorkspaceUser"
|
||||
index="7" popper-class="submenu" v-permission="['test_manager', 'test_user', 'test_viewer']">
|
||||
<template v-slot:title>{{$t('test_track.test_plan')}}</template>
|
||||
<template v-slot:title>{{$t('test_track.plan.test_plan')}}</template>
|
||||
<ms-recent-list :options="planRecent"/>
|
||||
<el-divider/>
|
||||
<ms-show-all :index="'/track/plan/all'"/>
|
||||
<el-menu-item :index="testPlanViewPath" class="blank_item"></el-menu-item>
|
||||
<ms-create-button :index="'/track/plan/create'" :title="$t('test_track.create_plan')"/>
|
||||
<ms-create-button :index="'/track/plan/create'" :title="$t('test_track.plan.create_plan')"/>
|
||||
</el-submenu>
|
||||
</el-menu>
|
||||
</el-col>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<select-menu
|
||||
:data="testPlans"
|
||||
:current-data="currentPlan"
|
||||
:title="$t('test_track.plan')"
|
||||
:title="$t('test_track.plan_view.plan')"
|
||||
@dataChange="changePlan">
|
||||
</select-menu>
|
||||
|
||||
|
|
|
@ -3,22 +3,22 @@
|
|||
<el-col>
|
||||
<el-button type="success" round size="mini"
|
||||
:icon="status == 'Pass' ? 'el-icon-check' : ''"
|
||||
@click="setStatus('Pass')"> {{$t('test_track.pass')}}</el-button>
|
||||
@click="setStatus('Pass')"> {{$t('test_track.plan_view.pass')}}</el-button>
|
||||
</el-col>
|
||||
<el-col>
|
||||
<el-button type="danger" round size="mini"
|
||||
:icon="status == 'Failure' ? 'el-icon-check' : ''"
|
||||
@click="setStatus('Failure')"> {{$t('test_track.failure')}}</el-button>
|
||||
@click="setStatus('Failure')"> {{$t('test_track.plan_view.failure')}}</el-button>
|
||||
</el-col>
|
||||
<el-col>
|
||||
<el-button type="warning" round size="mini"
|
||||
:icon="status == 'Blocking' ? 'el-icon-check' : ''"
|
||||
@click="setStatus('Blocking')"> {{$t('test_track.blocking')}}</el-button>
|
||||
@click="setStatus('Blocking')"> {{$t('test_track.plan_view.blocking')}}</el-button>
|
||||
</el-col>
|
||||
<el-col>
|
||||
<el-button type="info" round size="mini"
|
||||
:icon="status == 'Skip' ? 'el-icon-check' : ''"
|
||||
@click="setStatus('Skip')"> {{$t('test_track.skip')}}</el-button>
|
||||
@click="setStatus('Skip')"> {{$t('test_track.plan_view.skip')}}</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</template>
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<template>
|
||||
|
||||
<el-dialog title="更改执行人"
|
||||
<el-dialog :title="$t('test_track.plan_view.change_executor')"
|
||||
:visible.sync="executorEditVisible"
|
||||
width="20%">
|
||||
<el-select v-model="executor" placeholder="请选择活动区域">
|
||||
<el-select v-model="executor" :placeholder="$t('test_track.plan_view.select_executor')">
|
||||
<el-option v-for="item in executorOptions" :key="item.id"
|
||||
:label="item.name" :value="item.name"></el-option>
|
||||
</el-select>
|
||||
|
@ -49,14 +49,14 @@
|
|||
let param = {};
|
||||
param.executor = this.executor;
|
||||
if (this.executor === '') {
|
||||
this.$message('请选择执行人!');
|
||||
this.$message.warning(this.$t('test_track.plan_view.select_executor'));
|
||||
return;
|
||||
}
|
||||
param.ids = [...this.selectIds];
|
||||
this.$post('/test/plan/case/batch/edit' , param, () => {
|
||||
this.executor = '';
|
||||
this.selectIds.clear();
|
||||
this.$message.success("保存成功");
|
||||
this.$message.success(this.$t('commons.save_success'));
|
||||
this.executorEditVisible = false;
|
||||
this.$emit('refresh');
|
||||
});
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
|
||||
<div>
|
||||
<el-input :placeholder="$t('test_track.search_module')" v-model="filterText" size="small"></el-input>
|
||||
<el-input :placeholder="$t('test_track.module.search')" v-model="filterText" size="small"></el-input>
|
||||
|
||||
<el-tree
|
||||
v-loading="result.loading"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
|
||||
<el-dialog title="更改执行结果"
|
||||
<el-dialog :title="$t('test_track.plan_view.change_execution_results')"
|
||||
:visible.sync="statusEditVisible"
|
||||
width="30%">
|
||||
|
||||
|
@ -43,7 +43,7 @@
|
|||
saveStatus() {
|
||||
let param = {};
|
||||
if (this.status === '') {
|
||||
this.$message('请选择执行结果!');
|
||||
this.$message.warning(this.$t('test_track.plan_view.select_execute_result'));
|
||||
return;
|
||||
}
|
||||
param.status = this.status;
|
||||
|
@ -51,7 +51,7 @@
|
|||
this.$post('/test/plan/case/batch/edit' , param, () => {
|
||||
this.selectIds.clear();
|
||||
this.status = '';
|
||||
this.$message.success("保存成功");
|
||||
this.$message.success(this.$t('commons.save_success'));
|
||||
this.statusEditVisible = false;
|
||||
this.$emit('refresh');
|
||||
});
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
<div>
|
||||
|
||||
<el-dialog :title="$t('test_track.relevance_test_case')"
|
||||
<el-dialog :title="$t('test_track.plan_view.relevance_test_case')"
|
||||
:visible.sync="dialogFormVisible"
|
||||
@close="close"
|
||||
width="50%">
|
||||
|
@ -32,7 +32,7 @@
|
|||
|
||||
<el-table-column
|
||||
prop="name"
|
||||
:label="$t('test_track.name')"
|
||||
:label="$t('test_track.case.name')"
|
||||
style="width: 100%">
|
||||
<template v-slot:default="scope">
|
||||
{{scope.row.name}}
|
||||
|
@ -165,11 +165,7 @@
|
|||
}
|
||||
|
||||
.node-tree{
|
||||
/*border-radius: 1px;*/
|
||||
/*padding-top: 5px ;*/
|
||||
/*height: 100%;*/
|
||||
margin-right: 10px;
|
||||
/*box-shadow: 0 2px 4px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04);*/
|
||||
}
|
||||
|
||||
.el-header {
|
||||
|
@ -178,10 +174,6 @@
|
|||
line-height: 60px;
|
||||
}
|
||||
|
||||
.el-aside {
|
||||
/*color: #333;*/
|
||||
/*background-color: rgb(238, 241, 246)*/
|
||||
}
|
||||
.case-content {
|
||||
height: 100%;
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
<div>
|
||||
|
||||
<el-dialog :title="$t('test_track.create_plan')"
|
||||
<el-dialog :title="$t('test_track.plan.create_plan')"
|
||||
:visible.sync="dialogFormVisible"
|
||||
width="65%">
|
||||
|
||||
|
@ -11,8 +11,8 @@
|
|||
<el-row>
|
||||
<el-col :span="8" :offset="1">
|
||||
<el-form-item
|
||||
:placeholder="$t('test_track.input_name')"
|
||||
:label="$t('test_track.plan_name')"
|
||||
:placeholder="$t('test_track.plan.input_name')"
|
||||
:label="$t('test_track.plan.plan_name')"
|
||||
:label-width="formLabelWidth"
|
||||
prop="name">
|
||||
<el-input v-model="form.name"></el-input>
|
||||
|
@ -20,10 +20,10 @@
|
|||
</el-col>
|
||||
|
||||
<el-col :span="11" :offset="2">
|
||||
<el-form-item :label="$t('test_track.plan_project')" :label-width="formLabelWidth" prop="projectId">
|
||||
<el-form-item :label="$t('test_track.plan.plan_project')" :label-width="formLabelWidth" prop="projectId">
|
||||
<el-select
|
||||
v-model="form.projectId"
|
||||
:placeholder="$t('test_track.input_plan_project')"
|
||||
:placeholder="$t('test_track.plan.input_plan_project')"
|
||||
filterable>
|
||||
<el-option
|
||||
v-for="item in projects"
|
||||
|
@ -38,8 +38,8 @@
|
|||
|
||||
<el-row>
|
||||
<el-col :span="10" :offset="1">
|
||||
<el-form-item :label="$t('test_track.plan_principal')" :label-width="formLabelWidth" prop="principal">
|
||||
<el-select v-model="form.principal" :placeholder="$t('test_track.input_plan_principal')" filterable>
|
||||
<el-form-item :label="$t('test_track.plan.plan_principal')" :label-width="formLabelWidth" prop="principal">
|
||||
<el-select v-model="form.principal" :placeholder="$t('test_track.plan.input_plan_principal')" filterable>
|
||||
<el-option
|
||||
v-for="item in principalOptions"
|
||||
:key="item.id"
|
||||
|
@ -51,13 +51,13 @@
|
|||
</el-col>
|
||||
|
||||
<el-col :span="12">
|
||||
<el-form-item :label="$t('test_track.plan_stage')" :label-width="formLabelWidth" prop="stage">
|
||||
<el-select v-model="form.stage" clearable :placeholder="$t('test_track.input_plan_stage')">
|
||||
<el-option :label="$t('test_track.smoke_test')" value="smoke"></el-option>
|
||||
<el-option :label="$t('test_track.functional_test')" value="functional"></el-option>
|
||||
<el-option :label="$t('test_track.integration_testing')" value="integration"></el-option>
|
||||
<el-option :label="$t('test_track.system_test')" value="system"></el-option>
|
||||
<el-option :label="$t('test_track.version_validation')" value="version"></el-option>
|
||||
<el-form-item :label="$t('test_track.plan.plan_stage')" :label-width="formLabelWidth" prop="stage">
|
||||
<el-select v-model="form.stage" clearable :placeholder="$t('test_track.plan.input_plan_stage')">
|
||||
<el-option :label="$t('test_track.plan.smoke_test')" value="smoke"></el-option>
|
||||
<el-option :label="$t('test_track.plan.functional_test')" value="functional"></el-option>
|
||||
<el-option :label="$t('test_track.plan.integration_testing')" value="integration"></el-option>
|
||||
<el-option :label="$t('test_track.plan.system_test')" value="system"></el-option>
|
||||
<el-option :label="$t('test_track.plan.version_validation')" value="version"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
@ -114,10 +114,10 @@
|
|||
description: ''
|
||||
},
|
||||
rules:{
|
||||
name :[{required: true, message: this.$t('test_track.input_name'), trigger: 'blur'}],
|
||||
projectId :[{required: true, message: this.$t('test_track.input_plan_project'), trigger: 'change'}],
|
||||
principal :[{required: true, message: this.$t('test_track.input_plan_principal'), trigger: 'change'}],
|
||||
stage :[{required: true, message: this.$t('test_track.input_plan_stage'), trigger: 'change'}]
|
||||
name :[{required: true, message: this.$t('test_track.plan.input_plan_name'), trigger: 'blur'}],
|
||||
projectId :[{required: true, message: this.$t('test_track.plan.input_plan_project'), trigger: 'change'}],
|
||||
principal :[{required: true, message: this.$t('test_track.plan.input_plan_principal'), trigger: 'change'}],
|
||||
stage :[{required: true, message: this.$t('test_track.plan.input_plan_stage'), trigger: 'change'}]
|
||||
},
|
||||
formLabelWidth: "120px",
|
||||
operationType: '',
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
<div>
|
||||
<el-row type="flex" justify="space-between" align="middle">
|
||||
<el-col :span="5">
|
||||
<span class="title">{{$t('test_track.test_plan')}}</span>
|
||||
<ms-create-box :tips="$t('test_track.create_plan')" :exec="testPlanCreate"/>
|
||||
<span class="title">{{$t('test_track.plan.test_plan')}}</span>
|
||||
<ms-create-box :tips="$t('test_track.plan.create_plan')" :exec="testPlanCreate"/>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="5">
|
||||
|
@ -33,34 +33,34 @@
|
|||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="principal"
|
||||
:label="$t('test_track.plan_principal')"
|
||||
:label="$t('test_track.plan.plan_principal')"
|
||||
show-overflow-tooltip>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="status"
|
||||
:label="$t('test_track.plan_status')"
|
||||
:label="$t('test_track.plan.plan_status')"
|
||||
show-overflow-tooltip>
|
||||
<template v-slot:default="scope">
|
||||
<span v-if="scope.row.status == 'Prepare'">{{$t('test_track.plan_status_prepare')}}</span>
|
||||
<span v-if="scope.row.status == 'Running'">{{$t('test_track.plan_status_running')}}</span>
|
||||
<span v-if="scope.row.status == 'Completed'">{{$t('test_track.plan_status_completed')}}</span>
|
||||
<span v-if="scope.row.status == 'Prepare'">{{$t('test_track.plan.plan_status_prepare')}}</span>
|
||||
<span v-if="scope.row.status == 'Running'">{{$t('test_track.plan.plan_status_running')}}</span>
|
||||
<span v-if="scope.row.status == 'Completed'">{{$t('test_track.plan.plan_status_completed')}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="stage"
|
||||
:label="$t('test_track.plan_stage')"
|
||||
:label="$t('test_track.plan.plan_stage')"
|
||||
show-overflow-tooltip>
|
||||
<template v-slot:default="scope">
|
||||
<span v-if="scope.row.stage == 'smoke'">{{$t('test_track.smoke_test')}}</span>
|
||||
<span v-if="scope.row.stage == 'functional'">{{$t('test_track.functional_test')}}</span>
|
||||
<span v-if="scope.row.stage == 'integration'">{{$t('test_track.integration_testing')}}</span>
|
||||
<span v-if="scope.row.stage == 'system'">{{$t('test_track.system_test')}}</span>
|
||||
<span v-if="scope.row.stage == 'version'">{{$t('test_track.version_validation')}}</span>
|
||||
<span v-if="scope.row.stage == 'smoke'">{{$t('test_track.plan.smoke_test')}}</span>
|
||||
<span v-if="scope.row.stage == 'functional'">{{$t('test_track.plan.functional_test')}}</span>
|
||||
<span v-if="scope.row.stage == 'integration'">{{$t('test_track.plan.integration_testing')}}</span>
|
||||
<span v-if="scope.row.stage == 'system'">{{$t('test_track.plan.system_test')}}</span>
|
||||
<span v-if="scope.row.stage == 'version'">{{$t('test_track.plan.version_validation')}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="projectName"
|
||||
:label="$t('test_track.plan_project')"
|
||||
:label="$t('test_track.plan.plan_project')"
|
||||
show-overflow-tooltip>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
|
@ -88,23 +88,6 @@
|
|||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<!--<div>-->
|
||||
<!--<el-row>-->
|
||||
<!--<el-col :span="22" :offset="1">-->
|
||||
<!--<div class="table-page">-->
|
||||
<!--<el-pagination-->
|
||||
<!--@size-change="handleSizeChange"-->
|
||||
<!--@current-change="handleCurrentChange"-->
|
||||
<!--:current-page.sync="currentPage"-->
|
||||
<!--:page-sizes="[5, 10, 20, 50, 100]"-->
|
||||
<!--:page-size="pageSize"-->
|
||||
<!--layout="total, sizes, prev, pager, next, jumper"-->
|
||||
<!--:total="total">-->
|
||||
<!--</el-pagination>-->
|
||||
<!--</div>-->
|
||||
<!--</el-col>-->
|
||||
<!--</el-row>-->
|
||||
<!--</div>-->
|
||||
<ms-table-pagination :change="initTableData" :current-page.sync="currentPage" :page-size.sync="pageSize"
|
||||
:total="total"/>
|
||||
|
||||
|
@ -157,7 +140,7 @@
|
|||
this.$emit('testPlanEdit', testPlan);
|
||||
},
|
||||
handleDelete(testPlan) {
|
||||
this.$alert(this.$t('test_track.plan_delete_confirm') + testPlan.name + "?", '', {
|
||||
this.$alert(this.$t('test_track.plan.plan_delete_confirm') + testPlan.name + "?", '', {
|
||||
confirmButtonText: this.$t('commons.confirm'),
|
||||
callback: (action) => {
|
||||
if (action === 'confirm') {
|
||||
|
|
|
@ -16,15 +16,15 @@
|
|||
<el-col :span="12">
|
||||
<el-button plain size="mini"
|
||||
icon="el-icon-back"
|
||||
@click="cancel">返回</el-button>
|
||||
@click="cancel">{{$t('test_track.return')}}</el-button>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12" class="head-right">
|
||||
<span class="head-right-tip" v-if="index + 1 == tableData.length">
|
||||
上一条用例 : {{tableData ? tableData[index - 1].name : ''}}
|
||||
{{$t('test_track.plan_view.pre_case')}} : {{tableData ? tableData[index - 1].name : ''}}
|
||||
</span>
|
||||
<span class="head-right-tip" v-if="index + 1 < tableData.length">
|
||||
下一条用例 : {{tableData ? tableData[index + 1].name : ''}}
|
||||
{{$t('test_track.plan_view.next_case')}} : {{tableData ? tableData[index + 1].name : ''}}
|
||||
</span>
|
||||
|
||||
<el-button plain size="mini" icon="el-icon-arrow-up"
|
||||
|
@ -52,12 +52,12 @@
|
|||
<div class="case_container">
|
||||
<el-row >
|
||||
<el-col :span="4" :offset="1">
|
||||
<span class="cast_label">{{$t('test_track.priority')}}:</span>
|
||||
<span class="cast_label">{{$t('test_track.case.priority')}}:</span>
|
||||
<span class="cast_item">{{testCase.priority}}</span>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<span class="cast_label">{{$t('test_track.case_type')}}:</span>
|
||||
<span class="cast_item" v-if="testCase.type == 'functional'">{{$t('test_track.functional_test')}}</span>
|
||||
<span class="cast_label">{{$t('test_track.case.case_type')}}:</span>
|
||||
<span class="cast_item" v-if="testCase.type == 'functional'">{{$t('commons.functional')}}</span>
|
||||
<span class="cast_item" v-if="testCase.type == 'performance'">{{$t('commons.performance')}}</span>
|
||||
<span class="cast_item" v-if="testCase.type == 'api'">{{$t('commons.api')}}</span>
|
||||
</el-col>
|
||||
|
@ -70,12 +70,12 @@
|
|||
|
||||
<el-row>
|
||||
<el-col :span="4" :offset="1">
|
||||
<span class="cast_label">{{$t('test_track.method')}}:</span>
|
||||
<span v-if="testCase.method == 'manual'">{{$t('test_track.manual')}}</span>
|
||||
<span v-if="testCase.method == 'auto'">{{$t('test_track.auto')}}</span>
|
||||
<span class="cast_label">{{$t('test_track.case.method')}}:</span>
|
||||
<span v-if="testCase.method == 'manual'">{{$t('test_track.case.manual')}}</span>
|
||||
<span v-if="testCase.method == 'auto'">{{$t('test_track.case.auto')}}</span>
|
||||
</el-col>
|
||||
<el-col :span="5">
|
||||
<span class="cast_label">{{$t('test_track.module')}}:</span>
|
||||
<span class="cast_label">{{$t('test_track.case.module')}}:</span>
|
||||
<span class="cast_item">{{testCase.nodePath}}</span>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
@ -83,7 +83,7 @@
|
|||
<el-row>
|
||||
<el-col :span="20" :offset="1">
|
||||
<div>
|
||||
<span class="cast_label">测试步骤:</span>
|
||||
<span class="cast_label">{{$t('test_track.case.steps')}}:</span>
|
||||
</div>
|
||||
<el-table
|
||||
:data="testCase.steptResults"
|
||||
|
@ -93,18 +93,18 @@
|
|||
:border="true"
|
||||
:default-sort = "{prop: 'num', order: 'ascending'}"
|
||||
highlight-current-row>
|
||||
<el-table-column :label="$t('test_track.number')" prop="num" min-width="5%"></el-table-column>
|
||||
<el-table-column :label="$t('test_track.step_desc')" prop="desc" min-width="29%">
|
||||
<el-table-column :label="$t('test_track.case.number')" prop="num" min-width="5%"></el-table-column>
|
||||
<el-table-column :label="$t('test_track.case.step_desc')" prop="desc" min-width="29%">
|
||||
<template v-slot:default="scope">
|
||||
<span>{{scope.row.desc}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :label="$t('test_track.expected_results')" prop="result" min-width="28%">
|
||||
<el-table-column :label="$t('test_track.case.expected_results')" prop="result" min-width="28%">
|
||||
<template v-slot:default="scope">
|
||||
<span>{{scope.row.result}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :label="$t('test_track.actual_result')" min-width="29%">
|
||||
<el-table-column :label="$t('test_track.plan_view.actual_result')" min-width="29%">
|
||||
<template v-slot:default="scope">
|
||||
<el-input
|
||||
size="mini"
|
||||
|
@ -116,15 +116,15 @@
|
|||
<span>{{scope.row.actualResult}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :label="$t('test_track.step_result')" min-width="9%">
|
||||
<el-table-column :label="$t('test_track.plan_view.step_result')" min-width="9%">
|
||||
<template v-slot:default="scope">
|
||||
<el-select
|
||||
v-model="scope.row.executeResult"
|
||||
size="mini">
|
||||
<el-option :label="$t('test_track.pass')" value="Pass" style="color: #7ebf50;"></el-option>
|
||||
<el-option :label="$t('test_track.failure')" value="Failure" style="color: #e57471;"></el-option>
|
||||
<el-option :label="$t('test_track.blocking')" value="Blocking" style="color: #dda451;"></el-option>
|
||||
<el-option :label="$t('test_track.skip')" value="Skip" style="color: #919399;"></el-option>
|
||||
<el-option :label="$t('test_track.plan_view.pass')" value="Pass" style="color: #7ebf50;"></el-option>
|
||||
<el-option :label="$t('test_track.plan_view.failure')" value="Failure" style="color: #e57471;"></el-option>
|
||||
<el-option :label="$t('test_track.plan_view.blocking')" value="Blocking" style="color: #dda451;"></el-option>
|
||||
<el-option :label="$t('test_track.plan_view.skip')" value="Skip" style="color: #919399;"></el-option>
|
||||
</el-select>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
@ -200,7 +200,7 @@
|
|||
param.results = JSON.stringify(param.results);
|
||||
this.$post('/test/plan/case/edit', param, () => {
|
||||
this.$refs.drawer.closeDrawer();
|
||||
this.$message.success("保存成功!");
|
||||
this.$message.success(this.$t('commons.save_success'));
|
||||
this.$emit('refresh');
|
||||
});
|
||||
},
|
||||
|
|
|
@ -5,23 +5,23 @@
|
|||
<template v-slot:header>
|
||||
<div>
|
||||
<el-row type="flex" justify="space-between" align="middle">
|
||||
<span class="title">{{$t('test_track.test_case')}}
|
||||
<span class="title">{{$t('test_track.case.test_case')}}
|
||||
<ms-tip-button v-if="!showMyTestCase"
|
||||
:tip="'我的用例'"
|
||||
:tip="$t('test_track.plan_view.my_case')"
|
||||
icon="el-icon-s-custom" @click="searchMyTestCase"/>
|
||||
<ms-tip-button v-if="showMyTestCase"
|
||||
:tip="'全部用例'"
|
||||
:tip="$t('test_track.plan_view.all_case')"
|
||||
icon="el-icon-files" @click="searchMyTestCase"/></span>
|
||||
|
||||
<span class="operate-button">
|
||||
<el-button icon="el-icon-connection" size="small" round
|
||||
@click="$emit('openTestCaseRelevanceDialog')" >{{$t('test_track.relevance_test_case')}}</el-button>
|
||||
@click="$emit('openTestCaseRelevanceDialog')" >{{$t('test_track.plan_view.relevance_test_case')}}</el-button>
|
||||
|
||||
<el-button icon="el-icon-edit-outline" size="small" round
|
||||
@click="handleBatch('status')" >更改执行结果</el-button>
|
||||
@click="handleBatch('status')" >{{$t('test_track.plan_view.change_execution_results')}}</el-button>
|
||||
|
||||
<el-button icon="el-icon-user" size="small" round
|
||||
@click="handleBatch('executor')" >更改执行人</el-button>
|
||||
@click="handleBatch('executor')" >{{$t('test_track.plan_view.change_executor')}}</el-button>
|
||||
|
||||
<el-input type="text" size="small"
|
||||
class="search"
|
||||
|
@ -59,7 +59,7 @@
|
|||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="priority"
|
||||
:label="$t('test_track.priority')">
|
||||
:label="$t('test_track.case.priority')">
|
||||
<template v-slot:default="scope">
|
||||
<el-tag v-if="scope.row.priority == 'P0'"
|
||||
type="danger"
|
||||
|
@ -82,10 +82,10 @@
|
|||
|
||||
<el-table-column
|
||||
prop="type"
|
||||
:label="$t('test_track.type')"
|
||||
:label="$t('test_track.case.type')"
|
||||
show-overflow-tooltip>
|
||||
<template v-slot:default="scope">
|
||||
<span v-if="scope.row.type == 'functional'">{{$t('test_track.functional_test')}}</span>
|
||||
<span v-if="scope.row.type == 'functional'">{{$t('commons.functional')}}</span>
|
||||
<span v-if="scope.row.type == 'performance'">{{$t('commons.performance')}}</span>
|
||||
<span v-if="scope.row.type == 'api'">{{$t('commons.api')}}</span>
|
||||
</template>
|
||||
|
@ -93,44 +93,44 @@
|
|||
|
||||
<el-table-column
|
||||
prop="method"
|
||||
:label="$t('test_track.method')"
|
||||
:label="$t('test_track.case.method')"
|
||||
show-overflow-tooltip>
|
||||
<template v-slot:default="scope">
|
||||
<span v-if="scope.row.method == 'manual'">{{$t('test_track.manual')}}</span>
|
||||
<span v-if="scope.row.method == 'auto'">{{$t('test_track.auto')}}</span>
|
||||
<span v-if="scope.row.method == 'manual'">{{$t('test_track.case.manual')}}</span>
|
||||
<span v-if="scope.row.method == 'auto'">{{$t('test_track.case.auto')}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
|
||||
<el-table-column
|
||||
prop="executor"
|
||||
:label="$t('test_track.executor')">
|
||||
:label="$t('test_track.plan_view.executor')">
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column
|
||||
prop="status"
|
||||
:label="$t('test_track.execute_result')">
|
||||
:label="$t('test_track.plan_view.execute_result')">
|
||||
<template v-slot:default="scope">
|
||||
<el-tag v-if="scope.row.status == 'Prepare'"
|
||||
type="info"
|
||||
effect="dark"
|
||||
size="mini">{{$t('test_track.plan_status_prepare')}}</el-tag>
|
||||
size="mini">{{$t('test_track.plan.plan_status_prepare')}}</el-tag>
|
||||
<el-tag v-if="scope.row.status == 'Pass'"
|
||||
type="success"
|
||||
effect="dark"
|
||||
size="mini">{{$t('test_track.pass')}}</el-tag>
|
||||
size="mini">{{$t('test_track.plan_view.pass')}}</el-tag>
|
||||
<el-tag v-if="scope.row.status == 'Failure'"
|
||||
type="danger"
|
||||
effect="dark"
|
||||
size="mini">{{$t('test_track.failure')}}</el-tag>
|
||||
size="mini">{{$t('test_track.plan_view.failure')}}</el-tag>
|
||||
<el-tag v-if="scope.row.status == 'Blocking'"
|
||||
type="warning"
|
||||
effect="dark"
|
||||
size="mini">{{$t('test_track.blocking')}}</el-tag>
|
||||
size="mini">{{$t('test_track.plan_view.blocking')}}</el-tag>
|
||||
<el-tag v-if="scope.row.status == 'Skip'"
|
||||
type="info"
|
||||
effect="dark"
|
||||
size="mini">{{$t('test_track.skip')}}</el-tag>
|
||||
size="mini">{{$t('test_track.plan_view.skip')}}</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
|
@ -227,7 +227,7 @@
|
|||
this.$refs.testPlanTestCaseEdit.showDialog = true;
|
||||
},
|
||||
handleDelete(testCase) {
|
||||
this.$alert(this.$t('test_track.confirm_cancel_relevance') + ' ' + testCase.name + " ?", '', {
|
||||
this.$alert(this.$t('test_track.plan_view.confirm_cancel_relevance') + ' ' + testCase.name + " ?", '', {
|
||||
confirmButtonText: this.$t('commons.confirm'),
|
||||
callback: (action) => {
|
||||
if (action === 'confirm') {
|
||||
|
@ -265,7 +265,7 @@
|
|||
},
|
||||
handleBatch(type){
|
||||
if (this.selectIds.size < 1) {
|
||||
this.$message.warning('请选择需要操作的数据');
|
||||
this.$message.warning(this.$t('test_track.plan_view.select_manipulate'));
|
||||
return;
|
||||
}
|
||||
if (type === 'executor'){
|
||||
|
|
|
@ -38,8 +38,9 @@ export default {
|
|||
'personal_setting': 'Personal Setting',
|
||||
'test_resource_pool': 'Resource Pool',
|
||||
'system_setting': 'Settings',
|
||||
'api': 'Api',
|
||||
'performance': 'Performance',
|
||||
'api': 'Api test',
|
||||
'performance': 'Performance test',
|
||||
'functional': 'Functional test',
|
||||
'input_content': 'Please enter content',
|
||||
'create': 'Create',
|
||||
'refresh': 'Refresh',
|
||||
|
@ -171,78 +172,112 @@ export default {
|
|||
'select_resource_pool': 'Please select resource pool'
|
||||
},
|
||||
test_track: {
|
||||
'test_track': 'Test Track',
|
||||
'test_case': 'Test Case',
|
||||
'case_list': 'Test Case List',
|
||||
'create_case': 'Create Case',
|
||||
'test_plan': 'Test Plan',
|
||||
'no_project': 'There is no project in this workspace, please create the project first',
|
||||
'priority': 'Priority',
|
||||
'type': 'Type',
|
||||
'method': 'The test way',
|
||||
'auto': 'Auto',
|
||||
'manual': 'Manual',
|
||||
'create': 'Create test case',
|
||||
'name': 'Test case name',
|
||||
'module': 'Subordinate to the module',
|
||||
'maintainer': 'Maintainer',
|
||||
'steps': 'Steps',
|
||||
'number': 'Number',
|
||||
'prerequisite': 'Prerequisite',
|
||||
'step_desc': 'Step describe',
|
||||
'expected_results': 'Expected results',
|
||||
'confirm': 'confirm',
|
||||
'cancel': 'cancel',
|
||||
'input_name': 'Please enter name',
|
||||
'input_module': 'Please select module',
|
||||
'input_maintainer': 'Please select maintainer',
|
||||
'input_priority': 'Please select priority',
|
||||
'input_type': 'Please select type',
|
||||
'input_method': 'Please select method',
|
||||
'input_prerequisite': 'Please select prerequisite',
|
||||
'search_module': 'Search module',
|
||||
'rename': 'Rename',
|
||||
'add_submodule': 'Add submodule',
|
||||
'add_module': 'Add module',
|
||||
'module_name': 'Module name',
|
||||
'create_plan': 'Create test plan',
|
||||
'plan_name': 'Test plan name',
|
||||
'plan_project': 'Related project',
|
||||
'plan_stage': 'Testing phase',
|
||||
'plan_status': 'Status',
|
||||
'smoke_test': 'Smoke test',
|
||||
'functional_test': 'Functional test',
|
||||
'integration_testing': 'Integration testing',
|
||||
'system_test': 'System test',
|
||||
'version_validation': 'Version validation',
|
||||
'plan_principal': 'Principal',
|
||||
'input_plan_principal': 'Please select principal',
|
||||
'input_plan_project': 'Please select project',
|
||||
'input_plan_stage': 'Please select stage',
|
||||
'plan_status_prepare': 'Not started',
|
||||
'plan_status_running': 'Starting',
|
||||
'plan_status_completed': 'Completed',
|
||||
'delete_module_confirm': 'Confirm delete module: ',
|
||||
'delete_module_resource': 'and all submodules and test cases under the module',
|
||||
'relevance_test_case': 'Relevance test case',
|
||||
'executor': 'executor',
|
||||
'execute_result': 'Execute result',
|
||||
'case_type': 'Case type',
|
||||
'pass': 'Pass',
|
||||
'failure': 'Failure',
|
||||
'blocking': 'Blocking',
|
||||
'skip': 'Skip',
|
||||
'actual_result': 'Actual result',
|
||||
'step_result': 'Step result',
|
||||
'select_execute_result': 'Select execute result',
|
||||
'save': 'Save',
|
||||
'confirm_cancel_relevance': 'Confirm cancel relevance',
|
||||
'plan': 'Plan',
|
||||
'project': 'Project',
|
||||
'recent_plan': 'Recent plan',
|
||||
'recent_case': 'Recent case',
|
||||
'plan_delete_confirm': 'Confirm delete test plan: ',
|
||||
'case_delete_confirm': 'Confirm delete test case: ',
|
||||
test_track: "Test Track",
|
||||
confirm: "Confirm",
|
||||
cancel: "Cancel",
|
||||
project: "Project",
|
||||
save: "Save",
|
||||
return: "Return",
|
||||
recent_plan: "Recent plan",
|
||||
recent_case: "Recent case",
|
||||
case: {
|
||||
test_case: "Test Case",
|
||||
case_list: "Test Case List",
|
||||
create_case: "Create Case",
|
||||
no_project: "There is no project in this workspace, please create the project first",
|
||||
priority: "Priority",
|
||||
type: "Type",
|
||||
method: "The test way",
|
||||
auto: "Auto",
|
||||
manual: "Manual",
|
||||
create: "Create test case",
|
||||
case_type: "Case Type",
|
||||
name: "Test case name",
|
||||
module: "Subordinate to the module",
|
||||
maintainer: "Maintainer",
|
||||
steps: "Steps",
|
||||
number: "Number",
|
||||
prerequisite: "Prerequisite",
|
||||
step_desc: "Step describe",
|
||||
expected_results: "Expected results",
|
||||
input_name: "Please enter name",
|
||||
input_module: "Please select module",
|
||||
input_maintainer: "Please select maintainer",
|
||||
input_priority: "Please select priority",
|
||||
input_type: "Please select type",
|
||||
input_method: "Please select method",
|
||||
input_prerequisite: "Please select prerequisite",
|
||||
delete_confirm: "Confirm delete test case: ",
|
||||
|
||||
import: {
|
||||
import: "Import test case",
|
||||
case_import: "Import test case",
|
||||
download_template: "Download template",
|
||||
click_upload: "Upload",
|
||||
upload_limit: "Only XLS/XLSX files can be uploaded, and no more than 20M",
|
||||
upload_limit_count: "Only one file can be uploaded at a time",
|
||||
upload_limit_format: "Upload files can only be XLS, XLSX format!",
|
||||
upload_limit_size: "Upload file size cannot exceed 20MB!",
|
||||
success: "Import success!",
|
||||
},
|
||||
export: {
|
||||
export: "Export cases"
|
||||
}
|
||||
},},
|
||||
plan: {
|
||||
test_plan: "Test Plan",
|
||||
create_plan: "Create test plan",
|
||||
plan_name: "Test plan name",
|
||||
plan_project: "Related project",
|
||||
plan_stage: "Testing phase",
|
||||
plan_status: "Status",
|
||||
smoke_test: "Smoke test",
|
||||
functional_test: "Functional test",
|
||||
integration_testing: "Integration testing",
|
||||
system_test: "System test",
|
||||
version_validation: "Version validation",
|
||||
plan_principal: "Principal",
|
||||
input_plan_name: "Please input plan name",
|
||||
input_plan_principal: "Please select principal",
|
||||
input_plan_project: "Please select project",
|
||||
input_plan_stage: "Please select stage",
|
||||
plan_status_prepare: "Not started",
|
||||
plan_status_running: "Starting",
|
||||
plan_status_completed: "Completed",
|
||||
plan_delete_confirm: "Confirm delete test plan: ",
|
||||
|
||||
},
|
||||
module: {
|
||||
search: "Search module",
|
||||
rename: "Rename",
|
||||
add_submodule: "Add submodule",
|
||||
add_module: "Add module",
|
||||
name: "Module name",
|
||||
delete_confirm: "Confirm delete module:",
|
||||
delete_all_resource: "and all submodules and test cases under the module",
|
||||
},
|
||||
plan_view: {
|
||||
plan: "Plan",
|
||||
relevance_test_case: "Relevance test case",
|
||||
executor: "Executor",
|
||||
execute_result: "Execute result",
|
||||
pass: "Pass",
|
||||
failure: "Failure",
|
||||
blocking: "Blocking",
|
||||
skip: "Skip",
|
||||
actual_result: "Actual result",
|
||||
step_result: "Step result",
|
||||
my_case: "My case",
|
||||
all_case: "All case",
|
||||
pre_case: "The last case",
|
||||
next_case: "The next case",
|
||||
change_execution_results: "Change execution results",
|
||||
change_executor: "Change executor",
|
||||
select_executor: "Select executor",
|
||||
select_execute_result: "Select execute result",
|
||||
confirm_cancel_relevance: "Confirm cancel relevance",
|
||||
select_manipulate: "Select the data you want to manipulate",
|
||||
|
||||
},
|
||||
test_resource_pool: {
|
||||
'type': 'type',
|
||||
|
|
|
@ -40,6 +40,7 @@ export default {
|
|||
'system_setting': '系统设置',
|
||||
'api': '接口测试',
|
||||
'performance': '性能测试',
|
||||
'functional': '功能测试',
|
||||
'input_content': '请输入内容',
|
||||
'create': '新建',
|
||||
'refresh': '刷新',
|
||||
|
@ -212,83 +213,110 @@ export default {
|
|||
}
|
||||
},
|
||||
test_track: {
|
||||
// test_track: "测试跟踪",
|
||||
// case: {
|
||||
//
|
||||
//
|
||||
// },
|
||||
'test_track': '测试跟踪',
|
||||
'test_case': '测试用例',
|
||||
'case_list': '用例列表',
|
||||
'create_case': '创建用例',
|
||||
'test_plan': '测试计划',
|
||||
'no_project': '该工作空间下无项目,请先创建项目',
|
||||
'priority': '优先级',
|
||||
'type': '类型',
|
||||
'method': '测试方式',
|
||||
'auto': '自动',
|
||||
'manual': '手动',
|
||||
'create': '新建用例',
|
||||
'name': '用例名称',
|
||||
'module': '所属模块',
|
||||
'maintainer': '维护人',
|
||||
'steps': '执行步骤',
|
||||
'number': '编号',
|
||||
'prerequisite': '前置条件',
|
||||
'step_desc': '步骤描述',
|
||||
'expected_results': '预期结果',
|
||||
'confirm': '确 定',
|
||||
'cancel': '取 消',
|
||||
'input_name': '请输入名称',
|
||||
'input_module': '请选择模块',
|
||||
'input_maintainer': '请选择维护人',
|
||||
'input_priority': '请选择优先级',
|
||||
'input_type': '请选择用例类型',
|
||||
'input_method': '请选择测试方式',
|
||||
'input_prerequisite': '请输入前置条件',
|
||||
'search_module': '搜索模块',
|
||||
'rename': '重命名',
|
||||
'add_submodule': '添加子模块',
|
||||
'add_module': '添加模块',
|
||||
'module_name': '模块名称',
|
||||
'create_plan': '创建测试计划',
|
||||
'plan_name': '计划名称',
|
||||
'plan_project': '所属项目',
|
||||
'plan_stage': '测试阶段',
|
||||
'plan_status': '当前状态',
|
||||
'smoke_test': '冒烟测试',
|
||||
'functional_test': '功能测试',
|
||||
'integration_testing': '集成测试',
|
||||
'system_test': '系统测试',
|
||||
'version_validation': '版本验证',
|
||||
'plan_principal': '负责人',
|
||||
'input_plan_principal': '请选择负责人',
|
||||
'input_plan_project': '请选择所属项目',
|
||||
'input_plan_stage': '请选择测试阶段',
|
||||
'plan_status_prepare': '未开始',
|
||||
'plan_status_running': '进行中',
|
||||
'plan_status_completed': '已完成',
|
||||
'delete_module_confirm': '确认删除模块: ',
|
||||
'delete_module_resource': '以及模块下所有子模块和测试用例',
|
||||
'relevance_test_case': '关联测试用例',
|
||||
'executor': '执行人',
|
||||
'execute_result': '执行结果',
|
||||
'case_type': '用例类型',
|
||||
'pass': '通过',
|
||||
'failure': '失败',
|
||||
'blocking': '阻塞',
|
||||
'skip': '跳过',
|
||||
'actual_result': '实际结果',
|
||||
'step_result': '步骤执行结果',
|
||||
'select_execute_result': '选择执行结果',
|
||||
'save': '保 存',
|
||||
'confirm_cancel_relevance': '确认取消关联',
|
||||
'plan': '计划',
|
||||
'project': '项目',
|
||||
'recent_plan': '最近的计划',
|
||||
'recent_case': '最近的用例',
|
||||
'plan_delete_confirm': '确认删除测试计划: ',
|
||||
'case_delete_confirm': '确认删除测试用例: ',
|
||||
test_track: "测试跟踪",
|
||||
confirm: "确 定",
|
||||
cancel: "取 消",
|
||||
project: "项目",
|
||||
save: "保 存",
|
||||
return: "返 回",
|
||||
recent_plan: "最近的计划",
|
||||
recent_case: "最近的用例",
|
||||
case: {
|
||||
test_case: "测试用例",
|
||||
case_list: "用例列表",
|
||||
create_case: "创建用例",
|
||||
no_project: "该工作空间下无项目,请先创建项目",
|
||||
priority: "优先级",
|
||||
type: "类型",
|
||||
method: "测试方式",
|
||||
auto: "自动",
|
||||
manual: "手动",
|
||||
create: "新建用例",
|
||||
case_type: "用例类型",
|
||||
name: "用例名称",
|
||||
module: "所属模块",
|
||||
maintainer: "维护人",
|
||||
steps: "执行步骤",
|
||||
number: "编号",
|
||||
prerequisite: "前置条件",
|
||||
step_desc: "步骤描述",
|
||||
expected_results: "预期结果",
|
||||
input_name: "请输入名称",
|
||||
input_module: "请选择模块",
|
||||
input_maintainer: "请选择维护人",
|
||||
input_priority: "请选择优先级",
|
||||
input_type: "请选择用例类型",
|
||||
input_method: "请选择测试方式",
|
||||
input_prerequisite: "请输入前置条件",
|
||||
delete_confirm: "确认删除测试用例: ",
|
||||
import: {
|
||||
import: "导入用例",
|
||||
case_import: "导入测试用例",
|
||||
download_template: "下载模版",
|
||||
click_upload: "点击上传",
|
||||
upload_limit: "只能上传xls/xlsx文件,且不超过20M",
|
||||
upload_limit_count: "一次只能上传一个文件",
|
||||
upload_limit_format: "上传文件只能是 xls、xlsx格式!",
|
||||
upload_limit_size: "上传文件大小不能超过 20MB!",
|
||||
success: "导入成功!",
|
||||
},
|
||||
export: {
|
||||
export: "导出用例"
|
||||
}
|
||||
},
|
||||
plan: {
|
||||
test_plan: "测试计划",
|
||||
create_plan: "创建测试计划",
|
||||
plan_name: "计划名称",
|
||||
plan_project: "所属项目",
|
||||
plan_stage: "测试阶段",
|
||||
plan_status: "当前状态",
|
||||
smoke_test: "冒烟测试",
|
||||
functional_test: "功能测试",
|
||||
integration_testing: "集成测试",
|
||||
system_test: "系统测试",
|
||||
version_validation: "版本验证",
|
||||
plan_principal: "负责人",
|
||||
input_plan_name: "请输入测试计划名称",
|
||||
input_plan_principal: "请选择负责人",
|
||||
input_plan_project: "请选择所属项目",
|
||||
input_plan_stage: "请选择测试阶段",
|
||||
plan_status_prepare: "未开始",
|
||||
plan_status_running: "进行中",
|
||||
plan_status_completed: "已完成",
|
||||
plan_delete_confirm: "确认删除测试计划: ",
|
||||
},
|
||||
module: {
|
||||
search: "搜索模块",
|
||||
rename: "重命名",
|
||||
add_submodule: "添加子模块",
|
||||
add_module: "添加模块",
|
||||
name: "模块名称",
|
||||
delete_confirm: "确认删除模块: ",
|
||||
delete_all_resource: "以及模块下所有子模块和测试用例",
|
||||
},
|
||||
plan_view: {
|
||||
plan: "计划",
|
||||
relevance_test_case: "关联测试用例",
|
||||
executor: "执行人",
|
||||
execute_result: "执行结果",
|
||||
pass: "通过",
|
||||
failure: "失败",
|
||||
blocking: "阻塞",
|
||||
skip: "跳过",
|
||||
actual_result: "实际结果",
|
||||
step_result: "步骤执行结果",
|
||||
my_case: "我的用例",
|
||||
all_case: "全部用例",
|
||||
pre_case: "上一条用例",
|
||||
next_case: "下一条用例",
|
||||
change_execution_results: "更改执行结果",
|
||||
change_executor: "更改执行人",
|
||||
select_executor: "请选择执行人",
|
||||
select_execute_result: "选择执行结果",
|
||||
confirm_cancel_relevance: "确认取消关联",
|
||||
select_manipulate: "请选择需要操作的数据",
|
||||
}
|
||||
},
|
||||
test_resource_pool: {
|
||||
'type': '类型',
|
||||
|
|
Loading…
Reference in New Issue