fix: BUG修改
This commit is contained in:
parent
7a986d8ae7
commit
68cde83997
@ -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 } });
|
||||
};
|
||||
|
||||
@ -67,15 +67,15 @@
|
||||
<el-image
|
||||
fit="contain"
|
||||
class="el-img"
|
||||
:src="BASEURL + '/image/' + item.fieldAcquisitionUrl"
|
||||
:preview-src-list="[BASEURL + '/image/' + item.fieldAcquisitionUrl]"
|
||||
:src="BASEURL + '/image/' + item.imageUrl"
|
||||
:preview-src-list="[BASEURL + '/image/' + item.imageUrl]"
|
||||
>
|
||||
</el-image>
|
||||
<!-- <img :src="item.fieldAcquisitionUrl" alt="" srcset=""> -->
|
||||
</div>
|
||||
<div>{{item.workerName}}</div>
|
||||
<div>{{item.phoneNumber}}</div>
|
||||
<div>{{item.personType == 1?item.teamName:item.personType == 2?item.departmentName:''}}</div>
|
||||
<div>{{item.hardwareName}}</div>
|
||||
<div>{{item.alarmType == 1?'烟感报警':item.alarmType == 2?'明火报警':item.alarmType == 3?'人员到底报警':item.alarmType == 4?'未带安全帽报警':item.alarmType == 5?'区域入侵报警':item.alarmType == 6?'越界入侵报警':'人员聚集报警'}}</div>
|
||||
<div>{{item.createTime}}</div>
|
||||
<div style="color: #1FADC5;" @click="openDetailDialog(item)">查看详情</div>
|
||||
</div>
|
||||
<div class="notoDta" v-if="partyMemberList.length == 0">
|
||||
@ -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);
|
||||
|
||||
@ -2,12 +2,20 @@
|
||||
<div class="political-outlook">
|
||||
<div class="content">
|
||||
<div class="top-statistics">
|
||||
<div class="statistics-item">
|
||||
<div class="statistics-item" v-for="(item,index) in topDangerList" :key="index">
|
||||
<span class="title">{{item.weekBetweenStr}}</span>
|
||||
<span class="statistics-item-content">安全隐患数量:{{ item.dangerNum }}</span>
|
||||
<span class="statistics-item-content">未整改隐患次数:{{ item.overdueRectificationNum }}</span>
|
||||
<span class="statistics-item-content">重大隐患次数:{{ item.greatFaultLevelNum }}</span>
|
||||
<span class="statistics-item-content">未销项隐患次数:{{ item.notCloseNum }}</span>
|
||||
<span class="statistics-item-content">一般隐患次数:{{ item.generalRiskNum }}</span>
|
||||
</div>
|
||||
<!-- <div class="statistics-item">
|
||||
<span class="title">2024.04.01 - 2024.04.07</span>
|
||||
<span class="statistics-item-content">安全隐患数量:1</span>
|
||||
<span class="statistics-item-content">未整改隐患次数:1</span>
|
||||
<span class="statistics-item-content">重大隐患次数:1</span>
|
||||
<span class="statistics-item-content">未整改隐患次数:1</span>
|
||||
<span class="statistics-item-content">未销项隐患次数:1</span>
|
||||
<span class="statistics-item-content">一般隐患次数:1</span>
|
||||
</div>
|
||||
<div class="statistics-item">
|
||||
@ -15,7 +23,7 @@
|
||||
<span class="statistics-item-content">安全隐患数量:1</span>
|
||||
<span class="statistics-item-content">未整改隐患次数:1</span>
|
||||
<span class="statistics-item-content">重大隐患次数:1</span>
|
||||
<span class="statistics-item-content">未整改隐患次数:1</span>
|
||||
<span class="statistics-item-content">未销项隐患次数:1</span>
|
||||
<span class="statistics-item-content">一般隐患次数:1</span>
|
||||
</div>
|
||||
<div class="statistics-item">
|
||||
@ -23,43 +31,34 @@
|
||||
<span class="statistics-item-content">安全隐患数量:1</span>
|
||||
<span class="statistics-item-content">未整改隐患次数:1</span>
|
||||
<span class="statistics-item-content">重大隐患次数:1</span>
|
||||
<span class="statistics-item-content">未整改隐患次数:1</span>
|
||||
<span class="statistics-item-content">未销项隐患次数:1</span>
|
||||
<span class="statistics-item-content">一般隐患次数:1</span>
|
||||
</div>
|
||||
<div class="statistics-item">
|
||||
<span class="title">2024.04.01 - 2024.04.07</span>
|
||||
<span class="statistics-item-content">安全隐患数量:1</span>
|
||||
<span class="statistics-item-content">未整改隐患次数:1</span>
|
||||
<span class="statistics-item-content">重大隐患次数:1</span>
|
||||
<span class="statistics-item-content">未整改隐患次数:1</span>
|
||||
<span class="statistics-item-content">一般隐患次数:1</span>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
<div class="top-search">
|
||||
<div class="search-item">
|
||||
<span>状态</span>
|
||||
<el-select
|
||||
class="m-2"
|
||||
placeholder="请选择"
|
||||
size="small"
|
||||
v-model="searchForm.memberType"
|
||||
v-model="searchForm.status"
|
||||
:clearable="true"
|
||||
style="width: 150px"
|
||||
>
|
||||
<el-option v-for="(item, index) in memberTypeList" :key="index" :label="item.name" :value="item.value" />
|
||||
<el-option v-for="(item, index) in statusList" :key="index" :label="item.name" :value="item.value" />
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="search-item">
|
||||
<span>影响级别</span>
|
||||
<span>问题等级</span>
|
||||
<el-select
|
||||
class="m-2"
|
||||
placeholder="请选择"
|
||||
size="small"
|
||||
v-model="searchForm.belongCompany"
|
||||
v-model="searchForm.level"
|
||||
:clearable="true"
|
||||
style="width: 150px"
|
||||
>
|
||||
<el-option v-for="(item, index) in enterpriseListData" :key="index" :label="item.enterpriseName" :value="item.id" />
|
||||
<el-option v-for="(item, index) in levelListData" :key="index" :label="item.enterpriseName" :value="item.id" />
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="search-item">
|
||||
@ -68,49 +67,66 @@
|
||||
class="m-2"
|
||||
placeholder="请选择"
|
||||
size="small"
|
||||
v-model="searchForm.workState"
|
||||
v-model="searchForm.inspectId"
|
||||
:clearable="true"
|
||||
style="width: 150px"
|
||||
>
|
||||
<el-option v-for="(item, index) in onlineWorkList" :key="index" :label="item.name" :value="item.value" />
|
||||
<el-option v-for="(item, index) in inspectList" :key="index" :label="item.realName" :value="item.id" />
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="search-item">
|
||||
<span>整改人</span>
|
||||
<el-input placeholder="请输入" v-model="searchForm.name" :clearable="true" style="width: 150px" />
|
||||
<el-select
|
||||
class="m-2"
|
||||
placeholder="请选择"
|
||||
size="small"
|
||||
v-model="searchForm.changeId"
|
||||
:clearable="true"
|
||||
style="width: 150px"
|
||||
>
|
||||
<el-option v-for="(item, index) in inspectList" :key="index" :label="item.realName" :value="item.id" />
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="search-item">
|
||||
<span>分包单位</span>
|
||||
<el-input placeholder="请输入" v-model="searchForm.idCard" :clearable="true" style="width: 180px" />
|
||||
<el-select
|
||||
class="m-2"
|
||||
placeholder="请选择"
|
||||
size="small"
|
||||
v-model="searchForm.enterpriseId"
|
||||
:clearable="true"
|
||||
style="width: 150px"
|
||||
>
|
||||
<el-option v-for="(item, index) in enterpriseListData" :key="index" :label="item.enterpriseName" :value="item.id" />
|
||||
</el-select>
|
||||
</div>
|
||||
<!-- <el-button @click="getMemberCountList('search')">查询</el-button> -->
|
||||
</div>
|
||||
<div class="table-one">
|
||||
<div class="tabList">
|
||||
<div>序号</div>
|
||||
<div>检查结果</div>
|
||||
<div>状态</div>
|
||||
<div>问题等级</div>
|
||||
<div>隐患部位</div>
|
||||
<div>隐患描述及要求</div>
|
||||
<div>整改时限</div>
|
||||
<div>检查人</div>
|
||||
<div>检查时间</div>
|
||||
<div>隐患信息</div>
|
||||
<div style="width: 15%;">检查时间</div>
|
||||
<div>整改人</div>
|
||||
<div>分包单位</div>
|
||||
</div>
|
||||
<el-scrollbar class="listBox" ref="refScrollbar">
|
||||
<div v-for="(item, index) in partyMemberList" class="listStyle" :key="item.id">
|
||||
<div>{{index + 1}}</div>
|
||||
<div>{{item.workerName}}</div>
|
||||
<div class="list-img">
|
||||
<el-image
|
||||
fit="contain"
|
||||
class="el-img"
|
||||
:src="BASEURL + '/image/' + item.fieldAcquisitionUrl"
|
||||
:preview-src-list="[BASEURL + '/image/' + item.fieldAcquisitionUrl]"
|
||||
>
|
||||
</el-image>
|
||||
<!-- <img :src="item.fieldAcquisitionUrl" alt="" srcset=""> -->
|
||||
</div>
|
||||
<div>{{item.phoneNumber}}</div>
|
||||
<div>{{item.personType == 1?item.teamName:item.personType == 2?item.departmentName:''}}</div>
|
||||
<div>{{item.phoneNumber}}</div>
|
||||
<div>{{statusList[item.status].name}}</div>
|
||||
<div>{{item.level?levelListData[item.level - 1].name:''}}</div>
|
||||
<div>{{item.regionName}}</div>
|
||||
<div>{{item.dangerItemContent}}</div>
|
||||
<div>{{item.changeLimitTime}}</div>
|
||||
<div>{{item.inspectManName}}</div>
|
||||
<div style="width: 15%;">{{item.inspectTime}}</div>
|
||||
<div>{{item.changeId}}</div>
|
||||
<div>{{item.enterpriseName}}</div>
|
||||
</div>
|
||||
<div class="notoDta" v-if="partyMemberList.length == 0">
|
||||
<img src="@/assets/images/noData.png" alt="" />
|
||||
@ -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;
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<div class="top-data-show">
|
||||
<div class="top-left">
|
||||
<el-date-picker v-model="dateTime" type="month" placeholder="请选择日期" value-format="YYYY-MM" :clearable="false"/>
|
||||
<el-calendar v-model="calendarVal" style="width: 95%; margin-top: 15px" />
|
||||
<el-calendar v-model="calendarVal" style="width: 95%; margin-top: 15px"/>
|
||||
</div>
|
||||
<div class="top-right">
|
||||
<div class="right-title-data">
|
||||
@ -36,29 +36,29 @@
|
||||
<div class="table-one">
|
||||
<div class="tabList">
|
||||
<div>序号</div>
|
||||
<div>天气状况</div>
|
||||
<div>影响工期天数</div>
|
||||
<div>预警提示</div>
|
||||
<div>预警记录时间</div>
|
||||
<div>备注</div>
|
||||
<div>区域</div>
|
||||
<div>单位名称</div>
|
||||
<div>延期误工类型</div>
|
||||
<div>延期误工原因</div>
|
||||
<div>图片</div>
|
||||
</div>
|
||||
<el-scrollbar class="listBox" ref="refScrollbar">
|
||||
<div v-for="(item, index) in partyMemberList" class="listStyle" :key="item.id">
|
||||
<div>{{ index + 1 }}</div>
|
||||
<div>{{ item.workerName }}</div>
|
||||
<div>{{ item.regionName }}</div>
|
||||
<div>{{ item.enterpriseName }}</div>
|
||||
<div>{{ item.delayEventType == 1 ? "人为因素" : item.personType == 2 ? "环境因素" : "不可抵抗因素" }}</div>
|
||||
<div>{{ item.delayEventReason }}</div>
|
||||
<div class="list-img">
|
||||
<el-image
|
||||
fit="contain"
|
||||
class="el-img"
|
||||
:src="BASEURL + '/image/' + item.fieldAcquisitionUrl"
|
||||
:preview-src-list="[BASEURL + '/image/' + item.fieldAcquisitionUrl]"
|
||||
:src="BASEURL + '/image/' + item.image"
|
||||
:preview-src-list="[BASEURL + '/image/' + item.image]"
|
||||
>
|
||||
</el-image>
|
||||
<!-- <img :src="item.fieldAcquisitionUrl" alt="" srcset=""> -->
|
||||
</div>
|
||||
<div>{{ item.phoneNumber }}</div>
|
||||
<div>{{ item.personType == 1 ? item.teamName : item.personType == 2 ? item.departmentName : "" }}</div>
|
||||
<div>{{ item.phoneNumber }}</div>
|
||||
</div>
|
||||
<div class="notoDta" v-if="partyMemberList.length == 0">
|
||||
<img src="@/assets/images/noData.png" alt="" />
|
||||
@ -71,27 +71,21 @@
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { ref, onMounted } from "vue";
|
||||
import { ref, onMounted, watch } from "vue";
|
||||
import { GlobalStore } from "@/stores";
|
||||
import { getMemberInfoList } from "@/api/modules/labor";
|
||||
import { getDelayEventTypeApi } from "@/api/modules/agjtCommandApi";
|
||||
import { getDelayEventTypeApi, getProgressContentApi } from "@/api/modules/agjtCommandApi";
|
||||
import moment from "moment";
|
||||
const store = GlobalStore();
|
||||
const props = defineProps(["tip"]);
|
||||
const BASEURL = import.meta.env.VITE_API_URL;
|
||||
const dateTime:any = ref(null);
|
||||
const calendarVal:any = ref(new Date());
|
||||
const calendarVal:any = 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: ""
|
||||
});
|
||||
const tableParams = ref({
|
||||
calendarVal: ""
|
||||
})
|
||||
|
||||
const partyMemberList = ref({} as any);
|
||||
const topStatisticData = ref({} as any)
|
||||
@ -99,7 +93,8 @@ const topStatisticData = ref({} as any)
|
||||
const getDelayEventTypeFn = async () => {
|
||||
let requestData: any = {
|
||||
projectSn: store.sn,
|
||||
auditType: 2
|
||||
auditType: 2,
|
||||
month: dateTime.value
|
||||
};
|
||||
const res: any = await getDelayEventTypeApi(requestData);
|
||||
console.log("获取天气顶部统计数据", res);
|
||||
@ -109,22 +104,12 @@ const getDelayEventTypeFn = 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, //姓名
|
||||
auditType: 2,
|
||||
date: tableParams.value.calendarVal,
|
||||
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 getProgressContentApi(requestData);
|
||||
console.log("获取人员信息列表", res);
|
||||
if (tip == "more") {
|
||||
partyMemberList.value = partyMemberList.value.concat(res.result.records);
|
||||
@ -141,11 +126,22 @@ const getMemberCountList = async (tip: any) => {
|
||||
pageNo.value = pageNo.value + 1;
|
||||
}
|
||||
};
|
||||
|
||||
watch(
|
||||
() => calendarVal.value,
|
||||
newVal => {
|
||||
// console.log(newVal, "newVal");
|
||||
if (newVal) {
|
||||
// props.xData = newVal;
|
||||
tableParams.value.calendarVal = moment(newVal).format("YYYY-MM-DD")
|
||||
getMemberCountList("search");
|
||||
}
|
||||
}
|
||||
);
|
||||
onMounted(async () => {
|
||||
dateTime.value = moment(new Date()).format("YYYY-MM")
|
||||
calendarVal.value = moment(new Date()).format("YYYY-MM-DD")
|
||||
await getDelayEventTypeFn();
|
||||
await getMemberCountList("search");
|
||||
dateTime.value = moment(new Date()).format("YYYY-MM")
|
||||
refScrollbar.value.wrapRef.addEventListener("scroll", (e: any) => {
|
||||
// console.log("滚动容器", e);
|
||||
const scrollTop = e.target.scrollTop;
|
||||
@ -403,7 +399,7 @@ onMounted(async () => {
|
||||
}
|
||||
}
|
||||
.notoDta {
|
||||
top: 35%;
|
||||
top: 15%;
|
||||
width: 20%;
|
||||
left: 40%;
|
||||
position: absolute;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user