zs 1 rok pred
rodič
commit
26a6322f5d
61 zmenil súbory, kde vykonal 4077 pridanie a 389 odobranie
  1. 2 2
      pages.json
  2. 6 1
      pages/customer/common/submit_1.vue
  3. 9 7
      pagesHome/article/index.vue
  4. 9 7
      pagesHome/hotel/detail.vue
  5. 9 7
      pagesHome/hotel/info.vue
  6. 9 10
      pagesHome/info/index.vue
  7. 9 7
      pagesHome/news/detail.vue
  8. 9 7
      pagesHome/notice/detail.vue
  9. 210 15
      pagesHome/ticket/index.vue
  10. 138 103
      pagesHome/ticket/info.vue
  11. 9 7
      pagesHome/type/info.vue
  12. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map
  13. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
  14. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/customer/common/submit_1.js.map
  15. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pagesHome/article/index.js.map
  16. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pagesHome/hotel/detail.js.map
  17. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pagesHome/hotel/info.js.map
  18. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pagesHome/info/index.js.map
  19. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pagesHome/news/detail.js.map
  20. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pagesHome/notice/detail.js.map
  21. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pagesHome/ticket/index.js.map
  22. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pagesHome/ticket/info.js.map
  23. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pagesHome/type/info.js.map
  24. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-calendar/components/uni-calendar/uni-calendar-item.js.map
  25. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-calendar/components/uni-calendar/uni-calendar.js.map
  26. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-popup/components/uni-popup/uni-popup.js.map
  27. 2 2
      unpackage/dist/dev/mp-weixin/common/runtime.js
  28. 1217 2
      unpackage/dist/dev/mp-weixin/common/vendor.js
  29. 1 1
      unpackage/dist/dev/mp-weixin/pages/customer/common/submit_1.wxml
  30. 4 0
      unpackage/dist/dev/mp-weixin/pages/customer/common/submit_1.wxss
  31. 8 6
      unpackage/dist/dev/mp-weixin/pagesHome/article/index.js
  32. 8 6
      unpackage/dist/dev/mp-weixin/pagesHome/hotel/detail.js
  33. 8 6
      unpackage/dist/dev/mp-weixin/pagesHome/hotel/info.js
  34. 1 1
      unpackage/dist/dev/mp-weixin/pagesHome/hotel/info.json
  35. 11 12
      unpackage/dist/dev/mp-weixin/pagesHome/info/index.js
  36. 8 6
      unpackage/dist/dev/mp-weixin/pagesHome/news/detail.js
  37. 8 6
      unpackage/dist/dev/mp-weixin/pagesHome/notice/detail.js
  38. 133 89
      unpackage/dist/dev/mp-weixin/pagesHome/ticket/index.js
  39. 5 1
      unpackage/dist/dev/mp-weixin/pagesHome/ticket/index.json
  40. 1 1
      unpackage/dist/dev/mp-weixin/pagesHome/ticket/index.wxml
  41. 60 0
      unpackage/dist/dev/mp-weixin/pagesHome/ticket/index.wxss
  42. 37 8
      unpackage/dist/dev/mp-weixin/pagesHome/ticket/info.js
  43. 1 1
      unpackage/dist/dev/mp-weixin/pagesHome/ticket/info.json
  44. 1 1
      unpackage/dist/dev/mp-weixin/pagesHome/ticket/info.wxml
  45. 71 48
      unpackage/dist/dev/mp-weixin/pagesHome/ticket/info.wxss
  46. 8 6
      unpackage/dist/dev/mp-weixin/pagesHome/type/info.js
  47. 261 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-calendar/components/uni-calendar/uni-calendar-item.js
  48. 4 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-calendar/components/uni-calendar/uni-calendar-item.json
  49. 1 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-calendar/components/uni-calendar/uni-calendar-item.wxml
  50. 71 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-calendar/components/uni-calendar/uni-calendar-item.wxss
  51. 532 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-calendar/components/uni-calendar/uni-calendar.js
  52. 6 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-calendar/components/uni-calendar/uni-calendar.json
  53. 1 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-calendar/components/uni-calendar/uni-calendar.wxml
  54. 154 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-calendar/components/uni-calendar/uni-calendar.wxss
  55. 562 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-popup/components/uni-popup/uni-popup.js
  56. 6 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-popup/components/uni-popup/uni-popup.json
  57. 1 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-popup/components/uni-popup/uni-popup.wxml
  58. 26 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-popup/components/uni-popup/uni-popup.wxss
  59. 420 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-transition/components/uni-transition/uni-transition.js
  60. 4 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-transition/components/uni-transition/uni-transition.json
  61. 1 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-transition/components/uni-transition/uni-transition.wxml

+ 2 - 2
pages.json

@@ -145,7 +145,7 @@
 				{
 					"path": "hotel/info",
 					"style": {
-						"navigationBarTitleText": "详情"
+						"navigationBarTitleText": "酒店详情"
 					}
 				},
 				{
@@ -164,7 +164,7 @@
 				{
 					"path": "ticket/info",
 					"style": {
-						"navigationBarTitleText": "详情"
+						"navigationBarTitleText": "门票详情"
 					}
 				},
 				{

+ 6 - 1
pages/customer/common/submit_1.vue

@@ -21,7 +21,7 @@
 					</view>
 					<view class="more-list">
 						<text class="iconfont icon-zaixiankefu"></text>
-						<button size="mini" type="default" open-type="contact">客服</button>
+						<button :plain="true" class="button" size="mini" type="default" open-type="contact">人工</button>
 					</view>
 				</view>
 			</view>
@@ -182,6 +182,11 @@
 					color: rgba(39, 40, 50, 0.5);
 					line-height: 34rpx;
 				}
+
+				.button {
+					border: none !important;
+					color: rgba(39, 40, 50, 0.5);
+				}
 			}
 		}
 	}

+ 9 - 7
pagesHome/article/index.vue

@@ -186,13 +186,15 @@
 			},
 			// 处理富文本
 			formatRichText(html) {
-				// 富文本内容格式化
-				return html && html.replace(/<img[^>]*>/gi, function(match, capture) {
-					// 查找所有的 img 元素
-					return match.replace(/style=".*"/gi, '').replace(/style='.*'/gi,
-						'')
-					// 删除找到的所有 img 元素中的 style 属性
-				}).replace(/\<img/gi, '<img style="width:100%;"') // 对 img 元素增加 style 属性,并设置宽度为 100%
+				if (html) {
+					// 富文本内容格式化
+					return html && html.replace(/<img[^>]*>/gi, function(match, capture) {
+						// 查找所有的 img 元素
+						return match.replace(/style=".*"/gi, '').replace(/style='.*'/gi,
+							'')
+						// 删除找到的所有 img 元素中的 style 属性
+					}).replace(/\<img/gi, '<img style="width:100%;"') // 对 img 元素增加 style 属性,并设置宽度为 100%
+				}
 			},
 			// 查看评论
 			async searchComment() {

+ 9 - 7
pagesHome/hotel/detail.vue

@@ -94,13 +94,15 @@
 			},
 			// 处理富文本
 			formatRichText(html) {
-				// 富文本内容格式化
-				return html && html.replace(/<img[^>]*>/gi, function(match, capture) {
-					// 查找所有的 img 元素
-					return match.replace(/style=".*"/gi, '').replace(/style='.*'/gi,
-						'')
-					// 删除找到的所有 img 元素中的 style 属性
-				}).replace(/\<img/gi, '<img style="width:100%;"') // 对 img 元素增加 style 属性,并设置宽度为 100%
+				if (html) {
+					// 富文本内容格式化
+					return html && html.replace(/<img[^>]*>/gi, function(match, capture) {
+						// 查找所有的 img 元素
+						return match.replace(/style=".*"/gi, '').replace(/style='.*'/gi,
+							'')
+						// 删除找到的所有 img 元素中的 style 属性
+					}).replace(/\<img/gi, '<img style="width:100%;"') // 对 img 元素增加 style 属性,并设置宽度为 100%
+				}
 			},
 			// 预订
 			toBuy(item) {

+ 9 - 7
pagesHome/hotel/info.vue

@@ -173,13 +173,15 @@
 			},
 			// 处理富文本
 			formatRichText(html) {
-				// 富文本内容格式化
-				return html && html.replace(/<img[^>]*>/gi, function(match, capture) {
-					// 查找所有的 img 元素
-					return match.replace(/style=".*"/gi, '').replace(/style='.*'/gi,
-						'')
-					// 删除找到的所有 img 元素中的 style 属性
-				}).replace(/\<img/gi, '<img style="width:100%;"') // 对 img 元素增加 style 属性,并设置宽度为 100%
+				if (html) {
+					// 富文本内容格式化
+					return html && html.replace(/<img[^>]*>/gi, function(match, capture) {
+						// 查找所有的 img 元素
+						return match.replace(/style=".*"/gi, '').replace(/style='.*'/gi,
+							'')
+						// 删除找到的所有 img 元素中的 style 属性
+					}).replace(/\<img/gi, '<img style="width:100%;"') // 对 img 元素增加 style 属性,并设置宽度为 100%
+				}
 			},
 			// 详情
 			toInfo(e) {

+ 9 - 10
pagesHome/info/index.vue

@@ -56,9 +56,6 @@
 		},
 		onLoad: async function(e) {
 			const that = this;
-			uni.setNavigationBarTitle({
-				title: e && e.title || '分类'
-			});
 			await that.searchOther();
 			that.searchToken();
 			that.search();
@@ -94,13 +91,15 @@
 			},
 			// 处理富文本
 			formatRichText(html) {
-				// 富文本内容格式化
-				return html && html.replace(/<img[^>]*>/gi, function(match, capture) {
-					// 查找所有的 img 元素
-					return match.replace(/style=".*"/gi, '').replace(/style='.*'/gi,
-						'')
-					// 删除找到的所有 img 元素中的 style 属性
-				}).replace(/\<img/gi, '<img style="width:100%;"') // 对 img 元素增加 style 属性,并设置宽度为 100%
+				if (html) {
+					// 富文本内容格式化
+					return html && html.replace(/<img[^>]*>/gi, function(match, capture) {
+						// 查找所有的 img 元素
+						return match.replace(/style=".*"/gi, '').replace(/style='.*'/gi,
+							'')
+						// 删除找到的所有 img 元素中的 style 属性
+					}).replace(/\<img/gi, '<img style="width:100%;"') // 对 img 元素增加 style 属性,并设置宽度为 100%
+				}
 			},
 			// 查询其他信息
 			async searchOther() {

+ 9 - 7
pagesHome/news/detail.vue

@@ -75,13 +75,15 @@
 			},
 			// 处理富文本
 			formatRichText(html) {
-				// 富文本内容格式化
-				return html && html.replace(/<img[^>]*>/gi, function(match, capture) {
-					// 查找所有的 img 元素
-					return match.replace(/style=".*"/gi, '').replace(/style='.*'/gi,
-						'')
-					// 删除找到的所有 img 元素中的 style 属性
-				}).replace(/\<img/gi, '<img style="width:100%;"') // 对 img 元素增加 style 属性,并设置宽度为 100%
+				if (html) {
+					// 富文本内容格式化
+					return html && html.replace(/<img[^>]*>/gi, function(match, capture) {
+						// 查找所有的 img 元素
+						return match.replace(/style=".*"/gi, '').replace(/style='.*'/gi,
+							'')
+						// 删除找到的所有 img 元素中的 style 属性
+					}).replace(/\<img/gi, '<img style="width:100%;"') // 对 img 元素增加 style 属性,并设置宽度为 100%
+				}
 			},
 			// 查询其他信息
 			async searchOther() {

+ 9 - 7
pagesHome/notice/detail.vue

@@ -68,13 +68,15 @@
 			},
 			// 处理富文本
 			formatRichText(html) {
-				// 富文本内容格式化
-				return html && html.replace(/<img[^>]*>/gi, function(match, capture) {
-					// 查找所有的 img 元素
-					return match.replace(/style=".*"/gi, '').replace(/style='.*'/gi,
-						'')
-					// 删除找到的所有 img 元素中的 style 属性
-				}).replace(/\<img/gi, '<img style="width:100%;"') // 对 img 元素增加 style 属性,并设置宽度为 100%
+				if (html) {
+					// 富文本内容格式化
+					return html && html.replace(/<img[^>]*>/gi, function(match, capture) {
+						// 查找所有的 img 元素
+						return match.replace(/style=".*"/gi, '').replace(/style='.*'/gi,
+							'')
+						// 删除找到的所有 img 元素中的 style 属性
+					}).replace(/\<img/gi, '<img style="width:100%;"') // 对 img 元素增加 style 属性,并设置宽度为 100%
+				}
 			},
 			// 查看公告链接
 			toView(url) {

+ 210 - 15
pagesHome/ticket/index.vue

@@ -25,37 +25,41 @@
 							<text>院内交通</text>
 						</view>
 					</view>
-					<view class="right">简介<text class="iconfont icon-dayuhao"></text></view>
+					<view class="right" @tap="toBrief">简介<text class="iconfont icon-dayuhao"></text></view>
 				</view>
 				<view class="two_3">
 					<view class="left">{{config.address||'暂无'}}</view>
-					<view class="right">
+					<view class="right" @tap="toMap">
 						<text class="iconfont icon-ditu"></text>
 						<text>地图</text>
 					</view>
 				</view>
-				<view class="two_4">
+				<view class="two_4" v-if="couponList.length>0">
 					<view class="left">优惠卷</view>
-					<view class="right">领卷<text class="iconfont icon-dayuhao"></text></view>
+					<view class="right" @click="toCoupon">领卷<text class="iconfont icon-dayuhao"></text></view>
 				</view>
 			</view>
 			<view class="thr">
 				<view class="thr_1">门票</view>
 				<view class="thr_2">
-					<text class="text">今日出游</text>
-					<text class="text">明日出游</text>
-					<text class="text">指定日期<text class="iconfont icon-dayuhao"></text></text>
+					<text class="text" @tap="toChoose('0')">今日出游</text>
+					<text class="text" @tap="toChoose('1')">明日出游</text>
+					<text class="text" @tap="toOpen">指定日期<text class="iconfont icon-dayuhao"></text></text>
 				</view>
 				<view class="thr_3">
-					<view class="list" v-for="(item, index) in totalList" :key="index">
-						<text class="text">{{item.label}}</text>
+					<view class="list" v-for="(item, index) in totalList" :key="index" @tap="toType(item)">
+						<text :class="[is_type==item._id||is_person==item._id?'text_1':'text']">{{item.label}}</text>
+					</view>
+					<view @tap="toSelect">
+						筛选
+						<uni-icons v-if="is_select" type="top"></uni-icons>
+						<uni-icons v-else type="bottom"></uni-icons>
 					</view>
-					<view>筛选</view>
 				</view>
 				<view class="thr_4">
 					<scroll-view scroll-y="true" class="scroll-view" @scrolltolower="toPage" @scroll="toScroll">
 						<view class="list-scroll-view">
-							<view class="list" v-for="(item, index) in list" :key="index">
+							<view class="list" v-for="(item, index) in list" :key="index" @tap="toInfo(item)">
 								<view class="left">
 									<view class="name textOne">{{item.name||'暂无'}}</view>
 									<view class="type textOne">#{{item.zhType||'暂无'}}</view>
@@ -70,7 +74,7 @@
 										<text>¥{{item.money||'暂无'}}起</text>
 									</view>
 									<view class="button">
-										<button type="warn" @tap.stop="toBuy(item)">预订</button>
+										<button @tap.stop="toBuy(item)">预订</button>
 									</view>
 								</view>
 							</view>
@@ -82,10 +86,39 @@
 				</view>
 			</view>
 		</view>
+		<!-- 日历选择 -->
+		<uni-calendar ref="calendar" :clear-date="true" :insert="false" :lunar="true" :range="true"
+			@confirm="toConfirm" />
+		<!-- 筛选门票类型 -->
+		<uni-popup ref="popup" type="top" background-color="#fff" @maskClick="toClose">
+			<view class="popup">
+				<view class="one">
+					<view class="name">出游人群</view>
+					<view class="cotent">
+						<view class="list" v-for="(item, index) in personList" :key="index" @tap="toScreen(item,'0')">
+							<text :class="[is_person==item._id?'text_1':'text']">{{item.label}}</text>
+						</view>
+					</view>
+				</view>
+				<view class="one">
+					<view class="name">服务特色</view>
+					<view class="cotent">
+						<view class="list" v-for="(item, index) in typeList" :key="index" @tap="toScreen(item,'1')">
+							<text :class="[is_type==item._id?'text_1':'text']">{{item.label}}</text>
+						</view>
+					</view>
+				</view>
+				<view class="button">
+					<button class="button_1" type="default" @tap.stop="toReset">重置</button>
+					<button class="button_2" type="default" @tap.stop="toSubmit">确定</button>
+				</view>
+			</view>
+		</uni-popup>
 	</view>
 </template>
 
 <script>
+	import moment from 'moment';
 	export default {
 		data() {
 			return {
@@ -101,11 +134,17 @@
 				// 数据是否触底
 				is_bottom: false,
 				scrollTop: 0,
+				// 优惠卷
+				couponList: [],
 				// 字典表
 				statusList: [],
 				personList: [],
 				typeList: [],
-				totalList: []
+				totalList: [],
+				// 是否筛选
+				is_select: false,
+				is_person: '',
+				is_type: '',
 			}
 		},
 		onLoad: async function(e) {
@@ -185,10 +224,96 @@
 				that.clearPage();
 				that.search();
 			},
+			// 简介
+			toBrief() {
+				uni.navigateTo({
+					url: `/pagesHome/info/index`
+				})
+			},
+			// 地图
+			toMap() {
+				uni.reLaunch({
+					url: `/pages/map/index`
+				})
+			},
+			// 领卷
+			toCoupon() {
+
+			},
+			// 打开日历
+			toOpen() {
+				const that = this;
+				that.$refs.calendar.open()
+			},
+			// 选择的日期
+			toConfirm(e) {
+				const that = this;
+				that.$set(that.searchInfo, `date`, e.fulldate)
+				that.clearPage();
+				that.search();
+			},
+			// 选择当天还是明天
+			toChoose(type) {
+				const that = this;
+				if (type == '0') that.$set(that.searchInfo, `date`, moment().format('YYYY-MM-DD'))
+				else that.$set(that.searchInfo, `date`, moment(new Date()).add(1, 'days').format("YYYY-MM-DD"))
+				that.clearPage();
+				that.search();
+			},
+			// 选择类型
+			toType(item) {
+				const that = this;
+				if (item.type == 'ticket_person') {
+					that.$set(that.searchInfo, `type`, '')
+					that.$set(that.searchInfo, `person`, item.value)
+				} else {
+					that.$set(that.searchInfo, `person`, '')
+					that.$set(that.searchInfo, `type`, item.value)
+				}
+				that.clearPage();
+				that.search();
+			},
+			// 筛选打开弹窗
+			toSelect() {
+				const that = this;
+				that.$set(that, `is_select`, true)
+				that.$refs.popup.open()
+			},
+			// 关闭弹窗
+			toClose() {
+				const that = this;
+				that.$set(that, `is_select`, false)
+				that.$refs.popup.close()
+			},
+			// 筛选
+			toScreen(item, type) {
+				const that = this;
+				if (type == '0') that.$set(that, `is_person`, item._id)
+				else that.$set(that, `is_type`, item._id)
+			},
+			// 重置
+			toReset() {
+				const that = this;
+				that.$set(that, `is_person`, '')
+				that.$set(that, `is_type`, '')
+				that.$set(that.searchInfo, `person`, '')
+				that.$set(that.searchInfo, `type`, '')
+			},
+			// 确定
+			toSubmit() {
+				const that = this;
+				const person = that.personList.find(i => i._id == that.is_person)
+				if (person) that.$set(that.searchInfo, `person`, person.value)
+				const type = that.typeList.find(i => i._id == that.is_type)
+				if (type) that.$set(that.searchInfo, `type`, type.value)
+				that.clearPage();
+				that.search();
+				that.toClose();
+			},
 			// 详情
 			toInfo(e) {
 				uni.navigateTo({
-					url: `/pagesHome/hotel/info?id=${e.id||e._id}`
+					url: `/pagesHome/ticket/info?id=${e.id||e._id}`
 				})
 			},
 			// 预订
@@ -437,9 +562,20 @@
 								font-size: 14px;
 							}
 						}
-					}
 
+						.text_1 {
+							margin: 0 5px 0 0;
+							padding: 1vw;
+							border-radius: 5px;
+							font-size: var(--font12Size);
+							color: var(--mainColor);
+							background-color: var(--f3CColor);
 
+							.iconfont {
+								font-size: 14px;
+							}
+						}
+					}
 				}
 
 				.thr_4 {
@@ -506,6 +642,7 @@
 								button {
 									font-size: var(--font14Size);
 									border-radius: 40px;
+									color: var(--mainColor);
 									background: linear-gradient(to right, #00BFFF, #007AFF);
 								}
 							}
@@ -516,6 +653,64 @@
 		}
 	}
 
+	.popup {
+		padding: 2vw;
+
+		.one {
+			padding: 2vw;
+
+			.name {
+				padding: 2vw 0;
+				font-size: var(--font16Size);
+				font-weight: bold;
+			}
+
+			.cotent {
+				display: flex;
+				flex-wrap: wrap;
+				margin: 5vw 0;
+
+				.list {
+					margin: 0 0 5vw 0;
+
+					.text {
+						margin: 0 5px 0 0;
+						padding: 2vw 7vw;
+						border-radius: 5px;
+						font-size: var(--font14Size);
+						color: var(--f69Color);
+						background-color: var(--f9Color);
+					}
+
+					.text_1 {
+						margin: 0 5px 0 0;
+						padding: 2vw 7vw;
+						border-radius: 5px;
+						font-size: var(--font14Size);
+						color: var(--mainColor);
+						background-color: var(--f3CColor);
+					}
+				}
+			}
+		}
+
+		.button {
+			display: flex;
+			padding: 2vw;
+
+			button {
+				width: 30vw;
+				font-size: var(--font16Size);
+				border-radius: 40px;
+			}
+
+			button:last-child {
+				color: var(--mainColor);
+				background: linear-gradient(to right, #00BFFF, #007AFF);
+			}
+		}
+	}
+
 	.scroll-view {
 		position: absolute;
 		top: 0;

+ 138 - 103
pagesHome/ticket/info.vue

@@ -1,38 +1,51 @@
 <template>
 	<view class="main">
-		<view class="one" v-if="info.file.length>0">
-			<swiper class="swiper" circular :indicator-dots="true" indicator-color="#F5F5F5"
-				indicator-active-color="#ffffff" :autoplay="true" :interval="3000" :duration="1000">
-				<swiper-item class="list" v-for="(item,index) in info.file" :key="index">
-					<image class="image" :src="item.url" mode="">
-					</image>
-				</swiper-item>
-			</swiper>
-		</view>
-		<view class="bottom">
-			<view class="two">
-				<view class="two_1">{{info.name||'暂无'}}</view>
+		<view class="top">
+			<view class="left">
+				<image class="image" :src="info.file&&info.file.length>0?info.file[0].url:''" mode="aspectFill">
 			</view>
-			<view class="thr">
-				<view class="thr_1">
-					<view class="left">价格:</view>
-					<view class="right"><text class="text_1" :user-select='true'>¥{{info.money||'暂无'}}</text></view>
-				</view>
-				<view class="thr_1">
-					<view class="left">数量:</view>
-					<view class="right">
-						<text v-if="info.num==0">售罄</text>
-						<text v-else>{{info.num||'暂无'}} 间</text>
+			<view class="right">
+				<view class="right_1 textOver">{{info.name||'暂无'}}</view>
+				<view class="right_2">已售 {{info.buy_num||0}}</view>
+			</view>
+		</view>
+		<view class="center">
+			<scroll-view scroll-y="true" class="scroll-view">
+				<view class="list-scroll-view">
+					<view class="center_1" v-if="info.buy_explain">
+						<view class="name">购买须知</view>
+						<view class="cotent">
+							<rich-text :nodes="formatRichText(info.buy_explain)"></rich-text>
+						</view>
+					</view>
+					<view class="center_1" v-if="info.use_explain">
+						<view class="name">使用说明</view>
+						<view class="cotent">
+							<rich-text :nodes="formatRichText(info.use_explain)"></rich-text>
+						</view>
+					</view>
+					<view class="center_1" v-if="info.money_explain">
+						<view class="name">费用说明</view>
+						<view class="cotent">
+							<rich-text :nodes="formatRichText(info.money_explain)"></rich-text>
+						</view>
+					</view>
+					<view class="center_1" v-if="info.other_explain">
+						<view class="name">其他说明</view>
+						<view class="cotent">
+							<rich-text :nodes="formatRichText(info.other_explain)"></rich-text>
+						</view>
 					</view>
 				</view>
+			</scroll-view>
+		</view>
+		<view class="foot">
+			<view class="money">
+				<text>¥{{info.original_price||'暂无'}}</text>
+				<text>¥{{info.money||'暂无'}}起</text>
 			</view>
-			<view class="four">
-				<view class="four_1">简介</view>
-				<rich-text :nodes="formatRichText(info.brief)"></rich-text>
-			</view>
-			<view class="foot">
-				<view class="button" v-if="info.num==0"><text>售罄</text></view>
-				<view class="button" v-else @click="toBuy"><text>预订</text></view>
+			<view class="button">
+				<button type="warn" @tap.stop="toBuy(item)">预订</button>
 			</view>
 		</view>
 	</view>
@@ -94,13 +107,15 @@
 			},
 			// 处理富文本
 			formatRichText(html) {
-				// 富文本内容格式化
-				return html && html.replace(/<img[^>]*>/gi, function(match, capture) {
-					// 查找所有的 img 元素
-					return match.replace(/style=".*"/gi, '').replace(/style='.*'/gi,
-						'')
-					// 删除找到的所有 img 元素中的 style 属性
-				}).replace(/\<img/gi, '<img style="width:100%;"') // 对 img 元素增加 style 属性,并设置宽度为 100%
+				if (html) {
+					// 富文本内容格式化
+					return html && html.replace(/<img[^>]*>/gi, function(match, capture) {
+						// 查找所有的 img 元素
+						return match.replace(/style=".*"/gi, '').replace(/style='.*'/gi,
+							'')
+						// 删除找到的所有 img 元素中的 style 属性
+					}).replace(/\<img/gi, '<img style="width:100%;"') // 对 img 元素增加 style 属性,并设置宽度为 100%
+				}
 			},
 			// 预订
 			toBuy(item) {
@@ -130,98 +145,118 @@
 
 <style lang="scss" scoped>
 	.main {
-		.one {
-			.swiper {
-				height: 70vw;
-
-				.list {
-					.image {
-						width: 100%;
-						height: 100%;
-					}
-				}
-			}
-		}
-
-		.bottom {
-			position: absolute;
-			top: 65vw;
-			left: 0;
-			right: 0;
-			background-color: var(--mainColor);
-			border-radius: 20px;
-			padding: 2vw 0 0 0;
+		display: flex;
+		flex-direction: column;
+		width: 100vw;
+		height: 100vh;
 
-			.two {
-				padding: 4vw 2vw;
+		.top {
+			display: flex;
+			padding: 1vw;
+			border-radius: 5px;
+			border: 1px solid var(--f9Color);
 
-				.two_1 {
-					padding: 1vw 0;
-					font-weight: bold;
-					font-size: var(--font16Size);
-				}
+			.left {
+				width: 25vw;
 
-				.two_2 {
-					color: var(--f85Color);
-					font-size: var(--font12Size);
+				.image {
+					width: 100%;
+					height: 25vw;
 				}
-
 			}
 
-			.thr {
+			.right {
 				padding: 2vw;
+				width: 65vw;
+				margin: 0 0 0 2vw;
 
-				.thr_1 {
-					display: flex;
-					font-size: var(--font14Size);
-					padding: 0 0 1vw 0;
-
-					.left {
-						padding: 0 1vw 0 0;
-						font-weight: bold;
-					}
-
-					.right {
-						color: var(--f85Color);
+				.right_1 {
+					font-size: var(--font18Size);
+					font-weight: bold;
+					padding: 0 0 2px 0;
+				}
 
-						.text_1 {
-							font-size: var(--font14Size);
-							color: var(--fF0Color);
-						}
-					}
+				.right_2 {
+					padding: 0 0 2px 0;
+					font-size: var(--font14Size);
+					color: var(--f85Color);
 				}
 			}
+		}
+
+		.center {
+			position: relative;
+			flex-grow: 1;
 
-			.four {
+			.center_1 {
 				padding: 2vw;
-				margin: 0 0 15vw 0;
 
-				.four_1 {
+				.name {
+					padding: 3vw 0;
+					font-size: var(--font18Size);
 					font-weight: bold;
-					font-size: var(--font16Size);
-					padding: 0 0 1vw 0;
+				}
+
+				.content {
+					padding: 2vw;
 				}
 			}
 		}
 
 		.foot {
-			position: absolute;
-			bottom: 0;
-			left: 0;
-			right: 0;
+			display: flex;
+			justify-content: space-between;
+			align-items: center;
+			padding: 2vw;
+			background-color: var(--mainColor);
+
+			.money {
+				text-align: right;
+				color: var(--fF0Color);
+				font-size: var(--font16Size);
+				font-weight: bold;
+
+				text:first-child {
+					text-decoration: line-through;
+					color: var(--f69Color);
+					font-size: var(--font12Size);
+					font-weight: 400;
+				}
+			}
 
 			.button {
-				display: flex;
-				justify-content: center;
-				background-color: var(--f3CColor);
-				padding: 4vw;
-
-				text {
-					font-size: var(--font16Size);
-					color: var(--mainColor);
+				button {
+					width: 30vw;
+					font-size: var(--font14Size);
+					border-radius: 40px;
+					background: linear-gradient(to right, #00BFFF, #007AFF);
 				}
 			}
 		}
+	}
+
+	.scroll-view {
+		position: absolute;
+		top: 0;
+		left: 0;
+		right: 0;
+		bottom: 0;
+
+		.list-scroll-view {
+			display: flex;
+			flex-direction: column;
+		}
+	}
+
+	.is_bottom {
+		width: 100%;
+		text-align: center;
 
+		text {
+			padding: 2vw 0;
+			display: inline-block;
+			color: var(--f85Color);
+			font-size: var(--font14Size);
+		}
 	}
 </style>

+ 9 - 7
pagesHome/type/info.vue

@@ -101,13 +101,15 @@
 			},
 			// 处理富文本
 			formatRichText(html) {
-				// 富文本内容格式化
-				return html && html.replace(/<img[^>]*>/gi, function(match, capture) {
-					// 查找所有的 img 元素
-					return match.replace(/style=".*"/gi, '').replace(/style='.*'/gi,
-						'')
-					// 删除找到的所有 img 元素中的 style 属性
-				}).replace(/\<img/gi, '<img style="width:100%;"') // 对 img 元素增加 style 属性,并设置宽度为 100%
+				if (html) {
+					// 富文本内容格式化
+					return html && html.replace(/<img[^>]*>/gi, function(match, capture) {
+						// 查找所有的 img 元素
+						return match.replace(/style=".*"/gi, '').replace(/style='.*'/gi,
+							'')
+						// 删除找到的所有 img 元素中的 style 属性
+					}).replace(/\<img/gi, '<img style="width:100%;"') // 对 img 元素增加 style 属性,并设置宽度为 100%
+				}
 			},
 			// 查询其他信息
 			async searchOther() {

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/customer/common/submit_1.js.map


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pagesHome/article/index.js.map


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pagesHome/hotel/detail.js.map


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pagesHome/hotel/info.js.map


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pagesHome/info/index.js.map


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pagesHome/news/detail.js.map


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pagesHome/notice/detail.js.map


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pagesHome/ticket/index.js.map


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pagesHome/ticket/info.js.map


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pagesHome/type/info.js.map


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-calendar/components/uni-calendar/uni-calendar-item.js.map


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-calendar/components/uni-calendar/uni-calendar.js.map


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-popup/components/uni-popup/uni-popup.js.map


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 2 - 2
unpackage/dist/dev/mp-weixin/common/runtime.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 1217 - 2
unpackage/dist/dev/mp-weixin/common/vendor.js


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/customer/common/submit_1.wxml


+ 4 - 0
unpackage/dist/dev/mp-weixin/pages/customer/common/submit_1.wxss

@@ -64,4 +64,8 @@
   color: rgba(39, 40, 50, 0.5);
   line-height: 34rpx;
 }
+.more .more_1 .more-list .button.data-v-b6a58b94 {
+  border: none !important;
+  color: rgba(39, 40, 50, 0.5);
+}
 

+ 8 - 6
unpackage/dist/dev/mp-weixin/pagesHome/article/index.js

@@ -369,12 +369,14 @@ var _default = {
     },
     // 处理富文本
     formatRichText: function formatRichText(html) {
-      // 富文本内容格式化
-      return html && html.replace(/<img[^>]*>/gi, function (match, capture) {
-        // 查找所有的 img 元素
-        return match.replace(/style=".*"/gi, '').replace(/style='.*'/gi, '');
-        // 删除找到的所有 img 元素中的 style 属性
-      }).replace(/\<img/gi, '<img style="width:100%;"'); // 对 img 元素增加 style 属性,并设置宽度为 100%
+      if (html) {
+        // 富文本内容格式化
+        return html && html.replace(/<img[^>]*>/gi, function (match, capture) {
+          // 查找所有的 img 元素
+          return match.replace(/style=".*"/gi, '').replace(/style='.*'/gi, '');
+          // 删除找到的所有 img 元素中的 style 属性
+        }).replace(/\<img/gi, '<img style="width:100%;"'); // 对 img 元素增加 style 属性,并设置宽度为 100%
+      }
     },
     // 查看评论
     searchComment: function searchComment() {

+ 8 - 6
unpackage/dist/dev/mp-weixin/pagesHome/hotel/detail.js

@@ -308,12 +308,14 @@ var _default = {
     },
     // 处理富文本
     formatRichText: function formatRichText(html) {
-      // 富文本内容格式化
-      return html && html.replace(/<img[^>]*>/gi, function (match, capture) {
-        // 查找所有的 img 元素
-        return match.replace(/style=".*"/gi, '').replace(/style='.*'/gi, '');
-        // 删除找到的所有 img 元素中的 style 属性
-      }).replace(/\<img/gi, '<img style="width:100%;"'); // 对 img 元素增加 style 属性,并设置宽度为 100%
+      if (html) {
+        // 富文本内容格式化
+        return html && html.replace(/<img[^>]*>/gi, function (match, capture) {
+          // 查找所有的 img 元素
+          return match.replace(/style=".*"/gi, '').replace(/style='.*'/gi, '');
+          // 删除找到的所有 img 元素中的 style 属性
+        }).replace(/\<img/gi, '<img style="width:100%;"'); // 对 img 元素增加 style 属性,并设置宽度为 100%
+      }
     },
     // 预订
     toBuy: function toBuy(item) {

+ 8 - 6
unpackage/dist/dev/mp-weixin/pagesHome/hotel/info.js

@@ -426,12 +426,14 @@ var _default = {
     },
     // 处理富文本
     formatRichText: function formatRichText(html) {
-      // 富文本内容格式化
-      return html && html.replace(/<img[^>]*>/gi, function (match, capture) {
-        // 查找所有的 img 元素
-        return match.replace(/style=".*"/gi, '').replace(/style='.*'/gi, '');
-        // 删除找到的所有 img 元素中的 style 属性
-      }).replace(/\<img/gi, '<img style="width:100%;"'); // 对 img 元素增加 style 属性,并设置宽度为 100%
+      if (html) {
+        // 富文本内容格式化
+        return html && html.replace(/<img[^>]*>/gi, function (match, capture) {
+          // 查找所有的 img 元素
+          return match.replace(/style=".*"/gi, '').replace(/style='.*'/gi, '');
+          // 删除找到的所有 img 元素中的 style 属性
+        }).replace(/\<img/gi, '<img style="width:100%;"'); // 对 img 元素增加 style 属性,并设置宽度为 100%
+      }
     },
     // 详情
     toInfo: function toInfo(e) {

+ 1 - 1
unpackage/dist/dev/mp-weixin/pagesHome/hotel/info.json

@@ -1,5 +1,5 @@
 {
-  "navigationBarTitleText": "详情",
+  "navigationBarTitleText": "酒店详情",
   "usingComponents": {
     "uni-collapse": "/uni_modules/uni-collapse/components/uni-collapse/uni-collapse",
     "uni-collapse-item": "/uni_modules/uni-collapse/components/uni-collapse-item/uni-collapse-item"

+ 11 - 12
unpackage/dist/dev/mp-weixin/pagesHome/info/index.js

@@ -220,15 +220,12 @@ var _default = {
           switch (_context.prev = _context.next) {
             case 0:
               that = this;
-              uni.setNavigationBarTitle({
-                title: e && e.title || '分类'
-              });
-              _context.next = 4;
+              _context.next = 3;
               return that.searchOther();
-            case 4:
+            case 3:
               that.searchToken();
               that.search();
-            case 6:
+            case 5:
             case "end":
               return _context.stop();
           }
@@ -290,12 +287,14 @@ var _default = {
     },
     // 处理富文本
     formatRichText: function formatRichText(html) {
-      // 富文本内容格式化
-      return html && html.replace(/<img[^>]*>/gi, function (match, capture) {
-        // 查找所有的 img 元素
-        return match.replace(/style=".*"/gi, '').replace(/style='.*'/gi, '');
-        // 删除找到的所有 img 元素中的 style 属性
-      }).replace(/\<img/gi, '<img style="width:100%;"'); // 对 img 元素增加 style 属性,并设置宽度为 100%
+      if (html) {
+        // 富文本内容格式化
+        return html && html.replace(/<img[^>]*>/gi, function (match, capture) {
+          // 查找所有的 img 元素
+          return match.replace(/style=".*"/gi, '').replace(/style='.*'/gi, '');
+          // 删除找到的所有 img 元素中的 style 属性
+        }).replace(/\<img/gi, '<img style="width:100%;"'); // 对 img 元素增加 style 属性,并设置宽度为 100%
+      }
     },
     // 查询其他信息
     searchOther: function searchOther() {

+ 8 - 6
unpackage/dist/dev/mp-weixin/pagesHome/news/detail.js

@@ -255,12 +255,14 @@ var _default = {
     },
     // 处理富文本
     formatRichText: function formatRichText(html) {
-      // 富文本内容格式化
-      return html && html.replace(/<img[^>]*>/gi, function (match, capture) {
-        // 查找所有的 img 元素
-        return match.replace(/style=".*"/gi, '').replace(/style='.*'/gi, '');
-        // 删除找到的所有 img 元素中的 style 属性
-      }).replace(/\<img/gi, '<img style="width:100%;"'); // 对 img 元素增加 style 属性,并设置宽度为 100%
+      if (html) {
+        // 富文本内容格式化
+        return html && html.replace(/<img[^>]*>/gi, function (match, capture) {
+          // 查找所有的 img 元素
+          return match.replace(/style=".*"/gi, '').replace(/style='.*'/gi, '');
+          // 删除找到的所有 img 元素中的 style 属性
+        }).replace(/\<img/gi, '<img style="width:100%;"'); // 对 img 元素增加 style 属性,并设置宽度为 100%
+      }
     },
     // 查询其他信息
     searchOther: function searchOther() {

+ 8 - 6
unpackage/dist/dev/mp-weixin/pagesHome/notice/detail.js

@@ -246,12 +246,14 @@ var _default = {
     },
     // 处理富文本
     formatRichText: function formatRichText(html) {
-      // 富文本内容格式化
-      return html && html.replace(/<img[^>]*>/gi, function (match, capture) {
-        // 查找所有的 img 元素
-        return match.replace(/style=".*"/gi, '').replace(/style='.*'/gi, '');
-        // 删除找到的所有 img 元素中的 style 属性
-      }).replace(/\<img/gi, '<img style="width:100%;"'); // 对 img 元素增加 style 属性,并设置宽度为 100%
+      if (html) {
+        // 富文本内容格式化
+        return html && html.replace(/<img[^>]*>/gi, function (match, capture) {
+          // 查找所有的 img 元素
+          return match.replace(/style=".*"/gi, '').replace(/style='.*'/gi, '');
+          // 删除找到的所有 img 元素中的 style 属性
+        }).replace(/\<img/gi, '<img style="width:100%;"'); // 对 img 元素增加 style 属性,并设置宽度为 100%
+      }
     },
     // 查看公告链接
     toView: function toView(url) {

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 133 - 89
unpackage/dist/dev/mp-weixin/pagesHome/ticket/index.js


+ 5 - 1
unpackage/dist/dev/mp-weixin/pagesHome/ticket/index.json

@@ -1,5 +1,9 @@
 {
   "navigationBarTitleText": "景区门票",
   "enablePullDownRefresh": true,
-  "usingComponents": {}
+  "usingComponents": {
+    "uni-icons": "/uni_modules/uni-icons/components/uni-icons/uni-icons",
+    "uni-calendar": "/uni_modules/uni-calendar/components/uni-calendar/uni-calendar",
+    "uni-popup": "/uni_modules/uni-popup/components/uni-popup/uni-popup"
+  }
 }

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 1 - 1
unpackage/dist/dev/mp-weixin/pagesHome/ticket/index.wxml


+ 60 - 0
unpackage/dist/dev/mp-weixin/pagesHome/ticket/index.wxss

@@ -141,6 +141,17 @@
 .main .bottom .thr .thr_3 .list .text .iconfont.data-v-1ae5c169 {
   font-size: 14px;
 }
+.main .bottom .thr .thr_3 .list .text_1.data-v-1ae5c169 {
+  margin: 0 5px 0 0;
+  padding: 1vw;
+  border-radius: 5px;
+  font-size: var(--font12Size);
+  color: var(--mainColor);
+  background-color: var(--f3CColor);
+}
+.main .bottom .thr .thr_3 .list .text_1 .iconfont.data-v-1ae5c169 {
+  font-size: 14px;
+}
 .main .bottom .thr .thr_4.data-v-1ae5c169 {
   position: relative;
   height: 82vh;
@@ -197,6 +208,55 @@
 .main .bottom .thr .thr_4 .list .right .button button.data-v-1ae5c169 {
   font-size: var(--font14Size);
   border-radius: 40px;
+  color: var(--mainColor);
+  background: linear-gradient(to right, #00BFFF, #007AFF);
+}
+.popup.data-v-1ae5c169 {
+  padding: 2vw;
+}
+.popup .one.data-v-1ae5c169 {
+  padding: 2vw;
+}
+.popup .one .name.data-v-1ae5c169 {
+  padding: 2vw 0;
+  font-size: var(--font16Size);
+  font-weight: bold;
+}
+.popup .one .cotent.data-v-1ae5c169 {
+  display: flex;
+  flex-wrap: wrap;
+  margin: 5vw 0;
+}
+.popup .one .cotent .list.data-v-1ae5c169 {
+  margin: 0 0 5vw 0;
+}
+.popup .one .cotent .list .text.data-v-1ae5c169 {
+  margin: 0 5px 0 0;
+  padding: 2vw 7vw;
+  border-radius: 5px;
+  font-size: var(--font14Size);
+  color: var(--f69Color);
+  background-color: var(--f9Color);
+}
+.popup .one .cotent .list .text_1.data-v-1ae5c169 {
+  margin: 0 5px 0 0;
+  padding: 2vw 7vw;
+  border-radius: 5px;
+  font-size: var(--font14Size);
+  color: var(--mainColor);
+  background-color: var(--f3CColor);
+}
+.popup .button.data-v-1ae5c169 {
+  display: flex;
+  padding: 2vw;
+}
+.popup .button button.data-v-1ae5c169 {
+  width: 30vw;
+  font-size: var(--font16Size);
+  border-radius: 40px;
+}
+.popup .button button.data-v-1ae5c169:last-child {
+  color: var(--mainColor);
   background: linear-gradient(to right, #00BFFF, #007AFF);
 }
 .scroll-view.data-v-1ae5c169 {

+ 37 - 8
unpackage/dist/dev/mp-weixin/pagesHome/ticket/info.js

@@ -102,14 +102,28 @@ var render = function () {
   var _vm = this
   var _h = _vm.$createElement
   var _c = _vm._self._c || _h
-  var g0 = _vm.info.file.length
-  var m0 = _vm.formatRichText(_vm.info.brief)
+  var g0 = _vm.info.file && _vm.info.file.length > 0
+  var m0 = _vm.info.buy_explain
+    ? _vm.formatRichText(_vm.info.buy_explain)
+    : null
+  var m1 = _vm.info.use_explain
+    ? _vm.formatRichText(_vm.info.use_explain)
+    : null
+  var m2 = _vm.info.money_explain
+    ? _vm.formatRichText(_vm.info.money_explain)
+    : null
+  var m3 = _vm.info.other_explain
+    ? _vm.formatRichText(_vm.info.other_explain)
+    : null
   _vm.$mp.data = Object.assign(
     {},
     {
       $root: {
         g0: g0,
         m0: m0,
+        m1: m1,
+        m2: m2,
+        m3: m3,
       },
     }
   )
@@ -195,6 +209,19 @@ var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/r
 //
 //
 //
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
+//
 var _default = {
   data: function data() {
     return {
@@ -308,12 +335,14 @@ var _default = {
     },
     // 处理富文本
     formatRichText: function formatRichText(html) {
-      // 富文本内容格式化
-      return html && html.replace(/<img[^>]*>/gi, function (match, capture) {
-        // 查找所有的 img 元素
-        return match.replace(/style=".*"/gi, '').replace(/style='.*'/gi, '');
-        // 删除找到的所有 img 元素中的 style 属性
-      }).replace(/\<img/gi, '<img style="width:100%;"'); // 对 img 元素增加 style 属性,并设置宽度为 100%
+      if (html) {
+        // 富文本内容格式化
+        return html && html.replace(/<img[^>]*>/gi, function (match, capture) {
+          // 查找所有的 img 元素
+          return match.replace(/style=".*"/gi, '').replace(/style='.*'/gi, '');
+          // 删除找到的所有 img 元素中的 style 属性
+        }).replace(/\<img/gi, '<img style="width:100%;"'); // 对 img 元素增加 style 属性,并设置宽度为 100%
+      }
     },
     // 预订
     toBuy: function toBuy(item) {

+ 1 - 1
unpackage/dist/dev/mp-weixin/pagesHome/ticket/info.json

@@ -1,4 +1,4 @@
 {
-  "navigationBarTitleText": "详情",
+  "navigationBarTitleText": "门票详情",
   "usingComponents": {}
 }

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 1 - 1
unpackage/dist/dev/mp-weixin/pagesHome/ticket/info.wxml


+ 71 - 48
unpackage/dist/dev/mp-weixin/pagesHome/ticket/info.wxss

@@ -1,76 +1,99 @@
 @charset "UTF-8";
 /* 水平间距 */
 /* 水平间距 */
-.main .one .swiper.data-v-071bd532 {
-  height: 70vw;
+.main.data-v-071bd532 {
+  display: flex;
+  flex-direction: column;
+  width: 100vw;
+  height: 100vh;
 }
-.main .one .swiper .list .image.data-v-071bd532 {
-  width: 100%;
-  height: 100%;
+.main .top.data-v-071bd532 {
+  display: flex;
+  padding: 1vw;
+  border-radius: 5px;
+  border: 1px solid var(--f9Color);
 }
-.main .bottom.data-v-071bd532 {
-  position: absolute;
-  top: 65vw;
-  left: 0;
-  right: 0;
-  background-color: var(--mainColor);
-  border-radius: 20px;
-  padding: 2vw 0 0 0;
+.main .top .left.data-v-071bd532 {
+  width: 25vw;
 }
-.main .bottom .two.data-v-071bd532 {
-  padding: 4vw 2vw;
+.main .top .left .image.data-v-071bd532 {
+  width: 100%;
+  height: 25vw;
+}
+.main .top .right.data-v-071bd532 {
+  padding: 2vw;
+  width: 65vw;
+  margin: 0 0 0 2vw;
 }
-.main .bottom .two .two_1.data-v-071bd532 {
-  padding: 1vw 0;
+.main .top .right .right_1.data-v-071bd532 {
+  font-size: var(--font18Size);
   font-weight: bold;
-  font-size: var(--font16Size);
+  padding: 0 0 2px 0;
 }
-.main .bottom .two .two_2.data-v-071bd532 {
+.main .top .right .right_2.data-v-071bd532 {
+  padding: 0 0 2px 0;
+  font-size: var(--font14Size);
   color: var(--f85Color);
-  font-size: var(--font12Size);
 }
-.main .bottom .thr.data-v-071bd532 {
-  padding: 2vw;
+.main .center.data-v-071bd532 {
+  position: relative;
+  flex-grow: 1;
 }
-.main .bottom .thr .thr_1.data-v-071bd532 {
-  display: flex;
-  font-size: var(--font14Size);
-  padding: 0 0 1vw 0;
+.main .center .center_1.data-v-071bd532 {
+  padding: 2vw;
 }
-.main .bottom .thr .thr_1 .left.data-v-071bd532 {
-  padding: 0 1vw 0 0;
+.main .center .center_1 .name.data-v-071bd532 {
+  padding: 3vw 0;
+  font-size: var(--font18Size);
   font-weight: bold;
 }
-.main .bottom .thr .thr_1 .right.data-v-071bd532 {
-  color: var(--f85Color);
-}
-.main .bottom .thr .thr_1 .right .text_1.data-v-071bd532 {
-  font-size: var(--font14Size);
-  color: var(--fF0Color);
+.main .center .center_1 .content.data-v-071bd532 {
+  padding: 2vw;
 }
-.main .bottom .four.data-v-071bd532 {
+.main .foot.data-v-071bd532 {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
   padding: 2vw;
-  margin: 0 0 15vw 0;
+  background-color: var(--mainColor);
 }
-.main .bottom .four .four_1.data-v-071bd532 {
-  font-weight: bold;
+.main .foot .money.data-v-071bd532 {
+  text-align: right;
+  color: var(--fF0Color);
   font-size: var(--font16Size);
-  padding: 0 0 1vw 0;
+  font-weight: bold;
 }
-.main .foot.data-v-071bd532 {
+.main .foot .money text.data-v-071bd532:first-child {
+  text-decoration: line-through;
+  color: var(--f69Color);
+  font-size: var(--font12Size);
+  font-weight: 400;
+}
+.main .foot .button button.data-v-071bd532 {
+  width: 30vw;
+  font-size: var(--font14Size);
+  border-radius: 40px;
+  background: linear-gradient(to right, #00BFFF, #007AFF);
+}
+.scroll-view.data-v-071bd532 {
   position: absolute;
-  bottom: 0;
+  top: 0;
   left: 0;
   right: 0;
+  bottom: 0;
 }
-.main .foot .button.data-v-071bd532 {
+.scroll-view .list-scroll-view.data-v-071bd532 {
   display: flex;
-  justify-content: center;
-  background-color: var(--f3CColor);
-  padding: 4vw;
+  flex-direction: column;
 }
-.main .foot .button text.data-v-071bd532 {
-  font-size: var(--font16Size);
-  color: var(--mainColor);
+.is_bottom.data-v-071bd532 {
+  width: 100%;
+  text-align: center;
+}
+.is_bottom text.data-v-071bd532 {
+  padding: 2vw 0;
+  display: inline-block;
+  color: var(--f85Color);
+  font-size: var(--font14Size);
 }
 

+ 8 - 6
unpackage/dist/dev/mp-weixin/pagesHome/type/info.js

@@ -299,12 +299,14 @@ var _default = {
     },
     // 处理富文本
     formatRichText: function formatRichText(html) {
-      // 富文本内容格式化
-      return html && html.replace(/<img[^>]*>/gi, function (match, capture) {
-        // 查找所有的 img 元素
-        return match.replace(/style=".*"/gi, '').replace(/style='.*'/gi, '');
-        // 删除找到的所有 img 元素中的 style 属性
-      }).replace(/\<img/gi, '<img style="width:100%;"'); // 对 img 元素增加 style 属性,并设置宽度为 100%
+      if (html) {
+        // 富文本内容格式化
+        return html && html.replace(/<img[^>]*>/gi, function (match, capture) {
+          // 查找所有的 img 元素
+          return match.replace(/style=".*"/gi, '').replace(/style='.*'/gi, '');
+          // 删除找到的所有 img 元素中的 style 属性
+        }).replace(/\<img/gi, '<img style="width:100%;"'); // 对 img 元素增加 style 属性,并设置宽度为 100%
+      }
     },
     // 查询其他信息
     searchOther: function searchOther() {

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 261 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-calendar/components/uni-calendar/uni-calendar-item.js


+ 4 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-calendar/components/uni-calendar/uni-calendar-item.json

@@ -0,0 +1,4 @@
+{
+  "usingComponents": {},
+  "component": true
+}

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 1 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-calendar/components/uni-calendar/uni-calendar-item.wxml


+ 71 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-calendar/components/uni-calendar/uni-calendar-item.wxss

@@ -0,0 +1,71 @@
+@charset "UTF-8";
+/* 水平间距 */
+/* 水平间距 */
+.uni-calendar-item__weeks-box.data-v-6097fd5b {
+  flex: 1;
+  display: flex;
+  flex-direction: column;
+  justify-content: center;
+  align-items: center;
+}
+.uni-calendar-item__weeks-box-text.data-v-6097fd5b {
+  font-size: 14px;
+  color: #333;
+}
+.uni-calendar-item__weeks-lunar-text.data-v-6097fd5b {
+  font-size: 12px;
+  color: #333;
+}
+.uni-calendar-item__weeks-box-item.data-v-6097fd5b {
+  position: relative;
+  display: flex;
+  flex-direction: column;
+  justify-content: center;
+  align-items: center;
+  width: 100rpx;
+  height: 100rpx;
+}
+.uni-calendar-item__weeks-box-circle.data-v-6097fd5b {
+  position: absolute;
+  top: 5px;
+  right: 5px;
+  width: 8px;
+  height: 8px;
+  border-radius: 8px;
+  background-color: #e43d33;
+}
+.uni-calendar-item--disable.data-v-6097fd5b {
+  background-color: rgba(249, 249, 249, 0.3);
+  color: #c0c0c0;
+}
+.uni-calendar-item--isDay-text.data-v-6097fd5b {
+  color: #2979ff;
+}
+.uni-calendar-item--isDay.data-v-6097fd5b {
+  background-color: #2979ff;
+  opacity: 0.8;
+  color: #fff;
+}
+.uni-calendar-item--extra.data-v-6097fd5b {
+  color: #e43d33;
+  opacity: 0.8;
+}
+.uni-calendar-item--checked.data-v-6097fd5b {
+  background-color: #2979ff;
+  color: #fff;
+  opacity: 0.8;
+}
+.uni-calendar-item--multiple.data-v-6097fd5b {
+  background-color: #2979ff;
+  color: #fff;
+  opacity: 0.8;
+}
+.uni-calendar-item--before-checked.data-v-6097fd5b {
+  background-color: #ff5a5f;
+  color: #fff;
+}
+.uni-calendar-item--after-checked.data-v-6097fd5b {
+  background-color: #ff5a5f;
+  color: #fff;
+}
+

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 532 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-calendar/components/uni-calendar/uni-calendar.js


+ 6 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-calendar/components/uni-calendar/uni-calendar.json

@@ -0,0 +1,6 @@
+{
+  "usingComponents": {
+    "calendar-item": "/uni_modules/uni-calendar/components/uni-calendar/uni-calendar-item"
+  },
+  "component": true
+}

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 1 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-calendar/components/uni-calendar/uni-calendar.wxml


+ 154 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-calendar/components/uni-calendar/uni-calendar.wxss

@@ -0,0 +1,154 @@
+@charset "UTF-8";
+/* 水平间距 */
+/* 水平间距 */
+.uni-calendar.data-v-0682a296 {
+  display: flex;
+  flex-direction: column;
+}
+.uni-calendar__mask.data-v-0682a296 {
+  position: fixed;
+  bottom: 0;
+  top: 0;
+  left: 0;
+  right: 0;
+  background-color: rgba(0, 0, 0, 0.4);
+  transition-property: opacity;
+  transition-duration: 0.3s;
+  opacity: 0;
+  z-index: 99;
+}
+.uni-calendar--mask-show.data-v-0682a296 {
+  opacity: 1;
+}
+.uni-calendar--fixed.data-v-0682a296 {
+  position: fixed;
+  left: 0;
+  right: 0;
+  transition-property: -webkit-transform;
+  transition-property: transform;
+  transition-property: transform, -webkit-transform;
+  transition-duration: 0.3s;
+  -webkit-transform: translateY(460px);
+          transform: translateY(460px);
+  bottom: calc(0px);
+  z-index: 99;
+}
+.uni-calendar--ani-show.data-v-0682a296 {
+  -webkit-transform: translateY(0);
+          transform: translateY(0);
+}
+.uni-calendar__content.data-v-0682a296 {
+  background-color: #fff;
+}
+.uni-calendar__header.data-v-0682a296 {
+  position: relative;
+  display: flex;
+  flex-direction: row;
+  justify-content: center;
+  align-items: center;
+  height: 50px;
+  border-bottom-color: #EDEDED;
+  border-bottom-style: solid;
+  border-bottom-width: 1px;
+}
+.uni-calendar--fixed-top.data-v-0682a296 {
+  display: flex;
+  flex-direction: row;
+  justify-content: space-between;
+  border-top-color: #EDEDED;
+  border-top-style: solid;
+  border-top-width: 1px;
+}
+.uni-calendar--fixed-width.data-v-0682a296 {
+  width: 50px;
+}
+.uni-calendar__backtoday.data-v-0682a296 {
+  position: absolute;
+  right: 0;
+  top: 25rpx;
+  padding: 0 5px;
+  padding-left: 10px;
+  height: 25px;
+  line-height: 25px;
+  font-size: 12px;
+  border-top-left-radius: 25px;
+  border-bottom-left-radius: 25px;
+  color: #333;
+  background-color: #f1f1f1;
+}
+.uni-calendar__header-text.data-v-0682a296 {
+  text-align: center;
+  width: 100px;
+  font-size: 14px;
+  color: #333;
+}
+.uni-calendar__header-btn-box.data-v-0682a296 {
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+  justify-content: center;
+  width: 50px;
+  height: 50px;
+}
+.uni-calendar__header-btn.data-v-0682a296 {
+  width: 10px;
+  height: 10px;
+  border-left-color: #808080;
+  border-left-style: solid;
+  border-left-width: 2px;
+  border-top-color: #555555;
+  border-top-style: solid;
+  border-top-width: 2px;
+}
+.uni-calendar--left.data-v-0682a296 {
+  -webkit-transform: rotate(-45deg);
+          transform: rotate(-45deg);
+}
+.uni-calendar--right.data-v-0682a296 {
+  -webkit-transform: rotate(135deg);
+          transform: rotate(135deg);
+}
+.uni-calendar__weeks.data-v-0682a296 {
+  position: relative;
+  display: flex;
+  flex-direction: row;
+}
+.uni-calendar__weeks-item.data-v-0682a296 {
+  flex: 1;
+}
+.uni-calendar__weeks-day.data-v-0682a296 {
+  flex: 1;
+  display: flex;
+  flex-direction: column;
+  justify-content: center;
+  align-items: center;
+  height: 45px;
+  border-bottom-color: #F5F5F5;
+  border-bottom-style: solid;
+  border-bottom-width: 1px;
+}
+.uni-calendar__weeks-day-text.data-v-0682a296 {
+  font-size: 14px;
+}
+.uni-calendar__box.data-v-0682a296 {
+  position: relative;
+}
+.uni-calendar__box-bg.data-v-0682a296 {
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  position: absolute;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+}
+.uni-calendar__box-bg-text.data-v-0682a296 {
+  font-size: 200px;
+  font-weight: bold;
+  color: #999;
+  opacity: 0.1;
+  text-align: center;
+  line-height: 1;
+}
+

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 562 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-popup/components/uni-popup/uni-popup.js


+ 6 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-popup/components/uni-popup/uni-popup.json

@@ -0,0 +1,6 @@
+{
+  "usingComponents": {
+    "uni-transition": "/uni_modules/uni-transition/components/uni-transition/uni-transition"
+  },
+  "component": true
+}

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 1 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-popup/components/uni-popup/uni-popup.wxml


+ 26 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-popup/components/uni-popup/uni-popup.wxss

@@ -0,0 +1,26 @@
+@charset "UTF-8";
+/* 水平间距 */
+/* 水平间距 */
+.uni-popup {
+  position: fixed;
+  z-index: 99;
+}
+.uni-popup.top, .uni-popup.left, .uni-popup.right {
+  top: 0;
+}
+.uni-popup .uni-popup__wrapper {
+  display: block;
+  position: relative;
+  /* iphonex 等安全区设置,底部安全区适配 */
+}
+.uni-popup .uni-popup__wrapper.left, .uni-popup .uni-popup__wrapper.right {
+  padding-top: 0;
+  flex: 1;
+}
+.fixforpc-z-index {
+  z-index: 999;
+}
+.fixforpc-top {
+  top: 0;
+}
+

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 420 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-transition/components/uni-transition/uni-transition.js


+ 4 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-transition/components/uni-transition/uni-transition.json

@@ -0,0 +1,4 @@
+{
+  "usingComponents": {},
+  "component": true
+}

+ 1 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-transition/components/uni-transition/uni-transition.wxml

@@ -0,0 +1 @@
+<block wx:if="{{isShow||onceRender}}"><view hidden="{{!(isShow)}}" class="{{['vue-ref',customClass]}}" style="{{(transformStyles)}}" animation="{{animationData}}" data-ref="ani" data-event-opts="{{[['tap',[['onClick',['$event']]]]]}}" bindtap="__e"><slot></slot></view></block>