Merge branch 'dev' into pr@dev_st_fix

This commit is contained in:
dataeaseShu 2023-07-20 10:11:03 +08:00
commit 6491e9bdc0
20 changed files with 54 additions and 27 deletions

View File

@ -6,6 +6,7 @@ testng = "testng"
ba = "ba" ba = "ba"
referer = "referer" referer = "referer"
keynode = "keynode" keynode = "keynode"
SCHEM = "SCHEM"
[files] [files]
extend-exclude = ["public/", "amap-wx/", "m-icon/", "uni-card/", "uni-col/", "uni-link/", "uni-list/", "uni-list-item/", "uni-row/", "migration/", "mapFiles/", "frontend/src/views/chart/components/table/TableNormal.vue"] extend-exclude = ["public/", "amap-wx/", "m-icon/", "uni-card/", "uni-col/", "uni-link/", "uni-list/", "uni-list-item/", "uni-row/", "migration/", "mapFiles/", "frontend/src/views/chart/components/table/TableNormal.vue"]

View File

@ -1,4 +1,4 @@
FROM registry.cn-qingdao.aliyuncs.com/dataease/fabric8-java-alpine-openjdk8-jre:edge-chromium FROM registry.cn-qingdao.aliyuncs.com/dataease/fabric8-java-alpine-openjdk8-jre:edge-chromium-11
ARG IMAGE_TAG ARG IMAGE_TAG

View File

@ -14,7 +14,7 @@
<properties> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<shiro.version>1.9.1</shiro.version> <shiro.version>1.9.1</shiro.version>
<java.version>1.8</java.version> <java.version>11</java.version>
<graalvm.version>20.1.0</graalvm.version> <graalvm.version>20.1.0</graalvm.version>
<jwt.version>3.12.1</jwt.version> <jwt.version>3.12.1</jwt.version>
<buji.version>4.0.0</buji.version> <buji.version>4.0.0</buji.version>
@ -30,7 +30,7 @@
<dependency> <dependency>
<groupId>com.google.guava</groupId> <groupId>com.google.guava</groupId>
<artifactId>guava</artifactId> <artifactId>guava</artifactId>
<version>31.0.1-jre</version> <version>32.0.0-jre</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
@ -429,8 +429,8 @@
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId> <artifactId>maven-compiler-plugin</artifactId>
<configuration> <configuration>
<source>1.8</source> <source>11</source>
<target>1.8</target> <target>11</target>
</configuration> </configuration>
</plugin> </plugin>
<!-- Overlay guacamole-common-js (zip) --> <!-- Overlay guacamole-common-js (zip) -->

View File

@ -286,7 +286,7 @@ public class ExcelXlsxReader extends DefaultHandler {
preRef = "A" + curRow; preRef = "A" + curRow;
if (!preRef.equalsIgnoreCase(ref)) { if (!preRef.equalsIgnoreCase(ref)) {
cellList.add(curCol, ""); cellList.add(curCol, "");
curCol++; // curCol++;
} }
} }

View File

@ -4,10 +4,13 @@ import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.xiaoymin.knife4j.annotations.ApiSupport; import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import io.dataease.auth.annotation.DeLog; import io.dataease.auth.annotation.DeLog;
import io.dataease.auth.annotation.DePermission;
import io.dataease.auth.annotation.SqlInjectValidator; import io.dataease.auth.annotation.SqlInjectValidator;
import io.dataease.auth.api.dto.CurrentUserDto; import io.dataease.auth.api.dto.CurrentUserDto;
import io.dataease.auth.entity.AccountLockStatus; import io.dataease.auth.entity.AccountLockStatus;
import io.dataease.auth.service.AuthUserService; import io.dataease.auth.service.AuthUserService;
import io.dataease.commons.constants.DePermissionType;
import io.dataease.commons.constants.ResourceAuthLevel;
import io.dataease.commons.constants.SysLogConstants; import io.dataease.commons.constants.SysLogConstants;
import io.dataease.commons.exception.DEException; import io.dataease.commons.exception.DEException;
import io.dataease.commons.utils.AuthUtils; import io.dataease.commons.utils.AuthUtils;
@ -102,6 +105,19 @@ public class SysUserController {
return users; return users;
} }
@DePermission(type = DePermissionType.DATASET, level = ResourceAuthLevel.DATASET_LEVEL_MANAGE)
@PostMapping("/userGrid/{datasetId}")
@ApiImplicitParams({
@ApiImplicitParam(paramType = "path", name = "goPage", value = "页码", required = true, dataType = "Integer"),
@ApiImplicitParam(paramType = "path", name = "pageSize", value = "页容量", required = true, dataType = "Integer"),
@ApiImplicitParam(name = "request", value = "查询条件", required = true)
})
@SqlInjectValidator(value = {"create_time", "u.enabled", "nick_name", "u.dept_id"})
public Pager<List<SysUserGridResponse>> userGrids(@PathVariable String datasetId, @RequestBody KeyGridRequest request) {
return userGrid(0, 0, request);
}
@ApiOperation("创建用户") @ApiOperation("创建用户")
@RequiresPermissions("user:add") @RequiresPermissions("user:add")
@PostMapping("/create") @PostMapping("/create")

View File

@ -3,6 +3,8 @@
:is="mode" :is="mode"
:ref="refId" :ref="refId"
:obj="obj" :obj="obj"
:bus="bus"
:axios-request="request"
v-bind="$attrs" v-bind="$attrs"
v-on="$listeners" v-on="$listeners"
/> />
@ -11,6 +13,9 @@
<script> <script>
import { uuid } from 'vue-uuid' import { uuid } from 'vue-uuid'
import { get } from '@/api/system/dynamic' import { get } from '@/api/system/dynamic'
import bus from '@/utils/bus'
import request from '@/utils/request'
export default { export default {
name: 'AsyncComponent', name: 'AsyncComponent',
inheritAttrs: true, inheritAttrs: true,
@ -29,7 +34,9 @@ export default {
return { return {
resData: '', resData: '',
mode: '', mode: '',
refId: null refId: null,
bus: bus,
request: request
} }
}, },
watch: { watch: {

View File

@ -82,10 +82,10 @@
/> />
</span> </span>
<span :title="$t('route.exportExcel')"> <span :title="$t('route.exportExcel')">
<svg-icon <i
v-if="exportExcelShow" v-if="exportExcelShow"
style="color: white" style="line-height: 24px"
icon-class="file-excel" class="el-icon-document-delete"
@click.stop="exportExcelDownload()" @click.stop="exportExcelDownload()"
/> />
</span> </span>
@ -469,7 +469,7 @@ export default {
this.$emit('showViewDetails', { openType: openType }) this.$emit('showViewDetails', { openType: openType })
}, },
exportExcelDownload() { exportExcelDownload() {
exportExcelDownload(this.chart, null, null, null, null, null) exportExcelDownload(this.chart)
}, },
auxiliaryMatrixChange() { auxiliaryMatrixChange() {
if (this.curComponent.auxiliaryMatrix) { if (this.curComponent.auxiliaryMatrix) {

View File

@ -449,7 +449,7 @@ export default {
valueFormatter() { valueFormatter() {
this.item.index = this.index this.item.index = this.index
this.item.formatterType = 'quota' this.item.formatterType = 'quotaExt'
this.$emit('valueFormatter', this.item) this.$emit('valueFormatter', this.item)
} }
} }

View File

@ -473,7 +473,8 @@
<plugin-com <plugin-com
v-if="view.isPlugin" v-if="view.isPlugin"
:component-name="view.type + '-data'" :component-name="view.type + '-data'"
:obj="{view, param, chart, dimensionData, quotaData}" :obj="{view, param, chart, dimension, dimensionData, quota, quotaData}"
:bus="bus"
/> />
<div v-else> <div v-else>
@ -819,6 +820,7 @@
@editItemFilter="showQuotaEditFilter" @editItemFilter="showQuotaEditFilter"
@onNameEdit="showRename" @onNameEdit="showRename"
@editItemCompare="showQuotaEditCompare" @editItemCompare="showQuotaEditCompare"
@valueFormatter="valueFormatter"
/> />
</transition-group> </transition-group>
</draggable> </draggable>
@ -1795,7 +1797,7 @@ export default {
DrillPath, DrillPath,
PluginCom, PluginCom,
MapMapping, MapMapping,
MarkMapDataEditor, MarkMapDataEditor
}, },
props: { props: {
param: { param: {
@ -1815,6 +1817,7 @@ export default {
}, },
data() { data() {
return { return {
bus: bus,
positionActiveNames: 'positionAdjust', positionActiveNames: 'positionAdjust',
loading: false, loading: false,
table: {}, table: {},
@ -2954,7 +2957,7 @@ export default {
// //
changeChart() { changeChart() {
const optType = this.view.tableId === this.changeTable.id && this.view.dataFrom!=='template' ? 'same' : 'change' const optType = this.view.tableId === this.changeTable.id && this.view.dataFrom !== 'template' ? 'same' : 'change'
// //
if (optType === 'change') { if (optType === 'change') {
this.view.dataFrom = 'dataset' this.view.dataFrom = 'dataset'

View File

@ -10,7 +10,7 @@
<div <div
class="remark-style" class="remark-style"
:style="{backgroundColor:remarkCfg.bgFill}" :style="{backgroundColor:remarkCfg.bgFill}"
v-html="remarkCfg.content" v-html="$xss(remarkCfg.content)"
/> />
<i <i
slot="reference" slot="reference"

View File

@ -21,8 +21,8 @@
<el-col class="info-item"> <el-col class="info-item">
<p class="info-title">{{ $t('chart.chart_type') }}</p> <p class="info-title">{{ $t('chart.chart_type') }}</p>
<svg-icon <svg-icon
v-if="detail.chart.type" :icon-class="detail.chart.isPlugin && detail.chart.type && detail.chart.type !== 'buddle-map' ? ('/api/pluginCommon/staticInfo/' + detail.chart.type + '/svg') : detail.chart.type"
:icon-class="detail.chart.type" class="chart-icon"
/> />
</el-col> </el-col>
<el-col class="info-item"> <el-col class="info-item">

View File

@ -34,7 +34,7 @@
<span> <span>
<span <span
style="margin-left: 6px" style="margin-left: 6px"
v-html="data.name" v-html="$xss(data.name)"
/> />
</span> </span>
<span <span

View File

@ -34,7 +34,7 @@
text-overflow: ellipsis; text-overflow: ellipsis;
" "
:title="data.name" :title="data.name"
v-html="highlights(data.name)" v-html="$xss(highlights(data.name))"
/> />
</span> </span>
</span> </span>

View File

@ -202,7 +202,7 @@
<div <div
v-if="showFoot" v-if="showFoot"
class="dynamic-login-foot" class="dynamic-login-foot"
v-html="footContent" v-html="$xss(footContent)"
/> />
</div> </div>
</template> </template>

View File

@ -15,7 +15,7 @@
<div <div
class="export_body_inner_class" class="export_body_inner_class"
:style="templateHtmlStyle" :style="templateHtmlStyle"
v-html="templateContentChange" v-html="$xss(templateContentChange)"
/> />
</div> </div>
</el-row> </el-row>

View File

@ -202,7 +202,7 @@
<!-- // {{}} HTML --> <!-- // {{}} HTML -->
<div <div
slot="content" slot="content"
v-html="filterRoles(scope.row.roles)" v-html="$xss(filterRoles(scope.row.roles))"
/> />
<div class="de-one-line">{{ filterRoles(scope.row.roles) }}</div> <div class="de-one-line">{{ filterRoles(scope.row.roles) }}</div>
</el-tooltip> </el-tooltip>

View File

@ -9,7 +9,7 @@
{{ details.head }} {{ details.head }}
</el-row> </el-row>
<el-row class="card_content"> <el-row class="card_content">
<span v-html="details.content" /> <span v-html="$xss(details.content)" />
</el-row> </el-row>
<el-row class="card_bottom"> <el-row class="card_bottom">
{{ $t('wizard.click_show') }} {{ $t('wizard.click_show') }}

View File

@ -9,7 +9,7 @@
{{ details.head }} {{ details.head }}
</el-row> </el-row>
<el-row class="card_content"> <el-row class="card_content">
<span v-html="details.content" /> <span v-html="$xss(details.content)" />
</el-row> </el-row>
<el-row class="card_bottom"> <el-row class="card_bottom">
{{ $t('wizard.apply') }} {{ $t('wizard.apply') }}

View File

@ -18,7 +18,7 @@
<span>{{ details.head }}</span> <span>{{ details.head }}</span>
</el-row> </el-row>
<el-row class="content"> <el-row class="content">
<span v-html="details.content" /> <span v-html="$xss(details.content)" />
</el-row> </el-row>
<el-row class="bottom"> <el-row class="bottom">
<span class="span-box">{{ details.bottom }}</span> <span class="span-box">{{ details.bottom }}</span>

View File

@ -18,7 +18,7 @@
<span>{{ details.head }}</span> <span>{{ details.head }}</span>
</el-row> </el-row>
<el-row class="content"> <el-row class="content">
<span v-html="details.content" /> <span v-html="$xss(details.content)" />
</el-row> </el-row>
<el-row class="bottom"> <el-row class="bottom">
<span class="span-box">{{ details.bottom }}</span> <span class="span-box">{{ details.bottom }}</span>