菜单上移下移样式修改
This commit is contained in:
parent
63dde77ddf
commit
db9197061a
@ -5,3 +5,8 @@ export const addMenu = data => request.post({ url: '/menuInterface/addMenu', dat
|
|||||||
export const updateMenuById = data => request.post({ url: '/menuInterface/updateMenuById', data }) //修改菜单
|
export const updateMenuById = data => request.post({ url: '/menuInterface/updateMenuById', data }) //修改菜单
|
||||||
export const deleteMenuById = id => request.post({ url: '/menuInterface/deleteMenuById?id=' + id }) //删除菜单
|
export const deleteMenuById = id => request.post({ url: '/menuInterface/deleteMenuById?id=' + id }) //删除菜单
|
||||||
export const setModuleId = params => request.post({ url: '/menuInterface/setModuleId',params }) //关联模块
|
export const setModuleId = params => request.post({ url: '/menuInterface/setModuleId',params }) //关联模块
|
||||||
|
export const changeOrder = params => request.post({ url: '/menuInterface/changeOrder',params }) //上移下移模块
|
||||||
|
export const moveMenu = params => request.post({ url: '/menuInterface/moveMenu',params }) //移动菜单
|
||||||
|
|
||||||
|
//192.168.1.20:8100/de2api/menuInterface/moveMenu?menuId=1926935293735411714&targetParentId=1930886238383067138
|
||||||
|
// http://192.168.1.20:8100/de2api/menuInterface/changeOrder?menuId=1926935415483473921&direction=down
|
@ -638,7 +638,7 @@ const onComponentNameChange = () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.ed-select-dropdown__item.is-hovering {
|
.ed-select-dropdown__item.is-hovering {
|
||||||
background: #434343 !important;
|
background: transparent !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ed-select-dropdown__item {
|
.ed-select-dropdown__item {
|
||||||
@ -667,8 +667,9 @@ const onComponentNameChange = () => {
|
|||||||
border:1px solid #636363 !important;
|
border:1px solid #636363 !important;
|
||||||
}
|
}
|
||||||
.ed-select__wrapper.is-disabled{
|
.ed-select__wrapper.is-disabled{
|
||||||
background-color:#434343;
|
background-color:#2f2f2f;
|
||||||
box-shadow:0 0 0 1px #787878 inset;
|
box-shadow:none;
|
||||||
|
border: 1px solid #636363;
|
||||||
}
|
}
|
||||||
.ed-checkbox__input .ed-checkbox__inner:after{
|
.ed-checkbox__input .ed-checkbox__inner:after{
|
||||||
background: transparent!important;
|
background: transparent!important;
|
||||||
|
@ -1118,7 +1118,7 @@ defineExpose({
|
|||||||
|
|
||||||
.preview {
|
.preview {
|
||||||
margin-top: 5px;
|
margin-top: 5px;
|
||||||
border: 1px solid #e6e6e6;
|
border: 1px solid #434343;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
height: 470px !important;
|
height: 470px !important;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
@ -1254,11 +1254,11 @@ defineExpose({
|
|||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
|
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
border: 1px solid #dee0e3;
|
border: 1px solid #434343;
|
||||||
|
|
||||||
background: #fff;
|
background: #212121;
|
||||||
|
|
||||||
color: var(--neutral-900, #1f2329);
|
color: var(--neutral-900, #ffffff);
|
||||||
/* 中文/桌面端/正文 14 22 Regular */
|
/* 中文/桌面端/正文 14 22 Regular */
|
||||||
font-family: var(--de-custom_font, 'PingFang');
|
font-family: var(--de-custom_font, 'PingFang');
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
@ -1421,7 +1421,7 @@ span {
|
|||||||
.top-area-value {
|
.top-area-value {
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: #1f2329;
|
color: #ffffff;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@ -1492,7 +1492,7 @@ span {
|
|||||||
color: var(--deTextDisable);
|
color: var(--deTextDisable);
|
||||||
}
|
}
|
||||||
.outer-content-mirror {
|
.outer-content-mirror {
|
||||||
border: 1px solid #bbbfc4;
|
border: 1px solid #434343;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
height: calc(100% - 30px);
|
height: calc(100% - 30px);
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@ -1505,13 +1505,13 @@ span {
|
|||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
color: #1f2329;
|
color: #ffffff;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.outer-content-right {
|
.outer-content-right {
|
||||||
border: 1px solid #bbbfc4;
|
border: 1px solid #434343;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
height: calc(100% - 30px);
|
height: calc(100% - 30px);
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@ -1578,7 +1578,7 @@ span {
|
|||||||
--ed-tabs-header-height: 36px;
|
--ed-tabs-header-height: 36px;
|
||||||
margin-bottom: 12px;
|
margin-bottom: 12px;
|
||||||
position: sticky;
|
position: sticky;
|
||||||
background: #fff;
|
background: #212121;
|
||||||
.ed-tabs__header {
|
.ed-tabs__header {
|
||||||
&::before {
|
&::before {
|
||||||
content: '';
|
content: '';
|
||||||
@ -1587,7 +1587,7 @@ span {
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
background: #1f232926;
|
background: #ffffff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1597,7 +1597,7 @@ span {
|
|||||||
}
|
}
|
||||||
|
|
||||||
:deep(.ed-tabs__item):not(.is-active) {
|
:deep(.ed-tabs__item):not(.is-active) {
|
||||||
color: #646a73;
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -883,7 +883,7 @@ span {
|
|||||||
.top-area-value {
|
.top-area-value {
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: #1f2329;
|
color: #ffffff;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
@ -448,7 +448,7 @@ span {
|
|||||||
.top-area-value {
|
.top-area-value {
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: #1f2329;
|
color: #ffffff;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
@ -11,6 +11,7 @@ import {
|
|||||||
keymap
|
keymap
|
||||||
} from '@codemirror/view'
|
} from '@codemirror/view'
|
||||||
import { propTypes } from '@/utils/propTypes'
|
import { propTypes } from '@/utils/propTypes'
|
||||||
|
import { nextTick } from 'vue'
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
domId: propTypes.string.def('editor'),
|
domId: propTypes.string.def('editor'),
|
||||||
@ -24,7 +25,7 @@ const props = defineProps({
|
|||||||
})
|
})
|
||||||
const emits = defineEmits(['change'])
|
const emits = defineEmits(['change'])
|
||||||
|
|
||||||
const codeComInit = (doc: string, sqlMode?: boolean) => {
|
const codeComInit = async (doc: string, sqlMode?: boolean) => {
|
||||||
function _optionalChain(ops) {
|
function _optionalChain(ops) {
|
||||||
let lastAccessLHS = undefined
|
let lastAccessLHS = undefined
|
||||||
let value = ops[0]
|
let value = ops[0]
|
||||||
@ -129,6 +130,9 @@ const codeComInit = (doc: string, sqlMode?: boolean) => {
|
|||||||
})
|
})
|
||||||
]
|
]
|
||||||
: [basicSetup, placeholders, keymap.of([indentWithTab])]
|
: [basicSetup, placeholders, keymap.of([indentWithTab])]
|
||||||
|
// 确保 DOM 渲染完成
|
||||||
|
await nextTick()
|
||||||
|
|
||||||
return new EditorView({
|
return new EditorView({
|
||||||
doc,
|
doc,
|
||||||
extensions: extensionsAttach,
|
extensions: extensionsAttach,
|
||||||
|
@ -774,7 +774,7 @@ background: #434343;
|
|||||||
}
|
}
|
||||||
|
|
||||||
.ed-select-dropdown__item.is-hovering {
|
.ed-select-dropdown__item.is-hovering {
|
||||||
background: #434343 !important;
|
background: transparent !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ed-select-dropdown__item {
|
.ed-select-dropdown__item {
|
||||||
|
@ -538,14 +538,13 @@ function mouseleave() { // 鼠标移出遮罩层
|
|||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<style>
|
<style>
|
||||||
.ed-select__wrapper {
|
|
||||||
background-color: #252626 !important;
|
|
||||||
border: 1px solid #434343 !important;
|
|
||||||
box-shadow: none !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
::-webkit-scrollbar {
|
::-webkit-scrollbar {
|
||||||
width: 0px !important;
|
width: 0px !important;
|
||||||
height: 0px !important;
|
height: 0px !important;
|
||||||
}
|
}
|
||||||
|
.ed-dialog__header {
|
||||||
|
padding: 0px !important;
|
||||||
|
padding-bottom: 10px !important;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
@ -114,6 +114,8 @@ onMounted(() => {
|
|||||||
navmenulist.value = props.menuList
|
navmenulist.value = props.menuList
|
||||||
navtitle.value = props.projectName
|
navtitle.value = props.projectName
|
||||||
userList.value = wsCache.get('Permission-userinfo')
|
userList.value = wsCache.get('Permission-userinfo')
|
||||||
|
checkindex.value = 0
|
||||||
|
menuclick(checkindex.value)
|
||||||
})
|
})
|
||||||
onBeforeUnmount(() => {
|
onBeforeUnmount(() => {
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ import icon_user_connect_white from '@/assets/svg/user_connect_white.svg'
|
|||||||
import icon_permission_more_white from '@/assets/svg/icon_more-vertical_outlined_white.svg'
|
import icon_permission_more_white from '@/assets/svg/icon_more-vertical_outlined_white.svg'
|
||||||
import { ElTree, FormInstance } from 'element-plus'
|
import { ElTree, FormInstance } from 'element-plus'
|
||||||
import { ElMessage, ElMessageBox } from 'element-plus'
|
import { ElMessage, ElMessageBox } from 'element-plus'
|
||||||
import { getMenuTree,addMenu,updateMenuById,deleteMenuById } from '@/api/permission/menu'
|
import { getMenuTree, addMenu, updateMenuById, deleteMenuById, changeOrder, moveMenu } from '@/api/permission/menu'
|
||||||
import type {
|
import type {
|
||||||
NodeDropType,
|
NodeDropType,
|
||||||
} from 'element-plus/es/components/tree/src/tree.type'
|
} from 'element-plus/es/components/tree/src/tree.type'
|
||||||
@ -49,6 +49,13 @@ const dataInitState = ref(true)
|
|||||||
|
|
||||||
const rightloading = ref(false)
|
const rightloading = ref(false)
|
||||||
const moduleinfo = ref({})
|
const moduleinfo = ref({})
|
||||||
|
const menudialog = ref(false)
|
||||||
|
const moveId = ref('')
|
||||||
|
const menuAllData = ref([])
|
||||||
|
const selecprops= {
|
||||||
|
children: 'children',
|
||||||
|
label: 'name'
|
||||||
|
}
|
||||||
const handleMouseEnter = (node) => {
|
const handleMouseEnter = (node) => {
|
||||||
hoverNodeId.value = node.key;
|
hoverNodeId.value = node.key;
|
||||||
};
|
};
|
||||||
@ -127,6 +134,7 @@ function gettree() {
|
|||||||
getMenuTree(params).then(res => {
|
getMenuTree(params).then(res => {
|
||||||
treeloading.value = false
|
treeloading.value = false
|
||||||
treeData.value = res.data
|
treeData.value = res.data
|
||||||
|
menuAllData.value = res.data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
function querytree() {
|
function querytree() {
|
||||||
@ -215,6 +223,49 @@ function assocsubmit(){
|
|||||||
assocdialog.value = false;
|
assocdialog.value = false;
|
||||||
gettree()
|
gettree()
|
||||||
}
|
}
|
||||||
|
function ordermenu(data: any, type: any) {
|
||||||
|
const params = {
|
||||||
|
menuId: data.id,
|
||||||
|
direction: type,
|
||||||
|
}
|
||||||
|
changeOrder(params).then(res => {
|
||||||
|
if (res.data.code == '0') {
|
||||||
|
ElMessage.success('操作成功')
|
||||||
|
gettree()
|
||||||
|
}else{
|
||||||
|
ElMessage.success('移动失败')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
function movemenu(data: any) {
|
||||||
|
console.log(data)
|
||||||
|
moveId.value = data.id
|
||||||
|
menudialog.value = true
|
||||||
|
}
|
||||||
|
function movemenusubmit() {
|
||||||
|
if(moveId.value == ''){
|
||||||
|
ElMessage.error('请选择移动位置')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
const params = {
|
||||||
|
menuId:currentNodeId.value,
|
||||||
|
targetParentId:moveId.value,
|
||||||
|
}
|
||||||
|
moveMenu(params).then(res => {
|
||||||
|
menudialog.value = false
|
||||||
|
if(res.data.code == '0'){
|
||||||
|
menudialog.value = false
|
||||||
|
ElMessage.success('移动成功')
|
||||||
|
gettree()
|
||||||
|
}else{
|
||||||
|
menudialog.value = false
|
||||||
|
ElMessage.error('移动失败')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
function menuhandleClose() {
|
||||||
|
menudialog.value = false
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
@ -232,11 +283,10 @@ function assocsubmit(){
|
|||||||
</div>
|
</div>
|
||||||
<el-input v-model="filterText" placeholder="请输入" @blur="querytree" />
|
<el-input v-model="filterText" placeholder="请输入" @blur="querytree" />
|
||||||
<el-tree v-loading="treeloading" ref="treeRef" :data="treeData" node-key="id" :props="defaultProps"
|
<el-tree v-loading="treeloading" ref="treeRef" :data="treeData" node-key="id" :props="defaultProps"
|
||||||
default-expand-all :expand-on-click-node="false" highlight-current
|
default-expand-all :expand-on-click-node="false" highlight-current @node-click="nodeclick"
|
||||||
@node-click="nodeclick" style="height: calc(100vh - 210px);margin-top: 10px;overflow: auto;">
|
style="height: calc(100vh - 210px);margin-top: 10px;overflow: auto;">
|
||||||
<template #default="{ node, data }">
|
<template #default="{ node, data }">
|
||||||
<div class="custom-tree-node" @mouseenter="handleMouseEnter(node)"
|
<div class="custom-tree-node" @mouseenter="handleMouseEnter(node)" @mouseleave="handleMouseLeave()">
|
||||||
@mouseleave="handleMouseLeave()">
|
|
||||||
<div>{{ node.label }}</div>
|
<div>{{ node.label }}</div>
|
||||||
<div v-show="hoverNodeId === node.key" style="display: flex;align-items: center;">
|
<div v-show="hoverNodeId === node.key" style="display: flex;align-items: center;">
|
||||||
<div @click.stop="assocclick(data)">
|
<div @click.stop="assocclick(data)">
|
||||||
@ -251,9 +301,12 @@ function assocsubmit(){
|
|||||||
<icon_permission_more_white class="svg-icon" />
|
<icon_permission_more_white class="svg-icon" />
|
||||||
</el-icon>
|
</el-icon>
|
||||||
</template>
|
</template>
|
||||||
<div class="menu-item" @click.stop="addchilnode(data)">添加子菜单</div>
|
<div v-if="node.level < 2" class="menu-item" @click.stop="addchilnode(data)">添加子菜单</div>
|
||||||
<div class="menu-item" @click.stop="rename(data)">重命名</div>
|
<div class="menu-item" @click.stop="rename(data)">重命名</div>
|
||||||
<div class="menu-item" @click.stop="deltree(data)">删除</div>
|
<div class="menu-item" @click.stop="deltree(data)">删除</div>
|
||||||
|
<div class="menu-item" @click.stop="ordermenu(data, 'up')">上移</div>
|
||||||
|
<div class="menu-item" @click.stop="ordermenu(data, 'down')">下移</div>
|
||||||
|
<div class="menu-item" @click.stop="movemenu(data)">调整到</div>
|
||||||
</el-popover>
|
</el-popover>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -278,9 +331,19 @@ function assocsubmit(){
|
|||||||
</span>
|
</span>
|
||||||
</template>
|
</template>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
<Assocmenu v-if="assocdialog" :assoccurrentid="assoccurrentid"
|
<Assocmenu v-if="assocdialog" :assoccurrentid="assoccurrentid" :applicationId="applicationId"
|
||||||
:applicationId="applicationId" :assocmenuname="assocmenuname" :projectname="projectInfo.name"
|
:assocmenuname="assocmenuname" :projectname="projectInfo.name" :currentNodeId="currentNodeId"
|
||||||
:currentNodeId="currentNodeId" @assochandleClose="assochandleClose" @assocsubmit="assocsubmit" />
|
@assochandleClose="assochandleClose" @assocsubmit="assocsubmit" />
|
||||||
|
<el-dialog v-model="menudialog" title="调整菜单位置" width="30%" :before-close="menuhandleClose">
|
||||||
|
<el-tree-select v-model="moveId" node-key="id" highlight-current :data="menuAllData" :props="selecprops"
|
||||||
|
check-strictly :render-after-expand="false" style="width: 100%" />
|
||||||
|
<template #footer>
|
||||||
|
<span class="dialog-footer">
|
||||||
|
<el-button @click="menuhandleClose">取消</el-button>
|
||||||
|
<el-button type="primary" @click="movemenusubmit()">确定</el-button>
|
||||||
|
</span>
|
||||||
|
</template>
|
||||||
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -289,12 +352,14 @@ function assocsubmit(){
|
|||||||
background: rgb(21, 21, 21);
|
background: rgb(21, 21, 21);
|
||||||
height: calc(100vh - 60px);
|
height: calc(100vh - 60px);
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
||||||
.permission-leftbox {
|
.permission-leftbox {
|
||||||
width: 260px;
|
width: 260px;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
border-right: 1px solid #4f5052;
|
border-right: 1px solid #4f5052;
|
||||||
background: rgb(37, 38, 38);
|
background: rgb(37, 38, 38);
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
|
|
||||||
.permission-leftbox-title {
|
.permission-leftbox-title {
|
||||||
color: #F2F4F5;
|
color: #F2F4F5;
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -308,6 +373,7 @@ function assocsubmit(){
|
|||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.permission-rightbox {
|
.permission-rightbox {
|
||||||
width: calc(100% - 260px);
|
width: calc(100% - 260px);
|
||||||
height: calc(100vh - 75px);
|
height: calc(100vh - 75px);
|
||||||
@ -315,6 +381,7 @@ function assocsubmit(){
|
|||||||
overflow: auto;
|
overflow: auto;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-item {
|
.menu-item {
|
||||||
height: 30px;
|
height: 30px;
|
||||||
line-height: 30px;
|
line-height: 30px;
|
||||||
@ -323,20 +390,25 @@ function assocsubmit(){
|
|||||||
padding-left: 20px;
|
padding-left: 20px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.menu-item:hover {
|
.menu-item:hover {
|
||||||
background: #434343;
|
background: #434343;
|
||||||
}
|
}
|
||||||
|
|
||||||
.assocbox {
|
.assocbox {
|
||||||
height: calc(100vh - 112px);
|
height: calc(100vh - 112px);
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
||||||
.assocbox-left {
|
.assocbox-left {
|
||||||
width: 290px;
|
width: 290px;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
border-right: 1px solid #4f5052;
|
border-right: 1px solid #4f5052;
|
||||||
|
|
||||||
:deep(.el-tree-node__content) {
|
:deep(.el-tree-node__content) {
|
||||||
padding-left: 5px !important;
|
padding-left: 5px !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.assocbox-right {
|
.assocbox-right {
|
||||||
width: calc(100% - 290px);
|
width: calc(100% - 290px);
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
@ -346,26 +418,32 @@ function assocsubmit(){
|
|||||||
padding-right: 8px;
|
padding-right: 8px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.assocdialog .ed-dialog__body) {
|
:deep(.assocdialog .ed-dialog__body) {
|
||||||
padding: 0px 0px;
|
padding: 0px 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content) {
|
:deep(.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content) {
|
||||||
background: #409eff;
|
background: #409eff;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.el-tree) {
|
:deep(.el-tree) {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.el-tree-node__content) {
|
:deep(.el-tree-node__content) {
|
||||||
height: 40px;
|
height: 40px;
|
||||||
line-height: 40px;
|
line-height: 40px;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.el-tree-node__content:hover) {
|
:deep(.el-tree-node__content:hover) {
|
||||||
background: rgba(61, 158, 255, 0.1);
|
background: rgba(61, 158, 255, 0.1);
|
||||||
color: #0089FF;
|
color: #0089FF;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.custom-tree-node) {
|
:deep(.custom-tree-node) {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -374,20 +452,25 @@ function assocsubmit(){
|
|||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
padding-right: 8px;
|
padding-right: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content) {
|
:deep(.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content) {
|
||||||
background: #409eff;
|
background: #409eff;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.el-tree-node:focus>.el-tree-node__content) {
|
:deep(.el-tree-node:focus>.el-tree-node__content) {
|
||||||
background: rgb(37, 38, 38);
|
background: rgb(37, 38, 38);
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.ed-popover.ed-popper) {
|
:deep(.ed-popover.ed-popper) {
|
||||||
padding: 10px 0px !important;
|
padding: 10px 0px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.el-text) {
|
:deep(.el-text) {
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.keywordsClass {
|
.keywordsClass {
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
@ -400,6 +483,7 @@ function assocsubmit(){
|
|||||||
border-style: solid;
|
border-style: solid;
|
||||||
border-color: rgba(51, 51, 51, 1);
|
border-color: rgba(51, 51, 51, 1);
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
|
|
||||||
:deep(.ed-input__wrapper) {
|
:deep(.ed-input__wrapper) {
|
||||||
background-color: rgba(37, 38, 38, 1);
|
background-color: rgba(37, 38, 38, 1);
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
@ -410,6 +494,7 @@ function assocsubmit(){
|
|||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
border: none !important;
|
border: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.ed-input__inner) {
|
:deep(.ed-input__inner) {
|
||||||
background-color: rgba(37, 38, 38, 1);
|
background-color: rgba(37, 38, 38, 1);
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
@ -419,6 +504,7 @@ function assocsubmit(){
|
|||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.ed-input-group__prepend) {
|
:deep(.ed-input-group__prepend) {
|
||||||
background-color: rgba(37, 38, 38, 1);
|
background-color: rgba(37, 38, 38, 1);
|
||||||
border: 0;
|
border: 0;
|
||||||
@ -426,10 +512,12 @@ function assocsubmit(){
|
|||||||
padding: 0 10px;
|
padding: 0 10px;
|
||||||
padding-right: 0;
|
padding-right: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep(.ed-input__wrapper:hover) {
|
:deep(.ed-input__wrapper:hover) {
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.querybox {
|
.querybox {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
@ -441,6 +529,7 @@ function assocsubmit(){
|
|||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
color: #FFFFFF;
|
color: #FFFFFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dvPreviewRef {
|
.dvPreviewRef {
|
||||||
position: relative;
|
position: relative;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
@ -450,24 +539,30 @@ function assocsubmit(){
|
|||||||
.el-message-box {
|
.el-message-box {
|
||||||
background: #212121;
|
background: #212121;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-message-box__content {
|
.el-message-box__content {
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-message-box__title {
|
.el-message-box__title {
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-message-box__btns .el-button {
|
.el-message-box__btns .el-button {
|
||||||
color: #F2F4F5;
|
color: #F2F4F5;
|
||||||
background-color: #212121;
|
background-color: #212121;
|
||||||
border: 1px solid #434343;
|
border: 1px solid #434343;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-message-box__btns .el-button--primary {
|
.el-message-box__btns .el-button--primary {
|
||||||
background: #0089ff;
|
background: #0089ff;
|
||||||
border-color: #0089ff;
|
border-color: #0089ff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ed-form-item__label {
|
.ed-form-item__label {
|
||||||
color: #D2D2D2;
|
color: #D2D2D2;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ed-input__wrapper {
|
.ed-input__wrapper {
|
||||||
background-color: #252626;
|
background-color: #252626;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
@ -478,101 +573,148 @@ function assocsubmit(){
|
|||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
border: 1px solid #434343;
|
border: 1px solid #434343;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ed-form-item.is-error .ed-input__wrapper {
|
.ed-form-item.is-error .ed-input__wrapper {
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
border: 1px solid #f54a45;
|
border: 1px solid #f54a45;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ed-input__wrapper.is-focus {
|
.ed-input__wrapper.is-focus {
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
border: 1px solid #0089ff;
|
border: 1px solid #0089ff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ed-input__wrapper:hover {
|
.ed-input__wrapper:hover {
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
border: 1px solid #0089ff;
|
border: 1px solid #0089ff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ed-input__inner {
|
.ed-input__inner {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ed-button {
|
.ed-button {
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
background-color: rgb(54, 55, 56);
|
background-color: rgb(54, 55, 56);
|
||||||
border: 1px solid #363636;
|
border: 1px solid #363636;
|
||||||
}
|
}
|
||||||
.ed-button:focus, .ed-button:hover{
|
|
||||||
|
.ed-button:focus,
|
||||||
|
.ed-button:hover {
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
background-color: rgb(54, 55, 56);
|
background-color: rgb(54, 55, 56);
|
||||||
border: 1px solid #363636;
|
border: 1px solid #363636;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ed-button--primary {
|
.ed-button--primary {
|
||||||
background-color: #0089ff;
|
background-color: #0089ff;
|
||||||
border-color: #0089ff;
|
border-color: #0089ff;
|
||||||
}
|
}
|
||||||
.ed-button--primary:focus, .ed-button--primary:hover{
|
|
||||||
|
.ed-button--primary:focus,
|
||||||
|
.ed-button--primary:hover {
|
||||||
background-color: #0089ff;
|
background-color: #0089ff;
|
||||||
border-color: #0089ff;
|
border-color: #0089ff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ed-button.is-disabled {
|
.ed-button.is-disabled {
|
||||||
color: #949494;
|
color: #949494;
|
||||||
background-color: rgb(54, 55, 56);
|
background-color: rgb(54, 55, 56);
|
||||||
border: 1px solid rgb(54, 55, 56);
|
border: 1px solid rgb(54, 55, 56);
|
||||||
}
|
}
|
||||||
.ed-button.is-disabled, .ed-button.is-disabled:focus, .ed-button.is-disabled:hover{
|
|
||||||
|
.ed-button.is-disabled,
|
||||||
|
.ed-button.is-disabled:focus,
|
||||||
|
.ed-button.is-disabled:hover {
|
||||||
color: #949494;
|
color: #949494;
|
||||||
background-color: rgb(54, 55, 56);
|
background-color: rgb(54, 55, 56);
|
||||||
border: 1px solid rgb(54, 55, 56);
|
border: 1px solid rgb(54, 55, 56);
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-table {
|
.el-table {
|
||||||
background-color: rgb(33, 33, 33);
|
background-color: rgb(33, 33, 33);
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-table tr {
|
.el-table tr {
|
||||||
background: rgb(40, 40, 40);
|
background: rgb(40, 40, 40);
|
||||||
border-color: #434343;
|
border-color: #434343;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-table th.el-table__cell {
|
.el-table th.el-table__cell {
|
||||||
background-color: rgb(40, 40, 40);
|
background-color: rgb(40, 40, 40);
|
||||||
border-color: #434343;
|
border-color: #434343;
|
||||||
}
|
}
|
||||||
.el-table.is-scrolling-none th.el-table-fixed-column--left, .el-table.is-scrolling-none th.el-table-fixed-column--right {
|
|
||||||
|
.el-table.is-scrolling-none th.el-table-fixed-column--left,
|
||||||
|
.el-table.is-scrolling-none th.el-table-fixed-column--right {
|
||||||
background-color: rgb(40, 40, 40);
|
background-color: rgb(40, 40, 40);
|
||||||
}
|
}
|
||||||
.el-table--border .el-table__inner-wrapper:after, .el-table--border:after, .el-table--border:before, .el-table__inner-wrapper:before{
|
|
||||||
|
.el-table--border .el-table__inner-wrapper:after,
|
||||||
|
.el-table--border:after,
|
||||||
|
.el-table--border:before,
|
||||||
|
.el-table__inner-wrapper:before {
|
||||||
background-color: #434343;
|
background-color: #434343;
|
||||||
}
|
}
|
||||||
.el-table__border-bottom-patch, .el-table__border-left-patch{
|
|
||||||
|
.el-table__border-bottom-patch,
|
||||||
|
.el-table__border-left-patch {
|
||||||
background-color: #434343;
|
background-color: #434343;
|
||||||
}
|
}
|
||||||
.el-table td.el-table__cell, .el-table th.el-table__cell.is-leaf{
|
|
||||||
|
.el-table td.el-table__cell,
|
||||||
|
.el-table th.el-table__cell.is-leaf {
|
||||||
border-color: #434343;
|
border-color: #434343;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ed-checkbox__inner {
|
.ed-checkbox__inner {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
border-color: #787878;
|
border-color: #787878;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ed-checkbox__input.is-disabled .ed-checkbox__inner {
|
.ed-checkbox__input.is-disabled .ed-checkbox__inner {
|
||||||
background: #434343;
|
background: #434343;
|
||||||
border-color: #787878;
|
border-color: #787878;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-table thead {
|
.el-table thead {
|
||||||
color: #E4E4E4;
|
color: #E4E4E4;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-table .el-table__cell {
|
.el-table .el-table__cell {
|
||||||
background: #212121;
|
background: #212121;
|
||||||
color: #F2F4F5;
|
color: #F2F4F5;
|
||||||
}
|
}
|
||||||
.el-table__body-wrapper tr td.el-table-fixed-column--left, .el-table__body-wrapper tr td.el-table-fixed-column--right, .el-table__body-wrapper tr th.el-table-fixed-column--left, .el-table__body-wrapper tr th.el-table-fixed-column--right, .el-table__footer-wrapper tr td.el-table-fixed-column--left, .el-table__footer-wrapper tr td.el-table-fixed-column--right, .el-table__footer-wrapper tr th.el-table-fixed-column--left, .el-table__footer-wrapper tr th.el-table-fixed-column--right, .el-table__header-wrapper tr td.el-table-fixed-column--left, .el-table__header-wrapper tr td.el-table-fixed-column--right, .el-table__header-wrapper tr th.el-table-fixed-column--left, .el-table__header-wrapper tr th.el-table-fixed-column--right{
|
|
||||||
|
.el-table__body-wrapper tr td.el-table-fixed-column--left,
|
||||||
|
.el-table__body-wrapper tr td.el-table-fixed-column--right,
|
||||||
|
.el-table__body-wrapper tr th.el-table-fixed-column--left,
|
||||||
|
.el-table__body-wrapper tr th.el-table-fixed-column--right,
|
||||||
|
.el-table__footer-wrapper tr td.el-table-fixed-column--left,
|
||||||
|
.el-table__footer-wrapper tr td.el-table-fixed-column--right,
|
||||||
|
.el-table__footer-wrapper tr th.el-table-fixed-column--left,
|
||||||
|
.el-table__footer-wrapper tr th.el-table-fixed-column--right,
|
||||||
|
.el-table__header-wrapper tr td.el-table-fixed-column--left,
|
||||||
|
.el-table__header-wrapper tr td.el-table-fixed-column--right,
|
||||||
|
.el-table__header-wrapper tr th.el-table-fixed-column--left,
|
||||||
|
.el-table__header-wrapper tr th.el-table-fixed-column--right {
|
||||||
background: #212121;
|
background: #212121;
|
||||||
}
|
}
|
||||||
|
|
||||||
.hover-row>td {
|
.hover-row>td {
|
||||||
background-color: rgb(48, 48, 48) !important;
|
background-color: rgb(48, 48, 48) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ed-checkbox__input.is-checked .ed-checkbox__inner {
|
.ed-checkbox__input.is-checked .ed-checkbox__inner {
|
||||||
background-color: #409eff;
|
background-color: #409eff;
|
||||||
border-color: #409eff;
|
border-color: #409eff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ed-switch.is-checked .ed-switch__core {
|
.ed-switch.is-checked .ed-switch__core {
|
||||||
border-color: #0089ff;
|
border-color: #0089ff;
|
||||||
background-color: #0089ff;
|
background-color: #0089ff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ed-textarea__inner {
|
.ed-textarea__inner {
|
||||||
background-color: #252626;
|
background-color: #252626;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
@ -584,54 +726,91 @@ function assocsubmit(){
|
|||||||
border: 1px solid #434343;
|
border: 1px solid #434343;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ed-textarea__inner:hover {
|
.ed-textarea__inner:hover {
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
border: 1px solid #0089ff;
|
border: 1px solid #0089ff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ed-textarea__inner:focus {
|
.ed-textarea__inner:focus {
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
border: 1px solid #0089ff;
|
border: 1px solid #0089ff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ed-input.is-disabled .ed-input__wrapper {
|
.ed-input.is-disabled .ed-input__wrapper {
|
||||||
border: 1px solid #434343;
|
border: 1px solid #434343;
|
||||||
background: #212121;
|
background: #212121;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-loading-mask {
|
.el-loading-mask {
|
||||||
background-color: rgba(41, 41, 41, 0.9)
|
background-color: rgba(41, 41, 41, 0.9)
|
||||||
}
|
}
|
||||||
|
|
||||||
.ed-popover.ed-popper {
|
.ed-popover.ed-popper {
|
||||||
background: rgba(41, 41, 41, 1);
|
background: rgba(41, 41, 41, 1);
|
||||||
border: 1px solid #434343;
|
border: 1px solid #434343;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
padding: 10px 0px;
|
padding: 10px 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ed-dialog__header {
|
.ed-dialog__header {
|
||||||
padding: 13px 20px;
|
padding: 13px 20px;
|
||||||
border-bottom: 1px solid #333333;
|
border-bottom: 1px solid #333333;
|
||||||
margin-right: 0px;
|
margin-right: 0px;
|
||||||
}
|
}
|
||||||
.ed-dialog__headerbtn{
|
|
||||||
color: #ffffff;
|
.ed-dialog__header {
|
||||||
top: 11px !important;
|
padding: 0px !important;
|
||||||
right: 15px !important;
|
padding-bottom: 10px !important;
|
||||||
|
margin-bottom: 10px!important;
|
||||||
}
|
}
|
||||||
.ed-dialog__body {
|
.ed-dialog__body {
|
||||||
background: rgb(33, 33, 33);
|
background: rgb(33, 33, 33);
|
||||||
}
|
}
|
||||||
|
|
||||||
.ed-dialog__footer {
|
.ed-dialog__footer {
|
||||||
background: rgb(33, 33, 33);
|
background: rgb(33, 33, 33);
|
||||||
}
|
}
|
||||||
|
|
||||||
.ed-dialog__title {
|
.ed-dialog__title {
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ed-dialog {
|
.ed-dialog {
|
||||||
border: 1px solid #5f5f5f;
|
border: 1px solid #5f5f5f;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
background: rgb(33, 33, 33);
|
background: rgb(33, 33, 33);
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-tree-node__expand-icon {
|
.el-tree-node__expand-icon {
|
||||||
color: #ffffff
|
color: #ffffff
|
||||||
}
|
}
|
||||||
|
.ed-select__wrapper{
|
||||||
|
background-color: rgba(37, 38, 38, 1) !important;
|
||||||
|
box-shadow: none !important;
|
||||||
|
border: 1px solid #636363 !important;
|
||||||
|
color: #fff !important;
|
||||||
|
}
|
||||||
|
.ed-select__popper.ed-popper{
|
||||||
|
background: rgb(41, 41, 41) !important;
|
||||||
|
color: #fff;
|
||||||
|
border: 1px solid #434343;
|
||||||
|
}
|
||||||
|
.ed-select__placeholder{
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
.ed-tree{
|
||||||
|
background: rgb(41, 41, 41) !important;
|
||||||
|
}
|
||||||
|
.ed-select-dropdown__item{
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
.ed-tree-node__content:hover{
|
||||||
|
background: #343434;
|
||||||
|
}
|
||||||
|
.ed-tree--highlight-current .ed-tree-node.is-current>.ed-tree-node__content{
|
||||||
|
background: #343434;
|
||||||
|
color: #f2f4f5;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
@ -1743,7 +1743,7 @@ border-right: 1px solid rgba(54, 54, 54, 1)
|
|||||||
background: #3f3f3f !important;
|
background: #3f3f3f !important;
|
||||||
}
|
}
|
||||||
.ed-table th.ed-table__cell:hover{
|
.ed-table th.ed-table__cell:hover{
|
||||||
background-color: #282828;
|
background-color: #282828 !important;
|
||||||
}
|
}
|
||||||
.ed-table.is-scrolling-right th.ed-table-fixed-column--right{
|
.ed-table.is-scrolling-right th.ed-table-fixed-column--right{
|
||||||
background-color: #434343 !important;
|
background-color: #434343 !important;
|
||||||
|
@ -1324,4 +1324,7 @@ defineExpose({
|
|||||||
.ed-step__title.is-process{
|
.ed-step__title.is-process{
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
|
.ed-input-number.is-controls-right .ed-input-number__decrease [class*=ed-icon], .ed-input-number.is-controls-right .ed-input-number__increase [class*=ed-icon]{
|
||||||
|
color: #ffffff !important;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -2651,7 +2651,7 @@ border-right: 1px solid rgba(54, 54, 54, 1);
|
|||||||
}
|
}
|
||||||
|
|
||||||
.ed-select-dropdown__item.is-hovering {
|
.ed-select-dropdown__item.is-hovering {
|
||||||
background: #393939;
|
background: transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ed-select-dropdown__item {
|
.ed-select-dropdown__item {
|
||||||
@ -2662,7 +2662,7 @@ border-right: 1px solid rgba(54, 54, 54, 1);
|
|||||||
border-top: 1px solid #434343 !important;
|
border-top: 1px solid #434343 !important;
|
||||||
}
|
}
|
||||||
.ed-table th.ed-table__cell:hover{
|
.ed-table th.ed-table__cell:hover{
|
||||||
background-color: #282828;
|
background-color: #282828 !important;
|
||||||
}
|
}
|
||||||
.ed-dialog__header {
|
.ed-dialog__header {
|
||||||
padding: 0px !important;
|
padding: 0px !important;
|
||||||
|
@ -448,7 +448,7 @@ span {
|
|||||||
.top-area-value {
|
.top-area-value {
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: #1f2329;
|
color: #ffffff;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
Loading…
Reference in New Issue
Block a user