提交 70898bdd authored 作者: taojinlong's avatar taojinlong

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

...@@ -59,8 +59,13 @@ public class AuthUserServiceImpl implements AuthUserService { ...@@ -59,8 +59,13 @@ public class AuthUserServiceImpl implements AuthUserService {
@Cacheable(value = AuthConstants.USER_PERMISSION_CACHE_NAME, key = "'user' + #userId" ) @Cacheable(value = AuthConstants.USER_PERMISSION_CACHE_NAME, key = "'user' + #userId" )
@Override @Override
public List<String> permissions(Long userId){ public List<String> permissions(Long userId){
try {
// 用户登录获取菜单权限时同时更新插件菜单表 // 用户登录获取菜单权限时同时更新插件菜单表
dynamicMenuService.syncPluginMenu(); dynamicMenuService.syncPluginMenu();
}catch (Exception e){
LogUtil.error(e);
//ignore
}
List<String> permissions; List<String> permissions;
SysUser sysUser = sysUserMapper.selectByPrimaryKey(userId); SysUser sysUser = sysUserMapper.selectByPrimaryKey(userId);
if(sysUser.getIsAdmin()!=null&&sysUser.getIsAdmin()){ if(sysUser.getIsAdmin()!=null&&sysUser.getIsAdmin()){
......
...@@ -19,6 +19,7 @@ import org.apache.commons.lang3.StringUtils; ...@@ -19,6 +19,7 @@ import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert; import org.springframework.util.Assert;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -69,6 +70,7 @@ public class PanelGroupService { ...@@ -69,6 +70,7 @@ public class PanelGroupService {
return result; return result;
} }
@Transactional
public PanelGroup saveOrUpdate(PanelGroupRequest request) { public PanelGroup saveOrUpdate(PanelGroupRequest request) {
String panelId = request.getId(); String panelId = request.getId();
if (StringUtils.isEmpty(panelId)) { if (StringUtils.isEmpty(panelId)) {
...@@ -90,6 +92,7 @@ public class PanelGroupService { ...@@ -90,6 +92,7 @@ public class PanelGroupService {
newDefaultPanel.setPid(PanelConstants.PANEL_GATHER_DEFAULT_PANEL); newDefaultPanel.setPid(PanelConstants.PANEL_GATHER_DEFAULT_PANEL);
newDefaultPanel.setLevel(0); newDefaultPanel.setLevel(0);
newDefaultPanel.setSource(request.getId()); newDefaultPanel.setSource(request.getId());
newDefaultPanel.setCreateBy(AuthUtils.getUser().getUsername());
checkPanelName(newDefaultPanel.getName(), newDefaultPanel.getPid(), PanelConstants.OPT_TYPE_INSERT, newDefaultPanel.getId()); checkPanelName(newDefaultPanel.getName(), newDefaultPanel.getPid(), PanelConstants.OPT_TYPE_INSERT, newDefaultPanel.getId());
panelGroupMapper.insertSelective(newDefaultPanel); panelGroupMapper.insertSelective(newDefaultPanel);
} else { } else {
...@@ -105,6 +108,9 @@ public class PanelGroupService { ...@@ -105,6 +108,9 @@ public class PanelGroupService {
authRequest.setId(panelId); authRequest.setId(panelId);
authRequest.setUserId(String.valueOf(AuthUtils.getUser().getUserId())); authRequest.setUserId(String.valueOf(AuthUtils.getUser().getUserId()));
List<PanelGroupDTO> panelGroupDTOList = extPanelGroupMapper.panelGroupList(authRequest); List<PanelGroupDTO> panelGroupDTOList = extPanelGroupMapper.panelGroupList(authRequest);
if(CollectionUtils.isNotEmpty(panelGroupDTOList)){
DataEaseException.throwException("未查询到用户对应的资源权限,请尝试刷新重新保存");
}
return panelGroupDTOList.get(0); return panelGroupDTOList.get(0);
} }
......
...@@ -195,6 +195,9 @@ module.exports = { ...@@ -195,6 +195,9 @@ module.exports = {
'object-curly-spacing': [2, 'always', { 'object-curly-spacing': [2, 'always', {
objectsInObjects: false objectsInObjects: false
}], }],
'array-bracket-spacing': [2, 'never'] 'array-bracket-spacing': [2, 'never'],
"vue/no-use-v-if-with-v-for": ["error", {
"allowUsingIterationVar": true
}]
} }
} }
...@@ -20,14 +20,14 @@ ...@@ -20,14 +20,14 @@
@mouseleave="leave" @mouseleave="leave"
> >
<div <div
v-for="(handle, index) in actualHandles" v-for="(handlei, indexi) in actualHandles"
:key="index" :key="indexi"
:class="[classNameHandle, classNameHandle + '-' + handle]" :class="[classNameHandle, classNameHandle + '-' + handlei]"
:style="handleStyle(handle, index)" :style="handleStyle(handlei, indexi)"
@mousedown.stop.prevent="handleDown(handle, $event)" @mousedown.stop.prevent="handleDown(handlei, $event)"
@touchstart.stop.prevent="handleTouchDown(handle, $event)" @touchstart.stop.prevent="handleTouchDown(handlei, $event)"
> >
<slot :name="handle" /> <slot :name="handlei" />
</div> </div>
<slot /> <slot />
</div> </div>
...@@ -282,14 +282,17 @@ export default { ...@@ -282,14 +282,17 @@ export default {
type: String, type: String,
default: 'mouseOn' default: 'mouseOn'
}, },
// eslint-disable-next-line vue/require-default-prop
element: { element: {
require: true, require: true,
type: Object type: Object
}, },
// eslint-disable-next-line vue/require-default-prop
defaultStyle: { defaultStyle: {
require: true, require: true,
type: Object type: Object
}, },
// eslint-disable-next-line vue/require-default-prop
index: { index: {
require: true, require: true,
type: [Number, String] type: [Number, String]
...@@ -299,6 +302,7 @@ export default { ...@@ -299,6 +302,7 @@ export default {
type: Boolean, type: Boolean,
default: true default: true
}, },
// eslint-disable-next-line vue/require-default-prop
changeStyle: { changeStyle: {
require: true, require: true,
type: Object type: Object
...@@ -911,6 +915,7 @@ export default { ...@@ -911,6 +915,7 @@ export default {
}, },
// 外部传参改动x // 外部传参改动x
moveHorizontally(val) { moveHorizontally(val) {
// eslint-disable-next-line no-unused-vars
const [deltaX, _] = snapToGrid(this.grid, val, this.top, this.scale) const [deltaX, _] = snapToGrid(this.grid, val, this.top, this.scale)
const left = restrictToBounds(deltaX, this.bounds.minLeft, this.bounds.maxLeft) const left = restrictToBounds(deltaX, this.bounds.minLeft, this.bounds.maxLeft)
this.left = left this.left = left
...@@ -918,6 +923,7 @@ export default { ...@@ -918,6 +923,7 @@ export default {
}, },
// 外部传参改动y // 外部传参改动y
moveVertically(val) { moveVertically(val) {
// eslint-disable-next-line no-unused-vars
const [_, deltaY] = snapToGrid(this.grid, this.left, val, this.scale) const [_, deltaY] = snapToGrid(this.grid, this.left, val, this.scale)
const top = restrictToBounds(deltaY, this.bounds.minTop, this.bounds.maxTop) const top = restrictToBounds(deltaY, this.bounds.minTop, this.bounds.maxTop)
this.top = top this.top = top
...@@ -926,6 +932,7 @@ export default { ...@@ -926,6 +932,7 @@ export default {
// 控制柄移动 // 控制柄移动
handleResize(e) { handleResize(e) {
const handle = this.handle const handle = this.handle
// eslint-disable-next-line no-unused-vars
const scaleRatio = this.scaleRatio const scaleRatio = this.scaleRatio
const { TL, TR, BL, BR } = this const { TL, TR, BL, BR } = this
let { x: mouseX, y: mouseY } = this.getMouseCoordinate(e) let { x: mouseX, y: mouseY } = this.getMouseCoordinate(e)
...@@ -1085,6 +1092,7 @@ export default { ...@@ -1085,6 +1092,7 @@ export default {
changeWidth(val) { changeWidth(val) {
// console.log('parentWidth', this.parentWidth) // console.log('parentWidth', this.parentWidth)
// console.log('parentHeight', this.parentHeight) // console.log('parentHeight', this.parentHeight)
// eslint-disable-next-line no-unused-vars
const [newWidth, _] = snapToGrid(this.grid, val, 0, this.scale) const [newWidth, _] = snapToGrid(this.grid, val, 0, this.scale)
// const right = restrictToBounds(this.parentWidth - newWidth - this.left, this.bounds.minRight, this.bounds.maxRight) // const right = restrictToBounds(this.parentWidth - newWidth - this.left, this.bounds.minRight, this.bounds.maxRight)
// private 将 this.bounds.minRight 设置为0 // private 将 this.bounds.minRight 设置为0
...@@ -1102,6 +1110,7 @@ export default { ...@@ -1102,6 +1110,7 @@ export default {
this.height = height this.height = height
}, },
changeHeight(val) { changeHeight(val) {
// eslint-disable-next-line no-unused-vars
const [_, newHeight] = snapToGrid(this.grid, 0, val, this.scale) const [_, newHeight] = snapToGrid(this.grid, 0, val, this.scale)
// const bottom = restrictToBounds(this.parentHeight - newHeight - this.top, this.bounds.minBottom, this.bounds.maxBottom) // const bottom = restrictToBounds(this.parentHeight - newHeight - this.top, this.bounds.minBottom, this.bounds.maxBottom)
// private 将 this.bounds.minBottom 设置为0 // private 将 this.bounds.minBottom 设置为0
...@@ -1418,6 +1427,7 @@ export default { ...@@ -1418,6 +1427,7 @@ export default {
}, },
// 修复 正则获取left与top // 修复 正则获取left与top
formatTransformVal(string) { formatTransformVal(string) {
// eslint-disable-next-line prefer-const
let [left, top, rotate = 0] = string.match(/[\d|\.]+/g) let [left, top, rotate = 0] = string.match(/[\d|\.]+/g)
if (top === undefined) top = 0 if (top === undefined) top = 0
return [Number(left), Number(top), rotate] return [Number(left), Number(top), rotate]
......
...@@ -14,7 +14,9 @@ export default { ...@@ -14,7 +14,9 @@ export default {
components: { DeComplexOperator }, components: { DeComplexOperator },
// mixins: [mixins], // mixins: [mixins],
props: { props: {
// eslint-disable-next-line vue/require-default-prop
field: String, field: String,
// eslint-disable-next-line vue/require-default-prop
label: String, label: String,
defaultOperator: { defaultOperator: {
type: String, type: String,
......
...@@ -30,8 +30,11 @@ export default { ...@@ -30,8 +30,11 @@ export default {
event: 'change' event: 'change'
}, },
props: { props: {
// eslint-disable-next-line vue/require-default-prop
label: String, label: String,
// eslint-disable-next-line vue/require-default-prop
operator: String, operator: String,
// eslint-disable-next-line vue/require-default-prop
operators: Array operators: Array
}, },
data() { data() {
......
...@@ -14,13 +14,16 @@ ...@@ -14,13 +14,16 @@
export default { export default {
props: { props: {
start: { start: {
type: Object type: Object,
default: null
}, },
width: { width: {
type: Number type: Number,
default: null
}, },
height: { height: {
type: Number type: Number,
default: null
} }
} }
} }
......
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
export default { export default {
props: { props: {
// eslint-disable-next-line vue/require-default-prop
matrixStyle: { matrixStyle: {
type: Object type: Object
} }
......
...@@ -25,6 +25,7 @@ export default { ...@@ -25,6 +25,7 @@ export default {
type: Array, type: Array,
default: () => [] default: () => []
}, },
// eslint-disable-next-line vue/require-default-prop
element: { element: {
type: Object type: Object
} }
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
<script> <script>
export default { export default {
props: { props: {
// eslint-disable-next-line vue/require-default-prop
propValue: { propValue: {
type: String, type: String,
require: true require: true
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
<script> <script>
export default { export default {
props: { props: {
// eslint-disable-next-line vue/require-default-prop
element: { element: {
type: Object type: Object
} }
......
...@@ -25,10 +25,12 @@ import { keycodes } from '@/components/canvas/utils/shortcutKey.js' ...@@ -25,10 +25,12 @@ import { keycodes } from '@/components/canvas/utils/shortcutKey.js'
export default { export default {
props: { props: {
// eslint-disable-next-line vue/require-default-prop
propValue: { propValue: {
type: String, type: String,
require: true require: true
}, },
// eslint-disable-next-line vue/require-default-prop
element: { element: {
type: Object type: Object
}, },
...@@ -68,17 +70,17 @@ export default { ...@@ -68,17 +70,17 @@ export default {
}, },
handleKeydown(e) { handleKeydown(e) {
if (e.keyCode == this.ctrlKey) { if (e.keyCode === this.ctrlKey) {
this.isCtrlDown = true this.isCtrlDown = true
} else if (this.isCtrlDown && this.canEdit && keycodes.includes(e.keyCode)) { } else if (this.isCtrlDown && this.canEdit && keycodes.includes(e.keyCode)) {
e.stopPropagation() e.stopPropagation()
} else if (e.keyCode == 46) { // deleteKey } else if (e.keyCode === 46) { // deleteKey
e.stopPropagation() e.stopPropagation()
} }
}, },
handleKeyup(e) { handleKeyup(e) {
if (e.keyCode == this.ctrlKey) { if (e.keyCode === this.ctrlKey) {
this.isCtrlDown = false this.isCtrlDown = false
} }
}, },
......
...@@ -38,6 +38,7 @@ import generateID from '@/utils/generateID' ...@@ -38,6 +38,7 @@ import generateID from '@/utils/generateID'
import { listenGlobalKeyDown } from '@/utils/shortcutKey' import { listenGlobalKeyDown } from '@/utils/shortcutKey'
export default { export default {
// eslint-disable-next-line vue/no-unused-components
components: { Editor, ComponentList, AttrList, AnimationList, EventList, Toolbar }, components: { Editor, ComponentList, AttrList, AnimationList, EventList, Toolbar },
data() { data() {
return { return {
...@@ -71,6 +72,7 @@ export default { ...@@ -71,6 +72,7 @@ export default {
resetID(data) { resetID(data) {
if (data) { if (data) {
data.forEach(item => { data.forEach(item => {
// eslint-disable-next-line no-undef
item.type !== 'custom' && (item.id = uuid.v1()) item.type !== 'custom' && (item.id = uuid.v1())
}) })
} }
...@@ -85,7 +87,7 @@ export default { ...@@ -85,7 +87,7 @@ export default {
let component let component
const id = e.dataTransfer.getData('componentId') const id = e.dataTransfer.getData('componentId')
componentList.forEach(componentTemp => { componentList.forEach(componentTemp => {
if (id == componentTemp.id) { if (id === componentTemp.id) {
component = deepCopy(componentTemp) component = deepCopy(componentTemp)
} }
}) })
...@@ -112,7 +114,7 @@ export default { ...@@ -112,7 +114,7 @@ export default {
} }
// 0 左击 1 滚轮 2 右击 // 0 左击 1 滚轮 2 右击
if (e.button != 2) { if (e.button !== 2) {
this.$store.commit('hideContextMenu') this.$store.commit('hideContextMenu')
} }
} }
......
...@@ -77,7 +77,7 @@ export default { ...@@ -77,7 +77,7 @@ export default {
batchDeleteComponent({ componentData }, deleteData) { batchDeleteComponent({ componentData }, deleteData) {
deleteData.forEach(component => { deleteData.forEach(component => {
for (let i = 0, len = componentData.length; i < len; i++) { for (let i = 0, len = componentData.length; i < len; i++) {
if (component.id == componentData[i].id) { if (component.id === componentData[i].id) {
componentData.splice(i, 1) componentData.splice(i, 1)
break break
} }
......
...@@ -56,9 +56,9 @@ let isCtrlDown = false ...@@ -56,9 +56,9 @@ let isCtrlDown = false
export function listenGlobalKeyDown() { export function listenGlobalKeyDown() {
window.onkeydown = (e) => { window.onkeydown = (e) => {
const { curComponent } = store.state const { curComponent } = store.state
if (e.keyCode == ctrlKey) { if (e.keyCode === ctrlKey) {
isCtrlDown = true isCtrlDown = true
} else if (e.keyCode == deleteKey && curComponent) { } else if (e.keyCode === deleteKey && curComponent) {
store.commit('deleteComponent') store.commit('deleteComponent')
store.commit('recordSnapshot') store.commit('recordSnapshot')
} else if (isCtrlDown) { } else if (isCtrlDown) {
...@@ -73,7 +73,7 @@ export function listenGlobalKeyDown() { ...@@ -73,7 +73,7 @@ export function listenGlobalKeyDown() {
} }
window.onkeyup = (e) => { window.onkeyup = (e) => {
if (e.keyCode == ctrlKey) { if (e.keyCode === ctrlKey) {
isCtrlDown = false isCtrlDown = false
} }
} }
...@@ -109,7 +109,7 @@ function compose() { ...@@ -109,7 +109,7 @@ function compose() {
function decompose() { function decompose() {
const curComponent = store.state.curComponent const curComponent = store.state.curComponent
if (curComponent && !curComponent.isLock && curComponent.component == 'Group') { if (curComponent && !curComponent.isLock && curComponent.component === 'Group') {
store.commit('decompose') store.commit('decompose')
store.commit('recordSnapshot') store.commit('recordSnapshot')
} }
......
...@@ -33,7 +33,7 @@ export function getStyle(style, filter = []) { ...@@ -33,7 +33,7 @@ export function getStyle(style, filter = []) {
// 获取一个组件旋转 rotate 后的样式 // 获取一个组件旋转 rotate 后的样式
export function getComponentRotatedStyle(style) { export function getComponentRotatedStyle(style) {
style = { ...style } style = { ...style }
if (style.rotate != 0) { if (style.rotate !== 0) {
const newWidth = style.width * cos(style.rotate) + style.height * sin(style.rotate) const newWidth = style.width * cos(style.rotate) + style.height * sin(style.rotate)
const diffX = (style.width - newWidth) / 2 // 旋转后范围变小是正值,变大是负值 const diffX = (style.width - newWidth) / 2 // 旋转后范围变小是正值,变大是负值
style.left += diffX style.left += diffX
......
...@@ -46,7 +46,7 @@ export default { ...@@ -46,7 +46,7 @@ export default {
setCondition() { setCondition() {
const param = { const param = {
component: this.element, component: this.element,
value: [this.options.value], value: !this.options.value ? [] : Array.isArray(this.options.value) ? this.options.value : [this.options.value],
operator: this.operator operator: this.operator
} }
this.inDraw && this.$store.commit('addViewFilter', param) this.inDraw && this.$store.commit('addViewFilter', param)
......
function checkDataPermission(el, binding, vnode) { function checkDataPermission(el, binding, vnode) {
// eslint-disable-next-line no-unused-vars
const dataPermission = vnode.privileges const dataPermission = vnode.privileges
// eslint-disable-next-line no-unused-vars
const { value } = binding const { value } = binding
// // 数据授权采用并集的方式 部门 角色 用户 有一个有权限即可 // // 数据授权采用并集的方式 部门 角色 用户 有一个有权限即可
// if (value && value instanceof Array) { // if (value && value instanceof Array) {
......
...@@ -8,8 +8,7 @@ export default new Router({ ...@@ -8,8 +8,7 @@ export default new Router({
{ {
path: '/', path: '/',
name: 'home', name: 'home',
component: () => component: () => import('../views/link/index.vue'),
import('../views/link/index.vue'),
meta: { meta: {
title: '首页' title: '首页'
} }
......
...@@ -6,11 +6,10 @@ ...@@ -6,11 +6,10 @@
@if $align != stretch { @if $align != stretch {
align-items: $align; align-items: $align;
} }
} }
@mixin variant($color, $background-color, $border-color) { @mixin variant($color, $background-color, $border-color) {
color: $color; color: $color;
background-color: $background-color; background-color: $background-color;
border-color: $border-color; border-color: $border-color;
} }
\ No newline at end of file
...@@ -81,7 +81,6 @@ div:focus { ...@@ -81,7 +81,6 @@ div:focus {
} }
.el-dialog__body{ .el-dialog__body{
padding: 1px 20px !important; padding: 1px 20px !important;
} }
} }
...@@ -99,7 +98,6 @@ div:focus { ...@@ -99,7 +98,6 @@ div:focus {
} }
.el-dialog__body{ .el-dialog__body{
padding: 1px 15px !important; padding: 1px 15px !important;
} }
} }
...@@ -117,7 +115,6 @@ div:focus { ...@@ -117,7 +115,6 @@ div:focus {
} }
.el-dialog__body{ .el-dialog__body{
padding: 1px 15px !important; padding: 1px 15px !important;
} }
} }
...@@ -129,7 +126,6 @@ div:focus { ...@@ -129,7 +126,6 @@ div:focus {
.el-dialog__header{ .el-dialog__header{
display:none!important; display:none!important;
} }
.el-dialog__body{ .el-dialog__body{
padding: 0px!important; padding: 0px!important;
...@@ -151,7 +147,6 @@ div:focus { ...@@ -151,7 +147,6 @@ div:focus {
line-height: 30px !important; line-height: 30px !important;
height: 30px !important; height: 30px !important;
border-right: none; border-right: none;
} }
} }
.el-input__inner:focus{ .el-input__inner:focus{
...@@ -160,7 +155,6 @@ div:focus { ...@@ -160,7 +155,6 @@ div:focus {
.el-input-group__append { .el-input-group__append {
background-color: #ffffff; background-color: #ffffff;
} }
} }
.filter-card-class { .filter-card-class {
...@@ -176,7 +170,6 @@ div:focus { ...@@ -176,7 +170,6 @@ div:focus {
} }
.real-input { .real-input {
.el-input__inner { .el-input__inner {
height: 25px !important; height: 25px !important;
border: none !important; border: none !important;
...@@ -194,9 +187,7 @@ div:focus { ...@@ -194,9 +187,7 @@ div:focus {
border: none !important; border: none !important;
} }
} }
} }
} }
} }
.de-filter-data-table::before { .de-filter-data-table::before {
......
...@@ -41,5 +41,5 @@ ...@@ -41,5 +41,5 @@
color: $color; color: $color;
background-color: $background-color; background-color: $background-color;
border-color: $border-color; border-color: $border-color;
} }
...@@ -85,11 +85,9 @@ ...@@ -85,11 +85,9 @@
.avatar-container { .avatar-container {
margin-right: 30px; margin-right: 30px;
.avatar-wrapper { .avatar-wrapper {
margin-top: 5px; margin-top: 5px;
position: relative; position: relative;
.user-avatar { .user-avatar {
cursor: pointer; cursor: pointer;
width: 40px; width: 40px;
...@@ -115,4 +113,4 @@ ...@@ -115,4 +113,4 @@
} }
} }
} }
} }
...@@ -213,6 +213,7 @@ export function formatCondition(param) { ...@@ -213,6 +213,7 @@ export function formatCondition(param) {
return null return null
} }
const result = { conditions: [] } const result = { conditions: [] }
// eslint-disable-next-line no-unused-vars
for (const [key, value] of Object.entries(param)) { for (const [key, value] of Object.entries(param)) {
result.conditions.push(value) result.conditions.push(value)
} }
......
...@@ -58,7 +58,7 @@ export function stackLineOption(chart_option, chart) { ...@@ -58,7 +58,7 @@ export function stackLineOption(chart_option, chart) {
baseLineOption(chart_option, chart) baseLineOption(chart_option, chart)
// ext // ext
chart_option.tooltip.trigger = 'axis' // chart_option.tooltip.trigger = 'axis'
chart_option.series.forEach(function(s) { chart_option.series.forEach(function(s) {
s.stack = 'stack' s.stack = 'stack'
}) })
......
...@@ -9,6 +9,7 @@ export function hexColorToRGBA(hex, alpha) { ...@@ -9,6 +9,7 @@ export function hexColorToRGBA(hex, alpha) {
} }
if (/^#[0-9A-F]{6}$/i.test(hex)) { // 判断传入是否为#六位十六进制数 if (/^#[0-9A-F]{6}$/i.test(hex)) { // 判断传入是否为#六位十六进制数
hex.replace(/[0-9A-F]{2}/ig, function(kw) { hex.replace(/[0-9A-F]{2}/ig, function(kw) {
// eslint-disable-next-line no-eval
rgb.push(eval('0x' + kw)) // 十六进制转化为十进制并存如数组 rgb.push(eval('0x' + kw)) // 十六进制转化为十进制并存如数组
}) })
return `rgba(${rgb.join(',')},${alpha / 100})` // 输出RGB格式颜色 return `rgba(${rgb.join(',')},${alpha / 100})` // 输出RGB格式颜色
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
</template> </template>
<script> <script>
// eslint-disable-next-line no-unused-vars
import { DEFAULT_PANEL_STYLE } from '@/views/panel/panel' import { DEFAULT_PANEL_STYLE } from '@/views/panel/panel'
import { mapState } from 'vuex' import { mapState } from 'vuex'
import { deepCopy } from '@/components/canvas/utils/utils' import { deepCopy } from '@/components/canvas/utils/utils'
......
// eslint-disable-next-line no-unused-vars
import { BASE_CHART, BASE_CHART_STRING } from '@/views/chart/chart/chart' import { BASE_CHART, BASE_CHART_STRING } from '@/views/chart/chart/chart'
import { deepCopy } from '@/components/canvas/utils/utils' import { deepCopy } from '@/components/canvas/utils/utils'
...@@ -48,6 +50,7 @@ export function chartTransStr2Object(targetIn, copy) { ...@@ -48,6 +50,7 @@ export function chartTransStr2Object(targetIn, copy) {
} }
export function chartTransObject2Str(targetIn, deepCopy) { export function chartTransObject2Str(targetIn, deepCopy) {
// eslint-disable-next-line no-undef
const target = copy === 'Y' ? deepCopy(targetIn) : targetIn const target = copy === 'Y' ? deepCopy(targetIn) : targetIn
if (target.chart) { if (target.chart) {
if (target.chart.xaxis && typeof target.chart.xaxis !== 'string') { if (target.chart.xaxis && typeof target.chart.xaxis !== 'string') {
......
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
</template> </template>
<script> <script>
// eslint-disable-next-line no-unused-vars
import { get, post } from '@/api/panel/panel' import { get, post } from '@/api/panel/panel'
export default { export default {
name: 'TemplateItem', name: 'TemplateItem',
......
...@@ -52,6 +52,7 @@ import LazyTree from './components/LazyTree' ...@@ -52,6 +52,7 @@ import LazyTree from './components/LazyTree'
export default { export default {
name: 'Authority', name: 'Authority',
// eslint-disable-next-line vue/no-unused-components
components: { LazyTree, DeMainContainer, DeAsideContainer, DeContainer }, components: { LazyTree, DeMainContainer, DeAsideContainer, DeContainer },
props: { props: {
resourceId: { resourceId: {
......
...@@ -20,6 +20,7 @@ import AuthQuickConfig from './authQuickConfig' ...@@ -20,6 +20,7 @@ import AuthQuickConfig from './authQuickConfig'
export default { export default {
name: 'Authority', name: 'Authority',
// eslint-disable-next-line vue/no-unused-components
components: { DeContainer, DeMainContainer, AuthConfig, AuthQuickConfig }, components: { DeContainer, DeMainContainer, AuthConfig, AuthQuickConfig },
data() { data() {
return { return {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论