Merge branch 'dev-yjl' into 'shenzhen-dev'
项目版(新增点位配置、人员定位页面) See merge request !53
This commit is contained in:
commit
4e68284f05
12
src/assets/js/api/personnelPositioning.js
Normal file
12
src/assets/js/api/personnelPositioning.js
Normal file
@ -0,0 +1,12 @@
|
||||
/**
|
||||
* api接口统一管理
|
||||
*/
|
||||
import {post,get} from '../http'
|
||||
|
||||
|
||||
export const addPersonnelLocationnApi = data => post('xmgl/personnelLocationBaseStation/addPersonnelLocationBaseStation', data);//新增人员定位-基站
|
||||
export const deletePersonnelLocationDeleteByIdApi = data => get('xmgl/personnelLocationBaseStation/deleteById', data);//根据id删除人员定位-基站
|
||||
export const getPersonnelLocationBaseStationGetByIdApi = data => get('xmgl/personnelLocationBaseStation/getById', data);//根据id查询人员定位-基站
|
||||
export const editPersonnelLocationBaseStationUpdateApi = data => post('personnelLocationBaseStation/updatePersonnelLocationBaseStation', data);//修改人员定位-基站
|
||||
export const getPersonnelLocationBaseStationListApi = data => get('xmgl/personnelLocationBaseStation/list', data);//所有人员定位-基站
|
||||
export const getPersonnelLocationBaseStationApi = data => get('xmgl/personnelLocationBaseStation/selectPage', data);//分页查询人员定位-基站
|
||||
@ -432,6 +432,19 @@ const routes2 = [
|
||||
name: '人员定位_地图管理',
|
||||
component: () => import('@/views/projectFront/personnelPosition/mapManage.vue')
|
||||
},
|
||||
//------
|
||||
//人员定位--点位配置
|
||||
{
|
||||
path: '/project/personnelPosition/pointConfiguration',
|
||||
name: '人员定位_点位配置',
|
||||
component: () => import('@/views/projectFront/personnelPosition/pointConfiguration.vue')
|
||||
},
|
||||
//人员定位--人员定位
|
||||
{
|
||||
path: '/project/personnelPosition/personnelPositioning',
|
||||
name: '人员定位_人员定位',
|
||||
component: () => import('@/views/projectFront/personnelPosition/personnelPositioning.vue')
|
||||
},
|
||||
{
|
||||
path: '/project/safeManage/addSafeRecord',
|
||||
name: '安全管理_新增安全检查',
|
||||
|
||||
@ -39,7 +39,7 @@
|
||||
<script>
|
||||
import LeftOne from './leftOne'
|
||||
import LeftTwo from './leftTwo'
|
||||
import LeftThree from './leftThree'
|
||||
import LeftThree from '../command/LeftThree'
|
||||
import LeftFour from './leftFour'
|
||||
import Center from './center'
|
||||
import CenterBOne from './centerBOne'
|
||||
|
||||
@ -0,0 +1,266 @@
|
||||
<template>
|
||||
<div class="administration">
|
||||
<div class="left2 whiteBlock">
|
||||
<div class="left_list">
|
||||
<div>
|
||||
<!-- 基站地图列表 -->
|
||||
<div class="dialog-content map-box">
|
||||
<div class="map-left">
|
||||
<vue-scroll style="800px">
|
||||
<ul>
|
||||
<li v-for="(item, index) in 4" :key="index">
|
||||
<img src="@/assets/images/login/p5.jpg" />
|
||||
<div class="actions-box">
|
||||
<span>地图</span>
|
||||
<!-- 编辑 -->
|
||||
<el-button type="text" style="color: #84b2fa;" icon="el-icon-edit"></el-button>
|
||||
<!-- 删除 -->
|
||||
<el-button type="text" icon="el-icon-delete" style="color: #F56C6C"></el-button>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</vue-scroll>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="right2" style="width: 100%; margin-left: 0">
|
||||
<div class="title whiteBlock flex">
|
||||
<span>楼栋信息</span>
|
||||
</div>
|
||||
|
||||
<div class="team_list whiteBlock flex2">
|
||||
<el-button type="primary" plain icon="el-icon-plus" class="team_addBtn">新增楼栋</el-button>
|
||||
<div class="flex2 list_wrap" :class="showTeamList ? 'show_teamList' : 'height_79'">
|
||||
<div class="list" :class="checkedTeamId == 0 && 'checkedTeam'">
|
||||
<div>全部楼栋</div>
|
||||
<div style="margin:4px 0">4</div>
|
||||
<i class="el-icon-arrow-down" style="font-size:17px"></i>
|
||||
</div>
|
||||
<div class="list">
|
||||
<el-popover placement="top" min-width="80" trigger="hover">
|
||||
1
|
||||
<div slot="reference">楼栋1</div>
|
||||
</el-popover>
|
||||
<div style="margin:4px 0">1</div>
|
||||
<el-popover placement="bottom" min-width="80" trigger="hover">
|
||||
<div style=" margin: 0; text-align:center;">
|
||||
<div style=" cursor: pointer; margin-bottom:5px">
|
||||
<img src="@/assets/images/icon-edit.png" style="margin-right:5px" />
|
||||
<span>编辑</span>
|
||||
</div>
|
||||
<div style="cursor: pointer;">
|
||||
<img src="@/assets/images/icon-delete.png" style="margin-right:5px" />
|
||||
<span>删除</span>
|
||||
</div>
|
||||
</div>
|
||||
<div slot="reference">
|
||||
<i class="el-icon-arrow-down" style="font-size:17px"></i>
|
||||
</div>
|
||||
</el-popover>
|
||||
</div>
|
||||
</div>
|
||||
<i class="el-icon-more-outline" style="font-size: 26px;cursor: pointer;color: #999;"></i>
|
||||
</div>
|
||||
<div class="baseShow whiteBlock ">
|
||||
<!-- 右边展示 -->
|
||||
<div class="map-right">
|
||||
<div class="action-box" v-if="activeImgUrl">
|
||||
<div v-show="!isEditPoint" class="btn-item">
|
||||
<img src="@/assets/images/deepFoundationPitManage/address.png" />
|
||||
<!-- 布点 -->
|
||||
布点
|
||||
</div>
|
||||
<div v-show="isEditPoint" class="btn-item">
|
||||
<img src="@/assets/images/deepFoundationPitManage/save.png" />
|
||||
<!-- 保存 -->
|
||||
保存
|
||||
</div>
|
||||
<div class="btn-item">
|
||||
<i class="el-icon-zoom-in"></i>
|
||||
<!-- 放大 -->
|
||||
放大
|
||||
</div>
|
||||
<div class="btn-item">
|
||||
<i class="el-icon-zoom-out"></i>
|
||||
<!-- 缩小 -->
|
||||
缩小
|
||||
</div>
|
||||
</div>
|
||||
<div ref="mapbox">
|
||||
<vue-scroll style="height:780px;"> </vue-scroll>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
title: '',
|
||||
activeImgUrl: '',
|
||||
pointStatus: 'none',
|
||||
pointTop: 0,
|
||||
pointLeft: 0,
|
||||
imgWidth: 0,
|
||||
imgHeight: 0,
|
||||
imgZoom: 1,
|
||||
isEditPoint: false,
|
||||
activeImgUrl: '',
|
||||
|
||||
checkedTeamId: 0 //选中的班组id
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.imgGet()
|
||||
},
|
||||
mounted() {},
|
||||
computed: {},
|
||||
methods: {
|
||||
imgGet() {
|
||||
this.activeImgUrl = '@/assets/images/login/p5.jpg'
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
@import '../laborPersonCommon.less';
|
||||
::v-deep .el-button--medium {
|
||||
padding: 9px 10px;
|
||||
}
|
||||
.administration {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.left2 {
|
||||
width: 370px;
|
||||
height: 100%;
|
||||
position: relative;
|
||||
|
||||
.left_list {
|
||||
width: 350px;
|
||||
text-align: center;
|
||||
height: calc(100% - 61px);
|
||||
margin-top: 45px;
|
||||
}
|
||||
}
|
||||
.right2 {
|
||||
margin-left: 11px !important;
|
||||
position: relative;
|
||||
.baseShow {
|
||||
height: calc(100% - 133px - 40px);
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
}
|
||||
}
|
||||
|
||||
//----------分割
|
||||
.map-right {
|
||||
// flex: 1;
|
||||
width: calc(98%);
|
||||
border: 1px solid #e6e6e6;
|
||||
padding: 14px;
|
||||
height: 730px;
|
||||
.action-box {
|
||||
display: flex;
|
||||
margin-bottom: 10px;
|
||||
.btn-item {
|
||||
margin-right: 20px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: #5181f6;
|
||||
border: 1px solid #5181f6;
|
||||
border-radius: 3px;
|
||||
cursor: pointer;
|
||||
width: 62px;
|
||||
height: 24px;
|
||||
img {
|
||||
margin-right: 4px;
|
||||
}
|
||||
i {
|
||||
margin-right: 4px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.img-box {
|
||||
// margin: 0 auto;
|
||||
// height: 100%;
|
||||
// position: relative;
|
||||
// top: 50%;
|
||||
// transform: translateY(-50%);
|
||||
transform-origin: left top;
|
||||
position: relative;
|
||||
.point-list {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
li {
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
}
|
||||
.point-dialog {
|
||||
background: rgba(#2a2e3f, 0.9);
|
||||
color: #fff;
|
||||
width: 238px;
|
||||
height: auto;
|
||||
box-sizing: border-box;
|
||||
padding: 0 16px;
|
||||
padding-bottom: 18px;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: -8px;
|
||||
transform: translate(-50%, -100%);
|
||||
font-size: 12px;
|
||||
.el-icon-error {
|
||||
position: absolute;
|
||||
right: 12px;
|
||||
top: 10px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.point-title {
|
||||
// height: 40px;
|
||||
line-height: 20px;
|
||||
border-bottom: 1px solid rgba(254, 255, 255, 1);
|
||||
margin-bottom: 13px;
|
||||
font-size: 14px;
|
||||
word-break: break-all;
|
||||
padding: 10px 0;
|
||||
}
|
||||
.point-content {
|
||||
font-size: 14px;
|
||||
p {
|
||||
line-height: 24px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.point-title2 {
|
||||
width: auto;
|
||||
height: auto;
|
||||
white-space: nowrap;
|
||||
font-size: 16px;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
.right_detail {
|
||||
left: 30px;
|
||||
top: 0;
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
.right_title {
|
||||
left: 30px;
|
||||
top: -8px;
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@ -0,0 +1,441 @@
|
||||
<template>
|
||||
<div class="administration">
|
||||
<div class="left2 whiteBlock">
|
||||
<div class="left_list">
|
||||
<div>
|
||||
<!-- 基站地图列表 -->
|
||||
<div class="dialog-content map-box">
|
||||
<div class="map-left">
|
||||
<vue-scroll style="800px">
|
||||
<ul>
|
||||
<li v-for="(item, index) in 4" :key="index">
|
||||
<img src="@/assets/images/login/p5.jpg" />
|
||||
<div class="actions-box">
|
||||
<span>地图</span>
|
||||
<!-- 编辑 -->
|
||||
<el-button type="text" style="color: #84b2fa;" icon="el-icon-edit"></el-button>
|
||||
<!-- 删除 -->
|
||||
<el-button type="text" icon="el-icon-delete" style="color: #F56C6C"></el-button>
|
||||
<!-- {{$t('message.deepFoundConfig.remove')}} -->
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</vue-scroll>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="right2" style="width: 100%; margin-left: 0">
|
||||
<div class="title whiteBlock flex">
|
||||
<span>基站信息</span>
|
||||
</div>
|
||||
|
||||
<div class="team_list whiteBlock flex2">
|
||||
<el-button type="primary" plain icon="el-icon-plus" class="team_addBtn" @click="addBaseBtn">新增基站</el-button>
|
||||
<div class="flex2 list_wrap">
|
||||
<div class="list" :class="checkedTeamId == 0 && 'checkedTeam'">
|
||||
<div>全部基站</div>
|
||||
<div style="margin:4px 0">4</div>
|
||||
<i class="el-icon-arrow-down" style="font-size:17px"></i>
|
||||
</div>
|
||||
<div class="list">
|
||||
<el-popover placement="top" min-width="80" trigger="hover">
|
||||
1
|
||||
<div slot="reference">基站1</div>
|
||||
</el-popover>
|
||||
<div style="margin:4px 0">1</div>
|
||||
<el-popover placement="bottom" min-width="80" trigger="hover">
|
||||
<div style=" margin: 0; text-align:center;">
|
||||
<div style=" cursor: pointer; margin-bottom:5px">
|
||||
<img src="@/assets/images/icon-edit.png" style="margin-right:5px" />
|
||||
<span>编辑</span>
|
||||
</div>
|
||||
<div style="cursor: pointer;">
|
||||
<img src="@/assets/images/icon-delete.png" style="margin-right:5px" />
|
||||
<span>删除</span>
|
||||
</div>
|
||||
</div>
|
||||
<div slot="reference">
|
||||
<i class="el-icon-arrow-down" style="font-size:17px"></i>
|
||||
</div>
|
||||
</el-popover>
|
||||
</div>
|
||||
</div>
|
||||
<i class="el-icon-more-outline" style="font-size: 26px;cursor: pointer;color: #999;"></i>
|
||||
</div>
|
||||
<div class="baseShow whiteBlock ">
|
||||
<!-- 右边展示 -->
|
||||
<div class="map-right">
|
||||
<div class="action-box" v-if="activeImgUrl">
|
||||
<div v-show="!isEditPoint" class="btn-item">
|
||||
<img src="@/assets/images/deepFoundationPitManage/address.png" />
|
||||
<!-- 布点 -->
|
||||
布点
|
||||
</div>
|
||||
<div v-show="isEditPoint" class="btn-item">
|
||||
<img src="@/assets/images/deepFoundationPitManage/save.png" />
|
||||
<!-- 保存 -->
|
||||
报存
|
||||
</div>
|
||||
<div class="btn-item">
|
||||
<i class="el-icon-zoom-in"></i>
|
||||
<!-- 放大 -->
|
||||
放大
|
||||
</div>
|
||||
<div class="btn-item">
|
||||
<i class="el-icon-zoom-out"></i>
|
||||
<!-- 缩小 -->
|
||||
缩小
|
||||
</div>
|
||||
</div>
|
||||
<div ref="mapbox">
|
||||
<vue-scroll style="height:780px;"> </vue-scroll>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 新增 基站 弹窗 -->
|
||||
<el-dialog
|
||||
:modal-append-to-body="false"
|
||||
:title="teamDialogTitle"
|
||||
:close-on-click-modal="false"
|
||||
:visible.sync="addBaseDialog"
|
||||
width="740px"
|
||||
>
|
||||
<div class="dialog_content">
|
||||
<el-form size="small" ref="baseForm" :model="baseForm" label-position="top" label-width="80px" :rules="baseFormRules">
|
||||
<el-form-item label="基站名称" prop="name">
|
||||
<el-input v-model="baseForm.name" placeholder="请输入"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="基站编号" prop="baseStationSn">
|
||||
<el-input v-model="baseForm.baseStationSn"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="设备状态" prop="deviceState">
|
||||
<el-select v-model="baseForm.deviceState" style="width: 100%">
|
||||
<el-option label="在线" value="在线"></el-option>
|
||||
<el-option label="离线" value="离线"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="基站类型" prop="locationType">
|
||||
<el-select v-model="baseForm.locationType" style="width: 100%">
|
||||
<el-option label="外置" value="外置"></el-option>
|
||||
<el-option label="内置" value="内置"></el-option>
|
||||
<el-option label="无" value="无"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="范围设置" prop="range">
|
||||
<el-input v-model="baseForm.range"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="关联基站" prop="relationStationId">
|
||||
<el-select v-model="baseForm.relationStationId" style="width: 100%">
|
||||
<el-option label="基站" value="基站"></el-option>
|
||||
<!-- <el-option v-for="item in associatedBase " :key="item.id" :label="item.relationStationId" :value="item.id"></el-option> -->
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="关联楼栋" prop="buildingId">
|
||||
<el-select v-model="baseForm.buildingId" style="width: 100%">
|
||||
<el-option label="楼栋" value="楼栋"></el-option>
|
||||
<!-- <el-option v-for="item in associatedBase " :key="item.id" :label="item.buildingId" :value="item.id"></el-option> -->
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div class="dialog-footer">
|
||||
<el-button class="cancleBtn" @click="addBaseDialog = false" icon="el-icon-circle-close" size="medium">取消</el-button>
|
||||
<el-button type="primary" icon="el-icon-circle-check" size="medium" @click="saveBatchMove">确定 </el-button>
|
||||
</div>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
addPersonnelLocationnApi,
|
||||
deletePersonnelLocationDeleteByIdApi,
|
||||
getPersonnelLocationBaseStationGetByIdApi,
|
||||
editPersonnelLocationBaseStationUpdateApi,
|
||||
getPersonnelLocationBaseStationListApi,
|
||||
getPersonnelLocationBaseStationApi
|
||||
} from '@/assets/js/api/personnelPositioning.js'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
title: '',
|
||||
activeImgUrl: '',
|
||||
pointStatus: 'none',
|
||||
pointTop: 0,
|
||||
pointLeft: 0,
|
||||
imgWidth: 0,
|
||||
imgHeight: 0,
|
||||
imgZoom: 1,
|
||||
isEditPoint: false,
|
||||
activeImgUrl: '',
|
||||
checkedTeamId: 0, //选中的班组id
|
||||
// --------
|
||||
projectSn: '', //项目Sn
|
||||
teamDialogTitle: '', //新增/编辑弹框title
|
||||
addBaseDialog: false, // 新增基站 弹窗
|
||||
associatedBase: [], //关联基站/楼栋下拉
|
||||
baseForm: {
|
||||
name: '', //基站名称
|
||||
baseStationSn: '', //基站编号
|
||||
deviceState: '', //设备状态,1在线,2离线
|
||||
locationType: '', // 基站类型 1:外 2:内 3:无
|
||||
range: '', //范围设置 米数 单位:m
|
||||
relationStationId: '', //关联基站id
|
||||
buildingId: '', //关联楼栋id
|
||||
projectSn: ''
|
||||
},
|
||||
baseFormRules: {
|
||||
name: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入基站名称',
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
baseStationSn: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入基站编号',
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
deviceState: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择设备状态',
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
locationType: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择基站类型',
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
range: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入范围',
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
relationStationId: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择关联基站',
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
buildingId: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择关联楼栋',
|
||||
trigger: 'change'
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.projectSn = this.$store.state.projectSn
|
||||
this.imgGet()
|
||||
this.getPersonnelLocationBase()
|
||||
},
|
||||
mounted() {},
|
||||
computed: {},
|
||||
methods: {
|
||||
//查询人员定位基站
|
||||
async getPersonnelLocationBase() {
|
||||
let data = await getPersonnelLocationBaseStationListApi(this.baseForm)
|
||||
console.log('人员定位列表', data)
|
||||
if ((res.code = 200)) {
|
||||
this.associatedBase = data.result
|
||||
}
|
||||
},
|
||||
//新增基站按钮
|
||||
addBaseBtn() {
|
||||
this.teamDialogTitle = '新增基站'
|
||||
this.addBaseDialog = true
|
||||
this.baseForm = {
|
||||
name: '', //基站名称
|
||||
baseStationSn: '', //基站编号
|
||||
deviceState: '', //设备状态,1在线,2离线
|
||||
locationType: '', // 基站类型 1:外 2:内 3:无
|
||||
range: '', //范围设置 米数 单位:m
|
||||
relationStationId: '', //关联基站id
|
||||
buildingId: '' //关联楼栋id
|
||||
}
|
||||
setTimeout(() => {
|
||||
this.$refs.baseForm.clearValidate()
|
||||
}, 120)
|
||||
},
|
||||
//新增基站确认提交
|
||||
saveBatchMove() {
|
||||
this.$refs.baseForm.validate(valid => {
|
||||
if (valid) {
|
||||
this.baseForm.projectSn = this.projectSn
|
||||
// let json=JSON.parse(JSON.stringify(this.baseForm))
|
||||
if ((this.teamDialogTitle = '新增基站')) {
|
||||
addPersonnelLocationnApi(this.baseForm).then(res => {
|
||||
if (res.code == 200) {
|
||||
this.$message.success(res.message)
|
||||
this.addBaseDialog = false
|
||||
this.getPersonnelLocationBase()
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
//测试图片
|
||||
imgGet() {
|
||||
this.activeImgUrl = '@/assets/images/login/p5.jpg'
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
@import '../laborPersonCommon.less';
|
||||
::v-deep .el-button--medium {
|
||||
padding: 9px 10px;
|
||||
}
|
||||
.administration {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.left2 {
|
||||
width: 370px;
|
||||
height: 100%;
|
||||
position: relative;
|
||||
|
||||
.left_list {
|
||||
width: 350px;
|
||||
text-align: center;
|
||||
height: calc(100% - 61px);
|
||||
margin-top: 45px;
|
||||
}
|
||||
}
|
||||
.right2 {
|
||||
margin-left: 11px !important;
|
||||
position: relative;
|
||||
.baseShow {
|
||||
height: calc(100% - 133px - 40px);
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
}
|
||||
}
|
||||
|
||||
::v-deep .right2 .team_list .list_wrap {
|
||||
margin-top: 12px;
|
||||
}
|
||||
|
||||
//----------分割
|
||||
.map-right {
|
||||
// flex: 1;
|
||||
width: calc(98%);
|
||||
border: 1px solid #e6e6e6;
|
||||
padding: 14px;
|
||||
height: 730px;
|
||||
.action-box {
|
||||
display: flex;
|
||||
margin-bottom: 10px;
|
||||
.btn-item {
|
||||
margin-right: 20px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: #5181f6;
|
||||
border: 1px solid #5181f6;
|
||||
border-radius: 3px;
|
||||
cursor: pointer;
|
||||
width: 62px;
|
||||
height: 24px;
|
||||
img {
|
||||
margin-right: 4px;
|
||||
}
|
||||
i {
|
||||
margin-right: 4px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.img-box {
|
||||
// margin: 0 auto;
|
||||
// height: 100%;
|
||||
// position: relative;
|
||||
// top: 50%;
|
||||
// transform: translateY(-50%);
|
||||
transform-origin: left top;
|
||||
position: relative;
|
||||
.point-list {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
li {
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
}
|
||||
.point-dialog {
|
||||
background: rgba(#2a2e3f, 0.9);
|
||||
color: #fff;
|
||||
width: 238px;
|
||||
height: auto;
|
||||
box-sizing: border-box;
|
||||
padding: 0 16px;
|
||||
padding-bottom: 18px;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: -8px;
|
||||
transform: translate(-50%, -100%);
|
||||
font-size: 12px;
|
||||
.el-icon-error {
|
||||
position: absolute;
|
||||
right: 12px;
|
||||
top: 10px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.point-title {
|
||||
// height: 40px;
|
||||
line-height: 20px;
|
||||
border-bottom: 1px solid rgba(254, 255, 255, 1);
|
||||
margin-bottom: 13px;
|
||||
font-size: 14px;
|
||||
word-break: break-all;
|
||||
padding: 10px 0;
|
||||
}
|
||||
.point-content {
|
||||
font-size: 14px;
|
||||
p {
|
||||
line-height: 24px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.point-title2 {
|
||||
width: auto;
|
||||
height: auto;
|
||||
white-space: nowrap;
|
||||
font-size: 16px;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
.right_detail {
|
||||
left: 30px;
|
||||
top: 0;
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
.right_title {
|
||||
left: 30px;
|
||||
top: -8px;
|
||||
transform: translate(0, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
198
src/views/projectFront/personnelPosition/laborPersonCommon.less
Normal file
198
src/views/projectFront/personnelPosition/laborPersonCommon.less
Normal file
@ -0,0 +1,198 @@
|
||||
.flex{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.flex2{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.flex3{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.flex4{
|
||||
display: flex;
|
||||
}
|
||||
.right2{
|
||||
margin-left: 11px;
|
||||
width: calc(100% - 380px);
|
||||
height: 100%;
|
||||
box-sizing: border-box;
|
||||
.title{
|
||||
padding: 0 22px;
|
||||
height: 41px;
|
||||
line-height: 41px;
|
||||
// background: #fff;
|
||||
border-bottom: 1px solid #e6e6e6;
|
||||
.team_number{
|
||||
opacity: 0.7;
|
||||
font-size: 14px;
|
||||
text-align: left;
|
||||
font-family: PingFangSC-Regular;
|
||||
.number{
|
||||
color: @--color-primary;
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
.team_list{
|
||||
padding: 20px 22px;
|
||||
// background: #fff;
|
||||
margin-bottom: 8px;
|
||||
position: relative;
|
||||
height: 79px;
|
||||
.team_addBtn{
|
||||
display: grid;
|
||||
padding: 10px 0;
|
||||
width: 79px;
|
||||
height: 79px;
|
||||
border-radius: 3px;
|
||||
/deep/ i{
|
||||
font-size: 30px;
|
||||
}
|
||||
/deep/ span{
|
||||
opacity: 0.7;
|
||||
display: block;
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
}
|
||||
.team_addBtn:hover{
|
||||
/deep/ span{
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
.list_wrap{
|
||||
flex-grow: 22;
|
||||
flex-wrap: wrap;
|
||||
overflow: hidden;
|
||||
cursor: pointer;
|
||||
.list{
|
||||
width: 88px;
|
||||
height: 79px;
|
||||
margin-left: 12px;
|
||||
box-sizing: border-box;
|
||||
padding: 14px 0;
|
||||
margin-bottom: 12px;
|
||||
font-size: 14px;
|
||||
text-align: center;
|
||||
border-radius: 3px;
|
||||
background-color: #dce0ec;
|
||||
div{
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
padding: 0 5px;
|
||||
}
|
||||
}
|
||||
.checkedTeam{
|
||||
background-color: #3390FF!important;
|
||||
}
|
||||
}
|
||||
}
|
||||
.laborComponent_table_wrap{
|
||||
box-sizing: border-box;
|
||||
// background: #fff;
|
||||
height: calc(100% - 170px);
|
||||
position: relative;
|
||||
padding-bottom: 60px;
|
||||
.search_wrap{
|
||||
padding: 25px 13px 13px 23px;
|
||||
border-bottom: 2px solid #E5ECFE;
|
||||
}
|
||||
.values{
|
||||
opacity: 0.9;
|
||||
}
|
||||
}
|
||||
.table_wrap_bottom{
|
||||
padding: 0 13px;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
height: 46px;
|
||||
.table_wrap_btn{
|
||||
margin-left: 20px;
|
||||
}
|
||||
}
|
||||
/deep/ .el-form-item{
|
||||
margin-bottom:0;
|
||||
}
|
||||
|
||||
.show_teamList{
|
||||
width: calc( 100% - 128px);
|
||||
flex-grow: 22;
|
||||
flex-wrap: wrap;
|
||||
cursor: pointer;
|
||||
float: left;
|
||||
z-index: 1000;
|
||||
position: absolute;
|
||||
left: 110px;
|
||||
top:7px;
|
||||
background: #fff;
|
||||
border: 1px solid #E5ECFE;
|
||||
border-radius: 5px;
|
||||
padding-top: 12px;
|
||||
padding-right: 12px;
|
||||
}
|
||||
.height_79{
|
||||
height: 79px;
|
||||
}
|
||||
}
|
||||
|
||||
.hint{
|
||||
opacity: 0.5;
|
||||
color: rgba(42, 46, 63, 1);
|
||||
font-size: 12px;
|
||||
text-align: left;
|
||||
font-family: PingFangSC-Regular;
|
||||
}
|
||||
|
||||
.bigImageDialog{
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background: rgba(0,0,0,0.5);
|
||||
text-align: center;
|
||||
z-index: 1000000;
|
||||
overflow-y: auto;
|
||||
// padding-bottom: 50px;
|
||||
height: 100%;
|
||||
.bigImageContent{
|
||||
height: 100%;
|
||||
margin:0 auto; text-align:center
|
||||
}
|
||||
img{
|
||||
// margin-top: 10%;
|
||||
position: relative;
|
||||
top: 10%;
|
||||
max-height: 80%;
|
||||
max-width: 80%;
|
||||
}
|
||||
}
|
||||
|
||||
.margin_top35{
|
||||
margin-top: -35px;
|
||||
}
|
||||
|
||||
/deep/ .identity_card .el-upload-list__item-name {
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.upload_btn_wrap{
|
||||
position: relative;
|
||||
width: 100%;
|
||||
.High_btn{
|
||||
position:absolute;
|
||||
right: 70px;
|
||||
top: 2px;
|
||||
height: 28px;
|
||||
}
|
||||
}
|
||||
.personItemBottom{
|
||||
margin-top: 10px;
|
||||
}
|
||||
@ -0,0 +1,15 @@
|
||||
<template>
|
||||
<div>
|
||||
人员定位
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
||||
@ -0,0 +1,90 @@
|
||||
<template>
|
||||
<div class="fullHeight">
|
||||
<div class="content_title">
|
||||
<el-menu
|
||||
:default-active="String(showModule)"
|
||||
active-text-color="#5181F6"
|
||||
class="el-menu-demo whiteBlock"
|
||||
mode="horizontal"
|
||||
style="width: 329px"
|
||||
>
|
||||
<!-- <el-menu-item index="1" style="height: 41px; line-height: 41px" @click="switchTab(1)">地图</el-menu-item> -->
|
||||
<el-menu-item index="2" style="height: 41px; line-height: 41px" @click="switchTab(2)">
|
||||
基站
|
||||
</el-menu-item>
|
||||
<el-menu-item index="3" style="height: 41px; line-height: 41px" @click="switchTab(3)">
|
||||
楼栋
|
||||
</el-menu-item>
|
||||
</el-menu>
|
||||
</div>
|
||||
<div class="content_right"></div>
|
||||
|
||||
<!-- 基站 -->
|
||||
<pointConfiguration v-if="showModule == 3" />
|
||||
<!-- 楼栋 -->
|
||||
<personnelPositioning v-if="showModule == 2" />
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import pointConfiguration from '@/views/projectFront/personnelPosition/ConfigChildrenIndex/configuration'
|
||||
import personnelPositioning from '@/views/projectFront/personnelPosition/ConfigChildrenIndex/positoningIndex'
|
||||
export default {
|
||||
components: {
|
||||
// Labor,
|
||||
pointConfiguration,
|
||||
personnelPositioning
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
showModule: 2
|
||||
}
|
||||
},
|
||||
created() {
|
||||
//详情返回对应的 列表模块
|
||||
if (localStorage.getItem('showPersonModule')) {
|
||||
this.switchTab(Number(localStorage.getItem('showPersonModule')))
|
||||
localStorage.removeItem('showPersonModule')
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
switchTab(type) {
|
||||
if (type == this.showModule) return
|
||||
if (type == 1) {
|
||||
window._paq.push(['trackEvent', '点击', '劳务人员', '切换为劳务人员'])
|
||||
} else if (type == 2) {
|
||||
window._paq.push(['trackEvent', '点击', '管理人员', '切换为管理人员'])
|
||||
} else if (type == 3) {
|
||||
window._paq.push(['trackEvent', '点击', '临时人员', '切换为临时人员'])
|
||||
}
|
||||
this.showModule = type
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
.searchBox {
|
||||
justify-content: space-between;
|
||||
}
|
||||
.content_title {
|
||||
z-index: 100;
|
||||
position: absolute;
|
||||
top: 20;
|
||||
left: 20;
|
||||
}
|
||||
.labor_module {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
}
|
||||
/deep/ .el-dialog__title,
|
||||
.pageTitle {
|
||||
font-weight: 700 !important;
|
||||
}
|
||||
.el-menu-item {
|
||||
width: 49.333%;
|
||||
text-align: center;
|
||||
padding: 0 16px !important;
|
||||
}
|
||||
</style>
|
||||
Loading…
x
Reference in New Issue
Block a user