123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- <template>
- <div class="padding-20">
- <div class="search-box">
- <el-form ref="form" :inline="true" :model="searchForm" clearable label-width="100px" class="mt-10">
- <el-form-item label="创建时间:">
- <el-date-picker
- :editable="false"
- v-model="time"
- @change="timearr => {timearr ? (searchForm.start_time = timearr[0] + ' 00:00:00', searchForm.end_time = timearr[1] + ' 23:59:59') : searchForm.start_time = searchForm.end_time = undefined}"
- type="daterange"
- value-format="yyyy-MM-dd"
- start-placeholder="开始时间"
- end-placeholder="结束时间"
- ></el-date-picker>
- </el-form-item>
- <el-form-item label="角色名称:">
- <el-input v-model="searchForm.role_name" placeholder="请输入角色名称" clearable></el-input>
- </el-form-item>
- <el-form-item class="ml-10">
- <el-button icon="el-icon-search" type="primary" @click="searchSubmit">查询</el-button>
- </el-form-item>
- <el-form-item class="ml-10">
- <el-button icon="el-icon-plus" type="primary" @click="add" v-permission="'roles_list_add'">新增</el-button>
- </el-form-item>
- </el-form>
- </div>
- <el-table :data="tableData" stripe v-loading="tableLoading" fit class="marginT-10 order-table" border
- :max-height="vheight">
- <el-table-column label="角色ID" prop="id" width="80"></el-table-column>
- <el-table-column label="创建时间" prop="created_at" width="160"></el-table-column>
- <el-table-column label="角色名称" prop="role_name"></el-table-column>
- <el-table-column label="角色介绍" prop="role_desc"></el-table-column>
- <el-table-column label="所属项目" prop="role_project_name"></el-table-column>
- <el-table-column label="所属部门" prop="role_department_name"></el-table-column>
- <el-table-column label="操作" width="180">
- <template slot-scope="scope">
- <el-button type="text" @click="edit(scope.row)" v-permission="'roles_list_edit'">编辑</el-button>
- <el-button type="text" @click="del(scope.row)" v-permission="'roles_list_del'">删除</el-button>
- <el-button type="text" @click="setPermissions(scope.row)" v-permission="'roles_list_setRole'">权限设置</el-button>
- </template>
- </el-table-column>
- </el-table>
- <el-pagination
- class="marginT-20"
- @size-change="handleSizeChange"
- @current-change="handleCurrentChange"
- :hide-on-single-page="true"
- :current-page="page"
- :page-size="page_size"
- :page-sizes="[10, 20, 100, 200, 300, 400]"
- background
- layout="total, sizes, prev, pager, next, jumper"
- :total="totalCount"/>
- <detail v-if="detailsDialog.show" v-model="detailsDialog.show" :exData="detailsDialog.exData"
- @success="init"></detail>
- <permissions v-if="permissionsDialog.show" v-model="permissionsDialog.show" :exData="permissionsDialog.exData"
- @success="init"></permissions>
- </div>
- </template>
- <script>
- import page from '@/mixin/page'
- import detail from './details'
- import permissions from './permissions'
- export default {
- mixins: [page],
- components: {
- detail,
- permissions,
- },
- data () {
- return {
- detailsDialog: {
- show: false,
- exData: {}
- },
- permissionsDialog: {
- show: false,
- exData: {}
- },
- time: [],
- searchForm: {},
- tableData: [],
- tableUrl: '/role/list'
- }
- },
- methods: {
- add () {
- this.detailsDialog.exData = {}
- this.detailsDialog.show = true
- },
- edit (row) {
- this.detailsDialog.exData = row
- this.detailsDialog.show = true
- },
- del (row) {
- this.$confirm('确定要删除吗', '确认', {
- confirmButtonText: '确定',
- cancelButtonText: '取消',
- type: 'warning'
- }).then(async () => {
- const data = await this.$fetch('/api/auth/role/del', { id: row.id })
- if (data.code == 200) {
- this.$message.success('删除成功')
- this.init()
- }
- }).catch(() => {})
- },
- setPermissions (row) {
- this.permissionsDialog.exData = row
- this.permissionsDialog.show = true
- }
- },
- mounted () {
- this.init()
- },
- }
- </script>
- <style lang="scss" scoped>
- </style>
|