guhongwei 3 years ago
parent
commit
426451ff4b

+ 36 - 2
src/views/live/onAchieve/detail.vue

@@ -19,7 +19,7 @@
             </van-tab>
             <van-tab title="参展项目">
               <van-col span="24" class="downInfo" :style="{ height: client.height - 250 + 'px' }">
-                <project-frame></project-frame>
+                <project-frame @detail="detail"></project-frame>
               </van-col>
             </van-tab>
             <van-tab title="项目路演">
@@ -31,6 +31,11 @@
         </van-col>
       </template>
     </mobileMain>
+    <van-dialog v-model="projectShow" title="项目详情" :show-confirm-button="false" :close-on-click-overlay="true" :show-cancel-button="true">
+      <techol-detail v-if="form.type == '0'" :form="form"></techol-detail>
+      <achieve-detail v-else-if="form.type == '1'" :form="form"></achieve-detail>
+      <service-detail v-else-if="form.type == '2'" :form="form"></service-detail>
+    </van-dialog>
   </div>
 </template>
 
@@ -39,6 +44,9 @@ import videoFrame from './parts/video_1.vue';
 import imgtextFrame from './parts/imgtext_1.vue';
 import chatFrame from './parts/chat_1.vue';
 import projectFrame from './parts/project_1.vue';
+import achieveDetail from '../../market/parts/detail_1.vue';
+import techolDetail from './project/service.vue';
+import serviceDetail from './project/techol.vue';
 import readshowFrame from './parts/readshow_1.vue';
 import { mapState, createNamespacedHelpers } from 'vuex';
 const { mapActions: mapDock } = createNamespacedHelpers('dock');
@@ -50,13 +58,19 @@ export default {
     imgtextFrame,
     chatFrame,
     projectFrame,
+    achieveDetail,
+    techolDetail,
+    serviceDetail,
     readshowFrame,
   },
   data: function() {
     return {
       client: {},
       dockInfo: {},
-      active: 0,
+      active: 2,
+      // 参展项目详情
+      projectShow: false,
+      form: {},
     };
   },
   created() {
@@ -70,6 +84,14 @@ export default {
         this.$set(this, `dockInfo`, res.data);
       }
     },
+    // 查看详情
+    detail(data) {
+      this.$set(this, `form`, data);
+      this.projectShow = true;
+    },
+    confirm() {
+      console.log('1');
+    },
   },
   mounted() {
     let client = {
@@ -107,4 +129,16 @@ export default {
     overflow-y: auto;
   }
 }
+/deep/.van-dialog {
+  top: 50%;
+  width: 340px;
+}
+/deep/.van-dialog__header {
+  padding-top: 10px;
+}
+/deep/.van-dialog__content {
+  height: 500px;
+  overflow-y: auto;
+  padding: 10px;
+}
 </style>

+ 3 - 1
src/views/live/onAchieve/parts/project_1.vue

@@ -46,7 +46,9 @@ export default {
       }
     },
     // 详情页面
-    detail(data) {},
+    detail(data) {
+      this.$emit('detail', data);
+    },
   },
   computed: {
     ...mapState(['user']),

+ 38 - 0
src/views/live/onAchieve/project/achieve.vue

@@ -0,0 +1,38 @@
+<template>
+  <div id="achieve">
+    <van-row>
+      <van-col span="24" class="main"> {{ form.name }} </van-col>
+    </van-row>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+export default {
+  name: 'achieve',
+  props: {
+    form: { type: Object },
+  },
+  components: {},
+  data: function() {
+    return {};
+  },
+  created() {},
+  methods: {},
+  computed: {
+    ...mapState(['user']),
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+  watch: {
+    test: {
+      deep: true,
+      immediate: true,
+      handler(val) {},
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped></style>

+ 38 - 0
src/views/live/onAchieve/project/service.vue

@@ -0,0 +1,38 @@
+<template>
+  <div id="service">
+    <van-row>
+      <van-col span="24" class="main"> {{ form }} </van-col>
+    </van-row>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+export default {
+  name: 'service',
+  props: {
+    form: { type: Object },
+  },
+  components: {},
+  data: function() {
+    return {};
+  },
+  created() {},
+  methods: {},
+  computed: {
+    ...mapState(['user']),
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+  watch: {
+    test: {
+      deep: true,
+      immediate: true,
+      handler(val) {},
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped></style>

+ 38 - 0
src/views/live/onAchieve/project/techol.vue

@@ -0,0 +1,38 @@
+<template>
+  <div id="techol">
+    <van-row>
+      <van-col span="24" class="main"> {{ form }} </van-col>
+    </van-row>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+export default {
+  name: 'techol',
+  props: {
+    form: { type: Object },
+  },
+  components: {},
+  data: function() {
+    return {};
+  },
+  created() {},
+  methods: {},
+  computed: {
+    ...mapState(['user']),
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+  watch: {
+    test: {
+      deep: true,
+      immediate: true,
+      handler(val) {},
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped></style>