From cfc635a5ca0d9206985869bf62bf72535ee45e14 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Wed, 26 Jan 2022 09:30:03 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.105:10010/r/school-web

---
 src/components/mobilePopupOurAfter/index.vue |  159 +++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 141 insertions(+), 18 deletions(-)

diff --git a/src/components/mobilePopupOurAfter/index.vue b/src/components/mobilePopupOurAfter/index.vue
index 77c5e51..20028e5 100644
--- a/src/components/mobilePopupOurAfter/index.vue
+++ b/src/components/mobilePopupOurAfter/index.vue
@@ -3,17 +3,21 @@
     class="mobilePopupOurAfter"
     :class="{ ismBigPopupAfter: mBigPopupAfter }"
   >
-    <!-- v-show="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"
+          :class="[
+            'm_p_a_center_once',
+            item.name ? '' : 'm_p_a_center_once_notblue',
+          ]"
           v-for="(item, index) in choiceDataUp"
-          @click="openBigPopup(item)"
+          @click="item.name ? openBigPopup(item) : ''"
           :key="index"
         >
           <div class="m_p_a_c_o_up"><i :class="[item.icon]"></i></div>
@@ -22,9 +26,38 @@
       </div>
       <div class="m_p_a_center_group">
         <div
-          class="m_p_a_center_once"
+          :class="[
+            'm_p_a_center_once',
+            item.name ? '' : 'm_p_a_center_once_notblue',
+          ]"
           v-for="(item, index) in choiceDataDown"
-          @click="openBigPopup(item)"
+          @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>
@@ -54,6 +87,7 @@
 } 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: {
@@ -83,11 +117,6 @@
       ],
       choiceDataDown: [
         {
-          name: "文化风景",
-          opendata: "openData4",
-          icon: "el-icon-s-opportunity",
-        },
-        {
           name: "出入口",
           opendata: "openData5",
           icon: "el-icon-s-promotion",
@@ -97,11 +126,28 @@
           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: 3, method: getList },
         // { name: "教学与科研机构", type: 4, method: getList },
         { name: "其他机构", type: 5, method: getList },
       ],
@@ -131,7 +177,7 @@
       openData3: [
         // { name: "食堂餐厅", type: 1, method: getListLifeOnce },
         // { name: "购物超市", type: 2, method: getListLifeOnce },
-        // { name: "社区医疗", type: 3, method: getListLifeOnce },
+        { name: "社区医疗", type: 3, method: getListLifeOnce },
         // { name: "邮寄快递", type: 4, method: getListLifeOnce },
         // { name: "社区浴室", type: 5, method: getListLifeOnce },
         // // { name: "圈存机", type: 6, method: getListLifeOnce },
@@ -142,14 +188,81 @@
         { 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 }],
-      openData4: [{ name: "文化风景", type: 5, method: getChildNavList }],
+      useHD: false,
     };
   },
-  mounted() {},
+  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]);
+        return;
+      }
       const d = {
         main: this[val.opendata],
         qurey: val.name,
@@ -176,7 +289,8 @@
   // left: 13.5%;
   left: -1000px;
   width: 75%;
-  height: 25%;
+  height: auto;
+  min-height: 155px;
   background-color: #fff;
   box-shadow: 0px 0px 5px #29baf1;
   transition: all 0.5s;
@@ -204,6 +318,7 @@
     height: 35px;
     box-sizing: border-box;
     padding: 5px 15px;
+    color: #fff;
     @extend .flexCenter;
     justify-content: space-between;
     background-color: #29baf1;
@@ -217,18 +332,23 @@
       color: #fff;
     }
   }
+  .m_p_a_hdheard {
+    margin: 5px 0;
+  }
   .m_p_a_center {
     width: 100%;
-    height: calc(100% - 35px);
+    // height: calc(100% - 35px);
+    height: auto;
     @extend .flexCenter;
     flex-direction: column;
+    padding: 5px 0;
     .m_p_a_center_group {
       width: 100%;
-      height: 40%;
+      height: auto;
       @extend .flexCenter;
       .m_p_a_center_once {
         width: 30%;
-        height: 100%;
+        height: 50px;
         // background-image: linear-gradient(#29baf1, #28bbf06c);
         // background-color: #a40000;
         background-color: #29baf1;
@@ -241,6 +361,9 @@
         // background-image: linear-gradient(#09b7fc, #28bbf0a4);
         // }
       }
+      .m_p_a_center_once_notblue {
+        background-color: #fff !important;
+      }
     }
   }
 }

--
Gitblit v1.9.3