diff --git a/src/assets/images/grayAddIcon.png b/src/assets/images/grayAddIcon.png
new file mode 100644
index 0000000..4b2a651
Binary files /dev/null and b/src/assets/images/grayAddIcon.png differ
diff --git a/src/assets/images/login-background1.png b/src/assets/images/login-background1.png
new file mode 100644
index 0000000..1ebb2d3
Binary files /dev/null and b/src/assets/images/login-background1.png differ
diff --git a/src/assets/images/loginBg.png b/src/assets/images/loginBg.png
new file mode 100644
index 0000000..2150428
Binary files /dev/null and b/src/assets/images/loginBg.png differ
diff --git a/src/assets/images/loginSpliteLine.png b/src/assets/images/loginSpliteLine.png
new file mode 100644
index 0000000..f0167b6
Binary files /dev/null and b/src/assets/images/loginSpliteLine.png differ
diff --git a/src/assets/images/systemLogo1.png b/src/assets/images/systemLogo1.png
new file mode 100644
index 0000000..b2dd54b
Binary files /dev/null and b/src/assets/images/systemLogo1.png differ
diff --git a/src/assets/images/systemLogo2.png b/src/assets/images/systemLogo2.png
new file mode 100644
index 0000000..ca57558
Binary files /dev/null and b/src/assets/images/systemLogo2.png differ
diff --git a/src/layout/components/Navbar copy.vue b/src/layout/components/Navbar copy.vue
index cab43c5..402a1dc 100644
--- a/src/layout/components/Navbar copy.vue
+++ b/src/layout/components/Navbar copy.vue
@@ -95,7 +95,7 @@ function logout() {
type: 'warning'
}).then(() => {
userStore.logOut().then(() => {
- location.href = '/index'
+ location.href = '/qualification/myQualifications'
})
}).catch(() => { })
}
diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue
index 70364aa..e87912b 100644
--- a/src/layout/components/Navbar.vue
+++ b/src/layout/components/Navbar.vue
@@ -109,7 +109,7 @@ function logout() {
type: 'warning'
}).then(() => {
userStore.logOut().then(() => {
- location.href = '/index'
+ location.href = '/qualification/myQualifications'
})
}).catch(() => { })
}
diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue
index ad2b8ca..1fc5847 100644
--- a/src/layout/components/TagsView/index.vue
+++ b/src/layout/components/TagsView/index.vue
@@ -101,7 +101,7 @@ function isAffix(tag) {
function isFirstView() {
try {
- return selectedTag.value.fullPath === '/index' || selectedTag.value.fullPath === visitedViews.value[1].fullPath
+ return selectedTag.value.fullPath === '/qualification/myQualifications' || selectedTag.value.fullPath === visitedViews.value[1].fullPath
} catch (err) {
return false
}
diff --git a/src/permission.js b/src/permission.js
index 7e3b5bf..c7853d1 100644
--- a/src/permission.js
+++ b/src/permission.js
@@ -11,7 +11,7 @@ import usePermissionStore from '@/store/modules/permission'
NProgress.configure({ showSpinner: false })
-const whiteList = ['/login', '/register']
+const whiteList = ['/login', '/register', '/forgetPassword']
const isWhiteList = (path) => {
return whiteList.some(pattern => isPathMatch(pattern, path))
@@ -23,7 +23,7 @@ router.beforeEach((to, from, next) => {
to.meta.title && useSettingsStore().setTitle(to.meta.title)
/* has token*/
if (to.path === '/login') {
- next({ path: '/' })
+ next({ path: '/qualification/myQualifications' })
NProgress.done()
} else if (isWhiteList(to.path)) {
next()
@@ -45,7 +45,7 @@ router.beforeEach((to, from, next) => {
}).catch(err => {
useUserStore().logOut().then(() => {
ElMessage.error(err)
- next({ path: '/' })
+ next({ path: '/qualification/myQualifications' })
})
})
} else {
@@ -58,7 +58,9 @@ router.beforeEach((to, from, next) => {
// 在免登录白名单,直接进入
next()
} else {
- next(`/login?redirect=${to.fullPath}`) // 否则全部重定向到登录页
+ console.log('sdfaf', to.fullPath)
+ // next(`/login?redirect=${to.fullPath}`) // 否则全部重定向到登录页
+ next(`/login?redirect=/qualification/myQualifications`)
NProgress.done()
}
}
diff --git a/src/router/index.js b/src/router/index.js
index f4f108f..c3a505b 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -47,6 +47,11 @@ export const constantRoutes = [
component: () => import('@/views/register'),
hidden: true
},
+ {
+ path: '/forgetPassword',
+ component: () => import('@/views/forgetPassword'),
+ hidden: true
+ },
{
path: "/:pathMatch(.*)*",
component: () => import('@/views/error/404'),
@@ -64,7 +69,7 @@ export const constantRoutes = [
children: [
{
path: '/index',
- component: () => import('@/views/index'),
+ component: () => import('@/views/qualification/myQualifications/index'),
name: 'Index',
meta: { title: '首页', icon: 'dashboard', affix: true }
},
@@ -242,6 +247,21 @@ export const dynamicRoutes = [
}
]
},
+
+ {
+ path: '/system/userApproval/userApprovalDetail',
+ component: Layout,
+ hidden: true,
+ permissions: ['system:userApproval:approval'],
+ children: [
+ {
+ path: '',
+ component: () => import('@/views/system/userApproval/userApprovalDetail'),
+ name: 'userApprovalDetail',
+ meta: { title: '新用户审批', activeMenu: '/system/userApproval' }
+ }
+ ]
+ },
{
path: '/system/user-auth',
component: Layout,
diff --git a/src/utils/request.js b/src/utils/request.js
index e2e7e49..911e08b 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -87,7 +87,7 @@ service.interceptors.response.use(res => {
ElMessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { confirmButtonText: '重新登录', cancelButtonText: '取消', type: 'warning' }).then(() => {
isRelogin.show = false
useUserStore().logOut().then(() => {
- location.href = '/index'
+ location.href = '/qualification/myQualifications'
})
}).catch(() => {
isRelogin.show = false
diff --git a/src/views/error/404.vue b/src/views/error/404.vue
index f205303..82b0bb1 100644
--- a/src/views/error/404.vue
+++ b/src/views/error/404.vue
@@ -17,7 +17,7 @@
对不起,您正在寻找的页面不存在。尝试检查URL的错误,然后按浏览器上的刷新按钮或尝试在我们的应用程序中找到其他内容。
-
+
返回首页
diff --git a/src/views/forgetPassword.vue b/src/views/forgetPassword.vue
new file mode 100644
index 0000000..71fddec
--- /dev/null
+++ b/src/views/forgetPassword.vue
@@ -0,0 +1,240 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/login.vue b/src/views/login.vue
index 8b64e6b..c212ca8 100644
--- a/src/views/login.vue
+++ b/src/views/login.vue
@@ -1,74 +1,104 @@
-
-
- {{ title }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
![]()
-
-
- 记住密码
-
-
- 登 录
- 登 录 中...
-
-
- 立即注册
-
-
-
+
+
+
+
+
+
+
![]()
+
+
+
![]()
+
+
+
+
+
diff --git a/src/views/safetyReview/dashboard/index.vue b/src/views/safetyReview/dashboard/index.vue
index 1c8d445..dddbdb8 100644
--- a/src/views/safetyReview/dashboard/index.vue
+++ b/src/views/safetyReview/dashboard/index.vue
@@ -2,7 +2,7 @@
@@ -98,9 +98,9 @@ const resetQuery = () => {
handleQuery()
}
onMounted(() => {
- initQualificationPer();
- initQualificationBar();
- initVehicleTrainBar();
+ // initQualificationPer();
+ // initQualificationBar();
+ // initVehicleTrainBar();
});
const dataCake = [
{ value: 2562, name: 'SH', percentage: '15.86%' },
diff --git a/src/views/safetyReview/examinerTasks/addTaskForm.vue b/src/views/safetyReview/examinerTasks/addTaskForm.vue
index 0d51849..d762e40 100644
--- a/src/views/safetyReview/examinerTasks/addTaskForm.vue
+++ b/src/views/safetyReview/examinerTasks/addTaskForm.vue
@@ -16,81 +16,114 @@
新增
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+ {{ item }}
+
+
+
@@ -106,6 +139,7 @@
+
+
\ No newline at end of file
diff --git a/src/views/system/dict/data.vue b/src/views/system/dict/data.vue
index 4869f94..9260aa8 100644
--- a/src/views/system/dict/data.vue
+++ b/src/views/system/dict/data.vue
@@ -1,129 +1,96 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+ 重置
+
+
-
-
- 新增
-
-
- 修改
-
-
- 删除
-
-
- 导出
-
-
- 关闭
-
-
-
+
-
-
-
-
-
- {{ scope.row.dictLabel }}
- {{ scope.row.dictLabel }}
-
-
-
-
-
-
-
-
-
-
-
-
- {{ parseTime(scope.row.createTime) }}
-
-
-
-
- 修改
- 删除
-
-
-
-
-
+
+
+ 新增
+
+
+ 修改
+
+
+ 删除
+
+
+ 导出
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+ {{
+ scope.row.dictLabel }}
+ {{ scope.row.dictLabel }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ parseTime(scope.row.createTime) }}
+
+
+
+
+ 修改
+ 删除
+
+
+
+
+
@@ -144,21 +111,14 @@
-
+
- {{ dict.label }}
+ {{ dict.label
+ }}
@@ -179,10 +139,11 @@
import useDictStore from '@/store/modules/dict'
import { optionselect as getDictOptionselect, getType } from "@/api/system/dict/type"
import { listData, getData, delData, addData, updateData } from "@/api/system/dict/data"
+import Breadcrumb from '@/components/Breadcrumb'
const { proxy } = getCurrentInstance()
const { sys_normal_disable } = proxy.useDict("sys_normal_disable")
-
+
const dataList = ref([])
const open = ref(false)
const loading = ref(true)
@@ -197,166 +158,282 @@ const typeOptions = ref([])
const route = useRoute()
// 数据标签回显样式
const listClassOptions = ref([
- { value: "default", label: "默认" },
- { value: "primary", label: "主要" },
- { value: "success", label: "成功" },
- { value: "info", label: "信息" },
- { value: "warning", label: "警告" },
- { value: "danger", label: "危险" }
+ { value: "default", label: "默认" },
+ { value: "primary", label: "主要" },
+ { value: "success", label: "成功" },
+ { value: "info", label: "信息" },
+ { value: "warning", label: "警告" },
+ { value: "danger", label: "危险" }
])
const data = reactive({
- form: {},
- queryParams: {
- pageNum: 1,
- pageSize: 10,
- dictType: undefined,
- dictLabel: undefined,
- status: undefined
- },
- rules: {
- dictLabel: [{ required: true, message: "数据标签不能为空", trigger: "blur" }],
- dictValue: [{ required: true, message: "数据键值不能为空", trigger: "blur" }],
- dictSort: [{ required: true, message: "数据顺序不能为空", trigger: "blur" }]
- }
+ form: {},
+ queryParams: {
+ pageNum: 1,
+ pageSize: 10,
+ dictType: undefined,
+ dictLabel: undefined,
+ status: undefined
+ },
+ rules: {
+ dictLabel: [{ required: true, message: "数据标签不能为空", trigger: "blur" }],
+ dictValue: [{ required: true, message: "数据键值不能为空", trigger: "blur" }],
+ dictSort: [{ required: true, message: "数据顺序不能为空", trigger: "blur" }]
+ }
})
const { queryParams, form, rules } = toRefs(data)
/** 查询字典类型详细 */
function getTypes(dictId) {
- getType(dictId).then(response => {
- queryParams.value.dictType = response.data.dictType
- defaultDictType.value = response.data.dictType
- getList()
- })
+ getType(dictId).then(response => {
+ queryParams.value.dictType = response.data.dictType
+ defaultDictType.value = response.data.dictType
+ getList()
+ })
}
/** 查询字典类型列表 */
function getTypeList() {
- getDictOptionselect().then(response => {
- typeOptions.value = response.data
- })
+ getDictOptionselect().then(response => {
+ typeOptions.value = response.data
+ })
}
/** 查询字典数据列表 */
function getList() {
- loading.value = true
- listData(queryParams.value).then(response => {
- dataList.value = response.rows
- total.value = response.total
- loading.value = false
- })
+ loading.value = true
+ listData(queryParams.value).then(response => {
+ dataList.value = response.rows
+ total.value = response.total
+ loading.value = false
+ })
}
/** 取消按钮 */
function cancel() {
- open.value = false
- reset()
+ open.value = false
+ reset()
}
/** 表单重置 */
function reset() {
- form.value = {
- dictCode: undefined,
- dictLabel: undefined,
- dictValue: undefined,
- cssClass: undefined,
- listClass: "default",
- dictSort: 0,
- status: "0",
- remark: undefined
- }
- proxy.resetForm("dataRef")
+ form.value = {
+ dictCode: undefined,
+ dictLabel: undefined,
+ dictValue: undefined,
+ cssClass: undefined,
+ listClass: "default",
+ dictSort: 0,
+ status: "0",
+ remark: undefined
+ }
+ proxy.resetForm("dataRef")
}
/** 搜索按钮操作 */
function handleQuery() {
- queryParams.value.pageNum = 1
- getList()
+ queryParams.value.pageNum = 1
+ getList()
}
/** 返回按钮操作 */
function handleClose() {
- const obj = { path: "/system/dict" }
- proxy.$tab.closeOpenPage(obj)
+ const obj = { path: "/system/dict" }
+ proxy.$tab.closeOpenPage(obj)
}
/** 重置按钮操作 */
function resetQuery() {
- proxy.resetForm("queryRef")
- queryParams.value.dictType = defaultDictType.value
- handleQuery()
+ proxy.resetForm("queryRef")
+ queryParams.value.dictType = defaultDictType.value
+ handleQuery()
}
/** 新增按钮操作 */
function handleAdd() {
- reset()
- open.value = true
- title.value = "添加字典数据"
- form.value.dictType = queryParams.value.dictType
+ reset()
+ open.value = true
+ title.value = "添加字典数据"
+ form.value.dictType = queryParams.value.dictType
}
/** 多选框选中数据 */
function handleSelectionChange(selection) {
- ids.value = selection.map(item => item.dictCode)
- single.value = selection.length != 1
- multiple.value = !selection.length
+ ids.value = selection.map(item => item.dictCode)
+ single.value = selection.length != 1
+ multiple.value = !selection.length
}
/** 修改按钮操作 */
function handleUpdate(row) {
- reset()
- const dictCode = row.dictCode || ids.value
- getData(dictCode).then(response => {
- form.value = response.data
- open.value = true
- title.value = "修改字典数据"
- })
+ reset()
+ const dictCode = row.dictCode || ids.value
+ getData(dictCode).then(response => {
+ form.value = response.data
+ open.value = true
+ title.value = "修改字典数据"
+ })
}
/** 提交按钮 */
function submitForm() {
- proxy.$refs["dataRef"].validate(valid => {
- if (valid) {
- if (form.value.dictCode != undefined) {
- updateData(form.value).then(response => {
- useDictStore().removeDict(queryParams.value.dictType)
- proxy.$modal.msgSuccess("修改成功")
- open.value = false
- getList()
- })
- } else {
- addData(form.value).then(response => {
- useDictStore().removeDict(queryParams.value.dictType)
- proxy.$modal.msgSuccess("新增成功")
- open.value = false
- getList()
- })
+ proxy.$refs["dataRef"].validate(valid => {
+ if (valid) {
+ if (form.value.dictCode != undefined) {
+ updateData(form.value).then(response => {
+ useDictStore().removeDict(queryParams.value.dictType)
+ proxy.$modal.msgSuccess("修改成功")
+ open.value = false
+ getList()
+ })
+ } else {
+ addData(form.value).then(response => {
+ useDictStore().removeDict(queryParams.value.dictType)
+ proxy.$modal.msgSuccess("新增成功")
+ open.value = false
+ getList()
+ })
+ }
}
- }
- })
+ })
}
/** 删除按钮操作 */
function handleDelete(row) {
- const dictCodes = row.dictCode || ids.value
- proxy.$modal.confirm('是否确认删除字典编码为"' + dictCodes + '"的数据项?').then(function() {
- return delData(dictCodes)
- }).then(() => {
- getList()
- proxy.$modal.msgSuccess("删除成功")
- useDictStore().removeDict(queryParams.value.dictType)
- }).catch(() => {})
+ const dictCodes = row.dictCode || ids.value
+ proxy.$modal.confirm('是否确认删除字典编码为"' + dictCodes + '"的数据项?').then(function () {
+ return delData(dictCodes)
+ }).then(() => {
+ getList()
+ proxy.$modal.msgSuccess("删除成功")
+ useDictStore().removeDict(queryParams.value.dictType)
+ }).catch(() => { })
}
/** 导出按钮操作 */
function handleExport() {
- proxy.download("system/dict/data/export", {
- ...queryParams.value
- }, `dict_data_${new Date().getTime()}.xlsx`)
+ proxy.download("system/dict/data/export", {
+ ...queryParams.value
+ }, `dict_data_${new Date().getTime()}.xlsx`)
}
getTypes(route.params && route.params.dictId)
getTypeList()
+
diff --git a/src/views/system/dict/index.vue b/src/views/system/dict/index.vue
index 3671b74..d5bc22d 100644
--- a/src/views/system/dict/index.vue
+++ b/src/views/system/dict/index.vue
@@ -1,147 +1,111 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 展开
+
+
+ 折叠
+
+
+
+
+
+ 查询
+ 重置
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
- 新增
-
-
- 修改
-
-
- 删除
-
-
- 导出
-
-
- 刷新缓存
-
-
-
+
+
+ 新增
+
+
+ 修改
+
+
+ 删除
+
+
+ 导出
+
+
+ 刷新缓存
+
+
+
-
-
-
-
-
-
-
- {{ scope.row.dictType }}
-
-
-
-
-
-
-
-
-
-
-
- {{ parseTime(scope.row.createTime) }}
-
-
-
-
- 修改
- 删除
-
-
-
-
-
+
+
+
+
+
+
+
+
+ {{ scope.row.dictType }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ parseTime(scope.row.createTime) }}
+
+
+
+
+ 修改
+ 删除
+
+
+
+
+
-
-
+
+
@@ -150,11 +114,8 @@
- {{ dict.label }}
+ {{ dict.label
+ }}
@@ -174,6 +135,7 @@
+
diff --git a/src/views/system/locality/index.vue b/src/views/system/locality/index.vue
new file mode 100644
index 0000000..a42b8a0
--- /dev/null
+++ b/src/views/system/locality/index.vue
@@ -0,0 +1,367 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+ 重置
+
+
+
+
+
+
+ 新增
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ parseTime(scope.row.createTime) }}
+
+
+
+
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ dict.label
+ }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/system/menu/index.vue b/src/views/system/menu/index.vue
index ed41531..7bdce16 100644
--- a/src/views/system/menu/index.vue
+++ b/src/views/system/menu/index.vue
@@ -1,102 +1,82 @@
-
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+ 重置
+
+
+
-
-
- 新增
-
-
- 展开/折叠
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ parseTime(scope.row.createTime) }}
-
-
-
-
- 修改
- 新增
- 删除
-
-
-
+
+
+ 新增
+
+
+ 展开/折叠
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ parseTime(scope.row.createTime) }}
+
+
+
+
+ 修改
+ 新增
+ 删除
+
+
+
+
-
-
+
+
-
+
@@ -110,21 +90,15 @@
-
+
-
-
+
+
+
+
@@ -146,7 +120,9 @@
-
+
路由名称
@@ -201,7 +177,8 @@
-
+
权限字符
@@ -249,11 +226,8 @@
- {{ dict.label }}
+ {{ dict.label
+ }}
@@ -268,11 +242,8 @@
- {{ dict.label }}
+ {{ dict.label
+ }}
@@ -292,6 +263,7 @@
import { addMenu, delMenu, getMenu, listMenu, updateMenu } from "@/api/system/menu"
import SvgIcon from "@/components/SvgIcon"
import IconSelect from "@/components/IconSelect"
+import Breadcrumb from '@/components/Breadcrumb'
const { proxy } = getCurrentInstance()
const { sys_show_hide, sys_normal_disable } = proxy.useDict("sys_show_hide", "sys_normal_disable")
@@ -307,146 +279,263 @@ const refreshTable = ref(true)
const iconSelectRef = ref(null)
const data = reactive({
- form: {},
- queryParams: {
- menuName: undefined,
- visible: undefined
- },
- rules: {
- menuName: [{ required: true, message: "菜单名称不能为空", trigger: "blur" }],
- orderNum: [{ required: true, message: "菜单顺序不能为空", trigger: "blur" }],
- path: [{ required: true, message: "路由地址不能为空", trigger: "blur" }]
- },
+ form: {},
+ queryParams: {
+ menuName: undefined,
+ visible: undefined
+ },
+ rules: {
+ menuName: [{ required: true, message: "菜单名称不能为空", trigger: "blur" }],
+ orderNum: [{ required: true, message: "菜单顺序不能为空", trigger: "blur" }],
+ path: [{ required: true, message: "路由地址不能为空", trigger: "blur" }]
+ },
})
const { queryParams, form, rules } = toRefs(data)
/** 查询菜单列表 */
function getList() {
- loading.value = true
- listMenu(queryParams.value).then(response => {
- menuList.value = proxy.handleTree(response.data, "menuId")
- loading.value = false
- })
+ loading.value = true
+ listMenu(queryParams.value).then(response => {
+ menuList.value = proxy.handleTree(response.data, "menuId")
+ loading.value = false
+ })
}
/** 查询菜单下拉树结构 */
function getTreeselect() {
- menuOptions.value = []
- listMenu().then(response => {
- const menu = { menuId: 0, menuName: "主类目", children: [] }
- menu.children = proxy.handleTree(response.data, "menuId")
- menuOptions.value.push(menu)
- })
+ menuOptions.value = []
+ listMenu().then(response => {
+ const menu = { menuId: 0, menuName: "主类目", children: [] }
+ menu.children = proxy.handleTree(response.data, "menuId")
+ menuOptions.value.push(menu)
+ })
}
/** 取消按钮 */
function cancel() {
- open.value = false
- reset()
+ open.value = false
+ reset()
}
/** 表单重置 */
function reset() {
- form.value = {
- menuId: undefined,
- parentId: 0,
- menuName: undefined,
- icon: undefined,
- menuType: "M",
- orderNum: undefined,
- isFrame: "1",
- isCache: "0",
- visible: "0",
- status: "0"
- }
- proxy.resetForm("menuRef")
+ form.value = {
+ menuId: undefined,
+ parentId: 0,
+ menuName: undefined,
+ icon: undefined,
+ menuType: "M",
+ orderNum: undefined,
+ isFrame: "1",
+ isCache: "0",
+ visible: "0",
+ status: "0"
+ }
+ proxy.resetForm("menuRef")
}
/** 展示下拉图标 */
function showSelectIcon() {
- iconSelectRef.value.reset()
+ iconSelectRef.value.reset()
}
/** 选择图标 */
function selected(name) {
- form.value.icon = name
+ form.value.icon = name
}
/** 搜索按钮操作 */
function handleQuery() {
- getList()
+ getList()
}
/** 重置按钮操作 */
function resetQuery() {
- proxy.resetForm("queryRef")
- handleQuery()
+ proxy.resetForm("queryRef")
+ handleQuery()
}
/** 新增按钮操作 */
function handleAdd(row) {
- reset()
- getTreeselect()
- if (row != null && row.menuId) {
- form.value.parentId = row.menuId
- } else {
- form.value.parentId = 0
- }
- open.value = true
- title.value = "添加菜单"
+ reset()
+ getTreeselect()
+ if (row != null && row.menuId) {
+ form.value.parentId = row.menuId
+ } else {
+ form.value.parentId = 0
+ }
+ open.value = true
+ title.value = "添加菜单"
}
/** 展开/折叠操作 */
function toggleExpandAll() {
- refreshTable.value = false
- isExpandAll.value = !isExpandAll.value
- nextTick(() => {
- refreshTable.value = true
- })
+ refreshTable.value = false
+ isExpandAll.value = !isExpandAll.value
+ nextTick(() => {
+ refreshTable.value = true
+ })
}
/** 修改按钮操作 */
async function handleUpdate(row) {
- reset()
- await getTreeselect()
- getMenu(row.menuId).then(response => {
- form.value = response.data
- open.value = true
- title.value = "修改菜单"
- })
+ reset()
+ await getTreeselect()
+ getMenu(row.menuId).then(response => {
+ form.value = response.data
+ open.value = true
+ title.value = "修改菜单"
+ })
}
/** 提交按钮 */
function submitForm() {
- proxy.$refs["menuRef"].validate(valid => {
- if (valid) {
- if (form.value.menuId != undefined) {
- updateMenu(form.value).then(response => {
- proxy.$modal.msgSuccess("修改成功")
- open.value = false
- getList()
- })
- } else {
- addMenu(form.value).then(response => {
- proxy.$modal.msgSuccess("新增成功")
- open.value = false
- getList()
- })
+ proxy.$refs["menuRef"].validate(valid => {
+ if (valid) {
+ if (form.value.menuId != undefined) {
+ updateMenu(form.value).then(response => {
+ proxy.$modal.msgSuccess("修改成功")
+ open.value = false
+ getList()
+ })
+ } else {
+ addMenu(form.value).then(response => {
+ proxy.$modal.msgSuccess("新增成功")
+ open.value = false
+ getList()
+ })
+ }
}
- }
- })
+ })
}
/** 删除按钮操作 */
function handleDelete(row) {
- proxy.$modal.confirm('是否确认删除名称为"' + row.menuName + '"的数据项?').then(function() {
- return delMenu(row.menuId)
- }).then(() => {
- getList()
- proxy.$modal.msgSuccess("删除成功")
- }).catch(() => {})
+ proxy.$modal.confirm('是否确认删除名称为"' + row.menuName + '"的数据项?').then(function () {
+ return delMenu(row.menuId)
+ }).then(() => {
+ getList()
+ proxy.$modal.msgSuccess("删除成功")
+ }).catch(() => { })
}
getList()
+
+
\ No newline at end of file
diff --git a/src/views/system/post/index.vue b/src/views/system/post/index.vue
index 9e760d1..a4c5106 100644
--- a/src/views/system/post/index.vue
+++ b/src/views/system/post/index.vue
@@ -1,117 +1,84 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+ 重置
+
+
+
-
-
- 新增
-
-
- 修改
-
-
- 删除
-
-
- 导出
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ parseTime(scope.row.createTime) }}
-
-
-
-
- 修改
- 删除
-
-
-
-
-
+
+
+ 新增
+
+
+ 修改
+
+
+ 删除
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ parseTime(scope.row.createTime) }}
+
+
+
+
+ 修改
+ 删除
+
+
+
+
+
-
-
+
+
@@ -119,15 +86,12 @@
-
+
- {{ dict.label }}
+ {{ dict.label
+ }}
@@ -146,6 +110,7 @@
+
diff --git a/src/views/system/role/authUser.vue b/src/views/system/role/authUser.vue
index c607f63..2360b90 100644
--- a/src/views/system/role/authUser.vue
+++ b/src/views/system/role/authUser.vue
@@ -1,92 +1,77 @@
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
-
-
+
+
+
+
+ {{
+ item.title }}
+ {{ item.title }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+ 重置
+
+
+
-
-
- 添加用户
-
-
- 批量取消授权
-
-
- 关闭
-
-
-
+
+
+ 添加用户
+
+
+ 批量取消授权
+
+
+ 关闭
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ parseTime(scope.row.createTime) }}
+
+
+
+
+ 取消授权
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ parseTime(scope.row.createTime) }}
-
-
-
-
- 取消授权
-
-
-
+
-
+
@@ -98,7 +83,11 @@ import { allocatedUserList, authUserCancel, authUserCancelAll } from "@/api/syst
const route = useRoute()
const { proxy } = getCurrentInstance()
const { sys_normal_disable } = proxy.useDict("sys_normal_disable")
-
+const levelList = ref([
+ { title: '系统管理', path: '/system' },
+ { title: '角色管理', path: '/system/role' },
+ { title: '分配用户', path: '/system/role-auth/user' }
+])
const userList = ref([])
const loading = ref(true)
const showSearch = ref(true)
@@ -107,73 +96,149 @@ const total = ref(0)
const userIds = ref([])
const queryParams = reactive({
- pageNum: 1,
- pageSize: 10,
- roleId: route.params.roleId,
- userName: undefined,
- phonenumber: undefined,
+ pageNum: 1,
+ pageSize: 10,
+ roleId: route.params.roleId,
+ userName: undefined,
+ phonenumber: undefined,
})
/** 查询授权用户列表 */
function getList() {
- loading.value = true
- allocatedUserList(queryParams).then(response => {
- userList.value = response.rows
- total.value = response.total
- loading.value = false
- })
+ loading.value = true
+ allocatedUserList(queryParams).then(response => {
+ userList.value = response.rows
+ total.value = response.total
+ loading.value = false
+ })
}
/** 返回按钮 */
function handleClose() {
- const obj = { path: "/system/role" }
- proxy.$tab.closeOpenPage(obj)
+ const obj = { path: "/system/role" }
+ proxy.$tab.closeOpenPage(obj)
}
/** 搜索按钮操作 */
function handleQuery() {
- queryParams.pageNum = 1
- getList()
+ queryParams.pageNum = 1
+ getList()
}
/** 重置按钮操作 */
function resetQuery() {
- proxy.resetForm("queryRef")
- handleQuery()
+ proxy.resetForm("queryRef")
+ handleQuery()
}
/** 多选框选中数据 */
function handleSelectionChange(selection) {
- userIds.value = selection.map(item => item.userId)
- multiple.value = !selection.length
+ userIds.value = selection.map(item => item.userId)
+ multiple.value = !selection.length
}
/** 打开授权用户表弹窗 */
function openSelectUser() {
- proxy.$refs["selectRef"].show()
+ proxy.$refs["selectRef"].show()
}
/** 取消授权按钮操作 */
function cancelAuthUser(row) {
- proxy.$modal.confirm('确认要取消该用户"' + row.userName + '"角色吗?').then(function () {
- return authUserCancel({ userId: row.userId, roleId: queryParams.roleId })
- }).then(() => {
- getList()
- proxy.$modal.msgSuccess("取消授权成功")
- }).catch(() => {})
+ proxy.$modal.confirm('确认要取消该用户"' + row.userName + '"角色吗?').then(function () {
+ return authUserCancel({ userId: row.userId, roleId: queryParams.roleId })
+ }).then(() => {
+ getList()
+ proxy.$modal.msgSuccess("取消授权成功")
+ }).catch(() => { })
}
/** 批量取消授权按钮操作 */
function cancelAuthUserAll(row) {
- const roleId = queryParams.roleId
- const uIds = userIds.value.join(",")
- proxy.$modal.confirm("是否取消选中用户授权数据项?").then(function () {
- return authUserCancelAll({ roleId: roleId, userIds: uIds })
- }).then(() => {
- getList()
- proxy.$modal.msgSuccess("取消授权成功")
- }).catch(() => {})
+ const roleId = queryParams.roleId
+ const uIds = userIds.value.join(",")
+ proxy.$modal.confirm("是否取消选中用户授权数据项?").then(function () {
+ return authUserCancelAll({ roleId: roleId, userIds: uIds })
+ }).then(() => {
+ getList()
+ proxy.$modal.msgSuccess("取消授权成功")
+ }).catch(() => { })
}
getList()
+
diff --git a/src/views/system/role/index.vue b/src/views/system/role/index.vue
index 793cba6..8bf99cb 100644
--- a/src/views/system/role/index.vue
+++ b/src/views/system/role/index.vue
@@ -1,250 +1,198 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 搜索
- 重置
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 展开
+
+
+ 折叠
+
+
+
+
+
+ 查询
+ 重置
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
- 新增
-
-
- 修改
-
-
- 删除
-
-
- 导出
-
-
+
+ 新增
+
+
+ 修改
+
+
+ 删除
+
+
+ 导出
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
- {{ parseTime(scope.row.createTime) }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ parseTime(scope.row.createTime) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
- 权限字符
-
-
-
-
-
-
-
-
-
- {{ dict.label }}
-
-
-
- 展开/折叠
- 全选/全不选
- 父子联动
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 权限字符
+
+
+
+
+
+
+
+
+
+ {{ dict.label
+ }}
+
+
+
+ 展开/折叠
+ 全选/全不选
+ 父子联动
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 展开/折叠
- 全选/全不选
- 父子联动
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 展开/折叠
+ 全选/全不选
+ 父子联动
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/system/role/selectUser.vue b/src/views/system/role/selectUser.vue
index 0796618..4a05568 100644
--- a/src/views/system/role/selectUser.vue
+++ b/src/views/system/role/selectUser.vue
@@ -1,32 +1,29 @@
-
+
-
-
-
-
-
-
-
- 搜索
- 重置
-
+
+
+
+
+
+
+
+
+
+
+ 查询
+ 重置
+
+
+
-
+
+
@@ -37,19 +34,14 @@
-
+
{{ parseTime(scope.row.createTime) }}
-
+