Merge branch 'shenzhen-dev' of http://139.9.66.234:18023/yjlHub/zhgdlarge into bjxz-rain
This commit is contained in:
commit
11b9613874
@ -3,56 +3,70 @@ import http from "@/api";
|
||||
const BASEURL = import.meta.env.VITE_API_URL;
|
||||
|
||||
//获取企业Id的API
|
||||
export const getEnterpriseIdApi = (params: {}, showLoading: boolean) => {
|
||||
return http.post(BASEURL + `/xmgl/enterpriseInfo/getXzSupplierInfo`, { headers: { noLoading: showLoading } });
|
||||
export const getEnterpriseIdApi = ( noLoading: boolean) => {
|
||||
return http.post(BASEURL + `/xmgl/enterpriseInfo/getXzSupplierInfo`, { headers: { noLoading: noLoading } });
|
||||
};
|
||||
|
||||
//获取区域名字的API
|
||||
export const getRegionNameApi = (param: {}, noLoading: boolean) => {
|
||||
return http.get(BASEURL + `/xmgl/qualityRegion/queryBindRegion`, param, { headers: { noLoading: noLoading } });
|
||||
};
|
||||
|
||||
//获取AI报警情况信息API
|
||||
export const countTaskProgressApi = (params: {}, showLoading: boolean) => {
|
||||
return http.post(BASEURL + `/xmgl/xzTaskProgress/countTaskProgress`, params, { headers: { noLoading: showLoading } });
|
||||
export const countTaskProgressApi = (params: {}, noLoading: boolean) => {
|
||||
return http.post(BASEURL + `/xmgl/xzTaskProgress/countTaskProgress`, params, { headers: { noLoading: noLoading } });
|
||||
};
|
||||
|
||||
//获取承包商信息列表API
|
||||
export const countProjectEnterpriseApi = (params: {}, noLoading: boolean) => {
|
||||
return http.post(BASEURL + `/xmgl/projectEnterprise/list`, params, { headers: { noLoading: noLoading } });
|
||||
};
|
||||
|
||||
//获取企业信息API
|
||||
export const getEnterpriseInfoByIdApi = (params: {}, showLoading: boolean) => {
|
||||
return http.post(BASEURL + `/xmgl/enterpriseInfo/getEnterpriseInfoById`, params, { headers: { noLoading: showLoading } });
|
||||
export const getEnterpriseInfoByIdApi = (params: {}, noLoading: boolean) => {
|
||||
return http.post(BASEURL + `/xmgl/enterpriseInfo/getEnterpriseInfoById`, params, { headers: { noLoading: noLoading } });
|
||||
};
|
||||
|
||||
//获取AI报警情况信息API
|
||||
export const selectAIPageListApi = (params: {}, showLoading: boolean) => {
|
||||
return http.post(BASEURL + `/xmgl/aiAnalyseHardWareAlarmRecord/selectPageList`, params, { headers: { noLoading: showLoading } });
|
||||
export const selectAIPageListApi = (params: {}, noLoading: boolean) => {
|
||||
// return http.post(BASEURL + `/xmgl/aiAnalyseHardWareAlarmRecord/selectPageList`, params, { headers: { noLoading: noLoading } });
|
||||
// return http.get(BASEURL + `/xmgl/aiAnalyseHardWareAlarmRecord/getAllocateNewestRecord`, params, { headers: { noLoading: noLoading } });
|
||||
return http.get(BASEURL + `/xmgl/agjtLiveScreen/getAllocateNewestRecord`, params, { headers: { noLoading: noLoading } });
|
||||
};
|
||||
|
||||
//安全教育视频API
|
||||
export const configWeekVideoListApi = (params: {}, showLoading: boolean) => {
|
||||
return http.get(BASEURL + `/xmgl/educationConfigWeekVideo/list`, params, { headers: { noLoading: showLoading } });
|
||||
export const configWeekVideoListApi = (params: {}, noLoading: boolean) => {
|
||||
return http.get(BASEURL + `/xmgl/educationConfigWeekVideo/list`, params, { headers: { noLoading: noLoading } });
|
||||
};
|
||||
|
||||
//获取劳务实名制信息API---上
|
||||
export const selectPersonTypeAndEduStatisticsApi = (params: {}, showLoading: boolean) => {
|
||||
return http.post(BASEURL + `/xmgl/workerInfo/selectPersonTypeAndEduStatistics`, params, { headers: { noLoading: showLoading } });
|
||||
export const selectPersonTypeAndEduStatisticsApi = (params: {}, noLoading: boolean) => {
|
||||
return http.post(BASEURL + `/xmgl/workerInfo/selectPersonTypeAndEduStatistics`, params, { headers: { noLoading: noLoading } });
|
||||
};
|
||||
|
||||
//获取劳务实名制信息API---下
|
||||
export const selectWorkerTeamAndDepartmentStatisticsApi = (params: {}, showLoading: boolean) => {
|
||||
return http.post(BASEURL + `/xmgl/workerInfo/selectWorkerTeamAndDepartmentStatistics`, params, { headers: { noLoading: showLoading } });
|
||||
export const selectWorkerTeamAndDepartmentStatisticsApi = (params: {}, noLoading: boolean) => {
|
||||
return http.post(BASEURL + `/xmgl/workerInfo/selectWorkerTeamAndDepartmentStatistics`, params, { headers: { noLoading: noLoading } });
|
||||
};
|
||||
|
||||
//获取质量待办信息API
|
||||
export const qualityPageApi = (params: {}, showLoading: boolean) => {
|
||||
return http.post(BASEURL + `/xmgl/qualityInspectionRecord/page`, params, { headers: { noLoading: showLoading } });
|
||||
export const qualityPageApi = (params: {}, noLoading: boolean) => {
|
||||
return http.post(BASEURL + `/xmgl/qualityInspectionRecord/page`, params, { headers: { noLoading: noLoading } });
|
||||
};
|
||||
|
||||
//获取安全待办信息API
|
||||
export const securityPageApi = (params: {}, showLoading: boolean) => {
|
||||
return http.post(BASEURL + `/xmgl/xzSecurityQualityInspectionRecord/page`, params, { headers: { noLoading: showLoading } });
|
||||
export const securityPageApi = (params: {}, noLoading: boolean) => {
|
||||
return http.post(BASEURL + `/xmgl/xzSecurityQualityInspectionRecord/page`, params, { headers: { noLoading: noLoading } });
|
||||
};
|
||||
|
||||
//获取应急记录信息API
|
||||
export const emergencyPageApi = (params: {}, showLoading: boolean) => {
|
||||
return http.get(BASEURL + `/xmgl/xzEmergencyRecord/page`, params, { headers: { noLoading: showLoading } });
|
||||
export const emergencyPageApi = (params: {}, noLoading: boolean) => {
|
||||
// return http.get(BASEURL + `/xmgl/xzEmergencyRecord/page`, params, { headers: { noLoading: noLoading } });
|
||||
return http.get(BASEURL + `/xmgl/agjtLiveScreen/getXzEmergencyRecordPage`, params, { headers: { noLoading: noLoading } });
|
||||
};
|
||||
|
||||
//获取应急记录信息API
|
||||
export const getStatBySpecialApi = (params: {}, showLoading: boolean) => {
|
||||
return http.get(BASEURL + `/xmgl/xzFlow/getStatBySpecial`, params, { headers: { noLoading: showLoading } });
|
||||
//特殊作业数据信息API
|
||||
export const getStatBySpecialApi = (params: {}, noLoading: boolean) => {
|
||||
// return http.get(BASEURL + `/xmgl/xzFlow/getStatBySpecial`, params, { headers: { noLoading: noLoading } });
|
||||
return http.post(BASEURL + `/xmgl/xzSpecial/countSpecialByFinalStatus`, params, { headers: { noLoading: noLoading } });
|
||||
};
|
||||
|
||||
@ -311,7 +311,7 @@ export const staticRouter: RouteRecordRaw[] = [
|
||||
],
|
||||
meta: {
|
||||
// title: "数字化项目监管平台"
|
||||
title: "智慧工厂安全生产监管平台" //指挥部大屏
|
||||
title: "智慧工厂安全生产监管平台" //鞍钢项目
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -5,10 +5,10 @@
|
||||
<div class="header">
|
||||
<span class="projectTitle">
|
||||
<!-- <p v-if="COMPANY === 'agjtLive'">{{'现场大屏'}}</p> -->
|
||||
<p v-if="COMPANY == 'agjtLive'">{{cbsProjectInfo.projectBuildArea || '现场大屏'}}</p>
|
||||
<p v-if="COMPANY == 'agjtLive'">{{cbsProjectInfo ? cbsProjectInfo.regionName : '现场大屏'}}</p>
|
||||
</span>
|
||||
<div class="leftIcon">
|
||||
<div class="info">数字化项目监管平台</div>
|
||||
<div class="info">智慧工厂安全生产监管平台</div>
|
||||
</div>
|
||||
<div class="rightIcon" @click.stop>
|
||||
<div class="time">{{ nowTime }}</div>
|
||||
@ -51,6 +51,7 @@ import { COMPANY } from "@/config/config";
|
||||
import {
|
||||
getEnterpriseIdApi,
|
||||
getEnterpriseInfoByIdApi,
|
||||
getRegionNameApi,
|
||||
} from "@/api/modules/agjtLiveApi";
|
||||
const BASEURL = import.meta.env.VITE_API_URL;
|
||||
const store = GlobalStore();
|
||||
@ -89,24 +90,11 @@ const navigateTo = (path, type) => {
|
||||
};
|
||||
const cbsProjectInfo = ref({} as any)
|
||||
async function getCbsProjectInfo() {
|
||||
console.log("BASEURL===>",BASEURL)
|
||||
//获取企业Id
|
||||
await getEnterpriseIdApi().then(res => {
|
||||
getRegionNameApi({},true).then(res => {
|
||||
if(res.success){
|
||||
let data = {
|
||||
enterpriseId: res.result.id,
|
||||
projectSn: '',
|
||||
}
|
||||
if(BASEURL == 'http://182.90.224.237:51234' || BASEURL == 'http://192.168.34.221:9111') data.projectSn = 'BD3137498CB84BF0969979E0342CDBCA'
|
||||
if(BASEURL == 'http://42.180.188.17:9809' || BASEURL == 'http://42.180.188.17:11211') data.projectSn = '471568F45EB247A3912A0D10EA1BFCEB'
|
||||
getEnterpriseInfoByIdApi(data).then(res2 => {
|
||||
cbsProjectInfo.value = res2.result.projectEnterprise
|
||||
console.log(22222222222222222222222222)
|
||||
console.log(res2)
|
||||
console.log(22222222222222222222222222)
|
||||
})
|
||||
cbsProjectInfo.value = res.result
|
||||
}
|
||||
});
|
||||
})
|
||||
};
|
||||
onMounted(async () => {
|
||||
await getCbsProjectInfo()
|
||||
|
||||
@ -16,7 +16,44 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottomBox" v-if="lwInfo2.list && lwInfo2.list.length > 0">
|
||||
<div v-if="lwInfo2.list && lwInfo2.list.length > 0">
|
||||
<div v-if="lwInfo2.list.length < 3 && lwInfo2.list.length !== 0">
|
||||
<div class="bottomBox" v-if="lwInfo2.list && lwInfo2.list.length > 0">
|
||||
<el-scrollbar style="height:101.5%">
|
||||
<div class="listItem" v-for="(item,i) in lwInfo2.list" :key="i">
|
||||
<div class="itemInfo1">
|
||||
<div style="width:50px;text-align:center">{{i + 1}}</div>
|
||||
<div>{{item.name}}</div>
|
||||
</div>
|
||||
<div class="itemInfo2">{{item.attendancePersonTotal}}/{{item.totalPerson}}</div>
|
||||
</div>
|
||||
</el-scrollbar>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
<vue3-seamless-scroll
|
||||
v-if="lwInfo2.list && lwInfo2.list.length > 0"
|
||||
:speed="1"
|
||||
:list="lwInfo2.list"
|
||||
:limitScrollNum="3"
|
||||
:step="0.3"
|
||||
:hover="true"
|
||||
class="scroll"
|
||||
>
|
||||
<div class="bottomBox" v-if="lwInfo2.list && lwInfo2.list.length > 0">
|
||||
<div class="listItem" v-for="(item,i) in lwInfo2.list" :key="i">
|
||||
<div class="itemInfo1">
|
||||
<div style="width:50px;text-align:center">{{i + 1}}</div>
|
||||
<div>{{item.name}}</div>
|
||||
</div>
|
||||
<div class="itemInfo2">{{item.attendancePersonTotal}}/{{item.totalPerson}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</vue3-seamless-scroll>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- <div class="bottomBox" v-if="lwInfo2.list && lwInfo2.list.length > 0">
|
||||
<el-scrollbar style="height:101.5%">
|
||||
<div class="listItem" v-for="(item,i) in lwInfo2.list" :key="i">
|
||||
<div class="itemInfo1">
|
||||
@ -26,7 +63,7 @@
|
||||
<div class="itemInfo2">{{item.attendancePersonTotal}}/{{item.totalPerson}}</div>
|
||||
</div>
|
||||
</el-scrollbar>
|
||||
</div>
|
||||
</div> -->
|
||||
<div class="not-data" v-else>
|
||||
<img src="@/assets/images/noData.png" alt="" />
|
||||
<p>暂无数据</p>
|
||||
@ -42,6 +79,7 @@ import { ref, watch, onMounted } from "vue";
|
||||
import { getStageOption } from "@/api/modules/projectOverview";
|
||||
import { GlobalStore } from "@/stores";
|
||||
import { COMPANY } from "@/config/config";
|
||||
import { Vue3SeamlessScroll } from "vue3-seamless-scroll";
|
||||
//引入现场大屏API
|
||||
import {
|
||||
getEnterpriseIdApi,
|
||||
@ -55,33 +93,28 @@ const BASEURL = import.meta.env.VITE_API_URL
|
||||
const lwInfo1 = ref({} as any)
|
||||
const lwInfo2 = ref({} as any)
|
||||
async function getLwInfo() {
|
||||
//获取企业Id
|
||||
await getEnterpriseIdApi().then(res => {
|
||||
let data = {
|
||||
projectSn: '',
|
||||
}
|
||||
if(BASEURL == 'http://182.90.224.237:51234' || BASEURL == 'http://192.168.34.221:9111') data.projectSn = 'BD3137498CB84BF0969979E0342CDBCA'
|
||||
if(BASEURL == 'http://42.180.188.17:9809' || BASEURL == 'http://42.180.188.17:11211') data.projectSn = '471568F45EB247A3912A0D10EA1BFCEB'
|
||||
selectPersonTypeAndEduStatisticsApi({
|
||||
enterpriseId: res.result.id,
|
||||
projectSn: data.projectSn,
|
||||
}).then(res1 => {
|
||||
if(res1.success){
|
||||
if(res1.result){
|
||||
lwInfo1.value = res1.result.personType
|
||||
}
|
||||
}
|
||||
})
|
||||
// let data = {
|
||||
// projectSn: store.sn,
|
||||
// }
|
||||
// selectPersonTypeAndEduStatisticsApi({
|
||||
// projectSn: data.projectSn,
|
||||
// },true).then(res1 => {
|
||||
// if(res1.success){
|
||||
// if(res1.result){
|
||||
// lwInfo1.value = res1.result.personType
|
||||
// }
|
||||
// }
|
||||
// })
|
||||
selectWorkerTeamAndDepartmentStatisticsApi({
|
||||
projectSn: data.projectSn,
|
||||
}).then(res2 => {
|
||||
projectSn: store.sn,
|
||||
},true).then(res2 => {
|
||||
if(res2.success){
|
||||
if(res2.result){
|
||||
lwInfo2.value = res2.result
|
||||
}
|
||||
}
|
||||
})
|
||||
});
|
||||
// });
|
||||
};
|
||||
|
||||
//父组件调用需要无感刷新的方法
|
||||
@ -101,6 +134,11 @@ onMounted( async () => {
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.scroll {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
.centerBottomLeft {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
@ -151,7 +189,9 @@ onMounted( async () => {
|
||||
}
|
||||
}
|
||||
}
|
||||
overflow: hidden;
|
||||
.bottomBox{
|
||||
overflow: hidden;
|
||||
// width:calc(100% - 20px);
|
||||
width: 100%;
|
||||
height: calc(75% - 5px);
|
||||
|
||||
@ -56,11 +56,9 @@ async function getQualityData() {
|
||||
page: 1,
|
||||
pageSize: 9999,
|
||||
status: 60,
|
||||
projectSn: '',
|
||||
projectSn: store.sn,
|
||||
}
|
||||
if(BASEURL == 'http://182.90.224.237:51234' || BASEURL == 'http://192.168.34.221:9111') data.projectSn = 'BD3137498CB84BF0969979E0342CDBCA'
|
||||
if(BASEURL == 'http://42.180.188.17:9809' || BASEURL == 'http://42.180.188.17:11211') data.projectSn = '471568F45EB247A3912A0D10EA1BFCEB'
|
||||
qualityPageApi(data).then(res => {
|
||||
qualityPageApi(data,true).then(res => {
|
||||
if(res.success){
|
||||
qualityData.value = res.result.page.records
|
||||
}
|
||||
@ -70,7 +68,7 @@ async function getQualityData() {
|
||||
|
||||
//父组件调用需要无感刷新的方法
|
||||
const centerBottomRightMethod = async () => {
|
||||
|
||||
getQualityData()
|
||||
}
|
||||
//将方法暴露给父组件
|
||||
defineExpose({
|
||||
|
||||
@ -76,17 +76,15 @@ const showVideo = ref(2 as any);
|
||||
const showChangeVideo = ref(false as any);
|
||||
// 修改了视频配置
|
||||
const updateConfig = () => {
|
||||
configWeekVideoListFn(true);
|
||||
configWeekVideoListFn();
|
||||
};
|
||||
// 获取一周的配置视频数据
|
||||
const configWeekVideoListFn = async (showLoading: boolean) => {
|
||||
const configWeekVideoListFn = async () => {
|
||||
let data = {
|
||||
projectSn: '',
|
||||
projectSn: store.sn,
|
||||
type: 3
|
||||
}
|
||||
if(BASEURL == 'http://182.90.224.237:51234' || BASEURL == 'http://192.168.34.221:9111') data.projectSn = 'BD3137498CB84BF0969979E0342CDBCA'
|
||||
if(BASEURL == 'http://42.180.188.17:9809' || BASEURL == 'http://42.180.188.17:11211') data.projectSn = '471568F45EB247A3912A0D10EA1BFCEB'
|
||||
const res: any = await configWeekVideoListApi(data, showLoading);
|
||||
const res: any = await configWeekVideoListApi(data, true);
|
||||
if (res.result) {
|
||||
// 星期参数
|
||||
const today = moment().format("d");
|
||||
|
||||
@ -57,19 +57,22 @@ const projectData = ref(null as any);
|
||||
const remainDays = ref('0' as any)
|
||||
async function countTaskProgress() {
|
||||
//获取企业Id
|
||||
await getEnterpriseIdApi().then(res => {
|
||||
if(res.success){
|
||||
// await getEnterpriseIdApi().then(res => {
|
||||
// if(res.success){
|
||||
let data = {
|
||||
enterpriseId: res.result.id,
|
||||
projectSn: '',
|
||||
// enterpriseId: res.result.id,
|
||||
// projectSn: '',
|
||||
projectSn: store.sn,
|
||||
}
|
||||
if(BASEURL == 'http://182.90.224.237:51234' || BASEURL == 'http://192.168.34.221:9111') data.projectSn = 'BD3137498CB84BF0969979E0342CDBCA'
|
||||
if(BASEURL == 'http://42.180.188.17:9809' || BASEURL == 'http://42.180.188.17:11211') data.projectSn = '471568F45EB247A3912A0D10EA1BFCEB'
|
||||
countTaskProgressApi(data).then(res2 => {
|
||||
remainDays.value = res2.result.enterpriseSurplusDayNum.toString()
|
||||
// if(BASEURL == 'http://182.90.224.237:51234' || BASEURL == 'http://192.168.34.221:9111') data.projectSn = 'BD3137498CB84BF0969979E0342CDBCA'
|
||||
// if(BASEURL == 'http://42.180.188.17:9809' || BASEURL == 'http://42.180.188.17:11211') data.projectSn = '471568F45EB247A3912A0D10EA1BFCEB'
|
||||
countTaskProgressApi(data,true).then(res => {
|
||||
if(res.success){
|
||||
remainDays.value = res.result.enterpriseSurplusDayNum.toString()
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
// }
|
||||
// });
|
||||
};
|
||||
|
||||
const leftTopRef = ref();
|
||||
@ -85,14 +88,14 @@ const callChildFn = async () => {
|
||||
excuteCount.value++
|
||||
// console.log('第 '+ excuteCount.value +' 次执行')
|
||||
nextTick( async ()=>{
|
||||
// leftTopRef.value.leftTopMethod()
|
||||
// leftCenterRef.value.leftCenterMethod()
|
||||
// leftBottomRef.value.leftBottomMethod()
|
||||
leftTopRef.value.leftTopMethod()
|
||||
leftCenterRef.value.leftCenterMethod()
|
||||
leftBottomRef.value.leftBottomMethod()
|
||||
// centerTopRef.value.centerTopMethod()
|
||||
// centerBottomLeftRef.value.centerBottomLeftMethod()
|
||||
// centerBottomRightRef.value.centerBottomRightMethod()
|
||||
// rightTopRef.value.rightTopMethod()
|
||||
// rightBottomRef.value.rightBottomMethod()
|
||||
centerBottomLeftRef.value.centerBottomLeftMethod()
|
||||
centerBottomRightRef.value.centerBottomRightMethod()
|
||||
rightTopRef.value.rightTopMethod()
|
||||
rightBottomRef.value.rightBottomMethod()
|
||||
})
|
||||
}
|
||||
//定时器
|
||||
|
||||
@ -33,15 +33,13 @@ const outPie = ref([
|
||||
// {name:'高处作业',value:0,doing:0,per:0},{name:'断路作业',value:0,doing:0,per:0},{name:'吊装安全',value:0,doing:0,per:0},{name:'受限空间',value:0,doing:0,per:0},
|
||||
// {name:'动火作业',value:0,doing:0,per:0},{name:'盲板抽堵',value:0,doing:0,per:0},{name:'动土作业',value:0,doing:0,per:0},{name:'临时用电',value:0,doing:0,per:0},
|
||||
] as any);
|
||||
|
||||
const tempData = ref([]as any)
|
||||
//获取特殊作业情况信息
|
||||
async function getSpecialInfo() {
|
||||
let data = {
|
||||
projectSn: store.sn
|
||||
};
|
||||
// if(BASEURL == 'http://182.90.224.237:51234' || BASEURL == 'http://192.168.34.221:9111') data.projectSn = 'BD3137498CB84BF0969979E0342CDBCA'
|
||||
// if(BASEURL == 'http://42.180.188.17:9809' || BASEURL == 'http://42.180.188.17:11211') data.projectSn = '471568F45EB247A3912A0D10EA1BFCEB'
|
||||
await getStatBySpecialApi(data).then(res => {
|
||||
await getStatBySpecialApi(data,true).then(res => {
|
||||
if (res.success) {
|
||||
if (res.result) {
|
||||
//内饼图
|
||||
@ -53,8 +51,13 @@ async function getSpecialInfo() {
|
||||
}
|
||||
//外饼图
|
||||
outPie.value = res.result.groupByType;
|
||||
tempData.value = []
|
||||
outPie.value.map(item => {
|
||||
item.value = item.num;
|
||||
item.value = Number(item.num);
|
||||
tempData.value.push({
|
||||
label:item.name,
|
||||
value:item.num
|
||||
})
|
||||
});
|
||||
drawPie();
|
||||
}
|
||||
@ -173,6 +176,8 @@ function drawPie() {
|
||||
}
|
||||
},
|
||||
data: outPie.value
|
||||
// data: tempData.value
|
||||
// data: [{name:123,value:123},{name:456,value:0}]
|
||||
}
|
||||
]
|
||||
};
|
||||
@ -182,7 +187,8 @@ function drawPie() {
|
||||
|
||||
//测试方法,对接口时改成相应的方法注释
|
||||
const leftBottomMethod = async () => {
|
||||
console.log("leftBottomMethod");
|
||||
// console.log("leftBottomMethod");
|
||||
getSpecialInfo()
|
||||
};
|
||||
//将方法暴露给父组件
|
||||
defineExpose({
|
||||
|
||||
@ -37,30 +37,24 @@ const isData = ref(false as any)
|
||||
//获取AI报警情况信息
|
||||
const alarmInfo = ref({} as any)
|
||||
async function getAlarmInfo() {
|
||||
//获取企业Id
|
||||
await getEnterpriseIdApi().then(res => {
|
||||
if(res.success){
|
||||
let data = {
|
||||
pageNo: 1,
|
||||
pageSize: 1,
|
||||
enterpriseId: res.result.id,
|
||||
isPushed: 1,
|
||||
projectSn: '',
|
||||
// pageNo: 1,
|
||||
// pageSize: 1,
|
||||
// isPushed: 1,
|
||||
// projectSn: store.sn,
|
||||
}
|
||||
if(BASEURL == 'http://182.90.224.237:51234' || BASEURL == 'http://192.168.34.221:9111') data.projectSn = 'BD3137498CB84BF0969979E0342CDBCA'
|
||||
if(BASEURL == 'http://42.180.188.17:9809' || BASEURL == 'http://42.180.188.17:11211') data.projectSn = '471568F45EB247A3912A0D10EA1BFCEB'
|
||||
selectAIPageListApi(data).then(res2 => {
|
||||
if(res2.success){
|
||||
if(res2.result.records && res2.result.records.length !== 0){
|
||||
alarmInfo.value = res2.result.records[0]
|
||||
selectAIPageListApi(data,true).then(res => {
|
||||
if(res.success){
|
||||
// if(res.result.records && res.result.records.length !== 0){
|
||||
if(res.result){
|
||||
// alarmInfo.value = res.result.records[0]
|
||||
alarmInfo.value = res.result
|
||||
isData.value = true
|
||||
}else{
|
||||
isData.value = false
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
//父组件调用需要无感刷新的方法
|
||||
|
||||
@ -1,36 +1,76 @@
|
||||
<template>
|
||||
<div class="leftTop">
|
||||
<Card title="承包商项目信息">
|
||||
<div class="mainContainer">
|
||||
<div>承包商名称:{{cbsProjectInfo.cbsName || '--'}}</div>
|
||||
<div class="lineBox">
|
||||
<div class="boxInner1">施工区域:{{cbsProjectInfo.projectBuildArea || '--'}}</div>
|
||||
<div class="boxInner2">工程状态:{{cbsProjectInfo.bulidStatus == 0 ? '未开工' : cbsProjectInfo.bulidStatus == 1 ? '在建' :
|
||||
cbsProjectInfo.bulidStatus == 2 ? '停工' : cbsProjectInfo.bulidStatus == 3 ? '验收' : cbsProjectInfo.bulidStatus == 4 ? '完工' : '--'}}</div>
|
||||
</div>
|
||||
<div class="lineBox">
|
||||
<div class="boxInner1">项目编号:{{cbsProjectInfo.projectNumber || '--'}}</div>
|
||||
<div class="boxInner2">建筑面积:<span v-if="cbsProjectInfo.projectAcreage">{{cbsProjectInfo.projectAcreage + '㎡'}}</span><span v-else>--</span></div>
|
||||
</div>
|
||||
<div class="lineBox">
|
||||
<div class="boxInner1">项目经理:{{cbsProjectInfo.projectManage || '--'}}</div>
|
||||
<div class="boxInner2">联系电话:{{cbsProjectInfo.projectTel || '--'}}</div>
|
||||
</div>
|
||||
<div class="lineBox">
|
||||
<div class="boxInner1">项目类型:{{cbsProjectInfo.cbsProjectTypeName || '--'}}</div>
|
||||
<div class="boxInner2">工程类别:{{cbsProjectInfo.projectTypeName || '--'}}</div>
|
||||
</div>
|
||||
<div class="lineBox">
|
||||
<div class="boxInner1">开工日期:{{cbsProjectInfo.startWorkDate || '--'}}</div>
|
||||
<div class="boxInner2">竣工日期:{{cbsProjectInfo.completionDate || '--'}}</div>
|
||||
</div>
|
||||
<div class="lineBox">
|
||||
<div class="boxInner1">施工阶段:{{cbsProjectInfo.constructionStageName || '--'}}</div>
|
||||
<div class="boxInner2">结构类型:{{cbsProjectInfo.structureTypeName || '--'}}</div>
|
||||
</div>
|
||||
<!-- <div class="lineBox">
|
||||
<div class="boxInner1">投资总额:12457万元</div><div class="boxInner2">合同总额:230万元</div>
|
||||
</div> -->
|
||||
<el-carousel style="width: 110%;transform:translateX(-4.5%) translateY(-5%);" :autoplay="true" :interval="10000" indicator-position="none"
|
||||
v-if="cbsProjectInfo && cbsProjectInfo.length>0">
|
||||
<el-carousel-item style="height:100%" v-for="(item,i) in cbsProjectInfo" :key="i">
|
||||
<div class="mainContainer" style="transform:translateX(5%) translateY(5%)">
|
||||
<div class="lineBox">
|
||||
<span class="aLine" style="width:auto;margin-left: 5%;">承包商名称:</span>
|
||||
<span class="cLine">{{item.projectEnterprise.cbsName || '--'}}</span>
|
||||
</div>
|
||||
<div class="lineBox">
|
||||
<div class="boxInner1">
|
||||
<span class="aLine">项目编号:</span>
|
||||
<span class="cLine">{{item.projectEnterprise.projectNumber || '--'}}</span></div>
|
||||
<div class="boxInner2">
|
||||
<span class="aLine">建筑面积:</span>
|
||||
<span v-if="item.projectEnterprise.projectAcreage"><span class="cLine">{{item.projectEnterprise.projectAcreage + '㎡'}}</span></span>
|
||||
<span v-else>--</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="lineBox">
|
||||
<div class="boxInner1">
|
||||
<span class="aLine">项目经理:</span>
|
||||
<span class="cLine">{{item.projectEnterprise.projectManage || '--'}}</span></div>
|
||||
<div class="boxInner2">
|
||||
<span class="aLine">联系电话:</span>
|
||||
<span class="cLine">{{item.projectEnterprise.projectTel || '--'}}</span></div>
|
||||
</div>
|
||||
<div class="lineBox">
|
||||
<div class="boxInner1">
|
||||
<span class="aLine">项目类型:</span>
|
||||
<span class="cLine">{{item.projectEnterprise.cbsProjectTypeName || '--'}}</span></div>
|
||||
<div class="boxInner2">
|
||||
<span class="aLine">工程类别:</span>
|
||||
<span class="cLine">{{item.projectEnterprise.projectTypeName || '--'}}</span></div>
|
||||
</div>
|
||||
<div class="lineBox">
|
||||
<div class="boxInner1">
|
||||
<span class="aLine">开工日期:</span>
|
||||
<span class="cLine">{{item.projectEnterprise.startWorkDate || '--'}}</span></div>
|
||||
<div class="boxInner2">
|
||||
<span class="aLine">竣工日期:</span>
|
||||
<span class="cLine">{{item.projectEnterprise.completionDate || '--'}}</span></div>
|
||||
</div>
|
||||
<div class="lineBox">
|
||||
<div class="boxInner1">
|
||||
<span class="aLine">施工阶段:</span>
|
||||
<span class="cLine">{{item.projectEnterprise.constructionStageName || '--'}}</span></div>
|
||||
<div class="boxInner2">
|
||||
<span class="aLine">结构类型:</span>
|
||||
<span class="cLine">{{item.projectEnterprise.structureTypeName || '--'}}</span></div>
|
||||
</div>
|
||||
<div class="lineBox">
|
||||
<!-- <div class="boxInner1">
|
||||
<span class="aLine">施工区域:</span>
|
||||
<span class="cLine">{{item.projectEnterprise.projectBuildArea || '--'}}</span>
|
||||
</div> -->
|
||||
<div class="boxInner1">
|
||||
<span class="aLine">工程状态:</span>
|
||||
<span class="cLine">{{item.projectEnterprise.bulidStatus == 0 ? '未开工' :
|
||||
item.projectEnterprise.bulidStatus == 1 ? '在建' :
|
||||
item.projectEnterprise.bulidStatus == 2 ? '停工' :
|
||||
item.projectEnterprise.bulidStatus == 3 ? '验收' :
|
||||
item.projectEnterprise.bulidStatus == 4 ? '完工' : '--'}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-carousel-item>
|
||||
</el-carousel>
|
||||
<div class="not-data" v-else>
|
||||
<img src="@/assets/images/noData.png" alt="" />
|
||||
<p>暂无数据</p>
|
||||
</div>
|
||||
</Card>
|
||||
</div>
|
||||
@ -45,28 +85,44 @@ import { COMPANY } from "@/config/config";
|
||||
import {
|
||||
getEnterpriseIdApi,
|
||||
getEnterpriseInfoByIdApi,
|
||||
countProjectEnterpriseApi,
|
||||
} from "@/api/modules/agjtLiveApi";
|
||||
const store = GlobalStore();
|
||||
const BASEURL = import.meta.env.VITE_API_URL
|
||||
|
||||
const cbsProjectInfo = ref({} as any)
|
||||
async function getCbsProjectInfo() {
|
||||
console.log("BASEURL===>",BASEURL)
|
||||
//获取企业Id
|
||||
await getEnterpriseIdApi().then(res => {
|
||||
let data = {
|
||||
page:1,
|
||||
pageSize:999,
|
||||
projectSn:store.sn,
|
||||
isCountMainEnterprise:1
|
||||
}
|
||||
await countProjectEnterpriseApi(data,true).then(res => {
|
||||
if(res.success){
|
||||
let data = {
|
||||
enterpriseId: res.result.id,
|
||||
projectSn: '',
|
||||
if(res.result.records){
|
||||
cbsProjectInfo.value = res.result.records
|
||||
}
|
||||
if(BASEURL == 'http://182.90.224.237:51234' || BASEURL == 'http://192.168.34.221:9111') data.projectSn = 'BD3137498CB84BF0969979E0342CDBCA'
|
||||
if(BASEURL == 'http://42.180.188.17:9809' || BASEURL == 'http://42.180.188.17:11211') data.projectSn = '471568F45EB247A3912A0D10EA1BFCEB'
|
||||
getEnterpriseInfoByIdApi(data).then(res2 => {
|
||||
cbsProjectInfo.value = res2.result.projectEnterprise
|
||||
})
|
||||
}
|
||||
});
|
||||
};
|
||||
// async function getCbsProjectInfo() {
|
||||
// console.log("BASEURL===>",BASEURL)
|
||||
// //获取企业Id
|
||||
// await getEnterpriseIdApi().then(res => {
|
||||
// if(res.success){
|
||||
// let data = {
|
||||
// enterpriseId: res.result.id,
|
||||
// projectSn: '',
|
||||
// }
|
||||
// if(BASEURL == 'http://182.90.224.237:51234' || BASEURL == 'http://192.168.34.221:9111') data.projectSn = 'BD3137498CB84BF0969979E0342CDBCA'
|
||||
// if(BASEURL == 'http://42.180.188.17:9809' || BASEURL == 'http://42.180.188.17:11211') data.projectSn = '471568F45EB247A3912A0D10EA1BFCEB'
|
||||
// getEnterpriseInfoByIdApi(data).then(res2 => {
|
||||
// cbsProjectInfo.value = res2.result.projectEnterprise
|
||||
// })
|
||||
// }
|
||||
// });
|
||||
// };
|
||||
|
||||
//父组件调用需要无感刷新的方法
|
||||
const leftTopMethod = async () => {
|
||||
@ -82,14 +138,44 @@ onMounted( async () => {
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.not-data {
|
||||
top: 38%;
|
||||
width: 30%;
|
||||
left: 35%;
|
||||
position: absolute;
|
||||
text-align: center;
|
||||
img {
|
||||
width: 50%;
|
||||
}
|
||||
p {
|
||||
color: #fff;
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
.cLine{
|
||||
// display: flex;
|
||||
flex-direction: row;
|
||||
width:60%;
|
||||
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
.aLine{
|
||||
width:28%;
|
||||
}
|
||||
.leftTop {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
.mainContainer{
|
||||
width: calc(100% - 20px);
|
||||
height: calc(100% - 20px);
|
||||
height: calc(80% - 20px);
|
||||
// height: 320px;
|
||||
// background-color: #fff;
|
||||
color: #fff;
|
||||
padding: 10px;
|
||||
padding: 10px 15px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-around;
|
||||
@ -99,12 +185,15 @@ onMounted( async () => {
|
||||
height: 18px;
|
||||
display: flex;
|
||||
.boxInner1{
|
||||
// width: 60%;
|
||||
margin-left: 5%;
|
||||
width: 50%;
|
||||
display: flex;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
.boxInner2{
|
||||
// width: 40%;
|
||||
width: 50%;
|
||||
width: 45%;
|
||||
display: flex;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -67,11 +67,9 @@ async function getSecurityData() {
|
||||
page: 1,
|
||||
pageSize: 9999,
|
||||
status: 60,
|
||||
projectSn: '',
|
||||
projectSn: store.sn,
|
||||
}
|
||||
if(BASEURL == 'http://182.90.224.237:51234' || BASEURL == 'http://192.168.34.221:9111') data.projectSn = 'BD3137498CB84BF0969979E0342CDBCA'
|
||||
if(BASEURL == 'http://42.180.188.17:9809' || BASEURL == 'http://42.180.188.17:11211') data.projectSn = '471568F45EB247A3912A0D10EA1BFCEB'
|
||||
await securityPageApi(data).then(res => {
|
||||
await securityPageApi(data,true).then(res => {
|
||||
if(res.success){
|
||||
securityData.value = res.result.page.records
|
||||
}
|
||||
@ -80,7 +78,7 @@ async function getSecurityData() {
|
||||
|
||||
//测试方法,对接口时改成相应的方法注释
|
||||
const rightBottomMethod = async () => {
|
||||
console.log("rightBottomMethod")
|
||||
getSecurityData()
|
||||
}
|
||||
//将方法暴露给父组件
|
||||
defineExpose({
|
||||
|
||||
@ -60,13 +60,8 @@ async function getEmergencyDataData() {
|
||||
page: 1,
|
||||
pageSize: 9999,
|
||||
// inDispositionStatus: '', // 数据类型:字符串,1:待救援、2:救援中、3:已救援
|
||||
projectSn: '',
|
||||
}
|
||||
if(BASEURL == 'http://182.90.224.237:51234' || BASEURL == 'http://192.168.34.221:9111') data.projectSn = 'BD3137498CB84BF0969979E0342CDBCA'
|
||||
if(BASEURL == 'http://42.180.188.17:9809' || BASEURL == 'http://42.180.188.17:11211') data.projectSn = '471568F45EB247A3912A0D10EA1BFCEB'
|
||||
await emergencyPageApi({
|
||||
|
||||
}).then(res => {
|
||||
await emergencyPageApi(data,true).then(res => {
|
||||
if(res.success){
|
||||
emergencyData.value = res.result.records
|
||||
}
|
||||
@ -93,7 +88,7 @@ function downloadReport(row){
|
||||
|
||||
//测试方法,对接口时改成相应的方法注释
|
||||
const rightTopMethod = async () => {
|
||||
console.log("rightTopMethod")
|
||||
getEmergencyDataData()
|
||||
}
|
||||
//将方法暴露给父组件
|
||||
defineExpose({
|
||||
|
||||
@ -119,8 +119,8 @@ function goBackend(item: any){
|
||||
if(item.url != ''){
|
||||
// window.location.replace('http://localhost:8080/#/login?command=1&pathItem='+ item.url +'&token=' + store.token);
|
||||
console.log(BASEURL)
|
||||
// window.open(BASEURL + '/#/login?command=1&pathItem='+ item.url +'&token=' + store.token, '_blank');
|
||||
window.open('http://10.0.1.77:8080' + '/#/login?command=1&pathItem='+ item.url +'&token=' + store.token, '_blank');
|
||||
window.open(BASEURL + '/#/login?command=1&pathItem='+ item.url +'&token=' + store.token, '_blank');
|
||||
// window.open('http://10.0.1.77:8080' + '/#/login?command=1&pathItem='+ item.url +'&token=' + store.token, '_blank');
|
||||
}
|
||||
}
|
||||
const show = ref(false as any)
|
||||
|
||||
@ -122,7 +122,7 @@ const login = (formEl: FormInstance | undefined) => {
|
||||
// router.push("/commandScreen");
|
||||
router.push("/agjtProjectKanban");
|
||||
} else if (COMPANY === "agjtLive") {
|
||||
if (![11].includes(result.accountType)) {
|
||||
if (![6].includes(result.accountType)) {
|
||||
ElMessage({
|
||||
message: "账号类型不匹配",
|
||||
type: "warning"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user