Browse Source

仓库授权

master
han\hanst 3 months ago
parent
commit
52d0929278
  1. 7
      src/api/warehouse/warehouse.js
  2. 22
      src/views/modules/sys/user-add-or-update.vue
  3. 76
      src/views/modules/sys/user.vue

7
src/api/warehouse/warehouse.js

@ -11,5 +11,12 @@ export const delWarehouse = data => createAPI(`warehouse/delWarehouse`,'POST',da
export const getWareHouseTypeList = data => createAPI(`factory/tblbasedata/getTblBaseList`,'POST',data) export const getWareHouseTypeList = data => createAPI(`factory/tblbasedata/getTblBaseList`,'POST',data)
// 获取用户仓库授权列表
export const getUserAccessWarehouseList = data => createAPI(`sys/user/getWarehouseAccess?userid=${data.userid}`,'GET')
// 保存用户仓库授权
export const saveUserAccessWarehouseList = data => createAPI(`sys/user/saveWarehouseAccess`,'POST',data)
// 获取仓库列表(用于授权选择)
export const getWarehouseListForAuth = data => createAPI(`warehouse/list`,'POST',data)

22
src/views/modules/sys/user-add-or-update.vue

@ -177,6 +177,27 @@ export default {
init(id) { init(id) {
this.dataForm.id = id || 0 this.dataForm.id = id || 0
//
if (!this.dataForm.id) {
this.dataForm = {
id: 0,
userName: '',
password: '',
comfirmPassword: '',
languageDefault: '',
salt: '',
email: '',
mobile: '',
roleIdList: [],
status: 1,
site: '',
siteList: [],
userDisplay: '',
domainAccount: ''
}
}
// this.factoryList(); // this.factoryList();
this.getLanguageList(); this.getLanguageList();
this.getSiteOptions(); // this.getSiteOptions(); //
@ -193,6 +214,7 @@ export default {
}) })
}).then(() => { }).then(() => {
if (this.dataForm.id) { if (this.dataForm.id) {
//
this.$http({ this.$http({
url: this.$http.adornUrl(`/sys/user/info/${this.dataForm.id}`), url: this.$http.adornUrl(`/sys/user/info/${this.dataForm.id}`),
method: 'get', method: 'get',

76
src/views/modules/sys/user.vue

@ -17,6 +17,10 @@
@click="siteAuthorize()" @click="siteAuthorize()"
> {{ buttons.factoryAuthorization || '工厂授权' }} > {{ buttons.factoryAuthorization || '工厂授权' }}
</el-button> </el-button>
<el-button type="primary"
@click="warehouseAuthorize()"
> {{ buttons.warehouseAuthorization || '仓库授权' }}
</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table <el-table
@ -169,12 +173,30 @@
</span> </span>
</el-dialog> </el-dialog>
<!-- 仓库授权 -->
<el-dialog
style="font-size: 12px"
v-drag
:title="'仓库授权'"
:visible.sync="warehouseVisible"
width="518px"
:append-to-body="true">
<el-transfer v-model="selectWarehouseList" :data="warehouseList" :titles="['未授权仓库', '已授权仓库']"></el-transfer>
<span slot="footer" class="dialog-footer">
<div style="margin-top: 5px">
<el-button type="primary" @click="saveUserAccessWarehouse()">确定</el-button>
<el-button @click="warehouseVisible = false" type="primary">取消</el-button>
</div>
</span>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
import {getUserAccessSiteList, saveUserAccessSiteList} from '@/api/factory/accessSite.js' import {getUserAccessSiteList, saveUserAccessSiteList} from '@/api/factory/accessSite.js'
import {getSiteList} from '@/api/factory/site.js' import {getSiteList} from '@/api/factory/site.js'
import {getUserAccessWarehouseList, saveUserAccessWarehouseList, getWarehouseListForAuth} from '@/api/warehouse/warehouse.js'
import AddOrUpdate from './user-add-or-update' import AddOrUpdate from './user-add-or-update'
import {getUserBusinessRoleList, saveUserBusinessRole,} from '@/api/auditManagement/auditType.js' import {getUserBusinessRoleList, saveUserBusinessRole,} from '@/api/auditManagement/auditType.js'
@ -196,6 +218,7 @@ export default {
securityHeight: 300, securityHeight: 300,
specialVisible: false, specialVisible: false,
siteVisible: false, siteVisible: false,
warehouseVisible: false,
currentData: {}, currentData: {},
userId: this.$store.state.user.name, userId: this.$store.state.user.name,
transferData: [], transferData: [],
@ -270,6 +293,7 @@ export default {
delete: '删除', delete: '删除',
specialCompetencies: '特殊权限', specialCompetencies: '特殊权限',
factoryAuthorization: '工厂授权', factoryAuthorization: '工厂授权',
warehouseAuthorization: '仓库授权',
createTime: '创建时间', createTime: '创建时间',
username: '用户账号', username: '用户账号',
userDisplay: '用户名', userDisplay: '用户名',
@ -288,6 +312,8 @@ export default {
selectSpecialList: [], selectSpecialList: [],
siteList: [], siteList: [],
selectSitList: [], selectSitList: [],
warehouseList: [],
selectWarehouseList: [],
selectUser: {}, selectUser: {},
pageIndex: 1, pageIndex: 1,
pageSize: 20, pageSize: 20,
@ -365,6 +391,11 @@ export default {
this.searchSiteList() this.searchSiteList()
}, },
//
warehouseAuthorize() {
this.warehouseVisible = true
this.searchWarehouseList()
},
// //
saveUserAssessSite() { saveUserAssessSite() {
let accessSiteList = this.selectSitList.map(item => { let accessSiteList = this.selectSitList.map(item => {
@ -405,6 +436,51 @@ export default {
} }
}) })
}, },
//
saveUserAccessWarehouse() {
let accessWarehouseData = {
userid: this.selectUser.username,
accessWarehouseList: this.selectWarehouseList // selectWarehouseListID
}
saveUserAccessWarehouseList(accessWarehouseData).then(({data}) => {
if (data.code === 0) {
this.$message.success(data.msg || '操作成功')
this.warehouseList = []
this.selectWarehouseList = []
this.warehouseVisible = false
} else {
this.$message.warning(data.msg || '操作失败')
}
}).catch(() => {
this.$message.error('保存仓库授权失败')
})
},
//
searchUserAccessWarehouseList() {
getUserAccessWarehouseList({userid: this.selectUser.username}).then(({data}) => {
if (data.code === 0) {
this.selectWarehouseList = data.dataList || []
}
}).catch(() => {
this.$message.error('获取用户仓库权限失败')
})
},
//
searchWarehouseList() {
getWarehouseListForAuth({active: 'Y',site:localStorage.getItem('site')}).then(({data}) => {
if (data.code === 0) {
// el-transfer
this.warehouseList = (data.dataList || []).map(item => ({
key: item.wareHouseId,
label: `${item.wareHouseId} - ${item.wareHouseName || item.wareHouseId}`
}))
this.searchUserAccessWarehouseList()
}
}).catch(() => {
this.$message.error('获取仓库列表失败')
})
},
// //
handleCurrentChange(val) { handleCurrentChange(val) {
this.selectUser = val this.selectUser = val

Loading…
Cancel
Save