152 lines
3.8 KiB
Vue
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>
|