|
|
|
@ -5,9 +5,14 @@ |
|
|
|
<el-input v-model="dataForm.userName" placeholder="用户账号" clearable></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item> |
|
|
|
<el-button @click="getDataList()">查询</el-button> |
|
|
|
<el-button @click="getDataList()" type="primary">查询</el-button> |
|
|
|
<el-button v-if="isAuth('sys:user:save')" type="primary" @click="addOrUpdateHandle()">新增</el-button> |
|
|
|
<el-button v-if="isAuth('sys:user:delete')" type="danger" @click="deleteHandle()" :disabled="dataListSelections.length <= 0">批量删除</el-button> |
|
|
|
<el-button v-if="isAuth('sys:user:save')" :disabled="this.showButton" type="primary" |
|
|
|
>特殊权限 |
|
|
|
</el-button> |
|
|
|
<el-button v-if="isAuth('sys:user:save')" :disabled="this.showButton" type="primary" |
|
|
|
>工厂授权 |
|
|
|
</el-button> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-table |
|
|
|
@ -15,20 +20,22 @@ |
|
|
|
border |
|
|
|
v-loading="dataListLoading" |
|
|
|
@selection-change="selectionChangeHandle" |
|
|
|
highlight-current-row |
|
|
|
@current-change="handleCurrentChange" |
|
|
|
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--> |
|
|
|
<!-- 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" |
|
|
|
@ -59,7 +66,7 @@ |
|
|
|
align="center" |
|
|
|
label="状态"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<el-link v-if="scope.row.status === 0" type="success">禁用</el-link> |
|
|
|
<el-link v-if="scope.row.status === 0" type="success">禁用</el-link> |
|
|
|
<el-link v-else type="danger">正常</el-link> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
@ -77,15 +84,16 @@ |
|
|
|
width="150" |
|
|
|
label="操作"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<a type="text" size="small" @click="generateData(scope.row)">审核</a> |
|
|
|
<a v-if="isAuth('sys:user:update')" type="text" size="small" @click="addOrUpdateHandle(scope.row.userId)">修改</a> |
|
|
|
<a type="text" size="small" @click="generateData(scope.row)">审核</a> |
|
|
|
<a v-if="isAuth('sys:user:update')" type="text" size="small" |
|
|
|
@click="addOrUpdateHandle(scope.row.userId)">修改</a> |
|
|
|
<a v-if="isAuth('sys:user:delete')" type="text" size="small" @click="deleteHandle(scope.row.userId)">删除</a> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
<el-pagination |
|
|
|
@size-change="sizeChangeHandle" |
|
|
|
@current-change="currentChangeHandle" |
|
|
|
highlight-current-row |
|
|
|
@current-change="handleCurrentChange" |
|
|
|
:current-page="pageIndex" |
|
|
|
:page-sizes="[20, 50, 100, 200,500]" |
|
|
|
:page-size="pageSize" |
|
|
|
@ -95,7 +103,8 @@ |
|
|
|
<!-- 弹窗, 新增 / 修改 --> |
|
|
|
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update> |
|
|
|
|
|
|
|
<el-dialog :close-on-click-modal="false" :close-on-press-escape="false" v-drag :title="inputSearch1" :visible.sync="setUp.reviewFlag" width="560px"> |
|
|
|
<el-dialog :close-on-click-modal="false" :close-on-press-escape="false" v-drag :title="inputSearch1" |
|
|
|
:visible.sync="setUp.reviewFlag" width="560px"> |
|
|
|
<template> |
|
|
|
<el-transfer v-model="checked" :data="transferData" :titles="['所有权限', '当前权限']"></el-transfer> |
|
|
|
</template> |
|
|
|
@ -108,178 +117,185 @@ |
|
|
|
</template> |
|
|
|
|
|
|
|
<script> |
|
|
|
import AddOrUpdate from './user-add-or-update' |
|
|
|
import { |
|
|
|
getUserBusinessRoleList, |
|
|
|
saveUserBusinessRole, |
|
|
|
} from '@/api/auditManagement/auditType.js' |
|
|
|
export default { |
|
|
|
data () { |
|
|
|
return { |
|
|
|
currentData : {}, |
|
|
|
userId: this.$store.state.user.name, |
|
|
|
transferData : [], |
|
|
|
checked: [], |
|
|
|
inputSearch1 : '审核权限', |
|
|
|
//设置 |
|
|
|
setUp :{ |
|
|
|
reviewFlag : false, |
|
|
|
saveButton : false, |
|
|
|
}, |
|
|
|
dataForm: { |
|
|
|
userName: '' |
|
|
|
}, |
|
|
|
dataList: [], |
|
|
|
pageIndex: 1, |
|
|
|
pageSize: 20, |
|
|
|
totalPage: 0, |
|
|
|
dataListLoading: false, |
|
|
|
dataListSelections: [], |
|
|
|
addOrUpdateVisible: false |
|
|
|
} |
|
|
|
}, |
|
|
|
components: { |
|
|
|
AddOrUpdate |
|
|
|
}, |
|
|
|
activated () { |
|
|
|
this.getDataList() |
|
|
|
import AddOrUpdate from './user-add-or-update' |
|
|
|
import { |
|
|
|
getUserBusinessRoleList, |
|
|
|
saveUserBusinessRole, |
|
|
|
} from '@/api/auditManagement/auditType.js' |
|
|
|
|
|
|
|
export default { |
|
|
|
data() { |
|
|
|
return { |
|
|
|
showButton: true, |
|
|
|
currentData: {}, |
|
|
|
userId: this.$store.state.user.name, |
|
|
|
transferData: [], |
|
|
|
checked: [], |
|
|
|
inputSearch1: '审核权限', |
|
|
|
//设置 |
|
|
|
setUp: { |
|
|
|
reviewFlag: false, |
|
|
|
saveButton: false, |
|
|
|
}, |
|
|
|
dataForm: { |
|
|
|
userName: '' |
|
|
|
}, |
|
|
|
dataList: [], |
|
|
|
pageIndex: 1, |
|
|
|
pageSize: 20, |
|
|
|
totalPage: 0, |
|
|
|
dataListLoading: false, |
|
|
|
dataListSelections: [], |
|
|
|
addOrUpdateVisible: false |
|
|
|
} |
|
|
|
}, |
|
|
|
components: { |
|
|
|
AddOrUpdate |
|
|
|
}, |
|
|
|
activated() { |
|
|
|
this.getDataList() |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
// 选中行 |
|
|
|
handleCurrentChange() { |
|
|
|
this.showButton = false |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
saveUserRoleFlag(){ |
|
|
|
let saveList = [] |
|
|
|
let currentList = this.checked |
|
|
|
// 当前未选择记录 |
|
|
|
if(currentList.length == 0){ |
|
|
|
this.$confirm("当前未选择记录,是否继续?", '删除提示', { |
|
|
|
confirmButtonText: '确定', |
|
|
|
cancelButtonText: '取消', |
|
|
|
}).then(()=>{ |
|
|
|
let data = { |
|
|
|
userId : this.currentData.userId, |
|
|
|
} |
|
|
|
saveList.push(data); |
|
|
|
this.saveUserBusinessRole(saveList) |
|
|
|
}).catch(()=>{ |
|
|
|
return |
|
|
|
}) |
|
|
|
}else { |
|
|
|
for (let i = 0; i < currentList.length; i++) { |
|
|
|
let data = { |
|
|
|
userId : this.currentData.userId, |
|
|
|
roleItemNo : currentList[i], |
|
|
|
selectFlag : 'Y', |
|
|
|
} |
|
|
|
saveList.push(data); |
|
|
|
saveUserRoleFlag() { |
|
|
|
let saveList = [] |
|
|
|
let currentList = this.checked |
|
|
|
// 当前未选择记录 |
|
|
|
if (currentList.length == 0) { |
|
|
|
this.$confirm("当前未选择记录,是否继续?", '删除提示', { |
|
|
|
confirmButtonText: '确定', |
|
|
|
cancelButtonText: '取消', |
|
|
|
}).then(() => { |
|
|
|
let data = { |
|
|
|
userId: this.currentData.userId, |
|
|
|
} |
|
|
|
saveList.push(data); |
|
|
|
this.saveUserBusinessRole(saveList) |
|
|
|
}).catch(() => { |
|
|
|
return |
|
|
|
}) |
|
|
|
} else { |
|
|
|
for (let i = 0; i < currentList.length; i++) { |
|
|
|
let data = { |
|
|
|
userId: this.currentData.userId, |
|
|
|
roleItemNo: currentList[i], |
|
|
|
selectFlag: 'Y', |
|
|
|
} |
|
|
|
saveList.push(data); |
|
|
|
} |
|
|
|
}, |
|
|
|
saveUserBusinessRole(saveList){ |
|
|
|
saveUserBusinessRole(saveList).then(({data}) =>{ |
|
|
|
this.$alert(data.msg, '操作提示', { |
|
|
|
confirmButtonText: '确定', |
|
|
|
callback: action => { |
|
|
|
if (data.code == 0) { |
|
|
|
this.setUp.reviewFlag = false |
|
|
|
} |
|
|
|
this.setUp.saveButton = false |
|
|
|
this.saveUserBusinessRole(saveList) |
|
|
|
} |
|
|
|
}, |
|
|
|
saveUserBusinessRole(saveList) { |
|
|
|
saveUserBusinessRole(saveList).then(({data}) => { |
|
|
|
this.$alert(data.msg, '操作提示', { |
|
|
|
confirmButtonText: '确定', |
|
|
|
callback: action => { |
|
|
|
if (data.code == 0) { |
|
|
|
this.setUp.reviewFlag = false |
|
|
|
} |
|
|
|
this.setUp.saveButton = false |
|
|
|
} |
|
|
|
}); |
|
|
|
}) |
|
|
|
}, |
|
|
|
generateData(row) { |
|
|
|
this.currentData = row |
|
|
|
let queryData = { |
|
|
|
active: 'Y', |
|
|
|
userId: this.currentData.userId, |
|
|
|
} |
|
|
|
getUserBusinessRoleList(queryData).then(({data}) => { |
|
|
|
let rows1Data = data.map.rows1 |
|
|
|
let rows2Data = data.map.rows2 |
|
|
|
let forData = [] |
|
|
|
let checkedList = [] |
|
|
|
for (let i = 0; i < rows1Data.length; i++) { |
|
|
|
forData.push({ |
|
|
|
key: rows1Data[i].roleItemNo, |
|
|
|
label: rows1Data[i].roleDesc, |
|
|
|
}); |
|
|
|
}) |
|
|
|
}, |
|
|
|
generateData(row){ |
|
|
|
this.currentData = row |
|
|
|
let queryData = { |
|
|
|
active : 'Y', |
|
|
|
userId : this.currentData.userId, |
|
|
|
} |
|
|
|
getUserBusinessRoleList(queryData).then(({data}) =>{ |
|
|
|
let rows1Data = data.map.rows1 |
|
|
|
let rows2Data = data.map.rows2 |
|
|
|
let forData = [] |
|
|
|
let checkedList = [] |
|
|
|
for(let i = 0; i < rows1Data.length; i++) { |
|
|
|
forData.push({ |
|
|
|
key: rows1Data[i].roleItemNo, |
|
|
|
label: rows1Data[i].roleDesc, |
|
|
|
}); |
|
|
|
} |
|
|
|
for (let j = 0; j < rows2Data.length; j++) { |
|
|
|
checkedList.push(rows2Data[j].roleItemNo) |
|
|
|
} |
|
|
|
this.transferData = forData; |
|
|
|
this.checked = checkedList |
|
|
|
this.setUp.reviewFlag = true |
|
|
|
for (let j = 0; j < rows2Data.length; j++) { |
|
|
|
checkedList.push(rows2Data[j].roleItemNo) |
|
|
|
} |
|
|
|
this.transferData = forData; |
|
|
|
this.checked = checkedList |
|
|
|
this.setUp.reviewFlag = true |
|
|
|
}) |
|
|
|
}, |
|
|
|
// 获取数据列表 |
|
|
|
getDataList() { |
|
|
|
this.dataListLoading = true |
|
|
|
this.$http({ |
|
|
|
url: this.$http.adornUrl('/sys/user/list'), |
|
|
|
method: 'get', |
|
|
|
params: this.$http.adornParams({ |
|
|
|
'page': this.pageIndex, |
|
|
|
'limit': this.pageSize, |
|
|
|
'username': this.dataForm.userName |
|
|
|
}) |
|
|
|
}, |
|
|
|
// 获取数据列表 |
|
|
|
getDataList () { |
|
|
|
this.dataListLoading = true |
|
|
|
}).then(({data}) => { |
|
|
|
if (data && data.code === 0) { |
|
|
|
this.dataList = data.page.list |
|
|
|
this.totalPage = data.page.totalCount |
|
|
|
} else { |
|
|
|
this.dataList = [] |
|
|
|
this.totalPage = 0 |
|
|
|
} |
|
|
|
this.dataListLoading = false |
|
|
|
}) |
|
|
|
}, |
|
|
|
// 每页数 |
|
|
|
sizeChangeHandle(val) { |
|
|
|
this.pageSize = val |
|
|
|
this.pageIndex = 1 |
|
|
|
this.getDataList() |
|
|
|
}, |
|
|
|
// 当前页 |
|
|
|
currentChangeHandle(val) { |
|
|
|
this.pageIndex = val |
|
|
|
this.getDataList() |
|
|
|
}, |
|
|
|
// 多选 |
|
|
|
selectionChangeHandle(val) { |
|
|
|
this.dataListSelections = val |
|
|
|
}, |
|
|
|
// 新增 / 修改 |
|
|
|
addOrUpdateHandle(id) { |
|
|
|
this.addOrUpdateVisible = true |
|
|
|
this.$nextTick(() => { |
|
|
|
this.$refs.addOrUpdate.init(id) |
|
|
|
}) |
|
|
|
}, |
|
|
|
// 删除 |
|
|
|
deleteHandle(id) { |
|
|
|
var userIds = id ? [id] : this.dataListSelections.map(item => { |
|
|
|
return item.userId |
|
|
|
}) |
|
|
|
this.$confirm(`确定对[id=${userIds.join(',')}]进行[${id ? '删除' : '批量删除'}]操作?`, '提示', { |
|
|
|
confirmButtonText: '确定', |
|
|
|
cancelButtonText: '取消', |
|
|
|
type: 'warning' |
|
|
|
}).then(() => { |
|
|
|
this.$http({ |
|
|
|
url: this.$http.adornUrl('/sys/user/list'), |
|
|
|
method: 'get', |
|
|
|
params: this.$http.adornParams({ |
|
|
|
'page': this.pageIndex, |
|
|
|
'limit': this.pageSize, |
|
|
|
'username': this.dataForm.userName |
|
|
|
}) |
|
|
|
url: this.$http.adornUrl('/sys/user/delete'), |
|
|
|
method: 'post', |
|
|
|
data: this.$http.adornData(userIds, false) |
|
|
|
}).then(({data}) => { |
|
|
|
if (data && data.code === 0) { |
|
|
|
this.dataList = data.page.list |
|
|
|
this.totalPage = data.page.totalCount |
|
|
|
this.$message.success('操作成功') |
|
|
|
this.getDataList() |
|
|
|
} else { |
|
|
|
this.dataList = [] |
|
|
|
this.totalPage = 0 |
|
|
|
this.$message.error(data.msg) |
|
|
|
} |
|
|
|
this.dataListLoading = false |
|
|
|
}) |
|
|
|
}, |
|
|
|
// 每页数 |
|
|
|
sizeChangeHandle (val) { |
|
|
|
this.pageSize = val |
|
|
|
this.pageIndex = 1 |
|
|
|
this.getDataList() |
|
|
|
}, |
|
|
|
// 当前页 |
|
|
|
currentChangeHandle (val) { |
|
|
|
this.pageIndex = val |
|
|
|
this.getDataList() |
|
|
|
}, |
|
|
|
// 多选 |
|
|
|
selectionChangeHandle (val) { |
|
|
|
this.dataListSelections = val |
|
|
|
}, |
|
|
|
// 新增 / 修改 |
|
|
|
addOrUpdateHandle (id) { |
|
|
|
this.addOrUpdateVisible = true |
|
|
|
this.$nextTick(() => { |
|
|
|
this.$refs.addOrUpdate.init(id) |
|
|
|
}) |
|
|
|
}, |
|
|
|
// 删除 |
|
|
|
deleteHandle (id) { |
|
|
|
var userIds = id ? [id] : this.dataListSelections.map(item => { |
|
|
|
return item.userId |
|
|
|
}) |
|
|
|
this.$confirm(`确定对[id=${userIds.join(',')}]进行[${id ? '删除' : '批量删除'}]操作?`, '提示', { |
|
|
|
confirmButtonText: '确定', |
|
|
|
cancelButtonText: '取消', |
|
|
|
type: 'warning' |
|
|
|
}).then(() => { |
|
|
|
this.$http({ |
|
|
|
url: this.$http.adornUrl('/sys/user/delete'), |
|
|
|
method: 'post', |
|
|
|
data: this.$http.adornData(userIds, false) |
|
|
|
}).then(({data}) => { |
|
|
|
if (data && data.code === 0) { |
|
|
|
this.$message.success('操作成功') |
|
|
|
this.getDataList() |
|
|
|
} else { |
|
|
|
this.$message.error(data.msg) |
|
|
|
} |
|
|
|
}) |
|
|
|
}).catch(() => {}) |
|
|
|
} |
|
|
|
}).catch(() => { |
|
|
|
}) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
</script> |