中水北方配置,智能安全帽人员选择更改为树形
This commit is contained in:
parent
d16a7c77a8
commit
c8796dfd5b
@ -13,7 +13,7 @@ NODE_ENV = "production"
|
|||||||
# VITE_API_URL = "http://183.249.224.118:9003"
|
# VITE_API_URL = "http://183.249.224.118:9003"
|
||||||
|
|
||||||
# 百色 新项目通用地址
|
# 百色 新项目通用地址
|
||||||
# VITE_API_URL = 'http://101.43.164.214:11111'
|
VITE_API_URL = 'http://101.43.164.214:11111'
|
||||||
|
|
||||||
# 七参数标准版(演示平台)
|
# 七参数标准版(演示平台)
|
||||||
# VITE_API_URL = 'http://jxj.zhgdyun.com:9809'
|
# VITE_API_URL = 'http://jxj.zhgdyun.com:9809'
|
||||||
@ -25,7 +25,7 @@ NODE_ENV = "production"
|
|||||||
# VITE_API_URL = 'http://42.180.188.17:9809' #生产环境
|
# VITE_API_URL = 'http://42.180.188.17:9809' #生产环境
|
||||||
# VITE_API_URL = 'http://42.180.188.17:11211' #测试环境
|
# VITE_API_URL = 'http://42.180.188.17:11211' #测试环境
|
||||||
# 苏立信/重庆市南岸区
|
# 苏立信/重庆市南岸区
|
||||||
VITE_API_URL = 'http://101.43.164.214:11111'
|
# VITE_API_URL = 'http://101.43.164.214:11111'
|
||||||
# 中科安信
|
# 中科安信
|
||||||
# VITE_API_URL = 'http://8.136.222.164:8808'
|
# VITE_API_URL = 'http://8.136.222.164:8808'
|
||||||
# 中科佳成
|
# 中科佳成
|
||||||
|
|||||||
@ -51,6 +51,10 @@ export const getVehiclePositionDayRecord = (params: {}) => {
|
|||||||
export const getHatDevOptionApi = (params: {}) => {
|
export const getHatDevOptionApi = (params: {}) => {
|
||||||
return http.get(BASEURL + `/xmgl/safetyHatDev/list`, params);
|
return http.get(BASEURL + `/xmgl/safetyHatDev/list`, params);
|
||||||
};
|
};
|
||||||
|
// 智能安全帽--分类查询设备树
|
||||||
|
export const getEnterpriseTreeApi = (params: {}) => {
|
||||||
|
return http.get(BASEURL + `/xmgl/safetyHatDev/enterprise/tree/list`, params);
|
||||||
|
};
|
||||||
// 智能安全帽--查询设备状态总数
|
// 智能安全帽--查询设备状态总数
|
||||||
export const getSafeHatTypeTotalApi = (params: {}) => {
|
export const getSafeHatTypeTotalApi = (params: {}) => {
|
||||||
return http.post(BASEURL + `/xmgl/safetyHatDev/countSafetyHatDev`, params);
|
return http.post(BASEURL + `/xmgl/safetyHatDev/countSafetyHatDev`, params);
|
||||||
|
|||||||
BIN
src/assets/images/mapimg/ey.png
Normal file
BIN
src/assets/images/mapimg/ey.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 7.9 KiB |
BIN
src/assets/images/mapimg/wx.png
Normal file
BIN
src/assets/images/mapimg/wx.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 12 KiB |
@ -55,6 +55,5 @@ export const COMPANY: string = ""; //标准版
|
|||||||
// export const COMPANY: string = "ztsyj"; // 中铁十一局
|
// export const COMPANY: string = "ztsyj"; // 中铁十一局
|
||||||
// export const COMPANY: string = "xnyzhjj"; // 新能源智慧基建管理平台
|
// export const COMPANY: string = "xnyzhjj"; // 新能源智慧基建管理平台
|
||||||
// export const COMPANY: string = "allxm"; // 安立路项目
|
// export const COMPANY: string = "allxm"; // 安立路项目
|
||||||
|
// export const COMPANY: string = "hbla"; // 湖北龙澳
|
||||||
|
// export const COMPANY: string = "qyg"; // 清远港
|
||||||
|
|
||||||
|
|||||||
@ -2124,3 +2124,75 @@ export const ALLXMMenu: Array<any> = [
|
|||||||
},
|
},
|
||||||
{ moduleName: "BIM模型", modulePath: "/bImModel" }
|
{ moduleName: "BIM模型", modulePath: "/bImModel" }
|
||||||
]; // 安立路项目
|
]; // 安立路项目
|
||||||
|
|
||||||
|
export const HBLAMenu: Array<any> = [
|
||||||
|
{
|
||||||
|
moduleName: "综合管理",
|
||||||
|
modulePath: "/projectOverview"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
moduleName: "视频监控",
|
||||||
|
modulePath: "/videoManagement"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
moduleName: "安全管理",
|
||||||
|
modulePath: "/securityManagement"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
moduleName: "质量管理",
|
||||||
|
modulePath: "/qualityManagement"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
moduleName: "塔吊监测",
|
||||||
|
modulePath: "/towerCraneMonitoring"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
moduleName: "进度管理",
|
||||||
|
modulePath: "/schedulePlan"
|
||||||
|
}
|
||||||
|
]; // 湖北龙澳
|
||||||
|
export const QYGMenu: Array<any> = [
|
||||||
|
{
|
||||||
|
moduleName: "工程概况",
|
||||||
|
modulePath: "/projectOverview"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
moduleName: "劳务管理",
|
||||||
|
modulePath: "/laborManagement"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
moduleName: "视频监控",
|
||||||
|
modulePath: "/videoManagement"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
moduleName: "安全管理",
|
||||||
|
modulePath: "/securityManagement"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
moduleName: "质量管理",
|
||||||
|
modulePath: "/qualityManagement"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
moduleName: "绿色施工",
|
||||||
|
modulePath: "/headNoise",
|
||||||
|
menuList: [
|
||||||
|
{
|
||||||
|
menuName: "环境监测",
|
||||||
|
companyPath: "/headNoise"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
menuName: "升降机监测",
|
||||||
|
companyPath: "/elevatorMonitoring"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
menuName: "塔吊监测",
|
||||||
|
companyPath: "/towerCraneMonitoring"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
moduleName: "进度管理",
|
||||||
|
modulePath: "/schedulePlan"
|
||||||
|
},
|
||||||
|
{ moduleName: "BIM模型", modulePath: "/bImModel" }
|
||||||
|
]; // 清远港
|
||||||
|
|||||||
@ -50,21 +50,40 @@
|
|||||||
style="margin-left: 55px; color: #fff"
|
style="margin-left: 55px; color: #fff"
|
||||||
>全选</el-checkbox
|
>全选</el-checkbox
|
||||||
>
|
>
|
||||||
<el-scrollbar>
|
<el-scrollbar class="treeStyle">
|
||||||
<div style="margin: 15px 0"></div>
|
<div style="margin: 15px 0"></div>
|
||||||
<el-checkbox-group v-model="checkedCities" @change="handleCheckedCitiesChange">
|
<el-tree
|
||||||
|
:data="treeList"
|
||||||
|
@check="handleCheck"
|
||||||
|
:props="{
|
||||||
|
children: 'safetyHatDevs',
|
||||||
|
label: 'name'
|
||||||
|
}"
|
||||||
|
show-checkbox
|
||||||
|
check-on-click-node
|
||||||
|
default-expand-all
|
||||||
|
node-key="devSn"
|
||||||
|
ref="tree"
|
||||||
|
>
|
||||||
|
<template #default="{ node, data }">
|
||||||
|
<span class="custom-tree-node">
|
||||||
|
<img :src="personOn" v-if="data.online === 1" />
|
||||||
|
<img :src="personOff" v-if="data.online === 0" />
|
||||||
|
<span class="nodeName">{{ node.label }}</span>
|
||||||
|
</span>
|
||||||
|
</template>
|
||||||
|
</el-tree>
|
||||||
|
<!-- <el-checkbox-group v-model="checkedCities" @change="handleCheckedCitiesChange">
|
||||||
<div v-for="item in devList" class="choice-item" :key="item.id">
|
<div v-for="item in devList" class="choice-item" :key="item.id">
|
||||||
<div class="list-type">
|
<div class="list-type">
|
||||||
<img :src="personOn" v-if="item.online === 1" />
|
<img :src="personOn" v-if="item.online === 1" />
|
||||||
<img :src="personOff" v-if="item.online === 0" />
|
<img :src="personOff" v-if="item.online === 0" />
|
||||||
</div>
|
</div>
|
||||||
<el-checkbox :label="item.devSn" :key="item.devSn" class="dev-check">
|
<el-checkbox :label="item.devSn" :key="item.devSn" class="dev-check">
|
||||||
<!-- {{ item.numberPlate || "" }}{{ item.personName || "" }} -->
|
|
||||||
{{ item.workerName }}
|
{{ item.workerName }}
|
||||||
</el-checkbox>
|
</el-checkbox>
|
||||||
<!-- <div class="choice-speed" v-if="item.speed">{{ item.speed }}km/h</div> -->
|
|
||||||
</div>
|
</div>
|
||||||
</el-checkbox-group>
|
</el-checkbox-group> -->
|
||||||
</el-scrollbar>
|
</el-scrollbar>
|
||||||
</div>
|
</div>
|
||||||
<div v-else style="text-align: center; margin-top: 130px; color: #fff; font-size: 20px">暂无设备</div>
|
<div v-else style="text-align: center; margin-top: 130px; color: #fff; font-size: 20px">暂无设备</div>
|
||||||
@ -113,11 +132,14 @@
|
|||||||
</div>
|
</div>
|
||||||
<el-scrollbar class="list-box">
|
<el-scrollbar class="list-box">
|
||||||
<div v-for="(item, index) in fenceList" class="list-style" :key="item.id">
|
<div v-for="(item, index) in fenceList" class="list-style" :key="item.id">
|
||||||
<div style="width: 100%;display: flex;justify-content: space-between;align-items: center;" @click="openDetail(item)">
|
<div
|
||||||
<div style="width: 50%">{{ item.fenceName }}</div>
|
style="width: 100%; display: flex; justify-content: space-between; align-items: center"
|
||||||
<div style="width: 50%">{{ item.workerNum }}</div>
|
@click="openDetail(item)"
|
||||||
</div>
|
>
|
||||||
</div>
|
<div style="width: 50%">{{ item.fenceName }}</div>
|
||||||
|
<div style="width: 50%">{{ item.workerNum }}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="not-data" style="top: 20%" v-if="fenceList.length == 0">
|
<div class="not-data" style="top: 20%" v-if="fenceList.length == 0">
|
||||||
<img src="@/assets/images/noData.png" alt="" />
|
<img src="@/assets/images/noData.png" alt="" />
|
||||||
<p>暂无数据</p>
|
<p>暂无数据</p>
|
||||||
@ -321,8 +343,13 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- 地图类型 -->
|
||||||
|
<div class="map-type" @click="changeMapType">
|
||||||
|
<img v-if="mapType === 1" src="@/assets/images/mapimg/wx.png" alt="">
|
||||||
|
<img v-if="mapType === 2" src="@/assets/images/mapimg/ey.png" alt="">
|
||||||
|
<span>{{ mapType === 1 ? '卫星' : '二维' }}</span>
|
||||||
|
</div>
|
||||||
<!-- **********************围栏弹窗******************************** -->
|
<!-- **********************围栏弹窗******************************** -->
|
||||||
|
|
||||||
<div class="start-track" @click="startAnimation" v-if="checked === 2" :style="enlarge ? 'bottom:8%' : 'bottom:5%'">开始轨迹动画</div>
|
<div class="start-track" @click="startAnimation" v-if="checked === 2" :style="enlarge ? 'bottom:8%' : 'bottom:5%'">开始轨迹动画</div>
|
||||||
<div class="start-track-isEnlage" @click="enlargeMap" v-if="checked === 2 && !enlarge" :style="enlarge ? '' : 'bottom:5%'">
|
<div class="start-track-isEnlage" @click="enlargeMap" v-if="checked === 2 && !enlarge" :style="enlarge ? '' : 'bottom:5%'">
|
||||||
<!-- 放大 -->
|
<!-- 放大 -->
|
||||||
@ -394,6 +421,7 @@ import {
|
|||||||
getAlarmRecordInfoApi,
|
getAlarmRecordInfoApi,
|
||||||
getAlarmRecordInfoApiPage,
|
getAlarmRecordInfoApiPage,
|
||||||
getHatDevOptionApi,
|
getHatDevOptionApi,
|
||||||
|
getEnterpriseTreeApi,
|
||||||
addstandardDevApi,
|
addstandardDevApi,
|
||||||
getRealtimeRecordInfo,
|
getRealtimeRecordInfo,
|
||||||
getRealtimeRecordList,
|
getRealtimeRecordList,
|
||||||
@ -455,6 +483,7 @@ let checkAllFence = ref(false);
|
|||||||
let checkedCities = ref([]);
|
let checkedCities = ref([]);
|
||||||
let checkedFence = ref([]);
|
let checkedFence = ref([]);
|
||||||
let devList = ref(["鲁U6675", "刘江", "蒋东", "鲁U9675"]);
|
let devList = ref(["鲁U6675", "刘江", "蒋东", "鲁U9675"]);
|
||||||
|
let treeList = ref([]);
|
||||||
let isIndeterminate = ref(true);
|
let isIndeterminate = ref(true);
|
||||||
let isIndeterminateFence = ref(true);
|
let isIndeterminateFence = ref(true);
|
||||||
let checked = ref(1);
|
let checked = ref(1);
|
||||||
@ -464,6 +493,7 @@ interface RuleForm {
|
|||||||
// fenceName: string
|
// fenceName: string
|
||||||
// areaRadius: number
|
// areaRadius: number
|
||||||
}
|
}
|
||||||
|
let tree = ref(null);
|
||||||
let addFormRef = ref<FormInstance>();
|
let addFormRef = ref<FormInstance>();
|
||||||
// const addForm = reactive<RuleForm>({
|
// const addForm = reactive<RuleForm>({
|
||||||
let addForm = ref({
|
let addForm = ref({
|
||||||
@ -493,6 +523,7 @@ let pagLabor = ref({
|
|||||||
pageNo: 1,
|
pageNo: 1,
|
||||||
total: 0
|
total: 0
|
||||||
});
|
});
|
||||||
|
let mapType = ref(1); // 1: 二维,2: 卫星
|
||||||
let tableListData = ref([]); // 劳务列表
|
let tableListData = ref([]); // 劳务列表
|
||||||
let choicePerson = ref(false);
|
let choicePerson = ref(false);
|
||||||
let laborRadio = ref(""); //选择
|
let laborRadio = ref(""); //选择
|
||||||
@ -1218,7 +1249,8 @@ function getCrewListData() {
|
|||||||
};
|
};
|
||||||
console.log("👇智能安全帽--分类查询设备列表--查询参数");
|
console.log("👇智能安全帽--分类查询设备列表--查询参数");
|
||||||
console.log(data);
|
console.log(data);
|
||||||
getHatDevOptionApi(data).then(res => {
|
// getHatDevOptionApi(data).then(res => {
|
||||||
|
getEnterpriseTreeApi(data).then(res => {
|
||||||
console.log("👇智能安全帽--分类查询设备列表");
|
console.log("👇智能安全帽--分类查询设备列表");
|
||||||
console.log(res);
|
console.log(res);
|
||||||
if (res.code == 200) {
|
if (res.code == 200) {
|
||||||
@ -1246,12 +1278,24 @@ function getCrewListData() {
|
|||||||
// nameOptions.value = nameOption.concat(carOption);
|
// nameOptions.value = nameOption.concat(carOption);
|
||||||
nameOptions.value = nameOption.concat([]);
|
nameOptions.value = nameOption.concat([]);
|
||||||
|
|
||||||
devList.value = res.result;
|
treeList.value = res.result;
|
||||||
|
devList.value = flattenTree(res.result).filter(item => item.devSn);
|
||||||
} else {
|
} else {
|
||||||
ElMessage.error(res.message);
|
ElMessage.error(res.message);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
// 扁平化树形数据
|
||||||
|
function flattenTree(tree) {
|
||||||
|
let result = [];
|
||||||
|
tree.forEach(item => {
|
||||||
|
result.push(item);
|
||||||
|
if (item.safetyHatDevs && item.safetyHatDevs.length > 0) {
|
||||||
|
result = result.concat(flattenTree(item.safetyHatDevs));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return result;
|
||||||
|
}
|
||||||
const refScrollbar = ref(null as any); // 绑定到滚动的盒子上
|
const refScrollbar = ref(null as any); // 绑定到滚动的盒子上
|
||||||
const moreScroll = ref(true as any);
|
const moreScroll = ref(true as any);
|
||||||
|
|
||||||
@ -1331,6 +1375,7 @@ function handleCheckAllChange(val) {
|
|||||||
clearFn();
|
clearFn();
|
||||||
let nameArr = devList.value.map(item => item.devSn);
|
let nameArr = devList.value.map(item => item.devSn);
|
||||||
checkedCities.value = val ? nameArr : [];
|
checkedCities.value = val ? nameArr : [];
|
||||||
|
tree.value.setCheckedKeys(checkedCities.value);
|
||||||
isIndeterminate.value = false;
|
isIndeterminate.value = false;
|
||||||
if (val) {
|
if (val) {
|
||||||
listData;
|
listData;
|
||||||
@ -1342,6 +1387,11 @@ function handleCheckAllChange(val) {
|
|||||||
getProgressListData();
|
getProgressListData();
|
||||||
drawFencePoint();
|
drawFencePoint();
|
||||||
}
|
}
|
||||||
|
const handleCheck = () => {
|
||||||
|
checkedCities.value = tree?.value.getCheckedKeys().filter(item => item);
|
||||||
|
console.info(checkedCities.value, "checkedCities");
|
||||||
|
handleCheckedCitiesChange(checkedCities.value);
|
||||||
|
};
|
||||||
function handleCheckedCitiesChange(value) {
|
function handleCheckedCitiesChange(value) {
|
||||||
console.log("设备选中", value);
|
console.log("设备选中", value);
|
||||||
clearFn();
|
clearFn();
|
||||||
@ -1589,7 +1639,7 @@ function trackMapInit(path: any, item: any) {
|
|||||||
//构建信息窗体中显示的内容
|
//构建信息窗体中显示的内容
|
||||||
// console.log(e);
|
// console.log(e);
|
||||||
let info = [];
|
let info = [];
|
||||||
|
info.push('<div style="padding:0 7px;"><text style="font-weight:bold">所属单位:</text> ' + item.enterpriseName + "</div>");
|
||||||
info.push('<div style="padding:0 7px;"><text style="font-weight:bold">设备序号:</text> ' + item.devSn + "</div>");
|
info.push('<div style="padding:0 7px;"><text style="font-weight:bold">设备序号:</text> ' + item.devSn + "</div>");
|
||||||
info.push('<div style="padding:0 7px;"><text style="font-weight:bold">人员名称:</text> ' + item.workerName + "</div>");
|
info.push('<div style="padding:0 7px;"><text style="font-weight:bold">人员名称:</text> ' + item.workerName + "</div>");
|
||||||
// info.push('<div style="padding:0 7px;"><text style="font-weight:bold">最后更新时间:</text> ' + item.updateTime + "</div>");
|
// info.push('<div style="padding:0 7px;"><text style="font-weight:bold">最后更新时间:</text> ' + item.updateTime + "</div>");
|
||||||
@ -1621,6 +1671,15 @@ const getProjectInfo = async () => {
|
|||||||
projectData.value = res.result;
|
projectData.value = res.result;
|
||||||
initMap();
|
initMap();
|
||||||
};
|
};
|
||||||
|
function changeMapType() {
|
||||||
|
mapType.value = mapType.value === 1 ? 2 : 1;
|
||||||
|
var satellite = new AMap.TileLayer.Satellite();
|
||||||
|
if(mapType.value === 2){
|
||||||
|
map.setLayers([satellite]);
|
||||||
|
}else{
|
||||||
|
map.setLayers([new AMap.TileLayer()]);
|
||||||
|
}
|
||||||
|
}
|
||||||
// 围栏定位地图
|
// 围栏定位地图
|
||||||
function initMap() {
|
function initMap() {
|
||||||
var that = this;
|
var that = this;
|
||||||
@ -1947,6 +2006,7 @@ function echoCarMarker(item) {
|
|||||||
// console.log(e)
|
// console.log(e)
|
||||||
let info = [];
|
let info = [];
|
||||||
|
|
||||||
|
info.push('<div style="padding:0 7px;"><text style="font-weight:bold">所属单位:</text> ' + item.enterpriseName + "</div>");
|
||||||
info.push('<div style="padding:0 7px;"><text style="font-weight:bold">设备序号:</text> ' + item.devSn + "</div>");
|
info.push('<div style="padding:0 7px;"><text style="font-weight:bold">设备序号:</text> ' + item.devSn + "</div>");
|
||||||
info.push('<div style="padding:0 7px;"><text style="font-weight:bold">人员名称:</text> ' + item.workerName + "</div>");
|
info.push('<div style="padding:0 7px;"><text style="font-weight:bold">人员名称:</text> ' + item.workerName + "</div>");
|
||||||
// info.push('<div style="padding:0 7px;"><text style="font-weight:bold">最后更新时间:</text> ' + item.updateTime + "</div>");
|
// info.push('<div style="padding:0 7px;"><text style="font-weight:bold">最后更新时间:</text> ' + item.updateTime + "</div>");
|
||||||
@ -2006,6 +2066,7 @@ function echoPersonMarker(item) {
|
|||||||
console.log(e);
|
console.log(e);
|
||||||
let info = [];
|
let info = [];
|
||||||
|
|
||||||
|
info.push('<div style="padding:0 7px;"><text style="font-weight:bold">所属单位:</text> ' + item.enterpriseName + "</div>");
|
||||||
info.push('<div style="padding:0 7px;"><text style="font-weight:bold">设备序号:</text> ' + item.devSn + "</div>");
|
info.push('<div style="padding:0 7px;"><text style="font-weight:bold">设备序号:</text> ' + item.devSn + "</div>");
|
||||||
info.push('<div style="padding:0 7px;"><text style="font-weight:bold">人员名称:</text> ' + item.workerName + "</div>");
|
info.push('<div style="padding:0 7px;"><text style="font-weight:bold">人员名称:</text> ' + item.workerName + "</div>");
|
||||||
// info.push('<div style="padding:0 7px;"><text style="font-weight:bold">最后更新时间:</text> ' + item.updateTime + "</div>");
|
// info.push('<div style="padding:0 7px;"><text style="font-weight:bold">最后更新时间:</text> ' + item.updateTime + "</div>");
|
||||||
@ -2783,6 +2844,30 @@ function echoPersonMarker(item) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.map-type {
|
||||||
|
position: absolute;
|
||||||
|
right: 1%;
|
||||||
|
top: 14%;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
padding: 4px 2px;
|
||||||
|
border: solid 1px #fff;
|
||||||
|
width: 80px;
|
||||||
|
// height: 110px;
|
||||||
|
cursor: pointer;
|
||||||
|
background: #1d2d40;
|
||||||
|
img {
|
||||||
|
width: 72px;
|
||||||
|
height: 72px;
|
||||||
|
}
|
||||||
|
span {
|
||||||
|
color: #fff;
|
||||||
|
font-size: 14px;
|
||||||
|
padding-top: 4px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.right-bottom {
|
.right-bottom {
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -3108,4 +3193,55 @@ function echoPersonMarker(item) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
:deep() {
|
||||||
|
.el-tree {
|
||||||
|
background-color: transparent;
|
||||||
|
.el-tree-node {
|
||||||
|
white-space: normal;
|
||||||
|
&:focus > .el-tree-node__content {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
&.is-current > .el-tree-node__content {
|
||||||
|
background-color: rgba(81, 129, 246, 0.14);
|
||||||
|
color: #5181f6;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.el-tree-node__label {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
.el-tree-node__content {
|
||||||
|
position: relative;
|
||||||
|
&:hover {
|
||||||
|
background-color: rgba(81, 129, 246, 0.14);
|
||||||
|
color: #5181f6;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.el-tree-node__expand-icon {
|
||||||
|
font-size: 16px;
|
||||||
|
padding: 0 6px;
|
||||||
|
&.is-leaf {
|
||||||
|
color: transparent !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.treeTitle {
|
||||||
|
background-color: #f7f7f7;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.custom-tree-node {
|
||||||
|
width: 100%;
|
||||||
|
img {
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
margin-right: 4px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.nodeName {
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
display: inline-block;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -69,21 +69,40 @@
|
|||||||
@change="handleCheckAllChange"
|
@change="handleCheckAllChange"
|
||||||
style="margin-left: 55px; color: #fff"
|
style="margin-left: 55px; color: #fff"
|
||||||
>全选</el-checkbox>
|
>全选</el-checkbox>
|
||||||
<el-scrollbar>
|
<el-scrollbar class="treeStyle">
|
||||||
<div style="margin: 15px 0"></div>
|
<div style="margin: 15px 0"></div>
|
||||||
<el-checkbox-group v-model="checkedCities" @change="handleCheckedCitiesChange">
|
<el-tree
|
||||||
|
:data="treeList"
|
||||||
|
@check="handleCheck"
|
||||||
|
:props="{
|
||||||
|
children: 'safetyHatDevs',
|
||||||
|
label: 'name'
|
||||||
|
}"
|
||||||
|
show-checkbox
|
||||||
|
check-on-click-node
|
||||||
|
default-expand-all
|
||||||
|
node-key="devSn"
|
||||||
|
ref="tree"
|
||||||
|
>
|
||||||
|
<template #default="{ node, data }">
|
||||||
|
<span class="custom-tree-node">
|
||||||
|
<img :src="personOn" v-if="data.online === 1" />
|
||||||
|
<img :src="personOff" v-if="data.online === 0" />
|
||||||
|
<span class="nodeName">{{ node.label }}</span>
|
||||||
|
</span>
|
||||||
|
</template>
|
||||||
|
</el-tree>
|
||||||
|
<!-- <el-checkbox-group v-model="checkedCities" @change="handleCheckedCitiesChange">
|
||||||
<div v-for="item in devList" class="choice-item" :key="item.id">
|
<div v-for="item in devList" class="choice-item" :key="item.id">
|
||||||
<div class="list-type">
|
<div class="list-type">
|
||||||
<img :src="personOn" v-if="item.online === 1" />
|
<img :src="personOn" v-if="item.online === 1" />
|
||||||
<img :src="personOff" v-if="item.online === 0" />
|
<img :src="personOff" v-if="item.online === 0" />
|
||||||
</div>
|
</div>
|
||||||
<el-checkbox :label="item.devSn" :key="item.devSn" class="dev-check">
|
<el-checkbox :label="item.devSn" :key="item.devSn" class="dev-check">
|
||||||
<!-- {{ item.numberPlate || "" }}{{ item.personName || "" }} -->
|
|
||||||
{{ item.workerName }}
|
{{ item.workerName }}
|
||||||
</el-checkbox>
|
</el-checkbox>
|
||||||
<!-- <div class="choice-speed" v-if="item.speed">{{ item.speed }}km/h</div> -->
|
|
||||||
</div>
|
</div>
|
||||||
</el-checkbox-group>
|
</el-checkbox-group> -->
|
||||||
</el-scrollbar>
|
</el-scrollbar>
|
||||||
</div>
|
</div>
|
||||||
<div v-else style="text-align: center; margin-top: 130px; color: #fff; font-size: 20px">暂无设备</div>
|
<div v-else style="text-align: center; margin-top: 130px; color: #fff; font-size: 20px">暂无设备</div>
|
||||||
@ -219,6 +238,12 @@
|
|||||||
<img src="@/assets/images/not-enlarge-icon.png" alt />
|
<img src="@/assets/images/not-enlarge-icon.png" alt />
|
||||||
<!-- <div>缩小</div> -->
|
<!-- <div>缩小</div> -->
|
||||||
</div>
|
</div>
|
||||||
|
<!-- 地图类型 -->
|
||||||
|
<div class="map-type" @click="changeMapType">
|
||||||
|
<img v-if="mapType === 1" src="@/assets/images/mapimg/wx.png" alt="">
|
||||||
|
<img v-if="mapType === 2" src="@/assets/images/mapimg/ey.png" alt="">
|
||||||
|
<span>{{ mapType === 1 ? '卫星' : '二维' }}</span>
|
||||||
|
</div>
|
||||||
<!-- **********************围栏弹窗******************************** -->
|
<!-- **********************围栏弹窗******************************** -->
|
||||||
<div class="fenceDialog" v-if="fenceShow" :style="enlarge ? 'top:8%' : ''">
|
<div class="fenceDialog" v-if="fenceShow" :style="enlarge ? 'top:8%' : ''">
|
||||||
<!-- <div class="fence-dialog-modal" v-if="fenceCreateShow"></div> -->
|
<!-- <div class="fence-dialog-modal" v-if="fenceCreateShow"></div> -->
|
||||||
@ -467,6 +492,7 @@ import {
|
|||||||
getAlarmRecordInfoApi,
|
getAlarmRecordInfoApi,
|
||||||
getAlarmRecordInfoApiPage,
|
getAlarmRecordInfoApiPage,
|
||||||
getHatDevOptionApi,
|
getHatDevOptionApi,
|
||||||
|
getEnterpriseTreeApi,
|
||||||
addstandardDevApi,
|
addstandardDevApi,
|
||||||
getRealtimeRecordInfo,
|
getRealtimeRecordInfo,
|
||||||
getRealtimeRecordList,
|
getRealtimeRecordList,
|
||||||
@ -526,6 +552,7 @@ let checkAllFence = ref(false);
|
|||||||
let checkedCities = ref([]);
|
let checkedCities = ref([]);
|
||||||
let checkedFence = ref([]);
|
let checkedFence = ref([]);
|
||||||
let devList = ref(["鲁U6675", "刘江", "蒋东", "鲁U9675"]);
|
let devList = ref(["鲁U6675", "刘江", "蒋东", "鲁U9675"]);
|
||||||
|
let treeList = ref([]);
|
||||||
let isIndeterminate = ref(true);
|
let isIndeterminate = ref(true);
|
||||||
let isIndeterminateFence = ref(true);
|
let isIndeterminateFence = ref(true);
|
||||||
let checked = ref(1);
|
let checked = ref(1);
|
||||||
@ -535,6 +562,7 @@ interface RuleForm {
|
|||||||
// fenceName: string
|
// fenceName: string
|
||||||
// areaRadius: number
|
// areaRadius: number
|
||||||
}
|
}
|
||||||
|
let tree = ref(null);
|
||||||
let addFormRef = ref<FormInstance>();
|
let addFormRef = ref<FormInstance>();
|
||||||
// const addForm = reactive<RuleForm>({
|
// const addForm = reactive<RuleForm>({
|
||||||
let addForm = ref({
|
let addForm = ref({
|
||||||
@ -564,6 +592,7 @@ let pagLabor = ref({
|
|||||||
pageNo: 1,
|
pageNo: 1,
|
||||||
total: 0
|
total: 0
|
||||||
});
|
});
|
||||||
|
let mapType = ref(2); // 1: 二维,2: 卫星
|
||||||
let tableListData = ref([]); // 劳务列表
|
let tableListData = ref([]); // 劳务列表
|
||||||
let choicePerson = ref(false);
|
let choicePerson = ref(false);
|
||||||
let laborRadio = ref(""); //选择
|
let laborRadio = ref(""); //选择
|
||||||
@ -1276,7 +1305,8 @@ function getCrewListData() {
|
|||||||
};
|
};
|
||||||
console.log("👇智能安全帽--分类查询设备列表--查询参数");
|
console.log("👇智能安全帽--分类查询设备列表--查询参数");
|
||||||
console.log(data);
|
console.log(data);
|
||||||
getHatDevOptionApi(data).then(res => {
|
// getHatDevOptionApi(data).then(res => {
|
||||||
|
getEnterpriseTreeApi(data).then(res => {
|
||||||
console.log("👇智能安全帽--分类查询设备列表");
|
console.log("👇智能安全帽--分类查询设备列表");
|
||||||
console.log(res);
|
console.log(res);
|
||||||
if (res.code == 200) {
|
if (res.code == 200) {
|
||||||
@ -1304,12 +1334,24 @@ function getCrewListData() {
|
|||||||
// nameOptions.value = nameOption.concat(carOption);
|
// nameOptions.value = nameOption.concat(carOption);
|
||||||
nameOptions.value = nameOption.concat([]);
|
nameOptions.value = nameOption.concat([]);
|
||||||
|
|
||||||
devList.value = res.result;
|
treeList.value = res.result;
|
||||||
|
devList.value = flattenTree(res.result).filter(item => item.devSn);
|
||||||
} else {
|
} else {
|
||||||
ElMessage.error(res.message);
|
ElMessage.error(res.message);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
// 扁平化树形数据
|
||||||
|
function flattenTree(tree) {
|
||||||
|
let result = [];
|
||||||
|
tree.forEach(item => {
|
||||||
|
result.push(item);
|
||||||
|
if (item.safetyHatDevs && item.safetyHatDevs.length > 0) {
|
||||||
|
result = result.concat(flattenTree(item.safetyHatDevs));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
const refScrollbar = ref(null as any); // 绑定到滚动的盒子上
|
const refScrollbar = ref(null as any); // 绑定到滚动的盒子上
|
||||||
const moreScroll = ref(true as any);
|
const moreScroll = ref(true as any);
|
||||||
@ -1387,6 +1429,7 @@ function handleCheckAllChange(val) {
|
|||||||
clearFn();
|
clearFn();
|
||||||
let nameArr = devList.value.map(item => item.devSn);
|
let nameArr = devList.value.map(item => item.devSn);
|
||||||
checkedCities.value = val ? nameArr : [];
|
checkedCities.value = val ? nameArr : [];
|
||||||
|
tree.value.setCheckedKeys(checkedCities.value);
|
||||||
isIndeterminate.value = false;
|
isIndeterminate.value = false;
|
||||||
if (val) {
|
if (val) {
|
||||||
listData;
|
listData;
|
||||||
@ -1398,6 +1441,11 @@ function handleCheckAllChange(val) {
|
|||||||
getProgressListData();
|
getProgressListData();
|
||||||
drawFencePoint();
|
drawFencePoint();
|
||||||
}
|
}
|
||||||
|
const handleCheck = () => {
|
||||||
|
checkedCities.value = tree?.value.getCheckedKeys().filter(item => item);
|
||||||
|
console.info(checkedCities.value, "checkedCities");
|
||||||
|
handleCheckedCitiesChange(checkedCities.value);
|
||||||
|
};
|
||||||
function handleCheckedCitiesChange(value) {
|
function handleCheckedCitiesChange(value) {
|
||||||
console.log("设备选中", value);
|
console.log("设备选中", value);
|
||||||
clearFn();
|
clearFn();
|
||||||
@ -1645,6 +1693,7 @@ function trackMapInit(path: any, item: any) {
|
|||||||
// console.log(e);
|
// console.log(e);
|
||||||
let info = [];
|
let info = [];
|
||||||
|
|
||||||
|
info.push('<div style="padding:0 7px;"><text style="font-weight:bold">所属单位:</text> ' + item.enterpriseName + "</div>");
|
||||||
info.push('<div style="padding:0 7px;"><text style="font-weight:bold">设备序号:</text> ' + item.devSn + "</div>");
|
info.push('<div style="padding:0 7px;"><text style="font-weight:bold">设备序号:</text> ' + item.devSn + "</div>");
|
||||||
info.push('<div style="padding:0 7px;"><text style="font-weight:bold">人员名称:</text> ' + item.workerName + "</div>");
|
info.push('<div style="padding:0 7px;"><text style="font-weight:bold">人员名称:</text> ' + item.workerName + "</div>");
|
||||||
// info.push('<div style="padding:0 7px;"><text style="font-weight:bold">最后更新时间:</text> ' + item.updateTime + "</div>");
|
// info.push('<div style="padding:0 7px;"><text style="font-weight:bold">最后更新时间:</text> ' + item.updateTime + "</div>");
|
||||||
@ -1949,6 +1998,15 @@ const logisticsInfoList = ref([
|
|||||||
/*** Cellular-Z 20240829 08:15:32 ***/
|
/*** Cellular-Z 20240829 08:15:32 ***/
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
function changeMapType() {
|
||||||
|
mapType.value = mapType.value === 1 ? 2 : 1;
|
||||||
|
var satellite = new AMap.TileLayer.Satellite();
|
||||||
|
if(mapType.value === 2){
|
||||||
|
map.setLayers([satellite]);
|
||||||
|
}else{
|
||||||
|
map.setLayers([new AMap.TileLayer()]);
|
||||||
|
}
|
||||||
|
}
|
||||||
function initMap() {
|
function initMap() {
|
||||||
// 初始化地图
|
// 初始化地图
|
||||||
map = new AMap.Map("mapContainer", {
|
map = new AMap.Map("mapContainer", {
|
||||||
@ -2263,6 +2321,7 @@ function echoCarMarker(item) {
|
|||||||
// console.log(e)
|
// console.log(e)
|
||||||
let info = [];
|
let info = [];
|
||||||
|
|
||||||
|
info.push('<div style="padding:0 7px;"><text style="font-weight:bold">所属单位:</text> ' + item.enterpriseName + "</div>");
|
||||||
info.push('<div style="padding:0 7px;"><text style="font-weight:bold">设备序号:</text> ' + item.devSn + "</div>");
|
info.push('<div style="padding:0 7px;"><text style="font-weight:bold">设备序号:</text> ' + item.devSn + "</div>");
|
||||||
info.push('<div style="padding:0 7px;"><text style="font-weight:bold">人员名称:</text> ' + item.workerName + "</div>");
|
info.push('<div style="padding:0 7px;"><text style="font-weight:bold">人员名称:</text> ' + item.workerName + "</div>");
|
||||||
// info.push('<div style="padding:0 7px;"><text style="font-weight:bold">最后更新时间:</text> ' + item.updateTime + "</div>");
|
// info.push('<div style="padding:0 7px;"><text style="font-weight:bold">最后更新时间:</text> ' + item.updateTime + "</div>");
|
||||||
@ -2339,6 +2398,7 @@ function echoPersonMarker(item) {
|
|||||||
console.log(e);
|
console.log(e);
|
||||||
let info = [];
|
let info = [];
|
||||||
|
|
||||||
|
info.push('<div style="padding:0 7px;"><text style="font-weight:bold">所属单位:</text> ' + item.enterpriseName + "</div>");
|
||||||
info.push('<div style="padding:0 7px;"><text style="font-weight:bold">设备序号:</text> ' + item.devSn + "</div>");
|
info.push('<div style="padding:0 7px;"><text style="font-weight:bold">设备序号:</text> ' + item.devSn + "</div>");
|
||||||
info.push('<div style="padding:0 7px;"><text style="font-weight:bold">人员名称:</text> ' + item.workerName + "</div>");
|
info.push('<div style="padding:0 7px;"><text style="font-weight:bold">人员名称:</text> ' + item.workerName + "</div>");
|
||||||
// info.push('<div style="padding:0 7px;"><text style="font-weight:bold">最后更新时间:</text> ' + item.updateTime + "</div>");
|
// info.push('<div style="padding:0 7px;"><text style="font-weight:bold">最后更新时间:</text> ' + item.updateTime + "</div>");
|
||||||
@ -3126,7 +3186,30 @@ function echoPersonMarker(item) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.map-type {
|
||||||
|
position: absolute;
|
||||||
|
right: 1%;
|
||||||
|
top: 14%;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
padding: 4px 2px;
|
||||||
|
border: solid 1px #fff;
|
||||||
|
width: 80px;
|
||||||
|
// height: 110px;
|
||||||
|
cursor: pointer;
|
||||||
|
background: #1d2d40;
|
||||||
|
img {
|
||||||
|
width: 72px;
|
||||||
|
height: 72px;
|
||||||
|
}
|
||||||
|
span {
|
||||||
|
color: #fff;
|
||||||
|
font-size: 14px;
|
||||||
|
padding-top: 4px;
|
||||||
|
}
|
||||||
|
}
|
||||||
.right-bottom {
|
.right-bottom {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
@ -3451,4 +3534,55 @@ function echoPersonMarker(item) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
:deep() {
|
||||||
|
.el-tree {
|
||||||
|
background-color: transparent;
|
||||||
|
.el-tree-node {
|
||||||
|
white-space: normal;
|
||||||
|
&:focus > .el-tree-node__content {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
&.is-current > .el-tree-node__content {
|
||||||
|
background-color: rgba(81, 129, 246, 0.14);
|
||||||
|
color: #5181f6;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.el-tree-node__label {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
.el-tree-node__content {
|
||||||
|
position: relative;
|
||||||
|
&:hover {
|
||||||
|
background-color: rgba(81, 129, 246, 0.14);
|
||||||
|
color: #5181f6;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.el-tree-node__expand-icon {
|
||||||
|
font-size: 16px;
|
||||||
|
padding: 0 6px;
|
||||||
|
&.is-leaf {
|
||||||
|
color: transparent !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.treeTitle {
|
||||||
|
background-color: #f7f7f7;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.custom-tree-node {
|
||||||
|
width: 100%;
|
||||||
|
img {
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
margin-right: 4px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.nodeName {
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
white-space: nowrap;
|
||||||
|
display: inline-block;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -1,12 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<ScaleBox
|
<ScaleBox :width="1920" :height="1080" bgc="transparent" :delay="100" :isFlat="false" @scaleChange="scaleChange">
|
||||||
:width="1920"
|
|
||||||
:height="1080"
|
|
||||||
bgc="transparent"
|
|
||||||
:delay="100"
|
|
||||||
:isFlat="false"
|
|
||||||
@scaleChange="scaleChange"
|
|
||||||
>
|
|
||||||
<!-- <div class="container"> -->
|
<!-- <div class="container"> -->
|
||||||
<div class="largeScreen" ref="dataScreenRef" style="width: 100%; height: 100%">
|
<div class="largeScreen" ref="dataScreenRef" style="width: 100%; height: 100%">
|
||||||
<div class="header" :class="!EntityMap.Mapswitch ? 'storeheader' : ''">
|
<div class="header" :class="!EntityMap.Mapswitch ? 'storeheader' : ''">
|
||||||
@ -18,7 +11,7 @@
|
|||||||
<!-- <p>江坑110kv变电站智慧工地</p> -->
|
<!-- <p>江坑110kv变电站智慧工地</p> -->
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<span class="projectSmallTitle">
|
<span :class="{ projectSmallTitle: true, zsbf: COMPANY === 'zsbf' }">
|
||||||
<p>{{ projectTimeInfo.name || "" }}</p>
|
<p>{{ projectTimeInfo.name || "" }}</p>
|
||||||
</span>
|
</span>
|
||||||
<div class="rightIcon" @click.stop>
|
<div class="rightIcon" @click.stop>
|
||||||
@ -79,14 +72,17 @@
|
|||||||
<div class="menuList">
|
<div class="menuList">
|
||||||
<div v-for="(item, index) in menuList" :key="index" class="menStyle">
|
<div v-for="(item, index) in menuList" :key="index" class="menStyle">
|
||||||
<div
|
<div
|
||||||
class="subMenu"
|
|
||||||
:index="item.modulePath"
|
:index="item.modulePath"
|
||||||
:class="{ active: activeTab === item.modulePath }"
|
:class="{
|
||||||
|
subMenu: true,
|
||||||
|
active: activeTab === item.modulePath,
|
||||||
|
zsbf: COMPANY === 'zsbf'
|
||||||
|
}"
|
||||||
>
|
>
|
||||||
<span @click="navigateTo(item, 1)">{{ item.moduleName }}</span>
|
<span @click="navigateTo(item, 1)">{{ item.moduleName }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="subMenuList" v-if="itemList != null && itemList.length >= 1">
|
<div :class="{ subMenuList: true, zsbf: COMPANY === 'zsbf' }" v-if="itemList != null && itemList.length >= 1">
|
||||||
<el-scrollbar class="scrollItem">
|
<el-scrollbar class="scrollItem">
|
||||||
<div class="subMenuItem">
|
<div class="subMenuItem">
|
||||||
<div
|
<div
|
||||||
@ -97,23 +93,18 @@
|
|||||||
:index="data.companyPath"
|
:index="data.companyPath"
|
||||||
@click="navigateTo(data, 2)"
|
@click="navigateTo(data, 2)"
|
||||||
>
|
>
|
||||||
<span
|
<span style="white-space: nowrap" :class="{ active2: activeTab2 === data.companyPath }">{{
|
||||||
style="white-space: nowrap"
|
data.menuName
|
||||||
:class="{ active2: activeTab2 === data.companyPath }"
|
}}</span>
|
||||||
>{{ data.menuName }}</span>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-scrollbar>
|
</el-scrollbar>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="contentDate" v-if="itemList != null && itemList.length >= 1">
|
<div class="contentDate">
|
||||||
<span>
|
<span>
|
||||||
自{{ projectTimeInfo.contractPeriodStartTime }}起开始计算,至今日{{ nowDate }}为
|
自{{ projectTimeInfo.contractPeriodStartTime }}起开始计算,至今日{{ nowDate }}为
|
||||||
<span class="numColor">
|
<span class="numColor"> {{ projectPassDay }} </span>个日历天
|
||||||
{{
|
|
||||||
projectPassDay
|
|
||||||
}}
|
|
||||||
</span>个日历天
|
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="dataBoardContent">
|
<div class="dataBoardContent">
|
||||||
@ -167,7 +158,9 @@ import {
|
|||||||
WHZTMenu,
|
WHZTMenu,
|
||||||
ZTSYJMenu,
|
ZTSYJMenu,
|
||||||
XNYZHJJMenu,
|
XNYZHJJMenu,
|
||||||
ALLXMMenu
|
ALLXMMenu,
|
||||||
|
HBLAMenu,
|
||||||
|
QYGMenu
|
||||||
} from "@/config/staticMenu";
|
} from "@/config/staticMenu";
|
||||||
import { COMPANY } from "@/config/config";
|
import { COMPANY } from "@/config/config";
|
||||||
|
|
||||||
@ -668,6 +661,12 @@ onMounted(async () => {
|
|||||||
if (COMPANY === "allxm") {
|
if (COMPANY === "allxm") {
|
||||||
menuList.value = ALLXMMenu;
|
menuList.value = ALLXMMenu;
|
||||||
}
|
}
|
||||||
|
if (COMPANY === "hbla") {
|
||||||
|
menuList.value = HBLAMenu;
|
||||||
|
}
|
||||||
|
if (COMPANY === "qyg") {
|
||||||
|
menuList.value = QYGMenu;
|
||||||
|
}
|
||||||
console.log("配置菜单", menuList.value);
|
console.log("配置菜单", menuList.value);
|
||||||
console.log("当前跳转的路由", router.currentRoute.value);
|
console.log("当前跳转的路由", router.currentRoute.value);
|
||||||
// await getAllModelMenu();
|
// await getAllModelMenu();
|
||||||
@ -846,6 +845,10 @@ function jumpBgd() {
|
|||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
font-family: YouSheBiaoTiHei;
|
font-family: YouSheBiaoTiHei;
|
||||||
|
&.zsbf {
|
||||||
|
font-size: 28px;
|
||||||
|
top: 5%;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.rightIcon {
|
.rightIcon {
|
||||||
@ -899,6 +902,9 @@ function jumpBgd() {
|
|||||||
height: 100%;
|
height: 100%;
|
||||||
display: flex;
|
display: flex;
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
|
&.zsbf {
|
||||||
|
font-size: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
span {
|
span {
|
||||||
width: 90%;
|
width: 90%;
|
||||||
@ -919,6 +925,9 @@ function jumpBgd() {
|
|||||||
font-family: none;
|
font-family: none;
|
||||||
background: url("@/assets/images/subTabImg.gif") no-repeat;
|
background: url("@/assets/images/subTabImg.gif") no-repeat;
|
||||||
background-size: 100% 35%;
|
background-size: 100% 35%;
|
||||||
|
&.zsbf {
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
.scrollItem {
|
.scrollItem {
|
||||||
width: 73%;
|
width: 73%;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user