若依后台管理框架
- 一直想做一款后台管理系统,看了很多优秀的开源项目但是发现没有合适自己的。于是利用空闲休息时间开始自己写一套后台系统。如此有了若依管理系统,她可以用于所有的Web应用程序,如网站管理后台,网站会员中心,CMS,CRM,OA等等,当然,您也可以对她进行深度定制,以做出更强系统。所有前端后台代码封装过后十分精简易上手,出错概率低。同时支持移动客户端访问。系统会陆续更新一些实用功能。
+ 一直想做一款后台管理系统,看了很多优秀的开源项目但是发现没有合适自己的。于是利用空闲休息时间开始自己写一套后台系统。如此有了BMS,她可以用于所有的Web应用程序,如网站管理后台,网站会员中心,CMS,CRM,OA等等,当然,您也可以对她进行深度定制,以做出更强系统。所有前端后台代码封装过后十分精简易上手,出错概率低。同时支持移动客户端访问。系统会陆续更新一些实用功能。
当前版本: v{{ version }}
diff --git a/src/views/monitor/job/index.vue b/src/views/monitor/job/index.vue
index 17f5dc7..229236b 100644
--- a/src/views/monitor/job/index.vue
+++ b/src/views/monitor/job/index.vue
@@ -1,435 +1,361 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
-
-
-
-
-
- 新增
-
-
- 修改
-
-
- 删除
-
-
- 导出
-
-
- 日志
-
-
-
-
-
-
-
-
-
- {{ scope.row.jobName }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 调用方法
-
-
-
- Bean调用示例:ryTask.ryParams('ry')
-
Class类调用示例:com.ruoyi.quartz.task.RyTask.ryParams('ry')
-
参数说明:支持字符串,布尔类型,长整型,浮点型,整型
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 生成表达式
-
-
-
-
-
-
-
-
-
- {{ dict.label }}
-
-
-
-
-
-
- 立即执行
- 执行一次
- 放弃执行
-
-
-
-
-
-
- 允许
- 禁止
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+ 新增
+
+
+ 修改
+
+
+ 删除
+
+
+ 导出
+
+
+ 日志
+
+
+
+
+ {{ row.jobName }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 调用方法
+
+
+
+ Bean调用示例:ryTask.ryParams('ry')
+
Class类调用示例:com.ruoyi.quartz.task.RyTask.ryParams('ry')
+
参数说明:支持字符串,布尔类型,长整型,浮点型,整型
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 生成表达式
+
+
+
+
+
+
+
+
+
+ {{ dict.label }}
+
+
+
+
+
+
+ 立即执行
+ 执行一次
+ 放弃执行
+
+
+
+
+
+
+ 允许
+ 禁止
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/monitor/job/log.vue b/src/views/monitor/job/log.vue
index 5b2c108..a47b3df 100644
--- a/src/views/monitor/job/log.vue
+++ b/src/views/monitor/job/log.vue
@@ -1,251 +1,158 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
-
-
-
-
-
- 删除
-
-
- 清空
-
-
- 导出
-
-
- 关闭
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ parseTime(scope.row.createTime) }}
-
-
-
-
- 详细
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+ 删除
+
+
+ 清空
+
+
+ 导出
+
+
+ 关闭
+
+
+
+
+ 详细
+
+
+
+
+
+
+
+
+
diff --git a/src/views/monitor/logininfor/index.vue b/src/views/monitor/logininfor/index.vue
index 807fd05..90585fe 100644
--- a/src/views/monitor/logininfor/index.vue
+++ b/src/views/monitor/logininfor/index.vue
@@ -1,233 +1,144 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
-
-
-
-
-
- 删除
-
-
- 清空
-
-
- 解锁
-
-
- 导出
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ parseTime(scope.row.loginTime) }}
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+ 删除
+
+
+ 清空
+
+
+ 解锁
+
+
+ 导出
+
+
+
+
+
+
+
diff --git a/src/views/monitor/online/index.vue b/src/views/monitor/online/index.vue
index fcfee24..2712b01 100644
--- a/src/views/monitor/online/index.vue
+++ b/src/views/monitor/online/index.vue
@@ -1,109 +1,64 @@
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
-
-
-
-
-
- {{ (pageNum - 1) * pageSize + scope.$index + 1 }}
-
-
-
-
-
-
-
-
-
-
-
- {{ parseTime(scope.row.loginTime) }}
-
-
-
-
- 强退
-
-
-
-
-
-
-
-
-
+
+
+
+
+ 强退
+
+
+
+
+
+
diff --git a/src/views/monitor/operlog/index.vue b/src/views/monitor/operlog/index.vue
index eb4a8cc..2bdb41f 100644
--- a/src/views/monitor/operlog/index.vue
+++ b/src/views/monitor/operlog/index.vue
@@ -1,262 +1,141 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
-
-
-
-
-
- 删除
-
-
- 清空
-
-
- 导出
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ parseTime(scope.row.operTime) }}
-
-
-
-
- {{ scope.row.costTime }}毫秒
-
-
-
-
- 详细
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+ 删除
+
+
+ 清空
+
+
+ 导出
+
+
+
+
+ 详细
+
+
+
+
+
+
+
+
diff --git a/src/views/system/config/index.vue b/src/views/system/config/index.vue
index 01db3ca..2489160 100644
--- a/src/views/system/config/index.vue
+++ b/src/views/system/config/index.vue
@@ -1,316 +1,230 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
-
-
-
-
-
- 新增
-
-
- 修改
-
-
- 删除
-
-
- 导出
-
-
- 刷新缓存
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ parseTime(scope.row.createTime) }}
-
-
-
-
- 修改
- 删除
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ dict.label }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+ 新增
+
+
+ 修改
+
+
+ 删除
+
+
+ 导出
+
+
+ 刷新缓存
+
+
+
+
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ dict.label }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/system/dict/data.vue b/src/views/system/dict/data.vue
index 410be6f..0ec660b 100644
--- a/src/views/system/dict/data.vue
+++ b/src/views/system/dict/data.vue
@@ -1,362 +1,276 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
-
-
-
-
-
- 新增
-
-
- 修改
-
-
- 删除
-
-
- 导出
-
-
- 关闭
-
-
-
-
-
-
-
-
-
- {{ scope.row.dictLabel }}
- {{ scope.row.dictLabel }}
-
-
-
-
-
-
-
-
-
-
-
-
- {{ parseTime(scope.row.createTime) }}
-
-
-
-
- 修改
- 删除
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ dict.label }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+ 新增
+
+
+ 修改
+
+
+ 删除
+
+
+ 导出
+
+
+ 关闭
+
+
+
+
+ {{ row.dictLabel }}
+ {{ row.dictLabel }}
+
+
+
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ dict.label }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/system/dict/index.vue b/src/views/system/dict/index.vue
index 721c956..db4232a 100644
--- a/src/views/system/dict/index.vue
+++ b/src/views/system/dict/index.vue
@@ -1,346 +1,255 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
-
-
-
-
-
- 新增
-
-
- 修改
-
-
- 删除
-
-
- 导出
-
-
- 刷新缓存
-
-
-
-
-
-
-
-
-
-
- {{ scope.row.dictType }}
-
-
-
-
-
-
-
-
-
-
- {{ parseTime(scope.row.createTime) }}
-
-
-
-
- 修改
- 列表
- 删除
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 字典类型
-
-
-
-
-
- {{ dict.label }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+ 新增
+
+
+ 修改
+
+
+ 删除
+
+
+ 导出
+
+
+ 刷新缓存
+
+
+
+
+ {{ row.dictType }}
+
+
+
+ 修改
+ 列表
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 字典类型
+
+
+
+
+
+ {{ dict.label }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/system/notice/ReadUsers.vue b/src/views/system/notice/ReadUsers.vue
index 7590bef..2d5dd3b 100644
--- a/src/views/system/notice/ReadUsers.vue
+++ b/src/views/system/notice/ReadUsers.vue
@@ -1,47 +1,24 @@
-
-
-
-
-
- 搜索
- 重置
-
-
-
- 共 {{ total }} 人已读
-
-
-
-
-
-
-
-
-
-
-
- {{ parseTime(scope.row.readTime) }}
-
-
-
-
+
+
+ 共 {{ readTotal }} 人已读
+
+
@@ -51,52 +28,64 @@ import { listNoticeReadUsers } from "@/api/system/notice"
const { proxy } = getCurrentInstance()
+const tableRef = ref()
const visible = ref(false)
-const loading = ref(false)
const noticeTitle = ref("")
-const total = ref(0)
-const userList = ref([])
+const readTotal = ref(0)
-const queryParams = reactive({
- pageNum: 1,
- pageSize: 10,
- noticeId: undefined,
- searchValue: undefined
-})
+// 固定参数:公告 ID(每次请求合并,不参与搜索重置)
+const extraParams = reactive({ noticeId: undefined })
-function open(row) {
- queryParams.noticeId = row.noticeId
- noticeTitle.value = row.noticeTitle
- queryParams.searchValue = undefined
- queryParams.pageNum = 1
- visible.value = true
- getList()
-}
+// 搜索项配置
+const searchColumns = [
+ {
+ label: "",
+ prop: "searchValue",
+ component: "input",
+ placeholder: "登录名称 / 用户名称",
+ width: "220px",
+ formItemProps: { labelWidth: "0px" },
+ props: {
+ prefixIcon: Search,
+ clearable: true,
+ onKeyup: (e) => { if (e.key === "Enter") tableRef.value?.handleQuery() },
+ onClear: () => tableRef.value?.handleQuery()
+ }
+ }
+]
-function getList() {
- loading.value = true
- listNoticeReadUsers(queryParams).then(res => {
- userList.value = res.rows
- total.value = res.total
- }).finally(() => {
- loading.value = false
+// 表格列配置
+const columns = [
+ { label: "登录名称", prop: "userName", align: "center" },
+ { label: "用户名称", prop: "nickName", align: "center" },
+ { label: "所属部门", prop: "deptName", align: "center" },
+ { label: "手机号码", prop: "phonenumber", align: "center", width: 120 },
+ { label: "阅读时间", prop: "readTime", align: "center", width: 160, parseTime: true }
+]
+
+// 查询函数(BasicTable 调用,返回 { rows, total });同时记录已读总数用于统计
+function queryList(params) {
+ return listNoticeReadUsers(params).then(res => {
+ readTotal.value = res.total
+ return res
})
}
-function handleQuery() {
- queryParams.pageNum = 1
- getList()
-}
-
-function resetQuery() {
- proxy.resetForm("queryRef")
- handleQuery()
+/** 打开弹框 */
+function open(row) {
+ extraParams.noticeId = row.noticeId
+ noticeTitle.value = row.noticeTitle
+ visible.value = true
+ nextTick(() => {
+ tableRef.value?.setQueryParams({ searchValue: undefined })
+ tableRef.value?.reload()
+ })
}
+/** 关闭弹框 */
function handleClose() {
- userList.value = []
- total.value = 0
- queryParams.searchValue = undefined
+ tableRef.value?.clearSelection()
+ tableRef.value?.setQueryParams({ searchValue: undefined })
}
defineExpose({
@@ -115,4 +104,8 @@ defineExpose({
font-size: 15px;
margin: 0 2px;
}
+/* 将搜索栏操作区(搜索/重置 + 已读统计)浮动到右侧 */
+:deep(.basic-form > .el-form-item:last-of-type) {
+ float: right;
+}
diff --git a/src/views/system/notice/index.vue b/src/views/system/notice/index.vue
index f0c3316..c4a4ec7 100644
--- a/src/views/system/notice/index.vue
+++ b/src/views/system/notice/index.vue
@@ -1,306 +1,225 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
-
-
-
-
-
- 新增
-
-
- 修改
-
-
- 删除
-
-
-
-
-
-
-
-
-
- {{ scope.row.noticeTitle }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}
-
-
-
-
- 阅读用户
- 修改
- 删除
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ dict.label }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+ 新增
+
+
+ 修改
+
+
+ 删除
+
+
+
+
+ {{ row.noticeTitle }}
+
+
+
+ 阅读用户
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ dict.label }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/system/post/index.vue b/src/views/system/post/index.vue
index 67bbdc0..e127d81 100644
--- a/src/views/system/post/index.vue
+++ b/src/views/system/post/index.vue
@@ -1,287 +1,210 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
-
-
-
-
-
- 新增
-
-
- 修改
-
-
- 删除
-
-
- 导出
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ parseTime(scope.row.createTime) }}
-
-
-
-
- 修改
- 删除
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ dict.label }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+ 新增
+
+
+ 修改
+
+
+ 删除
+
+
+ 导出
+
+
+
+
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ dict.label }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/system/role/authUser.vue b/src/views/system/role/authUser.vue
index c9f7d30..0ffa078 100644
--- a/src/views/system/role/authUser.vue
+++ b/src/views/system/role/authUser.vue
@@ -1,179 +1,125 @@
-
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
-
-
-
-
-
- 添加用户
-
-
- 批量取消授权
-
-
- 关闭
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ parseTime(scope.row.createTime) }}
-
-
-
-
- 取消授权
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+ 添加用户
+
+
+ 批量取消授权
+
+
+ 关闭
+
+
+
+
+ 取消授权
+
+
+
+
+
+
+
+
diff --git a/src/views/system/role/index.vue b/src/views/system/role/index.vue
index b6beae6..f7f3317 100644
--- a/src/views/system/role/index.vue
+++ b/src/views/system/role/index.vue
@@ -1,584 +1,485 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
-
-
-
-
- 新增
-
-
- 修改
-
-
- 删除
-
-
- 导出
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ parseTime(scope.row.createTime) }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 权限字符
-
-
-
-
-
-
-
-
-
- {{ dict.label }}
-
-
-
- 展开/折叠
- 全选/全不选
- 父子联动
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 展开/折叠
- 全选/全不选
- 父子联动
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+ 新增
+
+
+ 修改
+
+
+ 删除
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 权限字符
+
+
+
+
+
+
+
+
+
+ {{ dict.label }}
+
+
+
+ 展开/折叠
+ 全选/全不选
+ 父子联动
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 展开/折叠
+ 全选/全不选
+ 父子联动
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/system/role/selectUser.vue b/src/views/system/role/selectUser.vue
index 3f48530..3b641b1 100644
--- a/src/views/system/role/selectUser.vue
+++ b/src/views/system/role/selectUser.vue
@@ -1,144 +1,99 @@
-
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ parseTime(scope.row.createTime) }}
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/system/user/authRole.vue b/src/views/system/user/authRole.vue
index 8293fb3..d73a064 100644
--- a/src/views/system/user/authRole.vue
+++ b/src/views/system/user/authRole.vue
@@ -1,123 +1,151 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ (pageNum - 1) * pageSize + scope.$index + 1 }}
-
-
-
-
-
-
-
-
- {{ parseTime(scope.row.createTime) }}
-
-
-
-
-
-
-
-
- 提交
- 返回
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 提交
+ 返回
+
+
+
+
+
+
diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue
index 5b80c74..1c491ad 100644
--- a/src/views/system/user/index.vue
+++ b/src/views/system/user/index.vue
@@ -1,459 +1,388 @@
-
-
-
-
-
+
+
+
+
+
diff --git a/src/views/tool/gen/importTable.vue b/src/views/tool/gen/importTable.vue
index 34e0916..7100458 100644
--- a/src/views/tool/gen/importTable.vue
+++ b/src/views/tool/gen/importTable.vue
@@ -1,126 +1,92 @@
-
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/tool/gen/index.vue b/src/views/tool/gen/index.vue
index 5a16582..3ab6e7c 100644
--- a/src/views/tool/gen/index.vue
+++ b/src/views/tool/gen/index.vue
@@ -1,309 +1,249 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
-
-
-
-
-
- 生成
-
-
- 创建
-
-
- 导入
-
-
- 修改
-
-
- 删除
-
-
-
-
-
-
-
-
- {{(queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 复制
- {{ value }}
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+ 生成
+
+
+ 创建
+
+
+ 导入
+
+
+ 修改
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 复制
+ {{ value }}
+
+
+
+
+
+
+
+
+