|
@@ -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;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|