feat: add new features, update theme and build config
- Add 40+ new UI components including chat modules, discovery cards, photo galleries, FAQ and booking tools - Standardize brand color across all styles by replacing $theme-color-500 SCSS variables with #0ccd58 - Add sass 1.58.3 dependency and update vite config for modern scss compiler support - Refactor existing components (AddCarCrad, login page) and remove unused /quick/list router route - Add utility functions for URL parameter handling - Add static assets including custom znicons font, component images and icons - Fix scss syntax issues and deprecation warnings
This commit is contained in:
@@ -1,28 +1,17 @@
|
||||
<template>
|
||||
<div class="booking h-screen flex flex-col">
|
||||
<TopNavBar
|
||||
titleAlign="center"
|
||||
:backgroundColor="$theme - color - 100"
|
||||
backIconColor="#000"
|
||||
:shadow="false"
|
||||
>
|
||||
<TopNavBar titleAlign="center" :backgroundColor="$theme - color - 100" backIconColor="#000" :shadow="false">
|
||||
<template #title>
|
||||
{{ GOODS_TYPE[orderData.orderType] }}
|
||||
</template>
|
||||
</TopNavBar>
|
||||
|
||||
<div
|
||||
class="booking-content flex-full border-box p-12 overflow-hidden scroll-y"
|
||||
>
|
||||
<div class="booking-content flex-full border-box p-12 overflow-hidden scroll-y">
|
||||
<!-- 预约内容 -->
|
||||
<div class="border-box bg-white p-12 rounded-12 mb-12">
|
||||
<!-- 酒店类型入住离店日期部分 -->
|
||||
<DateRangeSection
|
||||
v-if="orderData.orderType == 0"
|
||||
:selectedDate="selectedDate"
|
||||
:showBtn="true"
|
||||
@click="navigateToDetail(orderData)"
|
||||
/>
|
||||
<DateRangeSection v-if="orderData.orderType == 0" :selectedDate="selectedDate" :showBtn="true"
|
||||
@click="navigateToDetail(orderData)" />
|
||||
|
||||
<div class="font-size-16 font-500 color-000 line-height-24 ellipsis-1">
|
||||
{{ orderData.commodityName }}
|
||||
@@ -35,59 +24,33 @@
|
||||
|
||||
<!-- 权益部分 -->
|
||||
<div class="flex flex-items-center mb-8">
|
||||
<span
|
||||
class="bg-F7F7F7 border-box rounded-4 font-size-11 color-525866 mr-4 pt-4 pb-4 pl-6 pr-6"
|
||||
v-for="(item, index) in orderData.commodityFacilityList"
|
||||
:key="index"
|
||||
>
|
||||
<span class="bg-F7F7F7 border-box rounded-4 font-size-11 color-525866 mr-4 pt-4 pb-4 pl-6 pr-6"
|
||||
v-for="(item, index) in orderData.commodityFacilityList" :key="index">
|
||||
{{ item }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div
|
||||
class="border-box flex flex-items-center flex-justify-between pt-12"
|
||||
>
|
||||
<span class="font-size-12 color-525866 line-height-18"
|
||||
>取消政策及说明</span
|
||||
>
|
||||
<div class="border-box flex flex-items-center flex-justify-between pt-12">
|
||||
<span class="font-size-12 color-525866 line-height-18">取消政策及说明</span>
|
||||
<div class="flex flex-items-center">
|
||||
<span
|
||||
class="font-size-12 theme-color-500 line-height-16"
|
||||
@click="refundVisible = true"
|
||||
>取消政策</span
|
||||
>
|
||||
<span class="font-size-12 theme-color-500 line-height-16" @click="refundVisible = true">取消政策</span>
|
||||
<uni-icons type="right" size="15" color="#99A0AE" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 非酒店类型 -->
|
||||
<ContactSection
|
||||
v-if="orderData.orderType != 0"
|
||||
v-model="quantity"
|
||||
:userFormList="userFormList"
|
||||
v-model:reservationDate="selectedReservationDate"
|
||||
:orderData="orderData"
|
||||
/>
|
||||
<ContactSection v-if="orderData.orderType != 0" v-model="quantity" :userFormList="userFormList"
|
||||
v-model:reservationDate="selectedReservationDate" :orderData="orderData" />
|
||||
|
||||
<!-- 酒店类型 -->
|
||||
<UserSection
|
||||
v-if="orderData.orderType == 0"
|
||||
v-model="quantity"
|
||||
:userFormList="userFormList"
|
||||
/>
|
||||
<UserSection v-if="orderData.orderType == 0" v-model="quantity" :userFormList="userFormList" />
|
||||
</div>
|
||||
|
||||
<!-- 底部 -->
|
||||
<FooterSection
|
||||
v-if="Object.keys(orderData).length"
|
||||
v-model="quantity"
|
||||
:selectedDate="selectedDate"
|
||||
:orderData="orderData"
|
||||
@detailClick="detailVisible = true"
|
||||
@payClick="handlePayClick"
|
||||
/>
|
||||
<FooterSection v-if="Object.keys(orderData).length" v-model="quantity" :selectedDate="selectedDate"
|
||||
:orderData="orderData" @detailClick="detailVisible = true" @payClick="handlePayClick" />
|
||||
|
||||
<!-- 取消政策弹窗 -->
|
||||
<RefundPopup v-model="refundVisible" :orderData="orderData" />
|
||||
@@ -99,7 +62,6 @@
|
||||
|
||||
<script setup>
|
||||
import { ref, watch, nextTick } from "vue";
|
||||
import { onLoad, onShow } from "@dcloudio/uni-app";
|
||||
import TopNavBar from "@/components/TopNavBar/index.vue";
|
||||
import DateRangeSection from "@/components/DateRangeSection/index.vue";
|
||||
import ContactSection from "./components/ConactSection/index.vue";
|
||||
@@ -160,19 +122,22 @@ watch(
|
||||
{ immediate: false },
|
||||
);
|
||||
|
||||
onLoad((options) => {
|
||||
const { commodityId } = options;
|
||||
|
||||
getGoodsDetail(commodityId);
|
||||
});
|
||||
// TODO
|
||||
|
||||
onShow(() => {
|
||||
const selectedDateStore = useSelectedDateStore();
|
||||
// onLoad((options) => {
|
||||
// const { commodityId } = options;
|
||||
|
||||
selectedDate.value.startDate = selectedDateStore.selectedDate.startDate;
|
||||
selectedDate.value.endDate = selectedDateStore.selectedDate.endDate;
|
||||
selectedDate.value.totalDays = selectedDateStore.selectedDate.totalDays;
|
||||
});
|
||||
// getGoodsDetail(commodityId);
|
||||
// });
|
||||
|
||||
// onShow(() => {
|
||||
// const selectedDateStore = useSelectedDateStore();
|
||||
|
||||
// selectedDate.value.startDate = selectedDateStore.selectedDate.startDate;
|
||||
// selectedDate.value.endDate = selectedDateStore.selectedDate.endDate;
|
||||
// selectedDate.value.totalDays = selectedDateStore.selectedDate.totalDays;
|
||||
// });
|
||||
|
||||
const getGoodsDetail = async (commodityId) => {
|
||||
const res = await goodsDetail({ commodityId });
|
||||
|
||||
Reference in New Issue
Block a user