fix(缺陷管理): 缺陷详情ID展示有误
--bug=1036415 --user=宋昌昌 【缺陷管理】缺陷详情-ID展示错误 https://www.tapd.cn/55049933/s/1469203
This commit is contained in:
parent
48a3f76cd7
commit
fc4e678645
|
@ -17,6 +17,9 @@ public class BugDetailDTO {
|
||||||
@Size(min = 1, max = 50, message = "{bug.id.length_range}", groups = {Created.class, Updated.class})
|
@Size(min = 1, max = 50, message = "{bug.id.length_range}", groups = {Created.class, Updated.class})
|
||||||
private String id;
|
private String id;
|
||||||
|
|
||||||
|
@Schema(description = "业务ID")
|
||||||
|
private Integer num;
|
||||||
|
|
||||||
@Schema(description = "缺陷标题")
|
@Schema(description = "缺陷标题")
|
||||||
@Size(min = 1, max = 300, message = "{bug.title.length_range}", groups = {Created.class, Updated.class})
|
@Size(min = 1, max = 300, message = "{bug.title.length_range}", groups = {Created.class, Updated.class})
|
||||||
private String title;
|
private String title;
|
||||||
|
|
|
@ -252,6 +252,7 @@ public class BugService {
|
||||||
List<BugCustomFieldDTO> allCustomFields = extBugCustomFieldMapper.getBugAllCustomFields(List.of(id), bug.getProjectId());
|
List<BugCustomFieldDTO> allCustomFields = extBugCustomFieldMapper.getBugAllCustomFields(List.of(id), bug.getProjectId());
|
||||||
BugDetailDTO detail = new BugDetailDTO();
|
BugDetailDTO detail = new BugDetailDTO();
|
||||||
detail.setId(id);
|
detail.setId(id);
|
||||||
|
detail.setNum(bug.getNum());
|
||||||
detail.setProjectId(bug.getProjectId());
|
detail.setProjectId(bug.getProjectId());
|
||||||
detail.setTemplateId(template.getId());
|
detail.setTemplateId(template.getId());
|
||||||
detail.setPlatformDefault(template.getPlatformDefault());
|
detail.setPlatformDefault(template.getPlatformDefault());
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
v-model:visible="showDrawerVisible"
|
v-model:visible="showDrawerVisible"
|
||||||
:width="1200"
|
:width="1200"
|
||||||
:footer="false"
|
:footer="false"
|
||||||
:title="t('bugManagement.detail.title', { id: detailInfo?.id, name: detailInfo?.title })"
|
:title="t('bugManagement.detail.title', { id: detailInfo?.num, name: detailInfo?.title })"
|
||||||
:detail-id="props.detailId"
|
:detail-id="props.detailId"
|
||||||
:detail-index="props.detailIndex"
|
:detail-index="props.detailIndex"
|
||||||
:get-detail-func="getBugDetail"
|
:get-detail-func="getBugDetail"
|
||||||
|
@ -159,43 +159,43 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import {defineModel, ref} from 'vue';
|
import { defineModel, ref } from 'vue';
|
||||||
import {useRoute, useRouter} from 'vue-router';
|
import { useRoute, useRouter } from 'vue-router';
|
||||||
import {Message} from '@arco-design/web-vue';
|
import { Message } from '@arco-design/web-vue';
|
||||||
import {debounce} from 'lodash-es';
|
import { debounce } from 'lodash-es';
|
||||||
|
|
||||||
import MsButton from '@/components/pure/ms-button/index.vue';
|
import MsButton from '@/components/pure/ms-button/index.vue';
|
||||||
import MsFormCreate from '@/components/pure/ms-form-create/ms-form-create.vue';
|
import MsFormCreate from '@/components/pure/ms-form-create/ms-form-create.vue';
|
||||||
import type {FormItem, FormRuleItem} from '@/components/pure/ms-form-create/types';
|
import type { FormItem, FormRuleItem } from '@/components/pure/ms-form-create/types';
|
||||||
import MsIcon from '@/components/pure/ms-icon-font/index.vue';
|
import MsIcon from '@/components/pure/ms-icon-font/index.vue';
|
||||||
import MsSplitBox from '@/components/pure/ms-split-box/index.vue';
|
import MsSplitBox from '@/components/pure/ms-split-box/index.vue';
|
||||||
import type {MsPaginationI} from '@/components/pure/ms-table/type';
|
import type { MsPaginationI } from '@/components/pure/ms-table/type';
|
||||||
import MsTagsInput from '@/components/pure/ms-tags-input/index.vue';
|
import MsTagsInput from '@/components/pure/ms-tags-input/index.vue';
|
||||||
import {CommentInput} from '@/components/business/ms-comment';
|
import { CommentInput } from '@/components/business/ms-comment';
|
||||||
import {CommentParams} from '@/components/business/ms-comment/types';
|
import { CommentParams } from '@/components/business/ms-comment/types';
|
||||||
import MsDetailDrawer from '@/components/business/ms-detail-drawer/index.vue';
|
import MsDetailDrawer from '@/components/business/ms-detail-drawer/index.vue';
|
||||||
import BugCaseTab from './bugCaseTab.vue';
|
import BugCaseTab from './bugCaseTab.vue';
|
||||||
import BugDetailTab from './bugDetailTab.vue';
|
import BugDetailTab from './bugDetailTab.vue';
|
||||||
import BugHistoryTab from './bugHistoryTab.vue';
|
import BugHistoryTab from './bugHistoryTab.vue';
|
||||||
import CommentTab from './commentTab.vue';
|
import CommentTab from './commentTab.vue';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
createOrUpdateComment,
|
createOrUpdateComment,
|
||||||
deleteSingleBug,
|
deleteSingleBug,
|
||||||
followBug,
|
followBug,
|
||||||
getBugDetail,
|
getBugDetail,
|
||||||
getTemplateById,
|
getTemplateById,
|
||||||
} from '@/api/modules/bug-management/index';
|
} from '@/api/modules/bug-management/index';
|
||||||
import {useI18n} from '@/hooks/useI18n';
|
import { useI18n } from '@/hooks/useI18n';
|
||||||
import useModal from '@/hooks/useModal';
|
import useModal from '@/hooks/useModal';
|
||||||
import {useAppStore} from '@/store';
|
import { useAppStore } from '@/store';
|
||||||
import {characterLimit} from '@/utils';
|
import { characterLimit } from '@/utils';
|
||||||
|
|
||||||
import {BugEditCustomField, BugEditFormObject, BugTemplateRequest} from '@/models/bug-management';
|
import { BugEditCustomField, BugEditFormObject, BugTemplateRequest } from '@/models/bug-management';
|
||||||
import {SelectValue} from '@/models/projectManagement/menuManagement';
|
import { SelectValue } from '@/models/projectManagement/menuManagement';
|
||||||
import {RouteEnum} from '@/enums/routeEnum';
|
import { RouteEnum } from '@/enums/routeEnum';
|
||||||
|
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const detailDrawerRef = ref<InstanceType<typeof MsDetailDrawer>>();
|
const detailDrawerRef = ref<InstanceType<typeof MsDetailDrawer>>();
|
||||||
const wrapperRef = ref();
|
const wrapperRef = ref();
|
||||||
|
@ -432,12 +432,12 @@ const router = useRouter();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
watch(
|
watch(
|
||||||
() => showDrawerVisible.value,
|
() => showDrawerVisible.value,
|
||||||
(val) => {
|
(val) => {
|
||||||
if (val) {
|
if (val) {
|
||||||
activeTab.value = 'detail';
|
activeTab.value = 'detail';
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
);
|
);
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue