diff --git a/src/api/modules/agjtCommandApi.ts b/src/api/modules/agjtCommandApi.ts index 5c7c1bb..e96d362 100644 --- a/src/api/modules/agjtCommandApi.ts +++ b/src/api/modules/agjtCommandApi.ts @@ -40,9 +40,15 @@ export const getSafeEducationDataApi = (params: {}) => { }; // 天气弹窗 +// 顶部数据 export const getDelayEventTypeApi = (params: {}) => { return http.post(BASEURL + `/xmgl/xzTaskProgressContent/statsDelayEventType`, params, { headers: { noLoading: true } }); }; +// 底部列表 +export const getProgressContentApi = (params: {}) => { + return http.get(BASEURL + `/xmgl/xzTaskProgressContent/page`, params, { headers: { noLoading: true } }); +}; + // 风险统计弹窗 // 顶部数据 @@ -50,3 +56,22 @@ export const getStatisticsNumDataApi = (params: {}) => { 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 } }); +}; +// 获取分包单位 +export const getProjectEnterpriseApi = (params: {}) => { + return http.post(BASEURL + `/xmgl/projectEnterprise/list`, params, { headers: { noLoading: true } }); +}; +// 获取整改人 +export const getSystemUserApi = (params: {}) => { + return http.post(BASEURL + `/xmgl/systemUser/getProjectChilderSystemUserList`, params, { headers: { noLoading: true } }); +}; + +// AI警报 +// 底部数据接口 +export const getAlarmRecordApi = (params: {}) => { + return http.post(BASEURL + `/xmgl/aiAnalyseHardWareAlarmRecord/selectPageList`, params, { headers: { noLoading: true } }); +}; diff --git a/src/views/commandScreen/dialogCompnnents/ai-alarm.vue b/src/views/commandScreen/dialogCompnnents/ai-alarm.vue index c2d0b93..f20431f 100644 --- a/src/views/commandScreen/dialogCompnnents/ai-alarm.vue +++ b/src/views/commandScreen/dialogCompnnents/ai-alarm.vue @@ -67,15 +67,15 @@ -
{{item.workerName}}
-
{{item.phoneNumber}}
-
{{item.personType == 1?item.teamName:item.personType == 2?item.departmentName:''}}
+
{{item.hardwareName}}
+
{{item.alarmType == 1?'烟感报警':item.alarmType == 2?'明火报警':item.alarmType == 3?'人员到底报警':item.alarmType == 4?'未带安全帽报警':item.alarmType == 5?'区域入侵报警':item.alarmType == 6?'越界入侵报警':'人员聚集报警'}}
+
{{item.createTime}}
查看详情
@@ -122,6 +122,7 @@ import { GlobalStore } from "@/stores"; import { getCompanyDataList, getMemberInfoList } from "@/api/modules/labor"; import type { TabsPaneContext } from 'element-plus' import { getAlarmTypeOption } from "@/api/modules/aIEarlyWarn"; +import { getAlarmRecordApi } from "@/api/modules/agjtCommandApi"; const store = GlobalStore(); const props = defineProps(["tip"]); const BASEURL = import.meta.env.VITE_API_URL; @@ -205,22 +206,10 @@ const getCompanyList = async () => { const getMemberCountList = async (tip:any) => { let requestData:any = { projectSn: store.sn, - personType: searchForm.value.memberType, //人员类型 - enterpriseId: searchForm.value.belongCompany, //所属企业 - inserviceType: searchForm.value.workState, //在职状态 - idCard: searchForm.value.idCard, //身份证号 - workerName: searchForm.value.name, //姓名 pageNo: tip == 'search'?1:pageNo.value, pageSize: 100 } - if(props.tip == '实时'){ - requestData.presence = 1; - } else if(props.tip == '日累积') { - requestData.attendance = 1; - } else { - requestData.inserviceType = 1; - } - const res: any = await getMemberInfoList(requestData); + const res: any = await getAlarmRecordApi(requestData); console.log("获取人员信息列表", res); if(tip == 'more'){ partyMemberList.value = partyMemberList.value.concat(res.result.records); diff --git a/src/views/commandScreen/dialogCompnnents/safe-hidden.vue b/src/views/commandScreen/dialogCompnnents/safe-hidden.vue index ce3a215..239997e 100644 --- a/src/views/commandScreen/dialogCompnnents/safe-hidden.vue +++ b/src/views/commandScreen/dialogCompnnents/safe-hidden.vue @@ -2,12 +2,20 @@
-
+
+ {{item.weekBetweenStr}} + 安全隐患数量:{{ item.dangerNum }} + 未整改隐患次数:{{ item.overdueRectificationNum }} + 重大隐患次数:{{ item.greatFaultLevelNum }} + 未销项隐患次数:{{ item.notCloseNum }} + 一般隐患次数:{{ item.generalRiskNum }} +
+
序号
-
检查结果
+
状态
+
问题等级
+
隐患部位
+
隐患描述及要求
+
整改时限
检查人
-
检查时间
-
隐患信息
+
检查时间
整改人
+
分包单位
{{index + 1}}
-
{{item.workerName}}
-
- - - -
-
{{item.phoneNumber}}
-
{{item.personType == 1?item.teamName:item.personType == 2?item.departmentName:''}}
-
{{item.phoneNumber}}
+
{{statusList[item.status].name}}
+
{{item.level?levelListData[item.level - 1].name:''}}
+
{{item.regionName}}
+
{{item.dangerItemContent}}
+
{{item.changeLimitTime}}
+
{{item.inspectManName}}
+
{{item.inspectTime}}
+
{{item.changeId}}
+
{{item.enterpriseName}}
@@ -126,46 +142,76 @@ import { ref, onMounted } from "vue"; import { GlobalStore } from "@/stores"; import { getCompanyDataList, getMemberInfoList } from "@/api/modules/labor"; -import type { TabsPaneContext } from 'element-plus' +import { getQualityStatisticsNumDataApi, getProjectEnterpriseApi, getSystemUserApi, getInspectionRecordApi } from "@/api/modules/agjtCommandApi"; const store = GlobalStore(); const props = defineProps(["tip"]); const BASEURL = import.meta.env.VITE_API_URL; -const activeName = ref('first') -const activeIndex = ref('1' as any) -const onlineWorkList = ref([ - { name: "在职", value: 1 }, - { name: "离职", value: 2 } -]) +const inspectList = ref([] as any); const enterpriseListData = ref([] as any); -const memberTypeList = ref([ - { name: "劳务人员", value: 1 }, - { name: "管理人员", value: 2 }, - { name: "临时人员", value: 3 } +const levelListData = ref([ + { name: "重大隐患", value: 1 }, + { name: "较大隐患", value: 2 }, + { name: "一般隐患", value: 3 }, + { name: "低隐患", value: 4 } +]) +const statusList = ref([ + { name: "无需整改", value: 1 }, + { name: "待整改", value: 2 }, + { name: "待复查", value: 3 }, + { name: "待核验", value: 4 }, + { name: "合格", value: 5 }, + { name: "不合格", value: 6 }, + { name: "超期未关闭", value: 7 }, ]); -const alarmTypeList = ref(["报警", "预警"]); let pageNo = ref(1 as any); let moreScroll = ref(true as any); const refScrollbar = ref(null as any); // 绑定到滚动的盒子上 -const deviceList = ref([] as any); // 设备列表 const searchForm = ref({ - memberType: '', - belongCompany: '', - workState: '', - name: '', - idCard: '' + status: '', + inspectId: '', + changeId: '', + enterpriseId: '', + level: '' }); - +const topDangerList = ref([] as any) const partyMemberList = ref({} as any); -const handleClick = (tab: TabsPaneContext, event: Event) => { -// console.log(tab, event) -// console.log('tab',tab.index) -// console.log('activeName',activeName.value) -// if(activeName.value === 'first') console.log('1') -// if(activeName.value === 'second') console.log('2') -// if(activeName.value === 'third') console.log('3') - activeIndex.value = tab.index - console.log('activeIndex',activeIndex.value) -} +// 获取整改人、检查人 +const getSystemUserFn = async () => { + let data = { + projectSn: store.sn + }; + const res: any = await getSystemUserApi(data); + if (res.code == 200) { + console.log("整改人、检查人",res) + inspectList.value = res.result; + } +}; +// 获取分包单位 +const getDivisionUnitFn = async () => { + let data = { + projectSn: store.sn, + pageNo: 1, + pageSize: 999 + }; + const res: any = await getProjectEnterpriseApi(data); + if (res.code == 200) { + console.log("分包单位",res) + enterpriseListData.value = res.result.records; + } +}; +// 获取顶部数据 +const getQualityStatisticsNumDataFn = async () => { + let data = { + projectSn: store.sn, + isStatsByWeek: 1 + }; + const res: any = await getQualityStatisticsNumDataApi(data); + if (res.code == 200) { + console.log("安全隐患顶部数据",res) + topDangerList.value = res.result || [] + } +}; + //获取企业列表 const getCompanyList = async () => { let data = { @@ -182,11 +228,7 @@ const getCompanyList = async () => { const getMemberCountList = async (tip:any) => { let requestData:any = { projectSn: store.sn, - personType: searchForm.value.memberType, //人员类型 - enterpriseId: searchForm.value.belongCompany, //所属企业 - inserviceType: searchForm.value.workState, //在职状态 - idCard: searchForm.value.idCard, //身份证号 - workerName: searchForm.value.name, //姓名 + ...searchForm.value, pageNo: tip == 'search'?1:pageNo.value, pageSize: 100 } @@ -197,12 +239,12 @@ const getMemberCountList = async (tip:any) => { } else { requestData.inserviceType = 1; } - const res: any = await getMemberInfoList(requestData); - console.log("获取人员信息列表", res); + const res: any = await getInspectionRecordApi(requestData); + console.log("获取安全隐患底部列表", res); if(tip == 'more'){ - partyMemberList.value = partyMemberList.value.concat(res.result.records); + partyMemberList.value = partyMemberList.value.concat(res.result.page.records); } else { - partyMemberList.value = res.result.records; + partyMemberList.value = res.result.page.records; } // 为图片拼接IP // partyMemberList.value.map((item:any) => { @@ -217,6 +259,9 @@ const getMemberCountList = async (tip:any) => { onMounted(async () => { await getCompanyList(); + await getDivisionUnitFn(); + await getSystemUserFn(); + await getQualityStatisticsNumDataFn(); await getMemberCountList('search'); refScrollbar.value.wrapRef.addEventListener("scroll", (e: any) => { // console.log("滚动容器", e); @@ -340,7 +385,7 @@ onMounted(async () => { margin-top: 2%; div { text-align: center; - width: 20%; + width: 10%; } } .listBox { @@ -365,7 +410,7 @@ onMounted(async () => { } } div { - width: 20%; + width: 10%; white-space: nowrap; //单行 overflow: hidden; text-overflow: ellipsis; diff --git a/src/views/commandScreen/dialogCompnnents/weather-info.vue b/src/views/commandScreen/dialogCompnnents/weather-info.vue index d70204a..217dbc2 100644 --- a/src/views/commandScreen/dialogCompnnents/weather-info.vue +++ b/src/views/commandScreen/dialogCompnnents/weather-info.vue @@ -4,7 +4,7 @@
- +
@@ -36,29 +36,29 @@
序号
-
天气状况
-
影响工期天数
-
预警提示
-
预警记录时间
-
备注
+
区域
+
单位名称
+
延期误工类型
+
延期误工原因
+
图片
{{ index + 1 }}
-
{{ item.workerName }}
+
{{ item.regionName }}
+
{{ item.enterpriseName }}
+
{{ item.delayEventType == 1 ? "人为因素" : item.personType == 2 ? "环境因素" : "不可抵抗因素" }}
+
{{ item.delayEventReason }}
-
{{ item.phoneNumber }}
-
{{ item.personType == 1 ? item.teamName : item.personType == 2 ? item.departmentName : "" }}
-
{{ item.phoneNumber }}
@@ -71,27 +71,21 @@