This commit is contained in:
fan 2019-09-04 10:57:14 +08:00
commit eb26f87560
18 changed files with 110 additions and 68 deletions

View File

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

View File

@ -122,6 +122,10 @@ export default {
min: 0, min: 0,
max: 0 max: 0
}, },
// graphic: {
// type: 'line',
// progressive: true
// },
series: [], series: [],
dataZoom: [ dataZoom: [
{ {

View File

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

View File

@ -1,5 +1,5 @@
<template> <template>
<el-dialog :title="title" :visible.sync="dialogVisible" width="30%" :before-close="handleClose" center> <el-dialog :title="title" :visible.sync="dialogVisible" width="30%" :before-close="handleClose" center :close-on-click-modal="false">
<data-form ref="dataform" :form="form" :form-model="formModel" :rules="rules" /> <data-form ref="dataform" :form="form" :form-model="formModel" :rules="rules" />
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button type="primary" @click="doSave">{{ $t('global.confirm') }}</el-button> <el-button type="primary" @click="doSave">{{ $t('global.confirm') }}</el-button>

View File

@ -1,5 +1,5 @@
<template> <template>
<el-dialog :title="title" :visible.sync="dialogVisible" width="30%" :before-close="handleClose" center> <el-dialog :title="title" :visible.sync="dialogVisible" width="30%" :before-close="handleClose" center :close-on-click-modal="false">
<data-form ref="dataform" :form="form" :form-model="formModel" :rules="rules" /> <data-form ref="dataform" :form="form" :form-model="formModel" :rules="rules" />
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button type="primary" @click="doSave">{{ $t('global.confirm') }}</el-button> <el-button type="primary" @click="doSave">{{ $t('global.confirm') }}</el-button>

View File

@ -1,5 +1,5 @@
<template> <template>
<el-dialog :title="'订阅地图'" :visible.sync="dialogVisible" width="30%" :before-close="doClose" center> <el-dialog :title="'订阅地图'" :visible.sync="dialogVisible" width="30%" :before-close="doClose" center :close-on-click-modal="false">
<el-form ref="form" v-model="formModel" label-width="120px"> <el-form ref="form" v-model="formModel" label-width="120px">
<el-form-item label="订阅地图列表:" prop="mapIdList"> <el-form-item label="订阅地图列表:" prop="mapIdList">
<el-select v-model="formModel.mapIdList" clearable multiple placeholder="请输入关键词" style="width: 80%"> <el-select v-model="formModel.mapIdList" clearable multiple placeholder="请输入关键词" style="width: 80%">

View File

@ -1,5 +1,5 @@
<template> <template>
<el-dialog :title="$t('system.editUserPermission')" :visible.sync="dialogVisible" width="30%" :before-close="handleClose" center> <el-dialog :title="$t('system.editUserPermission')" :visible.sync="dialogVisible" width="30%" :before-close="handleClose" center :close-on-click-modal="false">
<data-form ref="dataform" :form="form" :form-model="formModel" :rules="rules" /> <data-form ref="dataform" :form="form" :form-model="formModel" :rules="rules" />
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button type="primary" @click="doSave">{{ $t('global.confirm') }}</el-button> <el-button type="primary" @click="doSave">{{ $t('global.confirm') }}</el-button>

View File

@ -1,5 +1,5 @@
<template> <template>
<el-dialog :title="title" :visible.sync="dialogVisible" width="30%" :before-close="handleClose" center> <el-dialog :title="title" :visible.sync="dialogVisible" width="30%" :before-close="handleClose" center :close-on-click-modal="false">
<data-form ref="dataform" :form="form" :form-model="formModel" :rules="rules" /> <data-form ref="dataform" :form="form" :form-model="formModel" :rules="rules" />
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button type="primary" @click="doSave">{{ $t('global.confirm') }}</el-button> <el-button type="primary" @click="doSave">{{ $t('global.confirm') }}</el-button>

View File

@ -1,5 +1,5 @@
<template> <template>
<el-dialog :title="title" :visible.sync="dialogVisible" width="30%" :before-close="handleClose" center> <el-dialog :title="title" :visible.sync="dialogVisible" width="30%" :before-close="handleClose" center :close-on-click-modal="false">
<data-form ref="dataform" :form="form" :form-model="formModel" :rules="rules" /> <data-form ref="dataform" :form="form" :form-model="formModel" :rules="rules" />
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button type="primary" @click="doSave">{{ $t('global.confirm') }}</el-button> <el-button type="primary" @click="doSave">{{ $t('global.confirm') }}</el-button>

View File

@ -1,5 +1,5 @@
<template> <template>
<el-dialog :title="title" :visible.sync="dialogVisible" width="30%" :before-close="handleClose" center> <el-dialog :title="title" :visible.sync="dialogVisible" width="30%" :before-close="handleClose" center :close-on-click-modal="false">
<data-form ref="dataform" :form="form" :form-model="formModel" :rules="rules" /> <data-form ref="dataform" :form="form" :form-model="formModel" :rules="rules" />
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button type="primary" @click="doSave"> </el-button> <el-button type="primary" @click="doSave"> </el-button>

View File

@ -1,6 +1,6 @@
<template> <template>
<div> <div>
<el-dialog :title="title" :visible.sync="dialogVisible" width="30%" :before-close="handleClose" center> <el-dialog :title="title" :visible.sync="dialogVisible" width="30%" :before-close="handleClose" center :close-on-click-modal="false">
<data-form ref="dataform" :form="form" :form-model="formModel" :rules="rules" /> <data-form ref="dataform" :form="form" :form-model="formModel" :rules="rules" />
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button type="primary" @click="doSave">{{ $t('global.confirm') }}</el-button> <el-button type="primary" @click="doSave">{{ $t('global.confirm') }}</el-button>

View File

@ -1,5 +1,5 @@
<template> <template>
<el-dialog :title="title" :visible.sync="dialogVisibles" width="30%" :before-close="handleClose" center> <el-dialog :title="title" :visible.sync="dialogVisibles" width="30%" :before-close="handleClose" center :close-on-click-modal="false">
<el-scrollbar wrap-class="scrollbar-wrapper" :style="{ height: '280px', width:'100%' }"> <el-scrollbar wrap-class="scrollbar-wrapper" :style="{ height: '280px', width:'100%' }">
<el-tree <el-tree
ref="tree" ref="tree"

View File

@ -1,5 +1,5 @@
<template> <template>
<el-dialog :title="title" :visible.sync="dialogVisible" width="30%" :before-close="handleClose" center> <el-dialog :title="title" :visible.sync="dialogVisible" width="30%" :before-close="handleClose" center :close-on-click-modal="false">
<data-form ref="dataform" :form="form" :form-model="formModel" :rules="rules" /> <data-form ref="dataform" :form="form" :form-model="formModel" :rules="rules" />
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button type="primary" @click="doSave">{{ $t('global.confirm') }}</el-button> <el-button type="primary" @click="doSave">{{ $t('global.confirm') }}</el-button>

View File

@ -1,6 +1,6 @@
<template> <template>
<el-dialog <el-dialog
:title="this.$t('orderAuthor.trainingList')" title="订单选择商品"
:visible.sync="show" :visible.sync="show"
top="20px" top="20px"
width="90%" width="90%"

View File

@ -48,7 +48,7 @@ export default {
// }, // },
'status': { 'status': {
type: 'select', type: 'select',
label: this.$t('orderAuthor.authorityStatus'), label: '状态',
value: '1', value: '1',
config: { config: {
data: [] data: []
@ -142,7 +142,7 @@ export default {
formatter: this.formatterDate formatter: this.formatterDate
}, },
{ {
title: this.$t('orderAuthor.authorityStatus'), title: '状态',
prop: 'status', prop: 'status',
type: 'tag', type: 'tag',
columnValue: (row) => { return this.$convertField(row.status, this.EffectiveTypeList, ['value', 'label']); }, columnValue: (row) => { return this.$convertField(row.status, this.EffectiveTypeList, ['value', 'label']); },

View File

@ -119,7 +119,7 @@ export default {
{ {
title: this.$t('permission.belonger'), title: this.$t('permission.belonger'),
prop: 'ownerName', prop: 'ownerName',
isShow: () => { return this.$store.state.user.roles.indexOf(superAdmin) != -1 || this.$store.state.user.roles.indexOf(admin) < 0; } isShow: () => { return this.$store.state.user.roles.indexOf(superAdmin) > 0 || this.$store.state.user.roles.indexOf(admin) > 0; }
}, },
{ {
type: 'button', type: 'button',

View File

@ -147,7 +147,7 @@ export default {
type: 'warning', type: 'warning',
handleClick: this.handleEfficacy, handleClick: this.handleEfficacy,
showControl: (row) => { showControl: (row) => {
return (this.$route.query.lessonId ? row.creatorId == this.userId : true) && row.status == 1; return !this.$route.query.lessonId && row.status == 1;
} }
}, },
{ {
@ -155,7 +155,7 @@ export default {
type: 'warning', type: 'warning',
handleClick: this.handleDelete, handleClick: this.handleDelete,
showControl: (row) => { showControl: (row) => {
return this.$route.query.lessonId && row.status == 1; return this.$route.query.lessonId && row.status == 1 && row.creatorId == this.userId;
} }
}, },
{ {
@ -221,6 +221,7 @@ export default {
queryFunction(params) { queryFunction(params) {
if (this.$route.query.lessonId) { if (this.$route.query.lessonId) {
params.lessonId = this.$route.query.lessonId; params.lessonId = this.$route.query.lessonId;
params.status = '1';
} }
return getExamList(params); return getExamList(params);
}, },

View File

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