refactor: remove margin utils, use inline pixel spacing

Delete the src/static/scss/margin.scss utility file, update all component templates to replace pre-defined margin classes with inline arbitrary pixel values (e.g. mb-[4px] instead of mb-4), and clean up long template lines for better readability.
This commit is contained in:
duanshuwen
2026-07-24 22:02:09 +08:00
parent 0883d2b9c9
commit c125154a75
53 changed files with 167 additions and 554 deletions

View File

@@ -9,24 +9,24 @@
</view>
<view v-if="!isCallSuccess" class="border-box p-[12px]">
<view class="bg-[#f5f7fa] flex flex-items-center p-[12px] rounded-[10px] font-size-14 text-[#171717] mb-12">
<text class="font-500 leading-[22px] mr-20">所在位置</text>
<view class="bg-[#f5f7fa] flex flex-items-center p-[12px] rounded-[10px] font-size-14 text-[#171717] mb-[12px]">
<text class="font-500 leading-[22px] mr-[20px]">所在位置</text>
<input placeholder="请填写所在位置" v-model="roomId" />
</view>
<view class="bg-[#f5f7fa] flex flex-items-center p-[12px] rounded-[10px] font-size-14 text-[#171717] mb-12">
<text class="font-500 leading-[22px] mr-20">联系电话</text>
<view class="bg-[#f5f7fa] flex flex-items-center p-[12px] rounded-[10px] font-size-14 text-[#171717] mb-[12px]">
<text class="font-500 leading-[22px] mr-[20px]">联系电话</text>
<input placeholder="请填写联系电话" v-model="contactPhone" @input="handleContactPhoneInput" />
</view>
<view class="bg-[#f5f7fa] p-[12px] rounded-[10px] font-size-14 font-500 text-[#171717] mb-12">
<view class="font-500 leading-[22px] mb-12">需求信息描述</view>
<view class="bg-[#f5f7fa] p-[12px] rounded-[10px] font-size-14 font-500 text-[#171717] mb-[12px]">
<view class="font-500 leading-[22px] mb-[12px]">需求信息描述</view>
<textarea class="h-80" placeholder="请输入需求信息描述" placeholder-class="font-size-14 font-400" maxlength="100"
v-model="contactText" />
</view>
<view class="bg-[#f5f7fa] p-[12px] rounded-[10px] font-size-14 font-500 text-[#171717] mb-12">
<view class="font-500 leading-[22px] mb-12">照片上传</view>
<view class="bg-[#f5f7fa] p-[12px] rounded-[10px] font-size-14 font-500 text-[#171717] mb-[12px]">
<view class="font-500 leading-[22px] mb-[12px]">照片上传</view>
<view class="w-80 h-80 bg-white rounded-[8px] overflow-hidden flex flex-items-center flex-justify-center">
<view v-if="contentImgUrl" class="w-full h-full relative inline-block">
@@ -47,8 +47,8 @@
<view v-else class="border-box card-content flex flex-items-center p-[12px]">
<view class="border-box left flex-full pr-[20px]">
<view class="font-size-12 text-[#525866] leading-[20px] mb-4">所在位置{{ roomId }}</view>
<view class="font-size-12 text-[#525866] leading-[20px] mb-4">联系方式: {{ contactPhone }}</view>
<view class="font-size-12 text-[#525866] leading-[20px] mb-[4px]">所在位置{{ roomId }}</view>
<view class="font-size-12 text-[#525866] leading-[20px] mb-[4px]">联系方式: {{ contactPhone }}</view>
<view class="font-size-12 text-[#525866] leading-[20px] ellipsis-2">需求描述: {{ contactText }}</view>
</view>
@@ -56,7 +56,7 @@
</view>
<view
class="btn rounded-[50px] text-white bg-gradient-to-r from-[#0CCD58] to-[#4de4ff] flex flex-items-center flex-justify-center ml-[12px] mr-12 mb-12"
class="btn rounded-[50px] text-white bg-gradient-to-r from-[#0CCD58] to-[#4de4ff] flex flex-items-center flex-justify-center ml-[12px] mr-[12px] mb-[12px]"
@click="handleCall">
{{ isCallSuccess ? "查看服务" : "立即呼叫" }}
</view>

View File

@@ -1,7 +1,7 @@
<template>
<view class="empty-container flex flex-col items-center justify-center">
<image class="empty-image" :src="emptyIcon" mode="aspectFit" />
<text class="font-size-12 text-center text-[#99a0ae] mt-8">
<text class="font-size-12 text-center text-[#99a0ae] mt-[8px]">
{{ statusText }}
</text>
</view>

View File

@@ -1,14 +1,14 @@
<template>
<view class="border-box flex flex-items-center flex-justify-between mb-12">
<view class="border-box flex flex-items-center flex-justify-between mb-[12px]">
<view class="left flex flex-items-center">
<text class="font-size-12 text-[#99a0ae] mr-4">入住</text>
<text class="font-size-12 text-[#171717] mr-16">
<text class="font-size-12 text-[#99a0ae] mr-[4px]">入住</text>
<text class="font-size-12 text-[#171717] mr-[16px]">
{{ selectedDate.startDate }}
</text>
<text class="total rounded-[50px] flex flex-items-center font-size-11 text-[#43669a] relative">{{
selectedDate.totalDays }}</text>
<text class="font-size-12 text-[#99a0ae] ml-16">离店</text>
<text class="font-size-12 text-[#171717] ml-4">
<text class="font-size-12 text-[#99a0ae] ml-[16px]">离店</text>
<text class="font-size-12 text-[#171717] ml-[4px]">
{{ selectedDate.endDate }}
</text>
</view>

View File

@@ -7,13 +7,13 @@
<uni-icons class="close absolute" type="close" size="20" color="#CACFD8" @click="handleClose" />
</view>
<!-- 内容区域 -->
<view class="rounded-[12px] bg-white ml-[12px] mr-12 mb-40">
<view class="rounded-[12px] bg-white ml-[12px] mr-[12px] mb-40">
<view
class="border-box border-bottom flex flex-items-center flex-justify-between pt-[12px] pb-[12px] ml-[12px] mr-12">
class="border-box border-bottom flex flex-items-center flex-justify-between pt-[12px] pb-[12px] ml-[12px] mr-[12px]">
<text class="font-size-16 font-500 text-[#171717]">在线支付</text>
<text class="font-size-14 text-[#171717]">239</text>
</view>
<view class="border-box flex flex-items-center flex-justify-between pt-[12px] pb-[12px] ml-[12px] mr-12">
<view class="border-box flex flex-items-center flex-justify-between pt-[12px] pb-[12px] ml-[12px] mr-[12px]">
<text class="font-size-16 font-500 text-[#171717]">房费</text>
<text class="font-size-14 text-[#171717]">239</text>
</view>

View File

@@ -9,12 +9,12 @@
</view>
<view v-if="!isCallSuccess" class="border-box p-[12px]">
<view class="bg-[#f5f7fa] flex flex-items-center p-[12px] rounded-[10px] font-size-14 text-[#171717] mb-12">
<text class="font-500 leading-[22px] mr-20">联系电话</text>
<view class="bg-[#f5f7fa] flex flex-items-center p-[12px] rounded-[10px] font-size-14 text-[#171717] mb-[12px]">
<text class="font-500 leading-[22px] mr-[20px]">联系电话</text>
<input placeholder="请填写联系电话" v-model="contactPhone" />
</view>
<view class="bg-[#f5f7fa] p-[12px] rounded-[10px] font-size-14 font-500 text-[#171717] mb-12">
<view class="font-500 leading-[22px] mb-12">意见内容</view>
<view class="bg-[#f5f7fa] p-[12px] rounded-[10px] font-size-14 font-500 text-[#171717] mb-[12px]">
<view class="font-500 leading-[22px] mb-[12px]">意见内容</view>
<textarea class="h-80" placeholder="请输入反馈意见" placeholder-class="font-size-14 font-400" maxlength="100"
v-model="contactText" />
</view>
@@ -27,12 +27,12 @@
</view>
<view v-else class="border-box left flex-full p-[12px]">
<view class="font-size-12 text-[#525866] leading-[20px] mb-4">联系方式: {{ contactPhone }}</view>
<view class="font-size-12 text-[#525866] leading-[20px] mb-[4px]">联系方式: {{ contactPhone }}</view>
<view class="font-size-12 text-[#525866] leading-[20px] ellipsis-2">意见内容: {{ contactText }}</view>
</view>
<view class="footer-help flex flex-items-center pl-[12px] mb-12">
<image class="help-icon mr-4" src="./images/icon_volume.png" />
<view class="footer-help flex flex-items-center pl-[12px] mb-[12px]">
<image class="help-icon mr-[4px]" src="./images/icon_volume.png" />
<text class="font-size-12 font-500 text-[#fa7319] ">
{{ appName }}收到您的意见将第一时间为您处理!
</text>

View File

@@ -11,15 +11,15 @@
.commodityPurchaseInstructionModuleEntityList.length -
1,
}">
<view class="flex flex-items-center flex-row flex-shrink-0 mr-8">
<view class="flex flex-items-center flex-row flex-shrink-0 mr-[8px]">
<uni-icons fontFamily="znicons" size="20" color="#333">
{{ zniconsMap[moduleItem.moduleIcon] }}
</uni-icons>
<text class="ml-4 font-size-14 text-[#171717] leading-[20px]">
<text class="ml-[4px] font-size-14 text-[#171717] leading-[20px]">
{{ moduleItem.moduleTitle }}
</text>
</view>
<text class="flex-full font-size-12 text-[#525866] leading-[20px] mt-4">
<text class="flex-full font-size-12 text-[#525866] leading-[20px] mt-[4px]">
{{ moduleItem.moduleContent }}
</text>
</view>

View File

@@ -1,5 +1,5 @@
<template>
<view class="module-header mb-4">
<view class="module-header mb-[4px]">
<text class="module-title">{{ title }}</text>
<image class="underline" :src="isZhiNian ? indicatorSrcB : indicatorSrc" mode="aspectFill" />
</view>

View File

@@ -7,16 +7,16 @@
<uni-icons class="close absolute" type="close" size="20" color="#CACFD8" @click="handleClose" />
</view>
<!-- 内容区域 -->
<view class="border-box rounded-[12px] bg-white p-[12px] ml-[12px] mr-12 mb-40">
<view class="flex flex-items-center mb-8">
<view class="border-box rounded-[12px] bg-white p-[12px] ml-[12px] mr-[12px] mb-40">
<view class="flex flex-items-center mb-[8px]">
<uni-icons fontFamily="znicons" size="20" color="#333">
{{ zniconsMap["zn-refund"] }}
</uni-icons>
<text class="font-size-14 font-600 text-[#171717] ml-8">
<text class="font-size-14 font-600 text-[#171717] ml-[8px]">
{{ refundTitle }}
</text>
</view>
<view class="font-size-14 text-[#525866] leading-[16px] mb-4"
<view class="font-size-14 text-[#525866] leading-[16px] mb-[4px]"
v-for="(item, index) in commodityPurchaseInstruction" :key="index">
{{ item }}
</view>

View File

@@ -1,7 +1,7 @@
<template>
<view class="stepper-wrapper flex flex-items-center rounded-[8px]">
<uni-icons type="minus" size="24" color="#D1D1D1" @click="decrease" />
<text class="stepper-text text-center font-size-14 font-500 text-[#000000] ml-4 mr-4">
<text class="stepper-text text-center font-size-14 font-500 text-[#000000] ml-[4px] mr-[4px]">
{{ value }} {{ unit }}
</text>
<uni-icons type="plus" size="24" color="#198CFF" @click="increase" />

View File

@@ -11,7 +11,7 @@
<image class="w-full" :src="surveyData.bannerUrl" mode="widthFix" />
<view
class="h-44 m-12 rounded-[50px] bg-gradient-to-r from-[#0CCD58] to-[#4de4ff] text-white flex flex-items-center flex-justify-center"
class="h-44 m-[12px] rounded-[50px] bg-gradient-to-r from-[#0CCD58] to-[#4de4ff] text-white flex flex-items-center flex-justify-center"
@click="handleCall">
前往填写
</view>

View File

@@ -1,5 +1,5 @@
<template>
<view class="card pb-[12px] relative mt-12">
<view class="card pb-[12px] relative mt-[12px]">
<view class="card-item absolute overflow-hidden" v-for="(card, index) in list" :key="card.__uid"
:style="[itemStyle(index, card), transformStyle(index, card)]" @touchstart.stop="touchStart($event, index)"
@touchmove.stop.prevent="touchMove($event, index)" @touchend.stop="touchEnd(index)"
@@ -21,7 +21,7 @@
<text class="font-size-24 font-bold">
{{ card.specificationPrice }}
</text>
<text class="font-size-11 ml-2" v-if="card.stockUnitLabel">/{{ card.stockUnitLabel }}</text>
<text class="font-size-11 ml-[2px]" v-if="card.stockUnitLabel">/{{ card.stockUnitLabel }}</text>
</view>
</view>

View File

@@ -1,5 +1,5 @@
<template>
<view class="bg-white rounded-[12px] overflow-hidden mb-12">
<view class="bg-white rounded-[12px] overflow-hidden mb-[12px]">
<view class="border-box font-size-16 font-500 text-[#000000] leading-[24px] p-[12px]">使用日期</view>
<view class="flex flex-items-center border-box">
<scroll-view class="date-scroll" scroll-x>

View File

@@ -1,6 +1,6 @@
<template>
<!-- 选择数量 -->
<view class="border-box bg-white p-[12px] rounded-[12px] flex flex-items-center mb-12">
<view class="border-box bg-white p-[12px] rounded-[12px] flex flex-items-center mb-[12px]">
<view class="flex-full">
<view class="font-size-16 font-500 text-[#000000] leading-[24px]">选择数量</view>
<view class="font-size-12 text-[#a3a3a3] leading-[16px]">
@@ -20,7 +20,7 @@
<view class="bg-white rounded-[12px] overflow-hidden">
<view class="border-box border-bottom font-size-16 font-500 text-[#000000] leading-[24px] p-[12px]">联系方式</view>
<view class="flex flex-items-center p-[12px]">
<view class="font-size-14 font-500 text-[#525866] mr-12"> 联系人姓名 </view>
<view class="font-size-14 font-500 text-[#525866] mr-[12px]"> 联系人姓名 </view>
<view class="right">
<input class="border-box px-[4px] py-[2px] font-size-15 text-[#000000] leading-[20px]"
v-model.trim="userFormList[0].visitorName" placeholder="请输入联系人" maxlength="20" />
@@ -28,7 +28,7 @@
</view>
<view class="flex flex-items-center p-[12px]">
<view class="font-size-14 font-500 text-[#525866] mr-12"> 手机号码 </view>
<view class="font-size-14 font-500 text-[#525866] mr-[12px]"> 手机号码 </view>
<view class="right">
<input class="border-box px-[4px] py-[2px] font-size-15 text-[#000000] leading-[20px]"
v-model.trim="userFormList[0].contactPhone" placeholder="请输入联系手机" maxlength="11" />

View File

@@ -1,10 +1,10 @@
<template>
<view class="booking-footer bg-white flex flex-items-center font-family-misans-vf">
<text class="amt font-size-20 font-bold text-[#ff3d60] line-height-28 flex flex-items-center mr-8">
<text class="amt font-size-20 font-bold text-[#ff3d60] line-height-28 flex flex-items-center mr-[8px]">
{{ totalAmt }}
</text>
<!-- <view class="flex flex-items-center" @click="emit('detailClick')">
<text class="font-size-12 text-[#a3a3a3] mr-4">明细</text>
<text class="font-size-12 text-[#a3a3a3] mr-[4px]">明细</text>
<uni-icons type="up" size="16" color="#A3A3A3" />
</view> -->
<view class="btn rounded-[10px] flex flex-items-center ml-auto pl-[8px]" @click="handleBooking">

View File

@@ -1,5 +1,5 @@
<template>
<view class="bg-white rounded-[12px] overflow-hidden mb-12">
<view class="bg-white rounded-[12px] overflow-hidden mb-[12px]">
<view class="flex flex-items-center p-[12px] border-bottom">
<view class="font-size-16 font-500 text-[#000000] leading-[24px] flex-full">入住信息</view>
<view class="right">
@@ -10,7 +10,7 @@
<view class="border-box pl-[12px] pr-[12px]">
<view class="border-box border-bottom pt-[12px] pb-[12px] flex flex-items-center"
v-for="(item, index) in userFormList" :key="index">
<view class="font-size-14 font-500 text-[#525866] mr-12"> 住客姓名 </view>
<view class="font-size-14 font-500 text-[#525866] mr-[12px]"> 住客姓名 </view>
<view class="right">
<input class="border-box px-[4px] py-[2px] font-size-15 text-[#000000] leading-[20px]"
v-model.trim="item.visitorName" placeholder="请输入姓名" maxlength="11" />
@@ -18,7 +18,7 @@
</view>
<view class="flex flex-items-center pt-[12px] pb-[12px]">
<view class="font-size-14 font-500 text-[#525866] mr-12"> 联系手机 </view>
<view class="font-size-14 font-500 text-[#525866] mr-[12px]"> 联系手机 </view>
<view class="right">
<input class="border-box px-[4px] py-[2px] font-size-15 text-[#000000] leading-[20px]"
v-model.trim="userFormList[0].contactPhone" placeholder="请输入联系手机" maxlength="11" />

View File

@@ -8,7 +8,7 @@
<view class="booking-content flex-full p-[12px] overflow-hidden scroll-y">
<!-- 预约内容 -->
<view class="border-box bg-white p-[12px] rounded-[12px] mb-12">
<view class="border-box bg-white p-[12px] rounded-[12px] mb-[12px]">
<!-- 酒店类型入住离店日期部分 -->
<DateRangeSection v-if="orderData.orderType == 0" :selectedDate="selectedDate" :showBtn="true"
@click="navigateToDetail(orderData)" />
@@ -23,9 +23,9 @@
</view>
<!-- 权益部分 -->
<view class="flex flex-items-center mb-8">
<view class="flex flex-items-center mb-[8px]">
<text
class="bg-[#f7f7f7] rounded-[4px] font-size-11 text-[#525866] mr-4 pt-[4px] pb-[4px] pl-[6px] pr-[6px]"
class="bg-[#f7f7f7] rounded-[4px] font-size-11 text-[#525866] mr-[4px] pt-[4px] pb-[4px] pl-[6px] pr-[6px]"
v-for="(item, index) in orderData.commodityFacilityList" :key="index">
{{ item }}
</text>

View File

@@ -1,23 +1,23 @@
<template>
<view class="bg-white rounded-[12px] p-[12px] mb-12">
<view class="bg-white rounded-[12px] p-[12px] mb-[12px]">
<view class="flex flex-items-center flex-justify-between">
<view class="flex flex-items-center">
<text class="font-size-16 text-[#171717] leading-[24px] font-500">
订单金额
</text>
<text class="amt font-size-18 font-bold text-[#ff3d60] ml-4">
<text class="amt font-size-18 font-bold text-[#ff3d60] ml-[4px]">
{{ orderData.payAmt }}
</text>
</view>
</view>
<view v-if="orderData.orderStatus === '0'" class="font-size-11 text-[#99a0ae] mt-4">
<view v-if="orderData.orderStatus === '0'" class="font-size-11 text-[#99a0ae] mt-[4px]">
超时后订单将自动取消
</view>
<view v-if="['1', '2'].includes(orderData.orderStatus)"
class="border-box border-top flex flex-items-center flex-justify-between font-size-12 pt-[12px] mt-12">
class="border-box border-top flex flex-items-center flex-justify-between font-size-12 pt-[12px] mt-[12px]">
<view class="text-[#525866]">取消政策及说明</view>
<view class="flex flex-items-center" @click="emit('click')">
<text class="theme-color-500 mr-4">查看详情</text>
<text class="theme-color-500 mr-[4px]">查看详情</text>
<uni-icons type="right" size="12" color="#99A0AE" />
</view>
</view>

View File

@@ -1,7 +1,7 @@
<template>
<view class="footer bg-white flex flex-items-center flex-justify-between p-[12px]">
<button v-if="['1', '2'].includes(statusCode)"
class="left border-none bg-white rounded-[10px] flex flex-items-center flex-justify-center font-size-14 font-500 text-[#525866] mr-12"
class="left border-none bg-white rounded-[10px] flex flex-items-center flex-justify-center font-size-14 font-500 text-[#525866] mr-[12px]"
@click="emit('refund', orderData)">
申请退款
</button>

View File

@@ -1,5 +1,5 @@
<template>
<view v-if="orderType == 0" class="border-box bg-white p-[12px] rounded-[12px] mb-12">
<view v-if="orderType == 0" class="border-box bg-white p-[12px] rounded-[12px] mb-[12px]">
<!-- 酒店类型入住离店日期部分 -->
<DateRangeSection v-if="orderData.orderType == 0" :selectedDate="selectedDate" />
@@ -13,15 +13,15 @@
<!-- 权益部分 -->
<view class="border-box flex flex-items-center pt-[12px]">
<text class="bg-[#f7f7f7] rounded-[4px] font-size-11 text-[#525866] mr-4 pt-[4px] pb-[4px] pl-[6px] pr-[6px]"
<text class="bg-[#f7f7f7] rounded-[4px] font-size-11 text-[#525866] mr-[4px] pt-[4px] pb-[4px] pl-[6px] pr-[6px]"
v-for="(item, index) in commodityFacilityList" :key="index">
{{ item }}
</text>
</view>
</view>
<view v-if="orderType != 0" class="border-box bg-white p-[12px] rounded-[12px] mb-12">
<view class="font-size-16 font-500 text-[#000000] leading-[24px] ellipsis-1 mb-8">
<view v-if="orderType != 0" class="border-box bg-white p-[12px] rounded-[12px] mb-[12px]">
<view class="font-size-16 font-500 text-[#000000] leading-[24px] ellipsis-1 mb-[8px]">
{{ orderData.commodityName }}
</view>
@@ -31,7 +31,7 @@
</view>
<view v-if="orderData.orderStatus === '0'"
class="border-box border-top pt-[12px] font-size-14 font-500 text-[#171717] mt-12">[电子凭证]直接验证使用</view>
class="border-box border-top pt-[12px] font-size-14 font-500 text-[#171717] mt-[12px]">[电子凭证]直接验证使用</view>
</view>
</template>

View File

@@ -1,5 +1,5 @@
<template>
<view class="notice-info mb-12">
<view class="notice-info mb-[12px]">
<view class="notice-title"> 购买须知 </view>
<GoodDetail :goodsData="orderData" :showTitle="false" />
</view>

View File

@@ -1,5 +1,5 @@
<template>
<view class="info-row flex items-center mt-8">
<view class="info-row flex items-center mt-[8px]">
<text class="label font-size-12 text-[#99a0ae]">{{ label }}</text>
<text class="value flex-full font-size-12 text-[#99a0ae]">{{ value }}</text>
</view>

View File

@@ -1,7 +1,7 @@
<template>
<view class="card-content pt-[12px]">
<view class="flex items-center justify-between">
<view class="left flex-full font-size-14 leading-[20px] text-[#171717] mr-12">
<view class="left flex-full font-size-14 leading-[20px] text-[#171717] mr-[12px]">
{{ orderData.commodityName }}
</view>
<view :class="[

View File

@@ -1,9 +1,9 @@
<template>
<view class="order-card bg-white p-[12px] rounded-[12px] m-12" @click.stop="handleCardClick">
<view class="order-card bg-white p-[12px] rounded-[12px] m-[12px]" @click.stop="handleCardClick">
<!-- 卡片头部 -->
<view class="card-header flex items-center">
<view class="status-info flex items-center flex-full">
<image class="status-icon mr-4" :src="getStatusIcon()" />
<image class="status-icon mr-[4px]" :src="getStatusIcon()" />
<view class="order-title font-size-14 leading-[20px] text-[#525866]">
{{ getOrderTypeName() }}
</view>

View File

@@ -1,10 +1,10 @@
<template>
<view class="bg-white rounded-[10px] p-[12px]">
<view class="flex mb-8 font-size-12">
<view class="flex mb-[8px] font-size-12">
<text class="w-60 text-[#99a0ae]">订单编号</text>
<text class="text-[#525866]">{{ orderData.orderId }}</text>
</view>
<view class="flex mb-8 font-size-12">
<view class="flex mb-[8px] font-size-12">
<text class="w-60 text-[#99a0ae]">下单时间</text>
<text class="text-[#525866]">{{ orderData.createTime }}</text>
</view>

View File

@@ -4,13 +4,14 @@
<view class="border-box flex flex-items-center justify-between pt-[12px] pb-[12px] relative">
<view class="flex flex-col flex-items-center flex-full ">
<view class="flex-full font-size-16 text-[#0B5C2D] text-center">核销凭证</view>
<view class="flex-full font-size-12 text-[#02C34E] text-center mt-4">请向工作人员出示此码</view>
<view class="flex-full font-size-12 text-[#02C34E] text-center mt-[4px]">请向工作人员出示此码</view>
</view>
<!-- 关闭按钮 -->
<uni-icons class="close absolute" type="close" size="20" color="#CACFD8" @click="handleClose" />
</view>
<view class="bg-white rounded-[12px] flex flex-col flex-items-center flex-justify-center p-[12px] mb-12 mx-12">
<view
class="bg-white rounded-[12px] flex flex-col flex-items-center flex-justify-center p-[12px] mb-[12px] mx-[12px]">
<view class="flex w-full flex-row flex-items-center flex-justify-between py-[4px]">
<view>
@@ -20,7 +21,8 @@
</view>
<view v-if="selectedVoucher" class="flex flex-row">
<view class="bg-[#f5f7fa] text-[#02C34E] font-size-12 p-[4px] rounded-[4px] mr-4">总计{{ selectedVoucher.count
<view class="bg-[#f5f7fa] text-[#02C34E] font-size-12 p-[4px] rounded-[4px] mr-[4px]">总计{{
selectedVoucher.count
}}{{
selectedVoucher.unit }}
</view>
@@ -30,7 +32,7 @@
</view>
<view
class="flex flex-col w-full flex-items-center flex-justify-center rounded-[8px] border pt-[16px] pb-[32px] mt-12">
class="flex flex-col w-full flex-items-center flex-justify-center rounded-[8px] border pt-[16px] pb-[32px] mt-[12px]">
<view class="flex flex-row flex-justify-between w-full px-[12px]">
<view class="bg-[#F0F8F3] text-[#0CCD58] font-size-14 px-[12px] leading-[24px] rounded-[12px]">凭证{{
selectedVoucherList.length > 1 ? currentVoucherIndex + 1 : '' }}</view>
@@ -40,20 +42,20 @@
selectedVoucher.writeOffCount }}</view>
</view>
<view class="flex flex-items-center flex-justify-center mt-20 p-[20px] rounded-[12px] border borderColor"
<view class="flex flex-items-center flex-justify-center mt-[20px] p-[20px] rounded-[12px] border borderColor"
:style="{ borderColor: selectedVoucher?.color }">
<Qrcode v-if="showQrcode" :size="props.size" :unit="props.unit" :val="qrcodeVal" :loadMake="true"
:onval="true" />
</view>
<view v-if="false"
class="mt-20 bg-[#F0F8F3] text-[#0CCD58] font-size-14 px-[12px] leading-[24px] rounded-[12px]">
class="mt-[20px] bg-[#F0F8F3] text-[#0CCD58] font-size-14 px-[12px] leading-[24px] rounded-[12px]">
{{ selectedVoucher.name }}
</view>
</view>
<view v-if="selectedVoucherList.length > 1"
class="flex flex-row w-full flex-items-center flex-justify-between mt-16 mb-24">
class="flex flex-row w-full flex-items-center flex-justify-between mt-[16px] mb-[24px]">
<view class="actions-btn" @click.stop="upAction">
<uni-icons type="left" size="16" color="#171717" />
</view>
@@ -71,7 +73,7 @@
<uni-icons type="right" size="16" color="#171717" />
</view>
</view>
<view v-else class="mb-24"></view>
<view v-else class="mb-[24px]"></view>
</view>
</view>

View File

@@ -1,7 +1,7 @@
<template>
<view class="bg-white rounded-[10px] p-[12px] mb-12" v-if="hasConsumerData">
<view class="bg-white rounded-[10px] p-[12px] mb-[12px]" v-if="hasConsumerData">
<view v-for="(item, index) in consumerList" :key="index">
<view class="flex mb-8 font-size-12">
<view class="flex mb-[8px] font-size-12">
<text class="w-60 text-[#99a0ae]">住客姓名</text>
<text class="text-[#525866]">{{ item.visitorName }}</text>
</view>

View File

@@ -1,5 +1,5 @@
<template>
<view class="bg-white rounded-[12px] px-[12px] pt-[12px] mb-12">
<view class="bg-white rounded-[12px] px-[12px] pt-[12px] mb-[12px]">
<text class="font-size-16 text-[#171717] leading-[24px] font-500">
核销凭证列表
</text>
@@ -9,8 +9,8 @@
v-for="(item, index) in props.orderData.commodityPackageConfig" :key="item.name">
<view class="flex flex-col">
<text class="text-[#0B5C2D] font-size-16">{{ item.name }}</text>
<view class="flex flex-row mt-8">
<view class="bg-[#f5f7fa] text-[#02C34E] font-size-12 p-[4px] rounded-[4px] mr-4">总计{{ item.count }}{{
<view class="flex flex-row mt-[8px]">
<view class="bg-[#f5f7fa] text-[#02C34E] font-size-12 p-[4px] rounded-[4px] mr-[4px]">总计{{ item.count }}{{
item.unit
}}
</view>

View File

@@ -1,11 +1,11 @@
<template>
<view class="card bg-white p-[8px] rounded-[12px] flex flex-items-start m-12" @click.stop="handleClick(item)">
<view class="card bg-white p-[8px] rounded-[12px] flex flex-items-start m-[12px]" @click.stop="handleClick(item)">
<image class="left rounded-[10px]" :src="item.commodityPhoto" mode="aspectFill" />
<view class="right flex-full pl-[12px]">
<view class="font-size-16 leading-[24px] text-[#171717] mb-4">
<view class="font-size-16 leading-[24px] text-[#171717] mb-[4px]">
{{ item.commodityName }}
</view>
<view v-if="item.commodityFacility" class="font-size-12 leading-[16px] text-[#99a0ae] mb-4 ellipsis-1">
<view v-if="item.commodityFacility" class="font-size-12 leading-[16px] text-[#99a0ae] mb-[4px] ellipsis-1">
{{ item.commodityFacility.join(" ") }}
</view>
<view class="font-size-12 leading-[18px] color-43669A">
@@ -13,13 +13,13 @@
</view>
<view class="flex flex-items-center flex-justify-end">
<text class="amt font-size-18 font-500 font-family-misans-vf leading-[24px] text-[#ff3d60] mr-4">
<text class="amt font-size-18 font-500 font-family-misans-vf leading-[24px] text-[#ff3d60] mr-[4px]">
{{ item.specificationPrice }}
</text>
<text v-if="item.stockUnitLabel" class="font-size-12 leading-[16px] text-[#99a0ae]">
/{{ item.stockUnitLabel }}
</text>
<text class="btn rounded-[10px] text-white ml-16"></text>
<text class="btn rounded-[10px] text-white ml-[16px]"></text>
</view>
</view>
</view>

View File

@@ -6,7 +6,7 @@
activeIndex === index && 'tab-item-active',
]" @click="handleTabClick(index)">
<view class="tab-item-inner flex flex-items-center">
<uni-icons :class="['icon mr-4', activeIndex === index && 'icon-active']" fontFamily="znicons" size="20"
<uni-icons :class="['icon mr-[4px]', activeIndex === index && 'icon-active']" fontFamily="znicons" size="20"
color="opacity">
{{ zniconsMap[item.iconCode] }}
</uni-icons>

View File

@@ -10,19 +10,19 @@
<view v-if="didSelectedTabItem && didSelectedTabItem.orderType == 0"
class="bg-white flex flex-items-center p-[12px]">
<view class="in flex flex-items-center">
<text class="font-size-11 font-500 text-[#99a0ae] mr-4">入住</text>
<text class="font-size-11 font-500 text-[#99a0ae] mr-[4px]">入住</text>
<text class="font-size-14 font-500 text-[#171717]">
{{ selectedDate.startDate }}
</text>
</view>
<!-- 几晚 -->
<text class="nights bg-[#e5e8ee] font-size-11 font-500 text-[#525866] rounded-[50px] ml-8 mr-8">
<text class="nights bg-[#e5e8ee] font-size-11 font-500 text-[#525866] rounded-[50px] ml-[8px] mr-[8px]">
{{ selectedDate.totalDays }}
</text>
<view class="out flex flex-items-center">
<text class="font-size-11 font-500 text-[#99a0ae] mr-4">离店</text>
<text class="font-size-11 font-500 text-[#99a0ae] mr-[4px]">离店</text>
<text class="font-size-14 font-500 text-[#171717]">
{{ selectedDate.endDate }}
</text>

View File

@@ -1,8 +1,8 @@
<template>
<view class="order-card bg-white p-[12px] rounded-[12px] m-12">
<view class="order-card bg-white p-[12px] rounded-[12px] m-[12px]">
<!-- 卡片头部 -->
<view class="border-box flex flex-items-center pb-[12px]">
<image class="icon mr-4" src="https://oss.nianxx.cn/mp/static/version_101/service/service_icon.png" />
<image class="icon mr-[4px]" src="https://oss.nianxx.cn/mp/static/version_101/service/service_icon.png" />
<text class="font-size-14 text-[#525866] leading-[20px]">工单</text>
<text class="font-size-12 text-[#525866] leading-[20px] ml-auto">{{
isCancelWork ? "已取消" : workOrderStatus(orderData.workOrderStatus)
@@ -11,8 +11,8 @@
<!-- 卡片内容 -->
<view class="border-box card-content flex flex-items-center pb-[12px]">
<view class="border-box left flex-full pr-[20px]">
<view class="font-size-12 text-[#525866] leading-[20px] mb-4">所在位置{{ orderData.roomNo }}</view>
<view class="font-size-12 text-[#525866] leading-[20px] mb-4">联系方式: {{ orderData.userPhone }}</view>
<view class="font-size-12 text-[#525866] leading-[20px] mb-[4px]">所在位置{{ orderData.roomNo }}</view>
<view class="font-size-12 text-[#525866] leading-[20px] mb-[4px]">联系方式: {{ orderData.userPhone }}</view>
<view class="font-size-12 text-[#525866] leading-[20px] ellipsis-2">需求描述: {{ orderData.content }}</view>
</view>
@@ -22,9 +22,9 @@
<!-- 服务人员 -->
<view v-if="orderData.processMemberName && orderData.processMemberPhone"
class="service-user p-[8px] flex flex-items-center flex-justify-between mb-12">
class="service-user p-[8px] flex flex-items-center flex-justify-between mb-[12px]">
<view class="font-size-12 leading-[16px]">服务人员{{ orderData.processMemberName }}</view>
<uni-icons class="ml-auto mr-4" type="phone-filled" size="14" color="#436799" />
<uni-icons class="ml-auto mr-[4px]" type="phone-filled" size="14" color="#436799" />
<text class="font-size-12 leading-[16px]" @click="callService">拨打电话</text>
</view>

View File

@@ -1,5 +1,5 @@
<template>
<view class="w-full flex flex-col overflow-hidden pl-[12px] mt-6 mb-6">
<view class="w-full flex flex-col overflow-hidden pl-[12px] mt-[6px] mb-[6px]">
<text class="font-size-14 text-[#333333]">{{ text }}</text>
<slot></slot>
</view>

View File

@@ -4,7 +4,7 @@
<image class="content-body-image content-body-image-bottom" :src="contentImageUrl" mode="widthFix"
@click="handlePreviewClick(contentImageUrl)" />
</template>
<template v-else-if="shouldRenderSpotLocate">
<view class="detail-action-zone">
<view class="detail-action-label">查看景点详情</view>
@@ -13,7 +13,8 @@
<view class="poi-mini-body">
<view v-if="spotLocateValue.name" class="poi-mini-title">{{ spotLocateValue.name }}</view>
<view v-if="spotLocateValue.description" class="poi-mini-desc">{{ spotLocateValue.description }}</view>
<button v-if="hasMapLocation(spotLocateValue)" class="detail-solid-button" @click.stop="openMap(spotLocateValue)">带我去</button>
<button v-if="hasMapLocation(spotLocateValue)" class="detail-solid-button"
@click.stop="openMap(spotLocateValue)">带我去</button>
</view>
</view>
</view>
@@ -53,21 +54,12 @@
<view class="detail-action-label">相关票务</view>
<scroll-view class="detail-product-scroll" :scroll-x="!isSingleCommodity">
<view class="detail-product-row">
<view
v-for="commodity in commodityItems"
:key="commodity.commodity_id || commodity.commodity_name"
class="detail-product-card"
:class="{ 'overview-combo-card': isSingleCommodity }"
>
<view v-for="commodity in commodityItems" :key="commodity.commodity_id || commodity.commodity_name"
class="detail-product-card" :class="{ 'overview-combo-card': isSingleCommodity }">
<template v-if="isSingleCommodity">
<view class="overview-combo-body">
<image
v-if="commodity.commodity_photo"
class="overview-combo-cover"
:src="commodity.commodity_photo"
mode="aspectFill"
@click="handlePreviewClick(commodity.commodity_photo)"
/>
<image v-if="commodity.commodity_photo" class="overview-combo-cover" :src="commodity.commodity_photo"
mode="aspectFill" @click="handlePreviewClick(commodity.commodity_photo)" />
<view class="overview-combo-info">
<view v-if="commodity.commodity_name" class="overview-combo-name">
{{ commodity.commodity_name }}
@@ -80,23 +72,15 @@
</view>
</view>
</view>
<button
v-if="commodity.commodity_id"
class="overview-combo-button"
@click.stop="openCommodityDetail(commodity)"
>
<button v-if="commodity.commodity_id" class="overview-combo-button"
@click.stop="openCommodityDetail(commodity)">
立即购买
</button>
</template>
<template v-else>
<image
v-if="commodity.commodity_photo"
class="detail-product-image"
:src="commodity.commodity_photo"
mode="aspectFill"
@click="handlePreviewClick(commodity.commodity_photo)"
/>
<image v-if="commodity.commodity_photo" class="detail-product-image" :src="commodity.commodity_photo"
mode="aspectFill" @click="handlePreviewClick(commodity.commodity_photo)" />
<view class="detail-product-body">
<view v-if="commodity.commodity_tag" class="detail-product-tag">
{{ commodity.commodity_tag }}
@@ -107,11 +91,8 @@
<view v-if="commodity.commodity_price" class="detail-product-price">
<text class="detail-product-currency">¥</text>{{ commodity.commodity_price }}
</view>
<button
v-if="commodity.commodity_id"
class="detail-buy-button"
@click.stop="openCommodityDetail(commodity)"
>
<button v-if="commodity.commodity_id" class="detail-buy-button"
@click.stop="openCommodityDetail(commodity)">
立即购买
</button>
</view>
@@ -124,19 +105,10 @@
<template v-else-if="shouldRenderPhotoList">
<view class="detail-action-zone">
<view class="detail-action-label mt-12">查看机位图</view>
<swiper
class="photo-card-swiper"
:indicator-dots="photoItems.length > 1"
indicator-color="#FFFFFF"
indicator-active-color="#00A6FF"
circular
:duration="250"
>
<swiper-item
v-for="photo in photoItems"
:key="photo.photo_url || photo.photo_name"
>
<view class="detail-action-label mt-[12px]">查看机位图</view>
<swiper class="photo-card-swiper" :indicator-dots="photoItems.length > 1" indicator-color="#FFFFFF"
indicator-active-color="#00A6FF" circular :duration="250">
<swiper-item v-for="photo in photoItems" :key="photo.photo_url || photo.photo_name">
<view class="photo-card" @click="handlePreviewClick(photo.photo_url, photoItems.map(p => p.photo_url))">
<image class="photo-card-image" :src="photo.photo_url" mode="aspectFill" />
<view class="photo-card-caption">
@@ -171,11 +143,8 @@
<view v-if="aigcComponetValue.description" class="aigc-desc">
{{ aigcComponetValue.description }}
</view>
<button
v-if="aigcComponetValue.jumpUrl"
class="detail-solid-button aigc-button"
@click="jumpAigcClick(aigcComponetValue)"
>
<button v-if="aigcComponetValue.jumpUrl" class="detail-solid-button aigc-button"
@click="jumpAigcClick(aigcComponetValue)">
生成我的合影
</button>
</view>
@@ -208,11 +177,7 @@
<template v-else>
<template v-for="entry in renderFieldEntries" :key="entry.key">
<ChatMarkdown
v-if="entry.type === 'text'"
class="content-body-markdown"
:text="entry.value"
/>
<ChatMarkdown v-if="entry.type === 'text'" class="content-body-markdown" :text="entry.value" />
<view v-else-if="entry.type === 'image'" class="content-body-image-card">
<image class="content-body-image" :src="entry.value.image_id" mode="widthFix"
@@ -222,16 +187,14 @@
</view>
</view>
<view v-else-if="entry.type === 'list'" class="content-body-list-card" :style="getContentBodyListCardStyle(entry.key)">
<view v-else-if="entry.type === 'list'" class="content-body-list-card"
:style="getContentBodyListCardStyle(entry.key)">
<view v-for="(item, index) in entry.value" :key="index" class="content-body-list-item">
<view class="content-body-list-text">
<ChatMarkdown
class="content-body-markdown"
:text="formatLeafValue(item)"
<ChatMarkdown class="content-body-markdown" :text="formatLeafValue(item)"
:theme-color="getContentBodyMarkdownColor(entry.key)"
:font-color="getContentBodyMarkdownColor(entry.key)"
:font-sub-color="getContentBodyMarkdownColor(entry.key)"
/>
:font-sub-color="getContentBodyMarkdownColor(entry.key)" />
</view>
</view>
</view>
@@ -429,7 +392,7 @@ const aigcComponetValue = computed(() => getAigcComponetValue(displayValue.value
const getTourRoutesValue = (value) => {
const tourRoutes = isObjectValue(value) ? value : {};
return {
routes_title: toTrimmedText(tourRoutes.routes_title),
full_routes: toTrimmedText(tourRoutes.full_routes),
@@ -616,11 +579,13 @@ const openMap = (spot) => {
const longitude = spot.longitude;
const name = spot.name || "";
const address = spot.description || name;
uni.getLocation({ type: 'gcj02', success: () => {
uni.openLocation({ latitude, longitude, name, address });
}, fail: () => {
uni.openLocation({ latitude, longitude, name, address });
}});
uni.getLocation({
type: 'gcj02', success: () => {
uni.openLocation({ latitude, longitude, name, address });
}, fail: () => {
uni.openLocation({ latitude, longitude, name, address });
}
});
};
const sendReply = (item) => {

View File

@@ -1,7 +1,7 @@
<template>
<view class="more-tips bg-white border-box">
<view class="font-size-0 whitespace-nowrap scroll-x">
<view class="more-tips-item inline-block mr-8" v-for="(item, index) in guideWords" :key="index">
<view class="more-tips-item inline-block mr-[8px]" v-for="(item, index) in guideWords" :key="index">
<text :class="['font-500 font-size-12 text-center', `color-${index}`]" @click="sendReply(item)">
{{ item }}
</text>

View File

@@ -12,7 +12,7 @@
:totalFrames="spriteStyle.totalFrames" :columns="spriteStyle.columns" :displayWidth="spriteStyle.displayWidth"
:fps="16" />
<text v-show="show" :class="[
'font-size-14 font-500 text-[#171717] ml-10',
'font-size-14 font-500 text-[#171717] ml-[10px]',
{ 'text-animated': show },
]">
{{ config.name }}

View File

@@ -13,12 +13,13 @@
<view class="pt-[16px] px-[12px] pb-[24px] border-box">
<view class="text-[#171717] font-size-16 font-weight-600">{{ detailTitle }}</view>
<view v-if="publishTime" class="notice-time-tag flex flex-row flex-items-center mt-16">
<view v-if="publishTime" class="notice-time-tag flex flex-row flex-items-center mt-[16px]">
<uni-icons type="clock" size="18" color="#5A6780" />
<text class="text-[#171717] font-size-12 font-weight-600 ml-8">发布时间{{ publishTime }}</text>
<text class="text-[#171717] font-size-12 font-weight-600 ml-[8px]">发布时间{{ publishTime }}</text>
</view>
<view class="mt-20 pt-[16px] text-[#666666] font-size-14 leading-[20px] border-top">{{ noticeContent }}</view>
<view class="mt-[20px] pt-[16px] text-[#666666] font-size-14 leading-[20px] border-top">{{ noticeContent }}
</view>
</view>
</view>
</scroll-view>

View File

@@ -4,7 +4,7 @@
<view class="w-vw"></view>
<view class="flex flex-col px-[16px] pt-[16px] pb-[12px] border-box" @click="lookDetailAction">
<view v-if="tag" class="long-answer-tag" :style="longAnswerTagStyle">{{ tag }}</view>
<view v-if="title" class="flex flex-row flex-items-start flex-justify-start mb-4">
<view v-if="title" class="flex flex-row flex-items-start flex-justify-start mb-[4px]">
<text class="font-size-16 font-600 text-[#0B5C2D]"> {{ title }}</text>
</view>
<!-- 文字内容根据数据模式限制预览行数 -->
@@ -12,12 +12,12 @@
<ChatMarkdown :text="processedContent" :fontColor="'#94A3B8'" />
</view>
<!-- 超过2行时显示...提示 -->
<view v-if="!finish" class="flex flex-row flex-items-center mt-8">
<view v-if="!finish" class="flex flex-row flex-items-center mt-[8px]">
<text class="font-size-12 font-500 font-color-600">正在生成</text>
<ChatLoading />
</view>
<view v-if="isOverflow" class="flex flex-row flex-items-center flex-justify-between mt-12">
<text class="font-size-12 font-800 text-[#cbd5e1] mr-4">查看完整{{ tag }}</text>
<view v-if="isOverflow" class="flex flex-row flex-items-center flex-justify-between mt-[12px]">
<text class="font-size-12 font-800 text-[#cbd5e1] mr-[4px]">查看完整{{ tag }}</text>
<uni-icons type="right" size="16" color="#CBD5E1"></uni-icons>
</view>

View File

@@ -1,6 +1,6 @@
<template>
<uni-popup ref="popup" type="center" :safe-area="false">
<view class="popup-content bg-white mx-24 px-[12px] py-16 rounded-[12px]">
<view class="popup-content bg-white mx-[24px] px-[12px] py-16 rounded-[12px]">
<view class="header flex flex-items-center pb-[12px]">
<view class="title flex-full text-center font-size-17 text-[#000000] font-500 ml-[24px]">呼叫热线</view>
<uni-icons type="close" size="24" color="#CACFD8" @click="close" />

View File

@@ -2,7 +2,7 @@
<view class="container w-full border-ff overflow-hidden rounded-[24px] flex flex-col">
<!-- 占位撑开 -->
<view class="w-vw"></view>
<view class="content flex flex-col m-4 rounded-[24px]">
<view class="content flex flex-col m-[4px] rounded-[24px]">
<view class="flex flex-col p-[6px] flex-items-center justify-center">
<image class="w-full rounded-[20px]" :src="componentDataMap.background" mode="widthFix" />
@@ -12,9 +12,9 @@
<text class="tag-text">{{ componentDataMap.superscript }}</text>
</view>
<image class="g_title mt-20" :src="componentDataMap.title" />
<image class="g_title mt-[20px]" :src="componentDataMap.title" />
<text class="font-size-14 font-400 text-white my-12 text-center">
<text class="font-size-14 font-400 text-white my-[12px] text-center">
{{ componentDataMap.description }}
</text>

View File

@@ -87,7 +87,7 @@
<view class="long-text-guide-card__map-bar flex flex-items-center bg-white">
<view class="flex-full">
<view class="text-[#1e293b] font-size-15 font-900">{{ activeItem.action.title }}</view>
<view class="text-[#94a3b8] font-size-12 font-800 mt-2">{{ activeItem.action.subtitle }}</view>
<view class="text-[#94a3b8] font-size-12 font-800 mt-[2px]">{{ activeItem.action.subtitle }}</view>
</view>
<view class="long-text-guide-card__nav-btn text-white bg-[#0f172a] font-size-14 font-900"
@click="handleAction(activeItem)">

View File

@@ -10,10 +10,10 @@
</view>
<view class="center ml-[12px]">
<view class="font-color-900 font-size-14">打开导览地图</view>
<view class="font-color-500 font-size-12 mt-6">距你 {{ distance }} · 步行 {{ walk }}</view>
<view class="font-color-500 font-size-12 mt-[6px]">距你 {{ distance }} · 步行 {{ walk }}</view>
</view>
<view class="ml-[12px] flex flex-items-center flex-justify-center w-32 h-32 rounded-full bg-[#f2f5f8]">
<uni-icons class="mb-2" type="right" size="12" color="#99A0AE" />
<uni-icons class="mb-[2px]" type="right" size="12" color="#99A0AE" />
</view>
</view>
</view>

View File

@@ -3,9 +3,9 @@
<ModuleTitle :title="recommendTheme.themeName" />
<view class="container-scroll font-size-0 scroll-x whitespace-nowrap">
<view class="card-item bg-white inline-block rounded-[20px] mr-8"
<view class="card-item bg-white inline-block rounded-[20px] mr-[8px]"
v-for="(item, index) in recommendTheme.recommendPostsList" :key="index" @click="sendReply(item)">
<view class="m-4 relative">
<view class="m-[4px] relative">
<image class="card-img rounded-[16px] relative z-10" :src="item.coverPhoto" mode="aspectFill" />
<view class="shadow absolute rounded-[16px]"></view>

View File

@@ -11,12 +11,12 @@
{{ item.title }}
</view>
<view
class="recommendation-list-card__distance flex flex-items-center gap-[4px] mt-4 text-[#94a3b8] font-size-12 font-800">
class="recommendation-list-card__distance flex flex-items-center gap-[4px] mt-[4px] text-[#94a3b8] font-size-12 font-800">
<text class="recommendation-list-card__pin"></text>
<text>{{ item.distance }}</text>
</view>
<view
class="recommendation-list-card__button flex flex-items-center flex-justify-center mt-12 text-[#334155] font-size-12 font-900"
class="recommendation-list-card__button flex flex-items-center flex-justify-center mt-[12px] text-[#334155] font-size-12 font-900"
@click.stop="handleSelect(item)">
{{ getActionText(item) }}
</view>

View File

@@ -1,7 +1,7 @@
<template>
<CardShell variant="detail">
<view class="visual-detail__header flex flex-items-center px-[16px] border-bottom-F1F5F9">
<view class="visual-detail__back mr-8 rounded-full bg-[#f8fafc] text-[#334155] font-900 text-center"
<view class="visual-detail__back mr-[8px] rounded-full bg-[#f8fafc] text-[#334155] font-900 text-center"
@click="$emit('back')">
<uni-icons type="left" size="16" color="#CBD5E1"></uni-icons>
</view>

View File

@@ -2,7 +2,7 @@
<view class="container w-full border-ff overflow-hidden rounded-[24px] flex flex-col">
<!-- 占位撑开 -->
<view class="w-vw"></view>
<view class="flex flex-col m-4 rounded-[24px]">
<view class="flex flex-col m-[4px] rounded-[24px]">
<slot name="content"></slot>
</view>
</view>

View File

@@ -2,7 +2,7 @@
<view class="container pl-[12px]">
<view class="container-scroll font-size-0 scroll-x whitespace-nowrap">
<view class="card-item bg-white inline-block rounded-[20px] mr-10" v-for="(item, index) in list" :key="index"
<view class="card-item bg-white inline-block rounded-[20px] mr-[10px]" v-for="(item, index) in list" :key="index"
@click="sendReply(item)">
<view class="flex flex-row flex-justify-start p-[10px]">

View File

@@ -2,7 +2,7 @@
<view class="bg-[#f5f7fa] flex flex-col h-screen overflow-hidden">
<TopNavBar title="房间相册" backgroundColor="transparent" />
<view class="p-[8px]">
<text class="ml-4 font-size-18 text-[#171717] font-500">全部({{ albumList.length }})</text>
<text class="ml-[4px] font-size-18 text-[#171717] font-500">全部({{ albumList.length }})</text>
</view>
<scroll-view scroll-y class="scroll-container overflow-auto">

View File

@@ -9,12 +9,12 @@
<uni-icons fontFamily="znicons" size="20" color="#171717">
{{ zniconsMap[moduleItem.icon] }}
</uni-icons>
<text class="ml-4 font-size-12 text-[#171717] leading-[20px]">
<text class="ml-[4px] font-size-12 text-[#171717] leading-[20px]">
{{ moduleItem.title }}
</text>
</view>
<view class="border-box flex flex-col flex-items-start mt-4 pb-[12px]">
<text class="font-size-12 text-[#525866] leading-[20px] mb-4" v-for="(text, index) in moduleItem.desc"
<view class="border-box flex flex-col flex-items-start mt-[4px] pb-[12px]">
<text class="font-size-12 text-[#525866] leading-[20px] mb-[4px]" v-for="(text, index) in moduleItem.desc"
:key="index">
{{ text }}
</text>

View File

@@ -2,7 +2,7 @@
<view class="border-box border-top-8 pl-[12px] pr-[12px] pt-[6px] pb-[12px]">
<ModuleTitle v-if="showTitle" title="套餐包含内容" />
<view class="flex flex-items-start flex-col" v-for="(item, index) in goodsData.commodityPackageConfig" :key="index">
<view class="title-row py-[4px] ml-4">
<view class="title-row py-[4px] ml-[4px]">
<text class="left font-size-14 text-[#171717]">{{ item.name }}</text>
<view class="sep" aria-hidden="true"></view>
<text class="right font-size-14 text-[#171717]">{{ item.count }}{{ item.unit }}</text>

View File

@@ -35,7 +35,7 @@
<!-- 立即抢购 -->
<view class="footer border-top">
<view class="amt font-size-20 font-bold text-[#ff3d60] line-height-28 flex flex-items-center mr-8">
<view class="amt font-size-20 font-bold text-[#ff3d60] line-height-28 flex flex-items-center mr-[8px]">
{{ calculatedTotalPrice }}
</view>

View File

@@ -17,11 +17,13 @@
<view class="login-agreement flex flex-items-center">
<CheckBox v-model="isAgree">
<text class="font-size-12 text-[#525866]">我已阅读并同意</text>
<text class="font-size-12 text-[#0CCD58] ml-4 mr-4" @click.stop="handleAgreeClick('service')">服务协议</text>
<text class="font-size-12 text-[#0CCD58] ml-[4px] mr-[4px]"
@click.stop="handleAgreeClick('service')">服务协议</text>
<text class="font-size-12 text-[#525866]"></text>
<text class="font-size-12 text-[#0CCD58] ml-4 mr-4" @click.stop="handleAgreeClick('privacy')">隐私协议</text>
<text class="font-size-12 text-[#0CCD58] ml-[4px] mr-[4px]"
@click.stop="handleAgreeClick('privacy')">隐私协议</text>
<text class="font-size-12 text-[#525866]">\n</text>
<text class="font-size-12 text-[#525866] ml-30">授权与账号关联操作</text>
<text class="font-size-12 text-[#525866] ml-[30px]">授权与账号关联操作</text>
</CheckBox>
</view>

View File

@@ -4,7 +4,6 @@
@import "./flex.scss";
@import "./font-weight.scss";
@import "./height.scss";
@import "./margin.scss";
@import "./font-size.scss";
@import "./font-family.scss";
@import "./ellipsis.scss";

View File

@@ -1,356 +0,0 @@
// 外边距
.ml-auto {
margin-left: auto;
}
.mr-auto {
margin-right: auto;
}
// 2px
.m-2 {
margin: 2px;
}
.mt-2 {
margin-top: 2px;
}
.mb-2 {
margin-bottom: 2px;
}
.ml-2 {
margin-left: 2px;
}
.mr-2 {
margin-right: 2px;
}
.mx-2 {
margin-left: 2px;
margin-right: 2px;
}
.my-2 {
margin-top: 2px;
margin-bottom: 2px;
}
// 4px
.m-4 {
margin: 4px;
}
.mt-4 {
margin-top: 4px;
}
.mb-4 {
margin-bottom: 4px;
}
.ml-4 {
margin-left: 4px;
}
.mr-4 {
margin-right: 4px;
}
.mx-4 {
margin-left: 4px;
margin-right: 4px;
}
.my-4 {
margin-top: 4px;
margin-bottom: 4px;
}
// 6px
.m-6 {
margin: 6px;
}
.mt-6 {
margin-top: 6px;
}
.mb-6 {
margin-bottom: 6px;
}
.ml-6 {
margin-left: 6px;
}
.mr-6 {
margin-right: 6px;
}
.mx-6 {
margin-left: 6px;
margin-right: 6px;
}
.my-6 {
margin-top: 6px;
margin-bottom: 6px;
}
// 8px
.m-8 {
margin: 8px;
}
.mt-8 {
margin-top: 8px;
}
.mb-8 {
margin-bottom: 8px;
}
.ml-8 {
margin-left: 8px;
}
.mr-8 {
margin-right: 8px;
}
.mx-8 {
margin-left: 8px;
margin-right: 8px;
}
.my-8 {
margin-top: 8px;
margin-bottom: 8px;
}
// 10px
.m-10 {
margin: 10px;
}
.mt-10 {
margin-top: 10px;
}
.mb-10 {
margin-bottom: 10px;
}
.ml-10 {
margin-left: 10px;
}
.mr-10 {
margin-right: 10px;
}
.mx-10 {
margin-left: 10px;
margin-right: 10px;
}
.my-10 {
margin-top: 10px;
margin-bottom: 10px;
}
// 12px
.m-12 {
margin: 12px;
}
.mt-12 {
margin-top: 12px;
}
.mb-12 {
margin-bottom: 12px;
}
.ml-12 {
margin-left: 12px;
}
.mr-12 {
margin-right: 12px;
}
.mx-12 {
margin-left: 12px;
margin-right: 12px;
}
.my-12 {
margin-top: 12px;
margin-bottom: 12px;
}
// 14px
.m-14 {
margin: 14px;
}
.mt-14 {
margin-top: 14px;
}
.mb-14 {
margin-bottom: 14px;
}
.ml-14 {
margin-left: 14px;
}
.mr-14 {
margin-right: 14px;
}
.mx-14 {
margin-left: 14px;
margin-right: 14px;
}
.my-14 {
margin-top: 14px;
margin-bottom: 14px;
}
// 16px
.m-16 {
margin: 16px;
}
.mt-16 {
margin-top: 16px;
}
.mb-16 {
margin-bottom: 16px;
}
.ml-16 {
margin-left: 16px;
}
.mr-16 {
margin-right: 16px;
}
.mx-16 {
margin-left: 16px;
margin-right: 16px;
}
.my-16 {
margin-top: 16px;
margin-bottom: 16px;
}
// 18px
.m-18 {
margin: 18px;
}
.mt-18 {
margin-top: 18px;
}
.mb-18 {
margin-bottom: 18px;
}
.ml-18 {
margin-left: 18px;
}
.mr-18 {
margin-right: 18px;
}
.mx-18 {
margin-left: 18px;
margin-right: 18px;
}
.my-18 {
margin-top: 18px;
margin-bottom: 18px;
}
// 20px
.m-20 {
margin: 20px;
}
.mt-20 {
margin-top: 20px;
}
.mb-20 {
margin-bottom: 20px;
}
.ml-20 {
margin-left: 20px;
}
.mr-20 {
margin-right: 20px;
}
.mx-20 {
margin-left: 20px;
margin-right: 20px;
}
.my-20 {
margin-top: 20px;
margin-bottom: 20px;
}
// 24px
.m-24 {
margin: 24px;
}
.mt-24 {
margin-top: 24px;
}
.mb-24 {
margin-bottom: 24px;
}
.ml-24 {
margin-left: 24px;
}
.mr-24 {
margin-right: 24px;
}
.mx-24 {
margin-left: 24px;
margin-right: 24px;
}
.my-24 {
margin-top: 24px;
margin-bottom: 24px;
}
// 其他
.ml-30 {
margin-left: 30px;
}
.mr-88 {
margin-right: 88px;
}