flx:修复bug
This commit is contained in:
parent
619588e27f
commit
17f4d21cba
@ -65,6 +65,11 @@ export const getQualityStatisticsNumDataApi = (params: {}) => {
|
|||||||
export const getProjectEnterpriseApi = (params: {}) => {
|
export const getProjectEnterpriseApi = (params: {}) => {
|
||||||
return http.post(BASEURL + `/xmgl/projectEnterprise/list`, params, { headers: { noLoading: true } });
|
return http.post(BASEURL + `/xmgl/projectEnterprise/list`, params, { headers: { noLoading: true } });
|
||||||
};
|
};
|
||||||
|
// 获取检查人
|
||||||
|
export const getSystemUserBySnApi = (params: {}) => {
|
||||||
|
return http.post(BASEURL + `/xmgl/systemUser/getSystemUserBySn`, params, { headers: { noLoading: true } });
|
||||||
|
};
|
||||||
|
|
||||||
// 获取整改人
|
// 获取整改人
|
||||||
export const getSystemUserApi = (params: {}) => {
|
export const getSystemUserApi = (params: {}) => {
|
||||||
return http.post(BASEURL + `/xmgl/systemUser/getProjectChilderSystemUserList`, params, { headers: { noLoading: true } });
|
return http.post(BASEURL + `/xmgl/systemUser/getProjectChilderSystemUserList`, params, { headers: { noLoading: true } });
|
||||||
|
|||||||
@ -217,6 +217,7 @@ onMounted(async () => {
|
|||||||
.cbContent {
|
.cbContent {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: calc(100% - 40px);
|
height: calc(100% - 40px);
|
||||||
|
overflow: hidden;
|
||||||
|
|
||||||
// background: #fff;
|
// background: #fff;
|
||||||
.item {
|
.item {
|
||||||
@ -304,6 +305,7 @@ onMounted(async () => {
|
|||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
line-height: 30px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -314,7 +316,7 @@ onMounted(async () => {
|
|||||||
|
|
||||||
.timeInfo {
|
.timeInfo {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: flex-end;
|
justify-content: flex-start;
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,13 +3,13 @@
|
|||||||
<div class="top-content">
|
<div class="top-content">
|
||||||
<div class="content-div aq">
|
<div class="content-div aq">
|
||||||
<div class="circle-box">
|
<div class="circle-box">
|
||||||
<span>{{statScore.hiddenDangerScore}}分</span>
|
<span>{{ statScore.hiddenDangerScore }}分</span>
|
||||||
</div>
|
</div>
|
||||||
<span>安全隐患治理</span>
|
<span>安全隐患治理</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="content-div wd">
|
<div class="content-div wd">
|
||||||
<div class="circle-box">
|
<div class="circle-box">
|
||||||
<span>{{statScore.dangerEngScore}}分</span>
|
<span>{{ statScore.dangerEngScore }}分</span>
|
||||||
</div>
|
</div>
|
||||||
<span>危大工程</span>
|
<span>危大工程</span>
|
||||||
</div>
|
</div>
|
||||||
@ -22,56 +22,63 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="content-div fx">
|
<div class="content-div fx">
|
||||||
<div class="circle-box">
|
<div class="circle-box">
|
||||||
<span>{{statScore.riskScore}}分</span>
|
<span>{{ statScore.riskScore }}分</span>
|
||||||
</div>
|
</div>
|
||||||
<span>风险管理</span>
|
<span>风险管理</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="content-div zn">
|
<div class="content-div zn">
|
||||||
<div class="circle-box">
|
<div class="circle-box">
|
||||||
<span>{{statScore.aiScore}}分</span>
|
<span>{{ statScore.aiScore }}分</span>
|
||||||
</div>
|
</div>
|
||||||
<span>AI警报</span>
|
<span>AI警报</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="count-div">
|
<div class="count-div">
|
||||||
<div class="count-div-item">
|
<div class="count-div-item">
|
||||||
<span>上月安全综合评分</span>
|
<span>上月安全综合评分</span>
|
||||||
<span>{{statScore.lastMonthTotal}}</span>
|
<span>{{ statScore.lastMonthTotal }}</span>
|
||||||
<span>分</span>
|
<span>分</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="count-div-item">
|
<div class="count-div-item">
|
||||||
<span>相较上月{{ statScore.radio > 0 ?'上升':'下降' }} {{statScore.radio}}%</span>
|
<span>相较上月{{ statScore.radio > 0 ? '上升' + statScore.radio : '下降' + (statScore.radio && statScore.radio.toString().substr(1)) }} %</span>
|
||||||
<span :style="statScore.radio > 0 ? 'color:#0db027' : 'color:#f77c7d'">{{ statScore.radio > 0 ? '↑' : '↓' }} </span>
|
<span :style="statScore.radio > 0 ? 'color:#0db027' : 'color:#f77c7d'">{{ statScore.radio > 0 ? '↑'
|
||||||
|
: '↓' }} </span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="score-div" @click="openDialogData({index: 9, title: '月度安全综合评分'})">
|
<div class="score-div" @click="openDialogData({ index: 9, title: '月度安全综合评分' })">
|
||||||
<div class="score-part">
|
<div class="score-part">
|
||||||
<span>{{statScore.total}}</span>
|
<span>{{ statScore.total }}</span>
|
||||||
<span>分</span>
|
<span>分</span>
|
||||||
</div>
|
</div>
|
||||||
<span>安全评分</span>
|
<span>安全评分</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="classify-div">
|
<div class="classify-div">
|
||||||
<div class="classify-div-item" @click="openDialogData({index: 1, title: '危大工程'})">
|
<div class="classify-div-item" @click="openDialogData({ index: 1, title: '危大工程' })">
|
||||||
<span style="font-size: 12px;">危大工程 {{statsDirectorateBigScreen.dangerousEngineeringRecordNum}}</span>
|
<span
|
||||||
|
style="font-size: 12px;">危大工程 {{ statsDirectorateBigScreen.dangerousEngineeringRecordNum }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="classify-div-item" @click="openDialogData({index: 2, title: '安全教育'})">
|
<div class="classify-div-item" @click="openDialogData({ index: 2, title: '安全教育' })">
|
||||||
<span style="font-size: 12px;">安全教育 {{statsDirectorateBigScreen.workerInfoAuditRecordNum}}</span>
|
<span
|
||||||
|
style="font-size: 12px;">安全教育 {{ statsDirectorateBigScreen.workerInfoAuditRecordNum }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="classify-div-item" @click="openDialogData({index: 3, title: '影响进度的因素'})">
|
<div class="classify-div-item" @click="openDialogData({ index: 3, title: '影响进度的因素' })">
|
||||||
<span style="font-size: 12px;">极端恶劣天气 {{statsDirectorateBigScreen.taskProgressContentNum}}</span>
|
<span
|
||||||
|
style="font-size: 12px;">极端恶劣天气 {{ statsDirectorateBigScreen.taskProgressContentNum }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="classify-div-item" @click="openDialogData({index: 4, title: '风险统计'})">
|
<div class="classify-div-item" @click="openDialogData({ index: 4, title: '风险统计' })">
|
||||||
<span style="font-size: 12px;">风险统计 {{statsDirectorateBigScreen.securityQualityInspectionRecordNum}}</span>
|
<span
|
||||||
|
style="font-size: 12px;">风险统计 {{ statsDirectorateBigScreen.securityQualityInspectionRecordNum }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="classify-div-item" @click="openDialogData({index: 5, title: '安全隐患'})">
|
<div class="classify-div-item" @click="openDialogData({ index: 5, title: '安全隐患' })">
|
||||||
<span style="font-size: 12px;">安全隐患 {{statsDirectorateBigScreen.securityQualityInspectionRecordNum}}</span>
|
<span
|
||||||
|
style="font-size: 12px;">安全隐患 {{ statsDirectorateBigScreen.securityQualityInspectionRecordNum }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="classify-div-item" @click="openDialogData({index: 6, title: 'AI警报'})">
|
<div class="classify-div-item" @click="openDialogData({ index: 6, title: 'AI警报' })">
|
||||||
<span style="font-size: 12px;">AI警报 {{statsDirectorateBigScreen.aiAnalyseHardWareAlarmRecordNum}}</span>
|
<span
|
||||||
|
style="font-size: 12px;">AI警报 {{ statsDirectorateBigScreen.aiAnalyseHardWareAlarmRecordNum }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="background-title">
|
<div class="background-title">
|
||||||
<span @click="openDialogData({index: 9, title: '月度安全综合评分'})">查看月度安全评分报告详情</span>
|
<span @click="openDialogData({ index: 9, title: '月度安全综合评分' })">查看月度安全评分报告详情</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -103,8 +110,8 @@ const props = withDefaults(defineProps<Props>(), {
|
|||||||
// 项目信息
|
// 项目信息
|
||||||
const projectData = ref({} as any);
|
const projectData = ref({} as any);
|
||||||
// 打开弹窗
|
// 打开弹窗
|
||||||
const openDialogData = (obj:any) => {
|
const openDialogData = (obj: any) => {
|
||||||
emits("openDialog",obj)
|
emits("openDialog", obj)
|
||||||
}
|
}
|
||||||
watch(
|
watch(
|
||||||
() => props.projectData,
|
() => props.projectData,
|
||||||
@ -143,10 +150,10 @@ const getVideoList = async () => {
|
|||||||
let res: any = await selectLiveVideoListApi({
|
let res: any = await selectLiveVideoListApi({
|
||||||
projectSn: store.sn
|
projectSn: store.sn
|
||||||
});
|
});
|
||||||
console.log(res,'445566')
|
console.log(res, '445566')
|
||||||
if(res.result && res.result.extend1){
|
if (res.result && res.result.extend1) {
|
||||||
videoList.value = JSON.parse(res.result.extend1).result.videoList;
|
videoList.value = JSON.parse(res.result.extend1).result.videoList;
|
||||||
console.log(videoList.value,'112233')
|
console.log(videoList.value, '112233')
|
||||||
// 为了解决视频播放器渲染,第二个总是会默认显示一半,我动态设置样式让视图刷新,只要设置百分百就有问题,所以只能使用此方法
|
// 为了解决视频播放器渲染,第二个总是会默认显示一半,我动态设置样式让视图刷新,只要设置百分百就有问题,所以只能使用此方法
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
// 获取所有的 video 元素
|
// 获取所有的 video 元素
|
||||||
@ -167,7 +174,14 @@ const getStatsDirectorateBigScreen = async () => {
|
|||||||
const res = await getStatsDirectorateBigScreenApi({ projectSn: store.sn });
|
const res = await getStatsDirectorateBigScreenApi({ projectSn: store.sn });
|
||||||
statsDirectorateBigScreen.value = res.result
|
statsDirectorateBigScreen.value = res.result
|
||||||
};
|
};
|
||||||
let statScore = ref({} as any);
|
let statScore = ref({
|
||||||
|
dangerEngScore: 0,
|
||||||
|
hiddenDangerScore: 0,
|
||||||
|
aiScore: 0,
|
||||||
|
riskScore: 0,
|
||||||
|
total:0,
|
||||||
|
lastMonthTotal:0,
|
||||||
|
} as any);
|
||||||
//获取centerTop底部按钮显示数据
|
//获取centerTop底部按钮显示数据
|
||||||
const getStatScore = async () => {
|
const getStatScore = async () => {
|
||||||
const res = await getStatScoreApi({ projectSn: store.sn });
|
const res = await getStatScoreApi({ projectSn: store.sn });
|
||||||
@ -259,21 +273,24 @@ onMounted(async () => {
|
|||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.centerTop {
|
.centerTop {
|
||||||
|
|
||||||
// background-color: darkred;
|
// background-color: darkred;
|
||||||
.top-content{
|
.top-content {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
position: relative;
|
position: relative;
|
||||||
background-image: url("@/assets/images/commandScreen/top-bg.png");
|
background-image: url("@/assets/images/commandScreen/top-bg.png");
|
||||||
background-position: center;
|
background-position: center;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
.content-div{
|
|
||||||
|
.content-div {
|
||||||
width: 30%;
|
width: 30%;
|
||||||
height: 30%;
|
height: 30%;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
.circle-box{
|
|
||||||
|
.circle-box {
|
||||||
width: 70px;
|
width: 70px;
|
||||||
height: 70px;
|
height: 70px;
|
||||||
color: white;
|
color: white;
|
||||||
@ -287,46 +304,54 @@ onMounted(async () => {
|
|||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
span{
|
|
||||||
|
span {
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
>span{
|
|
||||||
|
>span {
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.aq{
|
|
||||||
|
.aq {
|
||||||
// left: 40px;
|
// left: 40px;
|
||||||
// top: 180px;
|
// top: 180px;
|
||||||
left: 0%;
|
left: 0%;
|
||||||
top: 45%;
|
top: 45%;
|
||||||
}
|
}
|
||||||
.wd{
|
|
||||||
|
.wd {
|
||||||
// left: 200px;
|
// left: 200px;
|
||||||
// top: 80px;
|
// top: 80px;
|
||||||
left: 12%;
|
left: 12%;
|
||||||
top: 20%;
|
top: 20%;
|
||||||
}
|
}
|
||||||
.jy{
|
|
||||||
|
.jy {
|
||||||
// left: 400px;
|
// left: 400px;
|
||||||
// top: 5px;
|
// top: 5px;
|
||||||
left: 35%;
|
left: 35%;
|
||||||
top: 0%;
|
top: 0%;
|
||||||
}
|
}
|
||||||
.fx{
|
|
||||||
|
.fx {
|
||||||
// right: 180px;
|
// right: 180px;
|
||||||
// top: 80px;
|
// top: 80px;
|
||||||
right: 12%;
|
right: 12%;
|
||||||
top: 20%;
|
top: 20%;
|
||||||
}
|
}
|
||||||
.zn{
|
|
||||||
|
.zn {
|
||||||
// right: 40px;
|
// right: 40px;
|
||||||
// top: 180px;
|
// top: 180px;
|
||||||
right: 0%;
|
right: 0%;
|
||||||
top: 45%;
|
top: 45%;
|
||||||
}
|
}
|
||||||
.count-div{
|
|
||||||
|
.count-div {
|
||||||
width: 60%;
|
width: 60%;
|
||||||
color: white;
|
color: white;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
@ -337,14 +362,17 @@ onMounted(async () => {
|
|||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
&-item{
|
|
||||||
|
&-item {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
>span:nth-child(2){
|
|
||||||
|
>span:nth-child(2) {
|
||||||
color: #2983E1;
|
color: #2983E1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.score-div{
|
|
||||||
|
.score-div {
|
||||||
color: white;
|
color: white;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
// bottom: 210px;
|
// bottom: 210px;
|
||||||
@ -356,20 +384,24 @@ onMounted(async () => {
|
|||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
.score-part{
|
|
||||||
span:nth-child(1){
|
.score-part {
|
||||||
|
span:nth-child(1) {
|
||||||
font-size: 72px;
|
font-size: 72px;
|
||||||
}
|
}
|
||||||
span:nth-child(2){
|
|
||||||
|
span:nth-child(2) {
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
>span{
|
|
||||||
|
>span {
|
||||||
color: white;
|
color: white;
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.classify-div{
|
|
||||||
|
.classify-div {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
color: white;
|
color: white;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
@ -378,7 +410,8 @@ onMounted(async () => {
|
|||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
&-item{
|
|
||||||
|
&-item {
|
||||||
width: 180px;
|
width: 180px;
|
||||||
height: 75px;
|
height: 75px;
|
||||||
// background-color: #0090D8;
|
// background-color: #0090D8;
|
||||||
@ -390,12 +423,14 @@ onMounted(async () => {
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
padding: 0 5px;
|
padding: 0 5px;
|
||||||
span{
|
|
||||||
|
span {
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.background-title{
|
|
||||||
|
.background-title {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
|||||||
@ -7,22 +7,19 @@
|
|||||||
<div class="content">
|
<div class="content">
|
||||||
<div class="contentTop">
|
<div class="contentTop">
|
||||||
<div id="echartsEdu" style="width: 100%; height: 100%"></div>
|
<div id="echartsEdu" style="width: 100%; height: 100%"></div>
|
||||||
|
<div class="notoDta" v-if="dataList2.length == 0">
|
||||||
|
<img src="@/assets/images/noData.png" alt="" />
|
||||||
|
<p>暂无数据</p>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="centerBottom">
|
<div class="centerBottom">
|
||||||
<div class="leftTop">
|
<div class="leftTop">
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<div class="hLeft" @click="openDialogData({ index: 8, title: '人员履职情况分析(整改人)' })">人员履职情况分析</div>
|
<div class="hLeft" @click="openDialogData({ index: 8, title: '人员履职情况分析(整改人)' })">人员履职情况分析</div>
|
||||||
<div class="hRight">
|
<div class="hRight">
|
||||||
<el-date-picker
|
<el-date-picker style="width: 85%" v-model="dateRange" type="daterange"
|
||||||
style="width: 85%"
|
value-format="YYYY-MM-DD" range-separator="至" start-placeholder="开始日期"
|
||||||
v-model="dateRange"
|
end-placeholder="结束日期" @change="dateChange" />
|
||||||
type="daterange"
|
|
||||||
value-format="YYYY-MM-DD"
|
|
||||||
range-separator="至"
|
|
||||||
start-placeholder="开始日期"
|
|
||||||
end-placeholder="结束日期"
|
|
||||||
@change="dateChange"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="content">
|
<div class="content">
|
||||||
@ -45,7 +42,8 @@
|
|||||||
<div v-for="(item, index) in tabList" :key="index" class="listStyle">
|
<div v-for="(item, index) in tabList" :key="index" class="listStyle">
|
||||||
<div>{{ index + 1 }}</div>
|
<div>{{ index + 1 }}</div>
|
||||||
<div v-if="activeIndex === '0' || activeIndex === '1'">{{ item.workerName }}</div>
|
<div v-if="activeIndex === '0' || activeIndex === '1'">{{ item.workerName }}</div>
|
||||||
<div v-if="activeIndex === '2'" :title="item.enterpriseName">{{ item.enterpriseName }}</div>
|
<div v-if="activeIndex === '2'" :title="item.enterpriseName">{{ item.enterpriseName
|
||||||
|
}}</div>
|
||||||
<div v-if="activeIndex === '0' || activeIndex === '2'">{{ item.rectifiedNum }}</div>
|
<div v-if="activeIndex === '0' || activeIndex === '2'">{{ item.rectifiedNum }}</div>
|
||||||
<div v-if="activeIndex === '1'">{{ item.createDangerNum }}</div>
|
<div v-if="activeIndex === '1'">{{ item.createDangerNum }}</div>
|
||||||
<div>{{ item.rectifiedNumRatio }}</div>
|
<div>{{ item.rectifiedNumRatio }}</div>
|
||||||
@ -515,6 +513,7 @@ onMounted(async () => {
|
|||||||
background: url("@/assets/images/commandScreen/card-left-bottom.png") no-repeat;
|
background: url("@/assets/images/commandScreen/card-left-bottom.png") no-repeat;
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
|
||||||
.header {
|
.header {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
@ -523,6 +522,7 @@ onMounted(async () => {
|
|||||||
border-left: none;
|
border-left: none;
|
||||||
border-right: none;
|
border-right: none;
|
||||||
border-bottom: 1px solid #0059ff;
|
border-bottom: 1px solid #0059ff;
|
||||||
|
|
||||||
// height: 10%;
|
// height: 10%;
|
||||||
.hLeft {
|
.hLeft {
|
||||||
width: 50%;
|
width: 50%;
|
||||||
@ -533,24 +533,30 @@ onMounted(async () => {
|
|||||||
background-clip: text;
|
background-clip: text;
|
||||||
color: transparent;
|
color: transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
.hRight {
|
.hRight {
|
||||||
width: 50%;
|
width: 50%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.content {
|
.content {
|
||||||
height: 90%;
|
height: 90%;
|
||||||
|
|
||||||
// background-color: #fff;
|
// background-color: #fff;
|
||||||
.contentTop {
|
.contentTop {
|
||||||
height: 40%;
|
height: 40%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.centerBottom {
|
.centerBottom {
|
||||||
// width: 100%;
|
// width: 100%;
|
||||||
height: 60%;
|
height: 60%;
|
||||||
// background-color: #fff;
|
// background-color: #fff;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
.leftTop {
|
.leftTop {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 35%;
|
height: 35%;
|
||||||
|
|
||||||
.header {
|
.header {
|
||||||
// width: 100%;
|
// width: 100%;
|
||||||
// height: 100%;
|
// height: 100%;
|
||||||
@ -559,6 +565,7 @@ onMounted(async () => {
|
|||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
padding: 20px 20px;
|
padding: 20px 20px;
|
||||||
border-bottom: 1px solid #0059ff;
|
border-bottom: 1px solid #0059ff;
|
||||||
|
|
||||||
.hLeft {
|
.hLeft {
|
||||||
width: 50%;
|
width: 50%;
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
@ -568,18 +575,23 @@ onMounted(async () => {
|
|||||||
background-clip: text;
|
background-clip: text;
|
||||||
color: transparent;
|
color: transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
.hRight {
|
.hRight {
|
||||||
width: 50%;
|
width: 50%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.content {
|
.content {
|
||||||
padding: 0 20px;
|
padding: 0 20px;
|
||||||
|
|
||||||
::v-deep .el-tabs__item {
|
::v-deep .el-tabs__item {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .el-tabs__nav-wrap::after {
|
::v-deep .el-tabs__nav-wrap::after {
|
||||||
background-color: rgba(255, 0, 0, 0);
|
background-color: rgba(255, 0, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
.tabList {
|
.tabList {
|
||||||
display: flex;
|
display: flex;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@ -602,7 +614,9 @@ onMounted(async () => {
|
|||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.listBox {
|
.listBox {
|
||||||
|
|
||||||
// height: 10%;
|
// height: 10%;
|
||||||
.listStyle {
|
.listStyle {
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -612,6 +626,7 @@ onMounted(async () => {
|
|||||||
line-height: 25px;
|
line-height: 25px;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
|
||||||
div {
|
div {
|
||||||
width: 100px;
|
width: 100px;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
@ -619,20 +634,24 @@ onMounted(async () => {
|
|||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.listStyle:hover {
|
.listStyle:hover {
|
||||||
background: #003c84;
|
background: #003c84;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.notoDta {
|
.notoDta {
|
||||||
top: 52%;
|
top: 52%;
|
||||||
width: 45%;
|
width: 45%;
|
||||||
left: 28%;
|
left: 28%;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
|
||||||
img {
|
img {
|
||||||
width: 40%;
|
width: 40%;
|
||||||
margin: 5% 30%;
|
margin: 5% 30%;
|
||||||
}
|
}
|
||||||
|
|
||||||
p {
|
p {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
@ -641,34 +660,43 @@ onMounted(async () => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .el-input__inner {
|
::v-deep .el-input__inner {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .el-select .el-input .el-select__caret {
|
::v-deep .el-select .el-input .el-select__caret {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .el-input__wrapper {
|
::v-deep .el-input__wrapper {
|
||||||
width: 85%;
|
width: 85%;
|
||||||
height: 0%;
|
height: 0%;
|
||||||
background: #0d2956;
|
background: #0d2956;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .el-range-separator {
|
::v-deep .el-range-separator {
|
||||||
color: #ccc;
|
color: #ccc;
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .el-range-input {
|
::v-deep .el-range-input {
|
||||||
color: #ccc;
|
color: #ccc;
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dialogContainer {
|
.dialogContainer {
|
||||||
padding: 0 50px;
|
padding: 0 50px;
|
||||||
|
|
||||||
// height: 600px;
|
// height: 600px;
|
||||||
::v-deep .el-tabs__item {
|
::v-deep .el-tabs__item {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .el-tabs__nav-wrap::after {
|
::v-deep .el-tabs__nav-wrap::after {
|
||||||
background-color: rgba(255, 0, 0, 0);
|
background-color: rgba(255, 0, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
.tabList {
|
.tabList {
|
||||||
display: flex;
|
display: flex;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@ -691,7 +719,9 @@ onMounted(async () => {
|
|||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.listBox {
|
.listBox {
|
||||||
|
|
||||||
// height: 10%;
|
// height: 10%;
|
||||||
.listStyle {
|
.listStyle {
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -701,6 +731,7 @@ onMounted(async () => {
|
|||||||
line-height: 25px;
|
line-height: 25px;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
|
||||||
div {
|
div {
|
||||||
width: 100px;
|
width: 100px;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
@ -708,20 +739,24 @@ onMounted(async () => {
|
|||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.listStyle:hover {
|
.listStyle:hover {
|
||||||
background: #003c84;
|
background: #003c84;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.notoDta {
|
.notoDta {
|
||||||
top: 40%;
|
top: 40%;
|
||||||
width: 30%;
|
width: 30%;
|
||||||
left: 35%;
|
left: 35%;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
|
||||||
img {
|
img {
|
||||||
width: 40%;
|
width: 40%;
|
||||||
margin: 5% 30%;
|
margin: 5% 30%;
|
||||||
}
|
}
|
||||||
|
|
||||||
p {
|
p {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
@ -729,16 +764,19 @@ onMounted(async () => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .el-dialog {
|
::v-deep .el-dialog {
|
||||||
background: url("@/assets/images/commandScreen/dialog-bg.png") no-repeat;
|
background: url("@/assets/images/commandScreen/dialog-bg.png") no-repeat;
|
||||||
// background-color: #fff;
|
// background-color: #fff;
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
margin-top: 12%;
|
margin-top: 12%;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .el-dialog__headerbtn {
|
::v-deep .el-dialog__headerbtn {
|
||||||
right: 35px;
|
right: 35px;
|
||||||
top: 25px;
|
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-left: 30px;
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
@ -746,6 +784,7 @@ onMounted(async () => {
|
|||||||
color: #fff;
|
color: #fff;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep el-dialog__header {
|
::v-deep el-dialog__header {
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -32,7 +32,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="content-info">
|
<div class="content-info">
|
||||||
<span>建筑面积:</span>
|
<span>建筑面积:</span>
|
||||||
<span>{{ projectData.projectAcreage || "" }} ㎡</span>
|
<span>{{ projectData.projectAcreage || "" }} {{ projectData.projectAcreage ? '㎡' : "" }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="content-info">
|
<div class="content-info">
|
||||||
<span>开工日期:</span>
|
<span>开工日期:</span>
|
||||||
@ -58,10 +58,10 @@ const store = GlobalStore();
|
|||||||
const projectData = ref({} as any);
|
const projectData = ref({} as any);
|
||||||
const projectTypeEnumList:any = ref([]); //工程类别
|
const projectTypeEnumList:any = ref([]); //工程类别
|
||||||
const addressData = () => {
|
const addressData = () => {
|
||||||
return projectData.value.provinceName +
|
return projectData.value.provinceName ? projectData.value.provinceName +
|
||||||
projectData.value.cityName +
|
projectData.value.cityName +
|
||||||
projectData.value.areaName +
|
projectData.value.areaName +
|
||||||
projectData.value.projectAddress;
|
projectData.value.projectAddress : '';
|
||||||
}
|
}
|
||||||
// 工程类别字典数据
|
// 工程类别字典数据
|
||||||
const projectTypeEnum = async () => {
|
const projectTypeEnum = async () => {
|
||||||
|
|||||||
@ -17,6 +17,10 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="ctContent">
|
<div class="ctContent">
|
||||||
<div id="echartsSafe" style="width: 100%; height: 100%"></div>
|
<div id="echartsSafe" style="width: 100%; height: 100%"></div>
|
||||||
|
<div class="notoDta" v-if="dataList.length == 0">
|
||||||
|
<img src="@/assets/images/noData.png" alt="" />
|
||||||
|
<p>暂无数据</p>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -26,6 +30,10 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="cmContent">
|
<div class="cmContent">
|
||||||
<div id="echarts2" style="width: 100%; height: 100%"></div>
|
<div id="echarts2" style="width: 100%; height: 100%"></div>
|
||||||
|
<div class="notoDta" v-if="dataList2.length == 0">
|
||||||
|
<img src="@/assets/images/noData.png" alt="" />
|
||||||
|
<p>暂无数据</p>
|
||||||
|
</div>
|
||||||
<!-- <div id="echartsMajorDanger" style="width: 100%; height: 100%"></div> -->
|
<!-- <div id="echartsMajorDanger" style="width: 100%; height: 100%"></div> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -978,6 +986,7 @@ onMounted(async () => {
|
|||||||
.cbContent {
|
.cbContent {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: calc(100% - 55px);
|
height: calc(100% - 55px);
|
||||||
|
overflow: hidden;
|
||||||
// height: 100%;
|
// height: 100%;
|
||||||
|
|
||||||
// background: #fff;
|
// background: #fff;
|
||||||
@ -999,6 +1008,7 @@ onMounted(async () => {
|
|||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
width: 65%;
|
width: 65%;
|
||||||
|
|
||||||
|
|
||||||
.itemHeadInner1 {
|
.itemHeadInner1 {
|
||||||
border: 1px solid #e02020;
|
border: 1px solid #e02020;
|
||||||
box-shadow: 0 0 0 1px #e02020;
|
box-shadow: 0 0 0 1px #e02020;
|
||||||
@ -1035,7 +1045,7 @@ onMounted(async () => {
|
|||||||
box-shadow: 0 0 0 1px #5394f7;
|
box-shadow: 0 0 0 1px #5394f7;
|
||||||
background: rgba(83,148,247, 0.4);
|
background: rgba(83,148,247, 0.4);
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
padding: 0 15px;
|
padding: 0 23px;
|
||||||
margin: 9px 0;
|
margin: 9px 0;
|
||||||
margin-left: 2px;
|
margin-left: 2px;
|
||||||
}
|
}
|
||||||
@ -1047,6 +1057,7 @@ onMounted(async () => {
|
|||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
line-height: 30px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1054,11 +1065,17 @@ onMounted(async () => {
|
|||||||
// background-color: #fff;
|
// background-color: #fff;
|
||||||
width: 35%;
|
width: 35%;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
|
margin-left: 10px;
|
||||||
|
|
||||||
.timeInfo {
|
.timeInfo {
|
||||||
display: flex;
|
width: 100%;
|
||||||
justify-content: flex-end;
|
// display: flex;
|
||||||
margin-right: 10px;
|
// justify-content: flex-end;
|
||||||
|
// margin-right: 10px;
|
||||||
|
font-size: 15px;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -85,7 +85,8 @@
|
|||||||
<!-- <img :src="item.fieldAcquisitionUrl" alt="" srcset=""> -->
|
<!-- <img :src="item.fieldAcquisitionUrl" alt="" srcset=""> -->
|
||||||
</div>
|
</div>
|
||||||
<div>{{item.hardwareName}}</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.alarmTypeName }}</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>{{item.createTime}}</div>
|
||||||
<div style="color: #1FADC5;" @click="openDetailDialog(item)">查看详情</div>
|
<div style="color: #1FADC5;" @click="openDetailDialog(item)">查看详情</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
<div class="statistics-item" v-for="(item,index) in topDangerList" :key="index">
|
<div class="statistics-item" v-for="(item,index) in topDangerList" :key="index">
|
||||||
<span class="title">{{item.weekBetweenStr}}</span>
|
<span class="title">{{item.weekBetweenStr}}</span>
|
||||||
<span class="statistics-item-content">安全隐患数量:{{ item.dangerNum }}</span>
|
<span class="statistics-item-content">安全隐患数量:{{ item.dangerNum }}</span>
|
||||||
<span class="statistics-item-content">未整改隐患次数:{{ item.overdueRectificationNum }}</span>
|
<span class="statistics-item-content">未整改隐患次数:{{ item.rectificationNum }}</span>
|
||||||
<span class="statistics-item-content">重大隐患次数:{{ item.greatFaultLevelNum }}</span>
|
<span class="statistics-item-content">重大隐患次数:{{ item.greatFaultLevelNum }}</span>
|
||||||
<span class="statistics-item-content">未销项隐患次数:{{ item.notCloseNum }}</span>
|
<span class="statistics-item-content">未销项隐患次数:{{ item.notCloseNum }}</span>
|
||||||
<span class="statistics-item-content">一般隐患次数:{{ item.generalRiskNum }}</span>
|
<span class="statistics-item-content">一般隐患次数:{{ item.generalRiskNum }}</span>
|
||||||
@ -74,7 +74,7 @@
|
|||||||
style="width: 150px"
|
style="width: 150px"
|
||||||
@change="conditionSearch"
|
@change="conditionSearch"
|
||||||
>
|
>
|
||||||
<el-option v-for="(item, index) in inspectList" :key="index" :label="item.realName" :value="item.userId" />
|
<el-option v-for="(item, index) in inspectBySnList" :key="index" :label="item.realName" :value="item.userId" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</div>
|
</div>
|
||||||
<div class="search-item">
|
<div class="search-item">
|
||||||
@ -155,11 +155,12 @@
|
|||||||
import { ref, onMounted } from "vue";
|
import { ref, onMounted } from "vue";
|
||||||
import { GlobalStore } from "@/stores";
|
import { GlobalStore } from "@/stores";
|
||||||
import { getCompanyDataList, getMemberInfoList } from "@/api/modules/labor";
|
import { getCompanyDataList, getMemberInfoList } from "@/api/modules/labor";
|
||||||
import { getQualityStatisticsNumDataApi, getProjectEnterpriseApi, getSystemUserApi, getInspectionRecordApi } from "@/api/modules/agjtCommandApi";
|
import { getQualityStatisticsNumDataApi, getProjectEnterpriseApi, getSystemUserApi,getSystemUserBySnApi, getInspectionRecordApi } from "@/api/modules/agjtCommandApi";
|
||||||
const store = GlobalStore();
|
const store = GlobalStore();
|
||||||
const props = defineProps(["tip"]);
|
const props = defineProps(["tip"]);
|
||||||
const BASEURL = import.meta.env.VITE_API_URL;
|
const BASEURL = import.meta.env.VITE_API_URL;
|
||||||
const inspectList = ref([] as any);
|
const inspectList = ref([] as any);
|
||||||
|
const inspectBySnList = ref([] as any);
|
||||||
const enterpriseListData = ref([] as any);
|
const enterpriseListData = ref([] as any);
|
||||||
const levelListData = ref([
|
const levelListData = ref([
|
||||||
{ name: "一级", value: 1 },
|
{ name: "一级", value: 1 },
|
||||||
@ -200,14 +201,26 @@ const textFilter = (val:any) => {
|
|||||||
const conditionSearch = async () => {
|
const conditionSearch = async () => {
|
||||||
getMemberCountList('search')
|
getMemberCountList('search')
|
||||||
}
|
}
|
||||||
// 获取整改人、检查人
|
// 获取检查人
|
||||||
|
const getSystemUserBySn = async () => {
|
||||||
|
let data = {
|
||||||
|
sn: store.sn,
|
||||||
|
queryType: "projectLevelAndChildren",
|
||||||
|
};
|
||||||
|
const res: any = await getSystemUserBySnApi(data);
|
||||||
|
if (res.code == 200) {
|
||||||
|
console.log("检查人",res)
|
||||||
|
inspectBySnList.value = res.result;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
// 获取整改人
|
||||||
const getSystemUserFn = async () => {
|
const getSystemUserFn = async () => {
|
||||||
let data = {
|
let data = {
|
||||||
projectSn: store.sn
|
projectSn: store.sn
|
||||||
};
|
};
|
||||||
const res: any = await getSystemUserApi(data);
|
const res: any = await getSystemUserApi(data);
|
||||||
if (res.code == 200) {
|
if (res.code == 200) {
|
||||||
console.log("整改人、检查人",res)
|
console.log("整改人",res)
|
||||||
inspectList.value = res.result;
|
inspectList.value = res.result;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@ -255,7 +268,8 @@ const getMemberCountList = async (tip:any) => {
|
|||||||
projectSn: store.sn,
|
projectSn: store.sn,
|
||||||
...searchForm.value,
|
...searchForm.value,
|
||||||
pageNo: tip == 'search'?1:pageNo.value,
|
pageNo: tip == 'search'?1:pageNo.value,
|
||||||
pageSize: 100
|
pageSize: 100,
|
||||||
|
recordType: 1,
|
||||||
}
|
}
|
||||||
if(props.tip == '实时'){
|
if(props.tip == '实时'){
|
||||||
requestData.presence = 1;
|
requestData.presence = 1;
|
||||||
@ -285,6 +299,7 @@ const getMemberCountList = async (tip:any) => {
|
|||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
await getCompanyList();
|
await getCompanyList();
|
||||||
await getDivisionUnitFn();
|
await getDivisionUnitFn();
|
||||||
|
await getSystemUserBySn();
|
||||||
await getSystemUserFn();
|
await getSystemUserFn();
|
||||||
await getQualityStatisticsNumDataFn();
|
await getQualityStatisticsNumDataFn();
|
||||||
await getMemberCountList('search');
|
await getMemberCountList('search');
|
||||||
@ -332,8 +347,9 @@ onMounted(async () => {
|
|||||||
grid-gap: 20px;
|
grid-gap: 20px;
|
||||||
color: white;
|
color: white;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
|
padding: 20px 0;
|
||||||
.statistics-item{
|
.statistics-item{
|
||||||
width: 350px;
|
width: 450px;
|
||||||
height: 95px;
|
height: 95px;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
|
|||||||
@ -47,7 +47,7 @@
|
|||||||
<div>{{ index + 1 }}</div>
|
<div>{{ index + 1 }}</div>
|
||||||
<div>{{ item.regionName }}</div>
|
<div>{{ item.regionName }}</div>
|
||||||
<div>{{ item.enterpriseName }}</div>
|
<div>{{ item.enterpriseName }}</div>
|
||||||
<div>{{ item.delayEventType == 1 ? "人为因素" : item.delayEventType == 2 ? "环境因素" : "不可抵抗因素" }}</div>
|
<div>{{ delayEvent(item.delayEventType) }}</div>
|
||||||
<div>{{ item.delayEventReason }}</div>
|
<div>{{ item.delayEventReason }}</div>
|
||||||
<div class="list-img">
|
<div class="list-img">
|
||||||
<el-image
|
<el-image
|
||||||
@ -89,6 +89,11 @@ const tableParams = ref({
|
|||||||
|
|
||||||
const partyMemberList = ref({} as any);
|
const partyMemberList = ref({} as any);
|
||||||
const topStatisticData = ref({} as any)
|
const topStatisticData = ref({} as any)
|
||||||
|
const delayEvent = (type:string) => {
|
||||||
|
const arrType = ["人为因素","环境因素","不可抵抗因素"];
|
||||||
|
const arr = type.split(",");
|
||||||
|
return arr.map((item:any) => arrType[item - 1]).join("、")
|
||||||
|
}
|
||||||
// 日期切换
|
// 日期切换
|
||||||
const dateChange = async () => {
|
const dateChange = async () => {
|
||||||
calendarVal.value = dateTime.value
|
calendarVal.value = dateTime.value
|
||||||
@ -111,7 +116,8 @@ const getMemberCountList = async (tip: any) => {
|
|||||||
auditType: 2,
|
auditType: 2,
|
||||||
date: tableParams.value.calendarVal,
|
date: tableParams.value.calendarVal,
|
||||||
pageNo: tip == "search" ? 1 : pageNo.value,
|
pageNo: tip == "search" ? 1 : pageNo.value,
|
||||||
pageSize: 100
|
pageSize: 100,
|
||||||
|
hasDelayEvent:1,
|
||||||
};
|
};
|
||||||
const res: any = await getProgressContentApi(requestData);
|
const res: any = await getProgressContentApi(requestData);
|
||||||
console.log("获取人员信息列表", res);
|
console.log("获取人员信息列表", res);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user