guhongwei 4 years ago
parent
commit
513297fe1a

+ 130 - 48
src/views/market/detail-model/model-5.vue

@@ -6,30 +6,81 @@
           <slot></slot>
         </el-col>
         <el-col :span="24" class="info">
-          <el-col :span="24" class="title">
-            {{ data.title }}
-          </el-col>
-          <el-col :span="24" class="other">
-            <el-col :span="12" class="text">
-              信息来源:<span>{{ data.origin }}</span>
+          <el-col :span="24" class="top">
+            <el-col :span="24" class="name">
+              <p class="textOver">{{ data.name || '暂无' }}</p>
+              <p>{{ getDate(data.meta.createdAt) }}</p>
             </el-col>
-            <el-col :span="12" class="text">
-              发布时间:<span>{{ data.release_time }}</span>
+            <el-col :span="12">
+              <el-col :span="8" class="otherInfo textOver"> 需求程度 </el-col>
+              <el-col :span="16" class="otherInfo textOver">
+                {{ data.demand || '暂无' }}
+              </el-col>
+            </el-col>
+            <el-col :span="12">
+              <el-col :span="8" class="otherInfo textOver"> 信息属性 </el-col>
+              <el-col :span="16" class="otherInfo textOver">
+                {{ data.messattribute || '暂无' }}
+              </el-col>
+            </el-col>
+            <el-col :span="12">
+              <el-col :span="8" class="otherInfo textOver"> 联系人 </el-col>
+              <el-col :span="16" class="otherInfo textOver">
+                {{ data.contacts || '暂无' }}
+              </el-col>
+            </el-col>
+            <el-col :span="12">
+              <el-col :span="8" class="otherInfo textOver"> QQ/微信 </el-col>
+              <el-col :span="16" class="otherInfo textOver">
+                {{ data.qqwx || '暂无' }}
+              </el-col>
+            </el-col>
+            <el-col :span="12">
+              <el-col :span="8" class="otherInfo textOver"> 联系电话 </el-col>
+              <el-col :span="16" class="otherInfo textOver">
+                {{ getphone(data.phone) || '暂无' }}
+              </el-col>
+            </el-col>
+            <el-col :span="12">
+              <el-col :span="8" class="otherInfo textOver"> 电子邮箱 </el-col>
+              <el-col :span="16" class="otherInfo textOver">
+                {{ data.email || '暂无' }}
+              </el-col>
             </el-col>
           </el-col>
-          <el-col :span="24" class="content">
-            <p v-html="data.content"></p>
-          </el-col>
-          <el-col :span="24" class="image" v-if="data.image">
-            <el-carousel height="300px" :interval="2000">
-              <el-carousel-item v-for="(tag, index) in data.image" :key="index">
-                <el-image :src="tag.url"></el-image>
-              </el-carousel-item>
-            </el-carousel>
-          </el-col>
-          <el-col :span="24" class="fileUrl" v-if="data.fileUrl && data.fileUrl.length > 0">
-            <p>附件:</p>
-            <el-link :href="data.fileUrl[0].url">{{ data.fileUrl[0].name }}</el-link>
+          <el-col :span="24" class="down">
+            <el-col :span="24" class="downInfo">
+              <el-col :span="4" class="tit">
+                <h2>信息描述</h2>
+              </el-col>
+              <el-col :span="20" class="info">
+                {{ data.informationdesc || '暂无' }}
+              </el-col>
+            </el-col>
+            <el-col :span="24" class="downInfo">
+              <el-col :span="4" class="tit">
+                <h2>核心要素</h2>
+              </el-col>
+              <el-col :span="20" class="info">
+                {{ data.coreelements || '暂无' }}
+              </el-col>
+            </el-col>
+            <el-col :span="24" class="downInfo">
+              <el-col :span="4" class="tit">
+                <h2>价格信息</h2>
+              </el-col>
+              <el-col :span="20" class="info">
+                {{ data.priceinfo || '暂无' }}
+              </el-col>
+            </el-col>
+            <el-col :span="24" class="downInfo">
+              <el-col :span="4" class="tit">
+                <h2>商务预期</h2>
+              </el-col>
+              <el-col :span="20" class="info">
+                {{ data.expect || '暂无' }}
+              </el-col>
+            </el-col>
           </el-col>
         </el-col>
       </el-col>
@@ -38,6 +89,8 @@
 </template>
 
 <script>
+const _ = require('lodash');
+const moment = require('moment');
 import { mapState, createNamespacedHelpers } from 'vuex';
 export default {
   name: 'model-0',
@@ -49,7 +102,26 @@ export default {
     return {};
   },
   created() {},
-  methods: {},
+  methods: {
+    // 隐藏手机号
+    getphone(value) {
+      if (value == undefined) {
+        return '暂无';
+      } else {
+        if (value.length === 11) {
+          let start = value.slice(0, 4);
+          let end = value.slice(-3);
+          return `${start}****${end}`;
+        } else {
+          return value;
+        }
+      }
+    },
+    getDate(date) {
+      let newDate = moment(date).format('YYYY-MM-DD');
+      if (newDate) return newDate;
+    },
+  },
   computed: {
     ...mapState(['user']),
   },
@@ -73,38 +145,48 @@ export default {
     margin: 0 0 10px 0;
   }
   .info {
-    .title {
-      font-size: 18px;
-      text-align: center;
-      font-weight: bold;
-      margin: 0 0 15px 0;
-    }
-    .other {
+    .top {
+      height: 180px;
+      overflow: hidden;
       margin: 0 0 15px 0;
-      .text {
-        font-size: 14px;
-        color: #666;
-        text-align: right;
-        padding: 0 10px;
-        span {
-          color: #000;
+      .name {
+        padding: 5px 10px;
+        border: 1px solid #ccc;
+        text-align: center;
+        p:nth-child(1) {
+          font-size: 18px;
+          font-weight: bold;
+        }
+        p:nth-child(2) {
+          font-size: 12px;
+          padding: 5px 0 0 0;
         }
       }
-      .text:nth-child(2) {
-        text-align: left;
+      .otherInfo {
+        font-size: 16px;
+        padding: 5px 10px;
+        height: 40px;
+        border: 1px solid #ccc;
       }
     }
-    .content {
-      font-size: 16px;
-      text-indent: 2rem;
+    .down {
       margin: 0 0 15px 0;
-    }
-    .image {
-      text-align: center;
-      padding: 0 26%;
-      .el-image {
-        width: 100%;
-        height: 100%;
+      .downInfo {
+        border: 1px solid #ccc;
+        .tit {
+          height: 150px;
+          line-height: 150px;
+          text-align: center;
+          border-right: 1px solid #ccc;
+        }
+        .info {
+          font-size: 16px;
+          padding: 10px;
+          min-height: 150px;
+        }
+        h2 {
+          margin: 0;
+        }
       }
     }
   }

+ 7 - 2
src/views/market/list-model/model-5.vue

@@ -8,10 +8,10 @@
           </el-col>
           <el-col :span="24" class="other">
             <el-col :span="12" class="text textOver">
-              所属领域:<span>{{ item.filed }}</span>
+              信息属性:<span>{{ item.messattribute }}</span>
             </el-col>
             <el-col :span="12" class="text textOver">
-              发布时间:<span>{{ item.release_time }}</span>
+              发布时间:<span>{{ getDate(item.meta.createdAt) }}</span>
             </el-col>
           </el-col>
         </el-col>
@@ -21,6 +21,7 @@
 </template>
 
 <script>
+const moment = require('moment');
 import { mapState, createNamespacedHelpers } from 'vuex';
 export default {
   name: 'model-4',
@@ -36,6 +37,10 @@ export default {
     detail(id) {
       this.$router.push({ path: './list', query: { index: this.index, id } });
     },
+    getDate(date) {
+      let newDate = moment(date).format('YYYY-MM-DD');
+      if (newDate) return newDate;
+    },
   },
   computed: {
     ...mapState(['user']),

+ 6 - 10
src/views/market/list/swfw.vue

@@ -14,25 +14,22 @@
 <script>
 const _ = require('lodash');
 import listPage from '@c/list/list-page.vue';
-const { newsColumn } = require('@common/dict/index');
 import { mapState, createNamespacedHelpers } from 'vuex';
-const { mapActions: news } = createNamespacedHelpers('news');
+const { mapActions: product } = createNamespacedHelpers('product');
 export default {
   name: 'swfw',
   props: ['listModel'],
   components: {
     listPage,
-    model2: () => import('../list-model/model-2.vue'),
-    dmodel: () => import('../detail-model/model-2.vue'),
+    model5: () => import('../list-model/model-5.vue'),
+    dmodel: () => import('../detail-model/model-5.vue'),
   },
   data: function () {
     return {
-      // 栏目
-      column: newsColumn,
       // 列表
       list: [],
       total: 0,
-      pageSize: 4,
+      pageSize: 7,
       // 详情
       detail: {},
     };
@@ -41,10 +38,9 @@ export default {
     this.search();
   },
   methods: {
-    ...news(['query', 'fetch']),
+    ...product(['query', 'fetch']),
     async search({ skip = 0, limit = this.pageSize, ...info } = {}) {
-      info.column_name = this.column[this.listModel];
-      let res = await this.query({ skip, limit, ...info });
+      let res = await this.query({ skip, limit, type: 2, ...info });
       if (this.$checkRes(res)) {
         this.$set(this, `list`, res.data);
         this.$set(this, `total`, res.total);