x-php-Admin/src/views/user/role.vue
2023-07-17 18:22:43 +08:00

183 lines
4.7 KiB
Vue

<template>
<el-main>
<el-card shadow="never">
<x-select-filter :data="data" :selected-values="selectedValues" :label-width="80" @on-change="change"></x-select-filter>
</el-card>
<el-card class="userlose" shadow="never" style="margin-top: 10px;">
<el-container>
<el-header>
<div class="left-panel">
<el-button type="primary" icon="el-icon-plus" @click="add"></el-button>
</div>
</el-header>
<el-main class="nopadding">
<x-table :api="api" ref="table" :params="filterData" :hidePagination="true">
<el-table-column prop="id" fixed sortable label="GroupID" width="100" />
<el-table-column prop="title" label="title" width="180" />
<el-table-column prop="status" label="status" width="180" />
<el-table-column prop="anicount" sortable label="anicount" width="180" v-if="filterData.type=='member'" />
<el-table-column prop="aid" label="aid" width="180" v-if="filterData.type=='member'" />
<el-table-column label="排序" prop="sort" width="80"></el-table-column>
<!-- <el-table-column label="状态" prop="status" width="80">
<template #default="scope">
<el-switch v-model="scope.row.status" @change="changeSwitch($event, scope.row)" :loading="scope.row.$switch_status" active-value="1" inactive-value="0"></el-switch>
</template>
</el-table-column> -->
<el-table-column prop="message" label="备注" width="180" />
<el-table-column />
<el-table-column label="操作" fixed="right" align="right" width="160">
<template #default="scope">
<el-button-group>
<el-button text type="primary" size="small" @click="table_show(scope.row, scope.$index)">查看</el-button>
<el-button text type="primary" size="small" @click="table_edit(scope.row, scope.$index)">编辑</el-button>
<el-popconfirm title="确定删除吗?" @confirm="table_del(scope.row, scope.$index)">
<template #reference>
<el-button text type="primary" size="small">删除</el-button>
</template>
</el-popconfirm>
</el-button-group>
</template>
</el-table-column>
</x-table>
</el-main>
<!-- <pre>{{ filterData }}</pre> -->
</el-container>
</el-card>
</el-main>
<save-dialog v-if="dialog.save" ref="saveDialog" @success="handleSaveSuccess" @closed="dialog.save=false"></save-dialog>
</template>
<style>
.userlose .el-card__body{
padding: 0px;
}
</style>
<script>
import xSelectFilter from '@/components/xSelectFilter'
import saveDialog from './role/save'
export default {
name: 'selectFilter',
components: {
xSelectFilter,
saveDialog,
},
data() {
return {
data: [
{
title: "用户组",
key: "type",
options: [
{
label: "系统组",
value: "system",
icon: "el-icon-flag"
},
{
label: "用户组",
value: "member",
icon: "el-icon-bottom-left"
},
{
label: "自定义会员组",
value: "default",
icon: "el-icon-circle-close"
}
]
}
],
selectedValues: {
type: ["system"]
},
filterData: {
type:'system'
},
search: {},
dialog: {
save: false,
permission: false
},
api:'system/user/roleList'
}
},
computed: {
filteredItems() {
return this.items.filter(item => item.category === 'Category A');
}
},
mounted() {
},
methods: {
//添加
add(){
this.dialog.save = true
this.$nextTick(() => {
this.$refs.saveDialog.open()
})
},
//编辑
table_edit(row){
this.dialog.save = true
this.$nextTick(() => {
this.$refs.saveDialog.open('edit').setData(row)
})
},
//查看
table_show(row){
this.dialog.save = true
this.$nextTick(() => {
this.$refs.saveDialog.open('show').setData(row)
})
},
//权限设置
permission(){
this.dialog.permission = true
this.$nextTick(() => {
this.$refs.permissionDialog.open()
})
},
//删除
async table_del(row){
var reqData = {id: row.id}
var res = await this.$api.demo.post.post(reqData);
if(res.code == 200){
this.$refs.table.refresh()
this.$message.success("删除成功")
}else{
this.$alert(res.message, "提示", {type: 'error'})
}
},
change(selected){
this.filterData = selected
this.$refs.table.reload(this.filterData)
},
//表格内开关
changeSwitch(val, row){
row.status = row.status == '1'?'0':'1'
row.$switch_status = true;
setTimeout(()=>{
delete row.$switch_status;
row.status = val;
this.$message.success("操作成功")
}, 500)
},
}
}
</script>
<style>
</style>