|  | @@ -0,0 +1,372 @@
 | 
	
		
			
				|  |  | +<template>
 | 
	
		
			
				|  |  | +     
 | 
	
		
			
				|  |  | +    <div class="app-container">
 | 
	
		
			
				|  |  | +        <el-card class="filter-container" shadow="never">
 | 
	
		
			
				|  |  | +            <div>
 | 
	
		
			
				|  |  | +                <i class="el-icon-search"></i>
 | 
	
		
			
				|  |  | +                <span>筛选搜索</span>
 | 
	
		
			
				|  |  | +                <el-button style="float: right" type="primary" @click="handleSearchList()" size="small">
 | 
	
		
			
				|  |  | +                    查询搜索
 | 
	
		
			
				|  |  | +                </el-button>
 | 
	
		
			
				|  |  | +                <el-button style="float: right; margin-right: 15px" @click="handleResetSearch()" size="small">
 | 
	
		
			
				|  |  | +                    重置
 | 
	
		
			
				|  |  | +                </el-button>
 | 
	
		
			
				|  |  | +            </div>
 | 
	
		
			
				|  |  | +            <div style="margin-top: 15px">
 | 
	
		
			
				|  |  | +                <el-form :inline="true" :model="listQuery" size="small" label-width="140px">
 | 
	
		
			
				|  |  | +                    <el-form-item label="渠道名称:">
 | 
	
		
			
				|  |  | +                        <el-input v-model="listQuery.keyword" class="input-width" placeholder="请输入渠道名称"
 | 
	
		
			
				|  |  | +                            clearable></el-input>
 | 
	
		
			
				|  |  | +                    </el-form-item>
 | 
	
		
			
				|  |  | +                    <el-form-item label="更新时间:">
 | 
	
		
			
				|  |  | +                        <el-date-picker v-model="date" size="small" value-format="yyyy-MM-dd"
 | 
	
		
			
				|  |  | +                            class="item-width-350 ml10" type="datetimerange" range-separator="至"
 | 
	
		
			
				|  |  | +                            start-placeholder="开始日期" end-placeholder="结束日期">
 | 
	
		
			
				|  |  | +                        </el-date-picker>
 | 
	
		
			
				|  |  | +                    </el-form-item>
 | 
	
		
			
				|  |  | +                </el-form>
 | 
	
		
			
				|  |  | +            </div>
 | 
	
		
			
				|  |  | +        </el-card>
 | 
	
		
			
				|  |  | +        <el-card class="operate-container" shadow="never">
 | 
	
		
			
				|  |  | +            <i class="el-icon-tickets"></i>
 | 
	
		
			
				|  |  | +            <span>数据列表</span>
 | 
	
		
			
				|  |  | +        </el-card>
 | 
	
		
			
				|  |  | +        <div class="table-container">
 | 
	
		
			
				|  |  | +            <el-table ref="adminTable" :data="list" style="width: 100%" v-loading="listLoading" border>
 | 
	
		
			
				|  |  | +                <el-table-column label="渠道编号" width="100" align="center">
 | 
	
		
			
				|  |  | +                    <template slot-scope="scope">
 | 
	
		
			
				|  |  | +                        {{ '--' }}
 | 
	
		
			
				|  |  | +                    </template>
 | 
	
		
			
				|  |  | +                </el-table-column>
 | 
	
		
			
				|  |  | +                <el-table-column label="渠道名称" align="center">
 | 
	
		
			
				|  |  | +                    <template slot-scope="scope">
 | 
	
		
			
				|  |  | +                        {{ '--' }}
 | 
	
		
			
				|  |  | +                    </template>
 | 
	
		
			
				|  |  | +                </el-table-column>
 | 
	
		
			
				|  |  | +                <el-table-column label="使用状态" align="center">
 | 
	
		
			
				|  |  | +                    <template slot-scope="scope">
 | 
	
		
			
				|  |  | +                        {{ '--' }}
 | 
	
		
			
				|  |  | +                    </template>
 | 
	
		
			
				|  |  | +                </el-table-column>
 | 
	
		
			
				|  |  | +                <el-table-column label="渠道上账总金额/元" align="center">
 | 
	
		
			
				|  |  | +                    <template slot-scope="scope">
 | 
	
		
			
				|  |  | +                        {{ '--' }}
 | 
	
		
			
				|  |  | +                    </template>
 | 
	
		
			
				|  |  | +                </el-table-column>
 | 
	
		
			
				|  |  | +                <el-table-column label="渠道应付总金额/元" width="160" align="center">
 | 
	
		
			
				|  |  | +                    <template slot-scope="scope">
 | 
	
		
			
				|  |  | +                        {{ '--' }}
 | 
	
		
			
				|  |  | +                    </template>
 | 
	
		
			
				|  |  | +                </el-table-column>
 | 
	
		
			
				|  |  | +                <el-table-column label="用户充值总金额/元" width="160" align="center">
 | 
	
		
			
				|  |  | +                    <template slot-scope="scope">
 | 
	
		
			
				|  |  | +                        {{ '--' }}
 | 
	
		
			
				|  |  | +                    </template>
 | 
	
		
			
				|  |  | +                </el-table-column>
 | 
	
		
			
				|  |  | +                <el-table-column label="用户消费总金额/元" width="140" align="center">
 | 
	
		
			
				|  |  | +                    <template slot-scope="scope">
 | 
	
		
			
				|  |  | +                        {{ '--' }}
 | 
	
		
			
				|  |  | +                    </template>
 | 
	
		
			
				|  |  | +                </el-table-column>
 | 
	
		
			
				|  |  | +                <el-table-column label="用户退款总金额/元" width="140" align="center">
 | 
	
		
			
				|  |  | +                    <template slot-scope="scope">
 | 
	
		
			
				|  |  | +                        {{ '--' }}
 | 
	
		
			
				|  |  | +                    </template>
 | 
	
		
			
				|  |  | +                </el-table-column>
 | 
	
		
			
				|  |  | +                <el-table-column label="更新时间" width="140" align="center">
 | 
	
		
			
				|  |  | +                    <template slot-scope="scope">
 | 
	
		
			
				|  |  | +                        {{ '--' }}
 | 
	
		
			
				|  |  | +                    </template>
 | 
	
		
			
				|  |  | +                </el-table-column>
 | 
	
		
			
				|  |  | +                <el-table-column label="操作" width="180" align="center">
 | 
	
		
			
				|  |  | +                    <template slot-scope="scope">
 | 
	
		
			
				|  |  | +                        <el-button size="mini" type="primary" plain @click="handleUpdate(scope.$index, scope.row)">
 | 
	
		
			
				|  |  | +                            上账
 | 
	
		
			
				|  |  | +                        </el-button>
 | 
	
		
			
				|  |  | +                        <el-button size="mini" type="primary" plain @click="SettleAccount(scope.$index, scope.row)">
 | 
	
		
			
				|  |  | +                            结算
 | 
	
		
			
				|  |  | +                        </el-button>
 | 
	
		
			
				|  |  | +                        <el-button size="mini" type="primary" plain @click="forbidden">
 | 
	
		
			
				|  |  | +                            禁用
 | 
	
		
			
				|  |  | +                        </el-button>
 | 
	
		
			
				|  |  | +                        <el-button size="mini" type="primary" plain @click="enable">
 | 
	
		
			
				|  |  | +                            启用
 | 
	
		
			
				|  |  | +                        </el-button>
 | 
	
		
			
				|  |  | +                    </template>
 | 
	
		
			
				|  |  | +                </el-table-column>
 | 
	
		
			
				|  |  | +            </el-table>
 | 
	
		
			
				|  |  | +        </div>
 | 
	
		
			
				|  |  | +        <div class="pagination-container">
 | 
	
		
			
				|  |  | +            <el-pagination background @size-change="handleSizeChange" @current-change="handleCurrentChange"
 | 
	
		
			
				|  |  | +                layout="total, sizes,prev, pager, next,jumper" :current-page.sync="listQuery.pageNum"
 | 
	
		
			
				|  |  | +                :page-size="listQuery.pageSize" :page-sizes="[10, 15, 20]" :total="total">
 | 
	
		
			
				|  |  | +            </el-pagination>
 | 
	
		
			
				|  |  | +        </div>
 | 
	
		
			
				|  |  | +        <el-dialog title="提示" :visible.sync="forbiddenDialogVisible" width="30%" :before-close="handleClose">
 | 
	
		
			
				|  |  | +            <span v-if="isforbidden === false">此操作将会禁用该渠道的所有用户(正在充电的用户,会在本次充电完成后被禁用),使其无法充电,是否继续。</span>
 | 
	
		
			
				|  |  | +            <span v-else>该操作会将该渠道禁用的用户,重新启用,是否继续。</span>
 | 
	
		
			
				|  |  | +            <span slot="footer" class="dialog-footer">
 | 
	
		
			
				|  |  | +                <el-button @click="forbiddenDialogVisible = false">取 消</el-button>
 | 
	
		
			
				|  |  | +                <el-button type="primary" @click="forbiddenDialogVisible = false">确 定</el-button>
 | 
	
		
			
				|  |  | +            </span>
 | 
	
		
			
				|  |  | +        </el-dialog>
 | 
	
		
			
				|  |  | +        <el-dialog :title="isEdit ? '渠道上账' : '渠道结算'" :visible.sync="dialogVisible" width="40%">
 | 
	
		
			
				|  |  | +            <el-form :model="admin" ref="adminForm" label-width="150px" size="small">
 | 
	
		
			
				|  |  | +                <div style="font-size: 18px;font-weight: bold;">渠道信息</div>
 | 
	
		
			
				|  |  | +                <el-form-item label="渠道编号:">
 | 
	
		
			
				|  |  | +                    <template>{{ 'WQHIAHS124342DSAD' }}</template>
 | 
	
		
			
				|  |  | +                </el-form-item>
 | 
	
		
			
				|  |  | +                <el-form-item label="渠道名称:">
 | 
	
		
			
				|  |  | +                    <template>{{ 'WQHIAHS124342DSAD' }}</template>
 | 
	
		
			
				|  |  | +                </el-form-item>
 | 
	
		
			
				|  |  | +                <div style="font-size: 18px;font-weight: bold;">使用情况</div>
 | 
	
		
			
				|  |  | +                <el-form-item label="渠道上账总金额/元:">
 | 
	
		
			
				|  |  | +                    <template> {{ '10.00' }} </template>
 | 
	
		
			
				|  |  | +                </el-form-item>
 | 
	
		
			
				|  |  | +                <el-form-item label="渠道应付总金额/元:">
 | 
	
		
			
				|  |  | +                    <template> {{ '50.00' }} </template>
 | 
	
		
			
				|  |  | +                </el-form-item>
 | 
	
		
			
				|  |  | +                <el-form-item label="本次上账金额/元:">
 | 
	
		
			
				|  |  | +                    <el-input v-model="admin.note" placeholder="请输入上账金额" type="text" :rows="5"
 | 
	
		
			
				|  |  | +                        style="width: 250px"></el-input>
 | 
	
		
			
				|  |  | +                        <el-checkbox v-model="checked">负数</el-checkbox>
 | 
	
		
			
				|  |  | +                </el-form-item>
 | 
	
		
			
				|  |  | +                <el-form-item label="上传凭证:">
 | 
	
		
			
				|  |  | +                    <el-upload action="https://jsonplaceholder.typicode.com/posts/" list-type="picture-card"
 | 
	
		
			
				|  |  | +                        :on-preview="handlePictureCardPreview" :on-remove="handleRemove">
 | 
	
		
			
				|  |  | +                        <i class="el-icon-plus"></i>
 | 
	
		
			
				|  |  | +                    </el-upload>
 | 
	
		
			
				|  |  | +                </el-form-item>
 | 
	
		
			
				|  |  | +            </el-form>
 | 
	
		
			
				|  |  | +            <span slot="footer" class="dialog-footer">
 | 
	
		
			
				|  |  | +                <el-button @click="dialogVisible = false" size="small">取 消</el-button>
 | 
	
		
			
				|  |  | +                <el-button type="primary" @click="handleDialogConfirm()" size="small">确 定</el-button>
 | 
	
		
			
				|  |  | +            </span>
 | 
	
		
			
				|  |  | +        </el-dialog>
 | 
	
		
			
				|  |  | +        <el-dialog title="分配角色" :visible.sync="allocDialogVisible" width="30%">
 | 
	
		
			
				|  |  | +            <el-select v-model="allocRoleIds" multiple placeholder="请选择" size="small" style="width: 80%">
 | 
	
		
			
				|  |  | +                <el-option v-for="item in allRoleList" :key="item.id" :label="item.name" :value="item.id">
 | 
	
		
			
				|  |  | +                </el-option>
 | 
	
		
			
				|  |  | +            </el-select>
 | 
	
		
			
				|  |  | +            <span slot="footer" class="dialog-footer">
 | 
	
		
			
				|  |  | +                <el-button @click="allocDialogVisible = false" size="small">取 消</el-button>
 | 
	
		
			
				|  |  | +                <el-button type="primary" @click="handleAllocDialogConfirm()" size="small">确 定</el-button>
 | 
	
		
			
				|  |  | +            </span>
 | 
	
		
			
				|  |  | +        </el-dialog>
 | 
	
		
			
				|  |  | +    </div>
 | 
	
		
			
				|  |  | +</template>
 | 
	
		
			
				|  |  | +<script>
 | 
	
		
			
				|  |  | +import {
 | 
	
		
			
				|  |  | +    fetchList,
 | 
	
		
			
				|  |  | +    createAdmin,
 | 
	
		
			
				|  |  | +    updateAdmin,
 | 
	
		
			
				|  |  | +    updateStatus,
 | 
	
		
			
				|  |  | +    deleteAdmin,
 | 
	
		
			
				|  |  | +    getRoleByAdmin,
 | 
	
		
			
				|  |  | +    allocRole,
 | 
	
		
			
				|  |  | +} from "@/api/login";
 | 
	
		
			
				|  |  | +import { fetchAllRoleList } from "@/api/role";
 | 
	
		
			
				|  |  | +import { formatDate } from "@/utils/date";
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +const defaultListQuery = {
 | 
	
		
			
				|  |  | +    pageNum: 1,
 | 
	
		
			
				|  |  | +    pageSize: 10,
 | 
	
		
			
				|  |  | +    keyword: null,
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +const defaultAdmin = {
 | 
	
		
			
				|  |  | +    id: null,
 | 
	
		
			
				|  |  | +    username: null,
 | 
	
		
			
				|  |  | +    password: null,
 | 
	
		
			
				|  |  | +    nickName: null,
 | 
	
		
			
				|  |  | +    email: null,
 | 
	
		
			
				|  |  | +    note: null,
 | 
	
		
			
				|  |  | +    status: 1,
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +export default {
 | 
	
		
			
				|  |  | +    name: "adminList",
 | 
	
		
			
				|  |  | +    data() {
 | 
	
		
			
				|  |  | +        return {
 | 
	
		
			
				|  |  | +            date: '',
 | 
	
		
			
				|  |  | +            isforbidden: false,
 | 
	
		
			
				|  |  | +            forbiddenDialogVisible: false,
 | 
	
		
			
				|  |  | +            listQuery: Object.assign({}, defaultListQuery),
 | 
	
		
			
				|  |  | +            list: null,
 | 
	
		
			
				|  |  | +            total: null,
 | 
	
		
			
				|  |  | +            listLoading: false,
 | 
	
		
			
				|  |  | +            dialogVisible: false,
 | 
	
		
			
				|  |  | +            admin: Object.assign({}, defaultAdmin),
 | 
	
		
			
				|  |  | +            isEdit: false,
 | 
	
		
			
				|  |  | +            allocDialogVisible: false,
 | 
	
		
			
				|  |  | +            allocRoleIds: [],
 | 
	
		
			
				|  |  | +            allRoleList: [],
 | 
	
		
			
				|  |  | +            allocAdminId: null,
 | 
	
		
			
				|  |  | +        };
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    created() {
 | 
	
		
			
				|  |  | +        this.getList();
 | 
	
		
			
				|  |  | +        this.getAllRoleList();
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    filters: {
 | 
	
		
			
				|  |  | +        formatDateTime(time) {
 | 
	
		
			
				|  |  | +            if (time == null || time === "") {
 | 
	
		
			
				|  |  | +                return "N/A";
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            let date = new Date(time);
 | 
	
		
			
				|  |  | +            return formatDate(date, "yyyy-MM-dd hh:mm:ss");
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    methods: {
 | 
	
		
			
				|  |  | +        // 启用
 | 
	
		
			
				|  |  | +        enable() {
 | 
	
		
			
				|  |  | +            this.isforbidden = true
 | 
	
		
			
				|  |  | +            this.forbiddenDialogVisible = true
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        // 禁用
 | 
	
		
			
				|  |  | +        forbidden() {
 | 
	
		
			
				|  |  | +            this.isforbidden = false
 | 
	
		
			
				|  |  | +            this.forbiddenDialogVisible = true
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        // 结算
 | 
	
		
			
				|  |  | +        SettleAccount() {
 | 
	
		
			
				|  |  | +            this.dialogVisible = true;
 | 
	
		
			
				|  |  | +            this.isEdit = false;
 | 
	
		
			
				|  |  | +            this.admin = Object.assign({}, defaultAdmin);
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        handleResetSearch() {
 | 
	
		
			
				|  |  | +            this.listQuery = Object.assign({}, defaultListQuery);
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        handleSearchList() {
 | 
	
		
			
				|  |  | +            this.listQuery.pageNum = 1;
 | 
	
		
			
				|  |  | +            this.getList();
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        handleSizeChange(val) {
 | 
	
		
			
				|  |  | +            this.listQuery.pageNum = 1;
 | 
	
		
			
				|  |  | +            this.listQuery.pageSize = val;
 | 
	
		
			
				|  |  | +            this.getList();
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        handleCurrentChange(val) {
 | 
	
		
			
				|  |  | +            this.listQuery.pageNum = val;
 | 
	
		
			
				|  |  | +            this.getList();
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        handleStatusChange(index, row) {
 | 
	
		
			
				|  |  | +            this.$confirm("是否要修改该状态?", "提示", {
 | 
	
		
			
				|  |  | +                confirmButtonText: "确定",
 | 
	
		
			
				|  |  | +                cancelButtonText: "取消",
 | 
	
		
			
				|  |  | +                type: "warning",
 | 
	
		
			
				|  |  | +            })
 | 
	
		
			
				|  |  | +                .then(() => {
 | 
	
		
			
				|  |  | +                    updateStatus(row.id, { status: row.status }).then((response) => {
 | 
	
		
			
				|  |  | +                        this.$message({
 | 
	
		
			
				|  |  | +                            type: "success",
 | 
	
		
			
				|  |  | +                            message: "修改成功!",
 | 
	
		
			
				|  |  | +                        });
 | 
	
		
			
				|  |  | +                    });
 | 
	
		
			
				|  |  | +                })
 | 
	
		
			
				|  |  | +                .catch(() => {
 | 
	
		
			
				|  |  | +                    this.$message({
 | 
	
		
			
				|  |  | +                        type: "info",
 | 
	
		
			
				|  |  | +                        message: "取消修改",
 | 
	
		
			
				|  |  | +                    });
 | 
	
		
			
				|  |  | +                    this.getList();
 | 
	
		
			
				|  |  | +                });
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        handleDelete(index, row) {
 | 
	
		
			
				|  |  | +            this.$confirm("是否要删除该用户?", "提示", {
 | 
	
		
			
				|  |  | +                confirmButtonText: "确定",
 | 
	
		
			
				|  |  | +                cancelButtonText: "取消",
 | 
	
		
			
				|  |  | +                type: "warning",
 | 
	
		
			
				|  |  | +            }).then(() => {
 | 
	
		
			
				|  |  | +                deleteAdmin(row.id).then((response) => {
 | 
	
		
			
				|  |  | +                    this.$message({
 | 
	
		
			
				|  |  | +                        type: "success",
 | 
	
		
			
				|  |  | +                        message: "删除成功!",
 | 
	
		
			
				|  |  | +                    });
 | 
	
		
			
				|  |  | +                    this.getList();
 | 
	
		
			
				|  |  | +                });
 | 
	
		
			
				|  |  | +            });
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        handleUpdate(index, row) {
 | 
	
		
			
				|  |  | +            this.dialogVisible = true;
 | 
	
		
			
				|  |  | +            this.isEdit = true;
 | 
	
		
			
				|  |  | +            this.admin = Object.assign({}, row);
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        handleDialogConfirm() {
 | 
	
		
			
				|  |  | +            this.$confirm("是否要确认?", "提示", {
 | 
	
		
			
				|  |  | +                confirmButtonText: "确定",
 | 
	
		
			
				|  |  | +                cancelButtonText: "取消",
 | 
	
		
			
				|  |  | +                type: "warning",
 | 
	
		
			
				|  |  | +            }).then(() => {
 | 
	
		
			
				|  |  | +                if (this.isEdit) {
 | 
	
		
			
				|  |  | +                    updateAdmin(this.admin.id, this.admin).then((response) => {
 | 
	
		
			
				|  |  | +                        this.$message({
 | 
	
		
			
				|  |  | +                            message: "修改成功!",
 | 
	
		
			
				|  |  | +                            type: "success",
 | 
	
		
			
				|  |  | +                        });
 | 
	
		
			
				|  |  | +                        this.dialogVisible = false;
 | 
	
		
			
				|  |  | +                        this.getList();
 | 
	
		
			
				|  |  | +                    });
 | 
	
		
			
				|  |  | +                } else {
 | 
	
		
			
				|  |  | +                    createAdmin(this.admin).then((response) => {
 | 
	
		
			
				|  |  | +                        this.$message({
 | 
	
		
			
				|  |  | +                            message: "添加成功!",
 | 
	
		
			
				|  |  | +                            type: "success",
 | 
	
		
			
				|  |  | +                        });
 | 
	
		
			
				|  |  | +                        this.dialogVisible = false;
 | 
	
		
			
				|  |  | +                        this.getList();
 | 
	
		
			
				|  |  | +                    });
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            });
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        handleAllocDialogConfirm() {
 | 
	
		
			
				|  |  | +            this.$confirm("是否要确认?", "提示", {
 | 
	
		
			
				|  |  | +                confirmButtonText: "确定",
 | 
	
		
			
				|  |  | +                cancelButtonText: "取消",
 | 
	
		
			
				|  |  | +                type: "warning",
 | 
	
		
			
				|  |  | +            }).then(() => {
 | 
	
		
			
				|  |  | +                let params = new URLSearchParams();
 | 
	
		
			
				|  |  | +                params.append("adminId", this.allocAdminId);
 | 
	
		
			
				|  |  | +                params.append("roleIds", this.allocRoleIds);
 | 
	
		
			
				|  |  | +                allocRole(params).then((response) => {
 | 
	
		
			
				|  |  | +                    this.$message({
 | 
	
		
			
				|  |  | +                        message: "分配成功!",
 | 
	
		
			
				|  |  | +                        type: "success",
 | 
	
		
			
				|  |  | +                    });
 | 
	
		
			
				|  |  | +                    this.allocDialogVisible = false;
 | 
	
		
			
				|  |  | +                });
 | 
	
		
			
				|  |  | +            });
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        handleSelectRole(index, row) {
 | 
	
		
			
				|  |  | +            this.allocAdminId = row.id;
 | 
	
		
			
				|  |  | +            this.allocDialogVisible = true;
 | 
	
		
			
				|  |  | +            this.getRoleListByAdmin(row.id);
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        getList() {
 | 
	
		
			
				|  |  | +            this.listLoading = true;
 | 
	
		
			
				|  |  | +            fetchList(this.listQuery).then((response) => {
 | 
	
		
			
				|  |  | +                this.listLoading = false;
 | 
	
		
			
				|  |  | +                this.list = response.data.list;
 | 
	
		
			
				|  |  | +                this.total = response.data.total;
 | 
	
		
			
				|  |  | +            });
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        getAllRoleList() {
 | 
	
		
			
				|  |  | +            fetchAllRoleList().then((response) => {
 | 
	
		
			
				|  |  | +                this.allRoleList = response.data;
 | 
	
		
			
				|  |  | +            });
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +        getRoleListByAdmin(adminId) {
 | 
	
		
			
				|  |  | +            getRoleByAdmin(adminId).then((response) => {
 | 
	
		
			
				|  |  | +                let allocRoleList = response.data;
 | 
	
		
			
				|  |  | +                this.allocRoleIds = [];
 | 
	
		
			
				|  |  | +                if (allocRoleList != null && allocRoleList.length > 0) {
 | 
	
		
			
				|  |  | +                    for (let i = 0; i < allocRoleList.length; i++) {
 | 
	
		
			
				|  |  | +                        this.allocRoleIds.push(allocRoleList[i].id);
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            });
 | 
	
		
			
				|  |  | +        },
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +</script>
 | 
	
		
			
				|  |  | +<style></style>
 |