Baozhangchao hace 3 años
padre
commit
e2357d161f
Se han modificado 3 ficheros con 132 adiciones y 19 borrados
  1. 0
    0
      src/assets/office/1-1-0.png
  2. 112
    0
      src/views/components/OfficeImage.vue
  3. 20
    19
      src/views/office.vue

src/assets/office/首页左右滑动示意按钮1.png → src/assets/office/1-1-0.png Ver fichero


+ 112
- 0
src/views/components/OfficeImage.vue Ver fichero

@@ -0,0 +1,112 @@
1
+<template>
2
+  <div>
3
+    <div class="flex-box-a">
4
+      <div class="flex-box-item">
5
+        <img :src="require('@/assets/office/1-1-0.png')" style="height: 48px; " alt />
6
+      </div>
7
+    </div>
8
+    <div class="flex-box" style="margin-top: 10px">
9
+      <div class="flex-box-item">
10
+        <img
11
+          :src="require('@/assets/office/2.png')"
12
+          style="height: 78px"
13
+          alt
14
+          @click="handleClick(1)"
15
+        />
16
+      </div>
17
+      <div class="flex-box-item">
18
+        <img
19
+          :src="require('@/assets/office/3.png')"
20
+          style="height: 78px"
21
+          alt
22
+          @click="handleClick(2)"
23
+        />
24
+      </div>
25
+      <div class="flex-box-item">
26
+        <img
27
+          :src="require('@/assets/office/4.png')"
28
+          style="height: 78px"
29
+          alt
30
+          @click="handleClick(3)"
31
+        />
32
+      </div>
33
+    </div>
34
+    <div class="flex-box" style="margin-top: 20px">
35
+      <div class="flex-box-style" :style="`transform: translate(${divWidth}px)`">
36
+        <div class="flex-box-item">
37
+          <img
38
+            :src="require('@/assets/office/5.png')"
39
+            style="height: 78px"
40
+            alt
41
+            @click="handleClick(4)"
42
+          />
43
+        </div>
44
+        <div class="flex-box-item">
45
+          <img
46
+            :src="require('@/assets/office/6.png')"
47
+            style="height: 78px"
48
+            alt
49
+            @click="handleClick(5)"
50
+          />
51
+        </div>
52
+        <div ref="divWidth" class="flex-box-item"></div>
53
+      </div>
54
+    </div>
55
+  </div>
56
+</template>
57
+
58
+<script>
59
+export default {
60
+  name: 'OfficeImage',
61
+  data() {
62
+    return {
63
+      divWidth: ''
64
+    }
65
+  },
66
+  created() {},
67
+  mounted() {
68
+    this.$nextTick(function () {
69
+      // 仅在整个视图都被渲染之后才会运行的代码
70
+      this.divWidth = this.$refs.divWidth.clientWidth / 2
71
+    })
72
+  },
73
+  methods: {
74
+    handleClick(inx) {
75
+      this.$emit('goto', inx)
76
+    }
77
+  }
78
+}
79
+</script>
80
+
81
+<style lang="scss" scoped>
82
+.flex-box-a {
83
+  display: flex;
84
+  justify-content: center;
85
+  align-items: center;
86
+  box-sizing: border-box;
87
+  padding-top: 25px;
88
+}
89
+.flex-box {
90
+  display: flex;
91
+  justify-content: center;
92
+  align-items: center;
93
+  box-sizing: border-box;
94
+  padding: 0 20px;
95
+  .flex-box-style {
96
+    justify-content: start;
97
+    display: flex;
98
+    flex-wrap: wrap;
99
+    align-items: center;
100
+    flex: 3;
101
+  }
102
+
103
+  &-item {
104
+    flex: 1;
105
+    img {
106
+      display: block;
107
+      height: 56px;
108
+      margin: 0 auto;
109
+    }
110
+  }
111
+}
112
+</style>

+ 20
- 19
src/views/office.vue Ver fichero

@@ -1,22 +1,22 @@
1 1
 <!-- home -->
2 2
 <template>
3
-  <div class="apartment">
4
-    <pure-image :bg-image="require('@/assets/images/apartment/1.jpg')"></pure-image>
5
-    <apartment-navi class="apartment-navi" @goto="handleGoto" />
3
+  <div class="office-index">
4
+    <pure-image :bg-image="require('@/assets/office/1.png')"></pure-image>
5
+    <office-image class="office-navi" @goto="handleGoto" />
6 6
     <div v-for="(item, index) in list" :key="item.image">
7
-      <modal v-if="visible[index]" class="apartment-modal">
7
+      <yz-modal :visible="visible[index]" class="office-modal">
8 8
         <pure-image :bg-image="item.image"></pure-image>
9 9
         <div class="back-sign" @click="cancelShow(index)">
10
-          <img :src="require('@/assets/images/apartment/backSign.png')" alt />
10
+          <img :src="require('@/assets/office/1-2.png')" alt />
11 11
         </div>
12
-      </modal>
12
+      </yz-modal>
13 13
     </div>
14
-    <modal v-if="visible[5]" class="apartment-modal">
14
+    <!-- <modal v-if="visible[5]" class="office-modal">
15 15
       <swiper-image :list="houseList"></swiper-image>
16 16
       <div class="back-sign" @click="cancelShow(5)">
17
-        <img :src="require('@/assets/images/apartment/backSign.png')" alt />
17
+        <img :src="require('@/assets/office/1-2.png')" alt />
18 18
       </div>
19
-    </modal>
19
+    </modal>-->
20 20
   </div>
21 21
 </template>
22 22
 
@@ -24,31 +24,32 @@
24 24
 export default {
25 25
   components: {
26 26
     PureImage: () => import('./components/PureImage.vue'),
27
-    SwiperImage: () => import('./components/SwiperImage.vue'),
28
-    ApartmentNavi: () => import('./components/ApartmentNavi.vue')
27
+    // SwiperImage: () => import('./components/SwiperImage.vue'),
28
+    // ApartmentNavi: () => import('./components/ApartmentNavi.vue'),
29
+    OfficeImage: () => import('./components/OfficeImage.vue')
29 30
   },
30 31
   data() {
31 32
     return {
32 33
       visible: Array(6).fill(false),
33 34
       list: [
34 35
         {
35
-          image: require('@/assets/images/apartment/2-2.jpg'),
36
+          image: require('@/assets/office/2-1.png'),
36 37
           color: '#f0f0f0'
37 38
         },
38 39
         {
39
-          image: require('@/assets/images/apartment/3-1.jpg'),
40
+          image: require('@/assets/office/3-1.png'),
40 41
           color: '#f0f0f0'
41 42
         },
42 43
         {
43
-          image: require('@/assets/images/apartment/4-1.jpg'),
44
+          image: require('@/assets/office/4-1.png'),
44 45
           color: '#f0f0f0'
45 46
         },
46 47
         {
47
-          image: require('@/assets/images/apartment/6-1.jpg'),
48
+          image: require('@/assets/office/6-1.png'),
48 49
           color: '#f0f0f0'
49 50
         },
50 51
         {
51
-          image: require('@/assets/images/apartment/5-1.jpg'),
52
+          image: require('@/assets/office/5-1.png'),
52 53
           color: '#f0f0f0'
53 54
         }
54 55
       ],
@@ -102,11 +103,11 @@ export default {
102 103
 </script>
103 104
 
104 105
 <style lang="scss" scoped>
105
-.apartment {
106
+.office-index {
106 107
   height: 100%;
107 108
   position: relative;
108 109
 
109
-  .apartment-modal {
110
+  .office-modal {
110 111
     position: absolute;
111 112
     width: 100%;
112 113
     height: 100%;
@@ -114,7 +115,7 @@ export default {
114 115
     left: 0;
115 116
   }
116 117
 
117
-  .apartment-navi {
118
+  .office-navi {
118 119
     position: absolute;
119 120
     width: 100%;
120 121
     height: 40%;