Преглед на файлове

Signed-off-by: xiezongxing <xx123456>

xiezongxing преди 2 години
родител
ревизия
9d878a9cbd
променени са 5 файла, в които са добавени 285 реда и са изтрити 33 реда
  1. 2 2
      main.js
  2. 6 0
      pages.json
  3. 71 30
      pages/order/createOrder.vue
  4. 57 1
      pages/order/order.vue
  5. 149 0
      pages/store/index.vue

+ 2 - 2
main.js

@@ -4,8 +4,8 @@ import App from './App'
 
 // 后端api地址
 //Vue.prototype.$unishow = "https://81f.dev.ytxxjs.cn/addons/unishop";
-//Vue.prototype.$unishow = "https://81fdev.dev.ytxxjs.cn/addons/unishop";
-Vue.prototype.$unishow = "https://81f.ytxxjs.cn/addons/unishop";
+Vue.prototype.$unishow = "https://81fdev.dev.ytxxjs.cn/addons/unishop";
+//Vue.prototype.$unishow = "https://81f.ytxxjs.cn/addons/unishop";
 
 // 为了方便每次上传的时候忘记修改上面的参数
 uni.getSystemInfo({

+ 6 - 0
pages.json

@@ -180,6 +180,12 @@
                 "navigationBarTitleText" : ""
             }
         },
+		{
+		    "path" : "pages/store/index",
+		    "style" : {
+		        "navigationBarTitleText" : "选择网点"
+		    }
+		},
         {
             "path" : "pages/money/pay",
             "style" : {

Файловите разлики са ограничени, защото са твърде много
+ 71 - 30
pages/order/createOrder.vue


+ 57 - 1
pages/order/order.vue

@@ -47,7 +47,9 @@
 							<button class="action-btn recom" v-if="item.have_paid == 0" @click.stop="button('pay',item)">立即支付</button>
 							<!-- <button class="action-btn" v-if="item.have_paid != 0 && item.have_delivered == 0">提醒发货</button> -->
 							<button class="action-btn" v-if="item.have_paid != 0 && item.extend.express_number != ''" @click.stop="button('delivery',item)">查看物流</button>
-							<button class="action-btn" v-if="item.have_paid != 0 && item.have_received == 0" @click.stop="button('recerved',item)">确认收货</button>
+							
+							<button class="action-btn" @click.stop="writeOff(item)" v-if="item.status == 2 && item.have_paid != 0 && item.have_received == 0">核销</button>
+							<button class="action-btn" v-if="item.status == 1 && item.have_paid != 0 && item.have_received == 0" @click.stop="button('recerved',item)">确认收货</button>
 							<!-- <button class="action-btn" v-if="item.have_received != 0 && item.have_commented != 0">追加评价</button> -->
 							<!--<button class="action-btn" v-if="item.have_paid != 0" @click.stop="button('refund', item)">申请售后</button>-->
 						</view>
@@ -59,6 +61,10 @@
 				</scroll-view>
 			</swiper-item>
 		</swiper>
+		<view class="write_off_image_panel"  v-if="isShowWriteOffImage" @click="hideWriteOffImage">
+			<image :src="writeOffImage"></image>
+			<button>关闭</button>
+		</view>
 	</view>
 </template>
 
@@ -73,6 +79,8 @@
 		data() {
 			return {
 				tabCurrentIndex: 0,
+				isShowWriteOffImage: false,
+				writeOffImage: '',
 				navList: [{
 						state: 0,
 						text: '全部',
@@ -200,6 +208,17 @@
 			tabClick(index) {
 				this.tabCurrentIndex = index;
 			},
+			
+			async writeOff(item){
+				const order_id = item.order_id;
+				let access_token = uni.getStorageSync('access_token');
+				let result = await this.$api.request('/order/writeOff', 'POST', {order_id: order_id, access_token: access_token})
+				if(result) {
+					this.isShowWriteOffImage = true;
+					this.writeOffImage = result.base64;
+				}
+			},
+			
 			//删除订单
 			async deleteOrder(index) {
 				let [error, res] = await uni.showModal({
@@ -408,6 +427,9 @@
 					}
 				];
 				this.loadData();
+			},
+			hideWriteOffImage () {
+				this.isShowWriteOffImage = false;
 			}
 		},
 	}
@@ -790,4 +812,38 @@
 			opacity: .2
 		}
 	}
+	
+	.write_off_image_panel {
+		position: fixed;
+		left: 0px;
+		top: 0px;
+		width: 100%;
+		height: 100%;
+		background: #00000080;
+		
+		image {
+			width: 16em;
+			height: 16em;
+			position: absolute;
+			left: 50%;
+			top: 50%;
+			margin-left: -8em;
+			margin-top: -10em;
+			border-radius: 8px;
+		}
+		
+		button {
+			position: absolute;
+			left: 50%;
+			top: 50%;
+			margin-left: -8em;
+			margin-top: 8em;
+			width: 16em;
+			height: 3em;
+			line-height: 3em;
+			background: #fffff;
+			text-align: center;
+			display: block;
+		}
+	}
 </style>

+ 149 - 0
pages/store/index.vue

@@ -0,0 +1,149 @@
+<template>
+	<view class="content b-t">
+		<view class="list b-b" v-for="(item, index) in addressList" :key="index" @click="checkAddress(item)">
+			<view class="wrapper">
+				<view class="address-box">
+					<text v-if="item.is_default" class="tag">默认</text>
+					<text class="address">{{item.storeaddress}}</text>
+				</view>
+				<view class="u-box">
+					<text class="name">{{item.storename}}</text>
+					<text class="mobile">{{item.phone}}</text>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				source: 0,
+				addressList: []
+			}
+		},
+		onLoad(option) {
+			this.source = option.source;
+		},
+		onShow() {
+			this.getList();
+		},
+		methods: {
+			//获取我的收货地址
+			async getList() {
+				let data = await this.$api.request('/store/index', 'POST', {
+					page: 1,
+					pagesize: 9999,
+					lng: '114.93609',
+					lat: '25.82162'
+				});
+				if (data && data.list) {
+					this.addressList = data.list;
+				}
+			},
+			//选择地址
+			checkAddress(item) {
+				if (this.source == 1) {
+					//this.$api.prePage()获取上一页实例,在App.vue定义
+					this.$api.prePage().storeData = item;
+					uni.navigateBack()
+				}
+			},
+			//添加或修改成功之后回调
+			refreshList(data, type) {
+				//添加或修改后事件,这里直接在最前面添加了一条数据,实际应用中直接刷新地址列表即可
+				this.addressList.unshift(data);
+			}
+		}
+	}
+</script>
+
+<style lang='scss'>
+	page {
+		padding-bottom: 120upx;
+	}
+
+	.content {
+		position: relative;
+	}
+
+	.list {
+		display: flex;
+		align-items: center;
+		padding: 20upx 30upx;
+		;
+		background: #fff;
+		position: relative;
+	}
+
+	.wrapper {
+		display: flex;
+		flex-direction: column;
+		flex: 1;
+	}
+
+	.address-box {
+		display: flex;
+		align-items: center;
+
+		.tag {
+			font-size: 24upx;
+			color: $base-color;
+			margin-right: 10upx;
+			background: #fffafb;
+			border: 1px solid #ffb4c7;
+			border-radius: 4upx;
+			padding: 4upx 10upx;
+			line-height: 1;
+		}
+
+		.address {
+			font-size: 30upx;
+			color: $font-color-dark;
+		}
+	}
+
+	.u-box {
+		font-size: 28upx;
+		color: $font-color-light;
+		margin-top: 16upx;
+
+		.name {
+			margin-right: 30upx;
+		}
+	}
+
+	.icon-bianji {
+		display: flex;
+		align-items: center;
+		height: 80upx;
+		font-size: 40upx;
+		color: $font-color-light;
+		padding-left: 30upx;
+	}
+
+	.icon-lajitong {
+		color: $font-color-light;
+		padding-left: 25rpx;
+	}
+
+
+	.add-btn {
+		position: fixed;
+		left: 30upx;
+		right: 30upx;
+		bottom: 16upx;
+		z-index: 95;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		width: 690upx;
+		height: 80upx;
+		font-size: 32upx;
+		color: #fff;
+		background-color: $base-color;
+		border-radius: 10upx;
+		box-shadow: 1px 2px 5px rgba(219, 63, 96, 0.4);
+	}
+</style>