Browse Source

Merge pull request '产线关联角色' (#113) from liwei into develop

Reviewed-on: http://101.201.121.115:3000/leo/LAPP_GAAS_GFrame_WEBFRONT/pulls/113
Reviewed-by: wangxy <xinyao.wang@le-it.com.cn>
pull/114/head
wangxy 3 years ago
parent
commit
d6a114ceff
4 changed files with 131 additions and 5 deletions
  1. +1
    -0
      package.json
  2. +26
    -0
      src/api/system/role.js
  3. +84
    -0
      src/views/role/ProductionLine.vue
  4. +20
    -5
      src/views/role/index.vue

+ 1
- 0
package.json View File

@ -6,6 +6,7 @@
"license": "MIT",
"scripts": {
"dev": "vue-cli-service serve --open",
"start": "vue-cli-service serve --open",
"build:prod": "vue-cli-service build --mode production --dest dist&&node version.js",
"build:stage": "vue-cli-service build --mode staging --dest dist&&node version.js",
"preview": "node build/index.js --preview",


+ 26
- 0
src/api/system/role.js View File

@ -86,3 +86,29 @@ export function getMenuNames() {
method: 'get'
})
}
// 产线列表
export function getProductionLine() {
return request({
url: '/admin/base/workline/query',
method: 'get'
})
}
// 获取已绑定产线
export function getRolerelQuery(params) {
return request({
url: '/admin/base/rolerel/query',
method: 'get',
params
})
}
// 角色绑定产线
export function getRolerelInsert(data) {
return request({
url: '/admin/base/rolerel/insert',
method: 'post',
data
})
}

+ 84
- 0
src/views/role/ProductionLine.vue View File

@ -0,0 +1,84 @@
<template>
<el-dialog
title="产线关联"
visible
width="540px"
:before-close="handleClose"
>
<el-transfer
v-model="value"
:data="data"
:titles="['产线列表', '关联产线']"
:props="{
key: 'WorkLine-WorkLineid',
label: 'WorkLine-Descr'
}"
/>
<span slot="footer" class="dialog-footer">
<el-button @click="handleClose"> </el-button>
<el-button type="primary" @click="save"> </el-button>
</span>
</el-dialog>
</template>
<script>
import { getProductionLine, getRolerelQuery, getRolerelInsert } from '@/api/system/role'
export default {
props:{
operationItem:{
default:null
}
},
data(){
return{
data: [],
value: []
}
},
methods:{
//
save(){
getRolerelInsert(this.value.map(e=>{
return{
"RoleRel-RoleId": this.operationItem.role_id || '',
"RoleRel-WorkLineid": e
}
})).then(({code})=>{
if(code===200){
this.$emit('setOperationItem', null)
}
})
},
// 线
getProductionLine(){
getProductionLine().then(({code, data})=>{
if(code===200){
this.data=data||[]
}else{
this.data=[]
}
})
},
// 线
getRolerelQuery(){
getRolerelQuery({
'RoleId':this.operationItem.role_id || ''
}).then(({code, data})=>{
if(code===200){
this.value=(data || []).map(e=>{
return e["RoleRel-WorkLineid"]
})
console.log(this.value)
}
})
},
//
handleClose(){
this.$emit('setOperationItem', null)
}
},
mounted(){
this.getProductionLine();
this.getRolerelQuery();
}
}
</script>

+ 20
- 5
src/views/role/index.vue View File

@ -19,9 +19,9 @@
</el-form>
<el-table v-loading="loading" border :data="roleList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="角色编号" prop="role_id" width="120" />
<el-table-column label="角色名称" prop="rolename" :show-overflow-tooltip="true" width="150" />
<el-table-column label="权限字符" prop="role_key" :show-overflow-tooltip="true" width="150" />
<el-table-column label="角色编号" prop="role_id" />
<el-table-column label="角色名称" prop="rolename" :show-overflow-tooltip="true" />
<el-table-column label="权限字符" prop="role_key" :show-overflow-tooltip="true" />
<!-- <el-table-column label="显示顺序" prop="role_sort" width="100" /> -->
<el-table-column label="状态" align="center" width="100">
<template slot-scope="scope">
@ -38,7 +38,7 @@
<span>{{ parseTime(scope.row.createtime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="220">
<template slot-scope="scope">
<el-button
size="mini"
@ -53,6 +53,12 @@
icon="el-icon-circle-check"
@click="handleDataScope(scope.row)"
>数据权限</el-button> -->
<el-button
size="mini"
type="text"
icon="el-icon-share"
@click="setOperationItem(scope.row)"
>产线关联</el-button>
<el-button
size="mini"
type="text"
@ -148,17 +154,23 @@
<el-button @click="cancelDataScope"> </el-button>
</div>
</el-dialog>
<ProductionLine v-if="operationItem" :operationItem="operationItem" @setOperationItem="setOperationItem" />
</div>
</template>
<script>
import { listRole, getRole, delRole, addRole, updateRole, dataScope, changeRoleStatus } from '@/api/system/role'
import { treeselect as menuTreeselect, roleMenuTreeselect } from '@/api/system/menu'
import ProductionLine from './ProductionLine.vue'
export default {
name: 'Role',
components:{
ProductionLine
},
data() {
return {
//
operationItem:null,
//
loading: true,
//
@ -240,6 +252,9 @@ export default {
this.getList()
},
methods: {
setOperationItem(item){
this.operationItem=item;
},
/** 查询角色列表 */
getList() {
this.loading = true


Loading…
Cancel
Save