<template>
|
<div
|
class="mobilePopupOurAfter"
|
:class="{ ismBigPopupAfter: mBigPopupAfter }"
|
>
|
<!-- v-if="mBigPopupAfter" -->
|
<div class="m_p_a_heard">
|
<div><i class="el-icon-menu icon"></i></div>
|
社区列表
|
<div @click="closeBigPopupAfter"><i class="el-icon-close icon"></i></div>
|
</div>
|
<div class="m_p_a_center">
|
<div class="m_p_a_center_group">
|
<div
|
:class="[
|
'm_p_a_center_once',
|
item.name ? '' : 'm_p_a_center_once_notblue',
|
]"
|
v-for="(item, index) in choiceDataUp"
|
@click="item.name ? openBigPopup(item) : ''"
|
:key="index"
|
>
|
<div class="m_p_a_c_o_up"><i :class="[item.icon]"></i></div>
|
<div class="m_p_a_c_o_down">{{ item.seeName || item.name }}</div>
|
</div>
|
</div>
|
<div class="m_p_a_center_group">
|
<div
|
:class="[
|
'm_p_a_center_once',
|
item.name ? '' : 'm_p_a_center_once_notblue',
|
]"
|
v-for="(item, index) in choiceDataDown"
|
@click="item.name ? openBigPopup(item) : ''"
|
:key="index"
|
>
|
<div class="m_p_a_c_o_up"><i :class="[item.icon]"></i></div>
|
<div class="m_p_a_c_o_down">{{ item.seeName || item.name }}</div>
|
</div>
|
</div>
|
<div
|
class="m_p_a_heard m_p_a_hdheard"
|
style="justify-content: center"
|
v-show="avtivityData.length > 0 && useHD"
|
>
|
活动列表
|
</div>
|
<div
|
class="m_p_a_center_group"
|
v-for="(act, index) in avtivityData"
|
:key="index"
|
v-show="avtivityData.length > 0 && useHD"
|
>
|
<div
|
:class="[
|
'm_p_a_center_once',
|
item.name ? '' : 'm_p_a_center_once_notblue',
|
]"
|
v-for="(item, index) in act"
|
@click="item.name ? openHDPopup(item) : ''"
|
:key="index"
|
>
|
<div class="m_p_a_c_o_up"><i :class="[item.icon]"></i></div>
|
<div class="m_p_a_c_o_down">{{ item.seeName || item.name }}</div>
|
</div>
|
</div>
|
</div>
|
</div>
|
</template>
|
|
<script>
|
import { mapGetters } from "vuex";
|
import { getList } from "@/api/mobile/orgnav/index"; // 机构单位
|
import { getChildNavList } from "@/api/mobile/public/arc"; // 社区建筑
|
import {
|
// getListlivingFacilitiesr,
|
// getListsupermarket,
|
// getListmedical,
|
// getListmail,
|
// getListbathroom,
|
// getListduplicate,
|
// getListnetwork,
|
// getListaed,
|
// getListsignal,
|
// getListtransference,
|
getListLifeOnce, // 所有的
|
} from "@/api/mobile/livingFacilities/index"; // 生活设施
|
// import { getListdoor } from "@/api/mobile/outIn/index"; //出入口
|
// import { getListparking } from "@/api/mobile/stop/index"; //停车场
|
import { getActivity } from "@/api/mobile/hd/hd"; //活动
|
export default {
|
name: "mobilePopupOurAfter",
|
computed: {
|
...mapGetters(["mBigPopupAfter"]),
|
},
|
data() {
|
return {
|
choiceValue: "",
|
choiceDataUp: [
|
{
|
// seeName: "社区内机构导览",
|
name: "机构单位",
|
icon: "el-icon-s-cooperation",
|
opendata: "openData1",
|
},
|
{
|
name: "社区建筑",
|
opendata: "openData2",
|
icon: "el-icon-s-management",
|
},
|
{
|
// seeName: "生活服务设施",
|
name: "生活设施",
|
opendata: "openData3",
|
icon: "el-icon-s-flag",
|
},
|
],
|
choiceDataDown: [
|
{
|
name: "出入口",
|
opendata: "openData5",
|
icon: "el-icon-s-promotion",
|
},
|
{
|
name: "停车场",
|
opendata: "openData6",
|
icon: "el-icon-s-flag",
|
},
|
{
|
// name: "文化风景",
|
name: "活动",
|
opendata: "openData4",
|
icon: "el-icon-s-opportunity",
|
},
|
],
|
avtivityData: [
|
// [
|
// {
|
// name: "活动",
|
// opendata: "openData4",
|
// icon: "el-icon-s-opportunity",
|
// },
|
// {},
|
// {},
|
// ],
|
],
|
openData1: [
|
// { name: "党群机构", type: 1, method: getList },
|
// { name: "职能部处", type: 2, method: getList },
|
{ name: "直属及附属单位", type: 3, method: getList },
|
// { name: "教学与科研机构", type: 4, method: getList },
|
{ name: "其他机构", type: 5, method: getList },
|
],
|
openData2: [
|
{ name: "行政办公", type: 1, method: getChildNavList },
|
// { name: "教学科研", type: 2, method: getChildNavList },
|
{ name: "社区场馆", type: 3, method: getChildNavList },
|
// { name: '宿舍公寓', type: 4, method: getChildNavList },
|
// { name: '文化风景', type: 5, method: getChildNavList },
|
// { name: '家属住宅', type: 6, method: getChildNavList },
|
{ name: "其他楼宇", type: 7, method: getChildNavList },
|
],
|
// openData3: [
|
// { name: "食堂餐厅", type: 1, method: getListlivingFacilitiesr },
|
// { name: "购物超市", type: 2, method: getListsupermarket },
|
// { name: "社区内医疗", type: 3, method: getListmedical },
|
// { name: "邮寄快递", type: 4, method: getListmail },
|
// { name: "社区浴室", type: 5, method: getListbathroom },
|
// { name: "圈存机", type: 6, method: getListtransference },
|
// { name: "打字复印", type: 7, method: getListduplicate },
|
// { name: "AED", type: 8, method: getListaed },
|
// { name: "银行网点", type: 9, method: getListnetwork },
|
// { name: "通信营业厅", type: 10, method: getListsignal },
|
// ],
|
// openData6: [{ name: "停车场", type: 1, method: getListparking }],
|
// openData5: [{ name: "出入口", type: 1, method: getListdoor }],
|
openData3: [
|
// { name: "食堂餐厅", type: 1, method: getListLifeOnce },
|
// { name: "购物超市", type: 2, method: getListLifeOnce },
|
{ name: "社区医疗", type: 3, method: getListLifeOnce },
|
// { name: "邮寄快递", type: 4, method: getListLifeOnce },
|
// { name: "社区浴室", type: 5, method: getListLifeOnce },
|
// // { name: "圈存机", type: 6, method: getListLifeOnce },
|
// { name: "打字复印", type: 7, method: getListLifeOnce },
|
// { name: "银行网点", type: 8, method: getListLifeOnce },
|
// { name: "AED", type: 9, method: getListLifeOnce },
|
// { name: "通信营业厅", type: 10, method: getListLifeOnce },
|
{ name: "停车场", type: 11, method: getListLifeOnce },
|
{ name: "出入口", type: 12, method: getListLifeOnce },
|
],
|
openData4: [
|
// { name: "文化风景", type: 5, method: getChildNavList }
|
{ name: "活动", type: 1, method: getActivity },
|
],
|
openData6: [{ name: "停车场", type: 11, method: getListLifeOnce }],
|
openData5: [{ name: "出入口", type: 12, method: getListLifeOnce }],
|
useHD: false,
|
};
|
},
|
mounted() {
|
this.getActivitys();
|
if (this.useHD) {
|
this.choiceDataDown[3] = { name: "" };
|
}
|
},
|
methods: {
|
//活动点击事件
|
openHDPopup(val) {
|
console.log(val);
|
//开启底部弹窗 关闭本弹窗
|
let d = {
|
state: true,
|
value: val,
|
};
|
this.$store.commit("set_showActivity", d);
|
this.closeBigPopupAfter();
|
},
|
//获取活动数据
|
getActivitys() {
|
let that = this;
|
getActivity().then((res) => {
|
const data = res.data.data.records;
|
let datas = [...data];
|
let num = datas.length;
|
//划分出每组3个的二维数组
|
let many = parseInt(num / 3); //整数组
|
let over = parseInt(num % 3); //余数组
|
//赋值整数组
|
let integers = [];
|
let i = 0;
|
for (let index = 0; index < many; index++) {
|
let integersins = [];
|
for (let indexs = 0; indexs < 3; indexs++) {
|
integersins.push({
|
name: datas[i].hdname,
|
opendata: datas[i],
|
icon: "el-icon-s-opportunity",
|
});
|
i++;
|
}
|
integers.push(integersins);
|
}
|
//赋值余数组
|
let integersOvers = [];
|
for (let overI = 0; overI < over; overI++) {
|
integersOvers.push({
|
name: datas[i].hdname,
|
opendata: datas[i],
|
icon: "el-icon-s-opportunity",
|
});
|
i++;
|
}
|
let lastOver = 3 - over;
|
for (let overM = 0; overM < lastOver; overM++) {
|
integersOvers.push({ data: "not" });
|
}
|
integers.push(integersOvers);
|
that.avtivityData = integers;
|
});
|
},
|
openBigPopup(val) {
|
if (val.name == "活动" && !this.useHD) {
|
this.openHDPopup(this.avtivityData[0][0]);
|
//隐藏右侧栏
|
this.$store.commit("SET_SeeAndNotSee", false);
|
return;
|
}
|
const d = {
|
main: this[val.opendata],
|
qurey: val.name,
|
};
|
this.$store.commit("MSET_POPUPOUROPENDATA", d);
|
this.$store.commit("MSET_BIGPOPUP", val);
|
},
|
closeBigPopupAfter() {
|
this.$store.commit("MSET_BIGPOPUPAFTER", false);
|
},
|
},
|
};
|
</script>
|
|
<style lang="scss" scoped>
|
.flexCenter {
|
display: flex;
|
align-items: center;
|
justify-content: center;
|
}
|
.mobilePopupOurAfter {
|
position: fixed;
|
top: 37.5%;
|
// left: 13.5%;
|
left: -1000px;
|
width: 75%;
|
height: auto;
|
min-height: 155px;
|
background-color: #fff;
|
box-shadow: 0px 0px 5px #29baf1;
|
transition: all 0.5s;
|
// background-image: linear-gradient(
|
// // 135deg,
|
// #28bbf06c 30px,
|
// #28bbf06c 30px,
|
// // #28bbf06c 50%,
|
// // transparent 50%
|
// #28bbf06c 100%,
|
// transparent 100%
|
// ),
|
// linear-gradient(
|
// // -45deg,
|
// transparent 30px,
|
// #28bbf06c 30px,
|
// // #28bbf06c 50.1%,
|
// // transparent 50%
|
// #28bbf06c 100%,
|
// transparent 100%
|
// );
|
z-index: 300;
|
.m_p_a_heard {
|
width: 100%;
|
height: 35px;
|
box-sizing: border-box;
|
padding: 5px 15px;
|
color: #fff;
|
@extend .flexCenter;
|
justify-content: space-between;
|
background-color: #29baf1;
|
div {
|
width: 35px;
|
height: 35px;
|
@extend .flexCenter;
|
}
|
.icon {
|
font-size: 24px;
|
color: #fff;
|
}
|
}
|
.m_p_a_hdheard {
|
margin: 5px 0;
|
}
|
.m_p_a_center {
|
width: 100%;
|
// height: calc(100% - 35px);
|
height: auto;
|
@extend .flexCenter;
|
flex-direction: column;
|
padding: 5px 0;
|
.m_p_a_center_group {
|
width: 100%;
|
height: auto;
|
@extend .flexCenter;
|
.m_p_a_center_once {
|
width: 30%;
|
height: 50px;
|
// background-image: linear-gradient(#29baf1, #28bbf06c);
|
// background-color: #a40000;
|
background-color: #29baf1;
|
color: #fff;
|
// border: 2px solid rgba(105, 215, 255, 0.658);
|
border: 2px solid rgb(255, 255, 255);
|
@extend .flexCenter;
|
flex-direction: column;
|
// &:hover {
|
// background-image: linear-gradient(#09b7fc, #28bbf0a4);
|
// }
|
}
|
.m_p_a_center_once_notblue {
|
background-color: #fff !important;
|
}
|
}
|
}
|
}
|
.ismBigPopupAfter {
|
left: 13.5%;
|
}
|
</style>
|