refactor: replace legacy flex utility classes and remove flex.scss

Replace all instances of prefixed flex utility classes (like flex-items-center, flex-justify-between, flex-full, flex-shrink-0) with their standard un-prefixed counterparts (items-center, justify-between, flex-1, shrink-0) across the codebase. Remove the deprecated src/static/scss/flex.scss partial file as it is no longer needed after these updates.
This commit is contained in:
duanshuwen
2026-07-25 10:03:01 +08:00
parent 1df4b328dd
commit 15560574e0
61 changed files with 191 additions and 243 deletions

View File

@@ -1,7 +1,7 @@
<template>
<view class="create-service-order">
<view class="w-full bg-white border-ff overflow-hidden rounded-[20px]">
<view class="border-box order-header w-screen flex flex-items-center flex-justify-between bg-[#F0F8F3]">
<view class="border-box order-header w-screen flex items-center justify-between bg-[#F0F8F3]">
<text class="text-[18px] font-[500] text-[#171717] text-left ml-[12px]">
{{ isCallSuccess ? "服务已创建" : "呼叫服务" }}
</text>
@@ -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] text-[14px] text-[#171717] mb-[12px]">
<view class="bg-[#f5f7fa] flex items-center p-[12px] rounded-[10px] text-[14px] 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] text-[14px] text-[#171717] mb-[12px]">
<view class="bg-[#f5f7fa] flex items-center p-[12px] rounded-[10px] text-[14px] text-[#171717] mb-[12px]">
<text class="font-[500] leading-[22px] mr-[20px]">联系电话</text>
<input placeholder="请填写联系电话" v-model="contactPhone" @input="handleContactPhoneInput" />
</view>
@@ -28,7 +28,7 @@
<view class="bg-[#f5f7fa] p-[12px] rounded-[10px] text-[14px] font-[500] text-[#171717] mb-[12px]">
<view class="font-[500] leading-[22px] mb-[12px]">照片上传</view>
<view class="w-[80px] h-80 bg-white rounded-[8px] overflow-hidden flex flex-items-center flex-justify-center">
<view class="w-[80px] h-80 bg-white rounded-[8px] overflow-hidden flex items-center justify-center">
<view v-if="contentImgUrl" class="w-full h-full relative inline-block">
<image class="w-full h-full block" :src="contentImgUrl" mode="aspectFill" />
<uni-icons class="close-btn absolute z-10" type="close" size="20" color="#6A717F"
@@ -36,7 +36,7 @@
</uni-icons>
</view>
<view v-else class="w-full h-full flex flex-items-center flex-justify-center" @click="handleChooseImage">
<view v-else class="w-full h-full flex items-center justify-center" @click="handleChooseImage">
<uni-icons fontFamily="znicons" size="24" color="#6A717F">
{{ zniconsMap["zn-camera"] }}
</uni-icons>
@@ -45,8 +45,8 @@
</view>
</view>
<view v-else class="border-box card-content flex flex-items-center p-[12px]">
<view class="border-box left flex-full pr-[20px]">
<view v-else class="border-box card-content flex items-center p-[12px]">
<view class="border-box left flex-1 pr-[20px]">
<view class="text-[12px] text-[#525866] leading-[20px] mb-[4px]">所在位置{{ roomId }}</view>
<view class="text-[12px] text-[#525866] leading-[20px] mb-[4px]">联系方式: {{ contactPhone }}</view>
<view class="text-[12px] text-[#525866] leading-[20px] line-clamp-2">需求描述: {{ contactText }}</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-[12px] mb-[12px]"
class="btn rounded-[50px] text-white bg-gradient-to-r from-[#0CCD58] to-[#4de4ff] flex items-center justify-center ml-[12px] mr-[12px] mb-[12px]"
@click="handleCall">
{{ isCallSuccess ? "查看服务" : "立即呼叫" }}
</view>

View File

@@ -1,18 +1,18 @@
<template>
<view class="border-box flex flex-items-center flex-justify-between mb-[12px]">
<view class="left flex flex-items-center">
<view class="border-box flex items-center justify-between mb-[12px]">
<view class="left flex items-center">
<text class="text-[12px] text-[#99a0ae] mr-[4px]">入住</text>
<text class="text-[12px] text-[#171717] mr-[16px]">
{{ selectedDate.startDate }}
</text>
<text class="total rounded-[50px] flex flex-items-center text-[11px] text-[#43669a] relative">{{
<text class="total rounded-[50px] flex items-center text-[11px] text-[#43669a] relative">{{
selectedDate.totalDays }}</text>
<text class="text-[12px] text-[#99a0ae] ml-[16px]">离店</text>
<text class="text-[12px] text-[#171717] ml-[4px]">
{{ selectedDate.endDate }}
</text>
</view>
<view class="flex flex-items-center" v-if="showBtn" @click="emit('click')">
<view class="flex items-center" v-if="showBtn" @click="emit('click')">
<text class="text-[12px] text-[#0CCD58] leading-[16px]">房间详情</text>
<uni-icons type="right" size="15" color="#99A0AE" />
</view>

View File

@@ -1,19 +1,19 @@
<template>
<uni-popup ref="popupRef" type="bottom" :safe-area="false" @maskClick="handleClose">
<view class="refund-popup bg-[#f5f7fa] border-box">
<view class="border-box flex flex-items-center justify-between pt-[12px] pb-[12px] relative">
<view class="flex-full text-[16px] text-[#171717] leading-[24px] text-center">明细详情</view>
<view class="border-box flex items-center justify-between pt-[12px] pb-[12px] relative">
<view class="flex-1 text-[16px] text-[#171717] leading-[24px] text-center">明细详情</view>
<!-- 关闭按钮 -->
<uni-icons class="close absolute" type="close" size="20" color="#CACFD8" @click="handleClose" />
</view>
<!-- 内容区域 -->
<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-[12px]">
class="border-box border-bottom flex items-center justify-between pt-[12px] pb-[12px] ml-[12px] mr-[12px]">
<text class="text-[16px] font-[500] text-[#171717]">在线支付</text>
<text class="text-[14px] text-[#171717]">239</text>
</view>
<view class="border-box flex flex-items-center flex-justify-between pt-[12px] pb-[12px] ml-[12px] mr-[12px]">
<view class="border-box flex items-center justify-between pt-[12px] pb-[12px] ml-[12px] mr-[12px]">
<text class="text-[16px] font-[500] text-[#171717]">房费</text>
<text class="text-[14px] text-[#171717]">239</text>
</view>

View File

@@ -1,7 +1,7 @@
<template>
<view class="create-service-order">
<view class="w-full bg-white border-ff overflow-hidden rounded-[20px]">
<view class="border-box order-header w-screen flex flex-items-center flex-justify-between bg-[#F0F8F3]">
<view class="border-box order-header w-screen flex items-center justify-between bg-[#F0F8F3]">
<text class="text-[18px] font-[500] text-[#171717] text-left ml-[12px]">
{{ isCallSuccess ? "反馈已创建" : "反馈意见" }}
</text>
@@ -9,7 +9,7 @@
</view>
<view v-if="!isCallSuccess" class="border-box p-[12px]">
<view class="bg-[#f5f7fa] flex flex-items-center p-[12px] rounded-[10px] text-[14px] text-[#171717] mb-[12px]">
<view class="bg-[#f5f7fa] flex items-center p-[12px] rounded-[10px] text-[14px] text-[#171717] mb-[12px]">
<text class="font-[500] leading-[22px] mr-[20px]">联系电话</text>
<input placeholder="请填写联系电话" v-model="contactPhone" />
</view>
@@ -20,18 +20,18 @@
</view>
<view
class="btn rounded-[50px] text-white bg-gradient-to-r from-[#0CCD58] to-[#4de4ff] flex flex-items-center flex-justify-center"
class="btn rounded-[50px] text-white bg-gradient-to-r from-[#0CCD58] to-[#4de4ff] flex items-center justify-center"
@click="handleCall">
立即提交
</view>
</view>
<view v-else class="border-box left flex-full p-[12px]">
<view v-else class="border-box left flex-1 p-[12px]">
<view class="text-[12px] text-[#525866] leading-[20px] mb-[4px]">联系方式: {{ contactPhone }}</view>
<view class="text-[12px] text-[#525866] leading-[20px] line-clamp-2">意见内容: {{ contactText }}</view>
</view>
<view class="footer-help flex flex-items-center pl-[12px] mb-[12px]">
<view class="footer-help flex items-center pl-[12px] mb-[12px]">
<image class="help-icon mr-[4px]" src="./images/icon_volume.png" />
<text class="text-[12px] font-[500] text-[#fa7319] ">
{{ appName }}收到您的意见将第一时间为您处理!

View File

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

View File

@@ -1,14 +1,14 @@
<template>
<uni-popup ref="popupRef" type="bottom" :safe-area="false" @maskClick="handleClose">
<view class="refund-popup bg-[#f5f7fa] border-box">
<view class="border-box flex flex-items-center justify-between pt-[12px] pb-[12px] relative">
<view class="flex-full text-[16px] text-[#171717] leading-[24px] text-center">取消政策</view>
<view class="border-box flex items-center justify-between pt-[12px] pb-[12px] relative">
<view class="flex-1 text-[16px] text-[#171717] leading-[24px] text-center">取消政策</view>
<!-- 关闭按钮 -->
<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-[12px] mb-40">
<view class="flex flex-items-center mb-[8px]">
<view class="flex items-center mb-[8px]">
<uni-icons fontFamily="znicons" size="20" color="#333">
{{ zniconsMap["zn-refund"] }}
</uni-icons>

View File

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

View File

@@ -1,7 +1,7 @@
<template>
<view class="survey-questionnaire w-[calc(100vw_-_24px)]">
<view class="bg-white border-ff overflow-hidden rounded-[20px]">
<view class="border-box flex flex-items-center flex-justify-between bg-[#F0F8F3]">
<view class="border-box flex items-center justify-between bg-[#F0F8F3]">
<text class="text-[18px] font-[500] text-[#171717] text-left ml-[12px]">
调查问卷
</text>
@@ -11,7 +11,7 @@
<image class="w-full" :src="surveyData.bannerUrl" mode="widthFix" />
<view
class="h-44 m-[12px] 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 items-center justify-center"
@click="handleCall">
前往填写
</view>

View File

@@ -11,7 +11,7 @@
</view>
<!-- 底部价格 + 购买按钮 -->
<view class="card-footer p-[12px] flex flex-justify-between flex-items-center">
<view class="card-footer p-[12px] flex justify-between items-center">
<view class="border-box">
<view class="text-[14px] font-[500] text-[#333333] truncate">
{{ card.commodityName }}

View File

@@ -4,15 +4,15 @@
<view :style="{ height: statusBarHeight + 'px' }" v-if="!hideStatusBar"></view>
<!-- 导航栏内容 -->
<view class="flex flex-items-center flex-justify-between pl-[8px] pr-[8px]" :style="navContentStyle">
<view class="flex items-center justify-between pl-[8px] pr-[8px]" :style="navContentStyle">
<!-- 左侧返回按钮 -->
<view class="nav-bar-left flex flex-items-center flex-justify-center" v-if="showBack" @click="handleBack">
<view class="nav-bar-left flex items-center justify-center" v-if="showBack" @click="handleBack">
<uni-icons type="left" size="20" :color="backIconColor" />
</view>
<!-- 中间标题区域 -->
<view :class="[
'nav-bar-center flex flex-items-center flex-justify-center',
'nav-bar-center flex items-center justify-center',
`nav-bar-center--${titleAlign}`,
]">
<slot name="title">

View File

@@ -1,7 +1,7 @@
<template>
<view class="bg-white rounded-[12px] overflow-hidden mb-[12px]">
<view class="border-box text-[16px] font-[500] text-[#000000] leading-[24px] p-[12px]">使用日期</view>
<view class="flex flex-items-center border-box">
<view class="flex items-center border-box">
<scroll-view class="date-scroll" scroll-x>
<view class="date-list">
<block v-for="item in openDateRangeList" :key="item.date">

View File

@@ -1,7 +1,7 @@
<template>
<!-- 选择数量 -->
<view class="border-box bg-white p-[12px] rounded-[12px] flex flex-items-center mb-[12px]">
<view class="flex-full">
<view class="border-box bg-white p-[12px] rounded-[12px] flex items-center mb-[12px]">
<view class="flex-1">
<view class="text-[16px] font-[500] text-[#000000] leading-[24px]">选择数量</view>
<view class="text-[12px] text-[#a3a3a3] leading-[16px]">
请选择套餐数量
@@ -19,7 +19,7 @@
<!-- 联系方式 -->
<view class="bg-white rounded-[12px] overflow-hidden">
<view class="border-box border-bottom text-[16px] font-[500] text-[#000000] leading-[24px] p-[12px]">联系方式</view>
<view class="flex flex-items-center p-[12px]">
<view class="flex items-center p-[12px]">
<view class="text-[14px] font-[500] text-[#525866] mr-[12px]"> 联系人姓名 </view>
<view class="right">
<input class="border-box px-[4px] py-[2px] text-[15px] text-[#000000] leading-[20px]"
@@ -27,7 +27,7 @@
</view>
</view>
<view class="flex flex-items-center p-[12px]">
<view class="flex items-center p-[12px]">
<view class="text-[14px] font-[500] text-[#525866] mr-[12px]"> 手机号码 </view>
<view class="right">
<input class="border-box px-[4px] py-[2px] text-[15px] text-[#000000] leading-[20px]"

View File

@@ -1,13 +1,13 @@
<template>
<view class="booking-footer bg-white flex flex-items-center font-family-misans-vf">
<text class="amt text-[20px] font-bold text-[#ff3d60] line-height-28 flex flex-items-center mr-[8px]">
<view class="booking-footer bg-white flex items-center font-family-misans-vf">
<text class="amt text-[20px] font-bold text-[#ff3d60] line-height-28 flex items-center mr-[8px]">
{{ totalAmt }}
</text>
<!-- <view class="flex flex-items-center" @click="emit('detailClick')">
<!-- <view class="flex items-center" @click="emit('detailClick')">
<text class="text-[12px] 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 class="btn rounded-[10px] flex items-center ml-auto pl-[8px]" @click="handleBooking">
<image class="icon" src="https://oss.nianxx.cn/mp/static/version_101/common/btn.png" />
<text class="text-[16px] font-[500] text-white">立即支付</text>
</view>

View File

@@ -1,15 +1,15 @@
<template>
<view class="bg-white rounded-[12px] overflow-hidden mb-[12px]">
<view class="flex flex-items-center p-[12px] border-bottom">
<view class="text-[16px] font-[500] text-[#000000] leading-[24px] flex-full">入住信息</view>
<view class="flex items-center p-[12px] border-bottom">
<view class="text-[16px] font-[500] text-[#000000] leading-[24px] flex-1">入住信息</view>
<view class="right">
<Stepper v-model="count" unit="间" />
</view>
</view>
<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="border-box border-bottom pt-[12px] pb-[12px] flex items-center" v-for="(item, index) in userFormList"
:key="index">
<view class="text-[14px] font-[500] text-[#525866] mr-[12px]"> 住客姓名 </view>
<view class="right">
<input class="border-box px-[4px] py-[2px] text-[15px] text-[#000000] leading-[20px]"
@@ -17,7 +17,7 @@
</view>
</view>
<view class="flex flex-items-center pt-[12px] pb-[12px]">
<view class="flex items-center pt-[12px] pb-[12px]">
<view class="text-[14px] font-[500] text-[#525866] mr-[12px]"> 联系手机 </view>
<view class="right">
<input class="border-box px-[4px] py-[2px] text-[15px] text-[#000000] leading-[20px]"

View File

@@ -6,7 +6,7 @@
</template>
</TopNavBar>
<view class="booking-content flex-full p-[12px] overflow-hidden scroll-y">
<view class="booking-content flex-1 p-[12px] overflow-hidden scroll-y">
<!-- 预约内容 -->
<view class="border-box bg-white p-[12px] rounded-[12px] mb-[12px]">
<!-- 酒店类型入住离店日期部分 -->
@@ -23,7 +23,7 @@
</view>
<!-- 权益部分 -->
<view class="flex flex-items-center mb-[8px]">
<view class="flex items-center mb-[8px]">
<text
class="bg-[#f7f7f7] rounded-[4px] text-[11px] text-[#525866] mr-[4px] pt-[4px] pb-[4px] pl-[6px] pr-[6px]"
v-for="(item, index) in orderData.commodityFacilityList" :key="index">
@@ -32,9 +32,9 @@
</view>
</view>
<view class="border-box flex flex-items-center flex-justify-between pt-[12px]">
<view class="border-box flex items-center justify-between pt-[12px]">
<text class="text-[12px] text-[#525866] leading-[18px]">取消政策及说明</text>
<view class="flex flex-items-center">
<view class="flex items-center">
<text class="text-[12px] text-[#0CCD58] leading-[16px]" @click="refundVisible = true">取消政策</text>
<uni-icons type="right" size="15" color="#99A0AE" />
</view>

View File

@@ -1,7 +1,7 @@
<template>
<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">
<view class="flex items-center justify-between">
<view class="flex items-center">
<text class="text-[16px] text-[#171717] leading-[24px] font-[500]">
订单金额
</text>
@@ -14,9 +14,9 @@
超时后订单将自动取消
</view>
<view v-if="['1', '2'].includes(orderData.orderStatus)"
class="border-box border-top flex flex-items-center flex-justify-between text-[12px] pt-[12px] mt-[12px]">
class="border-box border-top flex items-center justify-between text-[12px] pt-[12px] mt-[12px]">
<view class="text-[#525866]">取消政策及说明</view>
<view class="flex flex-items-center" @click="emit('click')">
<view class="flex items-center" @click="emit('click')">
<text class="theme-color-500 mr-[4px]">查看详情</text>
<uni-icons type="right" size="12" color="#99A0AE" />
</view>

View File

@@ -1,12 +1,12 @@
<template>
<view class="footer bg-white flex flex-items-center flex-justify-between p-[12px]">
<view class="footer bg-white flex items-center 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 text-[14px] font-[500] text-[#525866] mr-[12px]"
class="left border-none bg-white rounded-[10px] flex items-center justify-center text-[14px] font-[500] text-[#525866] mr-[12px]"
@click="emit('refund', orderData)">
申请退款
</button>
<button :class="[
'right border-none rounded-[10px] flex flex-full flex-items-center flex-justify-center text-[14px] font-[500] bg-[#0CCD58]',
'right border-none rounded-[10px] flex flex-1 items-center justify-center text-[14px] font-[500] bg-[#0CCD58]',
{
'bg-[#ff3d60]': statusCode === '0',
'text-white': ['1', '2', '3', '4', '5', '6'].includes(statusCode),

View File

@@ -12,7 +12,7 @@
</view>
<!-- 权益部分 -->
<view class="border-box flex flex-items-center pt-[12px]">
<view class="border-box flex items-center pt-[12px]">
<text class="bg-[#f7f7f7] rounded-[4px] text-[11px] text-[#525866] mr-[4px] pt-[4px] pb-[4px] pl-[6px] pr-[6px]"
v-for="(item, index) in commodityFacilityList" :key="index">
{{ item }}

View File

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

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 text-[14px] leading-[20px] text-[#171717] mr-[12px]">
<view class="left flex-1 text-[14px] leading-[20px] text-[#171717] mr-[12px]">
{{ orderData.commodityName }}
</view>
<view :class="[

View File

@@ -2,7 +2,7 @@
<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">
<view class="status-info flex items-center flex-1">
<image class="status-icon mr-[4px]" :src="getStatusIcon()" />
<view class="order-title text-[14px] leading-[20px] text-[#525866]">
{{ getOrderTypeName() }}

View File

@@ -1,19 +1,18 @@
<template>
<uni-popup ref="popupRef" type="bottom" :safe-area="false" @maskClick="handleClose" @change="handlePopupChange">
<view class="refund-popup bg-[#f5f7fa] border-box">
<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 text-[16px] text-[#0B5C2D] text-center">核销凭证</view>
<view class="flex-full text-[12px] text-[#02C34E] text-center mt-[4px]">请向工作人员出示此码</view>
<view class="border-box flex items-center justify-between pt-[12px] pb-[12px] relative">
<view class="flex flex-col items-center flex-1 ">
<view class="flex-1 text-[16px] text-[#0B5C2D] text-center">核销凭证</view>
<view class="flex-1 text-[12px] 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-[12px] mx-[12px]">
<view class="bg-white rounded-[12px] flex flex-col items-center justify-center p-[12px] mb-[12px] mx-[12px]">
<view class="flex w-full flex-row flex-items-center flex-justify-between py-[4px]">
<view class="flex w-full flex-row items-center justify-between py-[4px]">
<view>
<view class="text-[16px] font-[500] text-[#000000] leading-[24px] truncate">
{{ selectedVoucher.name }}
@@ -32,8 +31,8 @@
</view>
<view
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]">
class="flex flex-col w-full items-center justify-center rounded-[8px] border pt-[16px] pb-[32px] mt-[12px]">
<view class="flex flex-row justify-between w-full px-[12px]">
<view class="bg-[#F0F8F3] text-[#0CCD58] text-[14px] px-[12px] leading-[24px] rounded-[12px]">凭证{{
selectedVoucherList.length > 1 ? currentVoucherIndex + 1 : '' }}</view>
<view class="text-[#0CCD58] text-[14px] px-[12px] leading-[24px] rounded-[12px]">此码仅可核销{{
@@ -42,7 +41,7 @@
selectedVoucher.writeOffCount }}</view>
</view>
<view class="flex flex-items-center flex-justify-center mt-[20px] p-[20px] rounded-[12px] border borderColor"
<view class="flex items-center 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" />
@@ -55,13 +54,13 @@
</view>
<view v-if="selectedVoucherList.length > 1"
class="flex flex-row w-full flex-items-center flex-justify-between mt-[16px] mb-[24px]">
class="flex flex-row w-full items-center justify-between mt-[16px] mb-[24px]">
<view class="actions-btn" @click.stop="upAction">
<uni-icons type="left" size="16" color="#171717" />
</view>
<view class="flex flex-col">
<view class="flex flex-row flex-justify-center flex-items-center">
<view class="flex flex-row justify-center items-center">
<view class="theme-color-500 text-[16px]">{{ currentVoucherIndex + 1 }}</view>
<view class="text-[#02C34E] text-[12px]">/{{ selectedVoucherList.length }}</view>
</view>

View File

@@ -4,7 +4,7 @@
核销凭证列表
</text>
<view class="flex flex-items-center flex-justify-between py-[12px]"
<view class="flex items-center justify-between py-[12px]"
:class="[index + 1 === props.orderData.commodityPackageConfig.length ? '' : 'border-bottom']"
v-for="(item, index) in props.orderData.commodityPackageConfig" :key="item.name">
<view class="flex flex-col">
@@ -20,7 +20,7 @@
</view>
</view>
<view class="flex flex-items-center px-[14px] py-[8px] rounded-[8px]"
<view class="flex items-center px-[14px] py-[8px] rounded-[8px]"
:class="[item.packageStatus === 0 ? 'bg-[#0CCD58]' : 'bg-[#f5f5f5]']" @click="handleShowQrcode(item, index)">
<text v-if="item.packageStatus === 0" class="text-[14px] text-white">出示凭证</text>
<text v-else class="text-[14px] text-[#77FEAB]">已核销</text>

View File

@@ -2,7 +2,7 @@
<view class="order-detail-page flex flex-col h-screen">
<TopNavBar titleAlign="center" :background="$theme - color - 100" title="订单详情" />
<view class="order-detail-wrapper flex-full overflow-hidden scroll-y">
<view class="order-detail-wrapper flex-1 overflow-hidden scroll-y">
<OrderStatusInfo :orderData="orderData" />
<VoucherList v-if="orderData.orderType != 0 && orderData.orderStatus === '2'" :orderData="orderData"

View File

@@ -1,7 +1,7 @@
<template>
<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="right flex-1 pl-[12px]">
<view class="text-[16px] leading-[24px] text-[#171717] mb-[4px]">
{{ item.commodityName }}
</view>
@@ -12,7 +12,7 @@
{{ item.commodityTradeRuleList.join(" / ") }}
</view>
<view class="flex flex-items-center flex-justify-end">
<view class="flex items-center justify-end">
<text class="amt text-[18px] font-[500] font-family-misans-vf leading-[24px] text-[#ff3d60] mr-[4px]">
{{ item.specificationPrice }}
</text>

View File

@@ -1,11 +1,11 @@
<template>
<view class="tab-container relative">
<view class="tab-wrapper flex flex-items-center">
<view class="tab-wrapper flex items-center">
<view v-for="(item, index) in tabList" :key="item.id" :class="[
'tab-item flex flex-items-center flex-justify-center relative',
'tab-item flex items-center justify-center relative',
activeIndex === index && 'tab-item-active',
]" @click="handleTabClick(index)">
<view class="tab-item-inner flex flex-items-center">
<view class="tab-item-inner flex items-center">
<uni-icons :class="['icon mr-[4px]', activeIndex === index && 'icon-active']" fontFamily="znicons" size="20"
color="opacity">
{{ zniconsMap[item.iconCode] }}

View File

@@ -7,9 +7,8 @@
<Tabs @change="handleTabChange" />
<!-- 选择入住离店日期 0:是酒店 -->
<view v-if="didSelectedTabItem && didSelectedTabItem.orderType == 0"
class="bg-white flex flex-items-center p-[12px]">
<view class="in flex flex-items-center">
<view v-if="didSelectedTabItem && didSelectedTabItem.orderType == 0" class="bg-white flex items-center p-[12px]">
<view class="in flex items-center">
<text class="text-[11px] font-[500] text-[#99a0ae] mr-[4px]">入住</text>
<text class="text-[14px] font-[500] text-[#171717]">
{{ selectedDate.startDate }}
@@ -21,7 +20,7 @@
{{ selectedDate.totalDays }}
</text>
<view class="out flex flex-items-center">
<view class="out flex items-center">
<text class="text-[11px] font-[500] text-[#99a0ae] mr-[4px]">离店</text>
<text class="text-[14px] font-[500] text-[#171717]">
{{ selectedDate.endDate }}

View File

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

View File

@@ -1,15 +1,11 @@
<template>
<!-- 外层行容器接收来自父组件的对齐类 flex flex-justify-start并占满宽度 -->
<!-- 外层行容器接收来自父组件的对齐类 flex justify-start并占满宽度 -->
<view class="chat-ai-row">
<view class="container">
<view class="chat-ai">
<view class="container-content">
<image
v-if="isLoading"
class="loading-img"
src="https://oss.nianxx.cn/mp/static/chat_msg_loading.gif"
mode="aspectFit"
/>
<image v-if="isLoading" class="loading-img" src="https://oss.nianxx.cn/mp/static/chat_msg_loading.gif"
mode="aspectFit" />
<ChatMarkdown :key="textKey" :text="processedText" />
<ChatLoading v-if="isLoading" />
</view>

View File

@@ -1,5 +1,5 @@
<template>
<!-- 外层行容器接收来自父组件的对齐类 flex flex-justify-end -->
<!-- 外层行容器接收来自父组件的对齐类 flex justify-end -->
<view class="chat-mine-row">
<view class="chat-mine bg-[#17294e]">
<text class="text-[15px] text-white">{{ text }}</text>

View File

@@ -1,12 +1,12 @@
<template>
<view class="flex flex-col bg-white h-screen overflow-hidden">
<!-- 顶部固定导航 -->
<view class="flex-shrink-0">
<view class="shrink-0">
<TopNavBar :title="title" background="transparent" />
</view>
<!-- 滚动区域 -->
<scroll-view class="flex-full overflow-hidden chat-scroll" scroll-y :scroll-into-view="scrollIntoViewId"
<scroll-view class="flex-1 overflow-hidden chat-scroll" scroll-y :scroll-into-view="scrollIntoViewId"
scroll-with-animation @scroll="onScroll" @touchstart="onTouchStart" @touchend="onTouchEnd"
@touchcancel="onTouchEnd">
<view class="flex flex-col pt-[12px] px-[16px] pb-[24px] gap-[10px]">

View File

@@ -6,26 +6,26 @@
@showDrawer="handleShowDrawer" />
</view>
<view class="home-hero relative flex-shrink-0">
<view class="home-hero relative shrink-0">
<image class="home-hero-bg w-full block" :src="mainPageDataModel?.initPageImages?.backgroundImageUrl"
mode="aspectFill" />
<SpriteAnimator v-if="homeSpriteStyle.ipLargeImage" class="home-hero-sprite" :src="homeSpriteStyle.ipLargeImage"
:frameWidth="homeSpriteStyle.frameWidth" :frameHeight="homeSpriteStyle.frameHeight"
:totalFrames="homeSpriteStyle.totalFrames" :columns="homeSpriteStyle.columns"
:displayWidth="homeSpriteStyle.displayWidth" :fps="16" />
<view class="home-tabs-layer absolute bottom-0 left-0 right-0 flex-full">
<view class="home-tabs-layer absolute bottom-0 left-0 right-0 flex-1">
<view style="margin-bottom: -1px;">
<AiTabSwitch v-model="tabIndex" :list="tabList" @change="handleChange" />
</view>
</view>
</view>
<view v-show="tabIndex === 0" class="discovery-shell flex-full" @touchstart.capture="handleDiscoveryPanelTouchStart"
<view v-show="tabIndex === 0" class="discovery-shell flex-1" @touchstart.capture="handleDiscoveryPanelTouchStart"
@touchstart="handleDiscoveryPanelTouchStart" @touchmove.capture="handleDiscoveryPanelTouchMove"
@touchmove="handleDiscoveryPanelTouchMove" @touchend="handleDiscoveryPanelTouchEnd"
@touchcancel="handleDiscoveryPanelTouchEnd">
<view class="home-welcome-panel">
<HomeWelcome class="flex-shrink-0" :mainPageDataModel="mainPageDataModel" />
<HomeWelcome class="shrink-0" :mainPageDataModel="mainPageDataModel" />
</view>
<view class="discovery-panel" :class="{ 'is-collapsed': isDiscoveryPanelCollapsed }">
@@ -34,14 +34,14 @@
</view>
<!-- 消息列表可滚动区域 -->
<scroll-view v-show="tabIndex === 1" class="main main-scroll-area flex-full overflow-hidden " scroll-y
<scroll-view v-show="tabIndex === 1" class="main main-scroll-area flex-1 overflow-hidden " scroll-y
:scroll-top="scrollTop" :scroll-with-animation="true" @scroll="handleScroll" @scrolltolower="handleScrollToLower"
@touchstart.capture="handleScrollAreaTouchStart" @touchstart="handleScrollAreaTouchStart"
@touchmove="handleScrollAreaTouchMove">
<view class="area-msg-list-content" v-for="item in chatMsgList" :key="item.msgId" :id="item.msgId">
<template v-if="item.msgType === MessageRole.AI">
<ChatCardAI class="flex flex-justify-start" :key="`ai-${item.msgId}-${item.msg ? item.msg.length : 0}`" :text="item.componentName && isLongTextCard(item.componentName)
<ChatCardAI class="flex justify-start" :key="`ai-${item.msgId}-${item.msg ? item.msg.length : 0}`" :text="item.componentName && isLongTextCard(item.componentName)
? ''
: item.msg || ''
" :isLoading="item.isLoading">
@@ -115,11 +115,11 @@
</template>
<template v-else-if="item.msgType === MessageRole.ME">
<ChatCardMine class="flex flex-justify-end" :text="item.msg" />
<ChatCardMine class="flex justify-end" :text="item.msg" />
</template>
<template v-else>
<ChatCardOther class="flex flex-justify-center" :text="item.msg">
<ChatCardOther class="flex justify-center" :text="item.msg">
<ChatGuide v-if="chatMsgList.length < 2" />
<ActivityListComponent v-if="
mainPageDataModel.activityList &&

View File

@@ -1,11 +1,11 @@
<template>
<view class="border-box h-44 flex flex-items-center pl-[12px] pr-[12px]" :style="navBarStyle">
<view class="border-box h-44 flex items-center pl-[12px] pr-[12px]" :style="navBarStyle">
<view class="nav-icon-button" @tap.stop="showDrawer">
<uni-icons type="bars" size="24" color="#ffffff" />
</view>
<!-- 隐藏 -->
<view v-if="false" class="flex-full h-full flex flex-items-center flex-justify-center">
<view v-if="false" class="flex-1 h-full flex items-center justify-center">
<!-- ChatTopWelcome不在可视区显示并添加动画在可视区隐藏 -->
<SpriteAnimator v-show="show" class="image-animated" :src="spriteStyle.ipSmallImage"
:frameWidth="spriteStyle.frameWidth" :frameHeight="spriteStyle.frameHeight"

View File

@@ -2,7 +2,7 @@ v
<template>
<view class="welcome-content p-[12px]">
<view class="wrap rounded-[20px]">
<view class="flex flex-items-center flex-justify-between pl-[12px] pr-[12px]">
<view class="flex items-center justify-between pl-[12px] pr-[12px]">
<SpriteAnimator :src="spriteStyle.ipLargeImage" :frameWidth="spriteStyle.frameWidth"
:frameHeight="spriteStyle.frameHeight" :totalFrames="spriteStyle.totalFrames" :columns="spriteStyle.columns"
:displayWidth="spriteStyle.displayWidth" :fps="16" />

View File

@@ -1,19 +1,19 @@
<template>
<view class="flex flex-col bg-liner h-screen overflow-hidden">
<!-- 顶部固定导航 -->
<view class="flex-shrink-0">
<view class="shrink-0">
<TopNavBar :title="detailTitle" background="transparent" />
</view>
<!-- 滚动区域 -->
<scroll-view class="flex-full overflow-hidden" scroll-y>
<scroll-view class="flex-1 overflow-hidden" scroll-y>
<view class="pb-[24px] overflow-hidden">
<image v-if="coverImage" class="w-full h-auto block" :src="coverImage" mode="widthFix" />
<view class="pt-[16px] px-[12px] pb-[24px] border-box">
<view class="text-[#171717] text-[16px] font-weight-600">{{ detailTitle }}</view>
<view v-if="publishTime" class="notice-time-tag flex flex-row flex-items-center mt-[16px]">
<view v-if="publishTime" class="notice-time-tag flex flex-row items-center mt-[16px]">
<uni-icons type="clock" size="18" color="#5A6780" />
<text class="text-[#171717] text-[12px] font-weight-600 ml-[8px]">发布时间{{ publishTime }}</text>
</view>

View File

@@ -11,12 +11,11 @@
object-fit="cover" @click.stop @play="handlePlay" @fullscreenchange="handleFullScreenChange"
@error="handleError" />
<view v-if="videoUrl && !disabled"
class="aigc-photo-card__fullscreen flex flex-items-center flex-justify-center text-white text-[12px]"
class="aigc-photo-card__fullscreen flex items-center justify-center text-white text-[12px]"
@click.stop="requestFullScreen">
全屏
</view>
<view v-if="!videoUrl"
class="aigc-photo-card__empty flex flex-items-center flex-justify-center text-white text-[14px]">
<view v-if="!videoUrl" class="aigc-photo-card__empty flex items-center justify-center text-white text-[14px]">
视频地址为空
</view>
</view>

View File

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

View File

@@ -1,8 +1,8 @@
<template>
<uni-popup ref="popup" type="center" :safe-area="false">
<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 text-[17px] text-[#000000] font-[500] ml-[24px]">呼叫热线</view>
<view class="header flex items-center pb-[12px]">
<view class="title flex-1 text-center text-[17px] text-[#000000] font-[500] ml-[24px]">呼叫热线</view>
<uni-icons type="close" size="24" color="#CACFD8" @click="close" />
</view>

View File

@@ -3,7 +3,7 @@
<image class="facility-location-card__image block w-full" :src="data.image" mode="aspectFill" />
<view class="facility-location-card__body px-[24px] pb-[24px]">
<view class="facility-location-card__title-row flex flex-items-center">
<view class="facility-location-card__title-row flex items-center">
<view class="facility-location-card__badge text-[#2563eb] bg-[#eff6ff] text-[12px] font-bold">
{{ type.text }}
</view>
@@ -12,14 +12,13 @@
</view>
</view>
<view class="facility-location-card__distance flex flex-items-center text-[#94a3b8] text-[14px] font-bold">
<view class="facility-location-card__distance flex items-center text-[#94a3b8] text-[14px] font-bold">
<text class="facility-location-card__distance-icon">{{ distance.icon }}</text>
<text>{{ distance.text }}</text>
</view>
<view class="facility-location-card__location bg-[#f8fafc] rounded-[20px]">
<view
class="facility-location-card__location-label flex flex-items-center text-[#64748b] text-[13px] font-bold">
<view class="facility-location-card__location-label flex items-center text-[#64748b] text-[13px] font-bold">
<text class="facility-location-card__location-dot">{{ location.icon }}</text>
<text>{{ location.label }}</text>
</view>
@@ -29,7 +28,7 @@
</view>
<view
class="facility-location-card__button flex flex-items-center flex-justify-center bg-[#0f172a] text-white text-[18px] font-bold"
class="facility-location-card__button flex items-center justify-center bg-[#0f172a] text-white text-[18px] font-bold"
:class="{ 'is-disabled': disabled }" @click="handleAction">
<text class="facility-location-card__button-icon">{{ action.icon }}</text>
<text>{{ action.text }}</text>

View File

@@ -1,7 +1,7 @@
<template>
<view class="faq-help-card bg-white rounded-[24px] w-full">
<view class="faq-help-card__header flex flex-items-center">
<view class="faq-help-card__icon flex flex-items-center flex-justify-center rounded-full text-[16px] font-bold">
<view class="faq-help-card__header flex items-center">
<view class="faq-help-card__icon flex items-center justify-center rounded-full text-[16px] font-bold">
{{ data.icon }}
</view>
<view class="faq-help-card__title text-[#1e293b] text-[20px] font-bold">
@@ -12,9 +12,9 @@
<view class="faq-help-card__divider"></view>
<view class="faq-help-card__list">
<view v-for="item in questions" :key="item.id || item.text" class="faq-help-card__item flex flex-items-center"
<view v-for="item in questions" :key="item.id || item.text" class="faq-help-card__item flex items-center"
:class="{ 'is-disabled': disabled }" @click="handleSelect(item)">
<view class="faq-help-card__question text-[#475569] text-[18px] font-bold truncate flex-full">
<view class="faq-help-card__question text-[#475569] text-[18px] font-bold truncate flex-1">
{{ item.text }}
</view>
<uni-icons type="right" size="16" color="#CBD5E1"></uni-icons>

View File

@@ -3,7 +3,7 @@
<!-- 占位撑开 -->
<view class="w-screen"></view>
<view class="content flex flex-col m-[4px] rounded-[24px]">
<view class="flex flex-col p-[6px] flex-items-center justify-center">
<view class="flex flex-col p-[6px] items-center justify-center">
<image class="w-full rounded-[20px]" :src="componentDataMap.background" mode="widthFix" />
<!-- 左上角标签 -->
@@ -21,7 +21,7 @@
<view class="w-full px-[12px] pb-[8px] flex flex-row" @click="jumpClick">
<view class="btn-bg w-full p-[4px] rounded-[24px] flex flex-row">
<view
class="btn-bg-sub w-full p-[16px] rounded-[20px] flex flex-row flex-items-center flex-justify-center text-white text-center text-[18px] font-bold">
class="btn-bg-sub w-full p-[16px] rounded-[20px] flex flex-row items-center justify-center text-white text-center text-[18px] font-bold">
{{ componentDataMap.buttonName }}
</view>
</view>

View File

@@ -13,7 +13,7 @@
<view class="long-text-guide-card__summary-text text-[#94a3b8] text-[14px] font-[500] line-clamp-2">
{{ item.summary }}
</view>
<view class="long-text-guide-card__summary-footer flex flex-items-center flex-justify-between">
<view class="long-text-guide-card__summary-footer flex items-center justify-between">
<text class="text-[#cbd5e1] text-[12px] font-bold">{{ item.footer }}</text>
<uni-icons type="right" size="16" color="#CBD5E1"></uni-icons>
</view>
@@ -21,8 +21,8 @@
</view>
<view v-else class="long-text-guide-card__detail-card bg-white rounded-[24px] overflow-hidden">
<view class="long-text-guide-card__detail-header flex flex-items-center border-bottom-F1F5F9">
<view class="long-text-guide-card__back flex flex-items-center flex-justify-center rounded-full font-bold"
<view class="long-text-guide-card__detail-header flex items-center border-bottom-F1F5F9">
<view class="long-text-guide-card__back flex items-center justify-center rounded-full font-bold"
@click="closeDetail">
<uni-icons type="left" size="16" color="#CBD5E1"></uni-icons>
</view>
@@ -84,8 +84,8 @@
{{ activeItem.action.tag }}
</view>
</view>
<view class="long-text-guide-card__map-bar flex flex-items-center bg-white">
<view class="flex-full">
<view class="long-text-guide-card__map-bar flex items-center bg-white">
<view class="flex-1">
<view class="text-[#1e293b] text-[15px] font-bold">{{ activeItem.action.title }}</view>
<view class="text-[#94a3b8] text-[12px] font-bold mt-[2px]">{{ activeItem.action.subtitle }}</view>
</view>
@@ -105,7 +105,7 @@
<image class="long-text-guide-card__photo-image w-full block" :src="activeItem.action.image"
mode="aspectFill" />
<view
class="long-text-guide-card__expand flex flex-items-center flex-justify-center rounded-full text-white text-[18px] font-bold">
class="long-text-guide-card__expand flex items-center justify-center rounded-full text-white text-[18px] font-bold">
</view>
</view>

View File

@@ -14,7 +14,7 @@
<view class="long-text-guide-card__summary-text text-[#94a3b8] text-[14px] font-[500] line-clamp-2">
{{ item.summary }}
</view>
<view class="long-text-guide-card__summary-footer flex flex-items-center flex-justify-between">
<view class="long-text-guide-card__summary-footer flex items-center justify-between">
<text class="text-[#cbd5e1] text-[12px] font-bold">{{ item.footer }}</text>
<uni-icons type="right" size="16" color="#CBD5E1"></uni-icons>
</view>

View File

@@ -2,14 +2,14 @@
<view class="map-navigation-card bg-white rounded-[24px] overflow-hidden w-full">
<view class="map-navigation-card__media">
<image class="map-navigation-card__image block w-full" :src="data.image" mode="aspectFill" />
<view class="map-navigation-card__badge flex flex-items-center text-white text-[12px] font-bold">
<view class="map-navigation-card__badge flex items-center text-white text-[12px] font-bold">
<text class="map-navigation-card__badge-icon">{{ badge.icon }}</text>
<text>{{ badge.text }}</text>
</view>
</view>
<view class="map-navigation-card__content flex flex-items-center">
<view class="map-navigation-card__info flex-full">
<view class="map-navigation-card__content flex items-center">
<view class="map-navigation-card__info flex-1">
<view class="map-navigation-card__title text-[#1e293b] text-[18px] font-bold truncate">
{{ data.title }}
</view>
@@ -18,7 +18,7 @@
</view>
</view>
<view
class="map-navigation-card__button flex flex-items-center flex-justify-center bg-[#0f172a] text-white text-[18px] font-bold"
class="map-navigation-card__button flex items-center justify-center bg-[#0f172a] text-white text-[18px] font-bold"
:class="{ 'is-disabled': disabled }" @click="handleAction">
<text class="map-navigation-card__button-icon">{{ action.icon }}</text>
<text>{{ action.text }}</text>

View File

@@ -1,16 +1,16 @@
<template>
<uni-popup ref="popup" type="bottom" :safe-area="false">
<view class="popup-content pt-[12px] pl-[12px] pr-[12px]">
<view class="header flex flex-items-center pb-[12px]">
<view class="title flex-full text-center text-[17px] text-[#000000] font-[500] ml-[24px]">更多服务</view>
<view class="header flex items-center pb-[12px]">
<view class="title flex-1 text-center text-[17px] text-[#000000] font-[500] ml-[24px]">更多服务</view>
<uni-icons type="close" size="24" color="#CACFD8" @click="close" />
</view>
<view class="list bg-white pl-[20px] pr-[20px]">
<view class="item border-bottom pt-[20px] pb-[20px]" v-for="(item, index) in list" :key="index">
<view class="flex flex-items-center flex-justify-center">
<view class="flex items-center justify-center">
<image v-if="item.icon" class="left" :src="item.icon" />
<view class="center flex-full">
<view class="center flex-1">
<view class="text-[16px] text-[#000000] leading-[24px] font-[500]">
{{ item.title }}
</view>

View File

@@ -7,7 +7,7 @@
<view class="notice-card__summary-content text-[#d97706] text-[14px] font-bold">
{{ summary.content }}
</view>
<view class="notice-card__summary-footer flex flex-items-center flex-justify-between">
<view class="notice-card__summary-footer flex items-center justify-between">
<view class="notice-card__summary-time text-[#d97706] text-[12px] font-bold">
{{ summary.publishTime }}
</view>
@@ -19,9 +19,8 @@
</view>
<view v-else class="notice-card__detail bg-white rounded-[24px] overflow-hidden w-full">
<view class="notice-card__detail-head flex flex-items-center">
<view class="notice-card__back flex flex-items-center flex-justify-center rounded-full flex-shrink-0"
@click="closeDetail">
<view class="notice-card__detail-head flex items-center">
<view class="notice-card__back flex items-center justify-center rounded-full shrink-0" @click="closeDetail">
<uni-icons type="left" size="16" color="#CBD5E1"></uni-icons>
</view>
<view class="notice-card__head-title text-[#1e293b] text-[18px] font-bold">
@@ -35,7 +34,7 @@
<view class="notice-card__detail-title text-[#1e293b] text-[20px] font-bold">
{{ detail.title }}
</view>
<view class="notice-card__time-pill flex flex-items-center bg-[#f8fafc] text-[#475569] text-[13px] font-bold">
<view class="notice-card__time-pill flex items-center bg-[#f8fafc] text-[#475569] text-[13px] font-bold">
<text class="notice-card__time-icon">{{ detail.timeIcon }}</text>
<text>{{ detail.publishTime }}</text>
</view>

View File

@@ -2,9 +2,9 @@
<view class="w-full bg-white border-ff overflow-hidden rounded-[20px] flex flex-col">
<!-- 占位撑开 -->
<view class="w-screen"></view>
<view class="flex flex-items-center flex-justify-between p-[12px] border-box" @click="openMap">
<view class="flex items-center justify-between p-[12px] border-box" @click="openMap">
<view class="rounded-[16px] p-[16px] bg-[#F0F8F3]">
<view class="w-[32px] h-32 rounded-full bg-white flex flex-items-center flex-justify-center">
<view class="w-[32px] h-32 rounded-full bg-white flex items-center justify-center">
<uni-icons type="location" size="16" color="#171717" />
</view>
</view>
@@ -12,7 +12,7 @@
<view class="font-color-900 text-[14px]">打开导览地图</view>
<view class="font-color-500 text-[12px] mt-[6px]">距你 {{ distance }} · 步行 {{ walk }}</view>
</view>
<view class="ml-[12px] flex flex-items-center flex-justify-center w-[32px] h-32 rounded-full bg-[#f2f5f8]">
<view class="ml-[12px] flex items-center justify-center w-[32px] h-32 rounded-full bg-[#f2f5f8]">
<uni-icons class="mb-[2px]" type="right" size="12" color="#99A0AE" />
</view>
</view>

View File

@@ -1,11 +1,11 @@
<template>
<view class="poi-compare-card w-full">
<view v-if="!isDetail" class="poi-compare-card__overview bg-white rounded-[24px] overflow-hidden">
<view class="poi-compare-card__head flex flex-items-center">
<view class="poi-compare-card__mark flex flex-items-center flex-justify-center rounded-full flex-shrink-0">
<view class="poi-compare-card__head flex items-center">
<view class="poi-compare-card__mark flex items-center justify-center rounded-full shrink-0">
{{ data.icon }}
</view>
<view class="poi-compare-card__title text-[#1e293b] text-[18px] font-bold truncate flex-full">
<view class="poi-compare-card__title text-[#1e293b] text-[18px] font-bold truncate flex-1">
{{ data.title }}
</view>
</view>
@@ -30,19 +30,19 @@
</view>
<view
class="poi-compare-card__primary flex flex-items-center flex-justify-center bg-[#0f172a] text-white text-[15px] font-bold"
class="poi-compare-card__primary flex items-center justify-center bg-[#0f172a] text-white text-[15px] font-bold"
:class="{ 'is-disabled': disabled }" @click="openDetail">
{{ data.detailButtonText }}
</view>
</view>
<view v-else class="poi-compare-card__detail-card bg-white rounded-[24px] overflow-hidden">
<view class="poi-compare-card__detail-head flex flex-items-center">
<view class="poi-compare-card__back flex flex-items-center flex-justify-center rounded-full flex-shrink-0"
<view class="poi-compare-card__detail-head flex items-center">
<view class="poi-compare-card__back flex items-center justify-center rounded-full shrink-0"
@click="closeDetail">
<uni-icons type="left" size="16" color="#CBD5E1"></uni-icons>
</view>
<view class="poi-compare-card__detail-title text-[#1e293b] text-[20px] font-bold flex-full">
<view class="poi-compare-card__detail-title text-[#1e293b] text-[20px] font-bold flex-1">
{{ detail.title }}
</view>
<view class="poi-compare-card__compare-label text-[#94a3b8] text-[12px] font-bold">
@@ -76,7 +76,7 @@
</view>
<view class="poi-compare-card__tips">
<view v-for="tip in detail.tips" :key="tip.text" class="poi-compare-card__tip flex gap-[10px]">
<view class="poi-compare-card__dot rounded-full flex-shrink-0" :class="getDotClass(tip.tone)" />
<view class="poi-compare-card__dot rounded-full shrink-0" :class="getDotClass(tip.tone)" />
<view class="poi-compare-card__tip-text text-[#334155] text-[14px] font-bold">
{{ tip.text }}
</view>
@@ -86,7 +86,7 @@
<view class="poi-compare-card__actions grid grid-cols-2 gap-14">
<view v-for="action in detail.actions" :key="action.id || action.text"
class="poi-compare-card__action flex flex-items-center flex-justify-center text-[15px] font-bold"
class="poi-compare-card__action flex items-center justify-center text-[15px] font-bold"
:class="[action.primary ? 'poi-compare-card__action--primary bg-[#0f172a] text-white' : 'poi-compare-card__action--secondary text-[#334155]', { 'is-disabled': disabled }]"
@click="handleAction(action)">
<text class="poi-compare-card__action-icon">{{ action.icon }}</text>

View File

@@ -2,7 +2,7 @@
<view class="poi-detail-card bg-white rounded-[24px] overflow-hidden">
<view class="poi-detail-card__hero relative">
<image class="poi-detail-card__image w-full h-full block rounded-[18px]" :src="data.image" mode="aspectFill" />
<view class="poi-detail-card__badge flex flex-items-center gap-[4px] text-[10px] font-bold">
<view class="poi-detail-card__badge flex items-center gap-[4px] text-[10px] font-bold">
<text class="poi-detail-card__badge-icon"></text>
<text>{{ data.badge?.text }}</text>
</view>
@@ -13,7 +13,7 @@
{{ data.title }}
</view>
<view class="poi-detail-card__tip flex flex-items-center gap-[10px]">
<view class="poi-detail-card__tip flex items-center gap-[10px]">
<view class="poi-detail-card__spark text-[#047857] text-[18px] font-bold"></view>
<view class="poi-detail-card__tip-text text-[#047857] text-[14px] font-bold">
{{ data.tip?.text }}
@@ -21,7 +21,7 @@
</view>
<view
class="poi-detail-card__button flex flex-items-center flex-justify-center gap-[8px] text-white bg-[#0f172a] text-[16px] font-bold"
class="poi-detail-card__button flex items-center justify-center gap-[8px] text-white bg-[#0f172a] text-[16px] font-bold"
:class="{ 'is-disabled': disabled }" @click="handleAction">
<text class="poi-detail-card__button-icon"></text>
<text>{{ data.action?.text }}</text>

View File

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

View File

@@ -1,32 +1,31 @@
<template>
<view class="route-plan-card w-full">
<view v-if="!detailOpen"
class="route-plan-card__summary flex flex-items-center bg-white rounded-[24px] overflow-hidden w-full"
class="route-plan-card__summary flex items-center bg-white rounded-[24px] overflow-hidden w-full"
:class="{ 'is-disabled': disabled }" @click="openDetail">
<image class="route-plan-card__cover block flex-shrink-0" :src="data.image" mode="aspectFill" />
<view class="route-plan-card__body flex-full">
<image class="route-plan-card__cover block shrink-0" :src="data.image" mode="aspectFill" />
<view class="route-plan-card__body flex-1">
<view class="route-plan-card__title text-[#1e293b] text-[18px] font-bold truncate">
{{ data.title }}
</view>
<view class="route-plan-card__tags flex flex-items-center">
<view class="route-plan-card__tags flex items-center">
<view v-for="tag in summaryTags" :key="tag.id || tag.text" class="route-plan-card__tag text-[12px] font-bold"
:class="getTagClass(tag.tone)">
{{ tag.text }}
</view>
</view>
</view>
<view class="flex-shrink-0">
<view class="shrink-0">
<uni-icons type="right" size="16" color="#CBD5E1"></uni-icons>
</view>
</view>
<view v-else class="route-plan-card__detail bg-white rounded-[24px] overflow-hidden w-full">
<view class="route-plan-card__detail-head flex flex-items-center">
<view class="route-plan-card__back flex flex-items-center flex-justify-center rounded-full flex-shrink-0"
@click="closeDetail">
<view class="route-plan-card__detail-head flex items-center">
<view class="route-plan-card__back flex items-center justify-center rounded-full shrink-0" @click="closeDetail">
<uni-icons type="left" size="16" color="#CBD5E1"></uni-icons>
</view>
<view class="route-plan-card__detail-title text-[#1e293b] text-[18px] font-bold truncate flex-full">
<view class="route-plan-card__detail-title text-[#1e293b] text-[18px] font-bold truncate flex-1">
{{ data.title }}
</view>
<view class="route-plan-card__detail-badge text-[#047857] bg-[#ecfdf5] text-[12px] font-bold">
@@ -38,12 +37,12 @@
<template v-for="(node, index) in nodes" :key="node.id || node.title">
<view class="route-plan-card__node-wrap" :class="{ 'is-disabled': disabled }" @click="handleSelect(node)">
<view
class="route-plan-card__node-number flex flex-items-center flex-justify-center rounded-full text-[#047857] bg-[#ecfdf5] text-[12px] font-bold">
class="route-plan-card__node-number flex items-center justify-center rounded-full text-[#047857] bg-[#ecfdf5] text-[12px] font-bold">
{{ index + 1 }}
</view>
<view class="route-plan-card__node bg-white rounded-[20px] flex flex-items-center">
<image class="route-plan-card__node-image block flex-shrink-0" :src="node.image" mode="aspectFill" />
<view class="route-plan-card__node-body flex-full">
<view class="route-plan-card__node bg-white rounded-[20px] flex items-center">
<image class="route-plan-card__node-image block shrink-0" :src="node.image" mode="aspectFill" />
<view class="route-plan-card__node-body flex-1">
<view class="route-plan-card__node-title text-[#1e293b] text-[16px] font-bold truncate">
{{ node.title }}
</view>
@@ -62,7 +61,7 @@
<view class="route-plan-card__connector-line"></view>
<view class="route-plan-card__connector-arrow"></view>
<view
class="route-plan-card__connector-chip flex flex-items-center bg-[#f8fafc] rounded-full text-[#64748b] text-[12px] font-bold">
class="route-plan-card__connector-chip flex items-center bg-[#f8fafc] rounded-full text-[#64748b] text-[12px] font-bold">
<text class="route-plan-card__connector-icon">{{ connectors[index].icon }}</text>
<text>{{ connectors[index].text }}</text>
</view>
@@ -75,8 +74,8 @@
{{ detail.tipsTitle }}
</view>
<view v-for="tip in tips" :key="tip"
class="route-plan-card__tip flex flex-items-center text-[#334155] text-[13px] font-bold">
<view class="route-plan-card__tip-dot rounded-full flex-shrink-0"></view>
class="route-plan-card__tip flex items-center text-[#334155] text-[13px] font-bold">
<view class="route-plan-card__tip-dot rounded-full shrink-0"></view>
<view>{{ tip }}</view>
</view>
</view>

View File

@@ -4,7 +4,7 @@
<image class="scenic-image-card__image block w-full" :src="data.image" mode="aspectFill" />
<view
class="scenic-image-card__expand flex flex-items-center flex-justify-center rounded-full text-white text-[18px] font-bold"
class="scenic-image-card__expand flex items-center justify-center rounded-full text-white text-[18px] font-bold"
@click.stop="handleAction">
{{ action.icon }}
</view>

View File

@@ -1,12 +1,12 @@
<template>
<view class="visual-action-row flex flex-items-center gap-[12px] p-[12px] bg-white rounded-[18px] border-box"
<view class="visual-action-row flex items-center gap-[12px] p-[12px] bg-white rounded-[18px] border-box"
:class="{ 'is-disabled': disabled }" @click="handleClick">
<view
class="visual-action-row__icon flex flex-items-center flex-justify-center w-[42px] h-42 rounded-[14px] text-[18px] font-bold"
class="visual-action-row__icon flex items-center justify-center w-[42px] h-42 rounded-[14px] text-[18px] font-bold"
:class="toneClass">
<slot name="icon">{{ icon }}</slot>
</view>
<view class="visual-action-row__body flex-full">
<view class="visual-action-row__body flex-1">
<view class="visual-action-row__title text-[#1e293b] text-[14px] font-bold truncate">{{ title }}</view>
<view v-if="subtitle" class="visual-action-row__subtitle truncate">
{{ subtitle }}

View File

@@ -1,6 +1,5 @@
<template>
<view
class="visual-badge flex flex-items-center flex-justify-center rounded-[50px] text-[10px] font-bold whitespace-nowrap"
<view class="visual-badge flex items-center justify-center rounded-[50px] text-[10px] font-bold whitespace-nowrap"
:class="toneClass">
<slot>{{ label }}</slot>
</view>

View File

@@ -1,11 +1,11 @@
<template>
<CardShell variant="detail">
<view class="visual-detail__header flex flex-items-center px-[16px] border-bottom-F1F5F9">
<view class="visual-detail__header flex items-center px-[16px] border-bottom-F1F5F9">
<view class="visual-detail__back mr-[8px] rounded-full bg-[#f8fafc] text-[#334155] font-bold text-center"
@click="$emit('back')">
<uni-icons type="left" size="16" color="#CBD5E1"></uni-icons>
</view>
<view class="visual-detail__title flex-full text-[#1e293b] text-[14px] font-bold truncate">{{ title }}</view>
<view class="visual-detail__title flex-1 text-[#1e293b] text-[14px] font-bold truncate">{{ title }}</view>
<BadgePill v-if="tag" :label="tag" :tone="tone" />
</view>
<slot />

View File

@@ -5,10 +5,10 @@
<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]">
<image class="card-img flex-shrink-0 rounded-[14px]" :src="createSvgIndex(index)" />
<view class="flex flex-row justify-start p-[10px]">
<image class="card-img shrink-0 rounded-[14px]" :src="createSvgIndex(index)" />
<view class=" flex flex-col flex-full pl-[8px] py-[4px]">
<view class=" flex flex-col flex-1 pl-[8px] py-[4px]">
<view class="w-full text-[12px] font-[600] text-[#171717] truncate">
{{ item.title }}
</view>

View File

@@ -5,7 +5,7 @@
<view class="flex flex-items-start flex-col" :class="{
'border-bottom': index < goodsData.commodityEquipment.length - 1,
}">
<view class="flex flex-items-center flex-row flex-shrink-0">
<view class="flex items-center flex-row shrink-0">
<uni-icons fontFamily="znicons" size="20" color="#171717">
{{ zniconsMap[moduleItem.icon] }}
</uni-icons>

View File

@@ -35,11 +35,11 @@
<!-- 立即抢购 -->
<view class="footer border-top">
<view class="amt text-[20px] font-bold text-[#ff3d60] line-height-28 flex flex-items-center mr-[8px]">
<view class="amt text-[20px] font-bold text-[#ff3d60] line-height-28 flex items-center mr-[8px]">
{{ calculatedTotalPrice }}
</view>
<view class="btn rounded-[10px] flex flex-items-center ml-auto pl-[8px]" @click="navigateToPay(goodsData)">
<view class="btn rounded-[10px] flex items-center ml-auto pl-[8px]" @click="navigateToPay(goodsData)">
<image class="icon" src="https://oss.nianxx.cn/mp/static/version_101/common/btn.png" />
<text class="text-[16px] font-[500] text-white">立即预定</text>
</view>

View File

@@ -14,7 +14,7 @@
</view>
<!-- 协议勾选 -->
<view class="login-agreement flex flex-items-center">
<view class="login-agreement flex items-center">
<CheckBox v-model="isAgree">
<text class="text-[12px] text-[#525866]">我已阅读并同意</text>
<text class="text-[12px] text-[#0CCD58] ml-[4px] mr-[4px]"

View File

@@ -1,40 +0,0 @@
// 弹性布局
.flex-items-center {
align-items: center;
}
.flex-justify-start {
justify-content: flex-start;
}
.flex-justify-end {
justify-content: flex-end;
}
.flex-justify-center {
justify-content: center;
}
.flex-justify-between {
justify-content: space-between;
}
.flex-col {
flex-direction: column;
}
.flex-wrap {
flex-wrap: wrap;
}
.flex-nowrap {
flex-wrap: nowrap;
}
.flex-full {
flex: 1;
}
.flex-shrink-0 {
flex-shrink: 0;
}

View File

@@ -1,6 +1,5 @@
@import "./background.scss";
@import "./border.scss";
@import "./flex.scss";
@import "./height.scss";
@import "./font-family.scss";
@import "./overflow.scss";