From 38d111cb6defedff3bf06314ca30d22a01faae22 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期一, 09 二月 2026 16:30:36 +0800
Subject: [PATCH] 功能开发
---
mini-program/pages/details/details.vue | 97 +++++++++++++++++++++++++++++++++++-------------
1 files changed, 71 insertions(+), 26 deletions(-)
diff --git a/mini-program/pages/details/details.vue b/mini-program/pages/details/details.vue
index ab0977e..9e45ca8 100644
--- a/mini-program/pages/details/details.vue
+++ b/mini-program/pages/details/details.vue
@@ -1,6 +1,6 @@
<template>
- <view class="box">
- <view class="item" v-if="item">
+ <view class="box" v-if="item">
+ <view class="item">
<view class="item-tx">
<image :src="item.fullImgurl" mode="widthFix"></image>
</view>
@@ -36,7 +36,7 @@
<view class="item-info-d" v-else>
{{item.content}}
</view>
- <view class="item-info-price">
+ <view class="item-info-price" v-if="item.fee">
<text>鏍囧噯鏀惰垂</text>
<text>{{item.fee}}</text>
</view>
@@ -48,16 +48,15 @@
<text>鎿呴暱棰嗗煙</text>
</view>
<view class="card-list">
- <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 class="card-list-item">
+ <text v-for="(child, index) in item.fieldList" :key="index">{{child.name}} <template v-if="item.fieldList.length- 1 !== index">銆�</template></text>
</view>
</view>
</view>
- <view class="card">
+ <view class="card" v-if="item.casesList">
<view class="card-title">
<view class="card-title-xian"></view>
- <text>浼樼椤圭洰妗堜緥 (40)</text>
+ <text>浼樼椤圭洰妗堜緥 ({{item.casesList.length}})</text>
</view>
<view class="work">
<view class="work-item" v-for="(child, index) in item.casesList" :key="index">
@@ -69,21 +68,27 @@
</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(child.fileList)">
+ <image :src="child.fileList[0].url" mode="widthFix"></image>
+ <view class="right-num">鍏眥{child.fileList.length}}寮�</view>
</view>
</view>
</view>
</view>
+ <previewImage ref="previewImage" :opacity="1" :circular="true" :imgs="imgs" />
</view>
</template>
<script>
+ import previewImage from '@/components/kxj-previewImage/kxj-previewImage.vue';
export default {
+ components: { previewImage}, //娉ㄥ唽鎻掍欢
data() {
return {
id: null,
item: null,
+
+ imgs: []
};
},
onLoad(option) {
@@ -91,17 +96,38 @@
this.getDetails()
},
methods: {
+ yulan(arr) {
+ this.imgs = arr.map(item => item.url)
+ this.$refs.previewImage.open(this.imgs[0]);
+ // uni.previewImage({
+ // current: url,
+ // urls: this.item.casesList[index].fileList.map(item => item.url),
+ // indicator: 'number'
+ // })
+ },
+ zhankai() {
+ this.item.zhankai = !this.item.zhankai
+ },
getDetails() {
this.$u.api.memberDetail({
id: this.id
}).then(res => {
if (res.code === 200) {
- console.log(res)
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) + '...'
+ }
+ // let arr = []
+ // res.data.fieldList.forEach(item => {
+ // if (item.remark) {
+ // arr.push(item)
+ // }
+ // })
+ // res.data.fieldList = arr;
+ if (res.data.casesList) {
+ this.imageUrls = res.data.casesList.map(item => item.url)
}
this.item = res.data
}
@@ -176,18 +202,21 @@
}
.item-info-a {
display: flex;
- align-items: center;
+ align-items: flex-start;
text {
&:nth-child(1) {
+ flex-shrink: 0;
font-weight: 600;
font-size: 30rpx;
color: #222222;
}
&:nth-child(2) {
+ width: 300rpx;
font-weight: 400;
font-size: 24rpx;
color: #777777;
margin-left: 10rpx;
+ margin-top: 7rpx;
}
}
}
@@ -195,7 +224,7 @@
display: flex;
flex-wrap: wrap;
align-items: center;
- margin-top: 8rpx;
+ margin-top: 16rpx;
.item-info-b-row {
padding: 0 8rpx;
box-sizing: border-box;
@@ -207,8 +236,9 @@
font-size: 22rpx;
color: #2E68C4;
margin-right: 8rpx;
+ margin-bottom: 8rpx;
&:last-child {
- margin: 0;
+ margin-right: 0;
}
}
}
@@ -223,20 +253,21 @@
align-items: center;
.item-info-c-item-label {
font-weight: 400;
- font-size: 24rpx;
+ font-size: 26rpx;
color: #777777;
}
.item-info-c-item-val {
font-weight: 400;
- font-size: 24rpx;
+ font-size: 26rpx;
color: #333333;
}
}
}
.item-info-d {
width: 100%;
+ line-height: 40rpx;
font-weight: 400;
- font-size: 24rpx;
+ font-size: 26rpx;
color: #333333;
margin-top: 20rpx;
text {
@@ -263,6 +294,7 @@
margin-right: 12rpx;
}
text {
+ line-height: 40rpx;
font-weight: 600;
font-size: 32rpx;
color: #222222;
@@ -315,6 +347,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%;
}
@@ -325,20 +373,17 @@
width: 100%;
.card-list-item {
display: flex;
- flex-direction: column;
- margin-bottom: 20rpx;
+ align-items: center;
+ flex-wrap: wrap;
+ margin-bottom: 30rpx;
+ line-height: 40rpx;
&:last-child {
margin: 0 !important;
}
- .card-list-item-title {
- font-weight: 500;
+ text {
+ font-weight: 400;
font-size: 28rpx;
color: #333333;
- }
- .card-list-item-text {
- font-weight: 500;
- font-size: 26rpx;
- color: #666666;
}
}
}
--
Gitblit v1.9.3