fix(项目管理): 创建项目的时候显示了未集成的缺陷模板
--bug=1010384 --user=李敏 【系统设置】项目管理,没有集成第三方平台,创建项目的时候显示了其他平台的缺陷模板 https://www.tapd.cn/55049933/s/1106037
This commit is contained in:
parent
3e1ee17457
commit
750d36b7e9
|
@ -7,7 +7,8 @@
|
||||||
<el-input v-model="form.name" autocomplete="off"></el-input>
|
<el-input v-model="form.name" autocomplete="off"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item v-if="platformOptions.length > 1" :label-width="labelWidth" :label="$t('test_track.issue.third_party_integrated')"
|
<el-form-item v-if="platformOptions.length > 1" :label-width="labelWidth"
|
||||||
|
:label="$t('test_track.issue.third_party_integrated')"
|
||||||
prop="platform">
|
prop="platform">
|
||||||
<el-select filterable v-model="form.platform">
|
<el-select filterable v-model="form.platform">
|
||||||
<el-option v-for="item in platformOptions" :key="item.value" :label="item.text" :value="item.value">
|
<el-option v-for="item in platformOptions" :key="item.value" :label="item.text" :value="item.value">
|
||||||
|
@ -23,9 +24,11 @@
|
||||||
:label="$t('workspace.issue_template_manage')" prop="issueTemplateId">
|
:label="$t('workspace.issue_template_manage')" prop="issueTemplateId">
|
||||||
<template-select :platform="form.platform" :data="form" scene="ISSUE" prop="issueTemplateId"
|
<template-select :platform="form.platform" :data="form" scene="ISSUE" prop="issueTemplateId"
|
||||||
:disabled="form.platform === 'Jira' && form.thirdPartTemplate"
|
:disabled="form.platform === 'Jira' && form.thirdPartTemplate"
|
||||||
|
:platformOptions="issueOptions"
|
||||||
ref="issueTemplate"/>
|
ref="issueTemplate"/>
|
||||||
|
|
||||||
<el-checkbox @change="thirdPartTemplateChange" v-if="form.platform === 'Jira'" v-model="form.thirdPartTemplate" style="margin-left: 10px">
|
<el-checkbox @change="thirdPartTemplateChange" v-if="form.platform === 'Jira'"
|
||||||
|
v-model="form.thirdPartTemplate" style="margin-left: 10px">
|
||||||
{{ $t('test_track.issue.use_third_party') }}
|
{{ $t('test_track.issue.use_third_party') }}
|
||||||
</el-checkbox>
|
</el-checkbox>
|
||||||
|
|
||||||
|
@ -163,7 +166,8 @@ export default {
|
||||||
},
|
},
|
||||||
screenHeight: 'calc(100vh - 195px)',
|
screenHeight: 'calc(100vh - 195px)',
|
||||||
labelWidth: '150px',
|
labelWidth: '150px',
|
||||||
platformOptions: []
|
platformOptions: [],
|
||||||
|
issueOptions: []
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
|
@ -212,11 +216,11 @@ export default {
|
||||||
this.form.issueTemplateId = '';
|
this.form.issueTemplateId = '';
|
||||||
},
|
},
|
||||||
edit(row) {
|
edit(row) {
|
||||||
this.title = this.$t('project.edit');
|
|
||||||
this.getOptions();
|
this.getOptions();
|
||||||
this.createVisible = true;
|
this.createVisible = true;
|
||||||
listenGoBack(this.handleClose);
|
listenGoBack(this.handleClose);
|
||||||
if (row) {
|
if (row) {
|
||||||
|
this.title = this.$t('project.edit');
|
||||||
row.issueConfigObj = row.issueConfig ? JSON.parse(row.issueConfig) : {};
|
row.issueConfigObj = row.issueConfig ? JSON.parse(row.issueConfig) : {};
|
||||||
this.form = Object.assign({}, row);
|
this.form = Object.assign({}, row);
|
||||||
} else {
|
} else {
|
||||||
|
@ -231,6 +235,7 @@ export default {
|
||||||
this.filterPlatformOptions(platforms, JIRA);
|
this.filterPlatformOptions(platforms, JIRA);
|
||||||
this.filterPlatformOptions(platforms, ZEN_TAO);
|
this.filterPlatformOptions(platforms, ZEN_TAO);
|
||||||
this.filterPlatformOptions(platforms, AZURE_DEVOPS);
|
this.filterPlatformOptions(platforms, AZURE_DEVOPS);
|
||||||
|
this.issueOptions = this.platformOptions;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
filterPlatformOptions(platforms, platform) {
|
filterPlatformOptions(platforms, platform) {
|
||||||
|
|
|
@ -20,6 +20,7 @@ export default {
|
||||||
scene: String,
|
scene: String,
|
||||||
prop: String,
|
prop: String,
|
||||||
platform: String,
|
platform: String,
|
||||||
|
platformOptions: Array,
|
||||||
disabled: Boolean,
|
disabled: Boolean,
|
||||||
data: {
|
data: {
|
||||||
type: Object,
|
type: Object,
|
||||||
|
@ -80,17 +81,44 @@ export default {
|
||||||
this.templateOptions.forEach(i => {
|
this.templateOptions.forEach(i => {
|
||||||
if (i.platform === this.platform) {
|
if (i.platform === this.platform) {
|
||||||
this.templateFilterOptions.push(i);
|
this.templateFilterOptions.push(i);
|
||||||
if (i.id === this.data[this.prop])
|
if (i.id === this.data[this.prop]) {
|
||||||
hasTemplate = true;
|
hasTemplate = true;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
if (!hasTemplate)
|
if (!hasTemplate) {
|
||||||
this.data[this.prop] = null;
|
this.data[this.prop] = null;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (this.scene === 'ISSUE') {
|
||||||
|
let hasTemplate = false;
|
||||||
|
this.templateFilterOptions = [];
|
||||||
|
this.templateOptions.forEach(template => {
|
||||||
|
if (this.platformOptions.length > 0) {
|
||||||
|
this.platformOptions.forEach(item => {
|
||||||
|
if (template.platform === item.value) {
|
||||||
|
this.templateFilterOptions.push(template);
|
||||||
|
if (template.id === this.data[this.prop]) {
|
||||||
|
hasTemplate = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else if (template.platform === 'Local') {
|
||||||
|
this.templateFilterOptions.push(template);
|
||||||
|
if (template.id === this.data[this.prop]) {
|
||||||
|
hasTemplate = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if (!hasTemplate) {
|
||||||
|
this.data[this.prop] = null;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
this.templateFilterOptions = this.templateOptions;
|
this.templateFilterOptions = this.templateOptions;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue