doum
2026-02-02 f4f2eb7c80ab85bf0e52c1b911d5a4a82cda330d
mini-program/pages/details/details.vue
@@ -1,35 +1,44 @@
<template>
   <view class="box">
   <view class="box" v-if="item">
      <view class="item">
         <view class="item-tx">
            <image src="/static/logo.png" mode="widthFix"></image>
            <image :src="item.fullImgurl" mode="widthFix"></image>
         </view>
         <view class="item-info">
            <view class="item-info-a">
               <text>刘永慧</text>
               <text>P6|销售培训师</text>
               <text>{{item.name}}</text>
               <template v-if="item.levelName && item.positon">
                  <text>{{item.levelName}}|{{item.positon}}</text>
               </template>
               <template v-if="item.levelName && !item.positon">
                  <text>{{item.levelName}}</text>
               </template>
               <template v-if="!item.levelName && item.positon">
                  <text>{{item.positon}}</text>
               </template>
            </view>
            <view class="item-info-b">
               <view class="item-info-b-row">市场类</view>
               <view class="item-info-b-row">获客类</view>
               <view class="item-info-b-row">培训类</view>
            <view class="item-info-b" v-if="item.typeList && item.typeList.length > 0">
               <view class="item-info-b-row" v-for="(child, i) in item.typeList" :key="i">{{child.name}}</view>
            </view>
            <view class="item-info-c">
               <view class="item-info-c-item">
                  <view class="item-info-c-item-label">从业年限:</view>
                  <view class="item-info-c-item-val">10年</view>
                  <view class="item-info-c-item-val">{{item.workYears}}年</view>
               </view>
               <view class="item-info-c-item">
                  <view class="item-info-c-item-label">近半年服务商场数:</view>
                  <view class="item-info-c-item-val">38个</view>
                  <view class="item-info-c-item-val">{{item.serveNum}}个</view>
               </view>
            </view>
            <view class="item-info-d">
               从事设计商业化已有多年,擅长各种风格,服务大客户超过50户…<text>更多</text>
            <view class="item-info-d" v-if="item.isShow">
               {{item.zhankai ? item.content : item.contentCopy}}<text @click.stop="zhankai(item)">{{item.zhankai ? '收起' : '更多'}}</text>
            </view>
            <view class="item-info-d" v-else>
               {{item.content}}
            </view>
            <view class="item-info-price">
               <text>标准收费</text>
               <text>2900</text>
               <text>{{item.fee}}</text>
            </view>
         </view>
      </view>
@@ -38,22 +47,10 @@
            <view class="card-title-xian"></view>
            <text>擅长领域</text>
         </view>
         <view class="card-list">
            <view class="card-list-item">
               <view class="card-list-item-title">运营操盘:</view>
               <view class="card-list-item-text">城市运营规划,导入门店日常标准化管理、标准数据、Z7动作执行等;</view>
            </view>
            <view class="card-list-item">
               <view class="card-list-item-title">培训提升:</view>
               <view class="card-list-item-text">理论实践培训以及员工综合能力构建;</view>
            </view>
            <view class="card-list-item">
               <view class="card-list-item-title">主动营销:</view>
               <view class="card-list-item-text">近40余场次大型主题营销爆破活动落地:开业、周年庆、新品发布会等;擅长酒店、微联盟组建、商场中庭、店面爆破等;</view>
            </view>
            <view class="card-list-item">
               <view class="card-list-item-title">大单成交:</view>
               <view class="card-list-item-text">客户全流程服务以及大客户跟踪和成交洽谈;</view>
         <view class="card-list" v-if="item.fieldList && item.fieldList.length > 0">
            <view class="card-list-item" v-for="(child, index) in item.fieldList" :key="index">
               <view class="card-list-item-title">{{child.name}}:</view>
               <view class="card-list-item-text">{{child.remark}}</view>
            </view>
         </view>
      </view>
@@ -63,17 +60,18 @@
            <text>优秀项目案例 (40)</text>
         </view>
         <view class="work">
            <view class="work-item" v-for="(item, index) in 5" :key="index">
            <view class="work-item" v-for="(child, index) in item.casesList" :key="index">
               <view class="left">
                  <view class="left-title">云南-大理《三店同庆开业活动》</view>
                  <view class="left-title">{{child.name}}</view>
                  <view class="left-time">
                     <image src="/static/ic_time@2x.png" mode="widthFix"></image>
                     <text>2025-10-01 ~ 2025-10-15</text>
                     <text>{{child.startDate}} ~ {{child.endDate}}</text>
                  </view>
                  <view class="left-info">居然之家商场落地,合计定单150单,同比增长210%,收款280万</view>
                  <view class="left-info">{{child.detail}}</view>
               </view>
               <view class="right">
                  <image src="/static/logo.png" mode="widthFix"></image>
               <view class="right" v-if="child.fileList && child.fileList.length > 0" @click="yulan">
                  <image :src="child.fileList[0].url" mode="widthFix"></image>
                  <view class="right-num">共{{child.fileList.length}}张</view>
               </view>
            </view>
         </view>
@@ -85,8 +83,33 @@
   export default {
      data() {
         return {
            id: null,
            item: null,
         };
      },
      onLoad(option) {
         this.id = option.id
         this.getDetails()
      },
      methods: {
         zhankai() {
            this.item.zhankai = !this.item.zhankai
         },
         getDetails() {
            this.$u.api.memberDetail({
               id: this.id
            }).then(res => {
               if (res.code === 200) {
                  res.data.isShow = false
                  if (res.data.content && res.data.content.length > 30) {
                     res.data.isShow = true
                     res.data.zhankai = false
                     res.data.contentCopy = res.data.content.substring(0, 30) + '...'
                  }
                  this.item = res.data
               }
            })
         }
      }
   }
</script>
@@ -295,6 +318,22 @@
                  overflow: hidden;
                  border-radius: 8rpx;
                  margin-left: 20rpx;
                  position: relative;
                  .right-num {
                     position: absolute;
                     bottom: 0;
                     right: 0;
                     z-index: 9;
                     padding: 0 10rpx;
                     box-sizing: border-box;
                     height: 32rpx;
                     line-height: 32rpx;
                     background: rgba(0,0,0,0.5);
                     font-weight: 400;
                     font-size: 20rpx;
                     color: #FFFFFF;
                     border-radius: 20rpx 0rpx 8rpx 0rpx;
                  }
                  image {
                     width: 100%;
                  }