baijunde 3 місяців тому
батько
коміт
233962b4ca

+ 16 - 15
components/index_nav.vue

@@ -55,29 +55,30 @@
 					// 	url: '/static/index/audit.png',
 					// 	path: '/pages/store/examine'
 					// },
+					{
+						name: '提现管理',
+						url: '/static/index/withdraw.png'
+					},
 					{
 						name: '商品管理',
 						url: '/static/index/product.png',
 						path: '/pages/product/index'
 					},
 					{
-						name: '提现管理',
-						url: '/static/index/withdraw.png'
+						name: '客户评价',
+						url: '/static/index/evaluate.png',
+						path: '/pages/evaluate/evaluate'
 					},
 					{
 						name: '广告管理',
 						url: '/static/index/ad.png',
 						path: '/pages/adManagement/adlist'
 					},
-					{
-						name: '秒杀活动',
-						url: '/static/index/seckill.png'
-					},
-					{
-						name: '客户评价',
-						url: '/static/index/evaluate.png',
-						path: '/pages/evaluate/evaluate'
-					},
+					// {
+					// 	name: '秒杀活动',
+					// 	url: '/static/index/seckill.png'
+					// },
+					
 					{
 						name: '全部服务',
 						url: '/static/index/all.png',
@@ -154,7 +155,7 @@
 		display: flex;
 		flex-wrap: wrap;
 		justify-content: space-between;
-
+		padding-top: 32rpx;
 	}
 
 	.card {
@@ -167,9 +168,9 @@
 		font-size: 24rpx;
 
 		image {
-			width: 56rpx;
-			height: 56rpx;
-			margin-bottom: 4rpx;
+			width: 60rpx;
+			height: 60rpx;
+			margin-bottom: 8rpx;
 		}
 	}
 

+ 2 - 1
pages/adManagement/adlist.vue

@@ -320,6 +320,7 @@
 				})
 			},
 			godetails(item) {
+				
 				uni.navigateTo({
 					url: '/pages/adManagement/fullscreenAdDetails?id=' + item.id
 				})
@@ -586,4 +587,4 @@
 			margin-left: 24rpx;
 		}
 	}
-</style>
+</style>

+ 38 - 42
pages/adManagement/popup_platform.vue

@@ -1,6 +1,6 @@
 <template>
   <!-- 遮罩:点击自己关闭,点击子元素不关闭 -->
-  <view class="popup-mask" @click.stop="closePopup">
+  <view class="popup-mask" @click="closePopup">
     <view class="popup-box">
       <!-- 标题 -->
       <view class="popup-title">提示</view>
@@ -18,85 +18,81 @@
 
 <script>
 export default {
-  name: 'AdServicePopup',
+  name: "AdServicePopup",
   props: {
-    // 是否显示弹窗
     visible: {
       type: Boolean,
-      default: false
-    }
+      default: false,
+    },
   },
   methods: {
-    // 点击联系平台
+    // 联系平台
     handleContact() {
-      this.$emit('contact')
+      // uni.showToast({
+      //   title: "正在联系平台",
+      //   icon: "none",
+      // });
+      this.$emit("contact");
     },
     // 关闭弹窗
     closePopup() {
-      this.$emit('contact')
-    }
-  }
-}
+      this.$emit("update:visible", false);
+    },
+  },
+};
 </script>
 
 <style scoped>
+/* 遮罩 */
 .popup-mask {
   position: fixed;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
-  background-color: rgba(0, 0, 0, 0.7);
+  background: rgba(0, 0, 0, 0.7);
   display: flex;
-  justify-content: center;
   align-items: center;
+  justify-content: center;
   z-index: 999;
 }
 
+/* 弹窗内容盒子 */
 .popup-box {
   width: 80%;
-  height: 406rpx;
-  background-color: #ffffff;
+  height:408rpx;
+	
+  background: #fff;
   border-radius: 16rpx;
-  overflow: hidden;
-  box-sizing: border-box;
+  padding: 48rpx 32rpx;
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+	justify-content: space-between;
 }
 
 .popup-title {
-  font-size: 32rpx;
-	height: 86rpx;
-	line-height: 86rpx;
-	text-align: center;
+  font-size: 36rpx;
   font-weight: bold;
-  color: #333333;
-  margin-bottom: 66rpx;
-	margin-top: 20rpx;
+  color: #333;
+  /* margin-bottom: 86rpx; */
 }
 
 .popup-content {
-  font-size: 30rpx;
-	
-  color: #333333;
+  font-size: 32rpx;
+  color: #333;
   text-align: center;
-  line-height: 1.5;
-  margin-bottom: 50rpx;
-	
+  /* margin-bottom: 97rpx; */
 }
 
 .popup-btn {
-  width: 522rpx;
+  width: 100%;
   height: 68rpx;
-	margin: 0 auto;
-  line-height: 80rpx;
-  background-color: #409eff;
-  color: #ffffff;
+  line-height: 68rpx;
+  background: #409eff;
+  color: #fff;
+  border-radius: 44rpx;
+  font-size: 32rpx;
   border: none;
-  border-radius: 40rpx;
-  font-size: 28rpx;
-	margin-top: 97rpx;
-}
-
-.popup-btn:active {
-  opacity: 0.8;
 }
 </style>

+ 346 - 203
pages/index/index.vue

@@ -1,49 +1,78 @@
 <template>
 	<view class="index">
-		<view class="top"></view>
 		<view class="head">
-			<view class="header" @click="shopDetails">
-				<image src="/static/index/address.png" mode=""></image>
-				{{name}}
-				<image src="/static/index/down.png" mode=""></image>
-			</view>
-
-		</view>
-		<view class="data_box">
-			<view class="title" @click="scanRecordaa">
-				今日概况
-				<image src="/static/index/today.png" mode=""></image>
-			</view>
-			<view class="data">
-				<view class="item">
-					<span>{{numberOrders}}</span>订单
-				</view>
-				<view class="item">
-					<span>{{income}}</span>收益
-				</view>
-				<view class="item" @click="goUser">
-					<span>{{newCustomer || 0}}</span>新客
-				</view>
-			</view>
+		  <!-- 顶部状态栏占位 -->
+		  <view class="top"></view>
+		  <!-- 头部内容 -->
+		  <view class="header" @click="shopDetails">
+		    <view class="logo">
+		      <image :src="logo?logo:'/static/index/address.png'" mode=""></image>
+		    </view>
+		    {{ name }}
+		    <image src="/static/index/down.png" mode=""></image>
+		  </view>
+		  <view class="data_box">
+		    <view class="title" @click="scanRecordaa">
+		      今日概况
+		    </view>
+		    <view class="data">
+		      <view class="item">
+		        <span>{{ numberOrders }}</span>订单数
+		      </view>
+		      <view class="item">
+		        <span>{{ income }}</span>收益(元)
+		      </view>
+		      <view class="item" @click="goUser">
+		        <span>{{ newCustomer || 0 }}</span>新客
+		      </view>
+		    </view>
+		  </view>
+		  <!-- 背景图 改为绝对定位 + 父级相对定位 -->
+		  <view class="head-back">
+		    <image src="/static/index/top-back.png" mode="widthFix"></image>
+		  </view>
 		</view>
+
 		<view class="service">
 			<view class="main">
-				<view class="scan" @click="scan">
-					<image src="/static/index/scan.png" mode=""></image>核销
-				</view>
-				<view class="scan" @click="scanRecord">
-					<image src="/static/index/record.png" mode=""></image>核销记录
+				<view class="left">
+					<view class="scan blue" @click="scanRecord">
+						<view class="">
+							<span>核销记录</span><br />
+							查看历史核销记录<u-icon name="arrow-right" ></u-icon>
+						</view>
+						<view class="back">
+							<image src="/static/index/recores-back.png" mode=""></image>
+						</view>
+						<image src="/static/index/scan.png" mode=""></image>
+					</view>
+					<view class="scan green" >
+						<view class="">
+							<span>售卖订单</span><br />
+							查看历史核销记录<u-icon name="arrow-right" ></u-icon>
+						</view>
+						<view class="back">
+							<image src="/static/index/order-back.png" mode=""></image>
+						</view>
+						<image src="/static/index/order.png" mode=""></image>
+					</view>
 				</view>
-				<view class="scan">
-					<image src="/static/index/order.png" mode=""></image>售卖订单
+				<view class="right" @click="scan">
+					<span>核销记录</span><br />
+					扫一扫快速核销<u-icon name="arrow-right" style="margin-left: 10rpx;"></u-icon>
+					<view class="back">
+						<image src="/static/index/scan-back.png" mode=""></image>
+					</view>
+					<image src="/static/index/records.png" mode=""></image>
 				</view>
 			</view>
 			<view class="other">
-				<indexNav/>
+				<indexNav />
 			</view>
 		</view>
 		<!-- 完善信息弹窗,storeStatus == 3 (店铺已经审核通过 ) -->
-		<checkPopup :status="storeStatus" :describe="describe" :referenceId="referenceId" @cutPopup="isPopup = false " v-if="isPopup" />
+		<checkPopup :status="storeStatus" :describe="describe" :referenceId="referenceId" @cutPopup="isPopup = false"
+			v-if="isPopup" />
 		<!-- <view class="message">
 			<view class="title">
 				实时消息
@@ -75,60 +104,61 @@
 </template>
 
 <script>
-	import indexNav from '@/components/index_nav.vue';
-	import checkPopup from '@/components/check-popup.vue'
+	import indexNav from "@/components/index_nav.vue";
+	import checkPopup from "@/components/check-popup.vue";
 	export default {
 		components: {
 			indexNav,
-			checkPopup
+			checkPopup,
 		},
 		data() {
 			return {
-				numberOrders: '', //订单
-				newCustomer: '', //新客
-				income: '', //收益
-				name: '',
+				numberOrders: "", //订单
+				newCustomer: "", //新客
+				income: "", //收益
+				name: "",
 				num: 222,
 				msg: [],
-				merchantId: '',
+				merchantId: "",
 				storeStatus: 0, //商户店铺设置状态
-				userId: '', //用户id
-				describe: '', //描述
-				isPopup: false ,//弹窗是否出现
-				referenceId:''//邀请码
-			}
+				userId: "", //用户id
+				describe: "", //描述
+				isPopup: false, //弹窗是否出现
+				referenceId: "", //邀请码
+				logo: ''
+			};
 		},
 		onLoad: function() {
-			this.PageCur = 'home'
-				++this.commponent1Key
-				++this.commponent2Key
+			this.PageCur = "home";
+			++this.commponent1Key;
+			++this.commponent2Key;
 		},
 		methods: {
 			NavChange: function(e) {
-				this.PageCur = e.currentTarget.dataset.cur
+				this.PageCur = e.currentTarget.dataset.cur;
 			},
 			//新客
 			goUser() {
 				uni.navigateTo({
-					url: '/pages/index/userControl'
-				})
+					url: "/pages/index/userControl",
+				});
 			},
 			//扫码核销
 			scan() {
 				uni.navigateTo({
-					url: '/pages/scan/manual'
-				})
+					url: "/pages/scan/manual",
+				});
 			},
 			//跳转至门店详情页
 			shopDetails() {
 				uni.navigateTo({
-					url: '/pages/index/shop'
-				})
+					url: "/pages/index/shop",
+				});
 			},
 			scanRecord() {
 				uni.navigateTo({
-					url: '/pages/scan/record'
-				})
+					url: "/pages/scan/record",
+				});
 			},
 			scanRecordaa() {
 				// uni.navigateTo({
@@ -136,189 +166,305 @@
 				// })
 			},
 			gettodayData() {
-				this.$http.get("/merchant/app/home/todayData?merchantId=" + this.merchantId, {}).then(res => {
-					if (res.data.code == 200) {
-						this.income = res.data.result.income
-						// this.newCustomer = res.data.result.newCustomer
-						this.numberOrders = res.data.result.numberOrders
-					}
-				})
+				this.$http
+					.get("/merchant/app/home/todayData?merchantId=" + this.merchantId, {})
+					.then((res) => {
+						if (res.data.code == 200) {
+							this.income = res.data.result.income;
+							// this.newCustomer = res.data.result.newCustomer
+							this.numberOrders = res.data.result.numberOrders;
+						}
+					});
 			},
 			getMessage() {
-				this.$http.get("/merchant/app/home/realMessage?merchantId=" + this.merchantId, {}).then(res => {
-					if (res.data.code == 200) {
-						this.msg = res.data.result.records
-						// 	this.income = res.data.result.income
-						// 	this.newCustomer = res.data.result.newCustomer
-						// 	this.numberOrders = res.data.result.numberOrders
-					}
-				})
+				this.$http
+					.get("/merchant/app/home/realMessage?merchantId=" + this.merchantId, {})
+					.then((res) => {
+						if (res.data.code == 200) {
+							this.msg = res.data.result.records;
+							// 	this.income = res.data.result.income
+							// 	this.newCustomer = res.data.result.newCustomer
+							// 	this.numberOrders = res.data.result.numberOrders
+						}
+					});
 			},
 			getNum() {
-				let data = {}
-				this.$http.post('/newCustomer/count', data).then(res => {
-					this.newCustomer = res.data.result.newCustomerCount
-				})
+				let data = {};
+				this.$http.post("/newCustomer/count", data).then((res) => {
+					this.newCustomer = res.data.result.newCustomerCount;
+				});
 			},
 			//获取商户是否完善店铺信息
 			getStroeStatus() {
-				this.$http.get("/merchant/app/checkMerchantInfo?userId=" + this.userId).then(res => {
-					if (res.data.code == 200) {
-						//message == 3(审核已通过)
-						if (res.data.result != 3)  {
-							this.storeStatus = res.data.result
-							this.describe = res.data.message
-							// this.referenceId = res.data.result.referenceId
-							res.data.result == 3 ? this.isPopup = false : this.isPopup = true
-							uni.hideTabBar()
+				this.$http
+					.get("/merchant/app/checkMerchantInfo?userId=" + this.userId)
+					.then((res) => {
+						if (res.data.code == 200) {
+							//message == 3(审核已通过)
+							if (res.data.result != 3) {
+								this.storeStatus = res.data.result;
+								this.describe = res.data.message;
+								// this.referenceId = res.data.result.referenceId
+								res.data.result == 3 ?
+									(this.isPopup = false) :
+									(this.isPopup = true);
+								uni.hideTabBar();
+							}
 						}
-					}
-				})
+					});
 			},
 		},
 		mounted() {
-			// let info = 
-			let that = this
+			// let info =
+			let that = this;
 		},
 		onShow() {
-			let that = this
+			let that = this;
 			uni.getStorage({
-				key: 'login_user_info',
+				key: "login_user_info",
 				success: function(res) {
-					console.log(res)
-					that.name = res.data.merchantName
-					that.merchantId = res.data.merchantId
-					that.userId = res.data.id
-					that.gettodayData()
-					that.getMessage()
-					that.getNum()
-					that.getStroeStatus()
-				}
+					console.log(res);
+					that.name = res.data.merchantName;
+					that.merchantId = res.data.merchantId;
+					that.userId = res.data.id;
+					that.logo = res.data.merchantHeadPhoto;
+					that.gettodayData();
+					that.getMessage();
+					that.getNum();
+					that.getStroeStatus();
+
+				},
 			});
-		}
-	}
+		},
+	};
 </script>
 
 <style scoped lang="scss">
 	.index {
 		width: 100vw;
-		height: 94vh;
-		background: #F7F8FC;
+		// height: 94vh;
+		// background: #F2F3F5;
 
 		.head {
-			width: 100%;
-			height: 272rpx;
-			background: linear-gradient(90deg, #E6FFFF 0%, #CEF7FF 40%, #A3CEFE 73%, #BCD6FF 100%), linear-gradient(360deg, #F7F8FC 0%, rgba(247, 248, 252, 0) 100%);
-			padding: 20rpx;
-
-			.header {
-				width: 100%;
-				height: 112rpx;
-				display: flex;
-				align-items: center;
-				padding: 0px 24rpx;
-				font-size: 32rpx;
-				font-weight: 600;
-
-				image {
-					width: 48rpx;
-					height: 48rpx;
-					margin-right: 10rpx;
-				}
-
-				image:nth-child(2) {
-					width: 24rpx;
-					height: 24rpx;
-					margin-left: 10rpx;
-				}
-			}
+		  width: 100%;
+		  height: auto; 
+		  position: relative; 
+		  overflow: hidden;
+		  
+		  .top {
+		    width: 100%;
+		    height: var(--status-bar-height);
+		    background-color: transparent;
+		  }
+		  
+		  .head-back {
+		    position: absolute;
+		    top: 0;
+		    left: 0;
+		    width: 100%;
+		    height: 100%;
+		    z-index: 1;
+		    
+		    image {
+		      width: 100%;
+		      height: 100%;
+		      // object-fit: cover; 
+		    }
+		  }
+		
+		  .header {
+		    width: 100%;
+		    height: 56rpx;
+		    display: flex;
+		    align-items: center;
+		    padding: 0px 32rpx;
+		    font-size: 32rpx;
+		    font-weight: 600;
+		    position: relative;
+		    z-index: 10;
+		    margin-top: 44rpx;
+		
+		    .logo {
+		      width: 56rpx;
+		      height: 56rpx;
+		      border-radius: 50%;
+		      overflow: hidden;
+		      margin-right: 10rpx;
+		
+		      image {
+		        width: 56rpx;
+		        height: 56rpx;
+		        margin: 0;
+		      }
+		    }
+		
+		    image {
+		      width: 25rpx;
+		      height: 25rpx;
+		      margin-left: 10rpx;
+		    }
+		  }
+		
+		  .data_box {
+		    width: 686rpx;
+		    height: 180rpx;
+		    margin: 36rpx auto;
+		    background: #ffffff;
+		    box-shadow: 0px 2rpx 8rpx 0px rgba(214, 225, 237, 0.1);
+		    border-radius: 16rpx;
+		    position: relative;
+		    z-index: 19;
+		    margin-bottom: 42rpx;
+		
+		    .title {
+		      display: flex;
+		      align-items: center;
+		      width: 100%;
+		      height: 53rpx;
+		      font-size: 26rpx;
+		      color: #86909C;
+		      padding: 18rpx;
+		
+		      image {
+		        width: 40rpx;
+		        height: 40rpx;
+		        margin-left: 10rpx;
+		      }
+		    }
+		
+		    .data {
+		      display: flex;
+		      justify-content: space-around;
+		      align-items: center;
+		      padding: 20rpx 0px;
+		
+		      .item {
+		        display: flex;
+		        flex-direction: column;
+		        justify-content: space-around;
+		        align-items: center;
+		        font-size: 24rpx;
+		        line-height: 28rpx;
+		        color: #86909C;
+		
+		        span {
+		          height: 62rpx;
+		          color: #333;
+		          font-size: 48rpx;
+		          font-weight: 600;
+		          line-height: 56rpx;
+		        }
+		      }
+		    }
+		  }
 		}
 
-		/*#ifdef APP-PLUS*/
-		.top {
-			width: 100%;
-			height: var(--status-bar-height);
-			background: linear-gradient(90deg, #E6FFFF 0%, #CEF7FF 40%, #A3CEFE 73%, #BCD6FF 100%), linear-gradient(to bottom, #F7F8FC 0%, rgba(247, 248, 252, 0) 100%);
-		}
 
-		/*#endif*/
 
-		.data_box {
-			width: 676rpx;
-			height: 196rpx;
-			margin: 20rpx auto;
-			margin-top: -141rpx;
-			background: linear-gradient(0, #FFFFFF 0%, #FFF4EA 100%);
+		.service {
+			width: 686rpx;
+			// height: 468rpx;
 			box-shadow: 0px 2rpx 8rpx 0px rgba(214, 225, 237, 0.1);
-			border-radius: 16rpx 16rpx 16rpx 16rpx;
-
-			.title {
-				display: flex;
-				align-items: center;
-				width: 100%;
-				height: 53rpx;
-				font-size: 28rpx;
-				font-weight: 600;
-				border-bottom: 1px solid #eeeeee;
-				padding: 12rpx 16rpx;
-
-				image {
-					width: 40rpx;
-					height: 40rpx;
-					margin-left: 10rpx;
-				}
-			}
+			border-radius: 16rpx;
+			padding: 24rpx 18rpx;
+			margin: 0 auto;
 
-			.data {
+			.main {
+				height: auto;
 				display: flex;
-				justify-content: space-around;
-				align-items: center;
-				padding: 20rpx 0px;
+				justify-content: space-between;
+				margin-bottom: 16rpx;
+				align-items: stretch;
 
-				.item {
+				.left {
+					flex: 1;
+					margin-right: 24rpx;
+					height: 340rpx;
 					display: flex;
 					flex-direction: column;
-					justify-content: space-around;
-					align-items: center;
-					font-size: 24rpx;
-					line-height: 28rpx;
-					color: #999999;
+					justify-content: space-between;
 
-					span {
-						color: #333;
-						font-size: 48rpx;
+					.scan {
+						font-size: 20rpx;
 						font-weight: 600;
-						line-height: 56rpx;
+						width: 100%;
+						height: 160rpx;
+						padding: 12rpx 12rpx 12rpx 28rpx;
+						display: flex;
+						justify-content: space-between;
+						align-items: center;
+						position: relative;
+						z-index: 2;
+
+						.back {
+							width: 100%;
+							height: 100%;
+							position: absolute;
+							bottom: 0;
+							right: 0;
+							z-index: -1;
+
+							image {
+								width: 100%;
+								height: 100%;
+							}
+						}
+
+						span {
+							font-size: 32rpx;
+						}
+
+						image {
+							width: 138rpx;
+							height: 134rpx;
+						}
+					}
+
+					.scan.blue {
+						color: #197FFD;
+						margin-bottom: 22rpx;
+					}
+
+					.scan.green {
+						color: #14C584;
+						background: #E7FFF7;
 					}
 				}
-			}
-		}
 
-		.service {
-			width: 676rpx;
-			// height: 468rpx;
-			background: linear-gradient(180deg, #FFFFFF 0%, #FFFFFF 100%);
-			box-shadow: 0px 2rpx 8rpx 0px rgba(214, 225, 237, 0.1);
-			border-radius: 16rpx;
-			padding: 24rpx 18rpx;
-			margin: 0 auto;
+				.right {
+					width: 272rpx;
+					height: 338rpx;
+					color: #624FE3;
+					font-size: 20rpx;
+					padding: 28rpx;
+					background: #F6F4FF;
+					position: relative;
+					z-index: 2;
 
-			.main {
-				display: flex;
-				justify-content: space-around;
-				margin-bottom: 40rpx;
+					.back {
+						width: 100%;
+						height: 100%;
+						position: absolute;
+						bottom: 0;
+						right: 0;
+						z-index: -1;
 
-				.scan {
-					display: flex;
-					flex-direction: column;
-					font-size: 26rpx;
-					font-weight: 600;
-					align-items: center;
+						image {
+							width: 100%;
+							height: 100%;
+						}
+					}
+
+					span {
+						font-weight: 600;
+						font-size: 32rpx;
+						margin-bottom: 10rpx;
+					}
 
 					image {
-						width: 106rpx;
-						height: 106rpx;
-						margin-bottom: 4rpx;
+						width: 182rpx;
+						height: 214rpx;
+						margin: 8rpx auto 0;
 					}
 				}
 			}
@@ -328,7 +474,7 @@
 			width: 676rpx;
 			padding: 20rpx 16rpx;
 			margin: 20rpx auto 0px;
-			background: linear-gradient(0, #FFFFFF 0%, #E2EFFF 100%);
+			background: linear-gradient(0, #ffffff 0%, #e2efff 100%);
 			border-radius: 16rpx;
 
 			.title {
@@ -344,8 +490,6 @@
 
 				.item {
 					width: 100%;
-					// height: 126rpx;
-					// margin: 20rpx auto;
 					border-bottom: 1px solid #dddddd;
 					margin-bottom: 20rpx;
 
@@ -384,6 +528,5 @@
 				}
 			}
 		}
-
 	}
 </style>

BIN
static/index/ad.png


BIN
static/index/all.png


BIN
static/index/coupon.png


BIN
static/index/down.png


BIN
static/index/evaluate.png


BIN
static/index/indent.png


BIN
static/index/order-back.png


BIN
static/index/order.png


BIN
static/index/product.png


BIN
static/index/record.png


BIN
static/index/records.png


BIN
static/index/recores-back.png


BIN
static/index/refund.png


BIN
static/index/scan-back.png


BIN
static/index/scan.png


BIN
static/index/shop.png


BIN
static/index/top-back.png


BIN
static/index/withdraw.png