修复bug

This commit is contained in:
Mrtangl 2022-04-24 18:52:27 +08:00
parent 77590ce09b
commit acdd2ab8dd
10 changed files with 189 additions and 29 deletions

View File

@ -1,8 +1,8 @@
{
"id": "2786219",
"name": "菜单图标",
"name": "likesadmin",
"font_family": "iconfont",
"css_prefix_text": "",
"css_prefix_text": "icon-",
"description": "",
"glyphs": [
{

View File

@ -78,10 +78,10 @@ request.interceptors.response.use(
case 403:
case 404:
case 500:
return eventResponse.error(response)
case -1:
case 330:
case 331:
return eventResponse.error(response.data)
case -1:
case 332:
case 333:
return eventResponse.redirect()

View File

@ -63,7 +63,8 @@ import { computed, defineComponent, onMounted, reactive, Ref, ref } from 'vue'
import { useAdmin } from '@/core/hooks/app'
import { ACCOUNT } from '@/config/cachekey'
import cache from '@/utils/cache'
import { ElInput, ElForm } from 'element-plus'
import { ElInput, ElForm, ElMessage } from 'element-plus'
export default defineComponent({
setup() {
const { store, router, route } = useAdmin()
@ -117,7 +118,7 @@ export default defineComponent({
query: { redirect }
} = route
const path = typeof redirect === 'string' ? redirect : '/'
ElMessage({ type: 'success', message: '登录成功' })
router.replace(path)
})
.catch(err => {

View File

@ -40,7 +40,7 @@
</el-form-item>
<!-- 密码输入框 -->
<el-form-item label="密码:" prop="password">
<el-form-item label="密码:" prop="password" required>
<el-input
v-model="formData.password"
show-password
@ -49,7 +49,7 @@
</el-form-item>
<!-- 确认密码输入框 -->
<el-form-item label="确认密码:" prop="password_confirm">
<el-form-item label="确认密码:" prop="password_confirm" required>
<el-input
v-model="formData.password_confirm"
show-password
@ -155,10 +155,17 @@ export default defineComponent({
}
]
rules.value.password_confirm = [
{ required: true, message: '请再次输入密码', trigger: 'blur' },
{
required: true,
message: '请输入确认密码',
trigger: ['blur']
validator: (rule, value, callback) => {
if (formData.value.password) {
if (!value) callback(new Error('请再次输入密码'))
if (value !== formData.value.password)
callback(new Error('两次输入密码不一致!'))
}
callback()
},
trigger: 'blur'
}
]
return

View File

@ -28,7 +28,9 @@
</el-card>
<el-card v-loading="pager.loading" class="m-t-15" shadow="never">
<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>
<div class="m-t-15">
<el-table :data="pager.lists">
@ -80,7 +82,11 @@
>
<el-button type="text">编辑</el-button>
</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>
<el-button type="text">删除</el-button>
</template>
@ -106,6 +112,8 @@ import Pagination from '@/components/pagination/index.vue'
import Popup from '@/components/popup/index.vue'
import { apiAdminEdit, adminLists, apiAdminDelete, apiRoleLists, apiAdminStatus } from '@/api/auth'
import { usePages } from '@/core/hooks/pages'
import { ElMessage } from 'element-plus'
export default defineComponent({
components: {
Pagination,
@ -139,11 +147,13 @@ export default defineComponent({
const handleStatusChange = async (event: Event, id: number) => {
await apiAdminStatus({ isDisable: event, id })
requestApi()
ElMessage({ type: 'success', message: '操作成功' })
}
const handleDelete = (id: number) => {
apiAdminDelete({ id }).then(() => {
requestApi()
ElMessage({ type: 'success', message: '删除成功' })
})
}

View File

@ -63,7 +63,17 @@
</el-form-item> -->
<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>
</div>

View File

@ -1,14 +1,23 @@
<template>
<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">
<template #reference>
<el-button style="margin-right: 16px">
<el-button>
<el-icon><arrow-down /> </el-icon>
</el-button>
</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>
</div>
</div>
@ -16,8 +25,118 @@
<script lang="ts" setup>
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>
<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>

View File

@ -77,6 +77,8 @@ import { ElInput, ElForm } from 'element-plus'
import FooterBtns from '@/components/footer-btns/index.vue'
import { useAdmin } from '@/core/hooks/app'
import { flatten } from '@/utils/util'
import { ElMessage } from 'element-plus'
export default defineComponent({
components: {
FooterBtns
@ -96,7 +98,7 @@ export default defineComponent({
menus: [], // id
isDisable: 0,
sort: '',
menuIds: '', // ID,
menuIds: '' // ID,
},
menu: {
@ -154,6 +156,7 @@ export default defineComponent({
setTimeout(() => {
router.back()
}, 500)
ElMessage({ type: 'success', message: '保存成功' })
})
.catch((err: any) => {
console.log('err', err)
@ -161,11 +164,11 @@ export default defineComponent({
}
//
const roleEdit = () => {
// id
formData.value.menus.length == 0
? formData.value.menuIds = ''
: formData.value.menuIds = formData.value.menus.join(',')
// id
formData.value.menus.length == 0
? (formData.value.menuIds = '')
: (formData.value.menuIds = formData.value.menus.join(','))
apiRoleEdit({
...formData.value,
id: id.value
@ -175,6 +178,7 @@ export default defineComponent({
setTimeout(() => {
router.back()
}, 500)
ElMessage({ type: 'success', message: '保存成功' })
})
.catch((err: any) => {
console.log('err', err)

View File

@ -2,7 +2,9 @@
<div class="role">
<el-card shadow="never">
<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>
<div v-loading="pager.loading" class="m-t-15">
<div class="m-t-15">
@ -34,7 +36,11 @@
<el-button type="text" size="mini">编辑</el-button>
</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>
<el-button type="text" size="mini">删除</el-button>
</template>
@ -61,6 +67,8 @@ import { apiRoleLists, apiRoleDel } from '@/api/auth'
import Pagination from '@/components/pagination/index.vue'
import Popup from '@/components/popup/index.vue'
import { usePages } from '@/core/hooks/pages'
import { ElMessage } from 'element-plus'
export default defineComponent({
components: {
Pagination,
@ -89,6 +97,7 @@ export default defineComponent({
.then((res: any) => {
console.log('res', res)
requestApi()
ElMessage({ type: 'success', message: '删除成功' })
})
.catch((err: any) => {
console.log('err', err)

View File

@ -75,7 +75,7 @@
</el-card>
<el-card shadow="never" class="m-t-15">
<div>Java虚拟机信息</div>
<div class="lg">Java虚拟机信息</div>
<div class="m-t-15">
<el-table :data="info.jvmFormData" size="medium">
<el-table-column prop="name" label="Java名称"> </el-table-column>
@ -89,7 +89,7 @@
</el-card>
<el-card shadow="never" class="m-t-15">
<div>硬盘状态</div>
<div class="lg">硬盘状态</div>
<div class="m-t-15">
<el-table :data="info.disk" size="medium">
<el-table-column prop="dirName" label="盘符路径"> </el-table-column>