Files
hb_pqs_web/src/views/sys/user-boot/user/audit.vue
2025-01-09 19:02:44 +08:00

225 lines
8.3 KiB
Vue

<template>
<div class="app-container pd10">
<el-row :gutter="40">
<el-col :span="24" :xs="24">
<el-form ref="queryForm" :inline="true" :model="queryParams" label-width="68px" size="small">
<el-form-item>
<el-button icon="el-icon-check" type="primary" @click="handleAuditSubmit">审核用户</el-button>
</el-form-item>
</el-form>
<el-table
stripe
highlight-current-row
element-loading-text="数据载入中"
tooltip-effect="dark"
@selection-change="handleSelectionChange"
header-cell-class-name="table_header"
:height="vh + 'px'"
border
:data="tables"
>
<el-table-column align="center" type="selection" width="65" prop="userIndex"></el-table-column>
<el-table-column align="center" label="名称" prop="name" />
<el-table-column align="center" label="登录名" prop="loginName" />
<el-table-column align="center" label="角色" :formatter="gName" prop="role" />
<el-table-column align="center" label="部门" prop="deptId" />
<el-table-column align="center" label="电话" prop="phone" />
<el-table-column align="center" label="注册时间" :show-overflow-tooltip="true" prop="registerTime">
<template slot-scope="scope">{{ scope.row.registerTime | formatDate }}</template>
</el-table-column>
<el-table-column align="center" label="类型" prop="casualUser" width="100">
<template slot-scope="scope">
<span v-if="scope.row.casualUser === 0" type="primary" size="small">临时用户</span>
<span v-if="scope.row.casualUser === 1" type="success" size="small">长期用户</span>
</template>
</el-table-column>
<el-table-column align="center" label="状态" prop="state" width="150">
<template>
<span type="warning" size="small">待审核</span>
</template>
</el-table-column>
<el-table-column align="center" label="操作" width="260">
<template slot-scope="scope">
<el-button
type="primary"
icon="el-icon-check"
size="mini"
@click.stop="handleAudit(scope.row)"
>
审核通过
</el-button>
<el-button type="primary" size="mini" @click.stop="handleDelete(scope.row)">
审核不通过
</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
background
class="mt10"
align="right"
v-show="page.total > 0"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="page.current"
:page-sizes="[5, 10, 15]"
:page-size="page.size"
layout="total, sizes, prev, pager, next, jumper"
:total="page.total"
></el-pagination>
</el-col>
</el-row>
</div>
</template>
<script>
import { listsh, checkUser } from '@/api/admin/user'
import { gongkey } from '@/api/user'
import { sm3Digest } from '@/assets/commjs/sm3'
import { sm2, encrypt } from '@/assets/commjs/sm2.js'
export default {
computed: {
// 实时监听表格
tables: function () {
const search = this.search
if (search) {
return this.pageList.filter(dataNews => {
return Object.keys(dataNews).some(key => {
return String(dataNews[key]).toLowerCase().indexOf(search) > -1
})
})
}
return this.pageList
}
},
filters: {
formatDate: function (value) {
//这里的 value 就是需要过滤的数据
var date = new Date(value)
var year = date.getFullYear()
var month = date.getMonth() + 1
var day = date.getDate()
var hours = date.getHours()
var minutes = date.getMinutes()
var seconds = date.getSeconds()
return year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds
}
},
data() {
return {
// 遮罩层
vh: null,
loading: true,
queryParams: {
casualUser: 0,
orderBy: '',
searchBeginTime: '',
searchEndTime: '',
searchState: 0,
searchValue: '',
sortBy: ''
},
page: {
current: 1,
size: 15,
total: 0
},
pageList: [],
multipleSelection: []
}
},
created() {
this.loadData()
},
mounted() {
this.setHeight()
window.addEventListener('resize', this.setHeight)
},
beforeDestroy() {
window.removeEventListener('resize', this.setHeight)
},
methods: {
setHeight() {
this.vh = window.sessionStorage.getItem('appheight') - 106
},
gName(row, column) {
var gNamelist = []
for (var i = 0; i < row.role.length; i++) {
gNamelist.push(row.role[i])
}
return gNamelist.join()
},
loadData() {
this.handleQuery()
},
handleQuery() {
this.queryParams.pageNum = this.page.current
this.queryParams.pageSize = this.page.size
listsh(this.queryParams).then(response => {
if (response.code === 'A0000') {
const { data } = response
this.pageList = data.records
this.page.total = data.total
this.page.size = data.pageSize
this.loading = false
}
if (response.code === 'A0110') {
this.$message.success('暂无用户')
const { data, total } = response
this.pageList = []
this.loading = false
}
})
},
handleSizeChange(val) {
this.page.size = val
this.handleQuery()
},
handleCurrentChange(val) {
this.page.current = val
this.handleQuery()
},
handleUnlock(row) {},
handleReset() {},
submint() {},
handleSelectionChange(val) {
this.multipleSelection = val
// alert(val)
console.log(val)
},
handleAudit(row) {
// alert('审核')
let arr = []
let id = row.id
arr.push(id)
checkUser(arr).then(response => {
if (response.code === 'A0000') {
this.$message({ message: response.message, type: 'success' })
}
this.handleQuery()
})
},
handleDelete() {
// alert('删除')
},
handleAuditSubmit() {
// alert('批量提交')
var arr = []
for (var i = 0; i < this.multipleSelection.length; i++) {
arr.push(this.multipleSelection[i].id)
}
checkUser(arr).then(response => {
if (response.code === 'A0000') {
this.$message({ message: response.message, type: 'success' })
}
this.handleQuery()
})
}
}
}
</script>
<style lang="less" scoped>
@import url('../../../../styles/comStyle.less');
</style>