cmy 1 year ago
parent
commit
0b6e5b3808
100 changed files with 3041 additions and 65 deletions
  1. 105 0
      api/rent.js
  2. 97 0
      pages.json
  3. 1 1
      pages/rent/carpay/carDetail.vue
  4. 4 4
      pages/rent/control/authList.vue
  5. 1 1
      pages/rent/order/onBindCar.vue
  6. 7 1
      pages/rent/order/orderDetail.vue
  7. 1 41
      pages/rent/order/orderList.vue
  8. 300 0
      pages/rent/sponsor/carList.vue
  9. 450 0
      pages/rent/store/carList.vue
  10. 156 0
      pages/rent/store/changeBindCar.vue
  11. 514 0
      pages/rent/store/draw.vue
  12. 186 0
      pages/rent/store/money.vue
  13. 288 0
      pages/rent/store/outBindCar.vue
  14. 458 0
      pages/rent/store/outBindCarList.vue
  15. 156 0
      pages/rent/store/qrBindCar.vue
  16. 1 1
      pages/renttab/index.vue
  17. 136 12
      pages/user/index.vue
  18. 12 4
      static/css/base.css
  19. BIN
      static/images/user-icon-1.png
  20. BIN
      static/images/user-icon-2.png
  21. BIN
      static/images/user-icon-3.png
  22. BIN
      static/images/user-icon-4.png
  23. BIN
      static/images/user-icon-5.png
  24. BIN
      static/images/user-icon-6.png
  25. BIN
      static/images/user-icon-7.png
  26. BIN
      unpackage/cache/apk/__UNI__9417D5E_cm.apk
  27. 1 0
      unpackage/cache/apk/apkurl
  28. 0 0
      unpackage/cache/apk/cmManifestCache.json
  29. 3 0
      unpackage/cache/certdata
  30. 4 0
      unpackage/cache/cloudcertificate/certini
  31. BIN
      unpackage/cache/cloudcertificate/package.keystore
  32. BIN
      unpackage/cache/wgt/__UNI__9417D5E/.manifest/icon-android-hdpi.png
  33. BIN
      unpackage/cache/wgt/__UNI__9417D5E/.manifest/icon-android-xhdpi.png
  34. BIN
      unpackage/cache/wgt/__UNI__9417D5E/.manifest/icon-android-xxhdpi.png
  35. BIN
      unpackage/cache/wgt/__UNI__9417D5E/.manifest/icon-android-xxxhdpi.png
  36. 0 0
      unpackage/cache/wgt/__UNI__9417D5E/__uniappchooselocation.js
  37. BIN
      unpackage/cache/wgt/__UNI__9417D5E/__uniapperror.png
  38. 0 0
      unpackage/cache/wgt/__UNI__9417D5E/__uniappes6.js
  39. 0 0
      unpackage/cache/wgt/__UNI__9417D5E/__uniappopenlocation.js
  40. 0 0
      unpackage/cache/wgt/__UNI__9417D5E/__uniapppicker.js
  41. 6 0
      unpackage/cache/wgt/__UNI__9417D5E/__uniappquill.js
  42. 0 0
      unpackage/cache/wgt/__UNI__9417D5E/__uniappquillimageresize.js
  43. 0 0
      unpackage/cache/wgt/__UNI__9417D5E/__uniappscan.js
  44. BIN
      unpackage/cache/wgt/__UNI__9417D5E/__uniappsuccess.png
  45. 25 0
      unpackage/cache/wgt/__UNI__9417D5E/__uniappview.html
  46. 28 0
      unpackage/cache/wgt/__UNI__9417D5E/androidPrivacy.json
  47. 3 0
      unpackage/cache/wgt/__UNI__9417D5E/app-config-service.js
  48. 1 0
      unpackage/cache/wgt/__UNI__9417D5E/app-config.js
  49. 0 0
      unpackage/cache/wgt/__UNI__9417D5E/app-service.js
  50. 0 0
      unpackage/cache/wgt/__UNI__9417D5E/app-view.js
  51. BIN
      unpackage/cache/wgt/__UNI__9417D5E/components/update/images/close.png
  52. BIN
      unpackage/cache/wgt/__UNI__9417D5E/components/update/images/img.png
  53. BIN
      unpackage/cache/wgt/__UNI__9417D5E/components/update/images/round.png
  54. 0 0
      unpackage/cache/wgt/__UNI__9417D5E/manifest.json
  55. BIN
      unpackage/cache/wgt/__UNI__9417D5E/pages/activity/static/bargainBg.jpg
  56. BIN
      unpackage/cache/wgt/__UNI__9417D5E/pages/activity/static/buled.png
  57. BIN
      unpackage/cache/wgt/__UNI__9417D5E/pages/activity/static/bulet.jpg
  58. BIN
      unpackage/cache/wgt/__UNI__9417D5E/pages/activity/static/couponBg.png
  59. BIN
      unpackage/cache/wgt/__UNI__9417D5E/pages/activity/static/greend.png
  60. BIN
      unpackage/cache/wgt/__UNI__9417D5E/pages/activity/static/greent.jpg
  61. BIN
      unpackage/cache/wgt/__UNI__9417D5E/pages/activity/static/groupLine.png
  62. BIN
      unpackage/cache/wgt/__UNI__9417D5E/pages/activity/static/lightning.png
  63. BIN
      unpackage/cache/wgt/__UNI__9417D5E/pages/activity/static/oranged.png
  64. BIN
      unpackage/cache/wgt/__UNI__9417D5E/pages/activity/static/oranget.jpg
  65. BIN
      unpackage/cache/wgt/__UNI__9417D5E/pages/activity/static/pinkd.png
  66. BIN
      unpackage/cache/wgt/__UNI__9417D5E/pages/activity/static/pinkt.jpg
  67. BIN
      unpackage/cache/wgt/__UNI__9417D5E/pages/activity/static/posterBag.png
  68. BIN
      unpackage/cache/wgt/__UNI__9417D5E/pages/activity/static/preBtnLeft.png
  69. BIN
      unpackage/cache/wgt/__UNI__9417D5E/pages/activity/static/presell_text.png
  70. BIN
      unpackage/cache/wgt/__UNI__9417D5E/pages/activity/static/priceBg.png
  71. BIN
      unpackage/cache/wgt/__UNI__9417D5E/pages/activity/static/priceTag.png
  72. BIN
      unpackage/cache/wgt/__UNI__9417D5E/pages/activity/static/redd.png
  73. BIN
      unpackage/cache/wgt/__UNI__9417D5E/pages/activity/static/redt.jpg
  74. BIN
      unpackage/cache/wgt/__UNI__9417D5E/pages/activity/static/vacancy.png
  75. BIN
      unpackage/cache/wgt/__UNI__9417D5E/pages/admin/static/pricetitle.jpg
  76. BIN
      unpackage/cache/wgt/__UNI__9417D5E/pages/admin/static/scan.gif
  77. BIN
      unpackage/cache/wgt/__UNI__9417D5E/pages/annex/static/error.png
  78. BIN
      unpackage/cache/wgt/__UNI__9417D5E/pages/annex/static/img.jpg
  79. BIN
      unpackage/cache/wgt/__UNI__9417D5E/pages/annex/static/offline-result.png
  80. 65 0
      unpackage/cache/wgt/__UNI__9417D5E/pages/annex/static/settledSuccessful.svg
  81. BIN
      unpackage/cache/wgt/__UNI__9417D5E/pages/annex/static/success.png
  82. BIN
      unpackage/cache/wgt/__UNI__9417D5E/pages/columnGoods/static/feed-icon.png
  83. 16 0
      unpackage/cache/wgt/__UNI__9417D5E/pages/columnGoods/static/yhxy.html
  84. 16 0
      unpackage/cache/wgt/__UNI__9417D5E/pages/columnGoods/static/yszc.html
  85. BIN
      unpackage/cache/wgt/__UNI__9417D5E/pages/goods/static/address-aleart-header.png
  86. BIN
      unpackage/cache/wgt/__UNI__9417D5E/pages/goods/static/font-left.png
  87. BIN
      unpackage/cache/wgt/__UNI__9417D5E/pages/goods/static/font-right.png
  88. BIN
      unpackage/cache/wgt/__UNI__9417D5E/pages/goods/static/head-l-point.png
  89. BIN
      unpackage/cache/wgt/__UNI__9417D5E/pages/goods/static/head-r-point.png
  90. BIN
      unpackage/cache/wgt/__UNI__9417D5E/pages/goods/static/lottery-bag.png
  91. BIN
      unpackage/cache/wgt/__UNI__9417D5E/pages/goods/static/lottery-click.png
  92. BIN
      unpackage/cache/wgt/__UNI__9417D5E/pages/goods/static/orderTime.png
  93. BIN
      unpackage/cache/wgt/__UNI__9417D5E/pages/goods/static/pay-lottery-bag.png
  94. BIN
      unpackage/cache/wgt/__UNI__9417D5E/pages/goods/static/pay-lottery-l.png
  95. BIN
      unpackage/cache/wgt/__UNI__9417D5E/pages/goods/static/pay-lottery-r.png
  96. BIN
      unpackage/cache/wgt/__UNI__9417D5E/pages/goods/static/shuoming.png
  97. BIN
      unpackage/cache/wgt/__UNI__9417D5E/pages/goods/static/writeOff.jpg
  98. BIN
      unpackage/cache/wgt/__UNI__9417D5E/pages/goods/static/written.png
  99. BIN
      unpackage/cache/wgt/__UNI__9417D5E/pages/points_mall/static/everyday.png
  100. BIN
      unpackage/cache/wgt/__UNI__9417D5E/pages/points_mall/static/exchange.png

+ 105 - 0
api/rent.js

@@ -151,3 +151,108 @@ export function deleteCarAuth(data) {
 	);
 }
 
+/**
+ * 门店扫码授权
+ * @param data object 
+ */
+export function postSetCarCode(data) {
+	return request.post(
+		`store/qrcar`, data
+	);
+}
+
+/**
+ * 门店车辆
+ * @param data object 
+ */
+export function postStoreCarCode(data) {
+	return request.post(
+		`store/car`, data
+	);
+}
+/**
+ * 门店流水
+ * @param data object 
+ */
+export function getStoreBill(data) {
+	return request.get(
+		`store/bill`, data
+	);
+}
+
+/**
+ * 门店信息
+ * @param data object 
+ */
+export function postStoreMy(data) {
+	return request.get(
+		`store/my`, data
+	);
+}
+/**
+ * 门店提现
+ * @param data object 
+ */
+export function postStoreCase(data) {
+	return request.post(
+		`store/case`, data
+	);
+}
+
+/**
+ * 出资人库存
+ * @param data object 
+ */
+export function postSponsorCar(data) {
+	return request.post(
+		`sponsor/car_stock`, data
+	);
+}
+/**
+ * 出资人流水
+ * @param data object 
+ */
+export function getSponsorbill(data) {
+	return request.post(
+		`sponsor/bill`, data
+	);
+}
+
+
+/**
+ * 门店申请
+ * @param data object 
+ */
+export function storeApply(data) {
+	return request.get(
+		`store/apply`, data
+	);
+}
+/**
+ * 申请详情
+ * @param data object 
+ */
+export function getStoreApplyId(data) {
+	return request.get(
+		`v3/store/apply/${data.id}`, data
+	);
+}
+/**
+ * 申请提交
+ * @param data object 
+ */
+export function postStoreApplyId(data) {
+	return request.post(
+		`store/apply/${data.id}`, data
+	);
+}
+
+/**
+ * 申请撤销
+ * @param data object 
+ */
+export function delStoreApplyId(data) {
+	return request.delete(
+		`store/apply/${data.id}`, data
+	);
+}

+ 97 - 0
pages.json

@@ -207,6 +207,103 @@
 							// #endif
 						}
 					}
+				},
+				{
+					"path": "store/qrBindCar",
+					"style": {
+						"navigationBarTitleText": "车辆绑定",
+						"app-plus": {
+							// #ifdef APP-PLUS
+							"titleNView": {
+								"type": "default"
+							}
+							// #endif
+						}
+					}
+				},
+				{
+					"path": "store/outBindCarList",
+					"style": {
+						"navigationBarTitleText": "解换绑申请",
+						"app-plus": {
+							// #ifdef APP-PLUS
+							"titleNView": {
+								"type": "default"
+							}
+							// #endif
+						}
+					}
+				},
+				{
+					"path": "store/outBindCar",
+					"style": {
+						"navigationBarTitleText": "车辆解绑/换绑",
+						"app-plus": {
+							// #ifdef APP-PLUS
+							"titleNView": {
+								"type": "default"
+							}
+							// #endif
+						}
+					}
+				},
+				{
+					"path": "store/carList",
+					"style": {
+						"navigationBarTitleText": "门店车辆",
+						"app-plus": {
+							// #ifdef APP-PLUS
+							"titleNView": {
+								"type": "default"
+							}
+							// #endif
+						}
+					}
+				},
+				{
+					"path": "store/money",
+					"style": {
+						"navigationBarTitleText": "资金流水",
+						"app-plus": {
+							// #ifdef APP-PLUS
+							"titleNView": {
+								"type": "default"
+							}
+							// #endif
+						}
+					}
+				},
+				{
+					"path": "store/draw",
+					"style": {
+						"navigationBarTitleText": "门店提现",
+						"navigationBarBackgroundColor": "#FFFFFF"
+							// #ifdef MP || APP-PLUS
+							,
+						"navigationBarTextStyle": "black"
+							// #endif
+							,
+						"app-plus": {
+							// #ifdef APP-PLUS
+							"titleNView": {
+								"type": "default"
+							}
+							// #endif
+						}
+					}
+				},
+				{
+					"path": "sponsor/carList",
+					"style": {
+						"navigationBarTitleText": "车辆管理",
+						"app-plus": {
+							// #ifdef APP-PLUS
+							"titleNView": {
+								"type": "default"
+							}
+							// #endif
+						}
+					}
 				}
 			]
 		}, { // 模块分包

+ 1 - 1
pages/rent/carpay/carDetail.vue

@@ -238,7 +238,7 @@
 					let status = res.data.status,
 					orderId = res.data.result.order_id,
 					jsConfig = res.data.result.jsConfig,
-					goPages = '/pages/rent/paySuccess?order_id=' + orderId + '&msg=' + res.msg +
+					goPages = '/pages/rent/carpay/paySuccess?order_id=' + orderId + '&msg=' + res.msg +
 					'&type=3' + '&totalPrice=' + that.storeInfo.price,
 					friendPay = '/pages/users/payment_on_behalf/index?order_id=' + orderId + '&spread=' +
 					that.$store.state.app.uid

+ 4 - 4
pages/rent/control/authList.vue

@@ -100,7 +100,7 @@
 		<navigator :url="`./auth?id=`+id">
 			<button class='modifyBnt acea-row row-middle row-center'>
 				<text>
-			{{$t(`新增授权`)}}
+					{{$t(`新增授权`)}}
 				</text>
 			</button>
 		</navigator>
@@ -157,7 +157,7 @@
 		},
 		methods: {
 			// 撤销授权
-			outAuth(id,ind) {
+			outAuth(id, ind) {
 				const that = this;
 				uni.showLoading({
 					title: '申请撤销授权中',
@@ -170,7 +170,7 @@
 					uni.showToast({
 						title: '撤销授权成功'
 					});
-					that.list.splice(ind,1)
+					that.list.splice(ind, 1)
 				}).catch((res) => {
 					uni.hideLoading()
 				})
@@ -300,7 +300,7 @@
 		position: fixed;
 		bottom: 30rpx;
 		left: 30rpx;
-		border: 2px solid #FFF;
+		// border: 2px solid #FFF;
 		font-size: 32rpx;
 		color: #fff;
 		width: 690rpx;

+ 1 - 1
pages/rent/order/onBindCar.vue

@@ -53,7 +53,7 @@
 					</view>
 				</view>
 
-				<button class='modifyBnt bg-color' formType="submit">{{$t(`保存修改`)}}</button>
+				<button class='modifyBnt bg-color' formType="submit">{{$t(`绑定车辆`)}}</button>
 			</view>
 		</form>
 	</view>

+ 7 - 1
pages/rent/order/orderDetail.vue

@@ -211,8 +211,14 @@
 					id,
 					machine_no: content
 				}).then((res) => {
-
+					uni.showToast({
+						title:res.msg,
+					})
 				}).catch((res) => {
+					uni.showToast({
+						title:res,
+						icon:'error'
+					})
 					console.log(res);
 				})
 			},

+ 1 - 41
pages/rent/order/orderList.vue

@@ -103,7 +103,7 @@
 			<view v-if="orderList.length == 0">
 				<emptyPage v-if="!loading" :title="$t(`暂无订单`)"></emptyPage>
 				<view class="loadingicon acea-row row-center-wrapper">
-					<text class="loading iconfont icon-jiazai" :hidden="loading == false"></text>
+					<text class="loading iconfont icon-jiazai font-color-white" :hidden="loading == false"></text>
 				</view>
 			</view>
 		</view>
@@ -116,9 +116,6 @@
 </template>
 
 <script>
-	import {
-		orderDel,
-	} from '@/api/order.js';
 	import {
 		getUserInfo
 	} from '@/api/user.js';
@@ -740,43 +737,6 @@
 						that.loadTitle = that.$t(`加载更多`);
 					});
 			},
-
-			/**
-			 * 删除订单
-			 */
-			delOrder: function(order_id, index) {
-				let that = this;
-				uni.showModal({
-					title: that.$t(`删除订单`),
-					content: that.$t(`确定删除该订单`),
-					success: function(res) {
-						if (res.confirm) {
-							orderDel(order_id)
-								.then(res => {
-									that.orderList.splice(index, 1);
-									that.$set(that, 'orderList', that.orderList);
-									that.$set(that.orderData, 'unpaid_count', that.orderData
-										.unpaid_count - 1);
-									that.getRentOrderData();
-									return that.$util.Tips({
-										title: that.$t(`删除成功`),
-										icon: 'success'
-									});
-								})
-								.catch(err => {
-									return that.$util.Tips({
-										title: err
-									});
-								});
-						} else if (res.cancel) {
-							return that.$util.Tips({
-								title: that.$t(`已取消`)
-							});
-						}
-					}
-				});
-
-			}
 		},
 		onReachBottom: function() {
 			this.getRentOrder();

+ 300 - 0
pages/rent/sponsor/carList.vue

@@ -0,0 +1,300 @@
+<template>
+	<view :style="colorStyle">
+		<view class="my-order">
+			<view class="list">
+				<view class="item" v-for="(item,ind) in orderList">
+					<view class="acea-row">
+						<view class="title line2">
+							{{item.add_time}}
+						</view>
+					</view>
+					<view class="machine ">
+						<view class="acea-row row-between">
+							<view class="it">
+								出价:{{item.price}}
+							</view>
+							<view class="status">
+								分红:{{item.dividend_price}}
+							</view>
+							<view class="status">
+								已分红:{{item.paid_dividend}}
+							</view>
+						</view>
+					</view>
+					<view class="machine acea-row row-between-wrapper">
+
+						<view class="acea-row row-left">
+							<view class="it">
+								编号:
+							</view>
+							<view class="code">
+								{{item.machine_no}}
+
+							</view>
+						</view>
+						<view class="acea-row row-rightss" v-if="item.plate_number">
+							<view class="it">
+								车牌号:
+							</view>
+							<view class="code">
+								{{item.plate_number}}
+							</view>
+						</view>
+						<view class="acea-row row-rightss">
+							<view class="font-color-blue" v-if="item.store_binding==1">
+								已绑定
+							</view>
+							<view class="font-color-white" v-else>
+								未绑定
+							</view>
+						</view>
+					</view>
+					<view v-if="item.status==0" class="text_red tip ">
+						待租
+					</view>
+					<view v-if="item.status==1" class="text_blue tip">
+						进行中
+					</view>
+					<view v-if="item.status==1" class="text_greed tip">
+						完成
+					</view>
+				</view>
+			</view>
+			<view class="loadingicon acea-row row-center-wrapper font-color-white" v-if="orderList.length > 0">
+				<text class="loading iconfont icon-jiazai" :hidden="loading == false"></text>
+				{{ loadTitle }}
+			</view>
+			<view v-if="orderList.length == 0">
+				<emptyPage v-if="!loading" :title="$t(`暂无订单`)"></emptyPage>
+				<view class="loadingicon acea-row row-center-wrapper">
+					<text class="loading iconfont icon-jiazai font-color-white" :hidden="loading == false"></text>
+				</view>
+			</view>
+		</view>
+		<!-- #ifndef MP -->
+		<home></home>
+		<!-- #endif -->
+	</view>
+</template>
+
+<script>
+	import {
+		postSponsorCar,
+	} from '@/api/rent.js';
+	import home from '@/components/home';
+	import {
+		toLogin
+	} from '@/libs/login.js';
+	import {
+		mapGetters
+	} from 'vuex';
+	import emptyPage from '@/components/emptyPage.vue';
+	import colors from '@/mixins/color.js';
+	export default {
+		components: {
+			home,
+			emptyPage,
+		},
+		mixins: [colors],
+		data() {
+			return {
+				searchKey: '',
+				onAll: -1, //是否全部
+				available: -1, //是否欠费
+				binding: -1, //是否绑定车辆
+				loading: false, //是否加载中
+				loadend: false, //是否加载完毕
+				loadTitle: this.$t(`加载更多`), //提示语
+				orderList: [], //订单数组
+				orderData: {}, //订单详细统计
+				page: 1,
+				limit: 20,
+				pay_close: false,
+				pay_order_id: '',
+				totalPrice: '0',
+				// 保存当前订单数据
+				actionOrder: {},
+				payLoding: false, //判断是否支付中
+			};
+		},
+		computed: mapGetters(['isLogin']),
+		onShow() {
+			if (this.isLogin) {
+				this.page = 1;
+				this.orderList = []
+				this.loadend = false;
+				this.getRentOrder();
+			} else {
+				toLogin();
+			}
+		},
+		methods: {
+			// 回车查询
+			inputConfirm: function(event) {
+				if (event.detail.value) {
+					uni.hideKeyboard();
+					this.searchBut(event.detail.value);
+				}
+			},
+			// 查询
+			searchBut() {
+				this.loadend = false;
+				this.page = 1;
+				this.orderList = [];
+				uni.showLoading({
+					title: this.$t(`正在搜索中`)
+				});
+				this.getRentOrder();
+				uni.hideLoading();
+			},
+			// 设置查询值
+			setValue: function(event) {
+				this.$set(this, 'searchKey', event.detail.value);
+			},
+			/**
+			 * 切换类型
+			 */
+			statusClick: function(status) {
+				if (status == 2 || status == 3) {
+					if ((status == 2 && this.binding == 0) || (status == 3 && this.binding == 1)) {
+						return;
+					}
+					if (status == 2) {
+						this.binding = 0;
+					} else
+					if (status == 3) {
+						this.binding = 1;
+					}
+				}
+				if (status == 0 || status == 1) {
+					if (status == this.available) {
+						return;
+					}
+					this.available = status;
+				}
+				if (status == -1) {
+					if (status == this.onAll) {
+						return;
+					} else {
+						this.onAll = status;
+						this.binding = -1;
+						this.available = -1;
+					}
+				} else {
+					this.onAll = 1;
+				}
+				this.loadend = false;
+				this.page = 1;
+				this.$set(this, 'orderList', []);
+				this.getRentOrder();
+			},
+			/**
+			 * 获取订单列表
+			 */
+			getRentOrder: function() {
+				let that = this;
+				if (that.loadend) return;
+				if (that.loading) return;
+				that.loading = true;
+				that.loadTitle = that.$t(`加载更多`);
+				postSponsorCar({
+						is_available: that.available,
+						binding: that.binding,
+						page: that.page,
+						limit: that.limit,
+						key: that.searchKey
+					})
+					.then(res => {
+						let list = res.data.list || [];
+						let loadend = list.length < that.limit;
+						that.orderList = that.$util.SplitArray(list, that.orderList);
+						that.$set(that, 'orderList', that.orderList);
+						that.loadend = loadend;
+						that.loading = false;
+						that.loadTitle = loadend ? that.$t(`没有更多内容啦~`) : that.$t(`加载更多`);
+						that.page = that.page + 1;
+					})
+					.catch(err => {
+						that.loading = false;
+						that.loadTitle = that.$t(`加载更多`);
+					});
+			},
+		},
+		onReachBottom: function() {
+			this.getRentOrder();
+		},
+		// 滚动监听
+		onPageScroll(e) {
+			// 传入scrollTop值并触发所有easy-loadimage组件下的滚动监听事件
+			uni.$emit('scroll');
+		},
+	};
+</script>
+
+<style scoped lang="scss">
+	.list {
+		padding: 30rpx;
+		.item {
+			position: relative;
+			background-color: var(--view-theme-16);
+			padding: 30rpx;
+			border-radius: 10rpx;
+			margin-bottom: 20rpx;
+			overflow: hidden;
+
+			.title {
+				font-weight: bold;
+				font-size: $uni-font-size-base;
+				color: #fff;
+			}
+
+			.machine {
+				font-size: $uni-font-size-sm;
+				color: #999999;
+				margin-top: 20rpx;
+
+				.code {
+					color: var(--view-priceColor);
+					background-color: rgba(#75EFFA, 0.2);
+					padding: 5rpx 10rpx;
+					border-radius: 10rpx;
+				}
+			}
+
+			.img {
+				width: 40rpx;
+				height: 40rpx;
+			}
+
+			.tip {
+				position: absolute;
+				top: 0;
+				right: 0;
+				padding: 5rpx 20rpx;
+				font-size: 20rpx;
+				border-bottom-left-radius: 10rpx;
+
+				&.text_greed {
+					color: #49D8A8;
+					background-color: rgba(#49D8A8, 0.2);
+				}
+
+				&.text_red {
+					color: rgba(254, 92, 45, 1);
+					background-color: rgba(rgba(254, 92, 45, 1), 0.2);
+				}
+
+				&.text_blue {
+					color: #1db0fc;
+					background-color: rgba(#1db0fc, 0.2);
+				}
+			}
+		}
+	}
+
+	.my-order {
+		background-color: var(--view-theme);
+		min-height: 100vh;
+	}
+
+</style>

+ 450 - 0
pages/rent/store/carList.vue

@@ -0,0 +1,450 @@
+<template>
+	<view :style="colorStyle">
+		<view class="my-order">
+			<view class="nav acea-row row-around">
+				<view class="item" :class="onAll ==-1 ? 'on' : ''" @click="statusClick(-1)">
+					<view>{{$t(`全部`)}}</view>
+				</view>
+				<view class="item" :class="available == 0 ? 'on' : ''" @click="statusClick(0)">
+					<view>{{$t(`欠费`)}}</view>
+				</view>
+				<view class="item" :class="available == 1 ? 'on' : ''" @click="statusClick(1)">
+					<view>{{$t(`正常`)}}</view>
+				</view>
+				<view class="item" :class="binding == 0 ? 'on' : ''" @click="statusClick(2)">
+					<view>{{$t(`未绑定`)}}</view>
+				</view>
+				<view class="item" :class="binding == 1 ? 'on' : ''" @click="statusClick(3)">
+					<view>{{$t(`已绑定`)}}</view>
+				</view>
+			</view>
+			<view class='search acea-row row-between-wrapper'>
+				<view class='input acea-row row-between-wrapper'>
+					<text class='iconfont icon-sousuo'></text>
+					<input type='text' v-model='searchKey' @confirm="inputConfirm" focus :placeholder='$t(`姓名/手机号/车辆编号`)'
+						placeholder-class='placeholder' @input="setValue"></input>
+				</view>
+				<view class='bnt' @tap='searchBut'>{{$t(`搜索`)}}</view>
+			</view>
+			<view class="list">
+				<view class="item" v-for="(item,ind) in orderList">
+					<view class="acea-row">
+						<image class="img" src="../static/cart.png" mode="scaleToFill"></image>
+						<view class="title line2">
+							{{item.machine_name}}
+						</view>
+					</view>
+					<view class="machine ">
+						<view class="acea-row row-between">
+							<view class="it">
+								当前位置:{{item.address?item.address:'未定位'}}
+							</view>
+							<view class="status">
+								电量:{{item.residue}}%
+							</view>
+						</view>
+					</view>
+					<view class="machine acea-row row-between-wrapper">
+
+						<view class="acea-row row-left">
+							<view class="it">
+								编号:
+							</view>
+							<view class="code">
+								{{item.machine_no}}
+
+							</view>
+						</view>
+						<view class="acea-row row-rightss" v-if="item.plate_number">
+							<view class="it">
+								车牌号:
+							</view>
+							<view class="code">
+								{{item.plate_number}}
+							</view>
+						</view>
+						<view class="acea-row row-rightss" v-if="item.plate_number">
+							<view class="font-color-blue" v-if="item.relevance_id">
+								已绑定
+							</view>
+							<view class="font-color-white" v-if="!item.relevance_id">
+								未绑定
+							</view>
+						</view>
+					</view>
+					<view v-if="item.is_available==0" class="text_red tip ">
+						欠费
+					</view>
+					<!-- <view v-if="item.is_available==1" class="text_blue tip">
+						正常
+					</view> -->
+					<view v-if="item.is_available==1" class="text_greed tip">
+						正常
+					</view>
+				</view>
+			</view>
+			<view class="loadingicon acea-row row-center-wrapper font-color-white" v-if="orderList.length > 0">
+				<text class="loading iconfont icon-jiazai" :hidden="loading == false"></text>
+				{{ loadTitle }}
+			</view>
+			<view v-if="orderList.length == 0">
+				<emptyPage v-if="!loading" :title="$t(`暂无订单`)"></emptyPage>
+				<view class="loadingicon acea-row row-center-wrapper">
+					<text class="loading iconfont icon-jiazai font-color-white" :hidden="loading == false"></text>
+				</view>
+			</view>
+		</view>
+		<!-- #ifndef MP -->
+		<home></home>
+		<!-- #endif -->
+	</view>
+</template>
+
+<script>
+	import {
+		postStoreCarCode,
+	} from '@/api/rent.js';
+	import home from '@/components/home';
+	import {
+		toLogin
+	} from '@/libs/login.js';
+	import {
+		mapGetters
+	} from 'vuex';
+	import emptyPage from '@/components/emptyPage.vue';
+	import colors from '@/mixins/color.js';
+	export default {
+		components: {
+			home,
+			emptyPage,
+		},
+		mixins: [colors],
+		data() {
+			return {
+				searchKey: '',
+				onAll: -1, //是否全部
+				available: -1, //是否欠费
+				binding: -1, //是否绑定车辆
+				loading: false, //是否加载中
+				loadend: false, //是否加载完毕
+				loadTitle: this.$t(`加载更多`), //提示语
+				orderList: [], //订单数组
+				orderData: {}, //订单详细统计
+				page: 1,
+				limit: 20,
+				pay_close: false,
+				pay_order_id: '',
+				totalPrice: '0',
+				// 保存当前订单数据
+				actionOrder: {},
+				payLoding: false, //判断是否支付中
+			};
+		},
+		computed: mapGetters(['isLogin']),
+		onShow() {
+			if (this.isLogin) {
+				this.page = 1;
+				this.orderList = []
+				this.loadend = false;
+				this.getRentOrder();
+			} else {
+				toLogin();
+			}
+		},
+		methods: {
+			// 回车查询
+			inputConfirm: function(event) {
+				if (event.detail.value) {
+					uni.hideKeyboard();
+					this.searchBut(event.detail.value);
+				}
+			},
+			// 查询
+			searchBut() {
+				this.loadend = false;
+				this.page = 1;
+				this.orderList = [];
+				uni.showLoading({
+					title: this.$t(`正在搜索中`)
+				});
+				this.getRentOrder();
+				uni.hideLoading();
+			},
+			// 设置查询值
+			setValue: function(event) {
+				this.$set(this, 'searchKey', event.detail.value);
+			},
+			/**
+			 * 切换类型
+			 */
+			statusClick: function(status) {
+				if (status == 2 || status == 3) {
+					if ((status == 2 && this.binding == 0) || (status == 3 && this.binding == 1)) {
+						return;
+					}
+					if (status == 2) {
+						this.binding = 0;
+					} else
+					if (status == 3) {
+						this.binding = 1;
+					}
+				}
+				if (status == 0 || status == 1) {
+					if (status == this.available) {
+						return;
+					}
+					this.available = status;
+				}
+				if (status == -1) {
+					if (status == this.onAll) {
+						return;
+					} else {
+						this.onAll = status;
+						this.binding = -1;
+						this.available = -1;
+					}
+				} else {
+					this.onAll = 1;
+				}
+				this.loadend = false;
+				this.page = 1;
+				this.$set(this, 'orderList', []);
+				this.getRentOrder();
+			},
+			/**
+			 * 获取订单列表
+			 */
+			getRentOrder: function() {
+				let that = this;
+				if (that.loadend) return;
+				if (that.loading) return;
+				that.loading = true;
+				that.loadTitle = that.$t(`加载更多`);
+				postStoreCarCode({
+						is_available: that.available,
+						binding: that.binding,
+						page: that.page,
+						limit: that.limit,
+						key: that.searchKey
+					})
+					.then(res => {
+						let list = res.data || [];
+						let loadend = list.length < that.limit;
+						that.orderList = that.$util.SplitArray(list, that.orderList);
+						that.$set(that, 'orderList', that.orderList);
+						that.loadend = loadend;
+						that.loading = false;
+						that.loadTitle = loadend ? that.$t(`没有更多内容啦~`) : that.$t(`加载更多`);
+						that.page = that.page + 1;
+					})
+					.catch(err => {
+						that.loading = false;
+						that.loadTitle = that.$t(`加载更多`);
+					});
+			},
+		},
+		onReachBottom: function() {
+			this.getRentOrder();
+		},
+		// 滚动监听
+		onPageScroll(e) {
+			// 传入scrollTop值并触发所有easy-loadimage组件下的滚动监听事件
+			uni.$emit('scroll');
+		},
+	};
+</script>
+
+<style scoped lang="scss">
+	.list {
+		padding: 30rpx;
+		padding-top: 206rpx;
+
+		.item {
+			position: relative;
+			background-color: var(--view-theme-16);
+			padding: 30rpx;
+			border-radius: 10rpx;
+			margin-bottom: 20rpx;
+			overflow: hidden;
+
+			.title {
+				font-weight: bold;
+				font-size: $uni-font-size-lg;
+				color: #fff;
+				padding-left: 10rpx;
+			}
+
+			.machine {
+				font-size: $uni-font-size-sm;
+				color: #999999;
+				margin-top: 20rpx;
+
+				.code {
+					color: var(--view-priceColor);
+					background-color: rgba(#75EFFA, 0.2);
+					padding: 5rpx 10rpx;
+					border-radius: 10rpx;
+				}
+			}
+
+			.img {
+				width: 40rpx;
+				height: 40rpx;
+			}
+
+			.tip {
+				position: absolute;
+				top: 0;
+				right: 0;
+				padding: 5rpx 20rpx;
+				font-size: 20rpx;
+				border-bottom-left-radius: 10rpx;
+
+				&.text_greed {
+					color: #49D8A8;
+					background-color: rgba(#49D8A8, 0.2);
+				}
+
+				&.text_red {
+					color: rgba(254, 92, 45, 1);
+					background-color: rgba(rgba(254, 92, 45, 1), 0.2);
+				}
+
+				&.text_blue {
+					color: #1db0fc;
+					background-color: rgba(#1db0fc, 0.2);
+				}
+			}
+		}
+	}
+
+	.my-order {
+		background-color: var(--view-theme);
+		min-height: 100vh;
+
+		.search {
+			position: fixed;
+			top: 80rpx;
+			left: 0rpx;
+			z-index: 999;
+			padding-top: 30rpx;
+			padding-bottom: 30rpx;
+			padding-left: 30rpx;
+			background-color: var(--view-theme);
+			.bnt {
+				width: 120rpx;
+				text-align: center;
+				height: 66rpx;
+				line-height: 66rpx;
+				font-size: 30rpx;
+				color: #FFFFFF;
+			}
+
+			.input {
+				width: 598rpx;
+				background-color: #f7f7f7;
+				border-radius: 33rpx;
+				padding: 0 35rpx;
+				box-sizing: border-box;
+				height: 66rpx;
+
+				input {
+					width: 472rpx;
+					font-size: 28rpx;
+				}
+
+				.placeholder {
+					color: #999;
+				}
+
+				.iconfont {
+					color: #555;
+					font-size: 35rpx;
+				}
+			}
+		}
+
+		.header {
+			height: 260rpx;
+			padding: 0 30rpx;
+
+			.picTxt {
+				height: 190rpx;
+
+				.text {
+					color: rgba(255, 255, 255, 0.8);
+					font-size: 26rpx;
+					font-family: 'Guildford Pro';
+
+					.name {
+						font-size: 34rpx;
+						font-weight: bold;
+						color: #fff;
+						margin-bottom: 20rpx;
+					}
+
+				}
+
+				.pictrue {
+					width: 122rpx;
+					height: 109rpx;
+
+					image {
+						width: 100%;
+						height: 100%;
+					}
+
+				}
+			}
+		}
+
+		.nav {
+			background-color: var(--view-theme-16);
+			width: 690rpx;
+			height: 90rpx;
+			border-radius: 6rpx;
+			margin: 0 auto 0 auto;
+			position: fixed;
+			top: 0;
+			left: 0;
+			right: 0;
+			z-index: 9999;
+
+			.item {
+				text-align: center;
+				font-size: 26rpx;
+				color: #fff;
+				width: 3rem;
+				padding: 27rpx 0;
+				border-bottom: 5rpx solid transparent;
+
+				&.on {
+					/* #ifdef H5 || MP */
+					font-weight: bold;
+					/* #endif */
+					/* #ifdef APP-PLUS */
+					color: #000;
+					/* #endif */
+					border-color: var(--view-priceColor);
+				}
+			}
+		}
+
+	}
+
+	.noCart {
+		margin-top: 171rpx;
+		padding-top: 0.1rpx;
+
+		.pictrue {
+			width: 414rpx;
+			height: 336rpx;
+			margin: 78rpx auto 56rpx auto;
+
+			image {
+				width: 100%;
+				height: 100%;
+			}
+		}
+	}
+</style>

+ 156 - 0
pages/rent/store/changeBindCar.vue

@@ -0,0 +1,156 @@
+<template>
+	<view :style="colorStyle">
+		<form @submit="formSubmit">
+			<view class='personal-data'>
+				<view class='list'>
+					<view class='item acea-row row-between-wrapper'>
+						<view>{{$t(`车辆名称`)}}</view>
+						<view class='input'>
+							<input type='text' name='phone' v-model='carDateil.name' placeholder="请输入车辆名称"
+								class='id'></input>
+						</view>
+					</view>
+					<view class='item acea-row row-between-wrapper'>
+						<view>{{$t(`车牌号`)}}</view>
+						<view class='input'>
+							<input type='text' name='phone' v-model='carDateil.code' placeholder="请输入车牌号"
+								class='id'></input>
+						</view>
+					</view>
+					<view class='item acea-row row-between-wrapper'>
+						<view>车辆编号</view>
+						<view class='input acea-row row-between-wrapper'>
+							<input type='text' v-model='carDateil.machine_no' placeholder="请输入车辆编号" class='id'></input>
+							<!-- #ifndef H5 -->
+							<text @click='openQr' class=' iconfont icon-saoma'></text>
+							<!-- #endif -->
+						</view>
+					</view>
+				</view>
+			</view>
+			<button class='modifyBnt bg-color' formType="submit">{{$t(`提交保存`)}}</button>
+		</form>
+	</view>
+</template>
+
+<script>
+	import {
+		toLogin
+	} from '@/libs/login.js';
+	import {
+		postSetCarCode,
+	} from '@/api/rent.js';
+	import {
+		mapGetters
+	} from "vuex";
+	import colors from '@/mixins/color.js';
+	export default {
+		mixins: [colors],
+		data() {
+			return {
+				id: '',
+				carDateil: {
+					machine_no: '',
+					name: '',
+					code: '',
+				}
+			};
+		},
+		computed: mapGetters(['isLogin']),
+		onLoad(options) {
+			this.id = options.id
+			if (!this.isLogin) {
+				toLogin();
+			}
+		},
+		methods: {
+			// #ifndef H5
+			// 打开二维码
+			openQr() {
+				const that = this;
+				uni.scanCode({
+					onlyFromCamera: true,
+					scanType: ['barCode', 'qrCode', 'datamatrix', 'pdf417'],
+					success(res) {
+						that.carDateil.machine_no = res.result;
+					}
+				})
+			},
+			// #endif
+			// 提交绑定
+			formSubmit() {
+				uni.showLoading({
+					title: '绑定中',
+					mask: true
+				});
+				postSetCarCode({
+					machine_no: this.carDateil.machine_no,
+					machine_name: this.carDateil.name,
+					plate_number: this.carDateil.code,
+				}).then((res) => {
+					uni.hideLoading()
+					uni.showToast({
+						title: '绑定成功'
+					});
+					setTimeout(() => {
+						uni.switchTab({
+							url: '/pages/user/index'
+						})
+					}, 1000);
+				}).catch((res) => {
+					uni.hideLoading()
+					uni.showToast({
+						title: res,
+						icon: 'error'
+					});
+				})
+			},
+		}
+	}
+</script>
+
+<style scoped lang="scss">
+	.personal-data .list {
+		/* #ifndef H5 */
+		margin-top: 15rpx;
+		/* #endif */
+		background-color: #fff;
+
+		.item {
+			padding: 30rpx 30rpx 30rpx 0;
+			border-bottom: 1rpx solid #f2f2f2;
+			margin-left: 30rpx;
+			font-size: 28rpx;
+			color: #282828;
+
+			.input {
+				text-align: right;
+				color: #868686;
+
+				.icon-suozi {
+					margin-left: 10rpx;
+				}
+
+				.id {
+					// width: 180rpx;
+				}
+
+				.iconfont {
+					font-size: 36rpx;
+					padding-left: 10rpx;
+				}
+			}
+		}
+	}
+
+	.modifyBnt {
+		font-size: 32rpx;
+		color: #fff;
+		width: 690rpx;
+		height: 90rpx;
+		border-radius: 50rpx;
+		text-align: center;
+		line-height: 90rpx;
+		margin: 76rpx auto 0 auto;
+	}
+</style>

+ 514 - 0
pages/rent/store/draw.vue

@@ -0,0 +1,514 @@
+<template>
+	<view :style="colorStyle">
+		<view class='cash-withdrawal'>
+			<view class='nav acea-row'>
+				<view v-for="(item,index) in navList" :key="index" class='item fontcolor' @click="swichNav(item.id)">
+					<view class='line bg-color' :class='currentTab==item.id ? "on":""'></view>
+					<view class='iconfont' :class='item.icon+" "+(currentTab==item.id ? "on":"")'></view>
+					<view>{{item.name}}</view>
+				</view>
+			</view>
+			<view class='wrapper'>
+				<view :hidden='currentTab != 0' class='list'>
+					<form @submit="subCash">
+						<view class='item acea-row row-between-wrapper'>
+							<view class='name'>{{$t(`持卡人`)}}</view>
+							<view class='input'><input :placeholder='$t(`请输入持卡人姓名`)' placeholder-class='placeholder'
+									name="name"></input></view>
+						</view>
+						<view class='item acea-row row-between-wrapper'>
+							<view class='name'>{{$t(`卡号`)}}</view>
+							<view class='input'><input type='number' :placeholder='$t(`请填写卡号`)'
+									placeholder-class='placeholder' name="cardnum"></input></view>
+						</view>
+						<view class='item acea-row row-between-wrapper'>
+							<view class='name'>{{$t(`银行`)}}</view>
+							<view class='input'>
+								<picker @change="bindPickerChange" :value="index" :range="array">
+									<text class='Bank'>{{array[index]}}</text>
+									<text class='iconfont icon-qiepian38'></text>
+								</picker>
+							</view>
+						</view>
+						<view class='item acea-row row-between-wrapper'>
+							<view class='name'>{{$t(`提现`)}}</view>
+							<view class='input'><input :placeholder='$t(`最低提现金额`)+minPrice'
+									placeholder-class='placeholder' name="money" type='digit'></input></view>
+						</view>
+						<view class='tip'>
+							{{$t(`当前可提现金额`)}}: <text
+								class="price">{{$t(`¥`)}}{{storeDetail.now_money}},</text>
+						</view>
+						<!-- <view class='tip'>
+							{{$t(`说明: 每笔佣金的冻结期为`)}}{{userInfo.broken_day}}{{$t(`天,到期后可提现`)}}
+						</view> -->
+						<button formType="submit" class='bnt bg-color'>{{$t(`提现`)}}</button>
+					</form>
+				</view>
+				<view :hidden='currentTab != 1' class='list'>
+					<form @submit="subCash">
+						<view class='item acea-row row-between-wrapper' v-if="!brokerageType">
+							<view class='name'>{{$t(`账号`)}}</view>
+							<view class='input'><input :placeholder='$t(`请填写您的微信账号`)' placeholder-class='placeholder'
+									name="name"></input></view>
+						</view>
+						<view class='item acea-row row-between-wrapper'>
+							<view class='name'>{{$t(`提现`)}}</view>
+							<view class='input'><input :placeholder='$t(`最低提现金额`)+minPrice'
+									placeholder-class='placeholder' name="money" type='digit'></input></view>
+						</view>
+						<view class='item acea-row row-top row-between' v-if="!brokerageType">
+							<view class='name'>{{$t(`收款码`)}}</view>
+							<view class="input acea-row">
+								<view class="picEwm" v-if="qrcodeUrlW">
+									<image :src="qrcodeUrlW"></image>
+									<text class='iconfont icon-guanbi1 fontcolor' @click='DelPicW'></text>
+								</view>
+								<view class='pictrue acea-row row-center-wrapper row-column' @click='uploadpic("W")'
+									v-else>
+									<text class='iconfont icon-icon25201'></text>
+									<view>{{$t(`上传图片`)}}</view>
+								</view>
+							</view>
+						</view>
+						<view class='tip'>
+							{{$t(`当前可提现金额`)}}: <text
+								class="price">{{$t(`¥`)}}{{storeDetail.now_money}},</text>
+						</view>
+						<!-- <view class='tip'>
+							{{$t(`说明: 每笔佣金的冻结期为`)}}{{userInfo.broken_day}}{{$t(`天,到期后可提现`)}}
+						</view> -->
+						<button formType="submit" class='bnt bg-color'>{{$t(`提现`)}}</button>
+					</form>
+				</view>
+				<view :hidden='currentTab != 2' class='list'>
+					<form @submit="subCash">
+						<view class='item acea-row row-between-wrapper'>
+							<view class='name'>{{$t(`账号`)}}</view>
+							<view class='input'><input :placeholder='$t(`请填写您的支付宝账号`)' placeholder-class='placeholder'
+									name="name"></input></view>
+						</view>
+						<view class='item acea-row row-between-wrapper'>
+							<view class='name'>{{$t(`提现`)}}</view>
+							<view class='input'><input :placeholder='$t(`最低提现金额`)+minPrice'
+									placeholder-class='placeholder' name="money" type='digit'></input></view>
+						</view>
+						<view class='item acea-row row-top row-between'>
+							<view class='name'>{{$t(`收款码`)}}</view>
+							<view class="input acea-row">
+								<view class="picEwm" v-if="qrcodeUrlZ">
+									<image :src="qrcodeUrlZ"></image>
+									<text class='iconfont icon-guanbi1 fontcolor' @click='DelPicZ'></text>
+								</view>
+								<view class='pictrue acea-row row-center-wrapper row-column' @click='uploadpic("Z")'
+									v-else>
+									<text class='iconfont icon-icon25201'></text>
+									<view>{{$t(`上传图片`)}}</view>
+								</view>
+							</view>
+						</view>
+						<view class='tip'>
+							{{$t(`当前可提现金额`)}}: <text
+								class="price">{{$t(`¥`)}}{{storeDetail.now_money}},</text>
+						</view>
+						<!-- <view class='tip'>
+							{{$t(`说明: 每笔佣金的冻结期为`)}}{{userInfo.broken_day}}{{$t(`天,到期后可提现`)}}
+						</view> -->
+						<button formType="submit" class='bnt bg-color'>{{$t(`提现`)}}</button>
+					</form>
+				</view>
+			</view>
+		</view>
+		<!-- #ifdef MP -->
+		<!-- <authorize @onLoadFun="onLoadFun" :isAuto="isAuto" :isShowAuth="isShowAuth" @authColse="authColse"></authorize> -->
+		<!-- #endif -->
+	</view>
+</template>
+
+<script>
+	import {
+		extractBank,
+		getUserInfo
+	} from '@/api/user.js';
+	import {
+		postStoreMy,
+		postStoreCase
+	} from '@/api/rent.js';
+	import {
+		toLogin
+	} from '@/libs/login.js';
+	import {
+		mapGetters
+	} from "vuex";
+	// #ifdef MP
+	import authorize from '@/components/Authorize';
+	// #endif
+	import colors from '@/mixins/color.js';
+	export default {
+		components: {
+			// #ifdef MP
+			authorize
+			// #endif
+		},
+		mixins: [colors],
+		data() {
+			return {
+				navList: [],
+				currentTab: 0,
+				index: 0,
+				array: [], //提现银行
+				minPrice: 0.00, //最低提现金额
+				storeDetail:{},//门店信息
+				userInfo: [],
+				isClone: false,
+				isAuto: false, //没有授权的不会自动授权
+				isShowAuth: false, //是否隐藏授权
+				qrcodeUrlW: "",
+				qrcodeUrlZ: "",
+				prevent: false, //避免重复提交成功多次
+				brokerageType: 0 // 佣金到账方式
+			};
+		},
+		computed: mapGetters(['isLogin']),
+		watch: {
+			isLogin: {
+				handler: function(newV, oldV) {
+					if (newV) {
+						this.getUserInfo();
+						this.getUserExtractBank();
+						this.postStoreMy();
+					}
+				},
+				deep: true
+			}
+		},
+		onLoad() {
+			if (this.isLogin) {
+				this.getUserInfo();
+				this.getUserExtractBank();
+				this.postStoreMy();
+			} else {
+				toLogin();
+			}
+		},
+		methods: {
+			// 门店信息
+			postStoreMy() {
+				let that = this;
+				postStoreMy().then(res => {
+					that.storeDetail = res.data;
+				});
+			},
+			// uploadpicW(){
+			// 	this.uploadpic(this.qrcodeUrlW);
+			// },
+			// uploadpicZ(){
+			// 	this.uploadpic(this.qrcodeUrlZ);
+			// },
+			/**
+			 * 上传文件
+			 * 
+			 */
+			uploadpic: function(type) {
+				let that = this;
+				that.$util.uploadImageOne('upload/image', function(res) {
+					if (type === 'W') {
+						that.qrcodeUrlW = res.data.url;
+					} else {
+						that.qrcodeUrlZ = res.data.url;
+					}
+				});
+			},
+			/**
+			 * 删除图片
+			 * 
+			 */
+			DelPicW: function() {
+				this.qrcodeUrlW = "";
+			},
+			DelPicZ: function() {
+				this.qrcodeUrlZ = "";
+			},
+			onLoadFun: function() {
+				this.getUserInfo();
+				this.getUserExtractBank();
+			},
+			// 授权关闭
+			authColse: function(e) {
+				this.isShowAuth = e
+			},
+			getUserExtractBank: function() {
+				let that = this;
+				extractBank().then(res => {
+					let array = res.data.extractBank;
+					array.unshift('请选择银行');
+					array.forEach((v, i) => {
+						array.splice(i, 1, that.$t(v))
+					})
+					that.$set(that, 'array', array);
+					that.minPrice = res.data.minPrice;
+					that.brokerageType = res.data.brokerageType ? parseInt(res.data.brokerageType) : 0;
+				});
+			},
+			/**
+			 * 获取个人用户信息
+			 */
+			getUserInfo: function() {
+				let that = this;
+				getUserInfo().then(res => {
+					that.navList = [{
+							'name': that.$t(`银行卡`),
+							'icon': 'icon-yinhangqia',
+							'id': 0
+						},
+						{
+							'name': that.$t(`微信`),
+							'icon': 'icon-weixin2',
+							'id': 1
+						},
+						{
+							'name': that.$t(`支付宝`),
+							'icon': 'icon-icon34',
+							'id': 2
+						}
+					]
+					let list = [];
+					that.userInfo = res.data;
+					for (var i = 0; i < that.userInfo.extract_type.length; i++) {
+						if (this.navList[that.userInfo.extract_type[i]].id == that.userInfo.extract_type[i]) {
+							list.push(this.navList[that.userInfo.extract_type[i]])
+						}
+					}
+					this.navList = list
+					this.swichNav(this.navList[0].id)
+				});
+			},
+			swichNav: function(current) {
+				this.currentTab = current;
+			},
+			bindPickerChange: function(e) {
+				this.index = e.detail.value;
+			},
+			subCash(e) {
+				let that = this,
+					value = e.detail.value;
+				if (this.prevent) return
+				if (that.currentTab == 0) { //银行卡
+					if (!value.name.trim()) return this.$util.Tips({
+						title: this.$t(`请填写持卡人姓名`)
+					});
+					if (!value.cardnum.trim()) return this.$util.Tips({
+						title: this.$t(`请填写卡号`)
+					});
+					if (that.index == 0) return this.$util.Tips({
+						title: this.$t(`请选择银行`)
+					});
+					value.extract_type = 'bank';
+					value.bankname = that.array[that.index];
+				} else if (that.currentTab == 1) { //微信
+					value.extract_type = 'weixin';
+
+					// 自动提现隐藏账号
+					if (!that.brokerageType && !value.name.trim()) return this.$util.Tips({
+						title: this.$t(`请填写微信号`)
+					});
+					value.weixin = value.name;
+					value.qrcode_url = that.qrcodeUrlW;
+				} else if (that.currentTab == 2) { //支付宝
+					value.extract_type = 'alipay';
+					if (value.name.length == 0) return this.$util.Tips({
+						title: this.$t(`请填写账号`)
+					});
+					value.alipay_code = value.name;
+					value.qrcode_url = that.qrcodeUrlZ;
+				}
+				if (!value.money.trim()) return this.$util.Tips({
+					title: this.$t(`请填写提现金额`)
+				});
+				if (Number(value.money) < Number(that.minPrice)) return this.$util.Tips({
+					title: this.$t(`提现金额不能低于`) + that.minPrice
+				});
+				this.prevent = true
+				postStoreCase(value).then(res => {
+					that.postStoreMy();
+					return this.$util.Tips({
+						title: res.msg,
+						icon: 'success'
+					}, {
+						url: '/pages/users/user_spread_user/index',
+						tab: 2
+					});
+					setTimeout(e => {
+						this.prevent = false
+					}, 1000)
+				}).catch(err => {
+					setTimeout(e => {
+						this.prevent = false
+					}, 1000)
+					return this.$util.Tips({
+						title: err
+					});
+				});
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	page {
+		background-color: #fff !important;
+	}
+
+	.fontcolor {
+		color: var(--view-theme) !important;
+	}
+
+	.cash-withdrawal .nav {
+		height: 130rpx;
+		box-shadow: 0 10rpx 10rpx #f8f8f8;
+	}
+
+	.cash-withdrawal .nav .item {
+		font-size: 26rpx;
+		flex: 1;
+		text-align: center;
+	}
+
+	.cash-withdrawal .nav .item~.item {
+		border-left: 1px solid #f0f0f0;
+	}
+
+	.cash-withdrawal .nav .item .iconfont {
+		width: 40rpx;
+		height: 40rpx;
+		border-radius: 50%;
+		border: 2rpx solid var(--view-theme);
+		text-align: center;
+		line-height: 37rpx;
+		margin: 0 auto 6rpx auto;
+		font-size: 22rpx;
+		box-sizing: border-box;
+	}
+
+	.cash-withdrawal .nav .item .iconfont.on {
+		background-color: var(--view-theme);
+		color: #fff;
+		border-color: var(--view-theme);
+	}
+
+	.cash-withdrawal .nav .item .line {
+		width: 2rpx;
+		height: 20rpx;
+		margin: 0 auto;
+		transition: height 0.3s;
+	}
+
+	.cash-withdrawal .nav .item .line.on {
+		height: 39rpx;
+	}
+
+	.cash-withdrawal .wrapper .list {
+		padding: 0 30rpx;
+	}
+
+	.cash-withdrawal .wrapper .list .item {
+		border-bottom: 1rpx solid #eee;
+		min-height: 28rpx;
+		font-size: 30rpx;
+		color: #333;
+		padding: 39rpx 0;
+	}
+
+	.cash-withdrawal .wrapper .list .item .name {
+		width: 130rpx;
+	}
+
+	.cash-withdrawal .wrapper .list .item .input {
+		width: 505rpx;
+	}
+
+	.cash-withdrawal .wrapper .list .item .input .placeholder {
+		color: #bbb;
+	}
+
+	.cash-withdrawal .wrapper .list .item .picEwm,
+	.cash-withdrawal .wrapper .list .item .pictrue {
+		width: 140rpx;
+		height: 140rpx;
+		border-radius: 3rpx;
+		position: relative;
+		margin-right: 23rpx;
+	}
+
+	.cash-withdrawal .wrapper .list .item .picEwm image {
+		width: 100%;
+		height: 100%;
+		border-radius: 3rpx;
+	}
+
+	.cash-withdrawal .wrapper .list .item .picEwm .icon-guanbi1 {
+		position: absolute;
+		right: -14rpx;
+		top: -16rpx;
+		font-size: 40rpx;
+	}
+
+	.cash-withdrawal .wrapper .list .item .pictrue {
+		border: 1px solid rgba(221, 221, 221, 1);
+		font-size: 22rpx;
+		color: #BBBBBB;
+	}
+
+	.cash-withdrawal .wrapper .list .item .pictrue .icon-icon25201 {
+		font-size: 47rpx;
+		color: #DDDDDD;
+		margin-bottom: 3px;
+	}
+
+	.cash-withdrawal .wrapper .list .tip {
+		font-size: 26rpx;
+		color: #999;
+		margin-top: 25rpx;
+	}
+
+	.cash-withdrawal .wrapper .list .bnt {
+		font-size: 32rpx;
+		color: #fff;
+		width: 690rpx;
+		height: 90rpx;
+		text-align: center;
+		border-radius: 50rpx;
+		line-height: 90rpx;
+		margin: 64rpx auto;
+	}
+
+	.cash-withdrawal .wrapper .list .tip2 {
+		font-size: 26rpx;
+		color: #999;
+		text-align: center;
+		margin: 44rpx 0 20rpx 0;
+	}
+
+	.cash-withdrawal .wrapper .list .value {
+		height: 135rpx;
+		line-height: 135rpx;
+		border-bottom: 1rpx solid #eee;
+		width: 690rpx;
+		margin: 0 auto;
+	}
+
+	.cash-withdrawal .wrapper .list .value input {
+		font-size: 80rpx;
+		color: #282828;
+		height: 135rpx;
+		text-align: center;
+	}
+
+	.cash-withdrawal .wrapper .list .value .placeholder2 {
+		color: #bbb;
+	}
+
+	.price {
+		color: var(--view-priceColor);
+	}
+</style>

+ 186 - 0
pages/rent/store/money.vue

@@ -0,0 +1,186 @@
+<template>
+	<view :style="colorStyle">
+		<view class='commission-details'>
+			<view class='sign-record'>
+				<view class='promoterHeader bg-color'>
+					<view class='headerCon acea-row row-between-wrapper'>
+						<view>
+							<view class='name'>{{$t(name)}}</view>
+							<view class='money'>{{$t(`¥`)}}<text class='num'>{{recordCount}}</text></view>
+						</view>
+						<view class='iconfont icon-jinbi1'></view>
+					</view>
+				</view>
+				<block v-for="(item,index) in recordList" :key="index" v-if="recordList.length>0">
+					<view class='list'>
+						<view class='item'>
+							<view class='listn'>
+								<view class='itemn acea-row row-between-wrapper'>
+									<view class="title">
+										<view class='name line1'>{{$t(item.title)}}</view>
+										<view>{{item.add_time}}</view>
+										<view class="fail-msg" v-if="item.mark">
+											{{$t(`原因`)}}:{{item.mark}}
+										</view>
+									</view>
+									<view class='num font-color' v-if="item.pm == 1">+{{item.number}}</view>
+									<view class='num' v-else>-{{item.number}}</view>
+								</view>
+							</view>
+						</view>
+					</view>
+				</block>
+				<view class='loadingicon acea-row row-center-wrapper' v-if="recordList.length">
+					<text class='loading iconfont icon-jiazai' :hidden='loading==false'></text>{{loadTitle}}
+				</view>
+				<view v-if="recordList.length < 1 && page > 1">
+					<emptyPage :title='$t(`暂无数据~`)'></emptyPage>
+				</view>
+			</view>
+		</view>
+		<navigator url="./draw">
+			<view class="logOut cartcolor acea-row row-center-wrapper">{{$t(`提现`)}}</view>
+		</navigator>
+		<!-- #ifdef H5 -->
+		<home></home>
+		<!-- #endif -->
+	</view>
+</template>
+
+<script>
+	import {
+		getStoreBill,
+		postStoreMy
+	} from '@/api/rent.js';
+	import {
+		toLogin
+	} from '@/libs/login.js';
+	import {
+		mapGetters
+	} from "vuex";
+	import emptyPage from '@/components/emptyPage.vue'
+	import home from '@/components/home';
+	import colors from '@/mixins/color.js';
+	export default {
+		components: {
+			emptyPage,
+			home
+		},
+		mixins: [colors],
+		data() {
+			return {
+				name: '',
+				type: 0,
+				page: 1,
+				limit: 15,
+				loading: false,
+				loadend: false,
+				loadTitle: this.$t(`加载更多`),
+				recordList: [],
+				recordCount: 0,
+			};
+		},
+		computed: mapGetters(['isLogin']),
+		onLoad(options) {
+			if (this.isLogin) {
+				this.type = options.type;
+			} else {
+				toLogin();
+			}
+		},
+		onShow: function() {
+			this.getRecordList()
+			this.getStore()
+		},
+		methods: {
+			getRecordList: function() {
+				let that = this;
+				let page = that.page;
+				let limit = that.limit;
+				if (that.loading) return;
+				if (that.loadend) return;
+				that.loading = true;
+				that.loadTitle = '';
+				getStoreBill({
+					page: page,
+					limit: limit
+				}).then(res => {
+					that.recordList.push(...res.data.data)
+					let loadend = res.data.data.length < that.limit;
+					that.loadend = loadend;
+					that.loadTitle = loadend ? that.$t(`我也是有底线的`) : that.$t(`加载更多`);
+					that.page += 1;
+					that.loading = false;
+				}).catch(err => {
+					that.loading = false;
+					that.loadTitle = that.$t(`加载更多`);
+				})
+			},
+			// 获取门店信息
+			getStore() {
+				let that = this;
+				postStoreMy({}).then(res => {
+					this.name = res.data.name;
+					this.recordCount = res.data.now_money
+				}).catch(err => {
+					uni.showToast({
+						title: err,
+						icon:'error'
+					});
+				})
+			},
+		},
+		onReachBottom: function() {
+			this.getRecordList();
+		}
+	}
+</script>
+
+<style scoped lang="scss">
+	.list {
+		margin-bottom: 30rpx;
+	}
+
+	.commission-details {
+		padding-bottom: 120rpx;
+
+		.promoterHeader {
+			.headerCon {
+				.money {
+					font-size: 36rpx;
+
+					.num {
+						font-family: 'Guildford Pro';
+					}
+				}
+			}
+		}
+	}
+
+	.sign-record .list .item .listn .itemn .name {
+		width: 100%;
+		// max-width: 100%;
+		white-space: break-spaces;
+	}
+
+	.sign-record .list .item .listn .itemn .title {
+		padding-right: 30rpx;
+		flex: 1;
+	}
+
+	.logOut {
+		font-size: 32rpx;
+		text-align: center;
+		width: 690rpx;
+		height: 90rpx;
+		border-radius: 45rpx;
+		position: fixed;
+		bottom: 30rpx;
+		left: 30rpx;
+	}
+
+	.cartcolor {
+		color: var(--view-theme);
+		border: 1px solid var(--view-theme);
+	}
+</style>

+ 288 - 0
pages/rent/store/outBindCar.vue

@@ -0,0 +1,288 @@
+<template>
+	<view :style="colorStyle">
+		<form @submit="formSubmit">
+			<view class='personal-data'>
+				<view class='list'>
+					<view class='item acea-row row-between-wrapper'>
+						<view>{{$t(`车牌号`)}}</view>
+						<view class='input'>
+							<input type='text' name='plate_number' v-model='carDateil.code' placeholder="车牌号/车辆编号二选一"
+								class='id'></input>
+						</view>
+					</view>
+					<view class='item acea-row row-between-wrapper'>
+						<view>车辆编号</view>
+						<view class='input acea-row row-between-wrapper'>
+							<input type='text' name='machine_no' v-model='carDateil.machine_no'
+								placeholder="车牌号/车辆编号二选一" class='id'></input>
+							<!-- #ifndef H5 -->
+							<text @click='openQr' class=' iconfont icon-saoma'></text>
+							<!-- #endif -->
+						</view>
+					</view>
+					<view class='item acea-row row-between-wrapper'>
+						<view>{{$t(`类型`)}}</view>
+						<view class='input'>
+							<label class="radio" @click="type=0"><radio :checked="type==0"  />解绑</label>
+											<label @click="type=1" class="radio"><radio  :checked="type==1"/>换绑</label>
+						</view>
+					</view>
+					<view class='textarea'>
+						<textarea v-model="carDateil.detail" :placeholder='$t(`请输入反馈内容`)' name="content"
+							placeholder-class='placeholder'></textarea>
+					</view>
+					<view class='textarea'>
+						<view class='list acea-row row-middle'>
+							<view class='pictrue' v-for="(item,index) in pics" :key="index">
+								<image :src='item'></image>
+								<text class='iconfont icon-guanbi1 font-num' @click='DelPic(index)'></text>
+							</view>
+							<view class='pictrue acea-row row-center-wrapper row-column' @click='uploadpic'
+								v-if="pics.length < 8">
+								<text class='iconfont icon-icon25201'></text>
+								<view>{{$t(`上传图片`)}}</view>
+							</view>
+						</view>
+					</view>
+				</view>
+			</view>
+			<button class='modifyBnt bg-color' formType="submit">{{$t(`提交保存`)}}</button>
+		</form>
+		<canvas canvas-id="canvas" v-if="canvasStatus"
+			:style="{width: canvasWidth + 'px', height: canvasHeight + 'px',position: 'absolute',left:'-100000px',top:'-100000px'}"></canvas>
+	</view>
+</template>
+
+<script>
+	import {
+		toLogin
+	} from '@/libs/login.js';
+	import {
+		postStoreApplyId,
+	} from '@/api/rent.js';
+	import {
+		mapGetters
+	} from "vuex";
+	import colors from '@/mixins/color.js';
+	export default {
+		mixins: [colors],
+		data() {
+			return {
+				type: 0, //0解绑1换绑
+				pics: [],
+				id: '',
+				carDateil: {
+					machine_no: '',
+					name: '',
+					code: '',
+					detail: '', //反馈内容
+					id:0
+				},
+				canvasWidth: '',
+				canvasHeight: '',
+				canvasStatus: false
+			};
+		},
+		computed: mapGetters(['isLogin']),
+		onLoad(options) {
+			if(this.type){
+				uni.setNavigationBarTitle({
+					title: '车辆换绑'
+				});
+			}else{
+				uni.setNavigationBarTitle({
+					title: '车辆解绑'
+				});
+			}
+			if (!this.isLogin) {
+				toLogin();
+			}
+		},
+		methods: {
+			/**
+			 * 删除图片
+			 * 
+			 */
+			DelPic: function(index) {
+				let that = this,
+					pic = this.pics[index];
+				that.pics.splice(index, 1);
+				that.$set(that, 'pics', that.pics);
+			},
+			/**
+			 * 上传文件
+			 * 
+			 */
+			uploadpic: function() {
+				let that = this;
+				this.canvasStatus = true
+				that.$util.uploadImageChange('upload/image', function(res) {
+					that.pics.push(res.data.url);
+				}, (res) => {
+					this.canvasStatus = false
+				}, (res) => {
+					this.canvasWidth = res.w
+					this.canvasHeight = res.h
+				});
+			},
+
+			// #ifndef H5
+			// 打开二维码
+			openQr() {
+				const that = this;
+				uni.scanCode({
+					onlyFromCamera: true,
+					scanType: ['barCode', 'qrCode', 'datamatrix', 'pdf417'],
+					success(res) {
+						that.carDateil.machine_no = res.result;
+					}
+				})
+			},
+			// #endif
+			// 提交绑定
+			formSubmit(data) {
+				const value = data.detail.value
+				uni.showLoading({
+					title: '绑定中',
+					mask: true
+				});
+				if(!value.machine_no&&!value.plate_number){
+					uni.showToast({
+						title: '车牌号或编号必须填一个',
+						icon: 'error'
+					});
+					return
+				}
+				postStoreApplyId({
+					machine_no: value.machine_no,
+					content: value.content,
+					images: this.pics,
+					plate_number: value.plate_number,
+					id: this.carDateil.id,
+					type:this.type
+				}).then((res) => {
+					uni.hideLoading()
+					uni.showToast({
+						title: res.msg
+					});
+					setTimeout(() => {
+						uni.redirectTo({
+							url: '/pages/rent/store/outBindCarList'
+						})
+					}, 1000);
+				}).catch((res) => {
+					uni.hideLoading()
+					uni.showToast({
+						title: res,
+						icon: 'error'
+					});
+				})
+			},
+		}
+	}
+</script>
+
+<style scoped lang="scss">
+	.personal-data .list {
+		/* #ifndef H5 */
+		margin-top: 15rpx;
+		/* #endif */
+		background-color: #fff;
+
+		.item {
+			padding: 30rpx 30rpx 30rpx 0;
+			border-bottom: 1rpx solid #f2f2f2;
+			margin-left: 30rpx;
+			font-size: 28rpx;
+			color: #282828;
+
+			.input {
+				text-align: right;
+				color: #868686;
+				.radio{
+					margin-left: 20rpx;
+				}
+				.icon-suozi {
+					margin-left: 10rpx;
+				}
+
+				.id {
+					// width: 180rpx;
+				}
+
+				.iconfont {
+					font-size: 36rpx;
+					padding-left: 10rpx;
+				}
+			}
+		}
+	}
+
+	.modifyBnt {
+		font-size: 32rpx;
+		color: #fff;
+		width: 690rpx;
+		height: 90rpx;
+		border-radius: 50rpx;
+		text-align: center;
+		line-height: 90rpx;
+		margin: 76rpx auto 0 auto;
+	}
+
+	.textarea {
+		width: 690rpx;
+		background-color: #fafafa;
+		border-radius: 10rpx;
+		margin-left: 30rpx;
+		margin-top: 30rpx;
+
+		textarea {
+			font-size: 28rpx;
+			padding: 20rpx 8rpx 0 8rpx;
+			width: 100%;
+			box-sizing: border-box;
+			height: 160rpx;
+		}
+
+		.placeholder {
+			color: #bbb;
+		}
+
+		.list {
+			padding-left: 5rpx;
+			padding-bottom: 30rpx;
+
+			.pictrue {
+				width: 140rpx;
+				height: 140rpx;
+				position: relative;
+				font-size: 22rpx;
+				color: #bbb;
+				margin-right: 30rpx;
+
+				&:nth-last-child(1) {
+					border: 1rpx solid #ddd;
+					box-sizing: border-box;
+				}
+
+				image {
+					width: 100%;
+					height: 100%;
+					border-radius: 3rpx;
+				}
+
+				.icon-guanbi1 {
+					font-size: 45rpx;
+					position: absolute;
+					top: -20rpx;
+					right: -20rpx;
+				}
+
+				.icon-icon25201 {
+					color: #bfbfbf;
+					font-size: 50rpx;
+				}
+			}
+		}
+	}
+</style>

+ 458 - 0
pages/rent/store/outBindCarList.vue

@@ -0,0 +1,458 @@
+<template>
+	<view :style="colorStyle">
+		<view class="my-order">
+			<view class='search acea-row row-between-wrapper'>
+				<view class='input acea-row row-between-wrapper'>
+					<text class='iconfont icon-sousuo'></text>
+					<input type='text' v-model='searchKey' @confirm="inputConfirm" focus
+						:placeholder='$t(`姓名/手机号/车辆编号`)' placeholder-class='placeholder' @input="setValue"></input>
+				</view>
+				<view class='bnt' @tap='searchBut'>{{$t(`搜索`)}}</view>
+			</view>
+			<view class="list">
+				<view class="item" v-for="(item,ind) in orderList">
+					<view class="acea-row">
+						<view class="title line2">
+							时间:{{item.add_time}}
+						</view>
+					</view>
+					<view class="machine ">
+						<view class="acea-row row-between">
+							<view class="it">
+								内容:{{item.content}}
+							</view>
+						</view>
+					</view>
+					<view class="machine ">
+						<view class="acea-row row-left">
+							<view class="image-list" v-for="ls in item.images">
+								<image :src="ls" mode="scaleToFill"></image>
+							</view>
+						</view>
+					</view>
+					<view class="machine acea-row row-between-wrapper">
+
+						<view class="acea-row row-left">
+							<view class="it">
+								编号:
+							</view>
+							<view class="code">
+								{{item.machine_no}}
+
+							</view>
+						</view>
+						<view class="acea-row row-rightss" v-if="item.plate_number">
+							<view class="it">
+								车牌号:
+							</view>
+							<view class="code">
+								{{item.plate_number}}
+							</view>
+						</view>
+						<view class="acea-row row-rightss">
+							<view class="font-color-yellow" v-if="item.type==0">
+								解绑
+							</view>
+							<view class="font-color-white" v-if="item.type==-1">
+								换绑
+							</view>
+						</view>
+						<view class="acea-row row-rightss">
+							<view class="del-buttom" @click="del(item,ind)">
+								撤销
+							</view>
+						</view>
+						
+					</view>
+					<view v-if="item.status==0" class="text_blue tip ">
+						申请中
+					</view>
+					<view v-if="item.status==1" class="text_greed tip">
+						同意
+					</view>
+					<view v-if="item.status==1" class="text_red tip">
+						反对
+					</view>
+				</view>
+			</view>
+			<view class="loadingicon acea-row row-center-wrapper font-color-white" v-if="orderList.length > 0">
+				<text class="loading iconfont icon-jiazai" :hidden="loading == false"></text>
+				{{ loadTitle }}
+			</view>
+			<view v-if="orderList.length == 0">
+				<emptyPage v-if="!loading" :title="$t(`暂无订单`)"></emptyPage>
+				<view class="loadingicon acea-row row-center-wrapper">
+					<text class="loading iconfont icon-jiazai font-color-white" :hidden="loading == false"></text>
+				</view>
+			</view>
+			<navigator url="./outBindCar">
+				<view class="logOut cartcolor acea-row row-center-wrapper">{{$t(`车辆解绑/换绑`)}}</view>
+			</navigator>
+		</view>
+		<!-- #ifndef MP -->
+		<home></home>
+		<!-- #endif -->
+	</view>
+</template>
+
+<script>
+	import {
+		storeApply,
+		delStoreApplyId
+	} from '@/api/rent.js';
+	import home from '@/components/home';
+	import {
+		toLogin
+	} from '@/libs/login.js';
+	import {
+		mapGetters
+	} from 'vuex';
+	import emptyPage from '@/components/emptyPage.vue';
+	import colors from '@/mixins/color.js';
+	export default {
+		components: {
+			home,
+			emptyPage,
+		},
+		mixins: [colors],
+		data() {
+			return {
+				searchKey: '',
+				loading: false, //是否加载中
+				loadend: false, //是否加载完毕
+				loadTitle: this.$t(`加载更多`), //提示语
+				orderList: [], //订单数组
+				orderData: {}, //订单详细统计
+				page: 1,
+				limit: 20,
+				pay_close: false,
+				pay_order_id: '',
+				totalPrice: '0',
+				// 保存当前订单数据
+				actionOrder: {},
+				payLoding: false, //判断是否支付中
+			};
+		},
+		computed: mapGetters(['isLogin']),
+		onShow() {
+			if (this.isLogin) {
+				this.page = 1;
+				this.orderList = []
+				this.loadend = false;
+				this.getRentOrder();
+			} else {
+				toLogin();
+			}
+		},
+		methods: {
+			// 撤销申请
+			del(item, index) {
+				let that = this;
+				if (!item.id) {
+					return that.$util.Tips({
+						title: that.$t(`缺少订单号无法取消订单`)
+					})
+				};
+				uni.showModal({
+					title: '提示',
+					content: '是否撤销申请',
+					success: res => {
+						if (res.confirm) {
+							uni.showLoading({
+								title:'提交中',
+								mask:true
+							})
+							delStoreApplyId({
+									id: item.id
+								})
+								.then(res => {
+									uni.hideLoading()
+									return that.$util.Tips({
+											title: res.msg,
+											icon: 'success'
+										},
+										function() {
+											that.orderList.splice(index, 1);
+											that.$set(that, 'orderList', that.orderList);
+										}
+									);
+								})
+								.catch(err => {
+									uni.hideLoading()
+									return that.$util.Tips({
+										title: err
+									});
+								});
+						}
+					},
+					fail: () => {},
+					complete: () => {}
+				});
+			},
+			// 回车查询
+			inputConfirm: function(event) {
+				if (event.detail.value) {
+					uni.hideKeyboard();
+					this.searchBut(event.detail.value);
+				}
+			},
+			// 查询
+			searchBut() {
+				this.loadend = false;
+				this.page = 1;
+				this.orderList = [];
+				uni.showLoading({
+					title: this.$t(`正在搜索中`)
+				});
+				this.getRentOrder();
+				uni.hideLoading();
+			},
+			// 设置查询值
+			setValue: function(event) {
+				this.$set(this, 'searchKey', event.detail.value);
+			},
+			/**
+			 * 获取订单列表
+			 */
+			getRentOrder: function() {
+				let that = this;
+				if (that.loadend) return;
+				if (that.loading) return;
+				that.loading = true;
+				that.loadTitle = that.$t(`加载更多`);
+				storeApply({
+						page: that.page,
+						limit: that.limit,
+						key: that.searchKey
+					})
+					.then(res => {
+						let list = res.data.list || [];
+						let loadend = list.length < that.limit;
+						that.orderList = that.$util.SplitArray(list, that.orderList);
+						that.$set(that, 'orderList', that.orderList);
+						that.loadend = loadend;
+						that.loading = false;
+						that.loadTitle = loadend ? that.$t(`没有更多内容啦~`) : that.$t(`加载更多`);
+						that.page = that.page + 1;
+					})
+					.catch(err => {
+						that.loading = false;
+						that.loadTitle = that.$t(`加载更多`);
+					});
+			},
+		},
+		onReachBottom: function() {
+			this.getRentOrder();
+		},
+		// 滚动监听
+		onPageScroll(e) {
+			// 传入scrollTop值并触发所有easy-loadimage组件下的滚动监听事件
+			uni.$emit('scroll');
+		},
+	};
+</script>
+
+<style scoped lang="scss">
+	.list {
+		padding: 30rpx;
+		padding-top: 126rpx;
+
+		.item {
+			position: relative;
+			background-color: var(--view-theme-16);
+			padding: 30rpx;
+			border-radius: 10rpx;
+			margin-bottom: 20rpx;
+			overflow: hidden;
+			border: 2px solid #333333;
+
+			.title {
+				font-weight: bold;
+				font-size: $uni-font-size-base;
+				color: #fff;
+			}
+
+			.machine {
+				font-size: $uni-font-size-sm;
+				color: #999999;
+				margin-top: 20rpx;
+
+				.del-buttom {
+					background-color: #FFFFFF;
+					border-radius: 100rpx;
+					color: #333;
+					padding: 6rpx 20rpx;
+					line-height: 1;
+				}
+
+				.image-list {
+					width: 100rpx;
+					height: 100rpx;
+					border: 1px solid #333;
+					background-color: #FFF;
+					border-radius: 5rpx;
+					margin-right: 10rpx;
+
+					image {
+						width: 100%;
+						height: 100%;
+					}
+				}
+
+				.code {
+					color: var(--view-priceColor);
+					background-color: rgba(#75EFFA, 0.2);
+					padding: 5rpx 10rpx;
+					border-radius: 10rpx;
+				}
+			}
+
+			.img {
+				width: 40rpx;
+				height: 40rpx;
+			}
+
+			.tip {
+				position: absolute;
+				top: 0;
+				right: 0;
+				padding: 5rpx 20rpx;
+				font-size: 20rpx;
+				border-bottom-left-radius: 10rpx;
+
+				&.text_greed {
+					color: #49D8A8;
+					background-color: rgba(#49D8A8, 0.2);
+				}
+
+				&.text_red {
+					color: rgba(254, 92, 45, 1);
+					background-color: rgba(rgba(254, 92, 45, 1), 0.2);
+				}
+
+				&.text_blue {
+					color: #1db0fc;
+					background-color: rgba(#1db0fc, 0.2);
+				}
+			}
+		}
+	}
+
+	.my-order {
+		background-color: var(--view-theme);
+		min-height: 100vh;
+		padding-bottom: 150rpx;
+
+		.search {
+			position: fixed;
+			top: 0rpx;
+			left: 0rpx;
+			z-index: 999;
+			padding-top: 30rpx;
+			padding-left: 30rpx;
+			padding-bottom: 30rpx;
+			background-color: var(--view-theme);
+
+			.bnt {
+				width: 120rpx;
+				text-align: center;
+				height: 66rpx;
+				line-height: 66rpx;
+				font-size: 30rpx;
+				color: #FFFFFF;
+			}
+
+			.input {
+				width: 598rpx;
+				background-color: #f7f7f7;
+				border-radius: 33rpx;
+				padding: 0 35rpx;
+				box-sizing: border-box;
+				height: 66rpx;
+
+				input {
+					width: 472rpx;
+					font-size: 28rpx;
+				}
+
+				.placeholder {
+					color: #999;
+				}
+
+				.iconfont {
+					color: #555;
+					font-size: 35rpx;
+				}
+			}
+		}
+
+		.header {
+			height: 260rpx;
+			padding: 0 30rpx;
+
+			.picTxt {
+				height: 190rpx;
+
+				.text {
+					color: rgba(255, 255, 255, 0.8);
+					font-size: 26rpx;
+					font-family: 'Guildford Pro';
+
+					.name {
+						font-size: 34rpx;
+						font-weight: bold;
+						color: #fff;
+						margin-bottom: 20rpx;
+					}
+
+				}
+
+				.pictrue {
+					width: 122rpx;
+					height: 109rpx;
+
+					image {
+						width: 100%;
+						height: 100%;
+					}
+
+				}
+			}
+		}
+
+
+	}
+
+	.noCart {
+		margin-top: 171rpx;
+		padding-top: 0.1rpx;
+
+		.pictrue {
+			width: 414rpx;
+			height: 336rpx;
+			margin: 78rpx auto 56rpx auto;
+
+			image {
+				width: 100%;
+				height: 100%;
+			}
+		}
+	}
+
+	.logOut {
+		font-size: 32rpx;
+		text-align: center;
+		width: 690rpx;
+		height: 90rpx;
+		border-radius: 45rpx;
+		background-color: #FFFFFF;
+		position: fixed;
+		bottom: 20rpx;
+		left: 30rpx;
+	}
+
+	.cartcolor {
+		color: var(--view-theme);
+		border: 1px solid var(--view-theme);
+	}
+</style>

+ 156 - 0
pages/rent/store/qrBindCar.vue

@@ -0,0 +1,156 @@
+<template>
+	<view :style="colorStyle">
+		<form @submit="formSubmit">
+			<view class='personal-data'>
+				<view class='list'>
+					<view class='item acea-row row-between-wrapper'>
+						<view>{{$t(`车辆名称`)}}</view>
+						<view class='input'>
+							<input type='text' name='phone' v-model='carDateil.name' placeholder="请输入车辆名称"
+								class='id'></input>
+						</view>
+					</view>
+					<view class='item acea-row row-between-wrapper'>
+						<view>{{$t(`车牌号`)}}</view>
+						<view class='input'>
+							<input type='text' name='phone' v-model='carDateil.code' placeholder="请输入车牌号"
+								class='id'></input>
+						</view>
+					</view>
+					<view class='item acea-row row-between-wrapper'>
+						<view>车辆编号</view>
+						<view class='input acea-row row-between-wrapper'>
+							<input type='text' v-model='carDateil.machine_no' placeholder="请输入车辆编号" class='id'></input>
+							<!-- #ifndef H5 -->
+							<text @click='openQr' class=' iconfont icon-saoma'></text>
+							<!-- #endif -->
+						</view>
+					</view>
+				</view>
+			</view>
+			<button class='modifyBnt bg-color' formType="submit">{{$t(`提交保存`)}}</button>
+		</form>
+	</view>
+</template>
+
+<script>
+	import {
+		toLogin
+	} from '@/libs/login.js';
+	import {
+		postSetCarCode,
+	} from '@/api/rent.js';
+	import {
+		mapGetters
+	} from "vuex";
+	import colors from '@/mixins/color.js';
+	export default {
+		mixins: [colors],
+		data() {
+			return {
+				id: '',
+				carDateil: {
+					machine_no: '',
+					name: '',
+					code: '',
+				}
+			};
+		},
+		computed: mapGetters(['isLogin']),
+		onLoad(options) {
+			this.id = options.id
+			if (!this.isLogin) {
+				toLogin();
+			}
+		},
+		methods: {
+			// #ifndef H5
+			// 打开二维码
+			openQr() {
+				const that = this;
+				uni.scanCode({
+					onlyFromCamera: true,
+					scanType: ['barCode', 'qrCode', 'datamatrix', 'pdf417'],
+					success(res) {
+						that.carDateil.machine_no = res.result;
+					}
+				})
+			},
+			// #endif
+			// 提交绑定
+			formSubmit() {
+				uni.showLoading({
+					title: '绑定中',
+					mask: true
+				});
+				postSetCarCode({
+					machine_no: this.carDateil.machine_no,
+					machine_name: this.carDateil.name,
+					plate_number: this.carDateil.code,
+				}).then((res) => {
+					uni.hideLoading()
+					uni.showToast({
+						title: '绑定成功'
+					});
+					setTimeout(() => {
+						uni.switchTab({
+							url: '/pages/user/index'
+						})
+					}, 1000);
+				}).catch((res) => {
+					uni.hideLoading()
+					uni.showToast({
+						title: res,
+						icon: 'error'
+					});
+				})
+			},
+		}
+	}
+</script>
+
+<style scoped lang="scss">
+	.personal-data .list {
+		/* #ifndef H5 */
+		margin-top: 15rpx;
+		/* #endif */
+		background-color: #fff;
+
+		.item {
+			padding: 30rpx 30rpx 30rpx 0;
+			border-bottom: 1rpx solid #f2f2f2;
+			margin-left: 30rpx;
+			font-size: 28rpx;
+			color: #282828;
+
+			.input {
+				text-align: right;
+				color: #868686;
+
+				.icon-suozi {
+					margin-left: 10rpx;
+				}
+
+				.id {
+					// width: 180rpx;
+				}
+
+				.iconfont {
+					font-size: 36rpx;
+					padding-left: 10rpx;
+				}
+			}
+		}
+	}
+
+	.modifyBnt {
+		font-size: 32rpx;
+		color: #fff;
+		width: 690rpx;
+		height: 90rpx;
+		border-radius: 50rpx;
+		text-align: center;
+		line-height: 90rpx;
+		margin: 76rpx auto 0 auto;
+	}
+</style>

+ 1 - 1
pages/renttab/index.vue

@@ -93,7 +93,7 @@
 		methods: {
 			navTo(item){
 				uni.navigateTo({
-					url: `/pages/rent/carDetail?id=${item.id}`
+					url: `/pages/rent/carpay/carDetail?id=${item.id}`
 				});
 			},
 			bindSortId(data) {

+ 136 - 12
pages/user/index.vue

@@ -111,7 +111,8 @@
 									<view class="pic">
 										<!-- <image :src="item.img" mode=""></image> -->
 										<text class="iconfont" :class="item.img"></text>
-										<text class="order-status-num" v-if="item.num > 0">{{ item.num > 99?'99+':item.num }}</text>
+										<text class="order-status-num"
+											v-if="item.num > 0">{{ item.num > 99?'99+':item.num }}</text>
 									</view>
 									<view class="txt">{{$t(item.title)}}</view>
 								</navigator>
@@ -132,7 +133,8 @@
 								<navigator class="order-item max-width" hover-class="none" :url="item.url">
 									<view class="pic">
 										<text class="iconfont" :class="item.img"></text>
-										<text class="order-status-num" v-if="item.num > 0">{{  item.num > 99?'99+':item.num }}</text>
+										<text class="order-status-num"
+											v-if="item.num > 0">{{ item.num > 99?'99+':item.num }}</text>
 									</view>
 									<view class="txt">{{ item.title }}</view>
 								</navigator>
@@ -188,19 +190,48 @@
 						<!-- #ifdef APP-PLUS -->
 						<view class="item" hover-class="none" @click="goMenuPage('/pages/users/privacy/index?type=3')">
 							<view class="acea-row row-middle">
-							<image src="/static/images/menu.png"></image>
-							<text>{{$t('隐私协议')}}</text>
+								<image src="/static/images/menu.png"></image>
+								<text>{{$t('隐私协议')}}</text>
 							</view>
 							<view class="iconfont  icon-xiangyou"></view>
 						</view>
 						<!-- #endif -->
 					</view>
 				</view>
+				<!-- 商家管理 -->
+				<view class="store-menus" style="margin-top: 20rpx;" v-if="userInfo.adminid">
+					<view class="menu-title">{{$t('站点管理')}}</view>
+					<view class="list-box">
+						<block v-for="(item,index) in storeMenu" :key="index">
+							<view class="item" :url="item.url" hover-class="none"
+								v-if="item.url!='#' && item.url!='/pages/service/index'"
+								@click="goMenuPage(item.url, item.name)">
+								<image :src="item.pic"></image>
+								<text>{{$t(item.name)}}</text>
+							</view>
+						</block>
+					</view>
+				</view>
+				<view class="store-menus" style="margin-top: 20rpx;" v-if="userInfo.is_sponsor">
+					<view class="menu-title">{{$t('出资人管理')}}</view>
+					<view class="list-box">
+						<block v-for="(item,index) in payMoneyMenu" :key="index">
+							<view class="item" :url="item.url" hover-class="none"
+								v-if="item.url!='#' && item.url!='/pages/service/index'"
+								@click="goMenuPage(item.url, item.name)">
+								<image :src="item.pic"></image>
+								<text>{{$t(item.name)}}</text>
+							</view>
+						</block>
+					</view>
+				</view>
 				<image :src="copyRightPic" alt="" class='support'></image>
 				<view class="uni-p-b-98"></view>
 			</scroll-view>
+			<!-- #ifdef MP -->
 			<editUserModal :isShow="editModal" @closeEdit="closeEdit" @editSuccess="editSuccess">
 			</editUserModal>
+			<!-- #endif -->
 		</view>
 		<pageFooter></pageFooter>
 	</view>
@@ -235,18 +266,50 @@
 	import {
 		getCustomer
 	} from '@/utils/index.js'
+	// #ifdef MP
 	import editUserModal from '@/components/eidtUserModal/index.vue'
+	// #endif
 	export default {
 		components: {
 			pageFooter,
+			// #ifdef MP
 			editUserModal
+			// #endif
 		},
 		// computed: mapGetters(['isLogin','cartNum']),
 		computed: {
 			...mapGetters({
 				cartNum: 'cartNum',
 				isLogin: 'isLogin'
-			})
+			}),
+			// 商家管理
+			storeMenu() {
+				this.is_system_store
+				let ar = [{
+						name: '门店车辆',
+						url: '/pages/rent/store/carList',
+						pic: '../../static/images/user-icon-6.png'
+					},
+					{
+						name: '车辆绑定',
+						url: '/pages/rent/store/qrBindCar',
+						pic: '../../static/images/user-icon-2.png'
+					},
+					{
+						name: '解换绑申请',
+						url: '/pages/rent/store/outBindCarList',
+						pic: '../../static/images/user-icon-1.png'
+					},
+				]
+				if (this.userInfo && this.userInfo.is_system_store == 1) {
+					ar.push({
+						name: '资金流水',
+						url: '/pages/rent/store/money',
+						pic: '../../static/images/user-icon-5.png'
+					})
+				}
+				return ar
+			}
 		},
 		filters: {
 			coundTime(val) {
@@ -265,8 +328,18 @@
 		data() {
 			return {
 				editModal: false, // 编辑头像信息
-				orderMenu: [
+				payMoneyMenu:[{
+						name: '车辆管理',
+						url: '/pages/rent/sponsor/carList',
+						pic: '../../static/images/user-icon-7.png'
+					},
 					{
+						name: '资金流水',
+						url: '/pages/rent/store/bindCar',
+						pic: '../../static/images/user-icon-3.png'
+					}
+				],
+				orderMenu: [{
 						img: 'icon-daifukuan',
 						title: '待付款',
 						url: '/pages/goods/order_list/index?status=0'
@@ -296,7 +369,7 @@
 					img: 'icon-daifukuan-ju',
 					title: '待支付',
 					url: '/pages/rent/order/orderList?status=0'
-				},{
+				}, {
 					img: 'icon-daifahuo-ju',
 					title: '进行中',
 					url: '/pages/rent/order/orderList?status=1'
@@ -339,6 +412,7 @@
 				my_banner_status: 1,
 				is_diy: uni.getStorageSync('is_diy'),
 				copyRightPic: '/static/images/support.png', //版权图片
+
 			}
 		},
 		onLoad(option) {
@@ -426,6 +500,7 @@
 
 				})
 			},
+			// #ifdef MP
 			editSuccess() {
 				this.editModal = false
 				this.getUserInfo();
@@ -433,6 +508,7 @@
 			closeEdit() {
 				this.editModal = false
 			},
+			// #endif
 			// 记录会员访问
 			setVisit() {
 				setVisit({
@@ -479,8 +555,9 @@
 								break
 								break
 							case '进行中':
-								item.num = res.data.rentStatusNum.progress_count+res.data.rentStatusNum.not_binding_count
-								
+								item.num = res.data.rentStatusNum.progress_count + res.data
+									.rentStatusNum.not_binding_count
+
 								break
 							case '已完成':
 								item.num = res.data.rentStatusNum.finish_count
@@ -545,13 +622,14 @@
 				let that = this;
 				// if (this.MyMenus.length) return;
 				getMenuList().then(res => {
-					let storeMenu = []
+					// let storeMenu = []
 					let myMenu = []
 					res.data.routine_my_menus.forEach((el, index, arr) => {
 						if (el.url == '/pages/admin/order/index' || el.url ==
 							'/pages/admin/order_cancellation/index' || el.name ==
 							'客服接待') {
-							storeMenu.push(el)
+							return
+							// storeMenu.push(el)
 						} else {
 							myMenu.push(el)
 						}
@@ -611,7 +689,7 @@
 							break
 					}
 					that.$set(that, 'MyMenus', myMenu);
-					that.$set(that, 'storeMenu', storeMenu);
+					// that.$set(that, 'storeMenu', storeMenu);
 					this.imgUrls = res.data.routine_my_banner
 					this.routineContact = Number(res.data.routine_contact_type)
 				});
@@ -1309,4 +1387,50 @@
 		padding-bottom: constant(safe-area-inset-bottom);
 		padding-bottom: env(safe-area-inset-bottom);
 	}
+
+	.store-menus {
+		background-color: rgba(22, 23, 38, 1);
+		;
+		margin: 0 30rpx;
+		border-radius: 16rpx;
+
+		.menu-title {
+			padding: 30rpx 30rpx 40rpx;
+			font-size: 30rpx;
+			color: #FFF;
+			font-weight: bold;
+		}
+
+		.list-box {
+			display: flex;
+			flex-wrap: wrap;
+			padding: 0;
+		}
+
+		.item {
+			position: relative;
+			display: flex;
+			align-items: center;
+			justify-content: space-between;
+			flex-direction: column;
+			width: 25%;
+			margin-bottom: 47rpx;
+			font-size: 26rpx;
+			color: #FFF;
+
+			image {
+				width: 52rpx;
+				height: 52rpx;
+				margin-bottom: 18rpx;
+			}
+
+			&:last-child::before {
+				display: none;
+			}
+		}
+
+		button {
+			font-size: 28rpx;
+		}
+	}
 </style>

+ 12 - 4
static/css/base.css

@@ -18,6 +18,18 @@ page {
 .font-color-red {
 	color: var(--view-priceColor) !important
 }
+.font-color-blue {
+	color:  #1db0fc !important
+}
+
+.font-color-white{
+	color: #ccc !important;
+}
+
+.font-color-yellow{
+	color: #f0ad4e !important;
+}
+
 
 .font-num {
 	color: var(--view-theme) !important
@@ -449,7 +461,3 @@ checkbox .uni-checkbox-input.uni-checkbox-input-checked::before {
 .pd10{
 	padding: 10rpx;
 }
-
-.font-color-white{
-	color: #ccc !important;
-}

BIN
static/images/user-icon-1.png


BIN
static/images/user-icon-2.png


BIN
static/images/user-icon-3.png


BIN
static/images/user-icon-4.png


BIN
static/images/user-icon-5.png


BIN
static/images/user-icon-6.png


BIN
static/images/user-icon-7.png


BIN
unpackage/cache/apk/__UNI__9417D5E_cm.apk


+ 1 - 0
unpackage/cache/apk/apkurl

@@ -0,0 +1 @@
+https://ide.dcloud.net.cn/build/download/db8ebb30-d84a-11ed-a76b-3327768d811e

File diff suppressed because it is too large
+ 0 - 0
unpackage/cache/apk/cmManifestCache.json


+ 3 - 0
unpackage/cache/certdata

@@ -0,0 +1,3 @@
+andrCertfile=D:/workApp/HBuilderX/plugins/app-safe-pack/Test.keystore
+andrCertAlias=android
+andrCertPass=ep/Tdjka4Y7WYqDB6/S7dw==

+ 4 - 0
unpackage/cache/cloudcertificate/certini

@@ -0,0 +1,4 @@
+[General]
+andrCertfile=package.keystore
+andrCertAlias=__UNI__9417D5E
+andrCertPass="YjdaIWHAFO/MA+sz3ewXMA=="

BIN
unpackage/cache/cloudcertificate/package.keystore


BIN
unpackage/cache/wgt/__UNI__9417D5E/.manifest/icon-android-hdpi.png


BIN
unpackage/cache/wgt/__UNI__9417D5E/.manifest/icon-android-xhdpi.png


BIN
unpackage/cache/wgt/__UNI__9417D5E/.manifest/icon-android-xxhdpi.png


BIN
unpackage/cache/wgt/__UNI__9417D5E/.manifest/icon-android-xxxhdpi.png


File diff suppressed because it is too large
+ 0 - 0
unpackage/cache/wgt/__UNI__9417D5E/__uniappchooselocation.js


BIN
unpackage/cache/wgt/__UNI__9417D5E/__uniapperror.png


File diff suppressed because it is too large
+ 0 - 0
unpackage/cache/wgt/__UNI__9417D5E/__uniappes6.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/cache/wgt/__UNI__9417D5E/__uniappopenlocation.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/cache/wgt/__UNI__9417D5E/__uniapppicker.js


File diff suppressed because it is too large
+ 6 - 0
unpackage/cache/wgt/__UNI__9417D5E/__uniappquill.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/cache/wgt/__UNI__9417D5E/__uniappquillimageresize.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/cache/wgt/__UNI__9417D5E/__uniappscan.js


BIN
unpackage/cache/wgt/__UNI__9417D5E/__uniappsuccess.png


+ 25 - 0
unpackage/cache/wgt/__UNI__9417D5E/__uniappview.html

@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html lang="zh-CN">
+
+  <head>
+    <meta charset="UTF-8" />
+    <script>
+      var __UniViewStartTime__ = Date.now();
+      var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') ||
+        CSS.supports('top: constant(a)'))
+      document.write(
+        '<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' +
+        (coverSupport ? ', viewport-fit=cover' : '') + '" />')
+    </script>
+    <title>View</title>
+    <link rel="stylesheet" href="view.css" />
+  </head>
+
+  <body>
+    <div id="app"></div>
+    <script src="__uniappes6.js"></script>
+    <script src="view.umd.min.js"></script>
+    <script src="app-view.js"></script>
+  </body>
+
+</html>

+ 28 - 0
unpackage/cache/wgt/__UNI__9417D5E/androidPrivacy.json

@@ -0,0 +1,28 @@
+{
+    "version" : "1",
+    "prompt" : "template",
+    "title" : "用户协议与隐私政策",
+    "message" : "\t请务必审慎阅读、充分理解“用户协议与 隐私政策”各条款,包括但不限于:为了 向你提供即时通讯、内容分享等服务,我 们需要收集你的设备信息、操作日志等个 人信息。你可以在“设置”中查看、变更、删除个人信息并管理你的授权。<br/>\r
+ 你可以阅读 <a href=\"pages/columnGoods/static/yhxy.html\">《用户协议》</a>与 <a href=\"pages/columnGoods/static/yszc.html\">《隐私政策》</a>了解详细信息。如你同意,请点击“我同意”开始接受我们的服务。",
+    "buttonAccept" : "同意并接受",
+    "buttonRefuse" : "暂不同意",
+    "second" : {
+        "title" : "确认提示",
+        "message" : "进入应用前,你需先同意<a href=\"pages/columnGoods/static/yhxy.html\">《用户协议》</a>与<a href=\"pages/columnGoods/static/yszc.html\">《隐私政策》</a>,否则将退出应用。",
+        "buttonAccept" : "同意并继续",
+        "buttonRefuse" : "退出应用"
+    },
+    "styles" : {
+        "backgroundColor" : "#fff",
+        "borderRadius" : "5px",
+        "title" : {
+            "color" : "#000"
+        },
+        "buttonAccept" : {
+            "color" : "#fff"
+        },
+        "buttonRefuse" : {
+            "color" : "#ccc"
+        }
+    }
+}

File diff suppressed because it is too large
+ 3 - 0
unpackage/cache/wgt/__UNI__9417D5E/app-config-service.js


+ 1 - 0
unpackage/cache/wgt/__UNI__9417D5E/app-config.js

@@ -0,0 +1 @@
+(function(e){function r(r){for(var n,l,i=r[0],p=r[1],a=r[2],c=0,s=[];c<i.length;c++)l=i[c],Object.prototype.hasOwnProperty.call(o,l)&&o[l]&&s.push(o[l][0]),o[l]=0;for(n in p)Object.prototype.hasOwnProperty.call(p,n)&&(e[n]=p[n]);f&&f(r);while(s.length)s.shift()();return u.push.apply(u,a||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,i=1;i<t.length;i++){var p=t[i];0!==o[p]&&(n=!1)}n&&(u.splice(r--,1),e=l(l.s=t[0]))}return e}var n={},o={"app-config":0},u=[];function l(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,l),t.l=!0,t.exports}l.m=e,l.c=n,l.d=function(e,r,t){l.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},l.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.t=function(e,r){if(1&r&&(e=l(e)),8&r)return e;if(4&r&&"object"===typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(l.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)l.d(t,n,function(r){return e[r]}.bind(null,n));return t},l.n=function(e){var r=e&&e.__esModule?function(){return e["default"]}:function(){return e};return l.d(r,"a",r),r},l.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},l.p="/";var i=this["webpackJsonp"]=this["webpackJsonp"]||[],p=i.push.bind(i);i.push=r,i=i.slice();for(var a=0;a<i.length;a++)r(i[a]);var f=p;t()})([]);

File diff suppressed because it is too large
+ 0 - 0
unpackage/cache/wgt/__UNI__9417D5E/app-service.js


File diff suppressed because it is too large
+ 0 - 0
unpackage/cache/wgt/__UNI__9417D5E/app-view.js


BIN
unpackage/cache/wgt/__UNI__9417D5E/components/update/images/close.png


BIN
unpackage/cache/wgt/__UNI__9417D5E/components/update/images/img.png


BIN
unpackage/cache/wgt/__UNI__9417D5E/components/update/images/round.png


File diff suppressed because it is too large
+ 0 - 0
unpackage/cache/wgt/__UNI__9417D5E/manifest.json


BIN
unpackage/cache/wgt/__UNI__9417D5E/pages/activity/static/bargainBg.jpg


BIN
unpackage/cache/wgt/__UNI__9417D5E/pages/activity/static/buled.png


BIN
unpackage/cache/wgt/__UNI__9417D5E/pages/activity/static/bulet.jpg


BIN
unpackage/cache/wgt/__UNI__9417D5E/pages/activity/static/couponBg.png


BIN
unpackage/cache/wgt/__UNI__9417D5E/pages/activity/static/greend.png


BIN
unpackage/cache/wgt/__UNI__9417D5E/pages/activity/static/greent.jpg


BIN
unpackage/cache/wgt/__UNI__9417D5E/pages/activity/static/groupLine.png


BIN
unpackage/cache/wgt/__UNI__9417D5E/pages/activity/static/lightning.png


BIN
unpackage/cache/wgt/__UNI__9417D5E/pages/activity/static/oranged.png


BIN
unpackage/cache/wgt/__UNI__9417D5E/pages/activity/static/oranget.jpg


BIN
unpackage/cache/wgt/__UNI__9417D5E/pages/activity/static/pinkd.png


BIN
unpackage/cache/wgt/__UNI__9417D5E/pages/activity/static/pinkt.jpg


BIN
unpackage/cache/wgt/__UNI__9417D5E/pages/activity/static/posterBag.png


BIN
unpackage/cache/wgt/__UNI__9417D5E/pages/activity/static/preBtnLeft.png


BIN
unpackage/cache/wgt/__UNI__9417D5E/pages/activity/static/presell_text.png


BIN
unpackage/cache/wgt/__UNI__9417D5E/pages/activity/static/priceBg.png


BIN
unpackage/cache/wgt/__UNI__9417D5E/pages/activity/static/priceTag.png


BIN
unpackage/cache/wgt/__UNI__9417D5E/pages/activity/static/redd.png


BIN
unpackage/cache/wgt/__UNI__9417D5E/pages/activity/static/redt.jpg


BIN
unpackage/cache/wgt/__UNI__9417D5E/pages/activity/static/vacancy.png


BIN
unpackage/cache/wgt/__UNI__9417D5E/pages/admin/static/pricetitle.jpg


BIN
unpackage/cache/wgt/__UNI__9417D5E/pages/admin/static/scan.gif


BIN
unpackage/cache/wgt/__UNI__9417D5E/pages/annex/static/error.png


BIN
unpackage/cache/wgt/__UNI__9417D5E/pages/annex/static/img.jpg


BIN
unpackage/cache/wgt/__UNI__9417D5E/pages/annex/static/offline-result.png


+ 65 - 0
unpackage/cache/wgt/__UNI__9417D5E/pages/annex/static/settledSuccessful.svg

@@ -0,0 +1,65 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="378" height="314" viewBox="0 0 378 314">
+  <defs>
+    <linearGradient id="linear-gradient" x1="0.5" x2="0.621" y2="1" gradientUnits="objectBoundingBox">
+      <stop offset="0" stop-color="#ffbc6c"/>
+      <stop offset="1" stop-color="#fd8a24"/>
+    </linearGradient>
+    <linearGradient id="linear-gradient-2" x1="0.054" y1="1" x2="0.559" y2="0.427" gradientUnits="objectBoundingBox">
+      <stop offset="0" stop-color="#fd9c46"/>
+      <stop offset="1" stop-color="#fc9235"/>
+    </linearGradient>
+  </defs>
+  <g id="组_3776" data-name="组 3776" transform="translate(-186 -260)">
+    <g id="矩形_1754" data-name="矩形 1754" transform="translate(186 260)" fill="#fff" stroke="#707070" stroke-width="1" opacity="0">
+      <rect width="378" height="314" stroke="none"/>
+      <rect x="0.5" y="0.5" width="377" height="313" fill="none"/>
+    </g>
+    <g id="组_3775" data-name="组 3775" transform="translate(11 13)">
+      <g id="组_3733" data-name="组 3733" transform="translate(5 4)">
+        <line id="直线_2" data-name="直线 2" x2="91.209" transform="translate(390.71 321.419)" fill="none" stroke="#fff0de" stroke-width="2"/>
+        <line id="直线_3" data-name="直线 3" y1="45.162" transform="translate(481.919 321.419)" fill="none" stroke="#fff0de" stroke-width="2"/>
+        <line id="直线_4" data-name="直线 4" x2="40.734" transform="translate(441.185 366.581)" fill="none" stroke="#fff0de" stroke-width="2"/>
+        <circle id="椭圆_13" data-name="椭圆 13" cx="4.5" cy="4.5" r="4.5" transform="translate(477 317)" fill="#fff0de"/>
+        <circle id="椭圆_14" data-name="椭圆 14" cx="4.5" cy="4.5" r="4.5" transform="translate(477 362)" fill="#fff0de"/>
+      </g>
+      <rect id="矩形_1736" data-name="矩形 1736" width="170" height="96" rx="4" transform="translate(206 385)" fill="#fff0de" opacity="0.35"/>
+      <rect id="矩形_1738" data-name="矩形 1738" width="161" height="134" rx="4" transform="translate(356 414)" fill="#fff0de" opacity="0.35"/>
+      <rect id="矩形_1735" data-name="矩形 1735" width="130" height="72" rx="4" transform="translate(226 397)" fill="#fff0de"/>
+      <rect id="矩形_1739" data-name="矩形 1739" width="123" height="77" rx="4" transform="translate(375 425)" fill="#fff0de"/>
+      <rect id="矩形_1740" data-name="矩形 1740" width="36" height="22" rx="4" transform="translate(462 511)" fill="#fff0de"/>
+      <rect id="矩形_1737" data-name="矩形 1737" width="155" height="74" rx="4" transform="translate(266 300)" fill="#fff0de"/>
+      <g id="椭圆_15" data-name="椭圆 15" transform="translate(491 281)" fill="none" stroke="#ffdeb7" stroke-width="2">
+        <circle cx="7" cy="7" r="7" stroke="none"/>
+        <circle cx="7" cy="7" r="6" fill="none"/>
+      </g>
+      <g id="椭圆_17" data-name="椭圆 17" transform="translate(468 299)" fill="none" stroke="#ffdeb7" stroke-width="1">
+        <circle cx="4.5" cy="4.5" r="4.5" stroke="none"/>
+        <circle cx="4.5" cy="4.5" r="4" fill="none"/>
+      </g>
+      <circle id="椭圆_19" data-name="椭圆 19" cx="3" cy="3" r="3" transform="translate(260 527)" fill="#ffdeb7"/>
+      <g id="椭圆_20" data-name="椭圆 20" transform="translate(221 502)" fill="none" stroke="#ffdeb7" stroke-width="2">
+        <circle cx="8.5" cy="8.5" r="8.5" stroke="none"/>
+        <circle cx="8.5" cy="8.5" r="7.5" fill="none"/>
+      </g>
+      <circle id="椭圆_18" data-name="椭圆 18" cx="2.5" cy="2.5" r="2.5" transform="translate(391 283)" fill="#ffdeb7"/>
+      <g id="组_3734" data-name="组 3734" transform="translate(-16.078 -39.078)">
+        <rect id="矩形_1741" data-name="矩形 1741" width="21" height="5" rx="2.5" transform="translate(447.078 309.078)" fill="#ffdeb7"/>
+        <rect id="矩形_1742" data-name="矩形 1742" width="21" height="5" rx="2.5" transform="translate(455.078 322.078) rotate(-90)" fill="#ffdeb7"/>
+        <circle id="椭圆_16" data-name="椭圆 16" cx="2.5" cy="2.5" r="2.5" transform="translate(455.078 309.078)" fill="#fff"/>
+      </g>
+      <g id="组_3726" data-name="组 3726" transform="translate(290.558 342.65)">
+        <path id="减去_3" data-name="减去 3" d="M106.857,175.894H16a16,16,0,0,1-16-16V16A16,16,0,0,1,16,0H140.351a16,16,0,0,1,16,16v86.214A44.408,44.408,0,0,0,91.626,160.06a44.708,44.708,0,0,0,15.228,15.832Z" transform="translate(0 0)" fill="#f9c98f" stroke="rgba(0,0,0,0)" stroke-width="1"/>
+        <path id="减去_4" data-name="减去 4" d="M106.855,175.9H15.634A15.653,15.653,0,0,1,0,160.258V15.634A15.652,15.652,0,0,1,15.634,0H97.719l58.633,58.631v43.588a44.409,44.409,0,1,0-49.506,73.671Z" transform="translate(0.004 0)" stroke="rgba(0,0,0,0)" stroke-width="1" fill="url(#linear-gradient)"/>
+        <path id="圆角矩形_2" data-name="圆角矩形 2" d="M491.632,613.632H445.344A12.344,12.344,0,0,1,433,601.288V555" transform="translate(-335.278 -555)" fill="url(#linear-gradient-2)"/>
+        <rect id="矩形_95" data-name="矩形 95" width="78.942" height="11.841" rx="5.921" transform="translate(11.842 51.312)" fill="#fff"/>
+        <rect id="矩形_94" data-name="矩形 94" width="78.942" height="11.841" rx="5.921" transform="translate(11.842 78.942)" fill="#fff"/>
+        <rect id="矩形_96" data-name="矩形 96" width="55.259" height="11.841" rx="5.921" transform="translate(11.842 23.683)" fill="#fff"/>
+        <g id="椭圆_6" data-name="椭圆 6" transform="translate(91.772 99.665)" fill="none" stroke="#fd8a24" stroke-width="6">
+          <circle cx="38.484" cy="38.484" r="38.484" stroke="none"/>
+          <circle cx="38.484" cy="38.484" r="35.484" fill="none"/>
+        </g>
+        <path id="路径_1446" data-name="路径 1446" d="M0,25.784V0H16.317" transform="translate(128.942 147.286) rotate(-135)" fill="none" stroke="#fd8a24" stroke-linecap="round" stroke-linejoin="round" stroke-width="6"/>
+      </g>
+    </g>
+  </g>
+</svg>

BIN
unpackage/cache/wgt/__UNI__9417D5E/pages/annex/static/success.png


BIN
unpackage/cache/wgt/__UNI__9417D5E/pages/columnGoods/static/feed-icon.png


File diff suppressed because it is too large
+ 16 - 0
unpackage/cache/wgt/__UNI__9417D5E/pages/columnGoods/static/yhxy.html


File diff suppressed because it is too large
+ 16 - 0
unpackage/cache/wgt/__UNI__9417D5E/pages/columnGoods/static/yszc.html


BIN
unpackage/cache/wgt/__UNI__9417D5E/pages/goods/static/address-aleart-header.png


BIN
unpackage/cache/wgt/__UNI__9417D5E/pages/goods/static/font-left.png


BIN
unpackage/cache/wgt/__UNI__9417D5E/pages/goods/static/font-right.png


BIN
unpackage/cache/wgt/__UNI__9417D5E/pages/goods/static/head-l-point.png


BIN
unpackage/cache/wgt/__UNI__9417D5E/pages/goods/static/head-r-point.png


BIN
unpackage/cache/wgt/__UNI__9417D5E/pages/goods/static/lottery-bag.png


BIN
unpackage/cache/wgt/__UNI__9417D5E/pages/goods/static/lottery-click.png


BIN
unpackage/cache/wgt/__UNI__9417D5E/pages/goods/static/orderTime.png


BIN
unpackage/cache/wgt/__UNI__9417D5E/pages/goods/static/pay-lottery-bag.png


BIN
unpackage/cache/wgt/__UNI__9417D5E/pages/goods/static/pay-lottery-l.png


BIN
unpackage/cache/wgt/__UNI__9417D5E/pages/goods/static/pay-lottery-r.png


BIN
unpackage/cache/wgt/__UNI__9417D5E/pages/goods/static/shuoming.png


BIN
unpackage/cache/wgt/__UNI__9417D5E/pages/goods/static/writeOff.jpg


BIN
unpackage/cache/wgt/__UNI__9417D5E/pages/goods/static/written.png


BIN
unpackage/cache/wgt/__UNI__9417D5E/pages/points_mall/static/everyday.png


BIN
unpackage/cache/wgt/__UNI__9417D5E/pages/points_mall/static/exchange.png


Some files were not shown because too many files changed in this diff