update some code

This commit is contained in:
fumeiai 2020-05-25 20:57:38 +08:00
parent bfa8c814c7
commit 4bd117040b
5 changed files with 163 additions and 118 deletions

BIN
.DS_Store vendored

Binary file not shown.

View File

@ -13,7 +13,7 @@ module.exports = {
assetsPublicPath: '/',
proxyTable: {
'/lz_management': {
target: 'https://tlzmanagement.ldxinyong.com',
target: 'http://localhost:8080',
changeOrigin: true
}
},

27
package-lock.json generated
View File

@ -4672,9 +4672,9 @@
}
},
"eventemitter3": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz",
"integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==",
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz",
"integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==",
"dev": true
},
"events": {
@ -5425,12 +5425,12 @@
}
},
"follow-redirects": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.7.0.tgz",
"integrity": "sha512-m/pZQy4Gj287eNy94nivy5wchN3Kp+Q5WgUPNy5lJSZ3sgkVKSYV/ZChMAQVIgx1SqfZ2zBZtPA2YlXIWxxJOQ==",
"version": "1.11.0",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.11.0.tgz",
"integrity": "sha512-KZm0V+ll8PfBrKwMzdo5D13b1bur9Iq9Zd/RMmAoQQcl2PxxFml8cxXPaaPYVbV0RjNjq1CU7zIzAOqtUPudmA==",
"dev": true,
"requires": {
"debug": "^3.2.6"
"debug": "^3.0.0"
}
},
"for-in": {
@ -6806,12 +6806,12 @@
"dev": true
},
"http-proxy": {
"version": "1.17.0",
"resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz",
"integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==",
"version": "1.18.1",
"resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz",
"integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
"dev": true,
"requires": {
"eventemitter3": "^3.0.0",
"eventemitter3": "^4.0.0",
"follow-redirects": "^1.0.0",
"requires-port": "^1.0.0"
}
@ -9992,6 +9992,11 @@
"commander": "*"
}
},
"moment": {
"version": "2.26.0",
"resolved": "https://registry.npmjs.org/moment/-/moment-2.26.0.tgz",
"integrity": "sha512-oIixUO+OamkUkwjhAVE18rAMfRJNsNe/Stid/gwHSOfHrOtw9EhAY2AHvdKZ/k/MggcYELFCJz/Sn2pL8b8JMw=="
},
"move-concurrently": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",

View File

@ -2,7 +2,13 @@
<el-card class="mod-user">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="handleGetTableList()">
<el-form-item>
<el-input v-model="dataForm.userName" placeholder="员工姓名" clearable></el-input>
<el-input v-model="dataForm.realName" placeholder="请输入员工姓名" clearable></el-input>
</el-form-item>
<el-form-item>
<el-input v-model="dataForm.mobile" placeholder="请输入手机号" clearable></el-input>
</el-form-item>
<el-form-item>
<el-input v-model="dataForm.roleName" placeholder="请输入职位" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button @click="handleGetTableList()">查询</el-button>
@ -12,7 +18,8 @@
type="danger"
@click="handleDelete()"
:disabled="dataListSelections.length <= 0"
>批量删除</el-button>
>批量删除
</el-button>
</el-form-item>
</el-form>
<el-table
@ -23,10 +30,11 @@
style="width: 100%;"
>
<el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column>
<el-table-column prop="userId" header-align="center" align="center" width="80" label="ID"></el-table-column>
<el-table-column prop="username" header-align="center" align="center" label="员工姓名"></el-table-column>
<el-table-column prop="email" header-align="center" align="center" label="账号"></el-table-column>
<!-- <el-table-column prop="userId" header-align="center" align="center" width="80" label="ID"></el-table-column>-->
<el-table-column prop="realName" header-align="center" align="center" label="员工姓名"></el-table-column>
<el-table-column prop="username" header-align="center" align="center" label="账号"></el-table-column>
<el-table-column prop="mobile" header-align="center" align="center" label="手机号"></el-table-column>
<el-table-column prop="roleName" header-align="center" align="center" label="角色"></el-table-column>
<el-table-column prop="status" header-align="center" align="center" label="状态">
<template slot-scope="scope">
<el-tag v-if="scope.row.status === 0" size="small" type="danger">禁用</el-tag>
@ -47,13 +55,15 @@
type="text"
size="mini"
@click="handleAddOrUpdate(scope.row.userId)"
>编辑</el-button>
>编辑
</el-button>
<el-button
v-if="isAuth('sys:user:delete')"
type="text"
size="mini"
@click="handleDelete(scope.row.userId)"
>删除</el-button>
>删除
</el-button>
</template>
</el-table-column>
</el-table>
@ -76,96 +86,101 @@
</template>
<script>
import AddOrUpdate from './user-add-or-update'
import { apiSysUserList, apiSysUserDelete } from '@/api/api_sys'
import AddOrUpdate from './user-add-or-update'
import {apiSysUserList, apiSysUserDelete} from '@/api/api_sys'
export default {
data () {
return {
dataForm: {
userName: ''
},
dataList: [],
pageIndex: 1,
pageSize: 20,
totalPage: 0,
dataListLoading: false,
dataListSelections: [],
addOrUpdateVisible: false
}
},
components: {
AddOrUpdate
},
activated () {
this.handleGetTableList()
},
methods: {
//
handleGetTableList () {
apiSysUserList({
'page': this.pageIndex,
'limit': this.pageSize,
'username': this.dataForm.userName
}).then(res => {
if (res && res.code === 0) {
this.dataList = res.page.list
this.totalPage = res.page.totalCount
} else {
this.dataList = []
this.totalPage = 0
}
this.dataListLoading = false
})
export default {
data () {
return {
dataForm: {
realName: '',
mobile: '',
roleName: ''
},
dataList: [],
pageIndex: 1,
pageSize: 20,
totalPage: 0,
dataListLoading: false,
dataListSelections: [],
addOrUpdateVisible: false
}
},
//
handleChangeSize (val) {
this.pageSize = val
this.pageIndex = 1
components: {
AddOrUpdate
},
activated () {
this.handleGetTableList()
},
//
handleChangeCurrent (val) {
this.pageIndex = val
this.handleGetTableList()
},
//
handleChangeSelection (val) {
this.dataListSelections = val
},
// /
handleAddOrUpdate (id) {
this.addOrUpdateVisible = true
this.$nextTick(() => {
this.$refs.addOrUpdate.init(id)
})
},
//
handleDelete (id) {
let userIds = id ? [id] : this.dataListSelections.map(item => {
return item.userId
})
this.$confirm(`确定删除该账户吗?删除后该账户将无法使用`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
apiSysUserDelete(userIds).then(res => {
methods: {
//
handleGetTableList () {
apiSysUserList({
'page': this.pageIndex,
'limit': this.pageSize,
'realName': this.dataForm.realName,
'mobile': this.dataForm.mobile,
'roleName': this.dataForm.roleName
}).then(res => {
if (res && res.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.handleGetTableList()
}
})
this.dataList = res.page.list
this.totalPage = res.page.totalCount
} else {
this.$message.error(res.msg)
this.dataList = []
this.totalPage = 0
}
this.dataListLoading = false
})
}).catch(() => { })
},
//
handleChangeSize (val) {
this.pageSize = val
this.pageIndex = 1
this.handleGetTableList()
},
//
handleChangeCurrent (val) {
this.pageIndex = val
this.handleGetTableList()
},
//
handleChangeSelection (val) {
this.dataListSelections = val
},
// /
handleAddOrUpdate (id) {
this.addOrUpdateVisible = true
this.$nextTick(() => {
this.$refs.addOrUpdate.init(id)
})
},
//
handleDelete (id) {
let userIds = id ? [id] : this.dataListSelections.map(item => {
return item.userId
})
this.$confirm(`确定删除该账户吗?删除后该账户将无法使用`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
apiSysUserDelete(userIds).then(res => {
if (res && res.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.handleGetTableList()
}
})
} else {
this.$message.error(res.msg)
}
})
}).catch(() => {
})
}
}
}
}
</script>

View File

@ -11,7 +11,25 @@
@keyup.enter.native="handleConfirm()"
label-width="80px"
>
<el-form-item label="员工姓名" prop="username">
<el-form-item label="员工姓名" prop="realName">
<el-input
v-model="dataForm.realName"
placeholder="真实姓名"
clearable
maxlength="20"
show-word-limit
></el-input>
</el-form-item>
<el-form-item label="工号" prop="userNo">
<el-input
v-model="dataForm.userNo"
placeholder="工号"
clearable
maxlength="20"
show-word-limit
></el-input>
</el-form-item>
<el-form-item label="账号" prop="username">
<el-input
v-model="dataForm.username"
placeholder="登录帐号"
@ -20,6 +38,9 @@
show-word-limit
></el-input>
</el-form-item>
<el-form-item label="手机号" prop="mobile">
<el-input v-model="dataForm.mobile" placeholder="手机号" maxlength="11"></el-input>
</el-form-item>
<el-form-item label="密码" prop="password" :class="{ 'is-required': !dataForm.id }">
<el-input
clearable
@ -43,25 +64,22 @@
<el-form-item label="邮箱" prop="email">
<el-input v-model="dataForm.email" placeholder="邮箱"></el-input>
</el-form-item>
<el-form-item label="手机号" prop="mobile">
<el-input v-model="dataForm.mobile" placeholder="手机号" maxlength="11"></el-input>
</el-form-item>
<el-form-item label="角色" size="mini" prop="roleIdList">
<el-checkbox-group v-model="dataForm.roleIdList">
<el-checkbox
v-for="role in roleList"
:key="role.roleId"
:label="role.roleId"
>{{ role.roleName }}</el-checkbox>
</el-checkbox-group>
</el-form-item>
<el-form-item label="状态" size="mini" prop="status">
<el-radio-group v-model="dataForm.status">
<el-radio :label="0"></el-radio>
<el-radio :label="1">正常</el-radio>
<el-radio :label="1">启用</el-radio>
<el-radio :label="0">停用</el-radio>
</el-radio-group>
</el-form-item>
</el-form>
<el-form-item label="关联角色" size="mini" prop="roleIdList">
<el-checkbox-group v-model="dataForm.roleIdList">
<el-checkbox
v-for="role in roleList"
:key="role.roleId"
:label="role.roleId"
>{{ role.roleName }}</el-checkbox>
</el-checkbox-group>
</el-form-item>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false">取消</el-button>
<el-button type="primary" @click="handleConfirm()">确定</el-button>
@ -117,7 +135,9 @@ export default {
roleList: [],
dataForm: {
id: 0,
realName: '',
username: '',
userNo: '',
password: '',
comfirmPassword: '',
salt: '',
@ -127,11 +147,12 @@ export default {
status: 1
},
dataRule: {
username: [{ required: true, message: '员工姓名不能为空', trigger: 'blur' }],
realName: [{ required: true, message: '员工姓名不能为空', trigger: 'blur' }],
userNo: [{ required: true, message: '工号不能为空', trigger: 'blur' }],
username: [{ required: true, message: '账号不能为空', trigger: 'blur' }],
password: [{ validator: validatePassword, trigger: 'blur' }],
comfirmPassword: [{ validator: validateComfirmPassword, trigger: 'blur' }],
email: [
{ required: true, message: '邮箱不能为空', trigger: 'blur' },
{ validator: validateEmail, trigger: 'blur' }
],
mobile: [
@ -173,6 +194,8 @@ export default {
if (res && res.code === 0) {
this.$nextTick(() => {
this.dataForm.username = res.user.username
this.dataForm.realName = res.user.realName
this.dataForm.userNo = res.user.userNo
this.dataForm.salt = res.user.salt
this.dataForm.email = res.user.email
this.dataForm.mobile = res.user.mobile
@ -189,6 +212,8 @@ export default {
if (valid) {
let params = {
'userId': this.dataForm.id || undefined,
'realName': this.dataForm.realName,
'userNo': this.dataForm.userNo,
'username': this.dataForm.username,
'password': this.dataForm.password,
'salt': this.dataForm.salt,