2024-09-23 16:32:56 +08:00

152 lines
3.8 KiB
Vue

<template>
<div class="list-detail" @click="handleClick" :class="{ opacity_0: dialogIndex == 99 }" v-if="showDialog">
<div class="dialog-content" v-if="dialogIndex != 99">
<div class="dialog-title">
<div class="title-img"><img src="@/assets/images/titleIcon.png" alt="" /></div>
<div class="title-text">
<i>{{ dialogTitle }}</i>
</div>
</div>
<div class="dialog-article" v-if="dialogIndex != 99">
<dialog-article :currentListIndex="dialogIndex" ref="dialogArticleRef"></dialog-article>
</div>
<!-- <div class="political-outlook" v-if="dialogIndex === 4">
<political-outlook></political-outlook>
</div>
<div class="political-outlook" v-if="dialogIndex === 5">
<party-member-demeanor ref="memberDemeanorRef"></party-member-demeanor>
</div> -->
<div class="close-icon" @click="showDialog = false">
<el-icon><Close /></el-icon>
</div>
</div>
</div>
</template>
<script lang="ts" setup>
import { ref, onMounted } from "vue";
// import partyMemberDemeanor from "@/views/sevenLargeScreen/comprehensiveManage/guidancePartyBuilding/party-member-demeanor.vue";
// import politicalOutlook from "@/views/sevenLargeScreen/comprehensiveManage/guidancePartyBuilding/political-outlook.vue";
import dialogArticle from "@/views/sevenLargeScreen/comprehensiveManage/sunshineProject/dialog-article.vue";
// import { GlobalStore } from "@/stores";
let showDialog = ref(false as any);
const emits = defineEmits(["openCancelDialog"]);
function handleClick(event: any) {
console.log("点击", event.target.className, dialogIndex.value);
if (dialogIndex.value == 99) {
showDialog.value = false;
emits("openCancelDialog");
}
}
let dialogIndex = ref(null as any);
let dialogTitle = ref("" as any);
function openDialog(type: any) {
console.log("type", type);
dialogIndex.value = type;
showDialog.value = true;
if (type === 1) {
dialogTitle.value = "招标过程";
} else if (type === 2) {
dialogTitle.value = "资金使用公开";
} else if (type === 3) {
dialogTitle.value = "施工管理过程";
} else if (type === 4) {
dialogTitle.value = "交工验收";
} else if (type === 5) {
dialogTitle.value = "非招标类物资 服务采购公开";
} else if (type === 6) {
dialogTitle.value = "征地管理";
} else if (type === 7) {
dialogTitle.value = "重大合同及设计变更公开";
} else if (type === 8) {
dialogTitle.value = "装置投用运行效果后评价公开";
} else if (type === 9) {
dialogTitle.value = "各类检查";
}
}
// 暴露给父组件的参数和方法(外部需要什么,都可以从这里暴露出去)
defineExpose({
openDialog
});
onMounted(async () => {
console.log("Mount_type", dialogIndex.value);
});
</script>
<style lang="scss" scoped>
.opacity_0 {
opacity: 0;
}
.list-detail {
position: absolute;
width: 100%;
height: 100%;
top: 0%;
left: 0%;
background: rgba(7, 28, 49, 0.5);
z-index: 20;
.dialog-content {
position: absolute;
box-sizing: border-box;
padding: 1%;
left: 17%;
top: 21%;
width: 70%;
height: 60%;
background: url("@/assets/images/aIEarlyWarning/dialogBg.png") no-repeat;
background-size: 100% 100%;
z-index: 21;
.political-outlook {
height: 95%;
}
.dialog-article {
height: 95%;
}
.close-icon {
position: absolute;
right: 3%;
top: 3%;
cursor: pointer;
color: #ffffff;
font-size: 18px;
}
.dialog-title {
color: #ffffff;
font-weight: bold;
font-size: 18px;
font-family: "OPPOSans-Bold";
display: flex;
align-items: center;
.title-img {
width: 3%;
height: 3%;
img {
width: 100%;
height: 100%;
}
}
.title-text {
margin-left: 1%;
}
}
}
}
.notoDta {
top: 73%;
width: 12%;
left: 44%;
position: absolute;
img {
width: 40%;
margin: 5% 30%;
}
p {
color: #fff;
font-size: 14px;
margin: -6% 37%;
}
}
</style>