feat: 全站 UI 按 Minimalist Modern 重设计,新增返回悬浮钮
- 设计令牌层:mm-* CSS 变量与工具类、uView 换肤、优设标题黑字体 - 九个页面全部重写为新风格(列表/详情/下单/出行人/订单/支付成功/登录) - 补齐 H5 运行时缺失的基础样式(uni-view/scroll-view/toast/swiper 等,App.vue 全局) - 修复:详情头图轮播、预订须知弹层滚动、出行人数量按购买数限制、订单详情去箭头 - 新增 gmy-back-touch 返回悬浮钮,除首页外全页接入,点击返回上一页 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
dd25c0ae63
commit
77e5cb9510
+42
-36
@@ -1,35 +1,40 @@
|
||||
<template>
|
||||
<view>
|
||||
<u-form :model="form" :rules="rules" ref="uForm">
|
||||
<view style="background-color: #fff;padding-left: 30rpx;padding-right: 30rpx;">
|
||||
<view class="page mm-page">
|
||||
<gmy-back-touch></gmy-back-touch>
|
||||
<!-- xuchao: 表单统一收进一张卡片,分隔线由 u-form-item 自带(已随主题换色) -->
|
||||
<view class="card mm-card mm-fade-up">
|
||||
<u-form :model="form" :rules="rules" ref="uForm">
|
||||
<u-form-item label-width="200" :label-position="labelPosition" label="出行人姓名" prop="name">
|
||||
<u-input placeholder="请输入出行人姓名" v-model="form.name" type="text"></u-input>
|
||||
</u-form-item>
|
||||
</view>
|
||||
<view style="background-color: #fff;padding-left: 30rpx;padding-right: 30rpx;margin-top: 20rpx;">
|
||||
<u-form-item label-width="200" :label-position="labelPosition" label="联系号码" prop="phone">
|
||||
<u-input placeholder="请输入联系号码" v-model="form.phone" type="text"></u-input>
|
||||
</u-form-item>
|
||||
</view>
|
||||
<view style="background-color: #fff;padding-left: 30rpx;padding-right: 30rpx;margin-top: 20rpx;">
|
||||
<u-form-item label="证件类型" prop="idType" label-width="200" :label-position="labelPosition">
|
||||
<u-input v-model="idTypeName" placeholder='请选择证件类型' type="select" @click="idTypeShow()" />
|
||||
</u-form-item>
|
||||
</view>
|
||||
<view style="background-color: #fff;padding-left: 30rpx;padding-right: 30rpx;margin-top: 20rpx;">
|
||||
<u-form-item label-width="200" :label-position="labelPosition" label="证件号码" prop="identityNo">
|
||||
<u-input placeholder="请输入证件号码" v-model="form.identityNo" type="text"></u-input>
|
||||
</u-form-item>
|
||||
</view>
|
||||
</u-form>
|
||||
<view class="pp_hh" @click="submit()">完成</view>
|
||||
</u-form>
|
||||
</view>
|
||||
|
||||
<!-- xuchao: 底部固定提交按钮(视口水平居中,宽屏下与页面列对齐) -->
|
||||
<view class="bar">
|
||||
<view class="mm-btn" @click="submit()">完成</view>
|
||||
</view>
|
||||
|
||||
<u-action-sheet :list="actionSheetList" v-model="show" @click="actionSheetCallback"></u-action-sheet>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
var that = ''
|
||||
import gmyBackTouch from "@/components/gmy-back-touch/gmy-back-touch.vue"
|
||||
export default {
|
||||
components: {
|
||||
'gmy-back-touch': gmyBackTouch
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
show: false,
|
||||
@@ -54,7 +59,7 @@
|
||||
},
|
||||
{
|
||||
value: 'TAIWAN',
|
||||
text: '台湾居民来往大陆通行证'
|
||||
text: '台湾居民来往内地通行证'
|
||||
}
|
||||
],
|
||||
form: {
|
||||
@@ -70,19 +75,19 @@
|
||||
name: [{
|
||||
required: true,
|
||||
message: '请填写真实姓名',
|
||||
// 可以单个或者同时写两个触发验证方式
|
||||
// 可以单个或者同时写两个触发验证方式
|
||||
trigger: ['change', 'blur'],
|
||||
}],
|
||||
phone: [{
|
||||
required: true,
|
||||
message: '请填写手机号码',
|
||||
// 可以单个或者同时写两个触发验证方式
|
||||
// 可以单个或者同时写两个触发验证方式
|
||||
trigger: ['change', 'blur'],
|
||||
}],
|
||||
identityNo: [{
|
||||
required: true,
|
||||
message: '请填写证件号码',
|
||||
// 可以单个或者同时写两个触发验证方式
|
||||
// 可以单个或者同时写两个触发验证方式
|
||||
trigger: ['change', 'blur'],
|
||||
}],
|
||||
},
|
||||
@@ -176,7 +181,7 @@
|
||||
});
|
||||
},
|
||||
updateTicketsMemberTouristMethod() {
|
||||
|
||||
|
||||
this.$set(this.form,'id',this.id)
|
||||
console.log(this.form);
|
||||
that.$u.api.updateTicketsMemberTourist(this.form).then(res => {
|
||||
@@ -198,23 +203,24 @@
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.pp_hh {
|
||||
width: 702rpx;
|
||||
height: 88rpx;
|
||||
border-radius: 48rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: #fff;
|
||||
font-size: 28rpx;
|
||||
background: linear-gradient(180deg, #FF9E49 0%, #ED3B1A 100%);
|
||||
// xuchao: 视口水平居中(宽屏下与页面列对齐)
|
||||
left: 0rpx;
|
||||
right: 0rpx;
|
||||
margin: 0 auto;
|
||||
position: fixed;
|
||||
// xuchao: 全面屏底部安全区 —— 悬浮按钮整体上移
|
||||
bottom: calc(25rpx + constant(safe-area-inset-bottom));
|
||||
bottom: calc(25rpx + env(safe-area-inset-bottom));
|
||||
/* xuchao: 底部预留 220rpx,避免表单被固定提交按钮遮挡 */
|
||||
.page {
|
||||
padding: 32rpx 32rpx 220rpx;
|
||||
}
|
||||
</style>
|
||||
|
||||
.card {
|
||||
padding: 12rpx 32rpx;
|
||||
}
|
||||
|
||||
/* xuchao: 底部固定按钮 —— left/right 0 + margin auto 保证宽屏居中时与页面列对齐 */
|
||||
.bar {
|
||||
position: fixed;
|
||||
left: 0;
|
||||
right: 0;
|
||||
margin: 0 auto;
|
||||
width: 686rpx;
|
||||
bottom: calc(32rpx + constant(safe-area-inset-bottom));
|
||||
bottom: calc(32rpx + env(safe-area-inset-bottom));
|
||||
z-index: 99;
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user