merger master

This commit is contained in:
chenjianxing 2020-09-18 15:27:32 +08:00
commit 4887585838
4 changed files with 91 additions and 70 deletions

View File

@ -154,4 +154,5 @@ quota_duration_excess_organization=The stress test duration exceeds the organiza
email_subject=Metersphere timing task result notification
import_xmind_count_error=The number of use cases imported into the mind map cannot exceed 500
import_xmind_not_found=Test case not found
import_xmind_not_found=Test case not found
license_valid_license_error=Authorization authentication failed

View File

@ -153,6 +153,7 @@ quota_duration_excess_workspace=压测时长超过工作空间限额
quota_duration_excess_organization=压测时长超过组织限额
email_subject=MeterSphere定时任务结果通知
import_xmind_count_error=思维导图导入用例数量不能超过 500 条
license_valid_license_error=授权认证失败
import_xmind_not_found=未找到测试用例

View File

@ -858,7 +858,7 @@ export class Controller extends BaseConfig {
super();
this.type = type
options.id = options.id || uuid();
options.enable = options.enable || true;
options.enable = options.enable === undefined ? true : options.enable;
}
}
@ -896,7 +896,7 @@ export class Timer extends BaseConfig {
super();
this.type = type;
options.id = options.id || uuid();
options.enable = options.enable || true;
options.enable = options.enable === undefined ? true : options.enable;
}
}

View File

@ -6,7 +6,8 @@
<span class="character">SCHEDULER</span>
</span>
<el-switch :disabled="!schedule.value || isReadOnly" v-model="schedule.enable" @change="scheduleChange"/>
<ms-schedule-edit :is-read-only="isReadOnly" :schedule="schedule" :test-id="testId" :save="save" :custom-validate="customValidate"
<ms-schedule-edit :is-read-only="isReadOnly" :schedule="schedule" :test-id="testId" :save="save"
:custom-validate="customValidate"
ref="scheduleEdit"/>
</div>
@ -22,90 +23,108 @@
</template>
<script>
import MsScheduleEdit from "./MsScheduleEdit";
import CrontabResult from "../cron/CrontabResult";
import MsScheduleEdit from "./MsScheduleEdit";
import CrontabResult from "../cron/CrontabResult";
function defaultCustomValidate() {
return {pass: true};
}
function defaultCustomValidate() {
return {pass: true};
}
export default {
name: "MsScheduleConfig",
components: {CrontabResult, MsScheduleEdit},
data() {
return {
recentList: [],
}
},
props: {
testId:String,
save: Function,
schedule: {},
checkOpen: {
type: Function,
default() {
return {
checkOpen() {
return true;
export default {
name: "MsScheduleConfig",
components: {CrontabResult, MsScheduleEdit},
data() {
return {
recentList: [],
refreshScheduler: null,
}
},
props: {
testId: String,
save: Function,
schedule: {},
checkOpen: {
type: Function,
default() {
return {
checkOpen() {
return true;
}
}
}
},
customValidate: {
type: Function,
default: defaultCustomValidate
},
isReadOnly: {
type: Boolean,
default: false
}
},
methods: {
scheduleEdit() {
if (!this.checkOpen()) {
return;
}
this.$refs.scheduleEdit.open();
},
scheduleChange() {
this.$emit('scheduleChange');
},
flashResultList() {
this.$refs.crontabResult.expressionChange();
},
cancelRefresh() {
if (this.refreshScheduler) {
clearInterval(this.refreshScheduler);
}
}
},
customValidate: {
type: Function,
default: defaultCustomValidate
beforeDestroy() {
this.cancelRefresh();
},
isReadOnly: {
type: Boolean,
default: false
}
},
methods: {
scheduleEdit() {
if (!this.checkOpen()) {
return;
watch: {
schedule() {
if (this.schedule.enable) {
this.refreshScheduler = setInterval(this.flashResultList, 2000);
} else {
this.cancelRefresh();
}
}
this.$refs.scheduleEdit.open();
},
scheduleChange() {
this.$emit('scheduleChange');
},
flashResultList() {
this.$refs.crontabResult.expressionChange();
}
}
}
</script>
<style scoped>
.schedule-config {
float: right;
width: 250px;
height: 15px;
line-height: 25px;
}
.schedule-config {
float: right;
width: 250px;
height: 15px;
line-height: 25px;
}
.el-icon-date {
font-size: 20px;
margin-left: 5px;
}
.el-icon-date {
font-size: 20px;
margin-left: 5px;
}
.character {
font-weight: bold;
margin: 0 5px;
}
.character {
font-weight: bold;
margin: 0 5px;
}
.disable-character {
color: #cccccc;
}
.disable-character {
color: #cccccc;
}
.el-switch {
margin: 0 5px;
}
.el-switch {
margin: 0 5px;
}
.cron-ico {
cursor: pointer;
}
.cron-ico {
cursor: pointer;
}
</style>