Merge branch 'shenzhen-dev' of http://139.9.66.234:18023/yjlHub/zhgdlarge into shenzhen-dev
This commit is contained in:
commit
f434c4652b
@ -9,11 +9,15 @@ export const getMemberJobStatusApi = (params: {}) => {
|
||||
};
|
||||
// 检查人
|
||||
export const getInspectManStatusApi = (params: {}) => {
|
||||
return http.post(BASEURL + `/xmgl/xzSecurityQualityInspectionRecord/statsByInspectMan`, params, { headers: { noLoading: true } });
|
||||
return http.post(BASEURL + `/xmgl/xzSecurityQualityInspectionRecord/statsByInspectMan`, params, {
|
||||
headers: { noLoading: true }
|
||||
});
|
||||
};
|
||||
// 按分包单位分析
|
||||
export const getEnterpriseStatusApi = (params: {}) => {
|
||||
return http.post(BASEURL + `/xmgl/xzSecurityQualityInspectionRecord/statsByEnterprise`, params, { headers: { noLoading: true } });
|
||||
return http.post(BASEURL + `/xmgl/xzSecurityQualityInspectionRecord/statsByEnterprise`, params, {
|
||||
headers: { noLoading: true }
|
||||
});
|
||||
};
|
||||
|
||||
// 危大工程弹窗
|
||||
@ -49,17 +53,20 @@ export const getProgressContentApi = (params: {}) => {
|
||||
return http.get(BASEURL + `/xmgl/xzTaskProgressContent/page`, params, { headers: { noLoading: true } });
|
||||
};
|
||||
|
||||
|
||||
// 风险统计弹窗
|
||||
// 顶部数据
|
||||
export const getStatisticsNumDataApi = (params: {}) => {
|
||||
return http.post(BASEURL + `/xmgl/xzSecurityQualityInspectionRecord/selectQualityStatisticsNum`, params, { headers: { noLoading: true } });
|
||||
return http.post(BASEURL + `/xmgl/xzSecurityQualityInspectionRecord/selectQualityStatisticsNum`, params, {
|
||||
headers: { noLoading: true }
|
||||
});
|
||||
};
|
||||
|
||||
// 安全隐患
|
||||
// 顶部数据
|
||||
export const getQualityStatisticsNumDataApi = (params: {}) => {
|
||||
return http.post(BASEURL + `/xmgl/xzSecurityQualityInspectionRecord/selectQualityStatisticsNumList`, params, { headers: { noLoading: true } });
|
||||
return http.post(BASEURL + `/xmgl/xzSecurityQualityInspectionRecord/selectQualityStatisticsNumList`, params, {
|
||||
headers: { noLoading: true }
|
||||
});
|
||||
};
|
||||
// 获取分包单位
|
||||
export const getProjectEnterpriseApi = (params: {}) => {
|
||||
@ -86,35 +93,41 @@ export const getAlarmTypeCountApi = (params: {}) => {
|
||||
};
|
||||
// 顶部数据分页接口
|
||||
export const getAlarmTypeCountPageApi = (params: {}) => {
|
||||
return http.post(BASEURL + `/xmgl/aiStatistic/selectAiAnalyseHardWareAlarmTypeCountPage`, params, { headers: { noLoading: true } });
|
||||
return http.post(BASEURL + `/xmgl/aiStatistic/selectAiAnalyseHardWareAlarmTypeCountPage`, params, {
|
||||
headers: { noLoading: true }
|
||||
});
|
||||
};
|
||||
|
||||
// centerTop底部按钮显示数据接口
|
||||
export const getStatsDirectorateBigScreenApi = (params: {}) => {
|
||||
return http.post(BASEURL + `/xmgl/xzSecurityQualityInspectionRecord/statsDirectorateBigScreen`, params, { headers: { noLoading: true } });
|
||||
export const getStatsDirectorateBigScreenApi = (params: {}, showLoading: boolean) => {
|
||||
return http.post(BASEURL + `/xmgl/xzSecurityQualityInspectionRecord/statsDirectorateBigScreen`, params, {
|
||||
headers: { noLoading: showLoading }
|
||||
});
|
||||
};
|
||||
// centerTop评分数据接口
|
||||
export const getStatScoreApi = (params: {}) => {
|
||||
return http.get(BASEURL + `/xmgl/xzSecurityQualityInspectionRecord/getStatScore`, params, { headers: { noLoading: true } });
|
||||
export const getStatScoreApi = (params: {}, showLoading: boolean) => {
|
||||
return http.get(BASEURL + `/xmgl/xzSecurityQualityInspectionRecord/getStatScore`, params, { headers: { noLoading: showLoading } });
|
||||
};
|
||||
|
||||
// 项目人员考勤
|
||||
// 出勤人员/考勤日环比
|
||||
export const getPersonTypeAndEduStatisticsApi = (params: {}) => {
|
||||
return http.post(BASEURL + `/xmgl/workerInfo/selectPersonTypeAndEduStatistics`, params, { headers: { noLoading: true } });
|
||||
export const getPersonTypeAndEduStatisticsApi = (params: {}, showLoading: boolean) => {
|
||||
return http.post(BASEURL + `/xmgl/workerInfo/selectPersonTypeAndEduStatistics`, params, {
|
||||
headers: { noLoading: showLoading }
|
||||
});
|
||||
};
|
||||
// 总包出勤情况分析
|
||||
export const queryAttendanceOfEachCompanyApi = (params: {}) => {
|
||||
return http.get(BASEURL + `/xmgl/workerAttendance/queryAttendanceOfEachCompany`, params, { headers: { noLoading: true } });
|
||||
export const queryAttendanceOfEachCompanyApi = (params: {}, showLoading: boolean) => {
|
||||
return http.get(BASEURL + `/xmgl/workerAttendance/queryAttendanceOfEachCompany`, params, {
|
||||
headers: { noLoading: showLoading }
|
||||
});
|
||||
};
|
||||
// 进度情况分析
|
||||
// 项目总进度/项目剩余天数
|
||||
export const getCountTaskProgressApi = (params: {}) => {
|
||||
return http.post(BASEURL + `/xmgl/xzTaskProgress/countTaskProgress`, params, { headers: { noLoading: true } });
|
||||
export const getCountTaskProgressApi = (params: {}, showLoading: boolean) => {
|
||||
return http.post(BASEURL + `/xmgl/xzTaskProgress/countTaskProgress`, params, { headers: { noLoading: showLoading } });
|
||||
};
|
||||
// 总包进度列表
|
||||
export const queryCountEnterpriseApi = (params: {}) => {
|
||||
return http.post(BASEURL + `/xmgl/xzTaskProgressTotal/countEnterprise`, params, { headers: { noLoading: true } });
|
||||
export const queryCountEnterpriseApi = (params: {}, showLoading: boolean) => {
|
||||
return http.post(BASEURL + `/xmgl/xzTaskProgressTotal/countEnterprise`, params, { headers: { noLoading: showLoading } });
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -3,8 +3,8 @@ import http from "@/api";
|
||||
const BASEURL = import.meta.env.VITE_API_URL;
|
||||
|
||||
// 项目信息
|
||||
export const getProjectDetail = (params: {}) => {
|
||||
return http.post(BASEURL + `/xmgl/project/getProjectInfoBySn`, params, { headers: { noLoading: true } });
|
||||
export const getProjectDetail = (params: {}, showLoading: boolean) => {
|
||||
return http.post(BASEURL + `/xmgl/project/getProjectInfoBySn`, params, { headers: { noLoading: showLoading } });
|
||||
};
|
||||
|
||||
// 统计企业下项目各人员统计
|
||||
@ -40,13 +40,13 @@ export const eidtProjectShowConfig = (params: {}) => {
|
||||
};
|
||||
|
||||
// 查询效果图
|
||||
export const queryBySnData = (params: {}) => {
|
||||
return http.post(BASEURL + `/xmgl/projectShowConfig/queryBySn`, params, { headers: { noLoading: true } });
|
||||
export const queryBySnData = (params: {}, showLoading: boolean) => {
|
||||
return http.post(BASEURL + `/xmgl/projectShowConfig/queryBySn`, params, { headers: { noLoading: showLoading } });
|
||||
};
|
||||
|
||||
// 里程碑字典
|
||||
export const getStageOption = (params: {}) => {
|
||||
return http.get(BASEURL + `/xmgl/dictionaryItem/list`, params, { headers: { noLoading: true } });
|
||||
export const getStageOption = (params: {}, showLoading: boolean) => {
|
||||
return http.get(BASEURL + `/xmgl/dictionaryItem/list`, params, { headers: { noLoading: showLoading } });
|
||||
};
|
||||
|
||||
//甘特图-列表查询任务进度
|
||||
@ -55,12 +55,16 @@ export const getParentChildTaskListApi = (params: {}) => {
|
||||
};
|
||||
|
||||
// 隐患统计智能分析
|
||||
export const getSelectQualityStatisticsNumApi = (params: {}) => {
|
||||
return http.post(BASEURL + `/xmgl/xzSecurityQualityInspectionRecord/selectQualityStatisticsNum`, params);
|
||||
export const getSelectQualityStatisticsNumApi = (params: {}, showLoading: boolean) => {
|
||||
return http.post(BASEURL + `/xmgl/xzSecurityQualityInspectionRecord/selectQualityStatisticsNum`, params, {
|
||||
headers: { noLoading: showLoading }
|
||||
});
|
||||
};
|
||||
|
||||
export const getCountDangerLevelApi = (params: {}) => {
|
||||
return http.post(BASEURL + `/xmgl/xzSecurityQualityInspectionRecord/countDangerLevel`, params);
|
||||
export const getCountDangerLevelApi = (params: {}, showLoading: boolean) => {
|
||||
return http.post(BASEURL + `/xmgl/xzSecurityQualityInspectionRecord/countDangerLevel`, params, {
|
||||
headers: { noLoading: showLoading }
|
||||
});
|
||||
};
|
||||
|
||||
// 分包单位统计
|
||||
@ -88,36 +92,42 @@ export const getXzSecurityQualitylnspectionRecordSuperviseApi = (params: {}) =>
|
||||
};
|
||||
|
||||
// 隐患智能分析
|
||||
export const getNoticeListApi = (params: {}) => {
|
||||
return http.post(BASEURL + `/xmgl/notice/list`, params);
|
||||
export const getNoticeListApi = (params: {}, showLoading: boolean) => {
|
||||
return http.post(BASEURL + `/xmgl/notice/list`, params, { headers: { noLoading: showLoading } });
|
||||
};
|
||||
|
||||
// 安全问题统计数据|列表
|
||||
export const getInspectionSelectQualityApi = (params: {}) => {
|
||||
return http.post(BASEURL + `/xmgl/xzSecurityQualityInspectionRecord/selectQualityStatisticsNum`, params);
|
||||
export const getInspectionSelectQualityApi = (params: {}, showLoading: boolean) => {
|
||||
return http.post(BASEURL + `/xmgl/xzSecurityQualityInspectionRecord/selectQualityStatisticsNum`, params, {
|
||||
headers: { noLoading: showLoading }
|
||||
});
|
||||
};
|
||||
export const getInspectionSelectQualityListApi = (params: {}) => {
|
||||
return http.post(BASEURL + `/xmgl/xzSecurityQualityInspectionRecord/selectQualityStatisticsNumList`, params);
|
||||
};
|
||||
|
||||
// 风险走势图
|
||||
export const getInspectionRiskChartApi = (params: {}) => {
|
||||
return http.post(BASEURL + `/xmgl/xzSecurityQualityInspectionRecord/riskChart`, params);
|
||||
export const getInspectionRiskChartApi = (params: {}, showLoading: boolean) => {
|
||||
return http.post(BASEURL + `/xmgl/xzSecurityQualityInspectionRecord/riskChart`, params, {
|
||||
headers: { noLoading: showLoading }
|
||||
});
|
||||
};
|
||||
|
||||
// 特殊作业
|
||||
export const getSpecialCountAllSpecialApi = (params: {}) => {
|
||||
return http.post(BASEURL + `/xmgl/xzSpecial/countAllSpecial`, params);
|
||||
export const getSpecialCountAllSpecialApi = (params: {}, showLoading: boolean) => {
|
||||
return http.post(BASEURL + `/xmgl/xzSpecial/countAllSpecial`, params, { headers: { noLoading: showLoading } });
|
||||
};
|
||||
|
||||
// 应急类型统计(今日)
|
||||
export const getCountEmergencyTypedApi = (params: {}) => {
|
||||
return http.post(BASEURL + `/xmgl/xzEmergencyRecord/countEmergencyTyped`, params);
|
||||
export const getCountEmergencyTypedApi = (params: {}, showLoading: boolean) => {
|
||||
return http.post(BASEURL + `/xmgl/xzEmergencyRecord/countEmergencyTyped`, params, { headers: { noLoading: showLoading } });
|
||||
};
|
||||
|
||||
// 应急处置(近七日)
|
||||
export const getCountAlarmNumByEnterpriseApi = (params: {}) => {
|
||||
return http.post(BASEURL + `/xmgl/xzEmergencyRecord/countAlarmNumByEnterprise`, params);
|
||||
export const getCountAlarmNumByEnterpriseApi = (params: {}, showLoading: boolean) => {
|
||||
return http.post(BASEURL + `/xmgl/xzEmergencyRecord/countAlarmNumByEnterprise`, params, {
|
||||
headers: { noLoading: showLoading }
|
||||
});
|
||||
};
|
||||
|
||||
// 获取应急物资
|
||||
|
||||
@ -20,6 +20,6 @@ export const getSafeHatSessionApi = (params: {}) => {
|
||||
};
|
||||
|
||||
// 现场视频
|
||||
export const selectLiveVideoListApi = (params: {}) => {
|
||||
return http.get(BASEURL + `/xmgl/project/getProjectExtendInfo`, params);
|
||||
export const selectLiveVideoListApi = (params: {}, showLoading: boolean) => {
|
||||
return http.get(BASEURL + `/xmgl/project/getProjectExtendInfo`, params, { headers: { noLoading: showLoading } });
|
||||
};
|
||||
|
||||
@ -159,10 +159,10 @@ let listData = ref([
|
||||
// { header: 'AI报警', type: 3, content: '1#塔吊报警频次较上周增长60%,塔吊间各个设之间的衔接进行全面检查,以防止...', startTime: '2024-04-01', endTime: "2024-04-20" },
|
||||
]);
|
||||
|
||||
const getNoticeList = async () => {
|
||||
const getNoticeList = async (showLoading: boolean) => {
|
||||
// const res: any = await getNoticeListApi({ projectSn: store.sn, type: 10, pageNo: 1, pageSize: 99999, });
|
||||
// const res: any = await getNoticeListApi({ isBigScreen: 1, type: 32 }); // 公告
|
||||
const res: any = await getNoticeListApi({ isBigScreen: 1, type: 31 });
|
||||
const res: any = await getNoticeListApi({ isBigScreen: 1, type: 31 }, showLoading);
|
||||
|
||||
console.log("隐患智能分析", res);
|
||||
listData.value = res.result.records;
|
||||
@ -666,11 +666,11 @@ function getMessCountEchart() {
|
||||
});
|
||||
}
|
||||
|
||||
const getMessCountEchartType = async () => {
|
||||
const getMessCountEchartType = async (showLoading: boolean) => {
|
||||
const res: any = await getCountEmergencyTypedApi({
|
||||
projectSn: store.sn,
|
||||
type: 1
|
||||
});
|
||||
},showLoading);
|
||||
console.log("应急统计图", res);
|
||||
messCountType.value.data = res.result.data.map((item: any) => {
|
||||
return {
|
||||
@ -690,11 +690,11 @@ const getMessCountEchartType = async () => {
|
||||
getMessCountEchart();
|
||||
};
|
||||
|
||||
const getCountAlarmNumByEnterprise = async () => {
|
||||
const getCountAlarmNumByEnterprise = async (showLoading: boolean) => {
|
||||
const res: any = await getCountAlarmNumByEnterpriseApi({
|
||||
projectSn: store.sn,
|
||||
type: 1
|
||||
});
|
||||
},showLoading);
|
||||
dataListAlarm.value = res.result.reduce((prev: any[], item: any) => {
|
||||
console.log("1111", prev);
|
||||
item.list.forEach((ele: any) => {
|
||||
@ -723,16 +723,16 @@ const getCountAlarmNumByEnterprise = async () => {
|
||||
console.log("应急处置统计图", res);
|
||||
getMessEchart();
|
||||
};
|
||||
const setIntervalFn = () => {
|
||||
getNoticeList();
|
||||
getCountAlarmNumByEnterprise();
|
||||
getMessCountEchartType();
|
||||
const setIntervalFn = (showLoading: boolean) => {
|
||||
getNoticeList(showLoading);
|
||||
getCountAlarmNumByEnterprise(showLoading);
|
||||
getMessCountEchartType(showLoading);
|
||||
};
|
||||
onMounted(async () => {
|
||||
setIntervalFn();
|
||||
setIntervalFn(false);
|
||||
// 定时三十秒刷新
|
||||
setInterval(() => {
|
||||
setIntervalFn();
|
||||
setIntervalFn(true);
|
||||
}, 30000);
|
||||
});
|
||||
</script>
|
||||
|
||||
@ -566,10 +566,13 @@ let topText = ref([
|
||||
{ id: 2, title: "宣传视频", isActive: false },
|
||||
{ id: 3, title: "效果图", isActive: false }
|
||||
]);
|
||||
const getVideoList = async () => {
|
||||
let res: any = await selectLiveVideoListApi({
|
||||
projectSn: store.sn
|
||||
});
|
||||
const getVideoList = async (showLoading: boolean) => {
|
||||
let res: any = await selectLiveVideoListApi(
|
||||
{
|
||||
projectSn: store.sn
|
||||
},
|
||||
showLoading
|
||||
);
|
||||
console.log(res, "445566");
|
||||
if (res.result && res.result.extend1) {
|
||||
videoList.value = JSON.parse(res.result.extend1).result.videoList;
|
||||
@ -590,8 +593,8 @@ const getVideoList = async () => {
|
||||
};
|
||||
let statsDirectorateBigScreen = ref({} as any);
|
||||
//获取centerTop底部按钮显示数据
|
||||
const getStatsDirectorateBigScreen = async () => {
|
||||
const res = await getStatsDirectorateBigScreenApi({ projectSn: store.sn });
|
||||
const getStatsDirectorateBigScreen = async (showLoading: boolean) => {
|
||||
const res = await getStatsDirectorateBigScreenApi({ projectSn: store.sn }, showLoading);
|
||||
statsDirectorateBigScreen.value = res.result;
|
||||
};
|
||||
let statScore = ref({
|
||||
@ -603,8 +606,8 @@ let statScore = ref({
|
||||
lastMonthTotal: 0
|
||||
} as any);
|
||||
//获取centerTop底部按钮显示数据
|
||||
const getStatScore = async () => {
|
||||
const res = await getStatScoreApi({ projectSn: store.sn });
|
||||
const getStatScore = async (showLoading: boolean) => {
|
||||
const res = await getStatScoreApi({ projectSn: store.sn }, showLoading);
|
||||
console.log("获取项目信息6666666666666666666666666666666666", res);
|
||||
statScore.value = res.result;
|
||||
|
||||
@ -662,11 +665,14 @@ const uploadSuccess = () => {
|
||||
});
|
||||
};
|
||||
// 查询效果图
|
||||
function getQueryBySnData() {
|
||||
queryBySnData({
|
||||
projectSn: store.sn,
|
||||
showType: 3
|
||||
}).then((res: any) => {
|
||||
function getQueryBySnData(showLoading: boolean) {
|
||||
queryBySnData(
|
||||
{
|
||||
projectSn: store.sn,
|
||||
showType: 3
|
||||
},
|
||||
showLoading
|
||||
).then((res: any) => {
|
||||
console.log(res, "效果图");
|
||||
if (res.result) {
|
||||
picUrl.value = res.result.configValue;
|
||||
@ -688,18 +694,17 @@ function saveOrDeleteVideo(url) {
|
||||
defineExpose({
|
||||
getQueryBySnData
|
||||
});
|
||||
const setIntervalFn = () => {
|
||||
getVideoList();
|
||||
getQueryBySnData();
|
||||
getStatsDirectorateBigScreen();
|
||||
getStatScore();
|
||||
drawAqWater()
|
||||
const setIntervalFn = (showLoading: boolean) => {
|
||||
getVideoList(showLoading);
|
||||
getQueryBySnData(showLoading);
|
||||
getStatsDirectorateBigScreen(showLoading);
|
||||
getStatScore(showLoading);
|
||||
};
|
||||
onMounted(async () => {
|
||||
setIntervalFn();
|
||||
setIntervalFn(false);
|
||||
// 定时三十秒刷新
|
||||
setInterval(() => {
|
||||
setIntervalFn();
|
||||
setIntervalFn(true);
|
||||
}, 30000);
|
||||
});
|
||||
</script>
|
||||
|
||||
@ -159,10 +159,13 @@ let totalPerson = ref("" as any);
|
||||
//考勤日环比
|
||||
let totalPersonRhbRatio = ref("" as any);
|
||||
//获取出勤人员数据/考勤日环比
|
||||
const getPersonTypeAndEduStatistics = async () => {
|
||||
const res: any = await getPersonTypeAndEduStatisticsApi({
|
||||
projectSn: store.sn
|
||||
});
|
||||
const getPersonTypeAndEduStatistics = async (showLoading: boolean) => {
|
||||
const res: any = await getPersonTypeAndEduStatisticsApi(
|
||||
{
|
||||
projectSn: store.sn
|
||||
},
|
||||
showLoading
|
||||
);
|
||||
if (res.result) {
|
||||
console.log("出勤人员数据/考勤日环比", res);
|
||||
totalPerson.value = res.result.personType.attendancePerson.totalPerson;
|
||||
@ -182,11 +185,14 @@ let xData = ref([] as any);
|
||||
let yData = ref([] as any);
|
||||
//获取总包出勤情况分析数据
|
||||
let isFlag = ref(true as any);
|
||||
const queryAttendanceOfEachCompany = async () => {
|
||||
const res: any = await queryAttendanceOfEachCompanyApi({
|
||||
projectSn: store.sn,
|
||||
isCountMainEnterprise: 1
|
||||
});
|
||||
const queryAttendanceOfEachCompany = async (showLoading: boolean) => {
|
||||
const res: any = await queryAttendanceOfEachCompanyApi(
|
||||
{
|
||||
projectSn: store.sn,
|
||||
isCountMainEnterprise: 1
|
||||
},
|
||||
showLoading
|
||||
);
|
||||
if (res.result) {
|
||||
console.log("获取总包出勤情况分析数据", res);
|
||||
projectCompanyWorkTotalList.value = res.result.projectCompanyWorkTotalList;
|
||||
@ -367,10 +373,13 @@ let projectTotalProgress = ref("" as any);
|
||||
// 项目剩余天数
|
||||
let projectSurplusDayNum = ref({} as any);
|
||||
// 获取项目总进度/项目剩余天数
|
||||
const getCountTaskProgress = async () => {
|
||||
const res: any = await getCountTaskProgressApi({
|
||||
projectSn: store.sn
|
||||
});
|
||||
const getCountTaskProgress = async (showLoading: boolean) => {
|
||||
const res: any = await getCountTaskProgressApi(
|
||||
{
|
||||
projectSn: store.sn
|
||||
},
|
||||
showLoading
|
||||
);
|
||||
if (res.result) {
|
||||
console.log("项目总进度/项目剩余天数", res);
|
||||
projectTotalProgress.value = res.result.projectTotalProgress + "";
|
||||
@ -380,28 +389,31 @@ const getCountTaskProgress = async () => {
|
||||
// 总包进度列表
|
||||
let processList = ref([] as any);
|
||||
// 获取总包进度列表
|
||||
const queryCountEnterprise = async () => {
|
||||
const res: any = await queryCountEnterpriseApi({
|
||||
projectSn: store.sn,
|
||||
isCountMainEnterprise: 1
|
||||
});
|
||||
const queryCountEnterprise = async (showLoading: boolean) => {
|
||||
const res: any = await queryCountEnterpriseApi(
|
||||
{
|
||||
projectSn: store.sn,
|
||||
isCountMainEnterprise: 1
|
||||
},
|
||||
showLoading
|
||||
);
|
||||
if (res.result) {
|
||||
console.log("总包进度列表", res);
|
||||
processList.value = res.result;
|
||||
}
|
||||
};
|
||||
const setIntervalFn = () => {
|
||||
const setIntervalFn = (showLoading: boolean) => {
|
||||
// drawBar()
|
||||
getPersonTypeAndEduStatistics();
|
||||
queryAttendanceOfEachCompany();
|
||||
getCountTaskProgress();
|
||||
queryCountEnterprise();
|
||||
getPersonTypeAndEduStatistics(showLoading);
|
||||
queryAttendanceOfEachCompany(showLoading);
|
||||
getCountTaskProgress(showLoading);
|
||||
queryCountEnterprise(showLoading);
|
||||
};
|
||||
onMounted(async () => {
|
||||
setIntervalFn();
|
||||
setIntervalFn(false);
|
||||
// 定时三十秒刷新
|
||||
setInterval(() => {
|
||||
setIntervalFn();
|
||||
setIntervalFn(true);
|
||||
}, 30000);
|
||||
});
|
||||
</script>
|
||||
|
||||
@ -15,50 +15,53 @@
|
||||
</div>
|
||||
<div class="content">
|
||||
<div class="content-info">
|
||||
<span style="font-size:15px">项目名称:</span>
|
||||
<span style="font-size:15px">{{ projectData.projectName || "" }}</span>
|
||||
<span style="font-size: 15px">项目名称:</span>
|
||||
<span style="font-size: 15px">{{ projectData.projectName || "" }}</span>
|
||||
</div>
|
||||
<div class="content-info">
|
||||
<span style="font-size:15px">项目地址:</span>
|
||||
<span style="font-size:15px">{{addressData()}}</span>
|
||||
<span style="font-size: 15px">项目地址:</span>
|
||||
<span style="font-size: 15px">{{ addressData() }}</span>
|
||||
</div>
|
||||
<div class="content-info">
|
||||
<span style="font-size:15px">项目编号:</span>
|
||||
<span style="font-size:15px">{{ projectData.projectNumber || "" }}</span>
|
||||
<span style="font-size: 15px">项目编号:</span>
|
||||
<span style="font-size: 15px">{{ projectData.projectNumber || "" }}</span>
|
||||
</div>
|
||||
<div style="font-size:15px;line-height:22px">
|
||||
<div style="display:flex;color:white;margin-top:8px">
|
||||
<div style="width:50%;display:flex;">
|
||||
<div style="font-size: 15px; line-height: 22px">
|
||||
<div style="display: flex; color: white; margin-top: 8px">
|
||||
<div style="width: 50%; display: flex">
|
||||
<span>项目经理:</span>
|
||||
<span>{{ projectData.projectManage || "" }}</span>
|
||||
</div>
|
||||
<div style="width:50%;display:flex;">
|
||||
<div style="width: 50%; display: flex">
|
||||
<span>联系电话:</span>
|
||||
<span>{{ projectData.projectTel || "" }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div style="display:flex;color:white;margin-top:8px">
|
||||
<div style="width:50%;display:flex;">
|
||||
<div style="display: flex; color: white; margin-top: 8px">
|
||||
<div style="width: 50%; display: flex">
|
||||
<span>建筑面积:</span>
|
||||
<span>{{ projectData.projectAcreage || "" }} {{ projectData.projectAcreage ? '㎡' : "" }}</span>
|
||||
<span>{{ projectData.projectAcreage || "" }} {{ projectData.projectAcreage ? "㎡" : "" }}</span>
|
||||
</div>
|
||||
<div style="width:50%;display:flex;">
|
||||
<div style="width: 50%; display: flex">
|
||||
<span>开工日期:</span>
|
||||
<span>{{ projectData.startWorkDate || "" }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div style="display:flex;color:white;margin-top:8px">
|
||||
<div style="width:50%;display:flex;">
|
||||
<div style="display: flex; color: white; margin-top: 8px">
|
||||
<div style="width: 50%; display: flex">
|
||||
<span>工程类别:</span>
|
||||
<span>{{ projectData.projectType && projectTypeEnumList.length > 0 ? projectTypeEnumList[projectData.projectType - 1].name : "" }}</span>
|
||||
<div style="margin-left:5px;line-height:20px;">
|
||||
<img style="width:25px;height:25px;" src="@/assets/images/mountain-icon.png" alt="" />
|
||||
<span>{{
|
||||
projectData.projectType && projectTypeEnumList.length > 0
|
||||
? projectTypeEnumList[projectData.projectType - 1].name
|
||||
: ""
|
||||
}}</span>
|
||||
<div style="margin-left: 5px; line-height: 20px">
|
||||
<img style="width: 25px; height: 25px" src="@/assets/images/mountain-icon.png" alt="" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- <div class="content-info">
|
||||
<span>项目名称:</span>
|
||||
<span>{{ projectData.projectName || "" }}</span>
|
||||
@ -101,16 +104,15 @@ import { getProjectDetail, getStageOption } from "@/api/modules/projectOverview"
|
||||
import { GlobalStore } from "@/stores";
|
||||
const store = GlobalStore();
|
||||
const projectData = ref({} as any);
|
||||
const projectTypeEnumList:any = ref([]); //工程类别
|
||||
const projectTypeEnumList: any = ref([]); //工程类别
|
||||
const addressData = () => {
|
||||
return projectData.value.provinceName ? projectData.value.provinceName +
|
||||
projectData.value.cityName +
|
||||
projectData.value.areaName +
|
||||
projectData.value.projectAddress : '';
|
||||
}
|
||||
return projectData.value.provinceName
|
||||
? projectData.value.provinceName + projectData.value.cityName + projectData.value.areaName + projectData.value.projectAddress
|
||||
: "";
|
||||
};
|
||||
// 工程类别字典数据
|
||||
const projectTypeEnum = async () => {
|
||||
const res: any = await getStageOption({ dictionaryEncoding: "project_type", projectSn: store.sn });
|
||||
const projectTypeEnum = async (showLoading: boolean) => {
|
||||
const res: any = await getStageOption({ dictionaryEncoding: "project_type", projectSn: store.sn }, showLoading);
|
||||
if (res.result.length > 0) {
|
||||
let newArray = res.result.map((item: any) => {
|
||||
return {
|
||||
@ -118,21 +120,28 @@ const projectTypeEnum = async () => {
|
||||
id: Number(item.data)
|
||||
};
|
||||
});
|
||||
projectTypeEnumList.value = newArray
|
||||
projectTypeEnumList.value = newArray;
|
||||
} else {
|
||||
projectTypeEnumList.value = []
|
||||
projectTypeEnumList.value = [];
|
||||
}
|
||||
};
|
||||
//获取项目信息
|
||||
const getProjectInfo = async () => {
|
||||
const res = await getProjectDetail({ projectSn: store.sn });
|
||||
const getProjectInfo = async (showLoading: boolean) => {
|
||||
const res = await getProjectDetail({ projectSn: store.sn }, showLoading);
|
||||
console.log("获取项目信息666", res);
|
||||
// console.log("获取工程类别", projectTypeEnum);
|
||||
projectData.value = res.result;
|
||||
};
|
||||
const setIntervalFn = (showLoading: boolean) => {
|
||||
getProjectInfo(showLoading);
|
||||
projectTypeEnum(showLoading);
|
||||
};
|
||||
|
||||
onMounted(async () => {
|
||||
getProjectInfo();
|
||||
projectTypeEnum();
|
||||
setIntervalFn(false);
|
||||
setInterval(() => {
|
||||
setIntervalFn(true);
|
||||
}, 30000);
|
||||
});
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
@ -155,7 +164,7 @@ onMounted(async () => {
|
||||
// color: white;
|
||||
font-size: 20px;
|
||||
font-weight: bold;
|
||||
background-image: linear-gradient(to bottom left, #c8E3FF, #007AFF);
|
||||
background-image: linear-gradient(to bottom left, #c8e3ff, #007aff);
|
||||
-webkit-background-clip: text;
|
||||
background-clip: text;
|
||||
color: transparent;
|
||||
@ -169,15 +178,15 @@ onMounted(async () => {
|
||||
flex-direction: column;
|
||||
margin-top: 10px;
|
||||
margin-left: 10px;
|
||||
&-info:not(:first-child){
|
||||
&-info:not(:first-child) {
|
||||
margin-top: 11px;
|
||||
}
|
||||
&-info{
|
||||
&-info {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
color: white;
|
||||
font-size: 14px;
|
||||
span:nth-child(2){
|
||||
span:nth-child(2) {
|
||||
display: inline-block;
|
||||
width: 80%;
|
||||
white-space: nowrap;
|
||||
@ -275,24 +284,24 @@ onMounted(async () => {
|
||||
}
|
||||
}
|
||||
}
|
||||
::v-deep .el-dialog{
|
||||
::v-deep .el-dialog {
|
||||
background: url("@/assets/images/commandScreen/dialog-bg.png") no-repeat;
|
||||
// background-color: #fff;
|
||||
background-size: 100% 100%;
|
||||
margin-top: 12%;
|
||||
}
|
||||
::v-deep .el-dialog__headerbtn{
|
||||
::v-deep .el-dialog__headerbtn {
|
||||
right: 35px;
|
||||
top: 25px;
|
||||
}
|
||||
::v-deep .el-dialog .el-dialog__header .el-dialog__title{
|
||||
::v-deep .el-dialog .el-dialog__header .el-dialog__title {
|
||||
margin-left: 30px;
|
||||
margin-top: 10px;
|
||||
font-size: 18px;
|
||||
color: #fff;
|
||||
position: absolute;
|
||||
}
|
||||
::v-deep el-dialog__header{
|
||||
::v-deep el-dialog__header {
|
||||
margin-top: 20px;
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -940,17 +940,20 @@ function getSpecialEchart() {
|
||||
console.log(echartsTest);
|
||||
}
|
||||
|
||||
const getSafeInfo = async () => {
|
||||
const getSafeInfo = async (showLoading: boolean) => {
|
||||
// const res: any = await getProjectInspectRecordCountApi({ projectSn: store.sn });
|
||||
// console.log("获取安全管理", res);
|
||||
// safeData.value = res.result;
|
||||
// dataList.value[0].value = res.result.rectificationNum;
|
||||
// dataList.value[1].value = res.result.totalNum - res.result.rectificationNum;
|
||||
const result: any = await getInspectionSelectQualityApi({
|
||||
projectSn: store.sn,
|
||||
inspectStartTime: dateRange.value[0],
|
||||
inspectEndTime: dateRange.value[1]
|
||||
});
|
||||
const result: any = await getInspectionSelectQualityApi(
|
||||
{
|
||||
projectSn: store.sn,
|
||||
inspectStartTime: dateRange.value[0],
|
||||
inspectEndTime: dateRange.value[1]
|
||||
},
|
||||
showLoading
|
||||
);
|
||||
|
||||
console.log("安全统计数据", result);
|
||||
dataList.value = [];
|
||||
@ -1017,12 +1020,15 @@ const getSafeInfo = async () => {
|
||||
// majorDangerRate.value = result.result.percent;
|
||||
console.log("1111111111111", dataList.value);
|
||||
|
||||
const res: any = await getCountDangerLevelApi({
|
||||
projectSn: store.sn,
|
||||
isOverdueRectification: 1,
|
||||
inspectStartTime: dateRange.value[0],
|
||||
inspectEndTime: dateRange.value[1]
|
||||
});
|
||||
const res: any = await getCountDangerLevelApi(
|
||||
{
|
||||
projectSn: store.sn,
|
||||
isOverdueRectification: 1,
|
||||
inspectStartTime: dateRange.value[0],
|
||||
inspectEndTime: dateRange.value[1]
|
||||
},
|
||||
showLoading
|
||||
);
|
||||
// dataList.value = res.result.data.map((item: any, index: number) => {
|
||||
// return {
|
||||
// ...item,
|
||||
@ -1313,18 +1319,21 @@ let dataList2 = ref([
|
||||
// });
|
||||
// }
|
||||
|
||||
const qualityInfo = async () => {
|
||||
const qualityInfo = async (showLoading: boolean) => {
|
||||
// const res: any = await selectQualityStatisticsApi({ projectSn: store.sn });
|
||||
// dataList2.value[0].value = res.result.total.rectificationNum;
|
||||
// dataList2.value[1].value = res.result.total.totalNum - res.result.total.rectificationNum;
|
||||
// questionTotal.value = res.result.total.totalNum;
|
||||
|
||||
const res: any = await getCountDangerLevelApi({
|
||||
projectSn: store.sn,
|
||||
isNotQualified: 1,
|
||||
inspectStartTime: dateRange.value[0],
|
||||
inspectEndTime: dateRange.value[1]
|
||||
});
|
||||
const res: any = await getCountDangerLevelApi(
|
||||
{
|
||||
projectSn: store.sn,
|
||||
isNotQualified: 1,
|
||||
inspectStartTime: dateRange.value[0],
|
||||
inspectEndTime: dateRange.value[1]
|
||||
},
|
||||
showLoading
|
||||
);
|
||||
// dataList2.value = res.result.data.map((item: any, index: number) => {
|
||||
// return {
|
||||
// ...item,
|
||||
@ -1347,18 +1356,21 @@ const qualityInfo = async () => {
|
||||
// drawEchart2();
|
||||
};
|
||||
|
||||
const getSelectQualityStatisticsNum = async () => {
|
||||
const res: any = await getSelectQualityStatisticsNumApi({
|
||||
projectSn: store.sn,
|
||||
inspectStartTime: dateRange.value[0],
|
||||
inspectEndTime: dateRange.value[1]
|
||||
});
|
||||
const getSelectQualityStatisticsNum = async (showLoading: boolean) => {
|
||||
const res: any = await getSelectQualityStatisticsNumApi(
|
||||
{
|
||||
projectSn: store.sn,
|
||||
inspectStartTime: dateRange.value[0],
|
||||
inspectEndTime: dateRange.value[1]
|
||||
},
|
||||
showLoading
|
||||
);
|
||||
console.log(res);
|
||||
};
|
||||
|
||||
const getNoticeList = async () => {
|
||||
const getNoticeList = async (showLoading: boolean) => {
|
||||
// const res: any = await getNoticeListApi({ projectSn: store.sn, type: 10, pageNo: 1, pageSize: 99999, });
|
||||
const res: any = await getNoticeListApi({ isBigScreen: 1, type: 31 });
|
||||
const res: any = await getNoticeListApi({ isBigScreen: 1, type: 31 }, showLoading);
|
||||
console.log("隐患智能分析", res);
|
||||
listData2.value = res.result.records;
|
||||
// listData2.value.push({
|
||||
@ -1377,50 +1389,56 @@ const getNoticeList = async () => {
|
||||
|
||||
watch(
|
||||
dateRange,
|
||||
async () => {
|
||||
() => {
|
||||
if (dateRange.value == null) {
|
||||
dateRange.value = [];
|
||||
}
|
||||
await getSafeInfo();
|
||||
await qualityInfo();
|
||||
getSafeInfo(true);
|
||||
qualityInfo(true);
|
||||
// await getSelectQualityStatisticsNum();
|
||||
},
|
||||
{ deep: true }
|
||||
);
|
||||
|
||||
const getInspectionRiskChart = async () => {
|
||||
const res: any = await getInspectionRiskChartApi({
|
||||
projectSn: store.sn,
|
||||
queryType: 1
|
||||
});
|
||||
const getInspectionRiskChart = async (showLoading: boolean) => {
|
||||
const res: any = await getInspectionRiskChartApi(
|
||||
{
|
||||
projectSn: store.sn,
|
||||
queryType: 1
|
||||
},
|
||||
showLoading
|
||||
);
|
||||
console.log("风险走势图", res);
|
||||
riskList.value = res.result;
|
||||
getRiskEchart();
|
||||
};
|
||||
|
||||
const getCountAllSpecial = async () => {
|
||||
const res: any = await getSpecialCountAllSpecialApi({
|
||||
projectSn: store.sn,
|
||||
type: 1
|
||||
});
|
||||
const getCountAllSpecial = async (showLoading: boolean) => {
|
||||
const res: any = await getSpecialCountAllSpecialApi(
|
||||
{
|
||||
projectSn: store.sn,
|
||||
type: 1
|
||||
},
|
||||
showLoading
|
||||
);
|
||||
console.log("特殊作业图", res);
|
||||
specialList.value = res.result;
|
||||
getSpecialEchart();
|
||||
};
|
||||
|
||||
const setIntervalFn = () => {
|
||||
getInspectionRiskChart();
|
||||
getCountAllSpecial();
|
||||
getSafeInfo();
|
||||
qualityInfo();
|
||||
getSelectQualityStatisticsNum();
|
||||
getNoticeList();
|
||||
const setIntervalFn = (showLoading: boolean) => {
|
||||
getInspectionRiskChart(showLoading);
|
||||
getCountAllSpecial(showLoading);
|
||||
getSafeInfo(showLoading);
|
||||
qualityInfo(showLoading);
|
||||
getSelectQualityStatisticsNum(showLoading);
|
||||
getNoticeList(showLoading);
|
||||
};
|
||||
|
||||
onMounted(async () => {
|
||||
setIntervalFn();
|
||||
setIntervalFn(false);
|
||||
setInterval(() => {
|
||||
setIntervalFn();
|
||||
setIntervalFn(true);
|
||||
}, 30000);
|
||||
});
|
||||
</script>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user