Merge branch 'v1.1'

This commit is contained in:
chenjianxing 2020-07-29 18:22:05 +08:00
commit 3bb35a4452
16 changed files with 48 additions and 27 deletions

View File

@ -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);

View File

@ -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>

View File

@ -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">

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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') {

View File

@ -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();
} }
} }
}, },

View File

@ -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'
}, },

View File

@ -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'
} }

View File

@ -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%">

View File

@ -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>

View File

@ -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%">

View File

@ -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',

View File

@ -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: '确定要移除该成员吗',

View File

@ -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: '確定要移除該成員嗎',