diff --git a/src/api/user-boot/function.ts b/src/api/user-boot/function.ts
index c47e35d..ec508b8 100644
--- a/src/api/user-boot/function.ts
+++ b/src/api/user-boot/function.ts
@@ -31,3 +31,12 @@ export function deleteMenu(id: string) {
method: 'delete',
})
}
+
+// 更新角色菜单
+export function updateRoleMenu(data:any) {
+ return createAxios({
+ url: '/user-boot/function/assignFunctionByRoleIndexes',
+ method: 'post',
+ data: data
+ })
+}
\ No newline at end of file
diff --git a/src/api/user-boot/role.ts b/src/api/user-boot/role.ts
new file mode 100644
index 0000000..9a1f867
--- /dev/null
+++ b/src/api/user-boot/role.ts
@@ -0,0 +1,25 @@
+import createAxios from '@/utils/request'
+
+export function add(data: any) {
+ return createAxios({
+ url: '/user-boot/role/add',
+ method: 'post',
+ data: data
+ })
+}
+
+export function update(data: any) {
+ return createAxios({
+ url: '/user-boot/role/update',
+ method: 'post',
+ data: data
+ })
+}
+
+export function del(data: any) {
+ return createAxios({
+ url: '/user-boot/role/delete',
+ method: 'post',
+ data: data
+ })
+}
diff --git a/src/api/user-boot/roleFuction.ts b/src/api/user-boot/roleFuction.ts
new file mode 100644
index 0000000..ccfcb8c
--- /dev/null
+++ b/src/api/user-boot/roleFuction.ts
@@ -0,0 +1,21 @@
+import createAxios from '@/utils/request'
+
+export function getFunctionsByRoleIndex(data) {
+ return createAxios({
+ url: '/user-boot/roleFunction/getFunctionsByRoleIndex',
+ method: 'post',
+ params: data
+ })
+}
+
+export function updateRoleMenu(data:any) {
+ return createAxios({
+ url: '/user-boot/function/assignFunctionByRoleIndexes',
+ method: 'post',
+ data: data
+ // params: roleIndex,functionIndexList
+ // data:{
+ // roleIndex,functionIndexList
+ // }
+ })
+}
\ No newline at end of file
diff --git a/src/components/tree/index.vue b/src/components/tree/index.vue
index 460e675..6115652 100644
--- a/src/components/tree/index.vue
+++ b/src/components/tree/index.vue
@@ -26,13 +26,13 @@
diff --git a/src/views/auth/role/popupForm.vue b/src/views/auth/role/popupForm.vue
index 60e45b4..3e8d2fc 100644
--- a/src/views/auth/role/popupForm.vue
+++ b/src/views/auth/role/popupForm.vue
@@ -1,31 +1,14 @@
-
-
-
-
-
+
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
+
@@ -43,33 +26,48 @@
import { ref, inject } from 'vue'
import { reactive } from 'vue'
import TableStore from '@/utils/tableStore'
-import IconSelector from '@/components/baInput/components/iconSelector.vue'
+import { ElMessage } from 'element-plus'
+import { add, update } from '@/api/user-boot/role'
+import { useAdminInfo } from '@/stores/adminInfo'
+
+const adminInfo = useAdminInfo()
const tableStore = inject('tableStore') as TableStore
-const cascaderProps = {
- label: 'title',
- value: 'id'
-}
// do not use same name with ref
const form = reactive({
- code: 'menu',
- icon: '设备月保_设备日保',
- id: '88c61dfd02fbdab02e3bf0753d487444',
- name: '系统配置',
- path: '/app/setting',
- pid: 'f517484e241c2fdd7f11a9c3fcaaa109',
- remark: '系统配置',
- routeName: null,
- sort: 0,
+ code: '',
+ name: '',
+ remark: '',
+ id: '',
type: 0
})
-
+const rules = {
+ name: [{ required: true, message: '角色名称不能为空', trigger: 'blur' }],
+ code: [{ required: true, message: '角色编码不能为空', trigger: 'blur' }]
+}
const dialogVisible = ref(false)
const title = ref('新增菜单')
const open = (text: string, data?: anyObj) => {
title.value = text
dialogVisible.value = true
+ if (data) {
+ for (let key in form) {
+ form[key] = data[key]
+ }
+ } else {
+ for (let key in form) {
+ form[key] = ''
+ }
+ }
}
-const submit = () => {
+const submit = async () => {
+ if (form.id) {
+ await update(form)
+ } else {
+ form.type = adminInfo.$state.userType + 1
+ await add(form)
+ }
+ ElMessage.success('保存成功')
+ tableStore.index()
dialogVisible.value = false
}
diff --git a/src/views/govern/manage/factory.vue b/src/views/govern/manage/factory.vue
index 502fa0c..6d6867f 100644
--- a/src/views/govern/manage/factory.vue
+++ b/src/views/govern/manage/factory.vue
@@ -145,6 +145,7 @@ import {
resetEquipmentDelivery
} from '@/api/cs-system-boot/device'
import html2canvas from 'html2canvas'
+import { fullUrl } from '@/utils/common'
defineOptions({
name: 'govern/log/debug'
})
@@ -283,7 +284,7 @@ const tableStore = new TableStore({
click: row => {
deivce.value = row
- deivce.value.qrPath = localStorage.getItem('STATIC_URL') + deivce.value.qrPath
+ deivce.value.qrPath = fullUrl(deivce.value.qrPath)
setTimeout(() => {
html2canvas(document.querySelector('.qrcode-label'), {
useCORS: true
diff --git a/src/views/user/login.vue b/src/views/user/login.vue
index caac98d..5ec2b8d 100644
--- a/src/views/user/login.vue
+++ b/src/views/user/login.vue
@@ -137,20 +137,12 @@ const onSubmit = async (formEl: FormInstance | undefined) => {
imageCode: '',
verifyCode: 0
}).then(res => {
- // console.log('🚀 ~ file: login.vue:134 ~ gongkey ~ res:', res)
- let DOMIN = window.location.origin
- let STATIC_URL = DOMIN + '/api/system-boot/image/toStream?bgImage='
- localStorage.setItem('STATIC_URL', STATIC_URL)
- userInfo.setToken(res.data.token_type + ' ' + res.data.access_token, 'auth')
+ userInfo.dataFill(res.data)
state.submitLoading = false
router.push({
- path: 'admin/dashboard'
+ path: '/'
})
})
- // .catch(err => {
- // state.submitLoading = false
- // })
- // state.submitLoading = false
})
setTimeout(() => {
state.submitLoading = false