2025-07-30 16:14:56 +08:00
|
|
|
|
<template>
|
2025-08-06 16:00:05 +08:00
|
|
|
|
<view class="page">
|
2025-08-28 15:49:17 +08:00
|
|
|
|
<custom-navbar ref="customNavbar" title="未来规划" />
|
2025-08-14 11:22:53 +08:00
|
|
|
|
<tile-grid />
|
2025-08-28 12:00:35 +08:00
|
|
|
|
<view class="bg">
|
|
|
|
|
|
<view class="container">
|
|
|
|
|
|
<text class="proName">{{ projectDetails.proName }}</text>
|
2025-08-28 15:49:17 +08:00
|
|
|
|
<image
|
|
|
|
|
|
:src="projectDetails.imgUrl"
|
|
|
|
|
|
class="imgUrl"
|
|
|
|
|
|
mode="aspectFill"
|
|
|
|
|
|
></image>
|
2025-08-28 12:00:35 +08:00
|
|
|
|
<text class="tip">{{ projectDetails.proName }}效果图</text>
|
|
|
|
|
|
<text class="planTitle">用善意,筑就明天的模样</text>
|
|
|
|
|
|
<text class="proProfile">{{ projectDetails.proProfile }}</text>
|
|
|
|
|
|
<text class="introduce">项目介绍</text>
|
2025-08-28 18:01:59 +08:00
|
|
|
|
<rich-text
|
|
|
|
|
|
:nodes="formatRichText(projectDetails.proIntroduce)"
|
|
|
|
|
|
class="rich-text-content"
|
|
|
|
|
|
></rich-text>
|
2025-08-28 12:00:35 +08:00
|
|
|
|
<view class="donorContainer">
|
|
|
|
|
|
<text>项目筹款情况</text>
|
|
|
|
|
|
<view class="donorData">
|
2025-08-30 18:03:45 +08:00
|
|
|
|
<view class="CircleProgress">
|
|
|
|
|
|
<circle-progress
|
|
|
|
|
|
:canvas-size="65"
|
|
|
|
|
|
:progress="getProgressPercentage"
|
|
|
|
|
|
progress-color="#A24242"
|
|
|
|
|
|
strokeWidth="5"
|
|
|
|
|
|
></circle-progress>
|
|
|
|
|
|
</view>
|
2025-08-28 12:00:35 +08:00
|
|
|
|
|
|
|
|
|
|
<view class="data-info">
|
|
|
|
|
|
<view class="data-row">
|
|
|
|
|
|
<view class="label">公众筹款目标(元):</view>
|
|
|
|
|
|
<view class="value">{{ projectDetails.totalAmount }}</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view class="data-row">
|
|
|
|
|
|
<view class="label">当前筹款金额(元):</view>
|
|
|
|
|
|
<view class="value">{{ projectDetails.amountSum }}</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view class="data-row">
|
|
|
|
|
|
<view class="label">当前捐款人次:</view>
|
|
|
|
|
|
<view class="value">{{ projectDetails.donorCount }}</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
2025-08-30 17:15:04 +08:00
|
|
|
|
|
2025-08-29 16:29:27 +08:00
|
|
|
|
<view class="record" @click="goDonationRecord"
|
2025-08-28 12:00:35 +08:00
|
|
|
|
>查看捐款记录
|
|
|
|
|
|
<u-icon name="arrow-right"></u-icon>
|
|
|
|
|
|
</view>
|
2025-08-28 15:49:17 +08:00
|
|
|
|
</view>
|
|
|
|
|
|
<view class="new-develop-container">
|
|
|
|
|
|
<text class="section-title">最新进展</text>
|
|
|
|
|
|
<view
|
2025-08-29 15:33:14 +08:00
|
|
|
|
v-for="item in winB_List"
|
2025-08-28 15:49:17 +08:00
|
|
|
|
:key="item.id"
|
|
|
|
|
|
class="constructionSituation"
|
|
|
|
|
|
>
|
2025-08-30 11:42:27 +08:00
|
|
|
|
<view class="project-info" @click="goProjectDetail(item)">
|
2025-08-28 15:49:17 +08:00
|
|
|
|
<view class="line-left">
|
|
|
|
|
|
<image :src="buddhaIcon" mode="aspectFill"></image>
|
|
|
|
|
|
<view class="line"></view>
|
|
|
|
|
|
</view>
|
2025-08-30 11:42:27 +08:00
|
|
|
|
<view class="info" @click="">
|
2025-08-28 15:49:17 +08:00
|
|
|
|
<view class="time">
|
|
|
|
|
|
{{ item.createTime }}
|
|
|
|
|
|
</view>
|
2025-08-30 11:42:27 +08:00
|
|
|
|
<text>{{ item.title }}</text>
|
2025-08-28 15:49:17 +08:00
|
|
|
|
<rich-text :nodes="item.content"></rich-text>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<image
|
|
|
|
|
|
v-if="item.coverUrl"
|
2025-09-18 15:39:51 +08:00
|
|
|
|
:src="item.coverUrl.split(',')[0]"
|
2025-08-28 15:49:17 +08:00
|
|
|
|
class="content-image"
|
|
|
|
|
|
mode="aspectFill"
|
|
|
|
|
|
></image>
|
2025-08-28 12:00:35 +08:00
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
2025-08-29 15:33:14 +08:00
|
|
|
|
<view v-if="winB_NoMore === false" class="more" @click="loadMore"
|
2025-08-29 16:29:27 +08:00
|
|
|
|
>查看更多{{ winB_Pagination.remainingItems }}条进展
|
2025-08-29 15:33:14 +08:00
|
|
|
|
</view>
|
|
|
|
|
|
<view v-else class="more">到底了</view>
|
2025-08-28 12:00:35 +08:00
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
2025-08-06 16:00:05 +08:00
|
|
|
|
</view>
|
2025-09-05 11:36:54 +08:00
|
|
|
|
<button v-if="projectDetails.state === '2'" @click="handleDonate">
|
|
|
|
|
|
捐一笔
|
|
|
|
|
|
</button>
|
2025-09-05 15:53:41 +08:00
|
|
|
|
<u-popup v-model="show" border-radius="30" height="614rpx" mode="bottom">
|
|
|
|
|
|
<view class="donation">
|
|
|
|
|
|
<view class="title-row">
|
|
|
|
|
|
<view class="title">为寺庙建设捐出</view>
|
2025-09-16 10:00:20 +08:00
|
|
|
|
<u-icon
|
|
|
|
|
|
class="close-icon"
|
|
|
|
|
|
name="close"
|
|
|
|
|
|
@click="show = false"
|
|
|
|
|
|
></u-icon>
|
2025-09-05 15:53:41 +08:00
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
|
|
<view class="donation-tip">
|
|
|
|
|
|
<view class="amount">100元</view>
|
|
|
|
|
|
<view class="equivalent">,相当于1次健康祈福</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
|
|
<u-line color="#D8D8D8" />
|
|
|
|
|
|
|
|
|
|
|
|
<view class="select">
|
|
|
|
|
|
<view
|
|
|
|
|
|
v-for="(item, index) in donationList"
|
|
|
|
|
|
:key="index"
|
|
|
|
|
|
:class="{ active: selectedIndex === index }"
|
|
|
|
|
|
class="donation-option"
|
|
|
|
|
|
@click="selectOption(index)"
|
|
|
|
|
|
>
|
|
|
|
|
|
{{ item }}次健康祈福
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
|
|
<view class="customMoney">
|
|
|
|
|
|
<input
|
|
|
|
|
|
v-model="customAmount"
|
|
|
|
|
|
class="custom-input"
|
|
|
|
|
|
placeholder="自定义金额"
|
|
|
|
|
|
type="number"
|
|
|
|
|
|
@input="handleCustomInput"
|
|
|
|
|
|
/>
|
|
|
|
|
|
<u-icon
|
|
|
|
|
|
class="reload-icon"
|
|
|
|
|
|
name="reload"
|
|
|
|
|
|
@click="randomAmount"
|
|
|
|
|
|
></u-icon>
|
|
|
|
|
|
<text class="random-text" @click="randomAmount">随缘</text>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
|
|
<button class="confirm-btn" @click="toDonation">
|
|
|
|
|
|
确认支付¥{{ payAmount }}
|
|
|
|
|
|
</button>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</u-popup>
|
2025-09-16 16:21:36 +08:00
|
|
|
|
|
|
|
|
|
|
<goToCertification
|
|
|
|
|
|
:visible="visible"
|
|
|
|
|
|
@goToCertification="goToCertification"
|
|
|
|
|
|
@handleClose="handleClose"
|
|
|
|
|
|
></goToCertification>
|
2025-08-06 16:00:05 +08:00
|
|
|
|
</view>
|
2025-07-30 16:14:56 +08:00
|
|
|
|
</template>
|
|
|
|
|
|
|
2025-08-06 16:00:05 +08:00
|
|
|
|
<script>
|
2025-08-28 12:00:35 +08:00
|
|
|
|
import CommonEnum from "../../enum/common";
|
2025-08-28 17:40:24 +08:00
|
|
|
|
import {
|
|
|
|
|
|
getInstitutionalDetail,
|
|
|
|
|
|
getProjectSchedule,
|
|
|
|
|
|
} from "../../api/institutionalStructure/institutionalStructureDetail";
|
2025-08-29 15:33:14 +08:00
|
|
|
|
import { createPagination } from "../../composables/winB_Pagination";
|
2025-09-16 16:21:36 +08:00
|
|
|
|
import GoToCertification from "./components/goToCertification.vue";
|
2025-09-18 15:17:30 +08:00
|
|
|
|
import { ordersFormed } from "../../api/order/order";
|
2025-08-06 16:00:05 +08:00
|
|
|
|
|
2025-08-28 12:00:35 +08:00
|
|
|
|
export default {
|
2025-09-16 16:21:36 +08:00
|
|
|
|
components: { GoToCertification },
|
2025-08-29 15:33:14 +08:00
|
|
|
|
mixins: [
|
|
|
|
|
|
createPagination({
|
|
|
|
|
|
fetchData: getProjectSchedule,
|
|
|
|
|
|
mode: "loadMore",
|
|
|
|
|
|
pageSize: 2,
|
2025-09-05 17:27:47 +08:00
|
|
|
|
autoLoad: false, // 设置为 false,不自动加载
|
2025-08-29 15:33:14 +08:00
|
|
|
|
}),
|
|
|
|
|
|
],
|
2025-08-28 12:00:35 +08:00
|
|
|
|
data() {
|
|
|
|
|
|
return {
|
2025-09-16 16:21:36 +08:00
|
|
|
|
visible: false,
|
2025-09-05 15:53:41 +08:00
|
|
|
|
show: false,
|
2025-08-28 12:00:35 +08:00
|
|
|
|
CommonEnum,
|
|
|
|
|
|
buddhaIcon: "https://api.ccttiot.com/image-1756353071821.png",
|
|
|
|
|
|
loading: false,
|
2025-09-05 15:53:41 +08:00
|
|
|
|
donationList: [1, 5, 10],
|
|
|
|
|
|
selectedIndex: 0,
|
|
|
|
|
|
customAmount: "",
|
2025-09-16 10:00:20 +08:00
|
|
|
|
payAmount: "100",
|
2025-09-05 17:27:47 +08:00
|
|
|
|
formedId: null, // 添加 formedId 到 data 中
|
2025-09-05 15:53:41 +08:00
|
|
|
|
|
2025-08-28 12:00:35 +08:00
|
|
|
|
projectDetails: {
|
2025-09-05 11:32:33 +08:00
|
|
|
|
// createBy: null,
|
|
|
|
|
|
// createTime: "2025-07-08 17:50:26",
|
|
|
|
|
|
// updateBy: null,
|
|
|
|
|
|
// updateTime: null,
|
|
|
|
|
|
// remark: null,
|
|
|
|
|
|
// scope: null,
|
|
|
|
|
|
// deleted: null,
|
|
|
|
|
|
// areaPermissions: null,
|
|
|
|
|
|
// id: "6",
|
|
|
|
|
|
// templeId: "11",
|
|
|
|
|
|
// proName: "123",
|
|
|
|
|
|
// proProfile: "我们计划在202X-203X年完成这些重要建设,邀您共同见证",
|
|
|
|
|
|
// formedYear: null,
|
|
|
|
|
|
// imgUrl: "https://api.ccttiot.com/IMG01-1751968117197.jpg",
|
|
|
|
|
|
// proIntroduce:
|
|
|
|
|
|
// "<p>项目介绍项目介绍项目介绍项目介绍项目介绍项目介</p><p>绍项目介绍项目介绍项目介绍项目介绍项目介绍</p><p>项目介绍项目介绍项目介绍项目介绍项目介绍项目介</p><p>绍项目介绍项目介绍项目</p><p>项目介绍项目介绍项目介绍项目介绍项目介绍项目介</p><p>绍项目介绍项目介绍项目介绍项目介绍项目介绍</p>",
|
|
|
|
|
|
// totalAmount: 10000101.0,
|
|
|
|
|
|
// state: "1",
|
|
|
|
|
|
// createId: null,
|
|
|
|
|
|
// templeName: "少林寺",
|
|
|
|
|
|
// donorCount: 6,
|
|
|
|
|
|
// amountSum: 6666666,
|
2025-08-14 11:22:53 +08:00
|
|
|
|
},
|
2025-08-30 11:42:27 +08:00
|
|
|
|
winB_List: [
|
2025-09-05 11:32:33 +08:00
|
|
|
|
// {
|
|
|
|
|
|
// id: "18",
|
|
|
|
|
|
// templeId: "12",
|
|
|
|
|
|
// title: "施工情况01",
|
|
|
|
|
|
// content: "<p>施工情况02施工情况02...</p>",
|
|
|
|
|
|
// status: "1",
|
|
|
|
|
|
// templeName: "寒山寺",
|
|
|
|
|
|
// createTime: "2025-07-09 13:50:57",
|
|
|
|
|
|
// coverUrl: "https://api.ccttiot.com/IMG01-1751968117197.jpg",
|
|
|
|
|
|
// },
|
|
|
|
|
|
//
|
|
|
|
|
|
// {
|
|
|
|
|
|
// id: "19",
|
|
|
|
|
|
// templeId: "12",
|
|
|
|
|
|
// title: "施工情况01232",
|
|
|
|
|
|
// content:
|
2025-09-05 17:27:47 +08:00
|
|
|
|
// "<p>施工情况02施工情况02施工情况02施工情况02施工情况02施工情况02施工情况02施工情况02施工情况02施工情况02施工情况02施工情况02施工情况02施工情况02施工情况02施工情况02施工情况02施工情况02施工情况02施工情况02施工情况02...</p>",
|
2025-09-05 11:32:33 +08:00
|
|
|
|
// status: "1",
|
|
|
|
|
|
// templeName: "寒山寺",
|
|
|
|
|
|
// createTime: "2025-07-09 13:50:57",
|
|
|
|
|
|
// coverUrl: "https://api.ccttiot.com/IMG01-1751968117197.jpg",
|
|
|
|
|
|
// },
|
|
|
|
|
|
// {
|
|
|
|
|
|
// id: "19",
|
|
|
|
|
|
// templeId: "12",
|
|
|
|
|
|
// title: "施工情况01232",
|
|
|
|
|
|
// content: "<p>施工情况02施工情况02...</p>",
|
|
|
|
|
|
// status: "1",
|
|
|
|
|
|
// templeName: "寒山寺",
|
|
|
|
|
|
// createTime: "2025-07-09 13:50:57",
|
|
|
|
|
|
// coverUrl: "https://api.ccttiot.com/IMG01-1751968117197.jpg",
|
|
|
|
|
|
// },
|
2025-08-28 12:00:35 +08:00
|
|
|
|
],
|
|
|
|
|
|
};
|
|
|
|
|
|
},
|
2025-08-28 17:23:47 +08:00
|
|
|
|
|
|
|
|
|
|
onLoad(options) {
|
|
|
|
|
|
if (options) {
|
|
|
|
|
|
console.log("接收到的参数:", options.formedId);
|
|
|
|
|
|
this.formedId = options.formedId;
|
2025-09-05 17:27:47 +08:00
|
|
|
|
// 更新参数并首次执行数据加载
|
|
|
|
|
|
this.winB_UpdateParams({ formedId: this.formedId });
|
2025-08-28 17:23:47 +08:00
|
|
|
|
}
|
2025-08-28 12:00:35 +08:00
|
|
|
|
// 页面加载时获取数据
|
|
|
|
|
|
this.loadPageData();
|
|
|
|
|
|
},
|
|
|
|
|
|
methods: {
|
2025-09-16 16:21:36 +08:00
|
|
|
|
handleClose() {
|
|
|
|
|
|
this.visible = false;
|
|
|
|
|
|
},
|
|
|
|
|
|
goToCertification() {
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: "/pages/realName/realName",
|
|
|
|
|
|
});
|
|
|
|
|
|
},
|
2025-08-28 12:00:35 +08:00
|
|
|
|
// 加载页面数据
|
|
|
|
|
|
async loadPageData() {
|
|
|
|
|
|
try {
|
2025-08-29 15:33:14 +08:00
|
|
|
|
const [detailResponse] = await Promise.all([
|
2025-08-28 17:40:24 +08:00
|
|
|
|
getInstitutionalDetail(this.formedId),
|
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
|
|
// 处理机构详情数据
|
|
|
|
|
|
if (detailResponse?.code === 200) {
|
2025-09-05 11:32:33 +08:00
|
|
|
|
this.projectDetails = detailResponse.data;
|
|
|
|
|
|
console.log("projectDetails.state:", this.projectDetails.state);
|
2025-08-28 17:40:24 +08:00
|
|
|
|
} else {
|
|
|
|
|
|
console.warn("获取机构详情失败:", detailResponse?.message);
|
|
|
|
|
|
uni.showToast({
|
|
|
|
|
|
title: "获取详情失败",
|
|
|
|
|
|
icon: "none",
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
2025-08-28 12:00:35 +08:00
|
|
|
|
} catch (error) {
|
|
|
|
|
|
console.error("获取页面数据失败:", error);
|
2025-08-28 17:40:24 +08:00
|
|
|
|
uni.showToast({
|
|
|
|
|
|
title: "数据加载失败",
|
|
|
|
|
|
icon: "none",
|
|
|
|
|
|
});
|
|
|
|
|
|
} finally {
|
2025-08-28 12:00:35 +08:00
|
|
|
|
this.loading = false;
|
|
|
|
|
|
}
|
2025-08-14 11:22:53 +08:00
|
|
|
|
},
|
2025-08-28 18:01:59 +08:00
|
|
|
|
formatRichText(html) {
|
|
|
|
|
|
if (!html) return "";
|
|
|
|
|
|
|
|
|
|
|
|
// 为图片添加最大宽度限制
|
|
|
|
|
|
const formattedHtml = html.replace(
|
|
|
|
|
|
/<img([^>]*)>/gi,
|
|
|
|
|
|
'<img$1 style="max-width: 100%; height: auto; display: block; margin: 10rpx auto;">',
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
return formattedHtml;
|
|
|
|
|
|
},
|
2025-08-29 15:33:14 +08:00
|
|
|
|
loadMore() {
|
|
|
|
|
|
this.winB_LoadMore();
|
|
|
|
|
|
},
|
2025-08-29 16:29:27 +08:00
|
|
|
|
goDonationRecord() {
|
|
|
|
|
|
// 跳转到捐款记录页面,传递建制ID
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: `/pages/institutionalStructure/donationRecord?formedId=${this.formedId}`,
|
|
|
|
|
|
fail: (err) => {
|
|
|
|
|
|
console.error("跳转失败:", err);
|
|
|
|
|
|
uni.showToast({
|
|
|
|
|
|
title: "页面跳转失败",
|
|
|
|
|
|
icon: "none",
|
|
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
});
|
2025-08-29 15:33:14 +08:00
|
|
|
|
},
|
2025-08-30 11:42:27 +08:00
|
|
|
|
goProjectDetail(item) {
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: `/pages/institutionalStructure/projectDetail?title=${encodeURIComponent(item.title)}&content=${encodeURIComponent(item.content)}&createTime=${encodeURIComponent(item.createTime)}&coverUrl=${encodeURIComponent(item.coverUrl)}`,
|
|
|
|
|
|
});
|
|
|
|
|
|
},
|
2025-09-05 11:32:33 +08:00
|
|
|
|
handleDonate() {
|
|
|
|
|
|
console.log("根据state进行弹窗", this.projectDetails.state);
|
|
|
|
|
|
if (this.projectDetails.state === "1") {
|
|
|
|
|
|
uni.showToast({
|
|
|
|
|
|
title: "捐款暂未开始",
|
|
|
|
|
|
icon: "none",
|
|
|
|
|
|
duration: 2000,
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (this.projectDetails.state !== "1") {
|
|
|
|
|
|
// 执行捐赠逻辑
|
2025-09-05 15:53:41 +08:00
|
|
|
|
this.show = true;
|
2025-09-05 11:32:33 +08:00
|
|
|
|
}
|
|
|
|
|
|
},
|
2025-09-05 15:53:41 +08:00
|
|
|
|
selectOption(index) {
|
|
|
|
|
|
this.selectedIndex = index;
|
|
|
|
|
|
this.payAmount = this.donationList[index] * 100;
|
|
|
|
|
|
this.customAmount = "";
|
|
|
|
|
|
},
|
|
|
|
|
|
handleCustomInput() {
|
|
|
|
|
|
if (this.customAmount) {
|
|
|
|
|
|
this.payAmount = parseInt(this.customAmount);
|
|
|
|
|
|
this.selectedIndex = -1;
|
|
|
|
|
|
} else {
|
|
|
|
|
|
this.payAmount = "";
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
randomAmount() {
|
|
|
|
|
|
// 生成随机金额(50-1000)
|
|
|
|
|
|
const randomAmount = Math.floor(Math.random() * (1000 - 50 + 1)) + 50;
|
|
|
|
|
|
this.customAmount = randomAmount.toString();
|
|
|
|
|
|
this.payAmount = randomAmount;
|
|
|
|
|
|
this.selectedIndex = -1;
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
async toDonation() {
|
2025-09-18 15:17:30 +08:00
|
|
|
|
let res = await ordersFormed({
|
2025-09-05 15:53:41 +08:00
|
|
|
|
payAmount: this.payAmount,
|
|
|
|
|
|
formedId: this.formedId,
|
|
|
|
|
|
});
|
2025-09-16 10:00:20 +08:00
|
|
|
|
if (res.code === 200) {
|
2025-09-18 15:17:30 +08:00
|
|
|
|
// this.openPaymentUrl(res.data.payParams.payUrl);
|
|
|
|
|
|
console.log("已经支付");
|
2025-09-16 10:00:20 +08:00
|
|
|
|
} else if (res.code === 10001) {
|
2025-09-16 16:21:36 +08:00
|
|
|
|
this.show = false;
|
|
|
|
|
|
this.visible = true; //打开实名弹窗
|
|
|
|
|
|
// uni.showModal({
|
|
|
|
|
|
// title: "去实名",
|
|
|
|
|
|
// content: "需要实名",
|
|
|
|
|
|
// showCancel: true,
|
|
|
|
|
|
// confirmText: "yes",
|
|
|
|
|
|
// cancelText: "no",
|
|
|
|
|
|
// success: function () {
|
|
|
|
|
|
// uni.navigateTo({ url: "/pages/realName/realName" });
|
|
|
|
|
|
// },
|
|
|
|
|
|
// });
|
2025-09-16 10:00:20 +08:00
|
|
|
|
console.log("10001", res.msg);
|
|
|
|
|
|
}
|
2025-09-05 15:53:41 +08:00
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
// 封装打开支付链接的方法
|
|
|
|
|
|
openPaymentUrl(payUrl) {
|
|
|
|
|
|
window.location.href = payUrl;
|
|
|
|
|
|
},
|
2025-08-30 17:15:04 +08:00
|
|
|
|
},
|
|
|
|
|
|
computed: {
|
2025-09-05 11:32:33 +08:00
|
|
|
|
// 计算筹款进度百分比
|
2025-08-30 17:15:04 +08:00
|
|
|
|
getProgressPercentage() {
|
|
|
|
|
|
if (
|
|
|
|
|
|
!this.projectDetails.totalAmount ||
|
|
|
|
|
|
this.projectDetails.totalAmount <= 0
|
|
|
|
|
|
) {
|
|
|
|
|
|
return 0;
|
|
|
|
|
|
}
|
|
|
|
|
|
const percentage =
|
|
|
|
|
|
(this.projectDetails.amountSum / this.projectDetails.totalAmount) * 100;
|
2025-08-30 18:03:45 +08:00
|
|
|
|
return Math.min(parseFloat(percentage.toFixed(2)), 100); // 保留两位小数且不超过100%
|
2025-08-30 17:15:04 +08:00
|
|
|
|
},
|
2025-08-28 12:00:35 +08:00
|
|
|
|
},
|
|
|
|
|
|
};
|
2025-07-30 16:14:56 +08:00
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
<style lang="scss" scoped>
|
2025-08-28 12:00:35 +08:00
|
|
|
|
.page {
|
2025-08-28 15:49:17 +08:00
|
|
|
|
background: linear-gradient(to bottom, #f5f0e7 500rpx, #fff 500rpx);
|
2025-08-28 12:00:35 +08:00
|
|
|
|
|
|
|
|
|
|
.bg {
|
|
|
|
|
|
//background: #faf8f3;
|
|
|
|
|
|
background: #fff;
|
|
|
|
|
|
padding: 32rpx 22rpx 162rpx;
|
|
|
|
|
|
|
|
|
|
|
|
.container {
|
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
|
|
|
|
|
|
.proName {
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
height: 50rpx;
|
|
|
|
|
|
font-weight: 500;
|
|
|
|
|
|
font-size: 36rpx;
|
|
|
|
|
|
color: #522510;
|
|
|
|
|
|
line-height: 50rpx;
|
|
|
|
|
|
text-align: center;
|
|
|
|
|
|
font-style: normal;
|
|
|
|
|
|
text-transform: none;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.imgUrl {
|
|
|
|
|
|
margin-top: 22rpx;
|
|
|
|
|
|
width: 708rpx;
|
|
|
|
|
|
height: 370rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.tip {
|
|
|
|
|
|
margin-top: 20rpx;
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
height: 32rpx;
|
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
|
font-size: 24rpx;
|
|
|
|
|
|
color: #695347;
|
|
|
|
|
|
line-height: 32rpx;
|
|
|
|
|
|
text-align: right;
|
|
|
|
|
|
font-style: normal;
|
|
|
|
|
|
text-transform: none;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/* 计划标题样式 */
|
|
|
|
|
|
.planTitle {
|
|
|
|
|
|
margin-top: 12rpx;
|
|
|
|
|
|
padding-left: 30rpx;
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
height: 44rpx;
|
|
|
|
|
|
font-family: AlibabaPuHuiTi, AlibabaPuHuiTi;
|
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
|
font-size: 32rpx;
|
|
|
|
|
|
color: #695347;
|
|
|
|
|
|
line-height: 44rpx;
|
|
|
|
|
|
text-align: left;
|
|
|
|
|
|
font-style: normal;
|
|
|
|
|
|
text-transform: none;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/* 项目简介样式 */
|
|
|
|
|
|
.proProfile {
|
|
|
|
|
|
margin-top: 16rpx;
|
|
|
|
|
|
padding-left: 30rpx;
|
|
|
|
|
|
width: 100%;
|
2025-08-28 15:49:17 +08:00
|
|
|
|
|
2025-08-28 12:00:35 +08:00
|
|
|
|
font-family: AlibabaPuHuiTi, AlibabaPuHuiTi;
|
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
|
font-size: 24rpx;
|
|
|
|
|
|
color: #695347;
|
|
|
|
|
|
line-height: 32rpx;
|
|
|
|
|
|
text-align: left;
|
|
|
|
|
|
font-style: normal;
|
|
|
|
|
|
text-transform: none;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/* 介绍标题样式 */
|
|
|
|
|
|
.introduce {
|
|
|
|
|
|
margin-top: 38rpx;
|
|
|
|
|
|
margin-bottom: 42rpx;
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
height: 54rpx;
|
|
|
|
|
|
font-family: AlibabaPuHuiTi, AlibabaPuHuiTi;
|
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
|
font-size: 40rpx;
|
|
|
|
|
|
color: #695347;
|
|
|
|
|
|
line-height: 54rpx;
|
|
|
|
|
|
text-align: left;
|
|
|
|
|
|
font-style: normal;
|
|
|
|
|
|
text-transform: none;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/* 富文本容器样式 */
|
|
|
|
|
|
.rich-text {
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
height: 270rpx;
|
|
|
|
|
|
font-family: AlibabaPuHuiTi, AlibabaPuHuiTi;
|
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
|
font-size: 28rpx;
|
|
|
|
|
|
color: #695347;
|
|
|
|
|
|
line-height: 45rpx;
|
|
|
|
|
|
text-align: left;
|
|
|
|
|
|
font-style: normal;
|
|
|
|
|
|
text-transform: none;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.donorContainer {
|
2025-08-28 15:49:17 +08:00
|
|
|
|
margin-bottom: 34rpx;
|
2025-08-28 12:00:35 +08:00
|
|
|
|
padding: 30rpx;
|
|
|
|
|
|
margin-top: 30rpx;
|
|
|
|
|
|
background: #fffbf5;
|
|
|
|
|
|
border-radius: 20rpx 20rpx 20rpx 20rpx;
|
|
|
|
|
|
border: 2rpx solid #c7a26d;
|
|
|
|
|
|
|
|
|
|
|
|
text {
|
|
|
|
|
|
width: 190rpx;
|
|
|
|
|
|
height: 44rpx;
|
|
|
|
|
|
font-family: AlibabaPuHuiTi, AlibabaPuHuiTi;
|
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
|
font-size: 32rpx;
|
|
|
|
|
|
color: #695347;
|
|
|
|
|
|
line-height: 44rpx;
|
|
|
|
|
|
text-align: left;
|
|
|
|
|
|
font-style: normal;
|
|
|
|
|
|
text-transform: none;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.donorData {
|
|
|
|
|
|
margin-top: 30rpx;
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
|
2025-08-30 18:03:45 +08:00
|
|
|
|
.CircleProgress {
|
|
|
|
|
|
flex: 1;
|
|
|
|
|
|
}
|
2025-08-28 12:00:35 +08:00
|
|
|
|
|
|
|
|
|
|
.data-info {
|
2025-08-30 18:03:45 +08:00
|
|
|
|
flex: 3;
|
2025-08-28 12:00:35 +08:00
|
|
|
|
|
|
|
|
|
|
.data-row {
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
|
|
|
|
|
|
|
.label {
|
|
|
|
|
|
height: 32rpx;
|
|
|
|
|
|
font-family: AlibabaPuHuiTi, AlibabaPuHuiTi;
|
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
|
font-size: 24rpx;
|
|
|
|
|
|
color: #808080;
|
|
|
|
|
|
line-height: 32rpx;
|
|
|
|
|
|
text-align: left;
|
|
|
|
|
|
font-style: normal;
|
|
|
|
|
|
text-transform: none;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.value {
|
|
|
|
|
|
height: 50rpx;
|
|
|
|
|
|
font-family: AlibabaPuHuiTi, AlibabaPuHuiTi;
|
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
|
font-size: 36rpx;
|
|
|
|
|
|
color: #3d3d3d;
|
|
|
|
|
|
line-height: 50rpx;
|
|
|
|
|
|
text-align: right;
|
|
|
|
|
|
font-style: normal;
|
|
|
|
|
|
text-transform: none;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-08-30 17:15:04 +08:00
|
|
|
|
u-line-progress {
|
|
|
|
|
|
width: 400rpx !important;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-08-28 12:00:35 +08:00
|
|
|
|
.record {
|
2025-08-30 17:15:04 +08:00
|
|
|
|
margin-top: 20rpx;
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
justify-content: center;
|
2025-08-28 12:00:35 +08:00
|
|
|
|
height: 32rpx;
|
|
|
|
|
|
font-family: AlibabaPuHuiTi, AlibabaPuHuiTi;
|
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
|
font-size: 24rpx;
|
|
|
|
|
|
color: #522510;
|
|
|
|
|
|
line-height: 32rpx;
|
|
|
|
|
|
text-align: center;
|
|
|
|
|
|
font-style: normal;
|
|
|
|
|
|
text-transform: none;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2025-08-28 15:49:17 +08:00
|
|
|
|
|
|
|
|
|
|
.new-develop-container {
|
|
|
|
|
|
background: #fffbf5;
|
|
|
|
|
|
border-radius: 20rpx 20rpx 20rpx 20rpx;
|
|
|
|
|
|
border: 2rpx solid #c7a26d;
|
|
|
|
|
|
padding: 30rpx;
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
|
|
|
|
|
|
|
.section-title {
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
height: 44rpx;
|
|
|
|
|
|
font-family: AlibabaPuHuiTi, AlibabaPuHuiTi;
|
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
|
font-size: 32rpx;
|
|
|
|
|
|
color: #695347;
|
|
|
|
|
|
line-height: 44rpx;
|
|
|
|
|
|
text-align: left;
|
|
|
|
|
|
font-style: normal;
|
|
|
|
|
|
text-transform: none;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.constructionSituation {
|
|
|
|
|
|
.project-info {
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
|
|
|
|
|
|
.line-left {
|
|
|
|
|
|
margin-right: 16rpx;
|
|
|
|
|
|
|
|
|
|
|
|
image {
|
|
|
|
|
|
width: 18rpx;
|
|
|
|
|
|
height: 19rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.line {
|
|
|
|
|
|
margin-left: 8rpx;
|
|
|
|
|
|
width: 0;
|
2025-08-29 09:16:06 +08:00
|
|
|
|
height: 100%;
|
2025-08-28 15:49:17 +08:00
|
|
|
|
border: 2rpx #d8d8d8 dashed;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.info {
|
|
|
|
|
|
margin-right: 46rpx;
|
|
|
|
|
|
width: 368rpx;
|
|
|
|
|
|
|
|
|
|
|
|
.time {
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
height: 28rpx;
|
|
|
|
|
|
font-family: AlibabaPuHuiTi, AlibabaPuHuiTi;
|
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
|
font-size: 20rpx;
|
|
|
|
|
|
color: #808080;
|
|
|
|
|
|
line-height: 28rpx;
|
|
|
|
|
|
text-align: left;
|
|
|
|
|
|
font-style: normal;
|
|
|
|
|
|
text-transform: none;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
text {
|
|
|
|
|
|
width: 112rpx;
|
|
|
|
|
|
height: 38rpx;
|
|
|
|
|
|
font-family: AlibabaPuHuiTi, AlibabaPuHuiTi;
|
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
|
font-size: 28rpx;
|
|
|
|
|
|
color: #695347;
|
|
|
|
|
|
line-height: 38rpx;
|
|
|
|
|
|
text-align: left;
|
|
|
|
|
|
font-style: normal;
|
|
|
|
|
|
text-transform: none;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
rich-text {
|
|
|
|
|
|
width: 368rpx;
|
2025-08-29 09:16:06 +08:00
|
|
|
|
display: -webkit-box;
|
|
|
|
|
|
-webkit-line-clamp: 3;
|
|
|
|
|
|
-webkit-box-orient: vertical;
|
2025-08-28 15:49:17 +08:00
|
|
|
|
font-family: AlibabaPuHuiTi, AlibabaPuHuiTi;
|
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
|
font-size: 24rpx;
|
|
|
|
|
|
color: #808080;
|
|
|
|
|
|
line-height: 38rpx;
|
|
|
|
|
|
letter-spacing: 2px;
|
|
|
|
|
|
text-align: left;
|
|
|
|
|
|
font-style: normal;
|
|
|
|
|
|
text-transform: none;
|
2025-08-29 09:16:06 +08:00
|
|
|
|
max-height: 114rpx; /* 3行 × 1.5行高 */
|
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
|
text-overflow: ellipsis;
|
2025-08-28 15:49:17 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.content-image {
|
|
|
|
|
|
width: 198rpx;
|
|
|
|
|
|
height: 198rpx;
|
|
|
|
|
|
background: #d8d8d8;
|
|
|
|
|
|
border-radius: 8rpx 8rpx 8rpx 8rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.more {
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
height: 32rpx;
|
|
|
|
|
|
font-family: AlibabaPuHuiTi, AlibabaPuHuiTi;
|
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
|
font-size: 24rpx;
|
|
|
|
|
|
color: #522510;
|
|
|
|
|
|
line-height: 32rpx;
|
|
|
|
|
|
text-align: center;
|
|
|
|
|
|
font-style: normal;
|
|
|
|
|
|
text-transform: none;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2025-08-28 12:00:35 +08:00
|
|
|
|
}
|
2025-08-14 11:22:53 +08:00
|
|
|
|
}
|
2025-08-28 12:00:35 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2025-08-28 15:49:17 +08:00
|
|
|
|
button {
|
|
|
|
|
|
position: fixed;
|
|
|
|
|
|
left: 51rpx;
|
|
|
|
|
|
bottom: 24rpx;
|
|
|
|
|
|
width: 648rpx;
|
|
|
|
|
|
height: 90rpx;
|
|
|
|
|
|
background: #a24242;
|
|
|
|
|
|
border-radius: 45rpx 45rpx 45rpx 45rpx;
|
|
|
|
|
|
|
|
|
|
|
|
color: #fff;
|
2025-08-28 12:00:35 +08:00
|
|
|
|
}
|
2025-08-28 18:01:59 +08:00
|
|
|
|
|
|
|
|
|
|
.rich-text-content {
|
|
|
|
|
|
/* 全局限制富文本内容宽度 */
|
|
|
|
|
|
img {
|
|
|
|
|
|
max-width: 100% !important;
|
|
|
|
|
|
height: auto !important;
|
|
|
|
|
|
display: block;
|
|
|
|
|
|
margin: 10rpx auto;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/* 其他富文本样式 */
|
|
|
|
|
|
p {
|
|
|
|
|
|
margin-bottom: 20rpx;
|
|
|
|
|
|
line-height: 1.6;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2025-09-05 15:53:41 +08:00
|
|
|
|
|
|
|
|
|
|
//捐款
|
|
|
|
|
|
|
|
|
|
|
|
.donation {
|
|
|
|
|
|
background: #ffffff;
|
|
|
|
|
|
padding: 32rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.title-row {
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
margin-bottom: 30rpx;
|
|
|
|
|
|
|
|
|
|
|
|
.title {
|
|
|
|
|
|
height: 54rpx;
|
|
|
|
|
|
font-family: AlibabaPuHuiTi, AlibabaPuHuiTi;
|
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
|
font-size: 40rpx;
|
|
|
|
|
|
color: #695347;
|
|
|
|
|
|
line-height: 54rpx;
|
|
|
|
|
|
text-align: left;
|
|
|
|
|
|
font-style: normal;
|
|
|
|
|
|
text-transform: none;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.close-icon {
|
|
|
|
|
|
font-size: 36rpx;
|
|
|
|
|
|
color: #999;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.donation-tip {
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
align-items: baseline;
|
|
|
|
|
|
margin-bottom: 30rpx;
|
|
|
|
|
|
|
|
|
|
|
|
.amount {
|
|
|
|
|
|
height: 54rpx;
|
|
|
|
|
|
font-family: AlibabaPuHuiTi, AlibabaPuHuiTi;
|
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
|
font-size: 40rpx;
|
|
|
|
|
|
color: #a24242;
|
|
|
|
|
|
line-height: 54rpx;
|
|
|
|
|
|
text-align: left;
|
|
|
|
|
|
font-style: normal;
|
|
|
|
|
|
text-transform: none;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.equivalent {
|
|
|
|
|
|
height: 54rpx;
|
|
|
|
|
|
font-family: AlibabaPuHuiTi, AlibabaPuHuiTi;
|
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
|
font-size: 40rpx;
|
|
|
|
|
|
color: #695347;
|
|
|
|
|
|
line-height: 54rpx;
|
|
|
|
|
|
text-align: left;
|
|
|
|
|
|
font-style: normal;
|
|
|
|
|
|
text-transform: none;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.select {
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
gap: 20rpx;
|
|
|
|
|
|
margin: 40rpx 0;
|
|
|
|
|
|
|
|
|
|
|
|
.donation-option {
|
|
|
|
|
|
padding: 24rpx;
|
|
|
|
|
|
|
|
|
|
|
|
border: 2rpx solid #eeeeee;
|
|
|
|
|
|
|
|
|
|
|
|
text-align: center;
|
|
|
|
|
|
font-size: 28rpx;
|
|
|
|
|
|
color: #666;
|
|
|
|
|
|
transition: all 0.3s ease;
|
|
|
|
|
|
|
|
|
|
|
|
background: #fff1dd;
|
|
|
|
|
|
border-radius: 6rpx 6rpx 6rpx 6rpx;
|
|
|
|
|
|
|
|
|
|
|
|
&.active {
|
|
|
|
|
|
color: #a24242;
|
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
|
background: #ffcdcd;
|
|
|
|
|
|
border-radius: 6rpx 6rpx 6rpx 6rpx;
|
|
|
|
|
|
border: 1rpx solid #a24242;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.customMoney {
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
margin: 40rpx 0;
|
|
|
|
|
|
padding: 20rpx;
|
|
|
|
|
|
background: #f8f8f8;
|
|
|
|
|
|
border-radius: 12rpx;
|
|
|
|
|
|
|
|
|
|
|
|
.custom-input {
|
|
|
|
|
|
flex: 1;
|
|
|
|
|
|
font-size: 28rpx;
|
|
|
|
|
|
color: #333;
|
|
|
|
|
|
background: transparent;
|
|
|
|
|
|
border: none;
|
|
|
|
|
|
outline: none;
|
|
|
|
|
|
|
|
|
|
|
|
&::placeholder {
|
|
|
|
|
|
color: #999;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.reload-icon {
|
|
|
|
|
|
margin: 0 20rpx;
|
|
|
|
|
|
font-size: 32rpx;
|
|
|
|
|
|
color: #666;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.random-text {
|
|
|
|
|
|
font-size: 28rpx;
|
|
|
|
|
|
color: #3d3d3d;
|
|
|
|
|
|
font-weight: 500;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.confirm-btn {
|
|
|
|
|
|
width: 686rpx;
|
|
|
|
|
|
height: 90rpx;
|
|
|
|
|
|
background: #a24242;
|
|
|
|
|
|
border-radius: 45rpx 45rpx 45rpx 45rpx;
|
|
|
|
|
|
|
|
|
|
|
|
border: none;
|
|
|
|
|
|
|
|
|
|
|
|
color: #ffffff;
|
|
|
|
|
|
font-size: 32rpx;
|
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
|
box-shadow: 0 4rpx 16rpx rgba(255, 68, 68, 0.3);
|
|
|
|
|
|
|
|
|
|
|
|
&:active {
|
|
|
|
|
|
transform: translateY(2rpx);
|
|
|
|
|
|
box-shadow: 0 2rpx 8rpx rgba(255, 68, 68, 0.3);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2025-08-14 11:22:53 +08:00
|
|
|
|
</style>
|