Переглянути джерело

Merge branch 'master' of http://192.168.1.218:3000/hmp/guosen-ldt-mall

lianghanqiang 4 роки тому
батько
коміт
742e9d19e8

+ 1 - 0
assets/http/api.js

@@ -34,6 +34,7 @@ const appaccount={
 const memberCenter={
 	list:p => http.get('cyzh-ldt/app/mall/getMembersByMallId',{params:p}),
 	create:(p)=> http.post('cyzh-ldt/app/mall/createMemberCenter',p),
+	update:(p)=> http.post('cyzh-ldt/app/mall/updateMemberCenter',p),
 }
 
 

+ 19 - 1
pages.json

@@ -162,10 +162,28 @@
             }
             
         }
+        ,{
+            "path" : "pages/image-cropper/image-cropper",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "图片裁剪",
+                "enablePullDownRefresh": false
+            }
+            
+        }
+        ,{
+            "path" : "pages/webView/webView",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "",
+                "enablePullDownRefresh": false
+            }
+            
+        }
     ],
 	"globalStyle": {
 		"navigationBarTextStyle": "black",
-		"navigationBarTitleText": "uni-app",
+		"navigationBarTitleText": " ",
 		"navigationBarBackgroundColor": "#FFFFFF",
 		"backgroundColor": "#F8F8F8"
 	}

+ 9 - 4
pages/index/index.vue

@@ -174,7 +174,7 @@
 				this.mallList=res.data
 				this.mallId=this.mallList[0].id
 				this.mallLable=this.mallList[0].name
-				this.cacheSelectedMall()
+				this.cacheSelectedMall(this.mallList[0])
 				//获取统计数据
 				this.getStatistic()
 			},
@@ -186,17 +186,22 @@
 			mallConfirm(e){
 				this.mallId=e[0].value
 				this.mallLable=e[0].label
-				this.cacheSelectedMall()
+				let item = this.shopList.filter((item) => {
+					if (this.mallId == item.id) {
+						return true
+					}
+				})
+				this.cacheSelectedMall(item[0])
 				this.getStatistic()
 			},
 			
 			
-			cacheSelectedMall(){
+			cacheSelectedMall(item){
 				let selectedMall={
 					id:this.mallId,
 					label:this.mallLable
 				}
-				this.$cache.put("selectedMall",selectedMall)
+				this.$cache.put("selectedMall", Object.assign(item, selectedMall))
 				this.$u.vuex('vuex_mallId',this.mallId)
 			}
 		}

+ 2 - 0
pages/member-center/add.vue

@@ -94,6 +94,8 @@
 				this.form.id=this.vuex_mallId
 				this.$api.memberCenter.create(this.form).then(res=>{
 					if (res.success) {
+						const selectedMall = this.$cache.get("selectedMall")
+						this.$cache.put("selectedMall",Object.assign(selectedMall,this.form))
 						this.$dialog.showModal('创建成功',false).then(res=>{
 							this.$jump('/pages/member-center/member-center')
 						})

+ 110 - 14
pages/member-center/member-center.vue

@@ -12,14 +12,21 @@
 
 		<block v-else>
 			<view class="top-menu">
-				<view class="">
-					<text>{{detail.memberCount}}</text>
-					<text>会员数量</text>
+				<view class="leftFixed">{{selectedMall.point}}积分等于{{selectedMall.pointValue}}元</view>
+				<view class="u-flex u-row-between">
+					<view class="item">
+						<text>{{detail.memberCount}}</text>
+						<text>会员数量</text>
+					</view>
+					
+					<view class="item">
+						<text>{{detail.totalPointValue}}</text>
+						<text>积分总价值</text>
+					</view>
 				</view>
-
-				<view class="">
-					<text>{{detail.totalPointValue}}</text>
-					<text>积分总价值</text>
+				<view class="u-m-t-50 u-flex u-col-center u-row-center">
+					<text class="u-font-24 u-m-r-20">规则:消费1元赠送{{selectedMall.consumeOnePoint}}积分</text>
+					<u-button size="mini" shape="circle" @click="showPopup=true">更改规则</u-button>
 				</view>
 			</view>
 			<view class="padding-20 text-bold text-xl">
@@ -62,6 +69,47 @@
 				</mescroll-body>
 			</view>
 		</block>
+		<u-popup v-model="showPopup" mode="center" border-radius="20">
+			<view class="u-popup-content">
+				<text>更改积分规则</text>
+				<u-form>
+					<view class="u-flex">
+						<u-input
+						v-model="selectedMall.point" 
+						border="true" 
+						border-color="#eaeaea"  
+						type="number" 
+						:clearable="false" 
+						placeholder="请输入积分"
+						/>
+						<view style="width: 150rpx;">积分</view>
+						<view style="width: 150rpx;">等于</view>
+						<u-input
+						v-model="selectedMall.pointValue" 
+						border="true" 
+						border-color="#eaeaea"  
+						type="number" 
+						:clearable="false" 
+						placeholder="请输入金额"
+						/>
+						<view>元</view>
+					</view>
+					<u-form-item label-width="180"  label="消费1元赠送">
+						<u-input 
+						v-model="selectedMall.consumeOnePoint" 
+						border="true" 
+						border-color="#eaeaea"  
+						type="number" 
+						:clearable="false" 
+						placeholder="请输入积分数"
+						/>
+						<view slot="right" style="color: #D18C42;">积分</view>
+					</u-form-item>
+				</u-form>
+				<u-button size="medium" shape="circle" :custom-style="customStyle1" @click="update">确定</u-button>
+				<u-button size="medium" shape="circle" :custom-style="customStyle2" @click="showPopup=false">取消</u-button>
+			</view>
+		</u-popup>
 	</view>
 </template>
 
@@ -84,6 +132,17 @@
 					use: true,
 					auto: false // 不自动加载
 				},
+				showPopup:false,
+				consumeOnePoint:'',
+				customStyle1:{
+					backgroundColor:'#D18C42',
+					color:'#fff',
+					marginBottom:'20rpx',
+					width:'400rpx'
+				},
+				customStyle2:{
+					width:'400rpx'
+				},
 			}
 		},
 		watch:{
@@ -111,8 +170,21 @@
 		},
 		onReady() {
 			this.getElInfo()
+			this.selectedMall = this.$cache.get("selectedMall")
 		},
 		methods: {
+			update(){
+				let params = {
+					id: this.vuex_shopId,
+					consumeOnePoint:this.selectedMall.consumeOnePoint,
+					point:this.selectedMall.point,
+					pointValue:this.selectedMall.pointValue
+				}
+				this.$api.memberCenter.update(params).then(res => {
+					this.$cache.put("selectedMall",this.selectedMall)
+					this.showPopup = false
+				})
+			},
 			async getElInfo() {
 				let rectInfo = await this.$u.getRect('.tableTitle');
 				this.height=this.$u.sys().windowHeight - rectInfo.top + 'px'
@@ -179,29 +251,53 @@
 		border-radius: 20rpx;
 		margin: 30rpx 20rpx;
 		padding: 50rpx;
-		display: flex;
-		justify-content: space-around;
 		background-image: linear-gradient(to right, #272A46, #30355D);
-
-		view {
+		color: #fff;
+		position: relative;
+		.leftFixed{
+			padding:0 10rpx;
+			font-size: 22rpx;
+			height: 40rpx;
+			line-height: 40rpx;
+			background-color: $base-color;
+			color: #fff;
+			position: absolute;
+			top: 20rpx;
+			left: 0;
+			border-top-right-radius: 25px;
+			border-bottom-right-radius: 25px;
+		}
+		.item {
 			display: flex;
 			flex-direction: column;
 			text-align: center;
-
+			align-items: center;
+			justify-content: center;
+			flex:1;
+			margin-top: 30rpx;
 			text:first-child {
 				margin-bottom: 10rpx;
 				color: #FFFFFF;
 				font-weight: 800;
 				font-size: 40rpx;
 			}
-
+		
 			text:last-child {
 				font-size: 26rpx;
 				color: #D0D4EE;
 			}
 		}
 	}
-
+	.u-popup-content{
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+		padding: 30rpx;
+		u-form{
+			margin: 60rpx 0;
+			width: 500rpx;
+		}
+	}
 	.card {
 		width: 100%;
 		background-color: #FFFFFF;