diff --git a/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java b/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java index c40599503b..5e187bfed3 100644 --- a/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java +++ b/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java @@ -29,10 +29,6 @@ import org.apache.commons.lang3.StringUtils; import org.apache.http.HttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.CloseableHttpClient; -import org.apache.poi.hssf.usermodel.HSSFSheet; -import org.apache.poi.hssf.usermodel.HSSFWorkbook; -import org.apache.poi.xssf.usermodel.XSSFSheet; -import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.pentaho.di.cluster.SlaveServer; import org.pentaho.di.core.database.DatabaseMeta; import org.pentaho.di.core.row.ValueMetaInterface; @@ -66,8 +62,6 @@ import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.io.File; -import java.io.FileInputStream; -import java.io.InputStream; import java.net.InetAddress; import java.util.*; import java.util.stream.Collectors; @@ -295,7 +289,7 @@ public class ExtractDataService { replaceTable(DorisTableUtils.dorisName(datasetTableId)); saveSucessLog(datasetTableTaskLog); - sendWebMsg(datasetTable, datasetTableTask, true); + sendWebMsg(datasetTable, datasetTableTask, datasetTableTaskLog, true); deleteFile("all_scope", datasetTableId); @@ -308,7 +302,7 @@ public class ExtractDataService { dataSetTableTaskService.updateTaskStatus(datasetTableTask, JobStatus.Error); - sendWebMsg(datasetTable, datasetTableTask, false); + sendWebMsg(datasetTable, datasetTableTask, datasetTableTaskLog,false); updateTableStatus(datasetTableId, datasetTable, JobStatus.Error, null); dropDorisTable(DorisTableUtils.dorisTmpName(DorisTableUtils.dorisName(datasetTableId))); deleteFile("all_scope", datasetTableId); @@ -350,7 +344,7 @@ public class ExtractDataService { } saveSucessLog(datasetTableTaskLog); - sendWebMsg(datasetTable, datasetTableTask, true); + sendWebMsg(datasetTable, datasetTableTask, datasetTableTaskLog,true); deleteFile("incremental_add", datasetTableId); deleteFile("incremental_delete", datasetTableId); @@ -360,7 +354,7 @@ public class ExtractDataService { dataSetTableTaskService.updateTaskStatus(datasetTableTask, JobStatus.Completed); } catch (Exception e) { saveErrorLog(datasetTableId, taskId, e); - sendWebMsg(datasetTable, datasetTableTask, false); + sendWebMsg(datasetTable, datasetTableTask, datasetTableTaskLog,false); updateTableStatus(datasetTableId, datasetTable, JobStatus.Error, null); dataSetTableTaskService.updateTaskStatus(datasetTableTask, JobStatus.Error); @@ -385,13 +379,14 @@ public class ExtractDataService { } - private void sendWebMsg(DatasetTable datasetTable, DatasetTableTask datasetTableTask, Boolean status) { + private void sendWebMsg(DatasetTable datasetTable, DatasetTableTask datasetTableTask, DatasetTableTaskLog datasetTableTaskLog, Boolean status) { String taskId = datasetTableTask.getId(); String msg = status ? "成功" : "失败"; Long typeId = status ? 5L : 6L; String id = datasetTable.getId(); AuthURD authURD = AuthUtils.authURDR(id); Set userIds = AuthUtils.userIdsByURD(authURD); + Gson gson = new Gson(); userIds.forEach(userId -> { Map param = new HashMap<>(); @@ -399,6 +394,10 @@ public class ExtractDataService { if (StringUtils.isNotEmpty(taskId)) { param.put("taskId", taskId); } + + if (ObjectUtils.isNotEmpty(datasetTableTaskLog) && StringUtils.isNotEmpty(datasetTableTaskLog.getId())) { + param.put("logId", datasetTableTaskLog.getId()); + } String content = "数据集【" + datasetTable.getName() + "】同步" + msg; if (ObjectUtils.isNotEmpty(datasetTableTask) && ObjectUtils.isNotEmpty(datasetTableTask.getName())) { content += " 任务名称【" + datasetTableTask.getName() + "】"; diff --git a/backend/src/main/java/io/dataease/service/message/SysMsgService.java b/backend/src/main/java/io/dataease/service/message/SysMsgService.java index 86d4e2befe..a1d0c99e5b 100644 --- a/backend/src/main/java/io/dataease/service/message/SysMsgService.java +++ b/backend/src/main/java/io/dataease/service/message/SysMsgService.java @@ -181,7 +181,6 @@ public class SysMsgService { } public List defaultSettings() { -// Long userId = AuthUtils.getUser().getUserId(); SysMsgSetting sysMsgSetting1 = new SysMsgSetting(); sysMsgSetting1.setTypeId(2L); sysMsgSetting1.setChannelId(1L); diff --git a/frontend/src/components/business/complex-table/index.vue b/frontend/src/components/business/complex-table/index.vue index 684a9430dc..6a172a9258 100644 --- a/frontend/src/components/business/complex-table/index.vue +++ b/frontend/src/components/business/complex-table/index.vue @@ -14,7 +14,7 @@ - + @@ -46,6 +46,10 @@ export default { type: Array, default: () => [] }, + hideColumns: { + type: Boolean, + default: false + }, // eslint-disable-next-line vue/require-default-prop localKey: String, // 如果需要记住选择的列,则这里添加一个唯一的Key // eslint-disable-next-line vue/require-default-prop diff --git a/frontend/src/components/canvas/components/Editor/Preview.vue b/frontend/src/components/canvas/components/Editor/Preview.vue index 1e0a961b76..70cdab8bc6 100644 --- a/frontend/src/components/canvas/components/Editor/Preview.vue +++ b/frontend/src/components/canvas/components/Editor/Preview.vue @@ -108,6 +108,12 @@ export default { } } } + if (this.canvasStyleData.selfAdaption) { + style = { + overflow: 'hidden', + ...style + } + } return style }, // 此处单独计算componentData的值 不放入全局mapState中 diff --git a/frontend/src/components/canvas/components/Editor/SettingMenu.vue b/frontend/src/components/canvas/components/Editor/SettingMenu.vue index 8a9d469104..3e345100e8 100644 --- a/frontend/src/components/canvas/components/Editor/SettingMenu.vue +++ b/frontend/src/components/canvas/components/Editor/SettingMenu.vue @@ -3,8 +3,8 @@
- - {{ $t('panel.edit') }} + + {{ $t('panel.edit') }} {{ $t('panel.copy') }} {{ $t('panel.delete') }} {{ $t('panel.topComponent') }} diff --git a/frontend/src/components/canvas/components/RectangleAttr.vue b/frontend/src/components/canvas/components/RectangleAttr.vue index d7d15b6952..da5f9b12ee 100644 --- a/frontend/src/components/canvas/components/RectangleAttr.vue +++ b/frontend/src/components/canvas/components/RectangleAttr.vue @@ -32,13 +32,29 @@
+ + + + +
+ +
+ + + + + +
+ +
+
- +
@@ -48,9 +64,10 @@
- +
+ @@ -101,7 +118,20 @@ export default { }, { value: '5', label: '5' - }] + }], + innerOpacity: 0 + } + }, + watch: { + innerOpacity: { + handler(oldVal, newVal) { + this.styleInfo['opacity'] = this.innerOpacity / 100 + } + } + }, + mounted() { + if (this.styleInfo['opacity']) { + this.innerOpacity = this.styleInfo['opacity'] * 100 } }, computed: { @@ -176,7 +206,7 @@ export default { .el-card-main { height: 34px; z-index: 10; - width: 210px; + width: 400px; position: absolute; } diff --git a/frontend/src/components/widget/DeWidget/DeSelectGrid.vue b/frontend/src/components/widget/DeWidget/DeSelectGrid.vue index 452186fdbc..d03e024a00 100644 --- a/frontend/src/components/widget/DeWidget/DeSelectGrid.vue +++ b/frontend/src/components/widget/DeWidget/DeSelectGrid.vue @@ -8,7 +8,7 @@ {{ node.label }} - {{ node.label }} + {{ node.label }} + {{ node.label }} @@ -70,7 +71,13 @@ export default { label: 'text', children: 'children' }, - keyWord: null + keyWord: null, + allNode: { + id: (-2 << 16) + '', + text: this.$t('commons.all'), + checked: false, + indeterminate: false + } } }, computed: { @@ -89,6 +96,11 @@ export default { !sourceValid && (this.options.value = []) sourceValid && !Array.isArray(sourceValue) && (this.options.value = sourceValue.split(',')) !this.inDraw && (this.options.value = []) + if (!this.inDraw) { + this.options.value = [] + this.allNode.indeterminate = false + this.allNode.checked = false + } this.setMutiBox() } else { !sourceValid && (this.options.value = null) @@ -122,6 +134,7 @@ export default { this.options.attrs.datas.forEach(data => { data.checked = (this.options.value && this.options.value.includes(data.id)) }) + this.setAllNodeStatus() } }, setRadioBox() { @@ -150,6 +163,36 @@ export default { values.splice(index, 1) } + this.setAllNodeStatus() + + this.options.value = values + this.setCondition() + }, + // 勾选数据项 会影响全选节点的状态 + setAllNodeStatus() { + const nodeSize = this.options.attrs.datas.length + const checkedSize = this.options.attrs.datas.filter(item => item.checked).length + if (nodeSize === checkedSize) { + this.allNode.checked = true + this.allNode.indeterminate = false + } else if (checkedSize === 0) { + this.allNode.checked = false + this.allNode.indeterminate = false + } else { + this.allNode.checked = false + this.allNode.indeterminate = true + } + }, + allCheckChange(data) { + data.indeterminate = false + const values = [] + // this.options.value = [] + this.options.attrs.datas.forEach(item => { + item.checked = data.checked + // data.checked && this.options.value.push(item.id) + data.checked && values.push(item.id) + }) + this.options.value = values this.setCondition() }, diff --git a/frontend/src/views/msg/unread.vue b/frontend/src/views/msg/unread.vue index 83ecdeb2e2..18dc1743a7 100644 --- a/frontend/src/views/msg/unread.vue +++ b/frontend/src/views/msg/unread.vue @@ -8,6 +8,7 @@ - +