mirror of https://gitee.com/xiaonuobase/snowy
Merge remote-tracking branch 'origin/dev' into dev
commit
e9e4fa7a78
|
@ -108,8 +108,7 @@
|
|||
},
|
||||
{
|
||||
title: '是否已读',
|
||||
dataIndex: 'read',
|
||||
width: 120
|
||||
dataIndex: 'read'
|
||||
}
|
||||
]
|
||||
// 关闭抽屉
|
||||
|
|
|
@ -57,8 +57,7 @@
|
|||
{
|
||||
title: '时间',
|
||||
dataIndex: 'createTime',
|
||||
align: 'right',
|
||||
width: '150px'
|
||||
align: 'right'
|
||||
}
|
||||
]
|
||||
const title = ref('通知公告')
|
||||
|
|
|
@ -115,8 +115,7 @@
|
|||
{
|
||||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
align: 'center',
|
||||
width: 50
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '机构名',
|
||||
|
@ -133,8 +132,7 @@
|
|||
{
|
||||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
align: 'center',
|
||||
width: 50
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '机构名',
|
||||
|
|
|
@ -115,8 +115,7 @@
|
|||
{
|
||||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
align: 'center',
|
||||
width: 50
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '职位名',
|
||||
|
@ -133,8 +132,7 @@
|
|||
{
|
||||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
align: 'center',
|
||||
width: 50
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '职位名',
|
||||
|
|
|
@ -115,8 +115,7 @@
|
|||
{
|
||||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
align: 'center',
|
||||
width: 50
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '角色名',
|
||||
|
@ -133,8 +132,7 @@
|
|||
{
|
||||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
align: 'center',
|
||||
width: 50
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '角色名',
|
||||
|
|
|
@ -118,13 +118,11 @@
|
|||
{
|
||||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
align: 'center',
|
||||
width: 50
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '头像',
|
||||
dataIndex: 'avatar',
|
||||
width: 50
|
||||
dataIndex: 'avatar'
|
||||
},
|
||||
{
|
||||
title: '用户名',
|
||||
|
@ -141,8 +139,7 @@
|
|||
{
|
||||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
align: 'center',
|
||||
width: 50
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '用户名',
|
||||
|
|
|
@ -161,8 +161,7 @@
|
|||
{
|
||||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
align: 'center',
|
||||
width: 50
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '名称',
|
||||
|
@ -175,8 +174,7 @@
|
|||
{
|
||||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
align: 'center',
|
||||
width: 50
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '名称',
|
||||
|
|
|
@ -160,8 +160,7 @@
|
|||
{
|
||||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
align: 'center',
|
||||
width: 50
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '名称',
|
||||
|
@ -178,8 +177,7 @@
|
|||
{
|
||||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
align: 'center',
|
||||
width: 50
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '名称',
|
||||
|
|
|
@ -160,8 +160,7 @@
|
|||
{
|
||||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
align: 'center',
|
||||
width: 50
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '名称',
|
||||
|
@ -178,8 +177,7 @@
|
|||
{
|
||||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
align: 'center',
|
||||
width: 50
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '名称',
|
||||
|
|
|
@ -161,8 +161,7 @@
|
|||
{
|
||||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
align: 'center',
|
||||
width: 50
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '名称',
|
||||
|
@ -179,8 +178,7 @@
|
|||
{
|
||||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
align: 'center',
|
||||
width: 50
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '名称',
|
||||
|
|
|
@ -170,13 +170,11 @@
|
|||
{
|
||||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
align: 'center',
|
||||
width: 50
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '头像',
|
||||
dataIndex: 'avatar',
|
||||
width: 50
|
||||
dataIndex: 'avatar'
|
||||
},
|
||||
{
|
||||
title: '用户名',
|
||||
|
@ -193,8 +191,7 @@
|
|||
{
|
||||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
align: 'center',
|
||||
width: 50
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '用户名',
|
||||
|
|
|
@ -170,8 +170,7 @@
|
|||
},
|
||||
{
|
||||
title: '是否已读',
|
||||
dataIndex: 'read',
|
||||
width: 120
|
||||
dataIndex: 'read'
|
||||
}
|
||||
]
|
||||
// 关闭抽屉
|
||||
|
|
|
@ -29,8 +29,7 @@
|
|||
const columns = [
|
||||
{
|
||||
title: '头像',
|
||||
dataIndex: 'avatar',
|
||||
width: 60
|
||||
dataIndex: 'avatar'
|
||||
},
|
||||
{
|
||||
title: '账号',
|
||||
|
@ -54,13 +53,11 @@
|
|||
{
|
||||
title: '登录IP',
|
||||
dataIndex: 'latestLoginIp',
|
||||
width: 120,
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: '令牌数',
|
||||
dataIndex: 'tokenNumber',
|
||||
width: 70
|
||||
dataIndex: 'tokenNumber'
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
|
|
|
@ -29,8 +29,7 @@
|
|||
const columns = [
|
||||
{
|
||||
title: '头像',
|
||||
dataIndex: 'avatar',
|
||||
width: 60
|
||||
dataIndex: 'avatar'
|
||||
},
|
||||
{
|
||||
title: '账号',
|
||||
|
@ -54,13 +53,11 @@
|
|||
{
|
||||
title: '登录IP',
|
||||
dataIndex: 'latestLoginIp',
|
||||
width: 120,
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: '令牌数',
|
||||
dataIndex: 'tokenNumber',
|
||||
width: 70
|
||||
dataIndex: 'tokenNumber'
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
|
|
|
@ -73,8 +73,7 @@
|
|||
const columns = [
|
||||
{
|
||||
title: '登录设备',
|
||||
dataIndex: 'tokenDevice',
|
||||
width: 90
|
||||
dataIndex: 'tokenDevice'
|
||||
},
|
||||
{
|
||||
title: '有效期',
|
||||
|
@ -83,8 +82,7 @@
|
|||
{
|
||||
title: '令牌',
|
||||
dataIndex: 'tokenValue',
|
||||
ellipsis: true,
|
||||
width: 80
|
||||
ellipsis: true
|
||||
}
|
||||
]
|
||||
if (hasPerm('authForceQuit')) {
|
||||
|
@ -92,7 +90,6 @@
|
|||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
align: 'center',
|
||||
width: '100px',
|
||||
scopedSlots: { customRender: 'action' }
|
||||
})
|
||||
}
|
||||
|
|
|
@ -73,8 +73,7 @@
|
|||
{
|
||||
title: '头像',
|
||||
dataIndex: 'avatar',
|
||||
align: 'center',
|
||||
width: '80px'
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '姓名',
|
||||
|
@ -88,8 +87,7 @@
|
|||
},
|
||||
{
|
||||
title: '性别',
|
||||
dataIndex: 'gender',
|
||||
width: '100px'
|
||||
dataIndex: 'gender'
|
||||
},
|
||||
{
|
||||
title: '分类',
|
||||
|
|
|
@ -96,13 +96,11 @@
|
|||
const columns = [
|
||||
{
|
||||
title: '字典名称',
|
||||
dataIndex: 'dictLabel',
|
||||
width: 350
|
||||
dataIndex: 'dictLabel'
|
||||
},
|
||||
{
|
||||
title: '字典值',
|
||||
dataIndex: 'dictValue',
|
||||
width: 350
|
||||
dataIndex: 'dictValue'
|
||||
},
|
||||
{
|
||||
title: '排序',
|
||||
|
|
|
@ -10,8 +10,18 @@
|
|||
<a-col :xs="24" :sm="16" :md="16" :lg="16" :xl="16">
|
||||
<a-form-item>
|
||||
<a-space>
|
||||
<a-button type="primary" @click="tableRef.refresh()">查询</a-button>
|
||||
<a-button style="margin: 0 8px" @click="reset">重置</a-button>
|
||||
<a-button type="primary" @click="tableRef.refresh(true)">
|
||||
<template #icon>
|
||||
<SearchOutlined/>
|
||||
</template>
|
||||
查询
|
||||
</a-button>
|
||||
<a-button @click="reset">
|
||||
<template #icon>
|
||||
<redo-outlined/>
|
||||
</template>
|
||||
重置
|
||||
</a-button>
|
||||
</a-space>
|
||||
</a-form-item>
|
||||
</a-col>
|
||||
|
@ -113,7 +123,6 @@
|
|||
const selectedRowKeys = ref([])
|
||||
// 列表选择配置
|
||||
const options = {
|
||||
// columns数字类型字段加入 needTotal: true 可以勾选自动算账
|
||||
alert: {
|
||||
show: false,
|
||||
clear: () => {
|
||||
|
|
|
@ -154,8 +154,7 @@
|
|||
},
|
||||
{
|
||||
title: '封面图',
|
||||
dataIndex: 'image',
|
||||
width: '100px'
|
||||
dataIndex: 'image'
|
||||
},
|
||||
{
|
||||
title: '类型',
|
||||
|
@ -176,8 +175,7 @@
|
|||
},
|
||||
{
|
||||
title: '创建时间',
|
||||
dataIndex: 'createTime',
|
||||
width: '150px'
|
||||
dataIndex: 'createTime'
|
||||
}
|
||||
]
|
||||
// 操作栏通过权限判断是否显示
|
||||
|
@ -192,7 +190,6 @@
|
|||
const selectedRowKeys = ref([])
|
||||
// 列表选择配置
|
||||
const options = {
|
||||
// columns数字类型字段加入 needTotal: true 可以勾选自动算账
|
||||
alert: {
|
||||
show: false,
|
||||
clear: () => {
|
||||
|
|
|
@ -126,8 +126,7 @@
|
|||
},
|
||||
{
|
||||
title: '排序',
|
||||
dataIndex: 'sortCode',
|
||||
width: 100
|
||||
dataIndex: 'sortCode'
|
||||
}
|
||||
]
|
||||
if (hasPerm(['bizOrgEdit', 'bizOrgDelete'])) {
|
||||
|
|
|
@ -192,8 +192,7 @@
|
|||
{
|
||||
title: '头像',
|
||||
dataIndex: 'avatar',
|
||||
align: 'center',
|
||||
width: '80px'
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '账号',
|
||||
|
@ -206,8 +205,7 @@
|
|||
},
|
||||
{
|
||||
title: '性别',
|
||||
dataIndex: 'gender',
|
||||
width: '50px'
|
||||
dataIndex: 'gender'
|
||||
},
|
||||
{
|
||||
title: '手机',
|
||||
|
@ -226,8 +224,7 @@
|
|||
},
|
||||
{
|
||||
title: '状态',
|
||||
dataIndex: 'userStatus',
|
||||
width: '80px'
|
||||
dataIndex: 'userStatus'
|
||||
}
|
||||
]
|
||||
if (hasPerm(['bizUserEdit', 'bizUserGrantRole', 'bizUserPwdReset', 'bizUserExportUserInfo', 'bizUserDelete'])) {
|
||||
|
|
|
@ -80,8 +80,7 @@
|
|||
{
|
||||
title: '头像',
|
||||
dataIndex: 'avatar',
|
||||
align: 'center',
|
||||
width: '80px'
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '账号',
|
||||
|
@ -94,8 +93,7 @@
|
|||
},
|
||||
{
|
||||
title: '性别',
|
||||
dataIndex: 'gender',
|
||||
width: 100
|
||||
dataIndex: 'gender'
|
||||
},
|
||||
{
|
||||
title: '手机',
|
||||
|
@ -104,14 +102,12 @@
|
|||
},
|
||||
{
|
||||
title: '状态',
|
||||
dataIndex: 'userStatus',
|
||||
width: 100
|
||||
dataIndex: 'userStatus'
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
align: 'center',
|
||||
width: '220px'
|
||||
align: 'center'
|
||||
}
|
||||
]
|
||||
const toolConfig = { refresh: true, height: true, columnSetting: true }
|
||||
|
|
|
@ -66,7 +66,6 @@
|
|||
{
|
||||
title: '排序',
|
||||
dataIndex: 'sortCode',
|
||||
width: 100,
|
||||
sorter: true
|
||||
},
|
||||
{
|
||||
|
|
|
@ -70,7 +70,6 @@
|
|||
const selectedRowKeys = ref([])
|
||||
// 列表选择配置
|
||||
const options = {
|
||||
// columns数字类型字段加入 needTotal: true 可以勾选自动算账
|
||||
alert: {
|
||||
show: false,
|
||||
clear: () => {
|
||||
|
|
|
@ -113,13 +113,11 @@
|
|||
const columns = [
|
||||
{
|
||||
title: '字典名称',
|
||||
dataIndex: 'dictLabel',
|
||||
width: 350
|
||||
dataIndex: 'dictLabel'
|
||||
},
|
||||
{
|
||||
title: '字典值',
|
||||
dataIndex: 'dictValue',
|
||||
width: 350
|
||||
dataIndex: 'dictValue'
|
||||
},
|
||||
{
|
||||
title: '排序',
|
||||
|
@ -129,7 +127,7 @@
|
|||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
align: 'center',
|
||||
width: '150px'
|
||||
fixed: 'right'
|
||||
}
|
||||
]
|
||||
const categoryType = computed(() => {
|
||||
|
|
|
@ -151,26 +151,22 @@
|
|||
{
|
||||
title: '缩略图',
|
||||
dataIndex: 'thumbnail',
|
||||
ellipsis: true,
|
||||
width: 80
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: '文件大小',
|
||||
dataIndex: 'sizeInfo',
|
||||
ellipsis: true,
|
||||
width: 120
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: '文件后缀',
|
||||
dataIndex: 'suffix',
|
||||
ellipsis: true,
|
||||
width: 120
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: '储存引擎',
|
||||
dataIndex: 'engine',
|
||||
ellipsis: true,
|
||||
width: 120
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
|
|
|
@ -135,19 +135,16 @@
|
|||
},
|
||||
{
|
||||
title: '状态',
|
||||
dataIndex: 'jobStatus',
|
||||
width: '100px'
|
||||
dataIndex: 'jobStatus'
|
||||
},
|
||||
{
|
||||
title: '启停',
|
||||
dataIndex: 'jobStatusUpdate',
|
||||
width: '120px'
|
||||
dataIndex: 'jobStatusUpdate'
|
||||
},
|
||||
{
|
||||
title: '排序',
|
||||
dataIndex: 'sortCode',
|
||||
sorter: true,
|
||||
width: '80px'
|
||||
sorter: true
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
|
|
|
@ -47,8 +47,7 @@
|
|||
},
|
||||
{
|
||||
title: '是否已读',
|
||||
dataIndex: 'read',
|
||||
width: 120
|
||||
dataIndex: 'read'
|
||||
}
|
||||
]
|
||||
// 打开抽屉
|
||||
|
|
|
@ -87,8 +87,7 @@
|
|||
title: '发送时间',
|
||||
dataIndex: 'createTime',
|
||||
ellipsis: true,
|
||||
sorter: true,
|
||||
width: '150px'
|
||||
sorter: true
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
|
|
|
@ -165,8 +165,7 @@
|
|||
const detailsColumns = [
|
||||
{
|
||||
title: '位置',
|
||||
dataIndex: 'label',
|
||||
width: '200px'
|
||||
dataIndex: 'label'
|
||||
},
|
||||
{
|
||||
title: '点击事件',
|
||||
|
@ -184,7 +183,6 @@
|
|||
const selectedRowKeys = ref([])
|
||||
// 列表选择配置
|
||||
const options = {
|
||||
// columns数字类型字段加入 needTotal: true 可以勾选自动算账
|
||||
alert: {
|
||||
show: false,
|
||||
clear: () => {
|
||||
|
|
|
@ -60,18 +60,15 @@
|
|||
const columns = ref([
|
||||
{
|
||||
title: '位置',
|
||||
dataIndex: 'label',
|
||||
width: '20%'
|
||||
dataIndex: 'label'
|
||||
},
|
||||
{
|
||||
title: '点击事件',
|
||||
dataIndex: 'whetherToClick',
|
||||
width: '25%'
|
||||
dataIndex: 'whetherToClick'
|
||||
},
|
||||
{
|
||||
title: '跳转方式',
|
||||
dataIndex: 'skipMode',
|
||||
width: '20%'
|
||||
dataIndex: 'skipMode'
|
||||
},
|
||||
{
|
||||
title: 'URL',
|
||||
|
|
|
@ -101,7 +101,7 @@
|
|||
content: [
|
||||
"<div style='padding:0'>",
|
||||
'网站 : https://www.xiaonuo.vip',
|
||||
'Snowy是一款国内首例国产密码算法加密框架,采用Vue3.0+AntDesignVue3.0+SpringBoot2.8前后分离技术打造,技术框架与密码的结合,让前后分离‘密’不可分!</div>'
|
||||
'Snowy是一款国内首例国产密码算法加密框架,采用Vue3.x+AntDesignVue4.x+SpringBoot3.x前后分离技术打造,技术框架与密码的结合,让前后分离‘密’不可分!</div>'
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -110,7 +110,7 @@
|
|||
content: [
|
||||
"<div style='padding:0'>",
|
||||
'网站 : https://www.xiaonuo.vip',
|
||||
'Snowy是一款国内首例国产密码算法加密框架,采用Vue3.0+AntDesignVue3.0+SpringBoot2.8前后分离技术打造,技术框架与密码的结合,让前后分离‘密’不可分!</div>'
|
||||
'Snowy是一款国内首例国产密码算法加密框架,采用Vue3.x+AntDesignVue4.x+SpringBoot3.x前后分离技术打造,技术框架与密码的结合,让前后分离‘密’不可分!</div>'
|
||||
],
|
||||
width: 300,
|
||||
height: 200
|
||||
|
|
|
@ -118,7 +118,7 @@
|
|||
content: [
|
||||
"<div style='padding:0'><b>Snowy-小诺开源技术</b>",
|
||||
'网站 : https://www.xiaonuo.vip',
|
||||
'Snowy是一款国内首例国产密码算法加密框架,采用Vue3.0+AntDesignVue3.0+SpringBoot2.8前后分离技术打造,技术框架与密码的结合,让前后分离‘密’不可分!</div>'
|
||||
'Snowy是一款国内首例国产密码算法加密框架,采用Vue3.x+AntDesignVue4.x+SpringBoot3.x前后分离技术打造,技术框架与密码的结合,让前后分离‘密’不可分!</div>'
|
||||
]
|
||||
},
|
||||
{
|
||||
|
@ -126,7 +126,7 @@
|
|||
content: [
|
||||
"<div style='padding:0'><b>Snowy-小诺开源技术</b>",
|
||||
'网站 : https://www.xiaonuo.vip',
|
||||
'Snowy是一款国内首例国产密码算法加密框架,采用Vue3.0+AntDesignVue3.0+SpringBoot2.8前后分离技术打造,技术框架与密码的结合,让前后分离‘密’不可分!</div>'
|
||||
'Snowy是一款国内首例国产密码算法加密框架,采用Vue3.x+AntDesignVue4.x+SpringBoot3.x前后分离技术打造,技术框架与密码的结合,让前后分离‘密’不可分!</div>'
|
||||
]
|
||||
}
|
||||
])
|
||||
|
|
|
@ -144,44 +144,37 @@
|
|||
{
|
||||
title: '字典',
|
||||
align: 'center',
|
||||
dataIndex: 'dictTypeCode',
|
||||
width: 140
|
||||
dataIndex: 'dictTypeCode'
|
||||
},
|
||||
{
|
||||
title: '列表显示',
|
||||
align: 'center',
|
||||
dataIndex: 'whetherTable',
|
||||
width: 80
|
||||
dataIndex: 'whetherTable'
|
||||
},
|
||||
{
|
||||
title: '列省略',
|
||||
align: 'center',
|
||||
dataIndex: 'whetherRetract',
|
||||
width: 80
|
||||
dataIndex: 'whetherRetract'
|
||||
},
|
||||
{
|
||||
title: '增改',
|
||||
align: 'center',
|
||||
dataIndex: 'whetherAddUpdate',
|
||||
width: 80
|
||||
dataIndex: 'whetherAddUpdate'
|
||||
},
|
||||
{
|
||||
title: '必填',
|
||||
align: 'center',
|
||||
dataIndex: 'whetherRequired',
|
||||
width: 80
|
||||
dataIndex: 'whetherRequired'
|
||||
},
|
||||
{
|
||||
title: '唯一',
|
||||
align: 'center',
|
||||
dataIndex: 'whetherUnique',
|
||||
width: 80
|
||||
dataIndex: 'whetherUnique'
|
||||
},
|
||||
{
|
||||
title: '查询',
|
||||
align: 'center',
|
||||
dataIndex: 'queryWhether',
|
||||
width: 80
|
||||
dataIndex: 'queryWhether'
|
||||
},
|
||||
{
|
||||
title: '查询方式',
|
||||
|
|
|
@ -135,8 +135,7 @@
|
|||
},
|
||||
{
|
||||
title: '图标',
|
||||
dataIndex: 'icon',
|
||||
width: 80
|
||||
dataIndex: 'icon'
|
||||
},
|
||||
{
|
||||
title: '正规则',
|
||||
|
|
|
@ -122,7 +122,6 @@ const columns = [
|
|||
const selectedRowKeys = ref([])
|
||||
// 列表选择配置
|
||||
const options = {
|
||||
// columns数字类型字段加入 needTotal: true 可以勾选自动算账
|
||||
alert: {
|
||||
show: false,
|
||||
clear: () => {
|
||||
|
|
|
@ -126,8 +126,7 @@ const columns = [
|
|||
},
|
||||
{
|
||||
title: '排序',
|
||||
dataIndex: 'sortCode',
|
||||
width: 100
|
||||
dataIndex: 'sortCode'
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
|
|
|
@ -127,8 +127,7 @@ const columns = [
|
|||
},
|
||||
{
|
||||
title: '排序',
|
||||
dataIndex: 'sortCode',
|
||||
width: 100
|
||||
dataIndex: 'sortCode'
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
|
|
|
@ -157,13 +157,11 @@
|
|||
{
|
||||
title: '显示名称',
|
||||
dataIndex: 'title',
|
||||
ellipsis: true,
|
||||
width: 300
|
||||
ellipsis: true
|
||||
},
|
||||
{
|
||||
title: '类型',
|
||||
dataIndex: 'menuType',
|
||||
width: 100
|
||||
dataIndex: 'menuType'
|
||||
},
|
||||
{
|
||||
title: '路由地址',
|
||||
|
@ -175,14 +173,12 @@
|
|||
},
|
||||
{
|
||||
title: '是否可见',
|
||||
dataIndex: 'visible',
|
||||
width: 120
|
||||
dataIndex: 'visible'
|
||||
},
|
||||
{
|
||||
title: '排序',
|
||||
dataIndex: 'sortCode',
|
||||
sorter: true,
|
||||
width: 100
|
||||
sorter: true
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
|
|
|
@ -169,7 +169,6 @@
|
|||
title: '接口前缀',
|
||||
dataIndex: 'prefix',
|
||||
fixed: 'left',
|
||||
width: 140,
|
||||
customCell: (row, index) => {
|
||||
const indexArr = firstShowMap.value[row.prefix]
|
||||
if (index === indexArr[0]) {
|
||||
|
@ -182,7 +181,6 @@
|
|||
key: 'suffix',
|
||||
title: '接口',
|
||||
dataIndex: 'suffix',
|
||||
width: 290,
|
||||
customFilterDropdown: true,
|
||||
onFilter: (value, record) => record.api.includes(value),
|
||||
onFilterDropdownOpenChange: (visible) => {
|
||||
|
|
|
@ -167,8 +167,7 @@
|
|||
},
|
||||
{
|
||||
title: '排序',
|
||||
dataIndex: 'sortCode',
|
||||
width: 100
|
||||
dataIndex: 'sortCode'
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
|
|
|
@ -170,7 +170,6 @@
|
|||
title: '接口前缀',
|
||||
dataIndex: 'prefix',
|
||||
fixed: 'left',
|
||||
width: 140,
|
||||
customCell: (row, index) => {
|
||||
const indexArr = firstShowMap.value[row.prefix]
|
||||
if (index === indexArr[0]) {
|
||||
|
@ -183,7 +182,6 @@
|
|||
key: 'suffix',
|
||||
title: '接口',
|
||||
dataIndex: 'suffix',
|
||||
width: 290,
|
||||
customFilterDropdown: true,
|
||||
onFilter: (value, record) => record.api.includes(value),
|
||||
onFilterDropdownOpenChange: (visible) => {
|
||||
|
|
|
@ -89,8 +89,7 @@
|
|||
const impErrorColumns = [
|
||||
{
|
||||
title: '索引',
|
||||
dataIndex: 'index',
|
||||
width: '80px'
|
||||
dataIndex: 'index'
|
||||
},
|
||||
{
|
||||
title: '原因',
|
||||
|
|
|
@ -211,8 +211,7 @@ const columns = [
|
|||
{
|
||||
title: '头像',
|
||||
dataIndex: 'avatar',
|
||||
align: 'center',
|
||||
width: '80px'
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '账号',
|
||||
|
@ -225,8 +224,7 @@ const columns = [
|
|||
},
|
||||
{
|
||||
title: '性别',
|
||||
dataIndex: 'genderName',
|
||||
width: '50px'
|
||||
dataIndex: 'genderName'
|
||||
},
|
||||
{
|
||||
title: '手机',
|
||||
|
@ -245,8 +243,7 @@ const columns = [
|
|||
},
|
||||
{
|
||||
title: '状态',
|
||||
dataIndex: 'userStatus',
|
||||
width: '80px'
|
||||
dataIndex: 'userStatus'
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
|
|
|
@ -1,64 +1,71 @@
|
|||
<template>
|
||||
<a-row :gutter="10">
|
||||
<a-col :xs="24" :sm="24" :md="7" :lg="7" :xl="7" class="mb-3">
|
||||
<a-card :bordered="false">
|
||||
<div class="account-center-avatarHolder">
|
||||
<div class="avatar">
|
||||
<a-spin size="small" :spinning="avatarLoading">
|
||||
<img :src="userInfo.avatar" />
|
||||
</a-spin>
|
||||
<a @click="uploadLogo">
|
||||
<div v-if="userInfo" :class="userInfo.avatar ? 'mask' : 'mask-notImg'"><upload-outlined /></div>
|
||||
</a>
|
||||
<div class="h-dvh mb-3">
|
||||
<a-row :gutter="10" class="h-full">
|
||||
<a-col :xs="24" :sm="24" :md="7" :lg="7" :xl="7">
|
||||
<a-card :bordered="false" class="h-full">
|
||||
<div class="account-center-avatarHolder">
|
||||
<div class="avatar">
|
||||
<a-spin size="small" :spinning="avatarLoading">
|
||||
<img :src="userInfo.avatar" />
|
||||
</a-spin>
|
||||
<a @click="uploadLogo">
|
||||
<div v-if="userInfo" :class="userInfo.avatar ? 'mask' : 'mask-notImg'"><upload-outlined /></div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="username">{{ userInfo.name }}</div>
|
||||
<div class="bio">{{ userInfo.nickname }}</div>
|
||||
</div>
|
||||
<div class="username">{{ userInfo.name }}</div>
|
||||
<div class="bio">{{ userInfo.nickname }}</div>
|
||||
</div>
|
||||
<div class="account-center-detail">
|
||||
<p><i class="title"></i>{{ userInfo.positionName }}</p>
|
||||
<p><i class="group"></i>{{ userInfo.orgName }}</p>
|
||||
<p>
|
||||
<i class="address"></i>
|
||||
<span>{{ userInfo.homeAddress ? userInfo.homeAddress : '暂无地址' }}</span>
|
||||
<div class="account-center-detail">
|
||||
<p><i class="title"></i>{{ userInfo.positionName }}</p>
|
||||
<p><i class="group"></i>{{ userInfo.orgName }}</p>
|
||||
<p>
|
||||
<i class="address"></i>
|
||||
<span>{{ userInfo.homeAddress ? userInfo.homeAddress : '暂无地址' }}</span>
|
||||
</p>
|
||||
</div>
|
||||
<a-divider />
|
||||
<div class="account-center-team">
|
||||
<div class="mb-2 xn-wd" v-if="userInfo.signature">
|
||||
<a-image :src="userInfo.signature" width="100%" class="xn-bdr236 xn-ht120" />
|
||||
</div>
|
||||
<a-button @click="xnSignNameRef.show()">打开签名板</a-button>
|
||||
<XnSignName ref="xnSignNameRef" :image="userInfo.signature" @successful="signSuccess" />
|
||||
</div>
|
||||
</a-card>
|
||||
</a-col>
|
||||
<a-col :xs="24" :sm="24" :md="17" :lg="17" :xl="17">
|
||||
<a-card
|
||||
:bordered="false"
|
||||
class="xn-wd h-full"
|
||||
:tab-list="tabList"
|
||||
:active-tab-key="noTitleKey"
|
||||
@tabChange="(key) => onTabChange(key, 'key')"
|
||||
>
|
||||
<p v-if="noTitleKey === 'accountBasic'">
|
||||
<accountBasic />
|
||||
</p>
|
||||
</div>
|
||||
<a-divider />
|
||||
<div class="account-center-team">
|
||||
<div class="mb-2 xn-wd" v-if="userInfo.signature">
|
||||
<a-image :src="userInfo.signature" width="100%" class="xn-bdr236 xn-ht120" />
|
||||
</div>
|
||||
<a-button @click="xnSignNameRef.show()">打开签名板</a-button>
|
||||
<XnSignName ref="xnSignNameRef" :image="userInfo.signature" @successful="signSuccess" />
|
||||
</div>
|
||||
</a-card>
|
||||
</a-col>
|
||||
<a-col :xs="24" :sm="24" :md="17" :lg="17" :xl="17">
|
||||
<a-card
|
||||
:bordered="false"
|
||||
class="xn-wd"
|
||||
:tab-list="tabList"
|
||||
:active-tab-key="noTitleKey"
|
||||
@tabChange="(key) => onTabChange(key, 'key')"
|
||||
>
|
||||
<p v-if="noTitleKey === 'accountBasic'">
|
||||
<accountBasic />
|
||||
</p>
|
||||
<p v-if="noTitleKey === 'organizationChart'">
|
||||
<organizationChart />
|
||||
</p>
|
||||
<p v-if="noTitleKey === 'accountBind'">
|
||||
<accountBind />
|
||||
</p>
|
||||
<p v-if="noTitleKey === 'shortcutSetting'">
|
||||
<shortcutSetting />
|
||||
</p>
|
||||
<p v-if="noTitleKey === 'userMessage'">
|
||||
<userMessage />
|
||||
</p>
|
||||
</a-card>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<CropUpload ref="cropUploadRef" :img-src="userInfo ? userInfo.avatar : undefined" @successful="cropUploadSuccess" :z-index="2000" />
|
||||
<p v-if="noTitleKey === 'organizationChart'">
|
||||
<organizationChart />
|
||||
</p>
|
||||
<p v-if="noTitleKey === 'accountBind'">
|
||||
<accountBind />
|
||||
</p>
|
||||
<p v-if="noTitleKey === 'shortcutSetting'">
|
||||
<shortcutSetting />
|
||||
</p>
|
||||
<p v-if="noTitleKey === 'userMessage'">
|
||||
<userMessage />
|
||||
</p>
|
||||
</a-card>
|
||||
</a-col>
|
||||
</a-row>
|
||||
<CropUpload
|
||||
ref="cropUploadRef"
|
||||
:img-src="userInfo ? userInfo.avatar : undefined"
|
||||
@successful="cropUploadSuccess"
|
||||
:z-index="2000"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup name="userCenter">
|
||||
|
|
|
@ -55,8 +55,7 @@
|
|||
},
|
||||
{
|
||||
title: '是否已读',
|
||||
dataIndex: 'read',
|
||||
width: '100px'
|
||||
dataIndex: 'read'
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
|
|
|
@ -48,8 +48,7 @@
|
|||
},
|
||||
{
|
||||
title: '是否已读',
|
||||
dataIndex: 'read',
|
||||
width: 120
|
||||
dataIndex: 'read'
|
||||
}
|
||||
]
|
||||
// 打开抽屉
|
||||
|
|
|
@ -22,6 +22,7 @@ import cn.hutool.json.JSONUtil;
|
|||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.sms4j.aliyun.config.AlibabaConfig;
|
||||
import org.dromara.sms4j.api.SmsBlend;
|
||||
import org.dromara.sms4j.api.dao.SmsDaoDefaultImpl;
|
||||
import org.dromara.sms4j.api.entity.SmsResponse;
|
||||
import org.dromara.sms4j.core.factory.SmsFactory;
|
||||
import org.dromara.sms4j.javase.config.SEInitializer;
|
||||
|
@ -75,7 +76,7 @@ public class DevSmsAliyunUtil {
|
|||
alibabaConfig.setAccessKeyId(accessKeyId);
|
||||
alibabaConfig.setAccessKeySecret(accessKeySecret);
|
||||
alibabaConfig.setSignature(signName);
|
||||
SEInitializer.initializer().fromConfig(new SmsConfig(), CollectionUtil.newArrayList(alibabaConfig));
|
||||
SEInitializer.initializer().registerSmsDao(SmsDaoDefaultImpl.getInstance()).fromConfig(new SmsConfig(), CollectionUtil.newArrayList(alibabaConfig));
|
||||
smsBlend = SmsFactory.getSmsBlend(alibabaConfig.getConfigId());
|
||||
}
|
||||
|
||||
|
|
|
@ -21,6 +21,7 @@ import cn.hutool.json.JSONObject;
|
|||
import cn.hutool.json.JSONUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.sms4j.api.SmsBlend;
|
||||
import org.dromara.sms4j.api.dao.SmsDaoDefaultImpl;
|
||||
import org.dromara.sms4j.api.entity.SmsResponse;
|
||||
import org.dromara.sms4j.core.factory.SmsFactory;
|
||||
import org.dromara.sms4j.javase.config.SEInitializer;
|
||||
|
@ -83,7 +84,7 @@ public class DevSmsTencentUtil {
|
|||
tencentConfig.setAccessKeySecret(secretKey);
|
||||
tencentConfig.setSignature(signName);
|
||||
tencentConfig.setSdkAppId(sdkAppId);
|
||||
SEInitializer.initializer().fromConfig(new SmsConfig(), CollectionUtil.newArrayList(tencentConfig));
|
||||
SEInitializer.initializer().registerSmsDao(SmsDaoDefaultImpl.getInstance()).fromConfig(new SmsConfig(), CollectionUtil.newArrayList(tencentConfig));
|
||||
smsBlend = SmsFactory.getSmsBlend(tencentConfig.getConfigId());
|
||||
}
|
||||
|
||||
|
|
|
@ -21,6 +21,7 @@ import cn.hutool.json.JSONObject;
|
|||
import cn.hutool.json.JSONUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.sms4j.api.SmsBlend;
|
||||
import org.dromara.sms4j.api.dao.SmsDaoDefaultImpl;
|
||||
import org.dromara.sms4j.api.entity.SmsResponse;
|
||||
import org.dromara.sms4j.core.factory.SmsFactory;
|
||||
import org.dromara.sms4j.dingzhong.config.DingZhongConfig;
|
||||
|
@ -84,7 +85,7 @@ public class DevSmsXiaonuoUtil {
|
|||
dingZhongConfig.setAccessKeySecret(accessKeySecret);
|
||||
dingZhongConfig.setSignature(signName);
|
||||
dingZhongConfig.setRequestUrl(requestUrl);
|
||||
SEInitializer.initializer().fromConfig(new SmsConfig(), CollectionUtil.newArrayList(dingZhongConfig));
|
||||
SEInitializer.initializer().registerSmsDao(SmsDaoDefaultImpl.getInstance()).fromConfig(new SmsConfig(), CollectionUtil.newArrayList(dingZhongConfig));
|
||||
smsBlend = SmsFactory.getSmsBlend(dingZhongConfig.getConfigId());
|
||||
}
|
||||
|
||||
|
|
|
@ -220,7 +220,6 @@
|
|||
const selectedRowKeys = ref([])
|
||||
// 列表选择配置
|
||||
const options = {
|
||||
// columns数字类型字段加入 needTotal: true 可以勾选自动算账
|
||||
alert: {
|
||||
show: true,
|
||||
clear: () => {
|
||||
|
|
|
@ -203,7 +203,7 @@ INSERT INTO `DEV_CONFIG` VALUES ('1554740179362967459', 'SNOWY_SYS_COPYRIGHT_URL
|
|||
INSERT INTO `DEV_CONFIG` VALUES ('1554740179362967462', 'SNOWY_SYS_DEFAULT_CAPTCHA_OPEN_FLAG_FOR_B', 'B端全局验证码开关', 'SYS_BASE', 'B端全局验证码开关', 8, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `DEV_CONFIG` VALUES ('1554740179362967463', 'SNOWY_SYS_DEFAULT_FILE_ENGINE', 'LOCAL', 'SYS_BASE', '默认文件存储引擎', 9, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `DEV_CONFIG` VALUES ('1554740179362967464', 'SNOWY_SYS_DEFAULT_PASSWORD_FOR_B', '123456', 'PASSWORD_STRATEGY_FOR_B', 'B端默认用户密码', 10, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `DEV_CONFIG` VALUES ('1554740179362967465', 'SNOWY_SYS_DEFAULT_DESCRRIPTION', 'Snowy是一款国内首例国产密码算法加密框架,采用Vue3.0+AntDesignVue3.0+SpringBoot2.8前后分离技术打造,技术框架与密码的结合,让前后分离‘密’不可分!', 'SYS_BASE', '系统描述', 11, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `DEV_CONFIG` VALUES ('1554740179362967465', 'SNOWY_SYS_DEFAULT_DESCRRIPTION', 'Snowy是一款国内首例国产密码算法加密框架,采用Vue3.x+AntDesignVue4.x+SpringBoot3.x前后分离技术打造,技术框架与密码的结合,让前后分离‘密’不可分!', 'SYS_BASE', '系统描述', 11, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `DEV_CONFIG` VALUES ('1554740179362967466', 'SNOWY_SYS_DEFAULT_WORKBENCH_DATA', '{\"shortcut\":[{\"id\":\"1548901111999770526\",\"title\":\"系统首页\",\"icon\":\"home-outlined\",\"path\":\"/index\"}]}', 'SYS_BASE', '系统默认工作台数据', 12, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `DEV_CONFIG` VALUES ('1554740179362967558', 'SNOWY_THIRD_GITEE_CLIENT_ID', 'GiteeClientId', 'THIRD_GITEE', 'GiteeClientId', 13, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
INSERT INTO `DEV_CONFIG` VALUES ('1554740179362967559', 'SNOWY_THIRD_GITEE_CLIENT_SECRET', 'GiteeClientSecret', 'THIRD_GITEE', 'GiteeClientSecret', 14, NULL, 'NOT_DELETE', NULL, NULL, NULL, NULL);
|
||||
|
@ -987,8 +987,8 @@ CREATE TABLE `SYS_ORG_EXT` (
|
|||
`ID` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`ORG_ID` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '组织id',
|
||||
`SOURCE_FROM_TYPE` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '来源类别',
|
||||
`ID_SOURCE_ID` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '身份源ID',
|
||||
`ID_SOURCE_ORG_ID` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '身份源机构ID',
|
||||
`ID_SOURCE_ID` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '身份源ID',
|
||||
`ID_SOURCE_ORG_ID` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '身份源机构ID',
|
||||
`DELETE_FLAG` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '删除标志',
|
||||
`CREATE_TIME` datetime NULL DEFAULT NULL COMMENT '创建时间',
|
||||
`CREATE_USER` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建用户',
|
||||
|
|
Loading…
Reference in New Issue