style(缺陷管理): 缺陷管理变更历史样式更改
--bug=1036363 --user=宋天阳 https://www.tapd.cn/55049933/s/1494814
This commit is contained in:
parent
e7b8fad097
commit
6db623ca7c
|
@ -10,6 +10,7 @@ import io.metersphere.system.dto.OperationHistoryDTO;
|
||||||
import io.metersphere.system.dto.request.OperationHistoryRequest;
|
import io.metersphere.system.dto.request.OperationHistoryRequest;
|
||||||
import io.metersphere.system.log.constants.OperationLogModule;
|
import io.metersphere.system.log.constants.OperationLogModule;
|
||||||
import io.metersphere.system.log.constants.OperationLogType;
|
import io.metersphere.system.log.constants.OperationLogType;
|
||||||
|
import io.metersphere.system.mapper.BaseOperationHistoryMapper;
|
||||||
import io.metersphere.system.mapper.OperationHistoryMapper;
|
import io.metersphere.system.mapper.OperationHistoryMapper;
|
||||||
import io.metersphere.system.mapper.UserMapper;
|
import io.metersphere.system.mapper.UserMapper;
|
||||||
import jakarta.annotation.Resource;
|
import jakarta.annotation.Resource;
|
||||||
|
@ -31,6 +32,8 @@ public class BugHistoryService {
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private OperationHistoryMapper operationHistoryMapper;
|
private OperationHistoryMapper operationHistoryMapper;
|
||||||
|
@Resource
|
||||||
|
private BaseOperationHistoryMapper baseOperationHistoryMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 缺陷变更历史分页列表
|
* 缺陷变更历史分页列表
|
||||||
|
@ -50,6 +53,7 @@ public class BugHistoryService {
|
||||||
userExample.createCriteria().andIdIn(userIds);
|
userExample.createCriteria().andIdIn(userIds);
|
||||||
List<User> users = userMapper.selectByExample(userExample);
|
List<User> users = userMapper.selectByExample(userExample);
|
||||||
Map<String, String> userMap = users.stream().collect(Collectors.toMap(User::getId, User::getName));
|
Map<String, String> userMap = users.stream().collect(Collectors.toMap(User::getId, User::getName));
|
||||||
|
Long latestVersionId = baseOperationHistoryMapper.selectLatestIdByOperationId(request.getSourceId());
|
||||||
return history.stream().map(h -> {
|
return history.stream().map(h -> {
|
||||||
OperationHistoryDTO dto = new OperationHistoryDTO();
|
OperationHistoryDTO dto = new OperationHistoryDTO();
|
||||||
BeanUtils.copyBean(dto, h);
|
BeanUtils.copyBean(dto, h);
|
||||||
|
@ -61,7 +65,7 @@ public class BugHistoryService {
|
||||||
} else if (StringUtils.equals(dto.getType(), OperationLogType.DELETE.name())) {
|
} else if (StringUtils.equals(dto.getType(), OperationLogType.DELETE.name())) {
|
||||||
dto.setType(Translator.get("delete"));
|
dto.setType(Translator.get("delete"));
|
||||||
}
|
}
|
||||||
|
dto.setLatest(latestVersionId != null && latestVersionId.longValue() == dto.getId().longValue());
|
||||||
return dto;
|
return dto;
|
||||||
}).toList();
|
}).toList();
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,4 +23,6 @@ public class OperationHistoryDTO extends OperationHistory implements Serializabl
|
||||||
// 版本
|
// 版本
|
||||||
private String versionName;
|
private String versionName;
|
||||||
|
|
||||||
|
//是否是最新
|
||||||
|
private boolean isLatest;
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,4 +18,6 @@ public interface BaseOperationHistoryMapper {
|
||||||
List<OperationHistoryDTO> list(@Param("request") OperationHistoryRequest request);
|
List<OperationHistoryDTO> list(@Param("request") OperationHistoryRequest request);
|
||||||
|
|
||||||
List<OperationHistoryDTO> listWidthTable(@Param("request") OperationHistoryRequest request, @Param("table") String table);
|
List<OperationHistoryDTO> listWidthTable(@Param("request") OperationHistoryRequest request, @Param("table") String table);
|
||||||
|
|
||||||
|
Long selectLatestIdByOperationId(String bugId);
|
||||||
}
|
}
|
|
@ -67,4 +67,11 @@
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
<select id="selectLatestIdByOperationId" resultType="java.lang.Long">
|
||||||
|
select id
|
||||||
|
from operation_history
|
||||||
|
where source_id = #{0}
|
||||||
|
order by create_time desc
|
||||||
|
limit 1
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
<ms-base-table class="mt-[16px]" v-bind="propsRes" v-on="propsEvent">
|
<ms-base-table class="mt-[16px]" v-bind="propsRes" v-on="propsEvent">
|
||||||
<template #changeNumber="{ record }">
|
<template #changeNumber="{ record }">
|
||||||
<span>{{ record.id }}</span>
|
<span>{{ record.id }}</span>
|
||||||
|
<MsTag v-if="record.latest" size="small" class="ml-2">{{ t('bugManagement.history.current') }}</MsTag>
|
||||||
</template>
|
</template>
|
||||||
</ms-base-table>
|
</ms-base-table>
|
||||||
</template>
|
</template>
|
||||||
|
@ -10,6 +11,7 @@
|
||||||
import MsBaseTable from '@/components/pure/ms-table/base-table.vue';
|
import MsBaseTable from '@/components/pure/ms-table/base-table.vue';
|
||||||
import { MsTableColumn } from '@/components/pure/ms-table/type';
|
import { MsTableColumn } from '@/components/pure/ms-table/type';
|
||||||
import useTable from '@/components/pure/ms-table/useTable';
|
import useTable from '@/components/pure/ms-table/useTable';
|
||||||
|
import MsTag from '@/components/pure/ms-tag/ms-tag.vue';
|
||||||
|
|
||||||
import { getChangeHistoryList } from '@/api/modules/bug-management';
|
import { getChangeHistoryList } from '@/api/modules/bug-management';
|
||||||
import { useI18n } from '@/hooks/useI18n';
|
import { useI18n } from '@/hooks/useI18n';
|
||||||
|
|
|
@ -32,15 +32,19 @@
|
||||||
</div>
|
</div>
|
||||||
<MsBaseTable v-bind="propsRes" ref="tableRef" v-on="propsEvent">
|
<MsBaseTable v-bind="propsRes" ref="tableRef" v-on="propsEvent">
|
||||||
<template #defaultTemplate="{ record }">
|
<template #defaultTemplate="{ record }">
|
||||||
<!-- <a-switch
|
<div v-if="record.enableDefault || isEnableOrdTemplate">
|
||||||
|
<a-tooltip :content="t('system.orgTemplate.must.open.one')" :mouse-enter-delay="500">
|
||||||
|
<a-switch
|
||||||
v-model="record.enableDefault"
|
v-model="record.enableDefault"
|
||||||
:disabled="record.enableDefault || isEnableOrdTemplate"
|
:disabled="true"
|
||||||
size="small"
|
size="small"
|
||||||
type="line"
|
type="line"
|
||||||
@change="(value) => changeDefault(value, record)"
|
@change="(value) => changeDefault(value, record)"
|
||||||
/> -->
|
/>
|
||||||
<!-- TODO 这个版本不允许修改默认模版也不允许创建用例模版 -->
|
</a-tooltip>
|
||||||
|
</div>
|
||||||
<a-switch
|
<a-switch
|
||||||
|
v-else
|
||||||
v-model="record.enableDefault"
|
v-model="record.enableDefault"
|
||||||
:disabled="record.enableDefault || isEnableOrdTemplate"
|
:disabled="record.enableDefault || isEnableOrdTemplate"
|
||||||
size="small"
|
size="small"
|
||||||
|
|
|
@ -31,6 +31,7 @@ export default {
|
||||||
'system.orgTemplate.fieldLimit': 'You can add a maximum of 20 fields',
|
'system.orgTemplate.fieldLimit': 'You can add a maximum of 20 fields',
|
||||||
'system.orgTemplate.isSystem': 'System',
|
'system.orgTemplate.isSystem': 'System',
|
||||||
'system.orgTemplate.isBuiltIn': 'Built-in',
|
'system.orgTemplate.isBuiltIn': 'Built-in',
|
||||||
|
'system.orgTemplate.must.open.one': 'Must have one open default template',
|
||||||
'system.orgTemplate.fieldList': 'Field list',
|
'system.orgTemplate.fieldList': 'Field list',
|
||||||
'system.orgTemplate.addOptions': 'Add an option',
|
'system.orgTemplate.addOptions': 'Add an option',
|
||||||
'system.orgTemplate.deleteTip':
|
'system.orgTemplate.deleteTip':
|
||||||
|
|
|
@ -31,6 +31,7 @@ export default {
|
||||||
'system.orgTemplate.fieldLimit': '最多可新增 20 个字段',
|
'system.orgTemplate.fieldLimit': '最多可新增 20 个字段',
|
||||||
'system.orgTemplate.isSystem': '系统',
|
'system.orgTemplate.isSystem': '系统',
|
||||||
'system.orgTemplate.isBuiltIn': '内置',
|
'system.orgTemplate.isBuiltIn': '内置',
|
||||||
|
'system.orgTemplate.must.open.one': '项目必须有一个开启的默认模版',
|
||||||
'system.orgTemplate.fieldList': '字段列表',
|
'system.orgTemplate.fieldList': '字段列表',
|
||||||
'system.orgTemplate.addOptions': '添加一个选项',
|
'system.orgTemplate.addOptions': '添加一个选项',
|
||||||
'system.orgTemplate.deleteTip': '该字段在模板中已使用,删除后数据将会丢失,请谨慎操作!',
|
'system.orgTemplate.deleteTip': '该字段在模板中已使用,删除后数据将会丢失,请谨慎操作!',
|
||||||
|
|
Loading…
Reference in New Issue