Merge branch 'dev' into pr@dev_one_dot_x

This commit is contained in:
dataeaseShu 2023-11-29 11:12:15 +08:00
commit cfb4557b8e
29 changed files with 158 additions and 50 deletions

View File

@ -112,6 +112,7 @@ public interface ParamConstants {
MSG_TIME_OUT("basic.msgTimeOut"), MSG_TIME_OUT("basic.msgTimeOut"),
LOG_TIME_OUT("basic.logTimeOut"), LOG_TIME_OUT("basic.logTimeOut"),
DS_SYNC_LOG_TIME_OUT("basic.dsSyncLogTimeOut"),
DS_CHECK_INTERVAL("basic.dsCheckInterval"), DS_CHECK_INTERVAL("basic.dsCheckInterval"),
DS_CHECK_INTERVAL_TYPE("basic.dsCheckIntervalType"), DS_CHECK_INTERVAL_TYPE("basic.dsCheckIntervalType"),
DEFAULT_LOGIN_TYPE("basic.loginType"), DEFAULT_LOGIN_TYPE("basic.loginType"),

View File

@ -15,6 +15,8 @@ public class BasicInfo extends LoginLimitInfo implements Serializable {
private String msgTimeOut; private String msgTimeOut;
@ApiModelProperty("日志保留时间") @ApiModelProperty("日志保留时间")
private String logTimeOut; private String logTimeOut;
@ApiModelProperty("数据同步日志保留时间")
private String dsSyncLogTimeOut;
@ApiModelProperty("显示首页") @ApiModelProperty("显示首页")
private String openHomePage; private String openHomePage;
@ApiModelProperty("默认登录方式") @ApiModelProperty("默认登录方式")

View File

@ -1,6 +1,7 @@
package io.dataease.service; package io.dataease.service;
import io.dataease.ext.CleaningRebotMapper; import io.dataease.ext.CleaningRebotMapper;
import io.dataease.service.dataset.DataSetTableTaskLogService;
import io.dataease.service.message.SysMsgService; import io.dataease.service.message.SysMsgService;
import io.dataease.service.sys.log.LogService; import io.dataease.service.sys.log.LogService;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
@ -23,6 +24,8 @@ public class CleaningRebotService {
@Resource @Resource
private SysMsgService sysMsgService; private SysMsgService sysMsgService;
@Resource
private DataSetTableTaskLogService dataSetTableTaskLogService;
public void execute() { public void execute() {
int floatDept = 0; int floatDept = 0;
@ -43,5 +46,6 @@ public class CleaningRebotService {
} }
logService.cleanDisusedLog(); logService.cleanDisusedLog();
sysMsgService.cleanDisusedMsg(); sysMsgService.cleanDisusedMsg();
dataSetTableTaskLogService.cleanLog();
} }
} }

View File

@ -1116,19 +1116,6 @@ public class DataSetTableService {
} }
private String handlePlainSelect(PlainSelect plainSelect, Select statementSelect, String dsType) throws Exception { private String handlePlainSelect(PlainSelect plainSelect, Select statementSelect, String dsType) throws Exception {
List<SelectItem> selectItems = new ArrayList<>();
plainSelect.getSelectItems().forEach(selectItem -> {
System.out.println(selectItem);
System.out.println(selectItem instanceof PlainSelect);
System.out.println(selectItem instanceof SubSelect);
selectItems.add(selectItem);
});
plainSelect.addSelectItems(selectItems);
FromItem fromItem = plainSelect.getFromItem(); FromItem fromItem = plainSelect.getFromItem();
if (fromItem instanceof SubSelect) { if (fromItem instanceof SubSelect) {
SelectBody selectBody = ((SubSelect) fromItem).getSelectBody(); SelectBody selectBody = ((SubSelect) fromItem).getSelectBody();

View File

@ -1,6 +1,7 @@
package io.dataease.service.dataset; package io.dataease.service.dataset;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import io.dataease.commons.constants.ParamConstants;
import io.dataease.commons.utils.AuthUtils; import io.dataease.commons.utils.AuthUtils;
import io.dataease.commons.utils.ServletUtils; import io.dataease.commons.utils.ServletUtils;
import io.dataease.controller.dataset.request.DataSetTaskInstanceGridRequest; import io.dataease.controller.dataset.request.DataSetTaskInstanceGridRequest;
@ -13,6 +14,7 @@ import io.dataease.plugins.common.base.domain.DatasetTableTaskLog;
import io.dataease.plugins.common.base.domain.DatasetTableTaskLogExample; import io.dataease.plugins.common.base.domain.DatasetTableTaskLogExample;
import io.dataease.plugins.common.base.mapper.DatasetTableTaskLogMapper; import io.dataease.plugins.common.base.mapper.DatasetTableTaskLogMapper;
import io.dataease.plugins.common.base.mapper.DatasetTableTaskMapper; import io.dataease.plugins.common.base.mapper.DatasetTableTaskMapper;
import io.dataease.service.system.SystemParameterService;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCell;
@ -29,6 +31,7 @@ import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.OutputStream; import java.io.OutputStream;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
@ -46,6 +49,8 @@ public class DataSetTableTaskLogService {
private ExtDataSetTaskMapper extDataSetTaskMapper; private ExtDataSetTaskMapper extDataSetTaskMapper;
@Resource @Resource
private DatasetTableTaskMapper datasetTableTaskMapper; private DatasetTableTaskMapper datasetTableTaskMapper;
@Resource
private SystemParameterService systemParameterService;
public DatasetTableTaskLog save(DatasetTableTaskLog datasetTableTaskLog, Boolean hasTask) { public DatasetTableTaskLog save(DatasetTableTaskLog datasetTableTaskLog, Boolean hasTask) {
if (hasTask && datasetTableTaskMapper.selectByPrimaryKey(datasetTableTaskLog.getTaskId()) == null) { if (hasTask && datasetTableTaskMapper.selectByPrimaryKey(datasetTableTaskLog.getTaskId()) == null) {
@ -210,5 +215,23 @@ public class DataSetTableTaskLogService {
return example; return example;
} }
private static final String LOG_RETENTION = "30";
public void cleanLog() {
String value = systemParameterService.getValue(ParamConstants.BASIC.DS_SYNC_LOG_TIME_OUT.getValue());
value = StringUtils.isBlank(value) ? LOG_RETENTION : value;
int logRetention = Integer.parseInt(value);
Calendar instance = Calendar.getInstance();
Calendar startInstance = (Calendar) instance.clone();
startInstance.add(Calendar.DATE, -logRetention);
startInstance.set(Calendar.HOUR_OF_DAY, 0);
startInstance.set(Calendar.MINUTE, 0);
startInstance.set(Calendar.SECOND, 0);
startInstance.set(Calendar.MILLISECOND, -1);
long timeInMillis = startInstance.getTimeInMillis();
DatasetTableTaskLogExample example = new DatasetTableTaskLogExample();
example.createCriteria().andCreateTimeLessThan(timeInMillis);
datasetTableTaskLogMapper.deleteByExample(example);
}
} }

View File

@ -82,6 +82,9 @@ public class SystemParameterService {
if (StringUtils.equals(param.getParamKey(), ParamConstants.BASIC.LOG_TIME_OUT.getValue())) { if (StringUtils.equals(param.getParamKey(), ParamConstants.BASIC.LOG_TIME_OUT.getValue())) {
result.setLogTimeOut(param.getParamValue()); result.setLogTimeOut(param.getParamValue());
} }
if (StringUtils.equals(param.getParamKey(), ParamConstants.BASIC.DS_SYNC_LOG_TIME_OUT.getValue())) {
result.setDsSyncLogTimeOut(param.getParamValue());
}
if (StringUtils.equals(param.getParamKey(), ParamConstants.BASIC.DEFAULT_LOGIN_TYPE.getValue())) { if (StringUtils.equals(param.getParamKey(), ParamConstants.BASIC.DEFAULT_LOGIN_TYPE.getValue())) {
String paramValue = param.getParamValue(); String paramValue = param.getParamValue();
result.setLoginType(StringUtils.isNotBlank(paramValue) ? Integer.parseInt(paramValue) : 0); result.setLoginType(StringUtils.isNotBlank(paramValue) ? Integer.parseInt(paramValue) : 0);

View File

@ -509,7 +509,7 @@ export default {
this.$store.commit('setComponentWithId', this.currentFilterCom) this.$store.commit('setComponentWithId', this.currentFilterCom)
this.$store.commit('recordSnapshot', 'sureFilter') this.$store.commit('recordSnapshot', 'sureFilter')
this.$store.commit('setCurComponent', { component: this.currentFilterCom, index: this.curComponentIndex }) this.$store.commit('setCurComponent', { component: this.currentFilterCom, index: this.curComponentIndex })
bus.$emit('reset-default-value', this.currentFilterCom.id) bus.$emit('reset-default-value', this.currentFilterCom)
this.closeFilter() this.closeFilter()
}, },
reFreshComponent(component) { reFreshComponent(component) {

View File

@ -387,6 +387,7 @@ export default {
position: absolute; position: absolute;
top: 0; top: 0;
left: 0; left: 0;
z-index: 2;
width: 100% !important; width: 100% !important;
height: 100% !important; height: 100% !important;
} }

View File

@ -76,6 +76,9 @@ export default {
.track-menu { .track-menu {
border: #3a8ee6 1px solid; border: #3a8ee6 1px solid;
position: absolute !important;
top: 0 !important;
left: 0 !important;
} }
</style> </style>

View File

@ -878,12 +878,16 @@ export default {
// //
getParentSize() { getParentSize() {
if (this.parent === true) { if (this.parent === true) {
const style = window.getComputedStyle(this.$el.parentNode, null) try {
const rect = this.$el.parentNode.getBoundingClientRect() const style = window.getComputedStyle(this.$el.parentNode, null)
this.parentX = rect.x const rect = this.$el.parentNode.getBoundingClientRect()
this.parentY = rect.y this.parentX = rect.x
// 100000 60px this.parentY = rect.y
return [Math.round(parseFloat(style.getPropertyValue('width'), 10)) + 6, 100000] // 100000 60px
return [Math.round(parseFloat(style.getPropertyValue('width'), 10)) + 6, 100000]
} catch (e) {
console.warn('custom:getParentSize')
}
} }
if (typeof this.parent === 'string') { if (typeof this.parent === 'string') {
const parentNode = document.querySelector(this.parent) const parentNode = document.querySelector(this.parent)
@ -2163,6 +2167,7 @@ export default {
position: absolute; position: absolute;
top: 0; top: 0;
left: 0; left: 0;
z-index: 2;
width: 100% !important; width: 100% !important;
height: 100% !important; height: 100% !important;
} }

View File

@ -418,8 +418,10 @@ export default {
this.$refs.dateRef.hidePicker() this.$refs.dateRef.hidePicker()
} }
}, },
resetDefaultValue(id) { resetDefaultValue(ele) {
if (this.inDraw && this.manualModify && this.element.id === id) { const id = ele.id
const eleVal = ele.options.value.toString()
if (this.inDraw && this.manualModify && this.element.id === id && this.values.toString() !== eleVal && this.defaultValueStr === eleVal) {
if (!this.element.options.attrs.default.isDynamic) { if (!this.element.options.attrs.default.isDynamic) {
this.values = this.fillValueDerfault() this.values = this.fillValueDerfault()
this.dateChange(this.values) this.dateChange(this.values)

View File

@ -99,8 +99,10 @@ export default {
clearHandler() { clearHandler() {
this.value = null this.value = null
}, },
resetDefaultValue(id) { resetDefaultValue(ele) {
if (this.inDraw && this.manualModify && this.element.id === id) { const id = ele.id
const eleVal = ele.options.value.toString()
if (this.inDraw && this.manualModify && this.element.id === id && this.value.toString() !== eleVal && this.defaultValueStr === eleVal) {
this.value = this.fillValueDerfault() this.value = this.fillValueDerfault()
this.search() this.search()
} }

View File

@ -160,8 +160,10 @@ export default {
this.form.min = null this.form.min = null
this.form.max = null this.form.max = null
}, },
resetDefaultValue(id) { resetDefaultValue(ele) {
if (this.inDraw && this.manualModify && this.element.id === id) { const id = ele.id
const eleVal = ele.options.value.toString()
if (this.inDraw && this.manualModify && this.element.id === id && this.defaultValueStr === eleVal) {
if (!this.element.options.value) { if (!this.element.options.value) {
this.form.min = null this.form.min = null
this.form.max = null this.form.max = null

View File

@ -345,8 +345,10 @@ export default {
this.$refs.deSelect.$refs.visualSelect.blur() this.$refs.deSelect.$refs.visualSelect.blur()
} }
}, },
resetDefaultValue(id) { resetDefaultValue(ele) {
if (this.inDraw && this.manualModify && this.element.id === id) { const id = ele.id
const eleVal = ele.options.value.toString()
if (this.inDraw && this.manualModify && this.element.id === id && this.value.toString() !== eleVal && this.defaultValueStr === eleVal) {
if (this.selectFirst) { if (this.selectFirst) {
this.fillFirstValue() this.fillFirstValue()
this.firstChange(this.value) this.firstChange(this.value)

View File

@ -12,6 +12,8 @@
:size="size" :size="size"
prefix-icon="el-icon-search" prefix-icon="el-icon-search"
clearable clearable
@input="filterMethod"
@clear="filterMethod"
/> />
</div> </div>
<div class="list"> <div class="list">
@ -31,7 +33,7 @@
v-model="value" v-model="value"
@change="handleCheckedChange" @change="handleCheckedChange"
> >
<template v-for="item in data.filter(node => !keyWord || (node.id && node.id.toLocaleUpperCase().includes(keyWord.toLocaleUpperCase())))"> <template v-for="item in data">
<el-checkbox <el-checkbox
:key="item.id" :key="item.id"
:label="item.id" :label="item.id"
@ -51,7 +53,7 @@
@change="changeRadioBox" @change="changeRadioBox"
> >
<el-radio <el-radio
v-for="(item, index) in data.filter(node => !keyWord || (node.id && node.id.toLocaleUpperCase().includes(keyWord.toLocaleUpperCase())))" v-for="(item, index) in data"
:key="index" :key="index"
:label="item.id" :label="item.id"
@click.native.prevent="testChange(item)" @click.native.prevent="testChange(item)"
@ -118,7 +120,9 @@ export default {
show: true, show: true,
data: [], data: [],
isIndeterminate: false, isIndeterminate: false,
checkAll: false checkAll: false,
timeMachine: null,
changeIndex: 0
} }
}, },
computed: { computed: {
@ -220,7 +224,7 @@ export default {
if (!token && linkToken) { if (!token && linkToken) {
method = linkMultFieldValues method = linkMultFieldValues
} }
const param = { fieldIds: this.element.options.attrs.fieldId.split(','), sort: this.element.options.attrs.sort } const param = { fieldIds: this.element.options.attrs.fieldId.split(','), sort: this.element.options.attrs.sort, keyword: this.keyWord }
if (this.panelInfo.proxy) { if (this.panelInfo.proxy) {
param.userId = this.panelInfo.proxy param.userId = this.panelInfo.proxy
} }
@ -238,8 +242,7 @@ export default {
cssArr: { cssArr: {
handler: 'changeInputStyle', handler: 'changeInputStyle',
deep: true deep: true
}, }
keyWord: 'changeInputStyle'
}, },
created() { created() {
if (!this.element.options.attrs.sort) { if (!this.element.options.attrs.sort) {
@ -256,6 +259,23 @@ export default {
bus.$off('reset-default-value', this.resetDefaultValue) bus.$off('reset-default-value', this.resetDefaultValue)
}, },
methods: { methods: {
searchWithKey(index) {
this.timeMachine = setTimeout(() => {
if (index === this.changeIndex) {
this.initOptions()
}
this.destroyTimeMachine()
}, 1500)
},
destroyTimeMachine() {
this.timeMachine && clearTimeout(this.timeMachine)
this.timeMachine = null
},
filterMethod() {
this.destroyTimeMachine()
this.changeIndex++
this.searchWithKey(this.changeIndex)
},
clearDefault(optionList) { clearDefault(optionList) {
const emptyOption = !optionList?.length const emptyOption = !optionList?.length
@ -282,8 +302,10 @@ export default {
this.checkAll = false this.checkAll = false
this.isIndeterminate = false this.isIndeterminate = false
}, },
resetDefaultValue(id) { resetDefaultValue(ele) {
if (this.inDraw && this.manualModify && this.element.id === id) { const id = ele.id
const eleVal = ele.options.value.toString()
if (this.inDraw && this.manualModify && this.element.id === id && this.value.toString() !== eleVal && this.defaultValueStr === eleVal) {
this.value = this.fillValueDerfault() this.value = this.fillValueDerfault()
this.changeValue(this.value) this.changeValue(this.value)
@ -332,7 +354,7 @@ export default {
} }
method({ method({
fieldIds: this.element.options.attrs.fieldId.split(','), fieldIds: this.element.options.attrs.fieldId.split(','),
sort: this.element.options.attrs.sort sort: this.element.options.attrs.sort, keyword: this.keyWord
}).then(res => { }).then(res => {
this.data = this.optionData(res.data) this.data = this.optionData(res.data)
this.changeInputStyle() this.changeInputStyle()

View File

@ -234,8 +234,10 @@ export default {
this.value = this.element.options.attrs.multiple ? [] : null this.value = this.element.options.attrs.multiple ? [] : null
this.$refs.deSelectTree && this.$refs.deSelectTree.resetSelectAll && this.$refs.deSelectTree.resetSelectAll() this.$refs.deSelectTree && this.$refs.deSelectTree.resetSelectAll && this.$refs.deSelectTree.resetSelectAll()
}, },
resetDefaultValue(id) { resetDefaultValue(ele) {
if (this.inDraw && this.manualModify && this.element.id === id) { const id = ele.id
const eleVal = ele.options.value.toString()
if (this.inDraw && this.manualModify && this.element.id === id && this.value.toString() !== eleVal && this.defaultValueStr === eleVal) {
this.value = this.fillValueDerfault() this.value = this.fillValueDerfault()
this.changeValue(this.value) this.changeValue(this.value)
} }

View File

@ -890,6 +890,7 @@ export default {
request_timeout: 'Request timeout', request_timeout: 'Request timeout',
message_retention_time: 'Message retention time', message_retention_time: 'Message retention time',
log_retention_time: 'Log retention time', log_retention_time: 'Log retention time',
ds_sync_log_retention_time: 'Data sync log retention time',
ds_check_time: 'Data source detection interval', ds_check_time: 'Data source detection interval',
test_mail_recipient: 'Used only as a test mail recipient', test_mail_recipient: 'Used only as a test mail recipient',
to_enable_tsl: 'If the SMTP port is 587, you usually need to enable TSL', to_enable_tsl: 'If the SMTP port is 587, you usually need to enable TSL',
@ -1585,7 +1586,7 @@ export default {
gauge_axis_label: 'Axis Label', gauge_axis_label: 'Axis Label',
word_size_range: 'Word Size Range', word_size_range: 'Word Size Range',
word_spacing: 'Word Spacing', word_spacing: 'Word Spacing',
axis_multi_select_tip: 'Hold down the Ctrl or Shift key and click to select more than one' axis_multi_select_tip: 'Hold down the Ctrl/Cmd or Shift key and click to select more than one'
}, },
dataset: { dataset: {
scope_edit: 'Effective only when editing', scope_edit: 'Effective only when editing',

View File

@ -889,6 +889,7 @@ export default {
request_timeout: '請求超時時間', request_timeout: '請求超時時間',
message_retention_time: '消息保留時間', message_retention_time: '消息保留時間',
log_retention_time: '日誌保留時間', log_retention_time: '日誌保留時間',
ds_sync_log_retention_time: '数据同步日誌保留時間',
ds_check_time: '數據源檢測時間間隔', ds_check_time: '數據源檢測時間間隔',
test_mail_recipient: '僅用來作為測試郵件收件人', test_mail_recipient: '僅用來作為測試郵件收件人',
to_enable_tsl: '如果SMTP埠是587通常需要啟用TSL', to_enable_tsl: '如果SMTP埠是587通常需要啟用TSL',
@ -1577,7 +1578,7 @@ export default {
gauge_axis_label: '刻度標籤', gauge_axis_label: '刻度標籤',
word_size_range: '字號區間', word_size_range: '字號區間',
word_spacing: '文字間隔', word_spacing: '文字間隔',
axis_multi_select_tip: '按住 Ctrl 鍵或者 Shift 鍵再點擊可多選' axis_multi_select_tip: '按住 Ctrl/Cmd 鍵或者 Shift 鍵再點擊可多選'
}, },
dataset: { dataset: {
scope_edit: '僅編輯時生效', scope_edit: '僅編輯時生效',

View File

@ -888,6 +888,7 @@ export default {
request_timeout: '请求超时时间', request_timeout: '请求超时时间',
message_retention_time: '消息保留时间', message_retention_time: '消息保留时间',
log_retention_time: '日志保留时间', log_retention_time: '日志保留时间',
ds_sync_log_retention_time: '数据同步日志保留时间',
ds_check_time: '数据源检测时间间隔', ds_check_time: '数据源检测时间间隔',
test_mail_recipient: '仅用来作为测试邮件收件人', test_mail_recipient: '仅用来作为测试邮件收件人',
to_enable_tsl: '如果SMTP端口是587通常需要启用TSL', to_enable_tsl: '如果SMTP端口是587通常需要启用TSL',
@ -1577,7 +1578,7 @@ export default {
gauge_axis_label: '刻度标签', gauge_axis_label: '刻度标签',
word_size_range: '字号区间', word_size_range: '字号区间',
word_spacing: '文字间隔', word_spacing: '文字间隔',
axis_multi_select_tip: '按住 Ctrl 键或者 Shift 键再点击可多选' axis_multi_select_tip: '按住 Ctrl/Cmd 键或者 Shift 键再点击可多选'
}, },
dataset: { dataset: {
scope_edit: '仅编辑时生效', scope_edit: '仅编辑时生效',

View File

@ -473,6 +473,7 @@ const data = {
// 获取外部参数的值 sourceInfo 是外部参数名称 支持数组传入 // 获取外部参数的值 sourceInfo 是外部参数名称 支持数组传入
let paramValue = params[sourceInfo] let paramValue = params[sourceInfo]
let paramValueStr = params[sourceInfo] let paramValueStr = params[sourceInfo]
let paramValueTree = params[sourceInfo]
let operator = 'in' let operator = 'in'
if (paramValue && !Array.isArray(paramValue)) { if (paramValue && !Array.isArray(paramValue)) {
paramValue = [paramValue] paramValue = [paramValue]
@ -482,8 +483,10 @@ const data = {
paramValue.forEach((innerValue, index) => { paramValue.forEach((innerValue, index) => {
if (index === 0) { if (index === 0) {
paramValueStr = innerValue paramValueStr = innerValue
paramValueTree = innerValue
} else { } else {
paramValueStr = paramValueStr + ',' + innerValue paramValueStr = paramValueStr + ',' + innerValue
paramValueTree = paramValueTree + '-de-' + innerValue
} }
}) })
} }
@ -511,9 +514,19 @@ const data = {
if (element.type === 'custom' && element.id === targetViewId) { // 过滤组件处理 if (element.type === 'custom' && element.id === targetViewId) { // 过滤组件处理
if (element.component === 'de-number-range') { if (element.component === 'de-number-range') {
element.options.value = paramValue element.options.value = paramValue
} else if (element.component === 'de-select-tree') {
element.options.value = paramValueTree
} else { } else {
element.options.value = paramValueStr element.options.value = paramValueStr
} }
// 去掉动态时间
if (element.options.manualModify) {
element.options.manualModify = false
}
// 去掉首选项
if (element.options?.attr?.selectFirst) {
element.options.attr.selectFirst = false
}
} }
}) })
if (element.type === 'view') { if (element.type === 'view') {

View File

@ -183,6 +183,7 @@
class="item-dimension father group-dimension" class="item-dimension father group-dimension"
@click.exact="singleSelect(index, dimensionData, selectedDimension, 'lastDimensionIndex')" @click.exact="singleSelect(index, dimensionData, selectedDimension, 'lastDimensionIndex')"
@click.ctrl="multiSelect(index, dimensionData, selectedDimension, 'lastDimensionIndex')" @click.ctrl="multiSelect(index, dimensionData, selectedDimension, 'lastDimensionIndex')"
@click.meta="multiSelect(index, dimensionData, selectedDimension, 'lastDimensionIndex')"
@click.shift="rangeSelect(index, dimensionData, selectedDimension, 'lastDimensionIndex')" @click.shift="rangeSelect(index, dimensionData, selectedDimension, 'lastDimensionIndex')"
> >
<svg-icon <svg-icon
@ -265,6 +266,7 @@
class="item-quota father group-quota" class="item-quota father group-quota"
@click.exact="singleSelect(index, quotaData, selectedQuota, 'lastQuotaIndex')" @click.exact="singleSelect(index, quotaData, selectedQuota, 'lastQuotaIndex')"
@click.ctrl="multiSelect(index, quotaData, selectedQuota, 'lastQuotaIndex')" @click.ctrl="multiSelect(index, quotaData, selectedQuota, 'lastQuotaIndex')"
@click.meta="multiSelect(index, quotaData, selectedQuota, 'lastQuotaIndex')"
@click.shift="rangeSelect(index, quotaData, selectedQuota, 'lastQuotaIndex')" @click.shift="rangeSelect(index, quotaData, selectedQuota, 'lastQuotaIndex')"
> >
<svg-icon <svg-icon
@ -3240,7 +3242,7 @@ export default {
// drag // drag
dragCheckType(list, type) { dragCheckType(list, type) {
if (list && list.length > 0) { if (list && list.length > 0) {
for (let i = 0; i < list.length; i++) { for (let i = list.length - 1; i >= 0; i--) {
if (list[i].groupType !== type) { if (list[i].groupType !== type) {
list.splice(i, 1) list.splice(i, 1)
} }

View File

@ -1269,7 +1269,7 @@ export default {
this.$store.commit('recordSnapshot', 'sureFilter') this.$store.commit('recordSnapshot', 'sureFilter')
this.$store.commit('setCurComponent', { component: this.currentFilterCom, index: this.curComponentIndex }) this.$store.commit('setCurComponent', { component: this.currentFilterCom, index: this.curComponentIndex })
this.$store.commit('setComponentFromList', this.currentFilterCom) this.$store.commit('setComponentFromList', this.currentFilterCom)
bus.$emit('reset-default-value', this.currentFilterCom.id) bus.$emit('reset-default-value', this.currentFilterCom)
this.closeFilter() this.closeFilter()
}, },
reFreshComponent(component) { reFreshComponent(component) {
@ -1790,6 +1790,10 @@ export default {
font-size: 14px; font-size: 14px;
} }
.dialog-css ::v-deep .el-dialog__headerbtn {
z-index: 2;
}
.dialog-css ::v-deep .el-dialog__header { .dialog-css ::v-deep .el-dialog__header {
padding: 20px 20px 0; padding: 20px 20px 0;
} }

View File

@ -84,6 +84,18 @@
>{{ $t('components.day') }}</template></el-input> >{{ $t('components.day') }}</template></el-input>
</el-form-item> </el-form-item>
<el-form-item
:label="$t('system_parameter_setting.ds_sync_log_retention_time')"
prop="logTimeOut"
>
<el-input
v-model="formInline.dsSyncLogTimeOut"
:placeholder="$t('system_parameter_setting.empty_msg')"
><template
slot="append"
>{{ $t('components.day') }}</template></el-input>
</el-form-item>
<el-form-item :label="$t('system_parameter_setting.ds_check_time')"> <el-form-item :label="$t('system_parameter_setting.ds_check_time')">
<el-form <el-form
:inline="true" :inline="true"
@ -284,6 +296,13 @@ export default {
trigger: 'blur' trigger: 'blur'
} }
], ],
dsSyncLogTimeOut: [
{
pattern: '^([1-9]|[1-9][0-9]|[1-2][0-9][0-9]|3[0-5][0-9]|36[0-5])$',
message: this.$t('system_parameter_setting.msg_error'),
trigger: 'blur'
}
],
limitTimes: [ limitTimes: [
{ validator: this.validateNumber, trigger: 'blur' } { validator: this.validateNumber, trigger: 'blur' }
@ -404,6 +423,12 @@ export default {
type: 'text', type: 'text',
sort: 2 sort: 2
}, },
{
paramKey: 'basic.dsSyncLogTimeOut',
paramValue: this.formInline.dsSyncLogTimeOut,
type: 'text',
sort: 2
},
{ {
paramKey: 'basic.loginType', paramKey: 'basic.loginType',
paramValue: this.formInline.loginType, paramValue: this.formInline.loginType,

View File

@ -289,7 +289,7 @@ export default {
}, },
dragCheckType(list, type) { dragCheckType(list, type) {
if (list && list.length > 0) { if (list && list.length > 0) {
for (let i = 0; i < list.length; i++) { for (let i = list.length - 1; i >= 0; i--) {
if (list[i].groupType !== type) { if (list[i].groupType !== type) {
list.splice(i, 1) list.splice(i, 1)
} }

View File

@ -353,7 +353,7 @@ export default {
}, },
dragCheckType(list, type) { dragCheckType(list, type) {
if (list && list.length > 0) { if (list && list.length > 0) {
for (let i = 0; i < list.length; i++) { for (let i = list.length - 1; i >= 0; i--) {
if (list[i].groupType !== type) { if (list[i].groupType !== type) {
list.splice(i, 1) list.splice(i, 1)
} }

View File

@ -363,7 +363,7 @@ export default {
}, },
dragCheckType(list, type) { dragCheckType(list, type) {
if (list && list.length > 0) { if (list && list.length > 0) {
for (let i = 0; i < list.length; i++) { for (let i = list.length - 1; i >= 0; i--) {
if (list[i].groupType !== type) { if (list[i].groupType !== type) {
list.splice(i, 1) list.splice(i, 1)
} }

View File

@ -390,7 +390,7 @@ export default {
}, },
dragCheckType(list, type) { dragCheckType(list, type) {
if (list && list.length > 0) { if (list && list.length > 0) {
for (let i = 0; i < list.length; i++) { for (let i = list.length - 1; i >= 0; i--) {
if (list[i].groupType !== type) { if (list[i].groupType !== type) {
list.splice(i, 1) list.splice(i, 1)
} }

View File

@ -362,7 +362,7 @@ export default {
}, },
dragCheckType(list, type) { dragCheckType(list, type) {
if (list && list.length > 0) { if (list && list.length > 0) {
for (let i = 0; i < list.length; i++) { for (let i = list.length - 1; i >= 0; i--) {
if (list[i].groupType !== type) { if (list[i].groupType !== type) {
list.splice(i, 1) list.splice(i, 1)
} }

View File

@ -333,7 +333,7 @@ export default {
}, },
dragCheckType(list, type) { dragCheckType(list, type) {
if (list && list.length > 0) { if (list && list.length > 0) {
for (let i = 0; i < list.length; i++) { for (let i = list.length - 1; i >= 0; i--) {
if (list[i].groupType !== type) { if (list[i].groupType !== type) {
list.splice(i, 1) list.splice(i, 1)
} }