Merge branch 'dev' of github.com:dataease/dataease into dev

This commit is contained in:
taojinlong 2022-09-15 14:55:07 +08:00
commit e6cee9d845
14 changed files with 105 additions and 57 deletions

View File

@ -68,7 +68,8 @@ public class ShiroServiceImpl implements ShiroService {
filterChainDefinitionMap.put("/**/*.json", ANON); filterChainDefinitionMap.put("/**/*.json", ANON);
filterChainDefinitionMap.put("/system/ui/**", ANON); filterChainDefinitionMap.put("/system/ui/**", ANON);
filterChainDefinitionMap.put("/system/file/**", ANON); filterChainDefinitionMap.put("/system/filedown/**", ANON);
filterChainDefinitionMap.put("/system/showpicture/**", ANON);
filterChainDefinitionMap.put("/**/*.js", ANON); filterChainDefinitionMap.put("/**/*.js", ANON);
filterChainDefinitionMap.put("/**/*.css", ANON); filterChainDefinitionMap.put("/**/*.css", ANON);
filterChainDefinitionMap.put("/**/*.map", ANON); filterChainDefinitionMap.put("/**/*.map", ANON);

View File

@ -1,6 +1,6 @@
package io.dataease.controller.sys; package io.dataease.controller.sys;
import io.dataease.plugins.common.base.domain.FileMetadata;
import io.dataease.plugins.common.base.domain.SystemParameter; import io.dataease.plugins.common.base.domain.SystemParameter;
import io.dataease.commons.constants.ParamConstants; import io.dataease.commons.constants.ParamConstants;
import io.dataease.controller.sys.response.BasicInfo; import io.dataease.controller.sys.response.BasicInfo;
@ -8,6 +8,7 @@ import io.dataease.controller.sys.response.MailInfo;
import io.dataease.dto.SystemParameterDTO; import io.dataease.dto.SystemParameterDTO;
import io.dataease.listener.DatasetCheckListener; import io.dataease.listener.DatasetCheckListener;
import io.dataease.listener.util.CacheUtils; import io.dataease.listener.util.CacheUtils;
import io.dataease.plugins.common.util.GlobalFileUtil;
import io.dataease.plugins.xpack.cas.dto.CasSaveResult; import io.dataease.plugins.xpack.cas.dto.CasSaveResult;
import io.dataease.service.FileService; import io.dataease.service.FileService;
import io.dataease.service.system.EmailService; import io.dataease.service.system.EmailService;
@ -22,7 +23,7 @@ import springfox.documentation.annotations.ApiIgnore;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.io.IOException; import java.io.IOException;
import java.net.URLEncoder;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -108,21 +109,16 @@ public class SystemParameterController {
return new ResponseEntity<>(bytes, headers, HttpStatus.OK); return new ResponseEntity<>(bytes, headers, HttpStatus.OK);
} }
@GetMapping("/file/down/{fileId}/{fileName}") @GetMapping("/filedown/{fileId}/{fileName}")
public ResponseEntity<ByteArrayResource> down(@PathVariable("fileId") String fileId, @PathVariable("fileName") String fileName) throws Exception{ public ResponseEntity<ByteArrayResource> down(@PathVariable("fileId") String fileId, @PathVariable("fileName") String fileName) throws Exception {
FileMetadata fileMetadata = fileService.getFileMetadataById(fileId); return GlobalFileUtil.down(fileId, fileName);
String type = fileMetadata.getType(); }
if (!StringUtils.endsWith(fileName.toUpperCase(), type.toUpperCase())) {
fileName += ("." + type); @GetMapping("/showpicture/{fileId}")
} public ResponseEntity<byte[]> showPicture(@PathVariable("fileId") String fileId) throws Exception {
byte[] bytes = fileService.loadFileAsBytes(fileId);
ByteArrayResource bar = new ByteArrayResource(bytes); return GlobalFileUtil.showPicture(fileId);
final HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
ContentDisposition contentDisposition = ContentDisposition.parse("attachment; filename=" + URLEncoder.encode(fileName, "UTF-8"));
headers.setContentDisposition(contentDisposition);
return new ResponseEntity<>(bar, headers, HttpStatus.OK);
} }
@PostMapping(value = "/save/ui", consumes = {"multipart/form-data"}) @PostMapping(value = "/save/ui", consumes = {"multipart/form-data"})

View File

@ -1658,10 +1658,14 @@ public class ChartViewService {
String senior = view.getSenior(); String senior = view.getSenior();
JSONObject jsonObject = JSONObject.parseObject(senior); JSONObject jsonObject = JSONObject.parseObject(senior);
JSONArray assistLine = jsonObject.getJSONArray("assistLine"); JSONArray assistLine = jsonObject.getJSONArray("assistLine");
List<ChartSeniorAssistDTO> list = new ArrayList<>();
if (ObjectUtils.isEmpty(assistLine) || StringUtils.isBlank(assistLine.toJSONString())) {
return list;
}
List<ChartSeniorAssistDTO> assistLines = gson.fromJson(assistLine.toJSONString(), new TypeToken<List<ChartSeniorAssistDTO>>() { List<ChartSeniorAssistDTO> assistLines = gson.fromJson(assistLine.toJSONString(), new TypeToken<List<ChartSeniorAssistDTO>>() {
}.getType()); }.getType());
List<ChartSeniorAssistDTO> list = new ArrayList<>();
for (ChartSeniorAssistDTO dto : assistLines) { for (ChartSeniorAssistDTO dto : assistLines) {
if (StringUtils.equalsIgnoreCase(dto.getField(), "0")) { if (StringUtils.equalsIgnoreCase(dto.getField(), "0")) {
continue; continue;

View File

@ -58,3 +58,9 @@ INSERT INTO `sys_msg_channel` VALUES (5, 'webmsg.channel_lark_msg', 'sendLark');
UPDATE `dataset_table_function` SET `func` = 'CONCAT(s1,s2,...)' WHERE `id` = 29; UPDATE `dataset_table_function` SET `func` = 'CONCAT(s1,s2,...)' WHERE `id` = 29;
UPDATE `dataset_table_function` SET `func` = 'CONCAT(s1,s2,...)' WHERE `id` = 78; UPDATE `dataset_table_function` SET `func` = 'CONCAT(s1,s2,...)' WHERE `id` = 78;
ALTER TABLE `sys_task_email`
ADD COLUMN `recisetting` varchar(255) NULL COMMENT '消息渠道' AFTER `view_ids`,
ADD COLUMN `conditions` longtext NULL COMMENT '仪表板条件' AFTER `recisetting`;

View File

@ -1016,7 +1016,8 @@ export default {
table_item_fontsize: 'Table font size', table_item_fontsize: 'Table font size',
table_header_bg: 'Header Background', table_header_bg: 'Header Background',
table_item_bg: 'Table Background', table_item_bg: 'Table Background',
table_item_font_color: 'Font Color', table_header_font_color: 'Header Font',
table_item_font_color: 'Table Font',
stripe: 'Zebra pattern', stripe: 'Zebra pattern',
start_angle: 'Start Angle', start_angle: 'Start Angle',
end_angle: 'End Angle', end_angle: 'End Angle',
@ -1329,7 +1330,10 @@ export default {
chart_group: 'Sub Type', chart_group: 'Sub Type',
chart_bar_group: 'Bar Group', chart_bar_group: 'Bar Group',
field_dynamic: 'Dynamic', field_dynamic: 'Dynamic',
aggregation: 'Aggregation' aggregation: 'Aggregation',
filter_between: 'Between',
field_not_empty: 'Field can not be empty',
summary_not_empty: 'Summary can not be empty'
}, },
dataset: { dataset: {
parse_filed: 'Parse Field', parse_filed: 'Parse Field',
@ -2338,6 +2342,11 @@ export default {
panel: 'Panel', panel: 'Panel',
content: 'Content', content: 'Content',
recipients: 'Recipients', recipients: 'Recipients',
recisetting: 'channel',
email: 'Email',
wecom: 'Wecom',
dingtalk: 'Dingtalk',
lark: 'Lark',
pixel: 'Pixel', pixel: 'Pixel',
default: 'Default', default: 'Default',
custom: 'Custom', custom: 'Custom',

View File

@ -1016,7 +1016,8 @@ export default {
table_item_fontsize: '錶格字體大小', table_item_fontsize: '錶格字體大小',
table_header_bg: '錶頭背景', table_header_bg: '錶頭背景',
table_item_bg: '錶格背景', table_item_bg: '錶格背景',
table_item_font_color: '字體顔色', table_header_font_color: '表頭字體',
table_item_font_color: '表格字體',
stripe: '斑馬紋', stripe: '斑馬紋',
start_angle: '起始角度', start_angle: '起始角度',
end_angle: '結束角度', end_angle: '結束角度',
@ -1329,7 +1330,10 @@ export default {
chart_group: '子類別', chart_group: '子類別',
chart_bar_group: '分組柱狀圖', chart_bar_group: '分組柱狀圖',
field_dynamic: '動態值', field_dynamic: '動態值',
aggregation: '聚合方式' aggregation: '聚合方式',
filter_between: '介於',
field_not_empty: '字段不能為空',
summary_not_empty: '聚合方式不能為空'
}, },
dataset: { dataset: {
parse_filed: '解析字段', parse_filed: '解析字段',
@ -2335,10 +2339,15 @@ export default {
}, },
emailtask: { emailtask: {
title: '郵件主題', title: '報告主題',
panel: '儀錶闆', panel: '儀錶闆',
content: '郵件正文', content: '報告正文',
recipients: '收件人', recipients: '收件人',
recisetting: '接受設置',
email: '郵件',
wecom: '企業微信',
dingtalk: '釘釘',
lark: '飛書',
pixel: '分辨率', pixel: '分辨率',
default: '默認', default: '默認',
custom: '自定義', custom: '自定義',

View File

@ -1016,7 +1016,8 @@ export default {
table_item_fontsize: '表格字体大小', table_item_fontsize: '表格字体大小',
table_header_bg: '表头背景', table_header_bg: '表头背景',
table_item_bg: '表格背景', table_item_bg: '表格背景',
table_item_font_color: '字体颜色', table_header_font_color: '表头字体',
table_item_font_color: '表格字体',
stripe: '斑马纹', stripe: '斑马纹',
start_angle: '起始角度', start_angle: '起始角度',
end_angle: '结束角度', end_angle: '结束角度',
@ -1329,7 +1330,10 @@ export default {
chart_group: '子类别', chart_group: '子类别',
chart_bar_group: '分组柱状图', chart_bar_group: '分组柱状图',
field_dynamic: '动态值', field_dynamic: '动态值',
aggregation: '聚合方式' aggregation: '聚合方式',
filter_between: '介于',
field_not_empty: '字段不能为空',
summary_not_empty: '聚合方式不能为空'
}, },
dataset: { dataset: {
parse_filed: '解析字段', parse_filed: '解析字段',
@ -2335,10 +2339,15 @@ export default {
}, },
emailtask: { emailtask: {
title: '邮件主题', title: '报告主题',
panel: '仪表板', panel: '仪表板',
content: '邮件正文', content: '报告正文',
recipients: '收件人', recipients: '收件人',
recisetting: '接受设置',
email: '邮件',
wecom: '企业微信',
dingtalk: '钉钉',
lark: '飞书',
pixel: '分辨率', pixel: '分辨率',
default: '默认', default: '默认',
custom: '自定义', custom: '自定义',

View File

@ -18,6 +18,7 @@ export const DEFAULT_COLOR_CASE = {
alpha: 100, alpha: 100,
tableHeaderBgColor: '#6D9A49', tableHeaderBgColor: '#6D9A49',
tableItemBgColor: '#FFFFFF', tableItemBgColor: '#FFFFFF',
tableHeaderFontColor: '#000000',
tableFontColor: '#000000', tableFontColor: '#000000',
tableStripe: true, tableStripe: true,
dimensionColor: '#000000', dimensionColor: '#000000',

View File

@ -23,17 +23,17 @@ export function getCustomTheme(chart) {
verticalBorderColor: borderColor verticalBorderColor: borderColor
}, },
text: { text: {
fill: DEFAULT_COLOR_CASE.tableFontColor, fill: DEFAULT_COLOR_CASE.tableHeaderFontColor,
fontSize: DEFAULT_SIZE.tableTitleFontSize, fontSize: DEFAULT_SIZE.tableTitleFontSize,
textAlign: headerAlign textAlign: headerAlign
}, },
bolderText: { bolderText: {
fill: DEFAULT_COLOR_CASE.tableFontColor, fill: DEFAULT_COLOR_CASE.tableHeaderFontColor,
fontSize: DEFAULT_SIZE.tableTitleFontSize, fontSize: DEFAULT_SIZE.tableTitleFontSize,
textAlign: headerAlign textAlign: headerAlign
}, },
measureText: { measureText: {
fill: DEFAULT_COLOR_CASE.tableFontColor, fill: DEFAULT_COLOR_CASE.tableHeaderFontColor,
fontSize: DEFAULT_SIZE.tableTitleFontSize, fontSize: DEFAULT_SIZE.tableTitleFontSize,
textAlign: headerAlign textAlign: headerAlign
} }
@ -45,17 +45,17 @@ export function getCustomTheme(chart) {
verticalBorderColor: borderColor verticalBorderColor: borderColor
}, },
text: { text: {
fill: DEFAULT_COLOR_CASE.tableFontColor, fill: DEFAULT_COLOR_CASE.tableHeaderFontColor,
fontSize: DEFAULT_SIZE.tableTitleFontSize, fontSize: DEFAULT_SIZE.tableTitleFontSize,
textAlign: headerAlign textAlign: headerAlign
}, },
bolderText: { bolderText: {
fill: DEFAULT_COLOR_CASE.tableFontColor, fill: DEFAULT_COLOR_CASE.tableHeaderFontColor,
fontSize: DEFAULT_SIZE.tableTitleFontSize, fontSize: DEFAULT_SIZE.tableTitleFontSize,
textAlign: headerAlign textAlign: headerAlign
}, },
measureText: { measureText: {
fill: DEFAULT_COLOR_CASE.tableFontColor, fill: DEFAULT_COLOR_CASE.tableHeaderFontColor,
fontSize: DEFAULT_SIZE.tableTitleFontSize, fontSize: DEFAULT_SIZE.tableTitleFontSize,
textAlign: headerAlign textAlign: headerAlign
} }
@ -67,17 +67,17 @@ export function getCustomTheme(chart) {
verticalBorderColor: borderColor verticalBorderColor: borderColor
}, },
text: { text: {
fill: DEFAULT_COLOR_CASE.tableFontColor, fill: DEFAULT_COLOR_CASE.tableHeaderFontColor,
fontSize: DEFAULT_SIZE.tableTitleFontSize, fontSize: DEFAULT_SIZE.tableTitleFontSize,
textAlign: headerAlign textAlign: headerAlign
}, },
bolderText: { bolderText: {
fill: DEFAULT_COLOR_CASE.tableFontColor, fill: DEFAULT_COLOR_CASE.tableHeaderFontColor,
fontSize: DEFAULT_SIZE.tableTitleFontSize, fontSize: DEFAULT_SIZE.tableTitleFontSize,
textAlign: headerAlign textAlign: headerAlign
}, },
measureText: { measureText: {
fill: DEFAULT_COLOR_CASE.tableFontColor, fill: DEFAULT_COLOR_CASE.tableHeaderFontColor,
fontSize: DEFAULT_SIZE.tableTitleFontSize, fontSize: DEFAULT_SIZE.tableTitleFontSize,
textAlign: headerAlign textAlign: headerAlign
} }
@ -121,23 +121,23 @@ export function getCustomTheme(chart) {
theme.cornerCell.cell.backgroundColor = h_c theme.cornerCell.cell.backgroundColor = h_c
theme.cornerCell.cell.horizontalBorderColor = b_c theme.cornerCell.cell.horizontalBorderColor = b_c
theme.cornerCell.cell.verticalBorderColor = b_c theme.cornerCell.cell.verticalBorderColor = b_c
theme.cornerCell.bolderText.fill = c.tableFontColor theme.cornerCell.bolderText.fill = c.tableHeaderFontColor ? c.tableHeaderFontColor : c.tableFontColor
theme.cornerCell.text.fill = c.tableFontColor theme.cornerCell.text.fill = c.tableHeaderFontColor ? c.tableHeaderFontColor : c.tableFontColor
theme.cornerCell.measureText.fill = c.tableFontColor theme.cornerCell.measureText.fill = c.tableHeaderFontColor ? c.tableHeaderFontColor : c.tableFontColor
theme.rowCell.cell.backgroundColor = h_c theme.rowCell.cell.backgroundColor = h_c
theme.rowCell.cell.horizontalBorderColor = b_c theme.rowCell.cell.horizontalBorderColor = b_c
theme.rowCell.cell.verticalBorderColor = b_c theme.rowCell.cell.verticalBorderColor = b_c
theme.rowCell.bolderText.fill = c.tableFontColor theme.rowCell.bolderText.fill = c.tableHeaderFontColor ? c.tableHeaderFontColor : c.tableFontColor
theme.rowCell.text.fill = c.tableFontColor theme.rowCell.text.fill = c.tableHeaderFontColor ? c.tableHeaderFontColor : c.tableFontColor
theme.rowCell.measureText.fill = c.tableFontColor theme.rowCell.measureText.fill = c.tableHeaderFontColor ? c.tableHeaderFontColor : c.tableFontColor
theme.colCell.cell.backgroundColor = h_c theme.colCell.cell.backgroundColor = h_c
theme.colCell.cell.horizontalBorderColor = b_c theme.colCell.cell.horizontalBorderColor = b_c
theme.colCell.cell.verticalBorderColor = b_c theme.colCell.cell.verticalBorderColor = b_c
theme.colCell.bolderText.fill = c.tableFontColor theme.colCell.bolderText.fill = c.tableHeaderFontColor ? c.tableHeaderFontColor : c.tableFontColor
theme.colCell.text.fill = c.tableFontColor theme.colCell.text.fill = c.tableHeaderFontColor ? c.tableHeaderFontColor : c.tableFontColor
theme.colCell.measureText.fill = c.tableFontColor theme.colCell.measureText.fill = c.tableHeaderFontColor ? c.tableHeaderFontColor : c.tableFontColor
theme.dataCell.cell.backgroundColor = i_c theme.dataCell.cell.backgroundColor = i_c
theme.dataCell.cell.horizontalBorderColor = b_c theme.dataCell.cell.horizontalBorderColor = b_c

View File

@ -45,6 +45,7 @@ export const TYPE_CONFIGS = [
'color-selector': [ 'color-selector': [
'tableHeaderBgColor', 'tableHeaderBgColor',
'tableItemBgColor', 'tableItemBgColor',
'tableHeaderFontColor',
'tableFontColor', 'tableFontColor',
'tableBorderColor', 'tableBorderColor',
'alpha' 'alpha'
@ -88,6 +89,7 @@ export const TYPE_CONFIGS = [
'color-selector': [ 'color-selector': [
'tableHeaderBgColor', 'tableHeaderBgColor',
'tableItemBgColor', 'tableItemBgColor',
'tableHeaderFontColor',
'tableFontColor', 'tableFontColor',
'tableBorderColor', 'tableBorderColor',
'alpha' 'alpha'
@ -134,6 +136,7 @@ export const TYPE_CONFIGS = [
'color-selector': [ 'color-selector': [
'tableHeaderBgColor', 'tableHeaderBgColor',
'tableItemBgColor', 'tableItemBgColor',
'tableHeaderFontColor',
'tableFontColor', 'tableFontColor',
'tableBorderColor', 'tableBorderColor',
'alpha' 'alpha'
@ -1463,6 +1466,7 @@ export const TYPE_CONFIGS = [
'color-selector': [ 'color-selector': [
'tableHeaderBgColor', 'tableHeaderBgColor',
'tableItemBgColor', 'tableItemBgColor',
'tableHeaderFontColor',
'tableFontColor', 'tableFontColor',
'alpha' 'alpha'
], ],
@ -1499,6 +1503,7 @@ export const TYPE_CONFIGS = [
'color-selector': [ 'color-selector': [
'tableHeaderBgColor', 'tableHeaderBgColor',
'tableItemBgColor', 'tableItemBgColor',
'tableHeaderFontColor',
'tableFontColor', 'tableFontColor',
'alpha' 'alpha'
], ],

View File

@ -36,7 +36,7 @@
<span style="float: left; color: #8492a6; font-size: 12px">{{ quota.name }}</span> <span style="float: left; color: #8492a6; font-size: 12px">{{ quota.name }}</span>
</el-option> </el-option>
</el-select> </el-select>
<el-select v-model="item.summary" size="mini" class="select-item" :placeholder="$t('chart.summary')" @change="changeAssistLine"> <el-select v-model="item.summary" size="mini" class="select-item" :placeholder="$t('chart.aggregation')" @change="changeAssistLine">
<el-option v-if="item.curField && item.curField.id && item.curField.deType !== 0 && item.curField.deType !== 1 && item.curField.deType !== 5" key="sum" value="sum" :label="$t('chart.sum')" /> <el-option v-if="item.curField && item.curField.id && item.curField.deType !== 0 && item.curField.deType !== 1 && item.curField.deType !== 5" key="sum" value="sum" :label="$t('chart.sum')" />
<el-option v-if="item.curField && item.curField.id && item.curField.deType !== 0 && item.curField.deType !== 1 && item.curField.deType !== 5" key="avg" value="avg" :label="$t('chart.avg')" /> <el-option v-if="item.curField && item.curField.id && item.curField.deType !== 0 && item.curField.deType !== 1 && item.curField.deType !== 5" key="avg" value="avg" :label="$t('chart.avg')" />
<el-option v-if="item.curField && item.curField.id && item.curField.deType !== 0 && item.curField.deType !== 1 && item.curField.deType !== 5" key="max" value="max" :label="$t('chart.max')" /> <el-option v-if="item.curField && item.curField.id && item.curField.deType !== 0 && item.curField.deType !== 1 && item.curField.deType !== 5" key="max" value="max" :label="$t('chart.max')" />

View File

@ -94,6 +94,9 @@
<el-form-item v-show="showProperty('tableItemBgColor')" :label="$t('chart.table_item_bg')" class="form-item"> <el-form-item v-show="showProperty('tableItemBgColor')" :label="$t('chart.table_item_bg')" class="form-item">
<el-color-picker v-model="colorForm.tableItemBgColor" class="color-picker-style" :predefine="predefineColors" @change="changeColorCase('tableItemBgColor')" /> <el-color-picker v-model="colorForm.tableItemBgColor" class="color-picker-style" :predefine="predefineColors" @change="changeColorCase('tableItemBgColor')" />
</el-form-item> </el-form-item>
<el-form-item v-show="showProperty('tableHeaderFontColor')" :label="$t('chart.table_header_font_color')" class="form-item">
<el-color-picker v-model="colorForm.tableHeaderFontColor" class="color-picker-style" :predefine="predefineColors" @change="changeColorCase('tableHeaderFontColor')" />
</el-form-item>
<el-form-item v-show="showProperty('tableFontColor')" :label="$t('chart.table_item_font_color')" class="form-item"> <el-form-item v-show="showProperty('tableFontColor')" :label="$t('chart.table_item_font_color')" class="form-item">
<el-color-picker v-model="colorForm.tableFontColor" class="color-picker-style" :predefine="predefineColors" @change="changeColorCase('tableFontColor')" /> <el-color-picker v-model="colorForm.tableFontColor" class="color-picker-style" :predefine="predefineColors" @change="changeColorCase('tableFontColor')" />
</el-form-item> </el-form-item>
@ -300,6 +303,7 @@ export default {
} }
this.colorForm.tableBorderColor = this.colorForm.tableBorderColor ? this.colorForm.tableBorderColor : DEFAULT_COLOR_CASE.tableBorderColor this.colorForm.tableBorderColor = this.colorForm.tableBorderColor ? this.colorForm.tableBorderColor : DEFAULT_COLOR_CASE.tableBorderColor
this.colorForm.tableHeaderFontColor = this.colorForm.tableHeaderFontColor ? this.colorForm.tableHeaderFontColor : this.colorForm.tableFontColor
this.initCustomColor() this.initCustomColor()
} }

View File

@ -200,12 +200,12 @@ export default {
datas = [] datas = []
this.resetPage() this.resetPage()
} }
datas.forEach(item =>{ datas.forEach(item => {
Object.keys(item).forEach(key=> { Object.keys(item).forEach(key => {
if(typeof item[key] === 'object'){ if (typeof item[key] === 'object') {
item[key] = "" item[key] = ''
} }
}) })
}) })
this.$refs.plxTable.reloadData(datas) this.$refs.plxTable.reloadData(datas)
this.$nextTick(() => { this.$nextTick(() => {
@ -257,7 +257,7 @@ export default {
if (this.chart.customAttr) { if (this.chart.customAttr) {
const customAttr = JSON.parse(this.chart.customAttr) const customAttr = JSON.parse(this.chart.customAttr)
if (customAttr.color) { if (customAttr.color) {
this.table_header_class.color = customAttr.color.tableFontColor this.table_header_class.color = customAttr.color.tableHeaderFontColor ? customAttr.color.tableHeaderFontColor : customAttr.color.tableFontColor
this.table_header_class.background = hexColorToRGBA(customAttr.color.tableHeaderBgColor, customAttr.color.alpha) this.table_header_class.background = hexColorToRGBA(customAttr.color.tableHeaderBgColor, customAttr.color.alpha)
this.table_item_class.color = customAttr.color.tableFontColor this.table_item_class.color = customAttr.color.tableFontColor
this.table_item_class.background = hexColorToRGBA(customAttr.color.tableItemBgColor, customAttr.color.alpha) this.table_item_class.background = hexColorToRGBA(customAttr.color.tableItemBgColor, customAttr.color.alpha)

View File

@ -67,6 +67,9 @@
<el-form-item :label="$t('chart.table_item_bg')" class="form-item"> <el-form-item :label="$t('chart.table_item_bg')" class="form-item">
<el-color-picker v-model="colorForm.tableItemBgColor" class="color-picker-style" :predefine="predefineColors" @change="changeColorCase('tableItemBgColor')" /> <el-color-picker v-model="colorForm.tableItemBgColor" class="color-picker-style" :predefine="predefineColors" @change="changeColorCase('tableItemBgColor')" />
</el-form-item> </el-form-item>
<el-form-item :label="$t('chart.table_header_font_color')" class="form-item">
<el-color-picker v-model="colorForm.tableHeaderFontColor" class="color-picker-style" :predefine="predefineColors" @change="changeColorCase('tableHeaderFontColor')" />
</el-form-item>
<el-form-item :label="$t('chart.table_item_font_color')" class="form-item"> <el-form-item :label="$t('chart.table_item_font_color')" class="form-item">
<el-color-picker v-model="colorForm.tableFontColor" class="color-picker-style" :predefine="predefineColors" @change="changeColorCase('tableFontColor')" /> <el-color-picker v-model="colorForm.tableFontColor" class="color-picker-style" :predefine="predefineColors" @change="changeColorCase('tableFontColor')" />
</el-form-item> </el-form-item>
@ -82,7 +85,7 @@
<script> <script>
import { COLOR_PANEL } from '@/views/chart/chart/chart' import { COLOR_PANEL } from '@/views/chart/chart/chart'
import { mapState } from 'vuex' import { mapState } from 'vuex'
import bus from "@/utils/bus"; import bus from '@/utils/bus'
export default { export default {
name: 'ColorSelector', name: 'ColorSelector',
@ -183,16 +186,17 @@ export default {
]), ]),
created() { created() {
this.initForm() this.initForm()
bus.$on('onThemeColorChange',this.initForm) bus.$on('onThemeColorChange', this.initForm)
}, },
beforeDestroy() { beforeDestroy() {
bus.$off('onThemeColorChange',this.initForm) bus.$off('onThemeColorChange', this.initForm)
}, },
mounted() { mounted() {
}, },
methods: { methods: {
initForm() { initForm() {
this.colorForm = this.canvasStyleData.chartInfo.chartColor this.colorForm = this.canvasStyleData.chartInfo.chartColor
this.colorForm.tableHeaderFontColor = this.colorForm.tableHeaderFontColor ? this.colorForm.tableHeaderFontColor : this.colorForm.tableFontColor
}, },
changeColorOption(modifyName = 'value') { changeColorOption(modifyName = 'value') {
const that = this const that = this