修改IBP盘角色修改

This commit is contained in:
ival 2019-09-04 10:13:26 +08:00
parent 0879aef961
commit df839856d9
3 changed files with 89 additions and 52 deletions

View File

@ -4,8 +4,8 @@ export function getBaseUrl() {
if (process.env.NODE_ENV === 'development') {
// BASE_API = 'https://joylink.club/jlcloud';
// BASE_API = 'https://test.joylink.club/jlcloud';
// BASE_API = 'http://192.168.3.5:9000'; // 袁琪
BASE_API = 'http://192.168.3.6:9000'; // 旭强
BASE_API = 'http://192.168.3.5:9000'; // 袁琪
// BASE_API = 'http://192.168.3.6:9000'; // 旭强
// BASE_API = 'http://192.168.3.4:9000' // 琰培
} else {
BASE_API = process.env.VUE_APP_BASE_API;

View File

@ -2,7 +2,7 @@
<div>
<div class="display-draft">
<el-button-group>
<el-button v-if="isAdmin || isIBP" type="warning" @click="jumpIbp">IBP盘</el-button>
<el-button v-if="isIBP" type="warning" @click="jumpIbp">IBP盘</el-button>
<el-button v-if="isDriver" type="jumpjlmap3d" @click="jumpjlmap3d">司机视角</el-button>
<template v-if="isAdmin">
<el-button type="success" :disabled="isDisable" @click="selectBeginTime">按计划行车</el-button>

View File

@ -42,7 +42,7 @@
<i
v-if="userId == roomInfo.creatorId"
class="el-icon-close delPerson"
@click="handleDelEquipment(nor, index)"
@click="handleDelUserForStation(nor, index, stationListForEquipment, equipmentList)"
/>
<div style="float: right; margin-right: 15px;">
<el-select
@ -50,10 +50,10 @@
placeholder="请选择"
size="mini"
:disabled="userId != roomInfo.creatorId"
@change="changeEquipment(nor)"
@change="handleChangeUser(nor, 'Attendant', stationListForEquipment, equipmentList)"
>
<el-option
v-for="item in stationList"
v-for="item in stationListForEquipment"
:key="item.code"
:label="item.name"
:value="item.code"
@ -132,12 +132,34 @@
<i
v-if="userId == roomInfo.creatorId"
class="el-icon-close delPerson"
@click="handleDelUser(ibpList, nor, index)"
@click="handleDelUserForStation(nor, index, stationListForIBP, ibpList)"
/>
<div style="float: right; margin-right: 15px;">
<el-select
v-model="nor.deviceCode"
placeholder="请选择"
size="mini"
:disabled="userId != roomInfo.creatorId"
@change="handleChangeUser(nor, 'IBP', stationListForIBP, ibpList)"
>
<el-option
v-for="item in stationListForIBP"
:key="item.code"
:label="item.name"
:value="item.code"
:disabled="item.disabled"
/>
</el-select>
</div>
</li>
</ul>
<div v-if="userId == roomInfo.creatorId" class="add-box">
<el-button icon="el-icon-plus" circle plain @click="addingRoles('ibp', '增加IBP')" />
<el-button
icon="el-icon-plus"
circle
plain
@click="addingRoles('ibp', '增加IBP')"
/>
</div>
</div>
</div>
@ -281,6 +303,28 @@ export default {
computed: {
height() {
return this.$store.state.app.height - 95;
},
stationListForEquipment() {
return this.stationList.filter(elem => { return elem.centralized; }).map(item => {
const elem = { code: item.code, name: item.name, disabled: false };
this.equipmentList.forEach(nor => {
if (elem.code == nor.deviceCode) {
elem.disabled = true;
}
});
return elem;
});
},
stationListForIBP() {
return this.stationList.map(item => {
const elem = { code: item.code, name: item.name, disabled: false };
this.ibpList.forEach(nor => {
if (elem.code == nor.deviceCode) {
elem.disabled = true;
}
});
return elem;
});
}
},
watch: {
@ -446,7 +490,13 @@ export default {
this.num++;
break;
case 'IBP':
this.ibpList.push(item);
this.ibpList.forEach((nor, index) => {
if (nor.id == item.id) { //
this.ibpList.splice(index, 1);
this.num--;
}
});
this.ibpList.push(item); //
this.num++;
break;
default:
@ -507,19 +557,7 @@ export default {
//
const resp = await getStationList(res.data.mapId);
resp.data.forEach(item => {
if (item.centralized) {
this.stationList.push(item);
}
});
this.stationList.forEach(item => {
item.disabled = false;
this.equipmentList.forEach(nor => {
if (item.code == nor.deviceCode) {
item.disabled = true;
}
});
});
this.stationList = resp.data;
},
// list Admin Instructor Dispatcher Attendant Audience Driver Repair IBP IBP
async getUserList() {
@ -636,24 +674,6 @@ export default {
}
});
},
//
changeEquipment(val) {
const params = [{
id: val.id,
nickName: val.nickName,
userRole: 'Attendant',
deviceCode: val.deviceCode
}];
putUserRoles(params, this.$route.query.group);
this.stationList.forEach(item => {
item.disabled = false;
this.equipmentList.forEach(nor => {
if (item.code == nor.deviceCode) {
item.disabled = true;
}
});
});
},
//
addingRoles(name, title) {
this.listName = name;
@ -712,7 +732,7 @@ export default {
this.messageInfo('分配角色数量已超过可分配角色总数!', 'error');
}
this.treeData.forEach(item => {
if (item.userRole == '' || item.userRole == 'Audience') {
if (item.userRole == '' || item.userRole == 'Audience' || item.userRole == 'IBP') {
item.select = false;
}
});
@ -728,15 +748,32 @@ export default {
});
});
},
handleChangeUser(val, role, stationList, list) {
const params = [{
id: val.id,
nickName: val.nickName,
userRole: role,
deviceCode: val.deviceCode
}];
putUserRoles(params, this.$route.query.group);
stationList.forEach(item => {
item.disabled = false;
list.forEach(nor => {
if (item.code == nor.deviceCode) {
item.disabled = true;
}
});
});
},
handleDelUser(list, item, index) {
list.splice(index, 1);
this.handleProperty(item);
},
handleDelEquipment(item, index) {
this.equipmentList.splice(index, 1);
this.stationList.forEach(item => {
handleDelUserForStation(item, index, stationList, list) {
list.splice(index, 1);
stationList.forEach(item => {
item.disabled = false;
this.equipmentList.forEach(nor => {
list.forEach(nor => {
if (item.code == nor.deviceCode) {
item.disabled = true;
}
@ -744,7 +781,7 @@ export default {
});
this.handleProperty(item);
},
handleProperty(item) {
handleProperty(item, role) {
const treeIndex = this.treeData.findIndex(nor => nor.id == item.id);
if (treeIndex > -1) {
this.num--;