“dzb”
2022-09-27 7991973cf4c25527e227b80192e0bd087cfcee58
src/views/systemSetting/baseSetting/role/index.vue
@@ -30,9 +30,9 @@
                    </el-table-column> -->
                    <el-table-column prop="name" label="角色名称" min-width="10">
                    </el-table-column>
                    <el-table-column prop="username" label="角色类型" min-width="10">
                    <el-table-column prop="sort" label="角色类型" min-width="10">
                    </el-table-column>
                    <el-table-column prop="mobile" label="默认角色" min-width="10">
                    <el-table-column prop="adminCount" label="默认角色" min-width="10">
                    </el-table-column>
                    <el-table-column prop="description" label="备注" min-width="10">
                    </el-table-column>
@@ -51,14 +51,20 @@
                                <span class="line">|</span>
                                <!-- <span>修改密码</span> -->
                                <!-- <span>删除</span> -->
                                <span @click="handleUpdate(scope.row)">修改角色</span>
                                <span @click="handleUpdate(scope.row)">权限设置</span>
                                <span class="line">|</span>
                                <span @click="handleStop(scope.row)">停用</span>
                                <span class="line">|</span>
                                <span @click="handleDelete(scope.row)">删除</span>
                            </div>
                        </template>
                    </el-table-column>
                </el-table>
                <!-- 查看修改页面 -->
                <el-dialog :visible.sync="dialogUpdate" width="45%" :title="updateFlag ? '修改角色信息' :'查看角色信息'" v-if="dialogUpdate">
                    <updateUser :updateFlag="updateFlag" :userInfo=userInfo :getUserList=getUserList @changeDialog="changeDialog"  />
                <el-dialog :visible.sync="dialogUpdate" width="45%" :title="updateFlag ? '权限设置' :'查看角色信息'"
                    v-if="dialogUpdate">
                    <updateUser :updateFlag="updateFlag" :userInfo=userInfo :getUserList=getUserList
                        @changeDialog="changeDialog" />
                </el-dialog>
                <!-- 分页 -->
                <div class="pagination">
@@ -96,6 +102,28 @@
        this.getUserList();
    },
    methods: {
        handleDelete({ id }) {
            const that = this;
            let arr = [];
            arr.push(id);
            this.$confirm('确认删除?')
                .then(_ => {
                    that.$axios({
                        method: 'post',
                        url: 'sccg/role/delete?ids=' + arr,
                    })
                        .then(res => {
                            console.log(res);
                            this.$message({
                                type: 'success',
                                message: res.message
                            })
                            this.getUserList();
                        })
                })
                .catch(_ => { });
        },
        // 修改角色
        handleChangeRole(obj) {
            this.dialogUpdate = true
@@ -111,37 +139,66 @@
                console.log(res);
            })
        },
        handleStop(obj) {
            // let { id, status } = obj;
            // status == true ? status = 1 : status = 0;
            // console.log(id, status);
            // this.$axios.post(`/sccg/role/updateStatus/` + id + '?status=' + status).then(res => {
            //     this.getUserList();
            // })
        },
        // 获取用户列表
        getUserList() {
            const that = this;
            this.dialogCreate = false;
            // 获取所有用户信息
            this.$axios.get('sccg/role/listAll').then(res => {
                console.log(res)
                if (res.code === 200) {
                    res.data.forEach(item => {
                        item.createTime = helper(item.createTime);
                        item.status == 1 ? item.status = true : item.status = false;
                    })
                    that.tableData = res.data
                    this.totalNum=res.data.length
                }
                this.totalNum = res.data.length;
                this.search();
            })
        },
        search() {
            const that = this;
            const { currentPage, pageSize, context } = this;
            this.dialogCreate = false;
            // 获取所有用户信息
            this.$axios.get('sccg/role/list',{params:{pageNum:this.currentPage,pageSize:this.pageSize,keyword:this.context}}).then(res => {
                if (res.code === 200) {
                    res.data.list.forEach(item => {
                        item.createTime = helper(item.createTime);
                        item.status == 1 ? item.status = true : item.status = false;
                    })
                     this.totalNum=this.
                     this.totalNum=res.data.list.length
                }
            })
            if (context == '') {
                this.$axios.get('sccg/role/list?keyword=' + '&pageNum=' + currentPage + '&pageSize=' + pageSize).then(res => {
                    if (res.code === 200) {
                        console.log(res);
                        res.data.list.forEach(item => {
                            item.createTime = helper(item.createTime);
                            item.status == 1 ? item.status = true : item.status = false;
                        })
                        that.tableData = res.data.list
                    }
                })
            } else {
                this.$axios({
                    method: 'get',
                    url: 'sccg/role/list?keyword='+context + '&pageNum=' + currentPage + '&pageSize=' + pageSize,
                }).then(res => {
                    if (res.code === 200) {
                        console.log(2, res);
                        res.data.list.forEach(item => {
                            item.createTime = helper(item.createTime);
                            item.status == 1 ? item.status = true : item.status = false;
                        })
                        that.tableData = res.data.list
                        this.totalNum = res.data.length;
                    }
                })
                //     this.$axios.get('sccg/role/list?'+context).then(res => {
                //     if (res.code === 200) {
                //         console.log(2,res);
                //         res.data.list.forEach(item => {
                //             item.createTime = helper(item.createTime);
                //             item.status == 1 ? item.status = true : item.status = false;
                //         })
                //         that.tableData = res.data.list
                //     }
                // })
            }
        },
        // 设置表格斑马纹
        tableRowClassName({ row, rowIndex }) {
@@ -179,28 +236,7 @@
            this.currentPage = page;
            this.search();
        },
        // 用户查询(暂时支持电话号码)
        handlePhone() {
            const { search, getUserList } = this;
            const that = this;
            if (search == '') {
                getUserList();
                return;
            }
            this.dialogCreate = false;
            // 获取所有用户信息
            this.$axios.get(`sccg/admin/list?mobile=${search}`).then(res => {
                if (res.code === 200) {
                    res.data.records.forEach(item => {
                        item.createTime = helper(item.createTime);
                        item.status == 1 ? item.status = true : item.status = false;
                    })
                    that.totalNum = res.data.records.length;
                    that.tableData = res.data.records.slice((that.currentPage - 1) * 10, that.currentPage * 10)
                }
            })
        },
        changeDialog(val){
        changeDialog(val) {
            this.dialogUpdate = val.dialogUpdate;
            console.log(val);
        }
@@ -357,22 +393,26 @@
    &::v-deep .el-dialog__body {
        background-color: #06122c;
    }
    &::v-deep .el-dialog__header{
    &::v-deep .el-dialog__header {
        display: flex;
        align-items: center;
        background-color: #fff;
        padding: 20px;
        line-height: 60px;
    }
    &::v-deep .el-dialog__title{
    &::v-deep .el-dialog__title {
        color: #4b9bb7;
    }
    &::v-deep .el-dialog__close{
    &::v-deep .el-dialog__close {
        width: 20px;
        height: 20px;
        // color: #fff;
    }
    &::v-deep .el-dialog__body{
    &::v-deep .el-dialog__body {
        padding: 0;
    }
}