mirror of
https://github.com/dataease/dataease.git
synced 2025-02-25 03:52:59 +08:00
fix: 日志导出增加条件
This commit is contained in:
parent
04fe29a96c
commit
bab9634d2e
@ -17,7 +17,6 @@ import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@ -51,7 +50,8 @@ public class SysLogController {
|
||||
|
||||
@ApiOperation("导出操作日志")
|
||||
@PostMapping("/export")
|
||||
public void export(HttpServletResponse response) throws Exception{
|
||||
logService.exportExcel(response);
|
||||
@ApiImplicitParam(name = "request", value = "查询条件", required = true)
|
||||
public void export(@RequestBody BaseGridRequest request) throws Exception{
|
||||
logService.exportExcel(request);
|
||||
}
|
||||
}
|
||||
|
@ -11,6 +11,7 @@ import io.dataease.commons.constants.SysLogConstants;
|
||||
import io.dataease.commons.utils.AuthUtils;
|
||||
import io.dataease.commons.utils.BeanUtils;
|
||||
import io.dataease.commons.utils.CustomCellWriteUtil;
|
||||
import io.dataease.commons.utils.ServletUtils;
|
||||
import io.dataease.controller.sys.base.BaseGridRequest;
|
||||
import io.dataease.controller.sys.base.ConditionEntity;
|
||||
import io.dataease.dto.SysLogDTO;
|
||||
@ -76,6 +77,15 @@ public class LogService {
|
||||
|
||||
|
||||
public List<SysLogGridDTO> query(BaseGridRequest request) {
|
||||
request = detailRequest(request);
|
||||
|
||||
GridExample gridExample = request.convertExample();
|
||||
List<SysLogWithBLOBs> voLogs = extSysLogMapper.query(gridExample);
|
||||
List<SysLogGridDTO> dtos = voLogs.stream().map(this::convertDTO).collect(Collectors.toList());
|
||||
return dtos;
|
||||
}
|
||||
|
||||
private BaseGridRequest detailRequest(BaseGridRequest request) {
|
||||
List<ConditionEntity> conditions = request.getConditions();
|
||||
if (CollectionUtils.isNotEmpty(conditions)) {
|
||||
ConditionEntity optypeCondition = null;
|
||||
@ -107,11 +117,7 @@ public class LogService {
|
||||
if (ObjectUtils.isNotEmpty(sourceCondition))conditions.add(sourceCondition);
|
||||
}
|
||||
}
|
||||
|
||||
GridExample gridExample = request.convertExample();
|
||||
List<SysLogWithBLOBs> voLogs = extSysLogMapper.query(gridExample);
|
||||
List<SysLogGridDTO> dtos = voLogs.stream().map(this::convertDTO).collect(Collectors.toList());
|
||||
return dtos;
|
||||
return request;
|
||||
}
|
||||
|
||||
|
||||
@ -206,8 +212,10 @@ public class LogService {
|
||||
sysLogMapper.insert(sysLogWithBLOBs);
|
||||
}
|
||||
|
||||
public void exportExcel(HttpServletResponse response) throws Exception{
|
||||
BaseGridRequest request = new BaseGridRequest();
|
||||
public void exportExcel(BaseGridRequest request) throws Exception{
|
||||
request = detailRequest(request);
|
||||
HttpServletResponse response = ServletUtils.response();
|
||||
|
||||
GridExample gridExample = request.convertExample();
|
||||
List<SysLogWithBLOBs> lists = extSysLogMapper.query(gridExample);
|
||||
List<LogExcel> excels = lists.stream().map(item -> {
|
||||
|
@ -17,11 +17,12 @@ export function opTypes() {
|
||||
})
|
||||
}
|
||||
|
||||
export function exportExcel() {
|
||||
export function exportExcel(data) {
|
||||
return request({
|
||||
url: '/api/log/export',
|
||||
method: 'post',
|
||||
loading: true,
|
||||
responseType: 'blob'
|
||||
responseType: 'blob',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
@ -2054,6 +2054,7 @@ export default {
|
||||
user: 'User',
|
||||
time: 'Time',
|
||||
export: 'Export',
|
||||
confirm: 'Sure Export ?',
|
||||
search_by_key: 'Search by key'
|
||||
},
|
||||
plugin_style: {
|
||||
|
@ -2065,6 +2065,7 @@ export default {
|
||||
user: '操作用戶',
|
||||
time: '操作時間',
|
||||
export: '導出',
|
||||
confirm: '確定導出嗎?',
|
||||
search_by_key: '搜索詳情'
|
||||
},
|
||||
plugin_style: {
|
||||
|
@ -1340,7 +1340,7 @@ export default {
|
||||
show_info: '驱动信息',
|
||||
file_name: '文件名',
|
||||
version: '版本',
|
||||
please_set_driverClass: '请指定驱动类',
|
||||
please_set_driverClass: '请指定驱动类'
|
||||
},
|
||||
datasource: {
|
||||
auth_method: '认证方式',
|
||||
@ -2072,6 +2072,7 @@ export default {
|
||||
user: '操作用户',
|
||||
time: '操作时间',
|
||||
export: '导出',
|
||||
confirm: '确定导出吗?',
|
||||
search_by_key: '搜索详情'
|
||||
},
|
||||
plugin_style: {
|
||||
|
@ -11,7 +11,7 @@
|
||||
@sort-change="sortChange"
|
||||
>
|
||||
<template #toolbar>
|
||||
<el-button v-permission="['log:export']" icon="el-icon-download" size="mini" @click="exportData">{{ $t('log.export') }}</el-button>
|
||||
<el-button v-permission="['log:export']" icon="el-icon-download" size="mini" @click="exportConfirm">{{ $t('log.export') }}</el-button>
|
||||
</template>
|
||||
|
||||
<el-table-column :show-overflow-tooltip="true" prop="opType" :label="$t('log.optype')" width="140">
|
||||
@ -92,9 +92,26 @@ export default {
|
||||
},
|
||||
|
||||
methods: {
|
||||
|
||||
exportConfirm() {
|
||||
this.$confirm(this.$t('log.confirm'), '', {
|
||||
confirmButtonText: this.$t('commons.confirm'),
|
||||
cancelButtonText: this.$t('commons.cancel'),
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.exportData()
|
||||
}).catch(() => {
|
||||
// this.$info(this.$t('commons.delete_cancel'))
|
||||
})
|
||||
},
|
||||
exportData() {
|
||||
console.log('exportting...')
|
||||
exportExcel().then(res => {
|
||||
let condition = this.last_condition
|
||||
condition = formatQuickCondition(condition, 'key')
|
||||
const temp = formatCondition(condition)
|
||||
const param = temp || {}
|
||||
param['orders'] = formatOrders(this.orderConditions)
|
||||
|
||||
exportExcel(param).then(res => {
|
||||
const blob = new Blob([res], { type: 'application/vnd.ms-excel' })
|
||||
const link = document.createElement('a')
|
||||
link.style.display = 'none'
|
||||
|
Loading…
Reference in New Issue
Block a user