| | |
| | | <template> |
| | | <view> |
| | | <view> |
| | | <h-tabs |
| | | class="tab" |
| | | :activeIndex="tabIndex" |
| | | :tabData="tabs" |
| | | :config="{ |
| | | color: '#abb1cc', |
| | | activeColor: '#518EFF', |
| | | underLineColor: '#518EFF', |
| | | underLineHeight: 6, |
| | | fontSize: '30', |
| | | underLineWidth: 110, |
| | | }" |
| | | @tabClick="tabClick($event)" |
| | | /> |
| | | </view> |
| | | <view class="content" v-if="tabIndex==0"> |
| | | <view class="flex flex-v align-center font-13"> |
| | | <image class="content-header-img" :src="info.photo?info.photo:'../../static/images/default-avatar.png'"></image> |
| | | <view class="flex mt-10"> |
| | | <text>姓名: {{info.vipName}}</text> |
| | | <text class="ml-10">性别: {{info.sex}}</text> |
| | | </view> |
| | | <text class="mt-5 gray">生成时间: {{info.checkTime}}</text> |
| | | </view> |
| | | <view class="mt-20"> |
| | | <view class="flex align-center"> |
| | | <text class="iconfont icondd big-dot"></text> |
| | | <text class="font-15 font-bold">AI诊断结果(平均概率)</text> |
| | | </view> |
| | | <view class="font-13 flex ml-15 mt-10"> |
| | | <view class="flex align-center mr-20" v-for="item in info.diagnoseItems"> |
| | | <text class="iconfont icondd small-dot red"></text> |
| | | <text>{{item.title}}: {{item.percentage}}%</text> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view class="mt-20"> |
| | | <view class="flex align-center"> |
| | | <text class="iconfont icondd big-dot"></text> |
| | | <text class="font-15 font-bold">问题分析</text> |
| | | </view> |
| | | <view class="flex problem-row" v-for="item in info.analysisItems"> |
| | | <view> |
| | | <image class="skin-img" :src="item.img?item.img:'../../static/images/no-img.png'"></image> |
| | | </view> |
| | | <view class="flex flex-v"> |
| | | <view> |
| | | <text class="iconfont icondd small-dot"></text> |
| | | <text class="font-14">{{item.title}}</text> |
| | | </view> |
| | | <text class="font-10 ml-10 mt-10 dark-gray">症状描述:</text> |
| | | <text class="font-10 ml-10 mt-5 gray">{{item.analysis}}</text> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <template v-else> |
| | | <view class="content" v-for="item in info.analysisItems"> |
| | | <view class="content-title center"> |
| | | <text class="font-16 font-bold blue">{{item.title}}</text> |
| | | </view> |
| | | <view class="flex content-row"> |
| | | <text class="iconfont icondd big-dot mt-10"></text> |
| | | <view class="flex flex-v content-row-right mr-10"> |
| | | <text class="font-15 font-bold">症状描述:</text> |
| | | <text class="gray mt-5 font-13">{{item.analysis}}</text> |
| | | </view> |
| | | </view> |
| | | <view class="flex content-row"> |
| | | <text class="iconfont icondd big-dot mt-10"></text> |
| | | <view class="flex flex-v content-row-right mr-10"> |
| | | <text class="font-15 font-bold">建议护理:</text> |
| | | <text class="gray mt-5 font-13">{{item.solution}}。</text> |
| | | </view> |
| | | </view> |
| | | <view class="flex content-row"> |
| | | <text class="iconfont icondd big-dot mt-10"></text> |
| | | <view class="flex flex-v content-row-right mr-10"> |
| | | <text class="font-15 font-bold">建议使用产品:</text> |
| | | <view class="font-13 gray flex align-center mt-10" v-for="op in item.products"> |
| | | <text class="iconfont iconchanpin mr-5"></text> |
| | | <text>{{op}}</text> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import HTabs from "@/components/liuyuno-tabs/liuyuno-tabs.vue"; |
| | | export default{ |
| | | components: { |
| | | HTabs |
| | | }, |
| | | data() { |
| | | return { |
| | | tabs:[ |
| | | { |
| | | state: 0, |
| | | name: '问题分析' |
| | | }, |
| | | { |
| | | state: 1, |
| | | name: '解决方案' |
| | | } |
| | | ], |
| | | tabIndex:0, |
| | | info: {} |
| | | } |
| | | }, |
| | | onLoad(options) { |
| | | uni.setNavigationBarTitle({ |
| | | title: options.title |
| | | }); |
| | | if(options.title){ |
| | | uni.setNavigationBarTitle({ |
| | | title: options.title |
| | | }); |
| | | } |
| | | this.loadInfo(options.id); |
| | | }, |
| | | methods:{ |
| | | tabClick(index){ |
| | | this.tabIndex=index |
| | | }, |
| | | loadInfo(id){ |
| | | this.$httpUtils.request('/api/skinCheck/findSkinCheckDetail/'+id).then((res) => { |
| | | if(res.status == 200){ |
| | | this.info = res.mapInfo.detail |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style> |
| | | page{ |
| | | background: #F6F6F8; |
| | | } |
| | | .tab{ |
| | | background: #FFFFFF; |
| | | border-bottom-left-radius: 4px; |
| | | border-bottom-right-radius: 4px; |
| | | box-shadow:0 6px 6px rgba(237,234,244,0.5); |
| | | } |
| | | .content{ |
| | | background: #FFFFFF; |
| | | margin: 10px; |
| | | padding: 10px 0; |
| | | border: 1px solid #EDEAF4; |
| | | border-radius: 4px; |
| | | box-shadow:0 6px 6px rgba(237,234,244,0.5); |
| | | } |
| | | .content-header-img{ |
| | | width: 80px; |
| | | height: 80px; |
| | | border-radius: 50%; |
| | | } |
| | | .big-dot{ |
| | | font-size: 20px; |
| | | } |
| | | .small-dot{ |
| | | font-size: 10px; |
| | | } |
| | | .skin-img{ |
| | | width: 100px; |
| | | height: 100px; |
| | | border-radius: 4px; |
| | | } |
| | | .problem-row{ |
| | | padding: 10px 0; |
| | | border-bottom: 1px solid #EDEAF4; |
| | | margin: 0 10px; |
| | | } |
| | | .problem-row:nth-last-child(1){ |
| | | border: 0; |
| | | } |
| | | .content-title{ |
| | | border-bottom: 1px solid #EDEAF4; |
| | | margin: 0 10px; |
| | | padding-bottom: 10px; |
| | | } |
| | | .content-row-right{ |
| | | flex: 1; |
| | | padding: 10px 0; |
| | | border-bottom: 1px solid #EDEAF4; |
| | | } |
| | | .content-row:nth-last-child(1) .content-row-right{ |
| | | border: 0; |
| | | } |
| | | </style> |