修复bug
This commit is contained in:
parent
77590ce09b
commit
acdd2ab8dd
|
|
@ -1,8 +1,8 @@
|
||||||
{
|
{
|
||||||
"id": "2786219",
|
"id": "2786219",
|
||||||
"name": "菜单图标",
|
"name": "likesadmin",
|
||||||
"font_family": "iconfont",
|
"font_family": "iconfont",
|
||||||
"css_prefix_text": "",
|
"css_prefix_text": "icon-",
|
||||||
"description": "",
|
"description": "",
|
||||||
"glyphs": [
|
"glyphs": [
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -78,10 +78,10 @@ request.interceptors.response.use(
|
||||||
case 403:
|
case 403:
|
||||||
case 404:
|
case 404:
|
||||||
case 500:
|
case 500:
|
||||||
return eventResponse.error(response)
|
|
||||||
case -1:
|
|
||||||
case 330:
|
case 330:
|
||||||
case 331:
|
case 331:
|
||||||
|
return eventResponse.error(response.data)
|
||||||
|
case -1:
|
||||||
case 332:
|
case 332:
|
||||||
case 333:
|
case 333:
|
||||||
return eventResponse.redirect()
|
return eventResponse.redirect()
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,8 @@ import { computed, defineComponent, onMounted, reactive, Ref, ref } from 'vue'
|
||||||
import { useAdmin } from '@/core/hooks/app'
|
import { useAdmin } from '@/core/hooks/app'
|
||||||
import { ACCOUNT } from '@/config/cachekey'
|
import { ACCOUNT } from '@/config/cachekey'
|
||||||
import cache from '@/utils/cache'
|
import cache from '@/utils/cache'
|
||||||
import { ElInput, ElForm } from 'element-plus'
|
import { ElInput, ElForm, ElMessage } from 'element-plus'
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
setup() {
|
setup() {
|
||||||
const { store, router, route } = useAdmin()
|
const { store, router, route } = useAdmin()
|
||||||
|
|
@ -117,7 +118,7 @@ export default defineComponent({
|
||||||
query: { redirect }
|
query: { redirect }
|
||||||
} = route
|
} = route
|
||||||
const path = typeof redirect === 'string' ? redirect : '/'
|
const path = typeof redirect === 'string' ? redirect : '/'
|
||||||
|
ElMessage({ type: 'success', message: '登录成功' })
|
||||||
router.replace(path)
|
router.replace(path)
|
||||||
})
|
})
|
||||||
.catch(err => {
|
.catch(err => {
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<!-- 密码输入框 -->
|
<!-- 密码输入框 -->
|
||||||
<el-form-item label="密码:" prop="password">
|
<el-form-item label="密码:" prop="password" required>
|
||||||
<el-input
|
<el-input
|
||||||
v-model="formData.password"
|
v-model="formData.password"
|
||||||
show-password
|
show-password
|
||||||
|
|
@ -49,7 +49,7 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<!-- 确认密码输入框 -->
|
<!-- 确认密码输入框 -->
|
||||||
<el-form-item label="确认密码:" prop="password_confirm">
|
<el-form-item label="确认密码:" prop="password_confirm" required>
|
||||||
<el-input
|
<el-input
|
||||||
v-model="formData.password_confirm"
|
v-model="formData.password_confirm"
|
||||||
show-password
|
show-password
|
||||||
|
|
@ -155,10 +155,17 @@ export default defineComponent({
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
rules.value.password_confirm = [
|
rules.value.password_confirm = [
|
||||||
|
{ required: true, message: '请再次输入密码', trigger: 'blur' },
|
||||||
{
|
{
|
||||||
required: true,
|
validator: (rule, value, callback) => {
|
||||||
message: '请输入确认密码',
|
if (formData.value.password) {
|
||||||
trigger: ['blur']
|
if (!value) callback(new Error('请再次输入密码'))
|
||||||
|
if (value !== formData.value.password)
|
||||||
|
callback(new Error('两次输入密码不一致!'))
|
||||||
|
}
|
||||||
|
callback()
|
||||||
|
},
|
||||||
|
trigger: 'blur'
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
return
|
return
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,9 @@
|
||||||
</el-card>
|
</el-card>
|
||||||
<el-card v-loading="pager.loading" class="m-t-15" shadow="never">
|
<el-card v-loading="pager.loading" class="m-t-15" shadow="never">
|
||||||
<router-link to="/permission/admin/edit">
|
<router-link to="/permission/admin/edit">
|
||||||
<el-button v-perm="['system:admin:add']" type="primary" size="small">新增管理员</el-button>
|
<el-button v-perm="['system:admin:add']" type="primary" size="small"
|
||||||
|
>新增管理员</el-button
|
||||||
|
>
|
||||||
</router-link>
|
</router-link>
|
||||||
<div class="m-t-15">
|
<div class="m-t-15">
|
||||||
<el-table :data="pager.lists">
|
<el-table :data="pager.lists">
|
||||||
|
|
@ -80,7 +82,11 @@
|
||||||
>
|
>
|
||||||
<el-button type="text">编辑</el-button>
|
<el-button type="text">编辑</el-button>
|
||||||
</router-link>
|
</router-link>
|
||||||
<popup v-perm="['system:admin:del']" class="m-r-10 inline" @confirm="handleDelete(row.id)">
|
<popup
|
||||||
|
v-perm="['system:admin:del']"
|
||||||
|
class="m-r-10 inline"
|
||||||
|
@confirm="handleDelete(row.id)"
|
||||||
|
>
|
||||||
<template #trigger>
|
<template #trigger>
|
||||||
<el-button type="text">删除</el-button>
|
<el-button type="text">删除</el-button>
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -106,6 +112,8 @@ import Pagination from '@/components/pagination/index.vue'
|
||||||
import Popup from '@/components/popup/index.vue'
|
import Popup from '@/components/popup/index.vue'
|
||||||
import { apiAdminEdit, adminLists, apiAdminDelete, apiRoleLists, apiAdminStatus } from '@/api/auth'
|
import { apiAdminEdit, adminLists, apiAdminDelete, apiRoleLists, apiAdminStatus } from '@/api/auth'
|
||||||
import { usePages } from '@/core/hooks/pages'
|
import { usePages } from '@/core/hooks/pages'
|
||||||
|
import { ElMessage } from 'element-plus'
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
components: {
|
components: {
|
||||||
Pagination,
|
Pagination,
|
||||||
|
|
@ -139,11 +147,13 @@ export default defineComponent({
|
||||||
const handleStatusChange = async (event: Event, id: number) => {
|
const handleStatusChange = async (event: Event, id: number) => {
|
||||||
await apiAdminStatus({ isDisable: event, id })
|
await apiAdminStatus({ isDisable: event, id })
|
||||||
requestApi()
|
requestApi()
|
||||||
|
ElMessage({ type: 'success', message: '操作成功' })
|
||||||
}
|
}
|
||||||
|
|
||||||
const handleDelete = (id: number) => {
|
const handleDelete = (id: number) => {
|
||||||
apiAdminDelete({ id }).then(() => {
|
apiAdminDelete({ id }).then(() => {
|
||||||
requestApi()
|
requestApi()
|
||||||
|
ElMessage({ type: 'success', message: '删除成功' })
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,17 @@
|
||||||
</el-form-item> -->
|
</el-form-item> -->
|
||||||
|
|
||||||
<el-form-item label="请选择图标">
|
<el-form-item label="请选择图标">
|
||||||
<select-icon></select-icon>
|
<div class="flex">
|
||||||
|
<!-- <el-input readonly>
|
||||||
|
<template #prefix>
|
||||||
|
<el-icon class="el-input__icon">
|
||||||
|
<search class="f-s-20" />
|
||||||
|
</el-icon>
|
||||||
|
</template>
|
||||||
|
</el-input> -->
|
||||||
|
|
||||||
|
<select-icon></select-icon>
|
||||||
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,23 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="select-icon">
|
<div class="select-icon">
|
||||||
<div>
|
<div class="flex">
|
||||||
|
<div class="show-icon">
|
||||||
|
<i class="iconfont" :class="selectIcon.icon_kdzs_mdsz"></i>
|
||||||
|
</div>
|
||||||
<el-popover placement="bottom" :width="400" trigger="click">
|
<el-popover placement="bottom" :width="400" trigger="click">
|
||||||
<template #reference>
|
<template #reference>
|
||||||
<el-button style="margin-right: 16px">
|
<el-button>
|
||||||
<el-icon><arrow-down /> </el-icon>
|
<el-icon><arrow-down /> </el-icon>
|
||||||
</el-button>
|
</el-button>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<div v-for="(item, index) in selectIcon" :key="index"></div>
|
<div class="select-icon-item">
|
||||||
|
<div v-for="(item, index) in selectIcon" :key="index">
|
||||||
|
<div @click="selectIconItem(item)">
|
||||||
|
<i class="iconfont" :class="item"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</el-popover>
|
</el-popover>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -16,8 +25,118 @@
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { onMounted, reactive, ref } from 'vue'
|
import { onMounted, reactive, ref } from 'vue'
|
||||||
|
import { Search } from '@element-plus/icons-vue'
|
||||||
|
|
||||||
const selectIcon = ref<any>([])
|
const selectIcon = ref<any>([
|
||||||
|
'icon_kdzs_mdsz',
|
||||||
|
'icon_xpdy_mbgl',
|
||||||
|
'icon_xcxzb_zb',
|
||||||
|
'icon_xycj_cj',
|
||||||
|
'operation',
|
||||||
|
'icon_pcshop',
|
||||||
|
'icon_xpdy_dyjgl',
|
||||||
|
'icon_kdzs_pldy',
|
||||||
|
'icon_kdzs_mdmb',
|
||||||
|
'icon_qudao_h5',
|
||||||
|
'icon_fenxiao_goods',
|
||||||
|
'icon_kanjia',
|
||||||
|
'icon_hexiao_order',
|
||||||
|
'icon_pintuan',
|
||||||
|
'carryout',
|
||||||
|
'icon_qiandao_jilu',
|
||||||
|
'icon_notice',
|
||||||
|
'icon_notice_mail',
|
||||||
|
'gift',
|
||||||
|
'icon_notice_buyer',
|
||||||
|
'Field-time',
|
||||||
|
'icon_hexiao_member2',
|
||||||
|
'icon_coupons',
|
||||||
|
'icon_coupons_data',
|
||||||
|
'icon_fenxiao_member',
|
||||||
|
'icon_qiandao_guize',
|
||||||
|
'icon_pintuan2',
|
||||||
|
'icon_notice_seller',
|
||||||
|
'icon_pintuan_data',
|
||||||
|
'icon_fenxiao_data',
|
||||||
|
'icon_ziti_store',
|
||||||
|
'wallet',
|
||||||
|
'icon_kefu_comments',
|
||||||
|
'tradingdata',
|
||||||
|
'icon_fenxiao_order',
|
||||||
|
'icon_hexiao_member',
|
||||||
|
'icon_fenxiao_set',
|
||||||
|
'icon_fenxiao_grade',
|
||||||
|
'yiguanzhugongyingshang',
|
||||||
|
'icon_user_gaikuang',
|
||||||
|
'icon_qudao_weixin',
|
||||||
|
'icon_qudao_app',
|
||||||
|
'icon_qudao_xiaochengxu',
|
||||||
|
'icon_dianpu_daohang',
|
||||||
|
'icon_yingxiao_qipao',
|
||||||
|
'icon_set_jiaoyi',
|
||||||
|
'icon_caiwu_yue',
|
||||||
|
'icon_caiwu_tixian',
|
||||||
|
'icon_caiwu_jifen',
|
||||||
|
'icon_shuju_liuliang',
|
||||||
|
'icon_user_dengji',
|
||||||
|
'icon_user_guanli',
|
||||||
|
'icon_user_biaoqian',
|
||||||
|
'icon_copy',
|
||||||
|
'icon_set_product',
|
||||||
|
'icon_set_save',
|
||||||
|
'icon_dianpu_fenlei',
|
||||||
|
'icon_dianpu_fengge',
|
||||||
|
'icon_dianpu_sucai',
|
||||||
|
'icon_dianpu_xiangqing',
|
||||||
|
'icon_order_guanli',
|
||||||
|
'icon_caiwu',
|
||||||
|
'icon_user',
|
||||||
|
'icon_set_user',
|
||||||
|
'icon_shuju',
|
||||||
|
'icon_dianpu_home',
|
||||||
|
'icon_yingyongcenter',
|
||||||
|
'icon_qudao',
|
||||||
|
'icon_qudao2',
|
||||||
|
'icon_set_store',
|
||||||
|
'icon_dianpu_weiyem',
|
||||||
|
'icon_set_quanxian',
|
||||||
|
'icon_hide',
|
||||||
|
'icon_show',
|
||||||
|
'icon_wallet',
|
||||||
|
'icon_set_pay',
|
||||||
|
'icon_set_weihu',
|
||||||
|
'icon_set_peisong',
|
||||||
|
'icon_yingxiaowf',
|
||||||
|
'icon_dianpu_shoppingCar',
|
||||||
|
'icon_goods',
|
||||||
|
'icon_sort',
|
||||||
|
'icon_danwei',
|
||||||
|
'icon_pingjia',
|
||||||
|
'icon_pinpai',
|
||||||
|
'icon_gongyingshang'
|
||||||
|
])
|
||||||
|
|
||||||
|
const selectIconItem = (item: string) => {
|
||||||
|
console.log(item, 'item')
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped></style>
|
<style lang="scss" scoped>
|
||||||
|
.show-icon {
|
||||||
|
width: 45px;
|
||||||
|
height: 32px;
|
||||||
|
border: 1px solid #dcdfe6;
|
||||||
|
border-radius: 3px;
|
||||||
|
}
|
||||||
|
.select-icon-item {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
height: 300px;
|
||||||
|
overflow: auto;
|
||||||
|
cursor: pointer;
|
||||||
|
|
||||||
|
.iconfont {
|
||||||
|
font-size: 46px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -77,6 +77,8 @@ import { ElInput, ElForm } from 'element-plus'
|
||||||
import FooterBtns from '@/components/footer-btns/index.vue'
|
import FooterBtns from '@/components/footer-btns/index.vue'
|
||||||
import { useAdmin } from '@/core/hooks/app'
|
import { useAdmin } from '@/core/hooks/app'
|
||||||
import { flatten } from '@/utils/util'
|
import { flatten } from '@/utils/util'
|
||||||
|
import { ElMessage } from 'element-plus'
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
components: {
|
components: {
|
||||||
FooterBtns
|
FooterBtns
|
||||||
|
|
@ -96,7 +98,7 @@ export default defineComponent({
|
||||||
menus: [], // 权限,就选中的菜单id
|
menus: [], // 权限,就选中的菜单id
|
||||||
isDisable: 0,
|
isDisable: 0,
|
||||||
sort: '',
|
sort: '',
|
||||||
menuIds: '', // 菜单ID数组,逗号隔开
|
menuIds: '' // 菜单ID数组,逗号隔开
|
||||||
},
|
},
|
||||||
|
|
||||||
menu: {
|
menu: {
|
||||||
|
|
@ -154,6 +156,7 @@ export default defineComponent({
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
router.back()
|
router.back()
|
||||||
}, 500)
|
}, 500)
|
||||||
|
ElMessage({ type: 'success', message: '保存成功' })
|
||||||
})
|
})
|
||||||
.catch((err: any) => {
|
.catch((err: any) => {
|
||||||
console.log('err', err)
|
console.log('err', err)
|
||||||
|
|
@ -161,11 +164,11 @@ export default defineComponent({
|
||||||
}
|
}
|
||||||
// 编辑角色
|
// 编辑角色
|
||||||
const roleEdit = () => {
|
const roleEdit = () => {
|
||||||
// 选择中的权限id字符串
|
// 选择中的权限id字符串
|
||||||
formData.value.menus.length == 0
|
formData.value.menus.length == 0
|
||||||
? formData.value.menuIds = ''
|
? (formData.value.menuIds = '')
|
||||||
: formData.value.menuIds = formData.value.menus.join(',')
|
: (formData.value.menuIds = formData.value.menus.join(','))
|
||||||
|
|
||||||
apiRoleEdit({
|
apiRoleEdit({
|
||||||
...formData.value,
|
...formData.value,
|
||||||
id: id.value
|
id: id.value
|
||||||
|
|
@ -175,6 +178,7 @@ export default defineComponent({
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
router.back()
|
router.back()
|
||||||
}, 500)
|
}, 500)
|
||||||
|
ElMessage({ type: 'success', message: '保存成功' })
|
||||||
})
|
})
|
||||||
.catch((err: any) => {
|
.catch((err: any) => {
|
||||||
console.log('err', err)
|
console.log('err', err)
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,9 @@
|
||||||
<div class="role">
|
<div class="role">
|
||||||
<el-card shadow="never">
|
<el-card shadow="never">
|
||||||
<router-link to="/permission/role/edit">
|
<router-link to="/permission/role/edit">
|
||||||
<el-button v-perm="['system:role:add']" type="primary" size="small">新增角色</el-button>
|
<el-button v-perm="['system:role:add']" type="primary" size="small"
|
||||||
|
>新增角色</el-button
|
||||||
|
>
|
||||||
</router-link>
|
</router-link>
|
||||||
<div v-loading="pager.loading" class="m-t-15">
|
<div v-loading="pager.loading" class="m-t-15">
|
||||||
<div class="m-t-15">
|
<div class="m-t-15">
|
||||||
|
|
@ -34,7 +36,11 @@
|
||||||
<el-button type="text" size="mini">编辑</el-button>
|
<el-button type="text" size="mini">编辑</el-button>
|
||||||
</router-link>
|
</router-link>
|
||||||
<!-- 删除 -->
|
<!-- 删除 -->
|
||||||
<popup v-perm="['system:role:del']" class="m-r-10 inline" @confirm="handleDelete(row.id)">
|
<popup
|
||||||
|
v-perm="['system:role:del']"
|
||||||
|
class="m-r-10 inline"
|
||||||
|
@confirm="handleDelete(row.id)"
|
||||||
|
>
|
||||||
<template #trigger>
|
<template #trigger>
|
||||||
<el-button type="text" size="mini">删除</el-button>
|
<el-button type="text" size="mini">删除</el-button>
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -61,6 +67,8 @@ import { apiRoleLists, apiRoleDel } from '@/api/auth'
|
||||||
import Pagination from '@/components/pagination/index.vue'
|
import Pagination from '@/components/pagination/index.vue'
|
||||||
import Popup from '@/components/popup/index.vue'
|
import Popup from '@/components/popup/index.vue'
|
||||||
import { usePages } from '@/core/hooks/pages'
|
import { usePages } from '@/core/hooks/pages'
|
||||||
|
import { ElMessage } from 'element-plus'
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
components: {
|
components: {
|
||||||
Pagination,
|
Pagination,
|
||||||
|
|
@ -89,6 +97,7 @@ export default defineComponent({
|
||||||
.then((res: any) => {
|
.then((res: any) => {
|
||||||
console.log('res', res)
|
console.log('res', res)
|
||||||
requestApi()
|
requestApi()
|
||||||
|
ElMessage({ type: 'success', message: '删除成功' })
|
||||||
})
|
})
|
||||||
.catch((err: any) => {
|
.catch((err: any) => {
|
||||||
console.log('err', err)
|
console.log('err', err)
|
||||||
|
|
|
||||||
|
|
@ -75,7 +75,7 @@
|
||||||
</el-card>
|
</el-card>
|
||||||
|
|
||||||
<el-card shadow="never" class="m-t-15">
|
<el-card shadow="never" class="m-t-15">
|
||||||
<div>Java虚拟机信息</div>
|
<div class="lg">Java虚拟机信息</div>
|
||||||
<div class="m-t-15">
|
<div class="m-t-15">
|
||||||
<el-table :data="info.jvmFormData" size="medium">
|
<el-table :data="info.jvmFormData" size="medium">
|
||||||
<el-table-column prop="name" label="Java名称"> </el-table-column>
|
<el-table-column prop="name" label="Java名称"> </el-table-column>
|
||||||
|
|
@ -89,7 +89,7 @@
|
||||||
</el-card>
|
</el-card>
|
||||||
|
|
||||||
<el-card shadow="never" class="m-t-15">
|
<el-card shadow="never" class="m-t-15">
|
||||||
<div>硬盘状态</div>
|
<div class="lg">硬盘状态</div>
|
||||||
<div class="m-t-15">
|
<div class="m-t-15">
|
||||||
<el-table :data="info.disk" size="medium">
|
<el-table :data="info.disk" size="medium">
|
||||||
<el-table-column prop="dirName" label="盘符路径"> </el-table-column>
|
<el-table-column prop="dirName" label="盘符路径"> </el-table-column>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue