Browse Source

促销活动

zhaoxiaohai 2 years ago
parent
commit
f5e7c40cb4

+ 213 - 0
packageA/activity/detail.js

@@ -0,0 +1,213 @@
+const _Http = getApp().globalData.http;
+
+import {
+	fileList
+} from "../../utils/FormatTheAttachment";
+
+Page({
+	data: {
+		loading: true,
+		active: "",
+		list: [],
+		groupList: [],
+		pageNumber: 1,
+		pageTotal: 1,
+	},
+	onLoad(options) {
+		if (options.id) this.setData({
+			sa_promotionid: options.id
+		})
+		this.getDetail();
+	},
+	/* 获取详情 */
+	getDetail() {
+		_Http.basic({
+			"id": "20221230144703",
+			"version": 1,
+			"content": {
+				"sa_promotionid": this.data.sa_promotionid
+			}
+		}).then(res => {
+			if (res.msg != '成功') return wx.showToast({
+				title: res.msg,
+				icon: "none"
+			})
+			this.handleFiles(res.data.attinfos)
+			this.setData({
+				detail: res.data,
+				loading: false
+			});
+			this.getGroup()
+		})
+	},
+	/* 获取组 */
+	getGroup() {
+		_Http.basic({
+			"id": 20230102112303,
+			"version": 1,
+			"content": {
+				"sa_promotionid": this.data.sa_promotionid
+			}
+		}).then(res => {
+			console.log("获取商品分类", res)
+			if (res.msg != '成功') return wx.showToast({
+				title: res.msg,
+				icon: "none"
+			})
+			if (res.data.length != 0) this.setData({
+				groupList: res.data,
+				active: res.data[0].sa_promotion_itemgroupid
+			});
+			if (res.data.length) this.getProductList();
+		})
+	},
+	/* 切换商品tab */
+	tabChange(e) {
+		this.setData({
+			active: e.detail.name,
+			pageNumber: 1,
+			pageTotal: 1
+		});
+		this.getProductList();
+	},
+	/* 获取产品列表 */
+	getProductList() {
+		let pageNumber = this.data.pageNumber,
+			pageTotal = this.data.pageTotal;
+		if (pageNumber > pageTotal) return;
+		_Http.basic({
+			"id": 20230116094803,
+			"version": 1,
+			"content": {
+				sa_promotionid: this.data.sa_promotionid,
+				"sa_promotion_itemgroupid": this.data.active,
+				pageNumber,
+				pageTotal,
+				"where": {
+					"condition": ""
+				}
+			}
+		}).then(res => {
+			console.log('活动产品列表', res)
+			if (res.msg != '成功') return wx.showToast({
+				title: res.msg,
+				icon: "none"
+			})
+			res.data = res.data.map(value => {
+				if (value.attinfos.length != 0) {
+					value.attinfos = fileList(value.attinfos)
+					let image = value.attinfos.find(v => v.fileType == "image");
+					value.cover = image ? image.cover : "";
+				}
+				return value;
+			})
+			this.setData({
+				list: res.pageNumber == 1 ? res.data : this.data.list.concat(res.data),
+				pageNumber: res.pageNumber + 1,
+				pageTotal: res.pageTotal
+			})
+		})
+	},
+	/* 预览图片 */
+	viewImage(e) {
+		const {
+			file
+		} = e.currentTarget.dataset;
+		if (file.length) wx.previewMedia({
+			sources: file.filter(value => ['image', 'vadio'].includes(value.fileType)).map(v => {
+				return {
+					url: v.url,
+					type: v.fileType
+				}
+			}),
+			current: 0,
+			showmenu: true
+		})
+	},
+	/* 预览媒体 */
+	viewMedias(e) {
+		const {
+			index,
+			type
+		} = e.currentTarget.dataset;
+		wx.previewMedia({
+			current: index,
+			sources: type == 'image' ? this.data.files.viewImages : this.data.files.viewVideos,
+		})
+	},
+	/* 处理附件 */
+	handleFiles(arr) {
+		let files = {
+				images: [],
+				viewImages: [],
+				videos: [],
+				viewVideos: [],
+				files: []
+			},
+			list = fileList(arr);
+		list.forEach(v => {
+			switch (v.fileType) {
+				case "video":
+					files.videos.push(v)
+					files.viewVideos.push({
+						url: v.url,
+						type: "video",
+						poster: v.subfiles[0].url
+					})
+					break;
+				case "image":
+					files.images.push(v)
+					files.viewImages.push({
+						url: v.url,
+						type: "image"
+					})
+					break;
+				default:
+					files.files.push(v)
+					break;
+			}
+		});
+		this.setData({
+			files
+		})
+	},
+	/* 去下单 */
+	clickBut() {
+		let that = this;
+		wx.showModal({
+			title: '提示',
+			content: '是否确定创建促销订单?',
+			complete: (res) => {
+				if (res.confirm) _Http.basic({
+					"id": 20221108111402,
+					content: {
+						sa_orderid: 0,
+						sa_accountclassid: that.data.detail.sa_accountclassid,
+						rec_contactsid: 0,
+						pay_enterpriseid: 0,
+						sa_contractid: 0,
+						sa_projectid: 0,
+						sa_promotionid: that.data.detail.sa_promotionid,
+						"sa_brandid": that.data.detail.sa_brandid, //品牌ID
+						"type": "促销订单", //订单类型
+						"tradefield": that.data.detail.tradefield, //必选
+					}
+				}).then(res => {
+					console.log("创建促销订单", res);
+					wx.showToast({
+						title: res.msg != '成功' ? res.msg : '创建成功',
+						icon: "none"
+					});
+					if (res.msg == '成功') setTimeout(() => {
+						wx.navigateTo({
+							url: '/packageA/orderForm/detail?id=' + res.data.sa_orderid,
+						});
+					}, 500)
+				})
+			}
+		})
+	},
+	onReachBottom() {
+		this.getProductList();
+	}
+})

+ 3 - 0
packageA/activity/detail.json

@@ -0,0 +1,3 @@
+{
+  "usingComponents": {}
+}

+ 176 - 0
packageA/activity/detail.scss

@@ -0,0 +1,176 @@
+@import "./detail.skeleton.wxss";
+swiper {
+	width: 100vw;
+	height: 380rpx;
+
+	swiper-item {
+		width: 100%;
+		height: 100%;
+	}
+}
+
+.intr {
+	padding: 20rpx 30rpx;
+	background-color: #fff;
+
+	.title {
+		line-height: 42rpx;
+		font-size: 30rpx;
+		font-family: PingFang SC-Semibold, PingFang SC;
+		font-weight: 600;
+		color: #333333;
+		word-break: break-all;
+
+	}
+
+	.tags {
+		text {
+			display: inline-block;
+			height: 36rpx;
+			line-height: 36rpx;
+			padding: 0 15rpx;
+			background: #E7EEFF;
+			border-radius: 22rpx;
+			font-size: 20rpx;
+			color: #3874F6;
+			margin-right: 8rpx;
+			font-weight: 600;
+		}
+
+		margin-bottom: 15rpx;
+	}
+
+	.exp {
+		line-height: 34rpx;
+		font-size: 24rpx;
+		color: #999999;
+		margin-top: 8rpx;
+	}
+
+}
+
+.product-list {
+	width: 100vw;
+	background-color: #fff;
+	padding: 0 0 20rpx 30rpx;
+	box-sizing: border-box;
+	margin-top: 20rpx;
+
+	.label {
+		height: 90rpx;
+		line-height: 90rpx;
+		font-size: 28rpx;
+		font-weight: 600;
+		color: #333333;
+		width: 100%;
+		border-bottom: 1rpx solid #ddd;
+	}
+
+}
+
+.setclient-list-item {
+	background-color: #FFFFFF;
+	box-sizing: border-box;
+	border-top: 1rpx solid #DDDDDD;
+	width: 100%;
+
+	.mian {
+		display: flex;
+		align-items: center;
+		width: 100%;
+		box-sizing: border-box;
+		padding: 20rpx 0;
+
+		.img {
+			flex-shrink: 0;
+			width: 128rpx;
+			height: 128rpx;
+			border-radius: 16rpx;
+			margin-right: 30rpx;
+			overflow: hidden;
+
+			.err {
+				display: flex;
+				width: 100%;
+				height: 100%;
+				align-items: center;
+				justify-content: center;
+				font-size: 22rpx;
+				border: 1px solid #ddd;
+				box-sizing: border-box;
+				color: #666;
+			}
+		}
+
+		.dec {
+			flex: 1;
+			width: 0;
+			min-height: 128rpx;
+			height: 100%;
+			font-size: 24rpx;
+			font-family: PingFang SC-Regular, PingFang SC;
+			color: #999999;
+
+			.title {
+				height: 40rpx;
+				line-height: 40rpx;
+				font-size: 28rpx;
+				font-family: PingFang SC-Semibold, PingFang SC;
+				font-weight: 600;
+				color: #333333;
+			}
+
+			.subfield {
+				margin-top: 6rpx;
+				height: 34rpx;
+				line-height: 34rpx;
+
+
+				text {
+					display: inline-block;
+					max-width: 250rpx;
+					min-width: 150rpx;
+				}
+			}
+
+			.price {
+				height: 40rpx;
+				line-height: 40rpx;
+				margin-top: 8rpx;
+
+				.num {
+					font-size: 28rpx;
+					color: #FF3B30;
+					font-weight: 600;
+				}
+
+				text {
+					color: #333333;
+				}
+			}
+		}
+	}
+}
+
+
+.footer {
+	display: flex;
+	justify-content: center;
+	position: fixed;
+	bottom: 0;
+	width: 100vw;
+	min-height: 130rpx;
+	background-color: #fff;
+	box-shadow: rgba(0, 0, 0, 0.15) 0px 5rpx 15rpx 0px;
+
+	.but {
+		width: 690rpx;
+		height: 90rpx;
+		background: #FA8C16;
+		border-radius: 16rpx;
+		font-size: 28rpx;
+		font-weight: 600;
+		color: #FFFFFF;
+		margin-top: 10rpx;
+	}
+}

+ 152 - 0
packageA/activity/detail.skeleton.wxml

@@ -0,0 +1,152 @@
+<!--
+此文件为开发者工具生成,生成时间: 2023/1/16上午10:32:27
+使用方法:
+在 E:\云链项目\e-wechat\packageA\activity\detail.wxml 引入模板
+
+```
+<import src="detail.skeleton.wxml"/>
+<template is="skeleton" wx:if="{{loading}}" />
+```
+
+在 E:\云链项目\e-wechat\packageA\activity\detail.wxss 中引入样式
+```
+@import "./detail.skeleton.wxss";
+```
+
+更多详细信息可以参考文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/skeleton.html
+-->
+<template name="skeleton">
+  <view class="sk-container">
+    <swiper circular="true" indicator-dots="true" indicator-active-color="#333" current="0" autoplay="false">
+      <swiper-item data-index="0" data-type="image" style="position: absolute; width: 100%; height: 100%; transform: translate(0%, 0px) translateZ(0px);">
+        <view is="miniprogram_npm/@vant/weapp/image/index">
+          <view class=" van-image image-index--van-image" style="width:100vw;height:232px">
+            <image class="van-image__img image-index--van-image__img sk-image" mode="aspectFill" lazy-load="true"></image>
+          </view>
+        </view>
+      </swiper-item>
+    </swiper>
+    <view class="intr">
+      <view class="title sk-transparent sk-text-14-2857-923 sk-text">
+        1111
+      </view>
+      <view class="tags">
+        <text class="sk-transparent sk-text-22-2222-317 sk-text">打包促销</text>
+        <text class="sk-transparent sk-text-22-2222-709 sk-text">班尼戈</text>
+        <text class="sk-transparent sk-text-22-2222-31 sk-text">燃气</text>
+      </view>
+      <view class="exp sk-transparent sk-text-14-7059-184 sk-text">活动周期:2023-01-10 00:00:00</view>
+      <view class="exp sk-transparent sk-text-14-7059-287 sk-text">结束时间:2023-01-19 00:00:00</view>
+      <view class="exp sk-transparent sk-text-14-7059-24 sk-text">活动说明: --</view>
+    </view>
+    <view class="product-list">
+      <view class="label sk-transparent sk-text-34-4444-671 sk-text">
+        商品列表
+      </view>
+      <navigator class="setclient-list-item" data-file="[object Object]">
+        <view class="mian">
+          <view class="img">
+            <view is="miniprogram_npm/@vant/weapp/image/index">
+              <view class=" van-image image-index--van-image" style="width:100%;height:100%">
+                <image class="van-image__img image-index--van-image__img sk-image" mode="scaleToFill" lazy-load="true"></image>
+              </view>
+            </view>
+          </view>
+          <view class="dec">
+            <view class="title line-1 sk-transparent sk-text-15-0000-74 sk-text">
+              铜本色等径直通
+            </view>
+            <view class="subfield line-1 sk-transparent sk-text-14-7059-396 sk-text">
+              产品编号:BM8270 0150000
+            </view>
+            <view class="subfield line-1">
+              <text style="margin-right: 7px;" class="sk-transparent sk-text-14-7059-91 sk-text">型号:BM8270</text>
+              <text class="sk-transparent sk-text-14-7059-457 sk-text">规格:44*71</text>
+            </view>
+            <view class="price line-1 sk-transparent">
+              价格:
+              <text class="num sk-transparent sk-text-15-0000-135 sk-text">¥2.56元</text>
+              <text style="text-decoration: line-through transparent; color: rgb(153, 153, 153);" class="sk-transparent sk-text-20-0000-572 sk-text">/800.02元</text>
+            </view>
+          </view>
+        </view>
+      </navigator>
+      <navigator class="setclient-list-item" data-file="[object Object]">
+        <view class="mian">
+          <view class="img">
+            <view is="miniprogram_npm/@vant/weapp/image/index">
+              <view class=" van-image image-index--van-image" style="width:100%;height:100%">
+                <image class="van-image__img image-index--van-image__img sk-image" mode="scaleToFill" lazy-load="true"></image>
+              </view>
+            </view>
+          </view>
+          <view class="dec">
+            <view class="title line-1 sk-transparent sk-text-15-0000-36 sk-text">
+              铜本色等径直通
+            </view>
+            <view class="subfield line-1 sk-transparent sk-text-14-7059-887 sk-text">
+              产品编号:BM8270 0150000
+            </view>
+            <view class="subfield line-1">
+              <text style="margin-right: 7px;" class="sk-transparent sk-text-14-7059-309 sk-text">型号:BM8270</text>
+              <text class="sk-transparent sk-text-14-7059-914 sk-text">规格:44*71</text>
+            </view>
+            <view class="price line-1 sk-transparent">
+              价格:
+              <text class="num sk-transparent sk-text-15-0000-305 sk-text">¥25.60064元</text>
+              <text style="text-decoration: line-through transparent; color: rgb(153, 153, 153);" class="sk-transparent sk-text-20-0000-21 sk-text">/800.02元</text>
+            </view>
+          </view>
+        </view>
+      </navigator>
+      <navigator class="setclient-list-item" data-file="[object Object],[object Object]">
+        <view class="mian">
+          <view class="img">
+            <view is="miniprogram_npm/@vant/weapp/image/index">
+              <view class=" van-image image-index--van-image" style="width:100%;height:100%">
+                <image class="van-image__img image-index--van-image__img sk-image" mode="scaleToFill" lazy-load="true"></image>
+              </view>
+            </view>
+          </view>
+          <view class="dec">
+            <view class="title line-1 sk-transparent sk-text-15-0000-482 sk-text">
+              暖通复合管
+            </view>
+            <view class="subfield line-1 sk-transparent sk-text-14-7059-312 sk-text">
+              产品编号:NBNTO-28571530003
+            </view>
+            <view class="subfield line-1">
+              <text style="margin-right: 7px;" class="sk-transparent sk-text-14-7059-887 sk-text">型号:DN20</text>
+              <text class="sk-transparent sk-text-14-7059-152 sk-text">规格:22 * 1.5</text>
+            </view>
+            <view class="price line-1 sk-transparent">
+              价格:
+              <text class="num sk-transparent sk-text-15-0000-145 sk-text">¥90.036元</text>
+              <text style="text-decoration: line-through transparent; color: rgb(153, 153, 153);" class="sk-transparent sk-text-20-0000-538 sk-text">/900.36元</text>
+            </view>
+          </view>
+        </view>
+      </navigator>
+      <navigator class="setclient-list-item" data-file="[object Object]">
+        <view class="mian">
+          <view class="img">
+            <view is="miniprogram_npm/@vant/weapp/image/index"></view>
+          </view>
+          <view class="dec">
+            <view class="title line-1 sk-transparent sk-text-15-0000-79 sk-text">
+              铜本色等径直通
+            </view>
+          </view>
+        </view>
+      </navigator>
+    </view>
+    <view class="footer">
+      <view is="miniprogram_npm/@vant/weapp/button/index">
+        <button app-parameter="true" business-id="true" class="but van-button button-index--van-button van-button--default button-index--van-button--default van-button--normal button-index--van-button--normal sk-button sk-pseudo sk-pseudo-circle" data-detail="null"
+          form-type="true" hover-class="van-button--active hover-class" lang="true" open-type="true" send-message-img="true" send-message-path="true" send-message-title="true" session-from="true" style="true">
+          <view class="van-button__text button-index--van-button__text sk-transparent sk-text-15-0000-203 sk-text" style="background-position-x: 50%;">去下单</view>
+        </button>
+      </view>
+    </view>
+  </view>
+</template>

+ 185 - 0
packageA/activity/detail.skeleton.wxss

@@ -0,0 +1,185 @@
+/*
+此文件为开发者工具生成,生成时间: 2023/1/16上午10:32:27
+
+在 E:\云链项目\e-wechat\packageA\activity\detail.wxss 中引入样式
+```
+@import "./detail.skeleton.wxss";
+```
+
+更多详细信息可以参考文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/skeleton.html
+*/
+.sk-transparent {
+    color: transparent !important;
+  }
+.sk-text-14-2857-923 {
+    background-image: linear-gradient(transparent 14.2857%, #EEEEEE 0%, #EEEEEE 85.7143%, transparent 0%) !important;
+    background-size: 100% 42.0000rpx;
+    position: relative !important;
+  }
+.sk-text {
+    background-origin: content-box !important;
+    background-clip: content-box !important;
+    background-color: transparent !important;
+    color: transparent !important;
+    background-repeat: repeat-y !important;
+  }
+.sk-text-22-2222-317 {
+    background-image: linear-gradient(transparent 22.2222%, #EEEEEE 0%, #EEEEEE 77.7778%, transparent 0%) !important;
+    background-size: 100% 36.0000rpx;
+    position: relative !important;
+  }
+.sk-text-22-2222-709 {
+    background-image: linear-gradient(transparent 22.2222%, #EEEEEE 0%, #EEEEEE 77.7778%, transparent 0%) !important;
+    background-size: 100% 36.0000rpx;
+    position: relative !important;
+  }
+.sk-text-22-2222-31 {
+    background-image: linear-gradient(transparent 22.2222%, #EEEEEE 0%, #EEEEEE 77.7778%, transparent 0%) !important;
+    background-size: 100% 36.0000rpx;
+    position: relative !important;
+  }
+.sk-text-14-7059-184 {
+    background-image: linear-gradient(transparent 14.7059%, #EEEEEE 0%, #EEEEEE 85.2941%, transparent 0%) !important;
+    background-size: 100% 34.0000rpx;
+    position: relative !important;
+  }
+.sk-text-14-7059-287 {
+    background-image: linear-gradient(transparent 14.7059%, #EEEEEE 0%, #EEEEEE 85.2941%, transparent 0%) !important;
+    background-size: 100% 34.0000rpx;
+    position: relative !important;
+  }
+.sk-text-14-7059-24 {
+    background-image: linear-gradient(transparent 14.7059%, #EEEEEE 0%, #EEEEEE 85.2941%, transparent 0%) !important;
+    background-size: 100% 34.0000rpx;
+    position: relative !important;
+  }
+.sk-text-34-4444-671 {
+    background-image: linear-gradient(transparent 34.4444%, #EEEEEE 0%, #EEEEEE 65.5556%, transparent 0%) !important;
+    background-size: 100% 90.0000rpx;
+    position: relative !important;
+  }
+.sk-text-15-0000-74 {
+    background-image: linear-gradient(transparent 15.0000%, #EEEEEE 0%, #EEEEEE 85.0000%, transparent 0%) !important;
+    background-size: 100% 40.0000rpx;
+    position: relative !important;
+  }
+.sk-text-14-7059-396 {
+    background-image: linear-gradient(transparent 14.7059%, #EEEEEE 0%, #EEEEEE 85.2941%, transparent 0%) !important;
+    background-size: 100% 34.0000rpx;
+    position: relative !important;
+  }
+.sk-text-14-7059-91 {
+    background-image: linear-gradient(transparent 14.7059%, #EEEEEE 0%, #EEEEEE 85.2941%, transparent 0%) !important;
+    background-size: 100% 34.0000rpx;
+    position: relative !important;
+  }
+.sk-text-14-7059-457 {
+    background-image: linear-gradient(transparent 14.7059%, #EEEEEE 0%, #EEEEEE 85.2941%, transparent 0%) !important;
+    background-size: 100% 34.0000rpx;
+    position: relative !important;
+  }
+.sk-text-15-0000-135 {
+    background-image: linear-gradient(transparent 15.0000%, #EEEEEE 0%, #EEEEEE 85.0000%, transparent 0%) !important;
+    background-size: 100% 40.0000rpx;
+    position: relative !important;
+  }
+.sk-text-20-0000-572 {
+    background-image: linear-gradient(transparent 20.0000%, #EEEEEE 0%, #EEEEEE 80.0000%, transparent 0%) !important;
+    background-size: 100% 40.0000rpx;
+    position: relative !important;
+  }
+.sk-text-15-0000-36 {
+    background-image: linear-gradient(transparent 15.0000%, #EEEEEE 0%, #EEEEEE 85.0000%, transparent 0%) !important;
+    background-size: 100% 40.0000rpx;
+    position: relative !important;
+  }
+.sk-text-14-7059-887 {
+    background-image: linear-gradient(transparent 14.7059%, #EEEEEE 0%, #EEEEEE 85.2941%, transparent 0%) !important;
+    background-size: 100% 34.0000rpx;
+    position: relative !important;
+  }
+.sk-text-14-7059-309 {
+    background-image: linear-gradient(transparent 14.7059%, #EEEEEE 0%, #EEEEEE 85.2941%, transparent 0%) !important;
+    background-size: 100% 34.0000rpx;
+    position: relative !important;
+  }
+.sk-text-14-7059-914 {
+    background-image: linear-gradient(transparent 14.7059%, #EEEEEE 0%, #EEEEEE 85.2941%, transparent 0%) !important;
+    background-size: 100% 34.0000rpx;
+    position: relative !important;
+  }
+.sk-text-15-0000-305 {
+    background-image: linear-gradient(transparent 15.0000%, #EEEEEE 0%, #EEEEEE 85.0000%, transparent 0%) !important;
+    background-size: 100% 40.0000rpx;
+    position: relative !important;
+  }
+.sk-text-20-0000-21 {
+    background-image: linear-gradient(transparent 20.0000%, #EEEEEE 0%, #EEEEEE 80.0000%, transparent 0%) !important;
+    background-size: 100% 40.0000rpx;
+    position: relative !important;
+  }
+.sk-text-15-0000-482 {
+    background-image: linear-gradient(transparent 15.0000%, #EEEEEE 0%, #EEEEEE 85.0000%, transparent 0%) !important;
+    background-size: 100% 40.0000rpx;
+    position: relative !important;
+  }
+.sk-text-14-7059-312 {
+    background-image: linear-gradient(transparent 14.7059%, #EEEEEE 0%, #EEEEEE 85.2941%, transparent 0%) !important;
+    background-size: 100% 34.0000rpx;
+    position: relative !important;
+  }
+.sk-text-14-7059-152 {
+    background-image: linear-gradient(transparent 14.7059%, #EEEEEE 0%, #EEEEEE 85.2941%, transparent 0%) !important;
+    background-size: 100% 34.0000rpx;
+    position: relative !important;
+  }
+.sk-text-15-0000-145 {
+    background-image: linear-gradient(transparent 15.0000%, #EEEEEE 0%, #EEEEEE 85.0000%, transparent 0%) !important;
+    background-size: 100% 40.0000rpx;
+    position: relative !important;
+  }
+.sk-text-20-0000-538 {
+    background-image: linear-gradient(transparent 20.0000%, #EEEEEE 0%, #EEEEEE 80.0000%, transparent 0%) !important;
+    background-size: 100% 40.0000rpx;
+    position: relative !important;
+  }
+.sk-text-15-0000-79 {
+    background-image: linear-gradient(transparent 15.0000%, #EEEEEE 0%, #EEEEEE 85.0000%, transparent 0%) !important;
+    background-size: 100% 40.0000rpx;
+    position: relative !important;
+  }
+.sk-text-15-0000-203 {
+    background-image: linear-gradient(transparent 15.0000%, #EEEEEE 0%, #EEEEEE 85.0000%, transparent 0%) !important;
+    background-size: 100% 40.0000rpx;
+    position: relative !important;
+  }
+.sk-button {
+    color: #EFEFEF !important;
+    background: #EFEFEF !important;
+    border: none !important;
+    box-shadow: none !important;
+  }
+.sk-image {
+    background: #EFEFEF !important;
+  }
+.sk-pseudo::before, .sk-pseudo::after {
+      background: #EFEFEF !important;
+      background-image: none !important;
+      color: transparent !important;
+      border-color: transparent !important;
+    }
+.sk-pseudo-rect::before, .sk-pseudo-rect::after {
+      border-radius: 0 !important;
+    }
+.sk-pseudo-circle::before, .sk-pseudo-circle::after {
+      border-radius: 50% !important;
+    }
+.sk-container {
+    position: absolute;
+    left: 0;
+    top: 0;
+    width: 100%;
+    height: 100%;
+    overflow: hidden;
+    background-color: transparent;
+  }

+ 71 - 0
packageA/activity/detail.wxml

@@ -0,0 +1,71 @@
+<import src="detail.skeleton.wxml"/>
+<template is="skeleton" wx:if="{{loading}}" />
+
+<!-- 轮播图 -->
+<swiper indicator-dots circular indicator-active-color='#333' wx:if="{{files.images.length!=0}}">
+	<swiper-item wx:for="{{files.images}}" wx:key="item.attachmentid" data-index="{{index}}" data-type='image' bindtap="viewMedias">
+		<van-image width="100vw" height="464rpx" fit="cover" src="{{item.cover}}" use-loading-slot use-error-slot lazy-load>
+			<van-loading slot="loading" type="spinner" size="20" vertical />
+			<text slot="error">加载失败</text>
+		</van-image>
+	</swiper-item>
+</swiper>
+
+<!-- 介绍 -->
+<view class="intr">
+	<view class="title">
+		{{detail.promname}}
+	</view>
+	<view class="tags">
+		<text wx:if="{{detail.type}}">{{detail.type}}</text>
+		<text wx:if="{{detail.brandname}}">{{detail.brandname}}</text>
+		<text wx:if="{{detail.tradefield}}">{{detail.tradefield}}</text>
+	</view>
+	<view class="exp">活动周期:{{detail.begdate || ' --'}}</view>
+	<view class="exp">结束时间:{{detail.enddate || ' --'}}</view>
+	<view class="exp">活动说明:{{detail.remarks || ' --'}}</view>
+</view>
+
+<view class="product-list">
+	<view class="label" wx:if="{{groupList.length<=1}}">
+		商品列表
+	</view>
+	<van-tabs wx:else active="{{ active }}" title-active-color='var(--assist)' color='var(--assist)' bind:change='tabChange'>
+		<van-tab wx:for="{{groupList}}" wx:key="sa_promotion_itemgroupid" name='{{item.sa_promotion_itemgroupid}}' title="{{item.groupname}}" />
+	</van-tabs>
+	<navigator class="setclient-list-item" url="#" wx:for="{{list}}" data-file="{{item.attinfos}}" catchtap="viewImage" wx:key="itemno">
+		<view class="mian">
+			<view class="img">
+				<van-image width="100%" height="100%" wx:if="{{item.cover}}" src="{{item.cover}}" use-loading-slot use-error-slot lazy-load>
+					<van-loading slot="loading" type="spinner" size="20" vertical />
+					<text slot="error" style="font-size: 24rpx;">暂无图片</text>
+				</van-image>
+				<text wx:else class="err">暂无图片</text>
+			</view>
+			<view class="dec">
+				<view class="title line-1">
+					{{item.itemname}}
+				</view>
+				<view class="subfield line-1">
+					产品编号:{{item.itemno||' --'}}
+				</view>
+				<view class="subfield line-1">
+					<text style="margin-right: 15rpx;">型号:{{item.model||' --'}}</text>
+					<text>规格:{{item.spec||' --'}}</text>
+				</view>
+				<view class="price line-1">
+					价格:<text class="num">¥{{item.gradeprice || item.price}}元</text><text wx:if="{{item.gradeprice<item.oldprice ||item.price<item.oldprice}}" style="text-decoration:line-through; color:#999;">/{{item.oldprice}}元</text>
+				</view>
+			</view>
+		</view>
+	</navigator>
+
+	<view wx:if="{{list.length==0}}" style="margin-left: -30rpx; padding-bottom: 150rpx;">
+		<Yl_Empty />
+	</view>
+</view>
+
+<view style="height: 150rpx;" />
+<view class="footer">
+	<van-button custom-class='but' bindtap="clickBut">去下单</van-button>
+</view>

+ 62 - 0
packageA/activity/index.js

@@ -0,0 +1,62 @@
+const _Http = getApp().globalData.http;
+
+Page({
+	data: {
+		loading: true,
+		"content": {
+			"version": 1,
+			nocache: true,
+			"pageNumber": 1,
+			"pageTotal": 1,
+			"where": {
+				"condition": ""
+			},
+			sort: []
+		}
+	},
+	onLoad(options) {
+		this.getList()
+	},
+	/* 处理筛选 */
+	handleFilter({
+		detail
+	}) {
+		console.log(detail)
+	},
+	getList(init = false) {
+		if (init.detail != undefined) init = init.detail;
+		let content = this.data.content;
+		if (init) content.pageNumber = 1;
+		if (content.pageNumber > content.pageTotal) return;
+		_Http.basic({
+			"id": 20220103140003,
+			content
+		}).then(res => {
+			console.log("活动列表", res)
+			this.selectComponent('#ListBox').RefreshToComplete();
+			this.setData({
+				list: res.data,
+				"content.pageNumber": res.pageNumber + 1,
+				"content.pageTotal": res.pageTotal,
+				"content.sort": res.sort,
+				loading: false
+			})
+		})
+	},
+	/* 搜索 */
+	onSearch({
+		detail
+	}) {
+		this.setData({
+			"content.where.condition": detail
+		});
+		this.getList(true)
+	},
+	onReady() {
+		this.setListHeight()
+	},
+	/* 设置页面高度 */
+	setListHeight() {
+		this.selectComponent("#ListBox").setHeight(".division", this);
+	},
+})

+ 5 - 0
packageA/activity/index.json

@@ -0,0 +1,5 @@
+{
+  "usingComponents": {
+    "List": "./modules/list/index"
+	}
+}

+ 1 - 0
packageA/activity/index.scss

@@ -0,0 +1 @@
+@import "./index.skeleton.wxss";

+ 122 - 0
packageA/activity/index.skeleton.wxml

@@ -0,0 +1,122 @@
+<!--
+此文件为开发者工具生成,生成时间: 2023/1/16上午10:31:00
+使用方法:
+在 E:\云链项目\e-wechat\packageA\activity\index.wxml 引入模板
+
+```
+<import src="index.skeleton.wxml"/>
+<template is="skeleton" wx:if="{{loading}}" />
+```
+
+在 E:\云链项目\e-wechat\packageA\activity\index.wxss 中引入样式
+```
+@import "./index.skeleton.wxss";
+```
+
+更多详细信息可以参考文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/skeleton.html
+-->
+<template name="skeleton">
+  <view class="sk-container">
+    <view is="components/Yl_HeadNav/index">
+      <view class="Yl_head_1 HeadNav-index--Yl_head_1">
+        <view class="search HeadNav-index--search">
+          <view class="iconfont HeadNav-index--iconfont icon-a-sousuolansousuo HeadNav-index--icon-a-sousuolansousuo sk-pseudo sk-pseudo-circle" style="padding-left:10px;margin-right: 5px;"></view>
+          <view class="input HeadNav-index--input sk-image" placeholder="搜索活动" style="flex: 1;" type="text" value="true"></view>
+        </view>
+        <navigator class="but HeadNav-index--but sk-transparent" data-id="sort">
+          <text class="iconfont HeadNav-index--iconfont icon-shengxu HeadNav-index--icon-shengxu sk-pseudo sk-pseudo-circle"></text>排序</navigator>
+        <navigator class="but HeadNav-index--but sk-transparent" data-id="filtrate">
+          <text class="iconfont HeadNav-index--iconfont icon-shaixuan HeadNav-index--icon-shaixuan sk-pseudo sk-pseudo-circle"></text>筛选</navigator>
+      </view>
+      <view is="miniprogram_npm/@vant/weapp/transition/index"></view>
+      <view is="miniprogram_npm/@vant/weapp/popup/index">
+        <view is="miniprogram_npm/@vant/weapp/overlay/index">
+          <view is="miniprogram_npm/@vant/weapp/transition/index"></view>
+        </view>
+      </view>
+    </view>
+    <view class="division"></view>
+    <view is="components/Yl_ListBox/index" id="ListBox">
+      <scroll-view scroll-y="true" class="ListBox-index--scroll-view" refresher-enabled="true" style="height: 674px;">
+        <view is="packageA/activity/modules/list/index">
+          <navigator class="list-index--product">
+            <view class="list-index--image-box">
+              <view is="miniprogram_npm/@vant/weapp/image/index">
+                <view class=" van-image image-index--van-image" style="width:100%;height:100%">
+                  <image class="van-image__img image-index--van-image__img sk-image" mode="aspectFill" lazy-load="true"></image>
+                </view>
+              </view>
+            </view>
+            <view class="list-index--right-box">
+              <view class="list-index--title list-index--line-1 sk-transparent sk-text-15-0000-391 sk-text">1111</view>
+              <view class="list-index--tags">
+                <view style="background: #FA8C16;" class="sk-transparent sk-text-18-7500-604 sk-text">
+                  打包促销
+                </view>
+                <view style="background: #FA8C16;" class="sk-transparent sk-text-18-7500-311 sk-text">
+                  班尼戈
+                </view>
+                <view style="background: #FA8C16;" class="sk-transparent sk-text-18-7500-991 sk-text">
+                  燃气
+                </view>
+              </view>
+              <view class="list-index--type list-index--line-1 sk-transparent sk-text-14-7059-396 sk-text">开始时间:2023-01-10 00:00:00</view>
+              <view class="list-index--type list-index--line-1 sk-transparent sk-text-14-7059-364 sk-text">结束时间:2023-01-19 00:00:00</view>
+            </view>
+          </navigator>
+          <navigator class="list-index--product">
+            <view class="list-index--image-box">
+              <view is="miniprogram_npm/@vant/weapp/image/index">
+                <view class=" van-image image-index--van-image" style="width:100%;height:100%">
+                  <image class="van-image__img image-index--van-image__img sk-image" mode="aspectFill" lazy-load="true"></image>
+                </view>
+              </view>
+            </view>
+            <view class="list-index--right-box">
+              <view class="list-index--title list-index--line-1 sk-transparent sk-text-15-0000-235 sk-text">1</view>
+              <view class="list-index--tags">
+                <view style="background: #FA8C16;" class="sk-transparent sk-text-18-7500-330 sk-text">
+                  普通促销
+                </view>
+                <view style="background: #FA8C16;" class="sk-transparent sk-text-18-7500-880 sk-text">
+                  班尼戈
+                </view>
+                <view style="background: #FA8C16;" class="sk-transparent sk-text-18-7500-88 sk-text">
+                  燃气
+                </view>
+              </view>
+              <view class="list-index--type list-index--line-1 sk-transparent sk-text-14-7059-549 sk-text">开始时间:2023-01-10 00:00:00</view>
+              <view class="list-index--type list-index--line-1 sk-transparent sk-text-14-7059-816 sk-text">结束时间:2023-01-19 00:00:00</view>
+            </view>
+          </navigator>
+          <navigator class="list-index--product">
+            <view class="list-index--image-box">
+              <view is="miniprogram_npm/@vant/weapp/image/index">
+                <view class=" van-image image-index--van-image" style="width:100%;height:100%">
+                  <image class="van-image__img image-index--van-image__img sk-image" mode="aspectFill" lazy-load="true"></image>
+                </view>
+              </view>
+            </view>
+            <view class="list-index--right-box">
+              <view class="list-index--title list-index--line-1 sk-transparent sk-text-15-0000-244 sk-text">测试方案2</view>
+              <view class="list-index--tags">
+                <view style="background: #FA8C16;" class="sk-transparent sk-text-18-7500-297 sk-text">
+                  普通促销
+                </view>
+                <view style="background: #FA8C16;" class="sk-transparent sk-text-18-7500-260 sk-text">
+                  班尼戈
+                </view>
+                <view style="background: #FA8C16;" class="sk-transparent sk-text-18-7500-250 sk-text">
+                  燃气
+                </view>
+              </view>
+              <view class="list-index--type list-index--line-1 sk-transparent sk-text-14-7059-272 sk-text">开始时间:2023-01-10 00:00:00</view>
+              <view class="list-index--type list-index--line-1 sk-transparent sk-text-14-7059-688 sk-text">结束时间:2023-01-19 00:00:00</view>
+            </view>
+          </navigator>
+        </view>
+        <view class="ListBox-index--safety"></view>
+      </scroll-view>
+    </view>
+  </view>
+</template>

+ 204 - 0
packageA/activity/index.skeleton.wxss

@@ -0,0 +1,204 @@
+/*
+此文件为开发者工具生成,生成时间: 2023/1/16上午10:31:00
+
+在 E:\云链项目\e-wechat\packageA\activity\index.wxss 中引入样式
+```
+@import "./index.skeleton.wxss";
+```
+
+更多详细信息可以参考文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/skeleton.html
+*/
+.sk-transparent {
+    color: transparent !important;
+  }
+.sk-text-43-0233-84 {
+    background-image: linear-gradient(transparent 43.0233%, #EEEEEE 0%, #EEEEEE 56.9767%, transparent 0%) !important;
+    background-size: 100% 172.0000rpx;
+    position: relative !important;
+  }
+.sk-text {
+    background-origin: content-box !important;
+    background-clip: content-box !important;
+    background-color: transparent !important;
+    color: transparent !important;
+    background-repeat: repeat-y !important;
+  }
+.sk-text-15-0000-20 {
+    background-image: linear-gradient(transparent 15.0000%, #EEEEEE 0%, #EEEEEE 85.0000%, transparent 0%) !important;
+    background-size: 100% 40.0000rpx;
+    position: relative !important;
+  }
+.sk-text-18-7500-63 {
+    background-image: linear-gradient(transparent 18.7500%, #EEEEEE 0%, #EEEEEE 81.2500%, transparent 0%) !important;
+    background-size: 100% 32.0000rpx;
+    position: relative !important;
+  }
+.sk-text-18-7500-559 {
+    background-image: linear-gradient(transparent 18.7500%, #EEEEEE 0%, #EEEEEE 81.2500%, transparent 0%) !important;
+    background-size: 100% 32.0000rpx;
+    position: relative !important;
+  }
+.sk-text-18-7500-728 {
+    background-image: linear-gradient(transparent 18.7500%, #EEEEEE 0%, #EEEEEE 81.2500%, transparent 0%) !important;
+    background-size: 100% 32.0000rpx;
+    position: relative !important;
+  }
+.sk-text-14-7059-921 {
+    background-image: linear-gradient(transparent 14.7059%, #EEEEEE 0%, #EEEEEE 85.2941%, transparent 0%) !important;
+    background-size: 100% 34.0000rpx;
+    position: relative !important;
+  }
+.sk-text-14-7059-142 {
+    background-image: linear-gradient(transparent 14.7059%, #EEEEEE 0%, #EEEEEE 85.2941%, transparent 0%) !important;
+    background-size: 100% 34.0000rpx;
+    position: relative !important;
+  }
+.sk-text-43-0233-768 {
+    background-image: linear-gradient(transparent 43.0233%, #EEEEEE 0%, #EEEEEE 56.9767%, transparent 0%) !important;
+    background-size: 100% 172.0000rpx;
+    position: relative !important;
+  }
+.sk-text-15-0000-272 {
+    background-image: linear-gradient(transparent 15.0000%, #EEEEEE 0%, #EEEEEE 85.0000%, transparent 0%) !important;
+    background-size: 100% 40.0000rpx;
+    position: relative !important;
+  }
+.sk-text-18-7500-585 {
+    background-image: linear-gradient(transparent 18.7500%, #EEEEEE 0%, #EEEEEE 81.2500%, transparent 0%) !important;
+    background-size: 100% 32.0000rpx;
+    position: relative !important;
+  }
+.sk-text-18-7500-173 {
+    background-image: linear-gradient(transparent 18.7500%, #EEEEEE 0%, #EEEEEE 81.2500%, transparent 0%) !important;
+    background-size: 100% 32.0000rpx;
+    position: relative !important;
+  }
+.sk-text-18-7500-932 {
+    background-image: linear-gradient(transparent 18.7500%, #EEEEEE 0%, #EEEEEE 81.2500%, transparent 0%) !important;
+    background-size: 100% 32.0000rpx;
+    position: relative !important;
+  }
+.sk-text-14-7059-391 {
+    background-image: linear-gradient(transparent 14.7059%, #EEEEEE 0%, #EEEEEE 85.2941%, transparent 0%) !important;
+    background-size: 100% 34.0000rpx;
+    position: relative !important;
+  }
+.sk-text-14-7059-685 {
+    background-image: linear-gradient(transparent 14.7059%, #EEEEEE 0%, #EEEEEE 85.2941%, transparent 0%) !important;
+    background-size: 100% 34.0000rpx;
+    position: relative !important;
+  }
+.sk-text-15-0000-391 {
+    background-image: linear-gradient(transparent 15.0000%, #EEEEEE 0%, #EEEEEE 85.0000%, transparent 0%) !important;
+    background-size: 100% 40.0000rpx;
+    position: relative !important;
+  }
+.sk-text-18-7500-604 {
+    background-image: linear-gradient(transparent 18.7500%, #EEEEEE 0%, #EEEEEE 81.2500%, transparent 0%) !important;
+    background-size: 100% 32.0000rpx;
+    position: relative !important;
+  }
+.sk-text-18-7500-311 {
+    background-image: linear-gradient(transparent 18.7500%, #EEEEEE 0%, #EEEEEE 81.2500%, transparent 0%) !important;
+    background-size: 100% 32.0000rpx;
+    position: relative !important;
+  }
+.sk-text-18-7500-991 {
+    background-image: linear-gradient(transparent 18.7500%, #EEEEEE 0%, #EEEEEE 81.2500%, transparent 0%) !important;
+    background-size: 100% 32.0000rpx;
+    position: relative !important;
+  }
+.sk-text-14-7059-396 {
+    background-image: linear-gradient(transparent 14.7059%, #EEEEEE 0%, #EEEEEE 85.2941%, transparent 0%) !important;
+    background-size: 100% 34.0000rpx;
+    position: relative !important;
+  }
+.sk-text-14-7059-364 {
+    background-image: linear-gradient(transparent 14.7059%, #EEEEEE 0%, #EEEEEE 85.2941%, transparent 0%) !important;
+    background-size: 100% 34.0000rpx;
+    position: relative !important;
+  }
+.sk-text-15-0000-235 {
+    background-image: linear-gradient(transparent 15.0000%, #EEEEEE 0%, #EEEEEE 85.0000%, transparent 0%) !important;
+    background-size: 100% 40.0000rpx;
+    position: relative !important;
+  }
+.sk-text-18-7500-330 {
+    background-image: linear-gradient(transparent 18.7500%, #EEEEEE 0%, #EEEEEE 81.2500%, transparent 0%) !important;
+    background-size: 100% 32.0000rpx;
+    position: relative !important;
+  }
+.sk-text-18-7500-880 {
+    background-image: linear-gradient(transparent 18.7500%, #EEEEEE 0%, #EEEEEE 81.2500%, transparent 0%) !important;
+    background-size: 100% 32.0000rpx;
+    position: relative !important;
+  }
+.sk-text-18-7500-88 {
+    background-image: linear-gradient(transparent 18.7500%, #EEEEEE 0%, #EEEEEE 81.2500%, transparent 0%) !important;
+    background-size: 100% 32.0000rpx;
+    position: relative !important;
+  }
+.sk-text-14-7059-549 {
+    background-image: linear-gradient(transparent 14.7059%, #EEEEEE 0%, #EEEEEE 85.2941%, transparent 0%) !important;
+    background-size: 100% 34.0000rpx;
+    position: relative !important;
+  }
+.sk-text-14-7059-816 {
+    background-image: linear-gradient(transparent 14.7059%, #EEEEEE 0%, #EEEEEE 85.2941%, transparent 0%) !important;
+    background-size: 100% 34.0000rpx;
+    position: relative !important;
+  }
+.sk-text-15-0000-244 {
+    background-image: linear-gradient(transparent 15.0000%, #EEEEEE 0%, #EEEEEE 85.0000%, transparent 0%) !important;
+    background-size: 100% 40.0000rpx;
+    position: relative !important;
+  }
+.sk-text-18-7500-297 {
+    background-image: linear-gradient(transparent 18.7500%, #EEEEEE 0%, #EEEEEE 81.2500%, transparent 0%) !important;
+    background-size: 100% 32.0000rpx;
+    position: relative !important;
+  }
+.sk-text-18-7500-260 {
+    background-image: linear-gradient(transparent 18.7500%, #EEEEEE 0%, #EEEEEE 81.2500%, transparent 0%) !important;
+    background-size: 100% 32.0000rpx;
+    position: relative !important;
+  }
+.sk-text-18-7500-250 {
+    background-image: linear-gradient(transparent 18.7500%, #EEEEEE 0%, #EEEEEE 81.2500%, transparent 0%) !important;
+    background-size: 100% 32.0000rpx;
+    position: relative !important;
+  }
+.sk-text-14-7059-272 {
+    background-image: linear-gradient(transparent 14.7059%, #EEEEEE 0%, #EEEEEE 85.2941%, transparent 0%) !important;
+    background-size: 100% 34.0000rpx;
+    position: relative !important;
+  }
+.sk-text-14-7059-688 {
+    background-image: linear-gradient(transparent 14.7059%, #EEEEEE 0%, #EEEEEE 85.2941%, transparent 0%) !important;
+    background-size: 100% 34.0000rpx;
+    position: relative !important;
+  }
+.sk-image {
+    background: #EFEFEF !important;
+  }
+.sk-pseudo::before, .sk-pseudo::after {
+      background: #EFEFEF !important;
+      background-image: none !important;
+      color: transparent !important;
+      border-color: transparent !important;
+    }
+.sk-pseudo-rect::before, .sk-pseudo-rect::after {
+      border-radius: 0 !important;
+    }
+.sk-pseudo-circle::before, .sk-pseudo-circle::after {
+      border-radius: 50% !important;
+    }
+.sk-container {
+    position: absolute;
+    left: 0;
+    top: 0;
+    width: 100%;
+    height: 100%;
+    overflow: hidden;
+    background-color: transparent;
+  }

+ 11 - 0
packageA/activity/index.wxml

@@ -0,0 +1,11 @@
+<import src="index.skeleton.wxml" />
+<template is="skeleton" wx:if="{{loading}}" />
+
+<Yl_HeadNav styleType="1" sort='{{content.sort}}' bindonSearch="onSearch" placeholder='搜索活动' />
+<!-- 产品列表 -->
+<view class="division" />
+<Yl_ListBox id='ListBox' bind:getlist='getList'>
+	<List list="{{list}}" />
+</Yl_ListBox>
+<!-- 筛选条件 -->
+<Yl_Filtrate id='Filtrate' list="{{filter}}" bind:handle="handleFilter" dateRange='{{false}}' />

+ 5 - 0
packageA/activity/modules/list/index.js

@@ -0,0 +1,5 @@
+Component({
+  properties: {
+    list: Array
+  }
+})

+ 4 - 0
packageA/activity/modules/list/index.json

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

+ 77 - 0
packageA/activity/modules/list/index.scss

@@ -0,0 +1,77 @@
+.product {
+	display: flex;
+	width: 100vw;
+	padding: 20rpx 30rpx;
+	background: #fff;
+	border-bottom: 1rpx solid #ddd;
+	box-sizing: border-box;
+	overflow: hidden;
+
+	.image-box {
+		font-size: 0;
+		width: 176rpx;
+		height: 176rpx;
+		border-radius: 16rpx;
+		overflow: hidden;
+		margin-right: 30rpx;
+		flex-shrink: 0;
+
+		.text {
+			display: inline-block;
+			width: 176rpx;
+			height: 176rpx;
+			line-height: 172rpx;
+			font-size: 24rpx;
+			text-align: center;
+			color: #666;
+			border: 1rpx solid #ddd;
+			border-radius: 16rpx;
+			box-sizing: border-box;
+		}
+	}
+
+	.right-box {
+		width: 480rpx;
+
+		.title {
+			height: 40rpx;
+			line-height: 40rpx;
+			font-size: 28rpx;
+			font-weight: 600;
+			color: #333333;
+		}
+
+		.type {
+			height: 34rpx;
+			line-height: 34rpx;
+			font-size: 24rpx;
+			color: #888888;
+			margin-top: 8rpx;
+		}
+
+		.tags {
+			display: flex;
+			height: 32rpx;
+			margin-top: 8rpx;
+			width: 100%;
+
+			>view {
+				flex-shrink: 0;
+				height: 32rpx;
+				line-height: 32rpx;
+				padding: 0 10rpx;
+				font-size: 20rpx;
+				color: #FFFFFF;
+				margin-right: 8rpx;
+				border-radius: 6rpx;
+			}
+		}
+	}
+}
+
+.line-1 {
+	overflow: hidden;
+	white-space: nowrap;
+	text-overflow: ellipsis;
+	word-break: break-all;
+}

+ 26 - 0
packageA/activity/modules/list/index.wxml

@@ -0,0 +1,26 @@
+<navigator class="product" url="/packageA/activity/detail?id={{item.sa_promotionid}}" wx:for="{{list}}" wx:key="sa_promotionid">
+	<view class="image-box">
+		<van-image width="100%" wx:if="{{item.attinfos[0]}}" height="100%" fit="cover" src="{{item.attinfos[0].subfiles[0].url}}" use-loading-slot use-error-slot lazy-load>
+			<van-loading slot="loading" type="spinner" size="20" vertical />
+			<text slot="error">加载失败</text>
+		</van-image>
+		<text class="text" wx:else>暂无图片</text>
+	</view>
+	<view class="right-box">
+		<view class="title line-1">{{item.promname||'--'}}</view>
+		<view class="tags">
+			<view wx:if="{{item.type}}" style="background: #FA8C16;">
+				{{item.type}}
+			</view>
+			<view wx:if="{{item.brandname}}" style="background: #FA8C16;">
+				{{item.brandname}}
+			</view>
+			<view wx:if="{{item.tradefield}}" style="background: #FA8C16;">
+				{{item.tradefield}}
+			</view>
+		</view>
+		<view class="type line-1">开始时间:{{item.begdate||'--'}}</view>
+		<view class="type line-1">结束时间:{{item.enddate||'--'}}</view>
+	</view>
+</navigator>
+<Yl_Empty wx:if="{{list.length === 0}}" />

+ 114 - 0
select/activity/index.js

@@ -0,0 +1,114 @@
+const _Http = getApp().globalData.http;
+
+Page({
+  data: {
+    loading: true,
+    params: {}, //请求体
+    result: [], //返回结果
+    radio: false, //是否为单选
+    idname: "sa_promotionid", //idkey
+    showName: "promname"
+  },
+  onLoad(options) {
+    if (options.item) {
+      let item = JSON.parse(options.item);
+      this.setData({
+        item,
+        params: item.params
+      });
+    }
+    if (options.params) this.setData({
+      params: JSON.parse(options.params)
+    });
+    this.setData({
+      radio: options.radio ? true : false,
+      idname: options.idname || this.data.idname,
+      showName: options.showName || this.data.showName,
+    });
+    this.getList()
+  },
+  getList(init = false) {
+    //init 用于初始化分页
+    if (init.detail != undefined) init = init.detail;
+    let params = this.data.params;
+    if (init) params.content.pageNumber = 1
+    if (params.content.pageNumber > params.content.pageTotal) return;
+
+    _Http.basic(params).then(res => {
+      console.log("选择活动列表", res)
+      this.selectComponent('#ListBox').RefreshToComplete();
+      if (res.msg != '成功') return wx.showToast({
+        title: res.msg,
+        icon: "none"
+      })
+
+      this.setData({
+        'params.content.pageNumber': res.pageNumber + 1,
+        'params.content.pageTotal': res.pageTotal,
+        'params.content.total': res.total,
+        list: res.pageNumber == 1 ? res.data : this.data.list.concat(res.data),
+        loading: false
+      })
+    })
+  },
+  /* 选中 */
+  changeResult(e) {
+    let {
+      id
+    } = e.currentTarget.dataset, result = this.data.result;
+    if (this.data.radio) {
+      result = [id];
+    } else {
+      result.some(v => v == id) ? result = result.filter(v => v != id) : result.push(id)
+    }
+    this.setData({
+      result
+    });
+    if (this.data.radio) this.submit();
+  },
+  /* 提交 */
+  submit() {
+    let result = this.data.result,
+      obj = this.data.radio ? {
+        id: result,
+        item: this.data.list.find(value => value[this.data.idname] == result),
+        value: [this.data.list.find(value => value[this.data.idname] == result)[this.data.showName], result]
+      } : {
+        result,
+        list: result.map(v => this.data.list.find(value => value[this.data.idname] == v)),
+        value: [result.map(v => {
+          let data = this.data.list.find(value => value[this.data.idname] == v);
+          return data ? data[this.data.showName] : ""
+        }), result]
+      }
+    getApp().globalData.handleSelect && getApp().globalData.handleSelect(obj)
+  },
+  /* 开始搜索 */
+  startSearch({
+    detail
+  }) {
+    let condition = this.data.content ? this.data.content.where.condition : this.data.params.content.where.condition;
+    if (detail == condition) return;
+    this.setData({
+      'content.where.condition': detail,
+      'params.content.where.condition': detail
+    });
+    this.getList(true);
+  },
+  /* 取消搜索 */
+  onClear() {
+    this.setData({
+      'content.where.condition': "",
+      'params.content.where.condition': ""
+    });
+    this.getList(true);
+  },
+  onReady() {
+    this.selectComponent("#ListBox").setHeight(".total", this);
+  },
+  onUnload() {
+    //回收数据
+    getApp().globalData.handleSelect = null;
+    getApp().globalData.savePage = null;
+  }
+})

+ 3 - 0
select/activity/index.json

@@ -0,0 +1,3 @@
+{
+  "usingComponents": {}
+}

+ 119 - 0
select/activity/index.scss

@@ -0,0 +1,119 @@
+@import "./index.skeleton.wxss";
+
+page {
+	height: 100vh;
+	overflow: hidden;
+}
+
+.total {
+	height: 60rpx;
+	line-height: 60rpx;
+	font-size: 24rpx;
+	font-family: PingFang SC-Regular, PingFang SC;
+	color: #666666;
+	padding-left: 30rpx;
+}
+
+.product {
+	display: flex;
+	align-items: center;
+	width: 100vw;
+	padding: 20rpx 30rpx;
+	background: #fff;
+	border-bottom: 1rpx solid #ddd;
+	box-sizing: border-box;
+	overflow: hidden;
+
+	.image-box {
+		font-size: 0;
+		width: 176rpx;
+		height: 176rpx;
+		border-radius: 16rpx;
+		overflow: hidden;
+		margin-right: 30rpx;
+		flex-shrink: 0;
+
+		.text {
+			display: inline-block;
+			width: 176rpx;
+			height: 176rpx;
+			line-height: 172rpx;
+			font-size: 24rpx;
+			text-align: center;
+			color: #666;
+			border: 1rpx solid #ddd;
+			border-radius: 16rpx;
+			box-sizing: border-box;
+		}
+	}
+
+	.right-box {
+		width: 480rpx;
+
+		.title {
+			height: 40rpx;
+			line-height: 40rpx;
+			font-size: 28rpx;
+			font-weight: 600;
+			color: #333333;
+		}
+
+		.type {
+			height: 34rpx;
+			line-height: 34rpx;
+			font-size: 24rpx;
+			color: #888888;
+			margin-top: 8rpx;
+		}
+
+		.tags {
+			display: flex;
+			height: 32rpx;
+			margin-top: 8rpx;
+			width: 100%;
+
+			>view {
+				flex-shrink: 0;
+				height: 32rpx;
+				line-height: 32rpx;
+				padding: 0 10rpx;
+				font-size: 20rpx;
+				color: #FFFFFF;
+				margin-right: 8rpx;
+				border-radius: 6rpx;
+			}
+		}
+	}
+}
+
+
+.footer {
+	display: flex;
+	justify-content: space-between;
+	align-items: center;
+	padding: 0 30rpx;
+	position: fixed;
+	width: 100vw;
+	height: 130rpx;
+	background: #FFFFFF;
+	box-shadow: 0px -4rpx 16rpx 2rpx rgba(150, 157, 165, 0.16);
+	bottom: 0;
+	box-sizing: border-box;
+
+	.count {
+		font-size: 28rpx;
+		font-family: PingFang SC-Regular, PingFang SC;
+		color: #333333;
+	}
+
+	.but {
+		width: 156rpx;
+		height: 90rpx;
+		background: #3874F6;
+		border-radius: 8rpx;
+		font-size: 28rpx;
+		font-family: PingFang SC-Bold, PingFang SC;
+		font-weight: bold;
+		color: #FFFFFF;
+	}
+}

+ 123 - 0
select/activity/index.skeleton.wxml

@@ -0,0 +1,123 @@
+<!--
+此文件为开发者工具生成,生成时间: 2023/1/16上午10:10:24
+使用方法:
+在 E:\云链项目\e-wechat\select\activity\index.wxml 引入模板
+
+```
+<import src="index.skeleton.wxml"/>
+<template is="skeleton" wx:if="{{loading}}" />
+```
+
+在 E:\云链项目\e-wechat\select\activity\index.wxss 中引入样式
+```
+@import "./index.skeleton.wxss";
+```
+
+更多详细信息可以参考文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/skeleton.html
+-->
+<template name="skeleton">
+  <view class="sk-container">
+    <view is="miniprogram_npm/@vant/weapp/search/index" class="search">
+      <view class="van-search index--van-search " style="background: #ffffff">
+        <view class="van-search__content index--van-search__content van-search__content--round index--van-search__content--round">
+          <view is="miniprogram_npm/@vant/weapp/field/index" class="van-search__field index--van-search__field ">
+            <view is="miniprogram_npm/@vant/weapp/cell/index">
+              <view class="field-index--van-field van-cell cell-index--van-cell van-cell--borderless cell-index--van-cell--borderless sk-pseudo sk-pseudo-circle" hover-class="van-cell--hover hover-class" hover-stay-time="70" style="padding: 5px 10px 5px 0; background-color: transparent;">
+                <view is="miniprogram_npm/@vant/weapp/icon/index" class="van-cell__left-icon-wrap cell-index--van-cell__left-icon-wrap">
+                  <view class="cell-index--van-cell__left-icon van-icon icon-index--van-icon van-icon-search icon-index--van-icon-search sk-pseudo sk-pseudo-circle" style="true"></view>
+                </view>
+                <view class="van-cell__value cell-index--van-cell__value ">
+                  <view class="van-field__body field-index--van-field__body van-field__body--search field-index--van-field__body--search">
+                    <view class="van-field__control field-index--van-field__control sk-image" cursor="-1" maxlength="-1" placeholder="请输入搜索关键词" placeholder-class="van-field__placeholder" placeholder-style="true" selection-end="-1" selection-start="-1" type="search"
+                      value="true"></view>
+                  </view>
+                </view>
+              </view>
+            </view>
+          </view>
+        </view>
+      </view>
+    </view>
+    <view class="total sk-transparent sk-text-30-0000-597 sk-text">共5个</view>
+    <view is="components/Yl_ListBox/index" id="ListBox">
+      <scroll-view scroll-y="true" class="ListBox-index--scroll-view" refresher-enabled="true" style="height: 640px;">
+        <navigator class="product" data-id="8">
+          <view class="image-box">
+            <view is="miniprogram_npm/@vant/weapp/image/index">
+              <view class=" van-image image-index--van-image" style="width:100%;height:100%">
+                <image class="van-image__img image-index--van-image__img sk-image" mode="aspectFill" lazy-load="true"></image>
+              </view>
+            </view>
+          </view>
+          <view class="right-box">
+            <view class="title line-1 sk-transparent sk-text-15-0000-302 sk-text">1111</view>
+            <view class="tags">
+              <view style="background: #FA8C16;" class="sk-transparent sk-text-18-7500-307 sk-text">
+                打包促销
+              </view>
+              <view style="background: #FA8C16;" class="sk-transparent sk-text-18-7500-141 sk-text">
+                班尼戈
+              </view>
+              <view style="background: #FA8C16;" class="sk-transparent sk-text-18-7500-841 sk-text">
+                燃气
+              </view>
+            </view>
+            <view class="type line-1 sk-transparent sk-text-14-7059-223 sk-text">开始时间:2023-01-10 00:00:00</view>
+            <view class="type line-1 sk-transparent sk-text-14-7059-885 sk-text">结束时间:2023-01-19 00:00:00</view>
+          </view>
+        </navigator>
+        <navigator class="product" data-id="9">
+          <view class="image-box">
+            <view is="miniprogram_npm/@vant/weapp/image/index">
+              <view class=" van-image image-index--van-image" style="width:100%;height:100%">
+                <image class="van-image__img image-index--van-image__img sk-image" mode="aspectFill" lazy-load="true"></image>
+              </view>
+            </view>
+          </view>
+          <view class="right-box">
+            <view class="title line-1 sk-transparent sk-text-15-0000-58 sk-text">1</view>
+            <view class="tags">
+              <view style="background: #FA8C16;" class="sk-transparent sk-text-18-7500-574 sk-text">
+                普通促销
+              </view>
+              <view style="background: #FA8C16;" class="sk-transparent sk-text-18-7500-56 sk-text">
+                班尼戈
+              </view>
+              <view style="background: #FA8C16;" class="sk-transparent sk-text-18-7500-870 sk-text">
+                燃气
+              </view>
+            </view>
+            <view class="type line-1 sk-transparent sk-text-14-7059-137 sk-text">开始时间:2023-01-10 00:00:00</view>
+            <view class="type line-1 sk-transparent sk-text-14-7059-271 sk-text">结束时间:2023-01-19 00:00:00</view>
+          </view>
+        </navigator>
+        <navigator class="product" data-id="10">
+          <view class="image-box">
+            <view is="miniprogram_npm/@vant/weapp/image/index">
+              <view class=" van-image image-index--van-image" style="width:100%;height:100%">
+                <image class="van-image__img image-index--van-image__img sk-image" mode="aspectFill" lazy-load="true"></image>
+              </view>
+            </view>
+          </view>
+          <view class="right-box">
+            <view class="title line-1 sk-transparent sk-text-15-0000-705 sk-text">测试方案2</view>
+            <view class="tags">
+              <view style="background: #FA8C16;" class="sk-transparent sk-text-18-7500-490 sk-text">
+                普通促销
+              </view>
+              <view style="background: #FA8C16;" class="sk-transparent sk-text-18-7500-835 sk-text">
+                班尼戈
+              </view>
+              <view style="background: #FA8C16;" class="sk-transparent sk-text-18-7500-448 sk-text">
+                燃气
+              </view>
+            </view>
+            <view class="type line-1 sk-transparent sk-text-14-7059-711 sk-text">开始时间:2023-01-10 00:00:00</view>
+            <view class="type line-1 sk-transparent sk-text-14-7059-37 sk-text">结束时间:2023-01-19 00:00:00</view>
+          </view>
+        </navigator>
+        <view class="ListBox-index--safety"></view>
+      </scroll-view>
+    </view>
+  </view>
+</template>

+ 209 - 0
select/activity/index.skeleton.wxss

@@ -0,0 +1,209 @@
+/*
+此文件为开发者工具生成,生成时间: 2023/1/16上午10:10:24
+
+在 E:\云链项目\e-wechat\select\activity\index.wxss 中引入样式
+```
+@import "./index.skeleton.wxss";
+```
+
+更多详细信息可以参考文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/skeleton.html
+*/
+.sk-transparent {
+    color: transparent !important;
+  }
+.sk-text-30-0000-597 {
+    background-image: linear-gradient(transparent 30.0000%, #EEEEEE 0%, #EEEEEE 70.0000%, transparent 0%) !important;
+    background-size: 100% 60.0000rpx;
+    position: relative !important;
+  }
+.sk-text {
+    background-origin: content-box !important;
+    background-clip: content-box !important;
+    background-color: transparent !important;
+    color: transparent !important;
+    background-repeat: repeat-y !important;
+  }
+.sk-text-43-0233-770 {
+    background-image: linear-gradient(transparent 43.0233%, #EEEEEE 0%, #EEEEEE 56.9767%, transparent 0%) !important;
+    background-size: 100% 172.0000rpx;
+    position: relative !important;
+  }
+.sk-text-15-0000-460 {
+    background-image: linear-gradient(transparent 15.0000%, #EEEEEE 0%, #EEEEEE 85.0000%, transparent 0%) !important;
+    background-size: 100% 40.0000rpx;
+    position: relative !important;
+  }
+.sk-text-18-7500-781 {
+    background-image: linear-gradient(transparent 18.7500%, #EEEEEE 0%, #EEEEEE 81.2500%, transparent 0%) !important;
+    background-size: 100% 32.0000rpx;
+    position: relative !important;
+  }
+.sk-text-18-7500-183 {
+    background-image: linear-gradient(transparent 18.7500%, #EEEEEE 0%, #EEEEEE 81.2500%, transparent 0%) !important;
+    background-size: 100% 32.0000rpx;
+    position: relative !important;
+  }
+.sk-text-18-7500-428 {
+    background-image: linear-gradient(transparent 18.7500%, #EEEEEE 0%, #EEEEEE 81.2500%, transparent 0%) !important;
+    background-size: 100% 32.0000rpx;
+    position: relative !important;
+  }
+.sk-text-14-7059-203 {
+    background-image: linear-gradient(transparent 14.7059%, #EEEEEE 0%, #EEEEEE 85.2941%, transparent 0%) !important;
+    background-size: 100% 34.0000rpx;
+    position: relative !important;
+  }
+.sk-text-14-7059-944 {
+    background-image: linear-gradient(transparent 14.7059%, #EEEEEE 0%, #EEEEEE 85.2941%, transparent 0%) !important;
+    background-size: 100% 34.0000rpx;
+    position: relative !important;
+  }
+.sk-text-43-0233-690 {
+    background-image: linear-gradient(transparent 43.0233%, #EEEEEE 0%, #EEEEEE 56.9767%, transparent 0%) !important;
+    background-size: 100% 172.0000rpx;
+    position: relative !important;
+  }
+.sk-text-15-0000-557 {
+    background-image: linear-gradient(transparent 15.0000%, #EEEEEE 0%, #EEEEEE 85.0000%, transparent 0%) !important;
+    background-size: 100% 40.0000rpx;
+    position: relative !important;
+  }
+.sk-text-18-7500-862 {
+    background-image: linear-gradient(transparent 18.7500%, #EEEEEE 0%, #EEEEEE 81.2500%, transparent 0%) !important;
+    background-size: 100% 32.0000rpx;
+    position: relative !important;
+  }
+.sk-text-18-7500-319 {
+    background-image: linear-gradient(transparent 18.7500%, #EEEEEE 0%, #EEEEEE 81.2500%, transparent 0%) !important;
+    background-size: 100% 32.0000rpx;
+    position: relative !important;
+  }
+.sk-text-18-7500-959 {
+    background-image: linear-gradient(transparent 18.7500%, #EEEEEE 0%, #EEEEEE 81.2500%, transparent 0%) !important;
+    background-size: 100% 32.0000rpx;
+    position: relative !important;
+  }
+.sk-text-14-7059-114 {
+    background-image: linear-gradient(transparent 14.7059%, #EEEEEE 0%, #EEEEEE 85.2941%, transparent 0%) !important;
+    background-size: 100% 34.0000rpx;
+    position: relative !important;
+  }
+.sk-text-14-7059-546 {
+    background-image: linear-gradient(transparent 14.7059%, #EEEEEE 0%, #EEEEEE 85.2941%, transparent 0%) !important;
+    background-size: 100% 34.0000rpx;
+    position: relative !important;
+  }
+.sk-text-15-0000-302 {
+    background-image: linear-gradient(transparent 15.0000%, #EEEEEE 0%, #EEEEEE 85.0000%, transparent 0%) !important;
+    background-size: 100% 40.0000rpx;
+    position: relative !important;
+  }
+.sk-text-18-7500-307 {
+    background-image: linear-gradient(transparent 18.7500%, #EEEEEE 0%, #EEEEEE 81.2500%, transparent 0%) !important;
+    background-size: 100% 32.0000rpx;
+    position: relative !important;
+  }
+.sk-text-18-7500-141 {
+    background-image: linear-gradient(transparent 18.7500%, #EEEEEE 0%, #EEEEEE 81.2500%, transparent 0%) !important;
+    background-size: 100% 32.0000rpx;
+    position: relative !important;
+  }
+.sk-text-18-7500-841 {
+    background-image: linear-gradient(transparent 18.7500%, #EEEEEE 0%, #EEEEEE 81.2500%, transparent 0%) !important;
+    background-size: 100% 32.0000rpx;
+    position: relative !important;
+  }
+.sk-text-14-7059-223 {
+    background-image: linear-gradient(transparent 14.7059%, #EEEEEE 0%, #EEEEEE 85.2941%, transparent 0%) !important;
+    background-size: 100% 34.0000rpx;
+    position: relative !important;
+  }
+.sk-text-14-7059-885 {
+    background-image: linear-gradient(transparent 14.7059%, #EEEEEE 0%, #EEEEEE 85.2941%, transparent 0%) !important;
+    background-size: 100% 34.0000rpx;
+    position: relative !important;
+  }
+.sk-text-15-0000-58 {
+    background-image: linear-gradient(transparent 15.0000%, #EEEEEE 0%, #EEEEEE 85.0000%, transparent 0%) !important;
+    background-size: 100% 40.0000rpx;
+    position: relative !important;
+  }
+.sk-text-18-7500-574 {
+    background-image: linear-gradient(transparent 18.7500%, #EEEEEE 0%, #EEEEEE 81.2500%, transparent 0%) !important;
+    background-size: 100% 32.0000rpx;
+    position: relative !important;
+  }
+.sk-text-18-7500-56 {
+    background-image: linear-gradient(transparent 18.7500%, #EEEEEE 0%, #EEEEEE 81.2500%, transparent 0%) !important;
+    background-size: 100% 32.0000rpx;
+    position: relative !important;
+  }
+.sk-text-18-7500-870 {
+    background-image: linear-gradient(transparent 18.7500%, #EEEEEE 0%, #EEEEEE 81.2500%, transparent 0%) !important;
+    background-size: 100% 32.0000rpx;
+    position: relative !important;
+  }
+.sk-text-14-7059-137 {
+    background-image: linear-gradient(transparent 14.7059%, #EEEEEE 0%, #EEEEEE 85.2941%, transparent 0%) !important;
+    background-size: 100% 34.0000rpx;
+    position: relative !important;
+  }
+.sk-text-14-7059-271 {
+    background-image: linear-gradient(transparent 14.7059%, #EEEEEE 0%, #EEEEEE 85.2941%, transparent 0%) !important;
+    background-size: 100% 34.0000rpx;
+    position: relative !important;
+  }
+.sk-text-15-0000-705 {
+    background-image: linear-gradient(transparent 15.0000%, #EEEEEE 0%, #EEEEEE 85.0000%, transparent 0%) !important;
+    background-size: 100% 40.0000rpx;
+    position: relative !important;
+  }
+.sk-text-18-7500-490 {
+    background-image: linear-gradient(transparent 18.7500%, #EEEEEE 0%, #EEEEEE 81.2500%, transparent 0%) !important;
+    background-size: 100% 32.0000rpx;
+    position: relative !important;
+  }
+.sk-text-18-7500-835 {
+    background-image: linear-gradient(transparent 18.7500%, #EEEEEE 0%, #EEEEEE 81.2500%, transparent 0%) !important;
+    background-size: 100% 32.0000rpx;
+    position: relative !important;
+  }
+.sk-text-18-7500-448 {
+    background-image: linear-gradient(transparent 18.7500%, #EEEEEE 0%, #EEEEEE 81.2500%, transparent 0%) !important;
+    background-size: 100% 32.0000rpx;
+    position: relative !important;
+  }
+.sk-text-14-7059-711 {
+    background-image: linear-gradient(transparent 14.7059%, #EEEEEE 0%, #EEEEEE 85.2941%, transparent 0%) !important;
+    background-size: 100% 34.0000rpx;
+    position: relative !important;
+  }
+.sk-text-14-7059-37 {
+    background-image: linear-gradient(transparent 14.7059%, #EEEEEE 0%, #EEEEEE 85.2941%, transparent 0%) !important;
+    background-size: 100% 34.0000rpx;
+    position: relative !important;
+  }
+.sk-image {
+    background: #EFEFEF !important;
+  }
+.sk-pseudo::before, .sk-pseudo::after {
+      background: #EFEFEF !important;
+      background-image: none !important;
+      color: transparent !important;
+      border-color: transparent !important;
+    }
+.sk-pseudo-rect::before, .sk-pseudo-rect::after {
+      border-radius: 0 !important;
+    }
+.sk-pseudo-circle::before, .sk-pseudo-circle::after {
+      border-radius: 50% !important;
+    }
+.sk-container {
+    position: absolute;
+    left: 0;
+    top: 0;
+    width: 100%;
+    height: 100%;
+    overflow: hidden;
+    background-color: transparent;
+  }

+ 54 - 0
select/activity/index.wxml

@@ -0,0 +1,54 @@
+<import src="index.skeleton.wxml" />
+<template is="skeleton" wx:if="{{loading}}" />
+
+<van-search class="search" value="{{ params.content.where.condition }}" shape="round" placeholder="请输入搜索关键词" bind:search='startSearch' bind:clear='onClear' />
+<view class="total">共{{params.content.total}}个</view>
+
+<Yl_ListBox id='ListBox' bind:getlist='getList'>
+	<navigator class="product" url="#" wx:for="{{list}}" wx:key="index" data-id="{{item[idname]}}" bindtap="changeResult">
+		<van-checkbox wx:if="{{!radio}}" value="{{ handle.isCheck(item[idname],result) }}" shape="square" icon-size='28rpx' />
+		<view class="image-box">
+			<van-image width="100%" wx:if="{{item.attinfos[0]}}" height="100%" fit="cover" src="{{item.attinfos[0].subfiles[0].url}}" use-loading-slot use-error-slot lazy-load>
+				<van-loading slot="loading" type="spinner" size="20" vertical />
+				<text slot="error">加载失败</text>
+			</van-image>
+			<text class="text" wx:else>暂无图片</text>
+		</view>
+		<view class="right-box">
+			<view class="title line-1">{{item.promname||'--'}}</view>
+			<view class="tags">
+				<view wx:if="{{item.type}}" style="background: #FA8C16;">
+					{{item.type}}
+				</view>
+				<view wx:if="{{item.brandname}}" style="background: #FA8C16;">
+					{{item.brandname}}
+				</view>
+				<view wx:if="{{item.tradefield}}" style="background: #FA8C16;">
+					{{item.tradefield}}
+				</view>
+			</view>
+			<view class="type line-1">开始时间:{{item.begdate||'--'}}</view>
+			<view class="type line-1">结束时间:{{item.enddate||'--'}}</view>
+		</view>
+	</navigator>
+	<view wx:if="{{!radio}}" style="height: 130rpx;" />
+	<Yl_Empty wx:if="{{list.length==0}}" />
+</Yl_ListBox>
+
+<block wx:if="{{!radio}}">
+	<view class="footer">
+		<view class="count">
+			已选:{{result.length}}
+		</view>
+		<van-button custom-class='but' disabled='{{result.length==0}}' bind:click="submit">确定</van-button>
+	</view>
+	<wxs module="handle">
+		module.exports = {
+			isCheck: function (id, list) {
+				return list.some(function (v) {
+					return v == id
+				});
+			},
+		}
+	</wxs>
+</block>