Merge branch 'v1.1'
This commit is contained in:
commit
3bb35a4452
|
@ -87,7 +87,7 @@ public class ReportWebSocket {
|
||||||
if (!session.isOpen()) {
|
if (!session.isOpen()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (PerformanceTestStatus.Running.name().equals(report.getStatus())) {
|
if (StringUtils.equalsAny(report.getStatus(), PerformanceTestStatus.Running.name(), PerformanceTestStatus.Reporting.name())) {
|
||||||
session.getBasicRemote().sendText("refresh-" + this.refresh++);
|
session.getBasicRemote().sendText("refresh-" + this.refresh++);
|
||||||
}
|
}
|
||||||
Thread.sleep(20 * 1000L);
|
Thread.sleep(20 * 1000L);
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
<template v-slot:title>{{$t('commons.project')}}</template>
|
<template v-slot:title>{{$t('commons.project')}}</template>
|
||||||
<ms-recent-list :options="projectRecent"/>
|
<ms-recent-list :options="projectRecent"/>
|
||||||
<el-divider class="menu-divider"/>
|
<el-divider class="menu-divider"/>
|
||||||
<ms-show-all :index="'/api/project/all'"/>
|
<ms-show-all :index="'/api/project'"/>
|
||||||
<ms-create-button v-permission="['test_manager','test_user']" :index="'/api/project/create'"
|
<ms-create-button v-permission="['test_manager','test_user']" :index="'/api/project/create'"
|
||||||
:title="$t('project.create')"/>
|
:title="$t('project.create')"/>
|
||||||
</el-submenu>
|
</el-submenu>
|
||||||
|
@ -20,7 +20,7 @@
|
||||||
<template v-slot:title>{{$t('commons.test')}}</template>
|
<template v-slot:title>{{$t('commons.test')}}</template>
|
||||||
<ms-recent-list :options="testRecent"/>
|
<ms-recent-list :options="testRecent"/>
|
||||||
<el-divider class="menu-divider"/>
|
<el-divider class="menu-divider"/>
|
||||||
<ms-show-all :index="'/api/test/list/all'"/>
|
<ms-show-all :index="'/api/test/list'"/>
|
||||||
<ms-create-button v-permission="['test_manager','test_user']" :index="'/api/test/create'"
|
<ms-create-button v-permission="['test_manager','test_user']" :index="'/api/test/create'"
|
||||||
:title="$t('load_test.create')"/>
|
:title="$t('load_test.create')"/>
|
||||||
</el-submenu>
|
</el-submenu>
|
||||||
|
@ -29,7 +29,7 @@
|
||||||
<template v-slot:title>{{$t('commons.report')}}</template>
|
<template v-slot:title>{{$t('commons.report')}}</template>
|
||||||
<ms-recent-list :options="reportRecent"/>
|
<ms-recent-list :options="reportRecent"/>
|
||||||
<el-divider class="menu-divider"/>
|
<el-divider class="menu-divider"/>
|
||||||
<ms-show-all :index="'/api/report/list/all'"/>
|
<ms-show-all :index="'/api/report/list'"/>
|
||||||
</el-submenu>
|
</el-submenu>
|
||||||
</el-menu>
|
</el-menu>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
|
@ -6,16 +6,16 @@
|
||||||
<div class="kv-row" v-for="(item, index) in items" :key="index">
|
<div class="kv-row" v-for="(item, index) in items" :key="index">
|
||||||
<el-row type="flex" :gutter="20" justify="space-between" align="middle">
|
<el-row type="flex" :gutter="20" justify="space-between" align="middle">
|
||||||
<el-col>
|
<el-col>
|
||||||
<el-input v-if="!suggestions" :disabled="isReadOnly" v-model="item.name" size="small" maxlength="100"
|
<el-input v-if="!suggestions" :disabled="isReadOnly" v-model="item.name" size="small" maxlength="200"
|
||||||
@change="change"
|
@change="change"
|
||||||
:placeholder="keyText" show-word-limit/>
|
:placeholder="keyText" show-word-limit/>
|
||||||
<el-autocomplete :maxlength="100" v-if="suggestions" v-model="item.name" size="small"
|
<el-autocomplete :maxlength="200" v-if="suggestions" v-model="item.name" size="small"
|
||||||
:fetch-suggestions="querySearch" @change="change" :placeholder="keyText"
|
:fetch-suggestions="querySearch" @change="change" :placeholder="keyText"
|
||||||
show-word-limit/>
|
show-word-limit/>
|
||||||
|
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col>
|
<el-col>
|
||||||
<el-input :disabled="isReadOnly" v-model="item.value" size="small" maxlength="500" @change="change"
|
<el-input :disabled="isReadOnly" v-model="item.value" size="small" maxlength="2000" @change="change"
|
||||||
:placeholder="valueText" show-word-limit/>
|
:placeholder="valueText" show-word-limit/>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col class="kv-delete">
|
<el-col class="kv-delete">
|
||||||
|
|
|
@ -43,7 +43,7 @@
|
||||||
z-index: 199;
|
z-index: 199;
|
||||||
width: 8px;
|
width: 8px;
|
||||||
height: 50px;
|
height: 50px;
|
||||||
top: calc((100vh - 80px)/2);
|
top: calc((100vh - 80px)/3);
|
||||||
line-height: 50px;
|
line-height: 50px;
|
||||||
border-radius: 0 15px 15px 0;
|
border-radius: 0 15px 15px 0;
|
||||||
background-color: #acb7c1;
|
background-color: #acb7c1;
|
||||||
|
@ -59,7 +59,13 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.hiddenBottom:hover {
|
.hiddenBottom:hover {
|
||||||
opacity: 0.5;
|
opacity: 0.8;
|
||||||
|
width: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hiddenBottom:hover i {
|
||||||
|
margin-left: 0;
|
||||||
|
color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<el-menu-item :index="this.index">
|
<el-menu-item :index="this.index" @click="changeRoute">
|
||||||
<font-awesome-icon :icon="['fa', 'list-ul']"/>
|
<font-awesome-icon :icon="['fa', 'list-ul']"/>
|
||||||
<span>{{$t('commons.show_all')}}</span>
|
<span>{{$t('commons.show_all')}}</span>
|
||||||
</el-menu-item>
|
</el-menu-item>
|
||||||
|
@ -10,6 +10,12 @@
|
||||||
name: "MsShowAll",
|
name: "MsShowAll",
|
||||||
props: {
|
props: {
|
||||||
index: String
|
index: String
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
changeRoute() {
|
||||||
|
// 解决在列表页面点击 显示全部 无效的问题(点击显示全部后改变路由)
|
||||||
|
this.$router.push(this.index + '/all');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
<template v-slot:title>{{$t('commons.project')}}</template>
|
<template v-slot:title>{{$t('commons.project')}}</template>
|
||||||
<ms-recent-list :options="projectRecent"/>
|
<ms-recent-list :options="projectRecent"/>
|
||||||
<el-divider/>
|
<el-divider/>
|
||||||
<ms-show-all :index="'/performance/project/all'"/>
|
<ms-show-all :index="'/performance/project'"/>
|
||||||
<ms-create-button v-permission="['test_manager','test_user']" :index="'/performance/project/create'" :title="$t('project.create')"/>
|
<ms-create-button v-permission="['test_manager','test_user']" :index="'/performance/project/create'" :title="$t('project.create')"/>
|
||||||
</el-submenu>
|
</el-submenu>
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@
|
||||||
<template v-slot:title>{{$t('commons.test')}}</template>
|
<template v-slot:title>{{$t('commons.test')}}</template>
|
||||||
<ms-recent-list :options="testRecent"/>
|
<ms-recent-list :options="testRecent"/>
|
||||||
<el-divider/>
|
<el-divider/>
|
||||||
<ms-show-all :index="'/performance/test/all'"/>
|
<ms-show-all :index="'/performance/test'"/>
|
||||||
<ms-create-button v-permission="['test_manager','test_user']" :index="'/performance/test/create'" :title="$t('load_test.create')"/>
|
<ms-create-button v-permission="['test_manager','test_user']" :index="'/performance/test/create'" :title="$t('load_test.create')"/>
|
||||||
</el-submenu>
|
</el-submenu>
|
||||||
|
|
||||||
|
@ -30,7 +30,7 @@
|
||||||
<template v-slot:title>{{$t('commons.report')}}</template>
|
<template v-slot:title>{{$t('commons.report')}}</template>
|
||||||
<ms-recent-list :options="reportRecent"/>
|
<ms-recent-list :options="reportRecent"/>
|
||||||
<el-divider/>
|
<el-divider/>
|
||||||
<ms-show-all :index="'/performance/report/all'"/>
|
<ms-show-all :index="'/performance/report'"/>
|
||||||
</el-submenu>
|
</el-submenu>
|
||||||
</el-menu>
|
</el-menu>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|
|
@ -125,6 +125,12 @@
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
watch: {
|
||||||
|
'$route'(to) {
|
||||||
|
this.projectId = to.params.projectId;
|
||||||
|
this.initTableData();
|
||||||
|
}
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
initTableData() {
|
initTableData() {
|
||||||
if (this.testId !== 'all') {
|
if (this.testId !== 'all') {
|
||||||
|
|
|
@ -136,6 +136,9 @@
|
||||||
to.path.split('/')[3] === 'create') {
|
to.path.split('/')[3] === 'create') {
|
||||||
this.create();
|
this.create();
|
||||||
this.$router.push('/' + this.baseUrl + '/project/all');
|
this.$router.push('/' + this.baseUrl + '/project/all');
|
||||||
|
} else if (this.$route.path.split('/')[2] === 'project' &&
|
||||||
|
to.path.split('/')[3] === 'all') {
|
||||||
|
this.list();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -135,7 +135,7 @@
|
||||||
{required: true, message: this.$t('user.input_password'), trigger: 'blur'},
|
{required: true, message: this.$t('user.input_password'), trigger: 'blur'},
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
pattern: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[^]{8,16}$/,
|
pattern: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[^]{8,30}$/,
|
||||||
message: this.$t('member.password_format_is_incorrect'),
|
message: this.$t('member.password_format_is_incorrect'),
|
||||||
trigger: 'blur'
|
trigger: 'blur'
|
||||||
},
|
},
|
||||||
|
|
|
@ -378,7 +378,7 @@
|
||||||
{required: true, message: this.$t('user.input_password'), trigger: 'blur'},
|
{required: true, message: this.$t('user.input_password'), trigger: 'blur'},
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
pattern: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[^]{8,16}$/,
|
pattern: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[^]{8,30}$/,
|
||||||
message: this.$t('member.password_format_is_incorrect'),
|
message: this.$t('member.password_format_is_incorrect'),
|
||||||
trigger: 'blur'
|
trigger: 'blur'
|
||||||
}
|
}
|
||||||
|
@ -387,7 +387,7 @@
|
||||||
{required: true, message: this.$t('user.input_password'), trigger: 'blur'},
|
{required: true, message: this.$t('user.input_password'), trigger: 'blur'},
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
pattern: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[^]{8,16}$/,
|
pattern: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[^]{8,30}$/,
|
||||||
message: this.$t('member.password_format_is_incorrect'),
|
message: this.$t('member.password_format_is_incorrect'),
|
||||||
trigger: 'blur'
|
trigger: 'blur'
|
||||||
}
|
}
|
||||||
|
|
|
@ -145,7 +145,7 @@
|
||||||
v-model="scope.row.desc"
|
v-model="scope.row.desc"
|
||||||
:placeholder="$t('commons.input_content')"
|
:placeholder="$t('commons.input_content')"
|
||||||
clearable></el-input>
|
clearable></el-input>
|
||||||
<span>{{scope.row.desc}}</span>
|
<pre>{{scope.row.desc}}</pre>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column :label="$t('test_track.case.expected_results')" prop="result" min-width="35%">
|
<el-table-column :label="$t('test_track.case.expected_results')" prop="result" min-width="35%">
|
||||||
|
@ -159,7 +159,7 @@
|
||||||
v-model="scope.row.result"
|
v-model="scope.row.result"
|
||||||
:placeholder="$t('commons.input_content')"
|
:placeholder="$t('commons.input_content')"
|
||||||
clearable></el-input>
|
clearable></el-input>
|
||||||
<span>{{scope.row.result}}</span>
|
<pre>{{scope.row.result}}</pre>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column :label="$t('commons.input_content')" min-width="15%">
|
<el-table-column :label="$t('commons.input_content')" min-width="15%">
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
<template v-slot:title>{{$t('commons.project')}}</template>
|
<template v-slot:title>{{$t('commons.project')}}</template>
|
||||||
<ms-recent-list :options="projectRecent"/>
|
<ms-recent-list :options="projectRecent"/>
|
||||||
<el-divider/>
|
<el-divider/>
|
||||||
<ms-show-all :index="'/track/project/all'"/>
|
<ms-show-all :index="'/track/project'"/>
|
||||||
<ms-create-button v-permission="['test_manager','test_user']" :index="'/track/project/create'" :title="$t('project.create')"/>
|
<ms-create-button v-permission="['test_manager','test_user']" :index="'/track/project/create'" :title="$t('project.create')"/>
|
||||||
</el-submenu>
|
</el-submenu>
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@
|
||||||
<template v-slot:title>{{$t('test_track.case.test_case')}}</template>
|
<template v-slot:title>{{$t('test_track.case.test_case')}}</template>
|
||||||
<ms-recent-list :options="caseRecent"/>
|
<ms-recent-list :options="caseRecent"/>
|
||||||
<el-divider/>
|
<el-divider/>
|
||||||
<ms-show-all :index="'/track/case/all'"/>
|
<ms-show-all :index="'/track/case'"/>
|
||||||
<el-menu-item :index="testCaseEditPath" class="blank_item"></el-menu-item>
|
<el-menu-item :index="testCaseEditPath" class="blank_item"></el-menu-item>
|
||||||
<el-menu-item :index="testCaseProjectPath" class="blank_item"></el-menu-item>
|
<el-menu-item :index="testCaseProjectPath" class="blank_item"></el-menu-item>
|
||||||
<ms-create-button v-permission="['test_manager','test_user']" :index="'/track/case/create'" :title="$t('test_track.case.create_case')"/>
|
<ms-create-button v-permission="['test_manager','test_user']" :index="'/track/case/create'" :title="$t('test_track.case.create_case')"/>
|
||||||
|
@ -32,7 +32,7 @@
|
||||||
<template v-slot:title>{{$t('test_track.plan.test_plan')}}</template>
|
<template v-slot:title>{{$t('test_track.plan.test_plan')}}</template>
|
||||||
<ms-recent-list :options="planRecent"/>
|
<ms-recent-list :options="planRecent"/>
|
||||||
<el-divider/>
|
<el-divider/>
|
||||||
<ms-show-all :index="'/track/plan/all'"/>
|
<ms-show-all :index="'/track/plan'"/>
|
||||||
<el-menu-item :index="testPlanViewPath" class="blank_item"></el-menu-item>
|
<el-menu-item :index="testPlanViewPath" class="blank_item"></el-menu-item>
|
||||||
<ms-create-button v-permission="['test_manager','test_user']" :index="'/track/plan/create'" :title="$t('test_track.plan.create_plan')"/>
|
<ms-create-button v-permission="['test_manager','test_user']" :index="'/track/plan/create'" :title="$t('test_track.plan.create_plan')"/>
|
||||||
</el-submenu>
|
</el-submenu>
|
||||||
|
|
|
@ -128,12 +128,12 @@
|
||||||
|
|
||||||
<el-table-column :label="$t('test_track.case.step_desc')" prop="desc" min-width="21%">
|
<el-table-column :label="$t('test_track.case.step_desc')" prop="desc" min-width="21%">
|
||||||
<template v-slot:default="scope">
|
<template v-slot:default="scope">
|
||||||
<span>{{scope.row.desc}}</span>
|
<pre>{{scope.row.desc}}</pre>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column :label="$t('test_track.case.expected_results')" prop="result" min-width="21%">
|
<el-table-column :label="$t('test_track.case.expected_results')" prop="result" min-width="21%">
|
||||||
<template v-slot:default="scope">
|
<template v-slot:default="scope">
|
||||||
<span>{{scope.row.result}}</span>
|
<pre>{{scope.row.result}}</pre>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column :label="$t('test_track.plan_view.actual_result')" min-width="21%">
|
<el-table-column :label="$t('test_track.plan_view.actual_result')" min-width="21%">
|
||||||
|
@ -147,7 +147,7 @@
|
||||||
v-model="scope.row.actualResult"
|
v-model="scope.row.actualResult"
|
||||||
:placeholder="$t('commons.input_content')"
|
:placeholder="$t('commons.input_content')"
|
||||||
clearable></el-input>
|
clearable></el-input>
|
||||||
<span>{{scope.row.actualResult}}</span>
|
<pre>{{scope.row.actualResult}}</pre>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column :label="$t('test_track.plan_view.step_result')" min-width="12%">
|
<el-table-column :label="$t('test_track.plan_view.step_result')" min-width="12%">
|
||||||
|
|
|
@ -204,7 +204,7 @@ export default {
|
||||||
special_characters_are_not_supported: 'Special characters are not supported',
|
special_characters_are_not_supported: 'Special characters are not supported',
|
||||||
mobile_number_format_is_incorrect: 'Mobile number format is incorrect',
|
mobile_number_format_is_incorrect: 'Mobile number format is incorrect',
|
||||||
email_format_is_incorrect: 'Email format is incorrect',
|
email_format_is_incorrect: 'Email format is incorrect',
|
||||||
password_format_is_incorrect: 'Valid password: 8-16 digits, English upper and lower case letters + numbers + special characters (optional)',
|
password_format_is_incorrect: 'Valid password: 8-30 digits, English upper and lower case letters + numbers + special characters (optional)',
|
||||||
old_password: 'Old Password',
|
old_password: 'Old Password',
|
||||||
new_password: 'New Password',
|
new_password: 'New Password',
|
||||||
remove_member: 'Are you sure you want to remove this member',
|
remove_member: 'Are you sure you want to remove this member',
|
||||||
|
|
|
@ -202,7 +202,7 @@ export default {
|
||||||
special_characters_are_not_supported: '不支持特殊字符',
|
special_characters_are_not_supported: '不支持特殊字符',
|
||||||
mobile_number_format_is_incorrect: '手机号码格式不正确',
|
mobile_number_format_is_incorrect: '手机号码格式不正确',
|
||||||
email_format_is_incorrect: '邮箱格式不正确',
|
email_format_is_incorrect: '邮箱格式不正确',
|
||||||
password_format_is_incorrect: '有效密码:8-16位,英文大小写字母+数字+特殊字符(可选)',
|
password_format_is_incorrect: '有效密码:8-30位,英文大小写字母+数字+特殊字符(可选)',
|
||||||
old_password: '旧密码',
|
old_password: '旧密码',
|
||||||
new_password: '新密码',
|
new_password: '新密码',
|
||||||
remove_member: '确定要移除该成员吗',
|
remove_member: '确定要移除该成员吗',
|
||||||
|
|
|
@ -201,7 +201,7 @@ export default {
|
||||||
special_characters_are_not_supported: '不支持特殊字符',
|
special_characters_are_not_supported: '不支持特殊字符',
|
||||||
mobile_number_format_is_incorrect: '手機號碼格式不正確',
|
mobile_number_format_is_incorrect: '手機號碼格式不正確',
|
||||||
email_format_is_incorrect: '郵箱格式不正確',
|
email_format_is_incorrect: '郵箱格式不正確',
|
||||||
password_format_is_incorrect: '有效密碼:8-16比特,英文大小寫字母+數位+特殊字元(可選)',
|
password_format_is_incorrect: '有效密碼:8-30 位,英文大小寫字母+數位+特殊字元(可選)',
|
||||||
old_password: '舊密碼',
|
old_password: '舊密碼',
|
||||||
new_password: '新密碼',
|
new_password: '新密碼',
|
||||||
remove_member: '確定要移除該成員嗎',
|
remove_member: '確定要移除該成員嗎',
|
||||||
|
|
Loading…
Reference in New Issue