Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
junjun 2022-11-01 22:28:29 +08:00
commit b80687ff79
3 changed files with 56 additions and 17 deletions

View File

@ -40,6 +40,7 @@ import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.pentaho.di.core.util.UUIDUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -621,9 +622,9 @@ public class PanelGroupService {
List<String[]> details = request.getDetails();
Integer[] excelTypes = request.getExcelTypes();
details.add(0, request.getHeader());
HSSFWorkbook wb = new HSSFWorkbook();
Workbook wb = new XSSFWorkbook();
//明细sheet
HSSFSheet detailsSheet = wb.createSheet("数据");
Sheet detailsSheet = wb.createSheet("数据");
//给单元格设置样式
CellStyle cellStyle = wb.createCellStyle();
@ -641,11 +642,11 @@ public class PanelGroupService {
if (CollectionUtils.isNotEmpty(details)) {
for (int i = 0; i < details.size(); i++) {
HSSFRow row = detailsSheet.createRow(i);
Row row = detailsSheet.createRow(i);
String[] rowData = details.get(i);
if (rowData != null) {
for (int j = 0; j < rowData.length; j++) {
HSSFCell cell = row.createCell(j);
Cell cell = row.createCell(j);
if (i == 0) {// 头部
cell.setCellValue(rowData[j]);
cell.setCellStyle(cellStyle);
@ -669,14 +670,14 @@ public class PanelGroupService {
}
if (StringUtils.isNotEmpty(snapshot)) {
//截图sheet 1px 2.33dx 0.48 dy 8*24 个单元格
HSSFSheet snapshotSheet = wb.createSheet("图表");
Sheet snapshotSheet = wb.createSheet("图表");
short reDefaultRowHeight = (short) Math.round(request.getSnapshotHeight() * 3.5 / 8);
int reDefaultColumnWidth = (int) Math.round(request.getSnapshotWidth() * 0.25 / 24);
snapshotSheet.setDefaultColumnWidth(reDefaultColumnWidth);
snapshotSheet.setDefaultRowHeight(reDefaultRowHeight);
//画图的顶级管理器一个sheet只能获取一个一定要注意这点i
HSSFPatriarch patriarch = snapshotSheet.createDrawingPatriarch();
Drawing patriarch = snapshotSheet.createDrawingPatriarch();
HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, reDefaultColumnWidth, reDefaultColumnWidth, (short) 0, 0, (short) 8, 24);
anchor.setAnchorType(ClientAnchor.AnchorType.DONT_MOVE_DO_RESIZE);
patriarch.createPicture(anchor, wb.addPicture(Base64Utils.decodeFromString(snapshot.replace(DATA_URL_TITLE, "")), HSSFWorkbook.PICTURE_TYPE_JPEG));

View File

@ -3,6 +3,8 @@
class="de-tabs-div"
:class="headClass"
>
<div v-if="maskShow" class="frame-mask edit-mask" >
</div>
<dataease-tabs
v-model="activeTabName"
type="card"
@ -294,6 +296,9 @@ export default {
}
},
computed: {
maskShow(){
return Boolean(this.$store.state.dragComponentInfo)
},
titleStyle() {
return {
fontSize: (this.element.style.fontSize || 16) + 'px'
@ -345,16 +350,32 @@ export default {
'pcComponentData'
]),
fontColor() {
return this.element && this.element.style && this.element.style.headFontColor || 'none'
if (this.element && this.element.style && this.element.style.headFontColor && typeof this.element.style.headFontColor === 'string') {
return this.element.style.headFontColor
} else {
return 'none'
}
},
activeColor() {
return this.element && this.element.style && this.element.style.headFontActiveColor || 'none'
if (this.element && this.element.style && this.element.style.headFontActiveColor && typeof this.element.style.headFontActiveColor === 'string') {
return this.element.style.headFontActiveColor
} else {
return 'none'
}
},
borderColor() {
return this.element && this.element.style && this.element.style.headBorderColor || 'none'
if (this.element && this.element.style && this.element.style.headBorderColor && typeof this.element.style.headBorderColor === 'string') {
return this.element.style.headBorderColor
} else {
return 'none'
}
},
borderActiveColor() {
return this.element && this.element.style && this.element.style.headBorderActiveColor || 'none'
if (this.element && this.element.style && this.element.style.headBorderActiveColor && typeof this.element.style.headBorderActiveColor === 'string') {
return this.element.style.headBorderActiveColor
} else {
return 'none'
}
},
titleValid() {
return !!this.textarea && !!this.textarea.trim()
@ -643,20 +664,40 @@ export default {
.canvas_move_in {
border-color: blueviolet;
}
::v-deep .el-tabs__nav{
::v-deep .el-tabs__nav {
width: 100%;
}
.tab-head-left ::v-deep .el-tabs__nav{
.tab-head-left ::v-deep .el-tabs__nav {
width: 100%;
text-align: left;
}
.tab-head-right ::v-deep .el-tabs__nav{
.tab-head-right ::v-deep .el-tabs__nav {
width: 100%;
text-align: right;
}
.tab-head-center ::v-deep .el-tabs__nav{
.tab-head-center ::v-deep .el-tabs__nav {
width: 100%;
text-align: center;
}
.frame-mask {
display: flex;
opacity: 0;
position:absolute;
top:0px;
z-index: 1;
display: flex;
align-items: center;
justify-content: center;
}
.edit-mask{
left: 0px;
height: 100%!important;
width: 100% !important;
}
</style>

View File

@ -206,9 +206,6 @@ const data = {
}
state.styleChangeTimes = 0
state.curComponent = component
if (index !== null && !isNaN(index)) {
state.componentData.splice(index, 1, component)
}
state.curComponentIndex = index
},