New file |
| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <el-form :model="queryParam" ref="queryForm" :inline="true"> |
| | | <el-form-item label="用户名:"> |
| | | <el-input v-model="queryParam.userName"></el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <div style="display: flex"> |
| | | <el-button type="primary" @click="search()">查询</el-button> |
| | | </div> |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <el-table v-loading="listLoading" :data="tableData" border fit highlight-current-row style="width: 100%"> |
| | | <el-table-column prop="userName" label="用户名" /> |
| | | <el-table-column prop="departmentName" label="部门名称" /> |
| | | <el-table-column prop="nowDepartmentName" label="原部门名称" /> |
| | | <el-table-column prop="result" label="审核结果"> |
| | | <template slot-scope="{row}"> |
| | | <el-tag :type="row.result === '审核通过' ? 'success' : row.result === '审核失败' ? 'danger' : 'info'">{{row.result}}</el-tag> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="createUserName" label="创建人" /> |
| | | <el-table-column prop="createTime" label="创建时间" width="160px" /> |
| | | <el-table-column label="操作" align="center"> |
| | | <template slot-scope="{row}"> |
| | | <el-button v-if="row.result === '待审核'" type="primary" size="mini" @click="transposition(row)" class="link-left">审核</el-button> |
| | | <el-popconfirm title="确认删除" @confirm="deleteUser(row)"> |
| | | <el-button slot="reference" size="mini" type="danger" class="link-left">删除</el-button> |
| | | </el-popconfirm> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <pagination v-show="total > 0" :total="total" :page.sync="queryParam.pageIndex" :limit.sync="queryParam.pageSize" |
| | | @pagination="search" /> |
| | | |
| | | <!-- 审核弹窗 --> |
| | | <el-dialog :visible.sync="statusVisible" append-to-body :show-close="false" center width="400px"> |
| | | <el-radio-group v-model="user.result"> |
| | | <el-radio label="审核通过">通过</el-radio> |
| | | <el-radio label="审核驳回">驳回</el-radio> |
| | | </el-radio-group> |
| | | <el-input type="textarea" maxlength="100" show-word-limit :autosize="{ minRows: 4 }" :rows="2" |
| | | v-model="user.remark" placeholder="请输入审核意见" style="margin-top: 30px;"></el-input> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="statusConfirm">确 定</el-button> |
| | | <el-button @click="statusVisible = false">取 消</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import departmentExamineApi from '@/api/departmentExamine' |
| | | import Pagination from '@/components/Pagination' |
| | | import { mapGetters, mapState } from 'vuex' |
| | | |
| | | export default { |
| | | components: { Pagination }, |
| | | data() { |
| | | return { |
| | | user: {}, |
| | | statusVisible: false, |
| | | fileList: [], |
| | | queryParam: { |
| | | userName: '', |
| | | role: 1, |
| | | pageIndex: 1, |
| | | pageSize: 10 |
| | | }, |
| | | listLoading: true, |
| | | tableData: [], |
| | | total: 0, |
| | | } |
| | | }, |
| | | created() { |
| | | this.search() |
| | | }, |
| | | methods: { |
| | | transposition(user) { |
| | | this.statusVisible = true; |
| | | this.user = { ...user }; |
| | | }, |
| | | statusConfirm() { |
| | | if (this.user.result === null) { |
| | | this.$message.error("请选择状态") |
| | | return |
| | | } |
| | | departmentExamineApi.audit(this.user).then(res => { |
| | | if (res.code === 1) { |
| | | this.$message.success("操作成功") |
| | | this.statusVisible = false; |
| | | this.search() |
| | | } else { |
| | | this.$message.error("操作失败") |
| | | } |
| | | }) |
| | | }, |
| | | search() { |
| | | this.listLoading = true |
| | | departmentExamineApi.list(this.queryParam).then(data => { |
| | | const re = data.response |
| | | this.tableData = re.list |
| | | this.total = re.total |
| | | this.queryParam.pageIndex = re.pageNum |
| | | this.listLoading = false |
| | | }) |
| | | }, |
| | | changeStatus(row) { |
| | | let _this = this |
| | | userApi.changeStatus(row.id).then(re => { |
| | | if (re.code === 1) { |
| | | row.status = re.response |
| | | _this.$message.success(re.message) |
| | | } else { |
| | | _this.$message.error(re.message) |
| | | } |
| | | }) |
| | | }, |
| | | deleteUser(row) { |
| | | let _this = this |
| | | departmentExamineApi.delete(row.id).then(re => { |
| | | if (re.code === 1) { |
| | | _this.search() |
| | | _this.$message.success(re.message) |
| | | } else { |
| | | _this.$message.error(re.message) |
| | | } |
| | | }) |
| | | }, |
| | | levelFormatter(row, column, cellValue, index) { |
| | | return this.enumFormat(this.levelEnum, cellValue) |
| | | }, |
| | | sexFormatter(row, column, cellValue, index) { |
| | | return this.enumFormat(this.sexEnum, cellValue) |
| | | }, |
| | | statusFormatter(status) { |
| | | return this.enumFormat(this.statusEnum, status) |
| | | }, |
| | | statusTagFormatter(status) { |
| | | return this.enumFormat(this.statusTag, status) |
| | | }, |
| | | statusBtnFormatter(status) { |
| | | return this.enumFormat(this.statusBtn, status) |
| | | } |
| | | }, |
| | | computed: { |
| | | ...mapGetters('enumItem', [ |
| | | 'enumFormat' |
| | | ]), |
| | | ...mapState('enumItem', { |
| | | sexEnum: state => state.user.sexEnum, |
| | | statusEnum: state => state.user.statusEnum, |
| | | statusTag: state => state.user.statusTag, |
| | | statusBtn: state => state.user.statusBtn, |
| | | levelEnum: state => state.user.levelEnum |
| | | }) |
| | | } |
| | | } |
| | | </script> |
| | | <style lang="scss" scoped> |
| | | .upload-demo { |
| | | margin-left: 5px; |
| | | } |
| | | </style> |