yinchengnuo 4 anos atrás
pai
commit
85766572e6
100 arquivos alterados com 849 adições e 177 exclusões
  1. 1 0
      apis/order.js
  2. 31 4
      components/public/add-cart.vue
  3. 13 4
      components/public/num-input.vue
  4. 96 0
      components/uni-icons/icons.js
  5. 10 0
      components/uni-icons/uni-icons.vue
  6. 243 0
      components/uni-steps/uni-steps.vue
  7. 10 1
      pages.json
  8. 1 1
      pages/add-address/add-address.vue
  9. 1 1
      pages/comfirm-order-success/comfirm-order-success.vue
  10. 2 2
      pages/confirm-order/confirm-order.vue
  11. 13 7
      pages/confirm-order1/confirm-order1.vue
  12. 4 4
      pages/down-order/down-order.vue
  13. 39 0
      pages/express-detail/express-detail.vue
  14. 1 1
      pages/good-detail/good-detail.vue
  15. 2 2
      pages/good-detail1/good-detail1.vue
  16. 1 1
      pages/income-running/income-running.vue
  17. 15 0
      pages/index-my/index-my.vue
  18. 48 17
      pages/index/index.vue
  19. 7 12
      pages/invite-proxy/invite-proxy.vue
  20. 5 5
      pages/manage-people/manage-people.vue
  21. 8 2
      pages/money-running-detail/money-running-detail.vue
  22. 5 3
      pages/money-running/money-running.vue
  23. 79 58
      pages/my-order/my-order.vue
  24. 1 1
      pages/my-storage/my-storage.vue
  25. 2 2
      pages/order-detail/order-detail.vue
  26. 1 1
      pages/order-detail1-list/order-detail1-list.vue
  27. 1 1
      pages/order-detail1-log/order-detail1-log.vue
  28. 81 14
      pages/order-detail1/order-detail1.vue
  29. 5 5
      pages/pay-order/pay-order.vue
  30. 52 16
      pages/place-order/place-order.vue
  31. 1 1
      pages/record-record/record-record.vue
  32. 1 1
      pages/reward-in/reward-in.vue
  33. 1 1
      pages/reward-out/reward-out.vue
  34. 2 2
      pages/safe-manage/safe-manage.vue
  35. 2 2
      pages/shop-car/shop-car.vue
  36. 33 2
      pages/shop-car1/shop-car1.vue
  37. BIN
      static/index/index/new/1.png
  38. BIN
      static/index/index/new/2.png
  39. BIN
      static/index/index/new/3.png
  40. BIN
      static/index/index/new/4.png
  41. BIN
      static/index/index/new/5.png
  42. BIN
      static/index/index/new/6.png
  43. BIN
      static/index/my/address.png
  44. 30 2
      store/modules/cart.js
  45. BIN
      unpackage/dist/build/h5.rar
  46. BIN
      unpackage/dist/build/h5/h5.zip
  47. 1 1
      unpackage/dist/build/h5/index.html
  48. BIN
      unpackage/dist/build/h5/static/index/index/new/1.png
  49. BIN
      unpackage/dist/build/h5/static/index/index/new/2.png
  50. BIN
      unpackage/dist/build/h5/static/index/index/new/3.png
  51. BIN
      unpackage/dist/build/h5/static/index/index/new/4.png
  52. BIN
      unpackage/dist/build/h5/static/index/index/new/5.png
  53. BIN
      unpackage/dist/build/h5/static/index/index/new/6.png
  54. BIN
      unpackage/dist/build/h5/static/index/my/address.png
  55. 0 0
      unpackage/dist/build/h5/static/js/chunk-vendors.ee30ac36.js
  56. 0 0
      unpackage/dist/build/h5/static/js/index.4c027f2e.js
  57. 0 0
      unpackage/dist/build/h5/static/js/index.94ca47ca.js
  58. 0 0
      unpackage/dist/build/h5/static/js/pages-add-address-add-address.314a0704.js
  59. 0 0
      unpackage/dist/build/h5/static/js/pages-add-address-add-address.73d27d63.js
  60. 0 0
      unpackage/dist/build/h5/static/js/pages-comfirm-order-success-comfirm-order-success.3b3cb50d.js
  61. 0 0
      unpackage/dist/build/h5/static/js/pages-comfirm-order-success-comfirm-order-success.bb11c303.js
  62. 0 0
      unpackage/dist/build/h5/static/js/pages-confirm-order-confirm-order.4b873bdb.js
  63. 0 0
      unpackage/dist/build/h5/static/js/pages-confirm-order-confirm-order.da9a336d.js
  64. 0 0
      unpackage/dist/build/h5/static/js/pages-confirm-order1-confirm-order1.aae52a1c.js
  65. 0 0
      unpackage/dist/build/h5/static/js/pages-confirm-order1-confirm-order1.e75b5dc5.js
  66. 0 0
      unpackage/dist/build/h5/static/js/pages-down-order-down-order.6c3f9363.js
  67. 0 0
      unpackage/dist/build/h5/static/js/pages-down-order-down-order.c2b3f813.js
  68. 0 0
      unpackage/dist/build/h5/static/js/pages-express-detail-express-detail.053e9b1b.js
  69. 0 0
      unpackage/dist/build/h5/static/js/pages-good-detail-good-detail.da23ef54.js
  70. 0 0
      unpackage/dist/build/h5/static/js/pages-good-detail-good-detail.f74d00cc.js
  71. 0 0
      unpackage/dist/build/h5/static/js/pages-good-detail1-good-detail1.75c7a93a.js
  72. 0 0
      unpackage/dist/build/h5/static/js/pages-good-detail1-good-detail1.b8e7c94b.js
  73. 0 0
      unpackage/dist/build/h5/static/js/pages-good-detail1-good-detail1~pages-place-order-place-order.2892c4de.js
  74. 0 0
      unpackage/dist/build/h5/static/js/pages-good-detail1-good-detail1~pages-place-order-place-order.353db499.js
  75. 0 0
      unpackage/dist/build/h5/static/js/pages-income-running-income-running.adee718c.js
  76. 0 0
      unpackage/dist/build/h5/static/js/pages-income-running-income-running.d07cf8c0.js
  77. 0 0
      unpackage/dist/build/h5/static/js/pages-index-index.29319d5b.js
  78. 0 0
      unpackage/dist/build/h5/static/js/pages-index-index.dd73fe65.js
  79. 0 0
      unpackage/dist/build/h5/static/js/pages-index-my-index-my.154e1a0a.js
  80. 0 0
      unpackage/dist/build/h5/static/js/pages-index-my-index-my.1b04873f.js
  81. 0 0
      unpackage/dist/build/h5/static/js/pages-invite-proxy-invite-proxy.e6324f16.js
  82. 0 0
      unpackage/dist/build/h5/static/js/pages-invite-proxy-invite-proxy.f13c1283.js
  83. 0 0
      unpackage/dist/build/h5/static/js/pages-manage-order-manage-order.6f113e70.js
  84. 0 0
      unpackage/dist/build/h5/static/js/pages-manage-people-manage-people.2d233405.js
  85. 0 0
      unpackage/dist/build/h5/static/js/pages-manage-people-manage-people.2e843e0e.js
  86. 0 0
      unpackage/dist/build/h5/static/js/pages-money-running-detail-money-running-detail.68b9c087.js
  87. 0 0
      unpackage/dist/build/h5/static/js/pages-money-running-detail-money-running-detail.9dbdf612.js
  88. 0 0
      unpackage/dist/build/h5/static/js/pages-money-running-money-running.e0e8a987.js
  89. 0 0
      unpackage/dist/build/h5/static/js/pages-money-running-money-running.ebb330db.js
  90. 0 0
      unpackage/dist/build/h5/static/js/pages-my-order-my-order.3c8f5901.js
  91. 0 0
      unpackage/dist/build/h5/static/js/pages-my-order-my-order.6169360c.js
  92. 0 0
      unpackage/dist/build/h5/static/js/pages-my-storage-my-storage.023fc56a.js
  93. 0 0
      unpackage/dist/build/h5/static/js/pages-my-storage-my-storage.fa9d4a02.js
  94. 0 0
      unpackage/dist/build/h5/static/js/pages-order-detail-order-detail.06dd664e.js
  95. 0 0
      unpackage/dist/build/h5/static/js/pages-order-detail-order-detail.510161ec.js
  96. 0 0
      unpackage/dist/build/h5/static/js/pages-order-detail1-list-order-detail1-list.127e5285.js
  97. 0 0
      unpackage/dist/build/h5/static/js/pages-order-detail1-list-order-detail1-list.645e49bf.js
  98. 0 0
      unpackage/dist/build/h5/static/js/pages-order-detail1-log-order-detail1-log.31088271.js
  99. 0 0
      unpackage/dist/build/h5/static/js/pages-order-detail1-log-order-detail1-log.9658220a.js
  100. 0 0
      unpackage/dist/build/h5/static/js/pages-order-detail1-order-detail1.6db050da.js

+ 1 - 0
apis/order.js

@@ -29,6 +29,7 @@ export const _API_PlaceOrder = data => request.post('/submit_order', data) // 
 
 
 export const _API_OrderReceiveGoods = data => request.get('/order/order_complete', data) // 确认收货
+export const _API_OrderReceiveGoods1 = data => request.get('/order/sure_order', data) // 确认收货
 
 
 export const _API_OrderReceiveMoney = data => request.get('/order/order_sure_pay', data) // 确认收款

+ 31 - 4
components/public/add-cart.vue

@@ -8,11 +8,15 @@
 				<view class="item-info">
 					<image :src="item.main_img" mode=""></image>
 					<view class="ellipsis">{{ item.name }}</view>
+					<view class="shop-car" @click="toCart">
+						<text class="cuIcon-cartfill"></text>
+					</view>
 				</view>
 				<view v-for="(size, index) in item.size" :key="index" class="size-item">
 					<view class="left">
 						<text>{{ size }}</text>
-						<text class="basecolor">¥{{ item.money }}.00/套</text>
+						<text class="basecolor">¥{{ item.money }}/{{ item.unit }}</text>
+						<!-- <text>库存:{{ item.storage[index] }}</text> -->
 					</view>
 					<NumInput :value="item.cart[index]" :args="[item.size_id[index]]" @change="numChange" />
 				</view>
@@ -41,6 +45,7 @@
 			show(item) {
 				this.showed = true
 				this.item = item
+				console.log(item)
 			},
 			hide() {
 				this.showed = false
@@ -52,12 +57,14 @@
 				if (this.choosedNum) {
 					this.item.choosed = true
 					this.item.sizeChoosed = Array(this.item.size.length).fill(true)
-					console.log(this.item)
 					this.$store.commit('cart/ADD', this.item)
 					this.hide()
 				} else {
 					uni.showToast({ title: '请选择尺寸', icon: 'none' })
 				}
+			},
+			toCart() {
+				uni.switchTab({ url: '../../pages/shop-car1/shop-car1' })
 			}
 		}
 	}
@@ -106,16 +113,30 @@
 						height: 180rpx;
 						margin: 0 37rpx 0 18rpx;
 					}
-					view {
+					.ellipsis {
 						color: #181818;
 						font-size: 32rpx;
 						font-weight: bold;
 						line-height: 3;
 					}
+					.shop-car {
+						flex: 1;
+						height: 100%;
+						@include flex();
+						text {
+							@include flex();
+							border-radius: 50%;
+							background: $app-base-color;
+							width: 100rpx;
+							height: 100rpx;
+							font-size: 48rpx;
+							color: #FFFFFF;
+						}
+					}
 				}
 				.size-item {
 					@include flex()
-					height: 168rpx;
+					height: 227rpx;
 					padding: 36rpx 18rpx;
 					box-sizing: border-box;
 					border-top: 2rpx solid #CCCCCC;
@@ -123,9 +144,15 @@
 						flex: 1;
 						height: 100%;
 						font-size: 28rpx;
+						margin-right: 24px;
 						@include flex(column);
 						align-items: flex-start;
 						justify-content: space-between;
+						.num {
+							width: 100%;
+							@include flex();
+							justify-content: space-between;
+						}
 					}
 				}
 			}

+ 13 - 4
components/public/num-input.vue

@@ -7,7 +7,7 @@
 			<view class="inputModel">
 				<view class="t">请输入数量</view>
 				<view class="m">
-					<input ref="input" focus type="number" maxlength="3" v-model="inputNum" />
+					<input ref="input" focus type="number" maxlength="4" v-model="inputNum" />
 				</view>
 				<view class="b">
 					<text class="l" @tap.stop="showInput = false">取消</text>
@@ -22,7 +22,8 @@
 	export default {
 		props: {
 			value: { type: Number, default: 0 },
-			args: { type: Array, default: () => [] }
+			args: { type: Array, default: () => [] },
+			max: { type: Number, default: 9999 }
 		},
 		data() {
 			return {
@@ -37,11 +38,19 @@
 				}
 			},
 			add() {
-				this.$emit('change', this.value + 1, ...this.args)
+				if (this.value + 1 > this.max) {
+					uni.toast('数量不能再多了')
+				} else {
+					this.$emit('change', this.value + 1, ...this.args)
+				}
 			},
 			comfirmNum() {
 				if (this.inputNum) {
-					this.$emit('change', +this.inputNum, ...this.args)
+					if (+this.inputNum > this.max) {
+						this.$emit('change', this.max, ...this.args)
+					} else {
+						this.$emit('change', +this.inputNum, ...this.args)
+					}
 				} else {
 					this.$emit('change', 0, ...this.args)
 				}

+ 96 - 0
components/uni-icons/icons.js

@@ -0,0 +1,96 @@
+export default {
+	'contact': '\ue100',
+	'person': '\ue101',
+	'personadd': '\ue102',
+	'contact-filled': '\ue130',
+	'person-filled': '\ue131',
+	'personadd-filled': '\ue132',
+	'phone': '\ue200',
+	'email': '\ue201',
+	'chatbubble': '\ue202',
+	'chatboxes': '\ue203',
+	'phone-filled': '\ue230',
+	'email-filled': '\ue231',
+	'chatbubble-filled': '\ue232',
+	'chatboxes-filled': '\ue233',
+	'weibo': '\ue260',
+	'weixin': '\ue261',
+	'pengyouquan': '\ue262',
+	'chat': '\ue263',
+	'qq': '\ue264',
+	'videocam': '\ue300',
+	'camera': '\ue301',
+	'mic': '\ue302',
+	'location': '\ue303',
+	'mic-filled': '\ue332',
+	'speech': '\ue332',
+	'location-filled': '\ue333',
+	'micoff': '\ue360',
+	'image': '\ue363',
+	'map': '\ue364',
+	'compose': '\ue400',
+	'trash': '\ue401',
+	'upload': '\ue402',
+	'download': '\ue403',
+	'close': '\ue404',
+	'redo': '\ue405',
+	'undo': '\ue406',
+	'refresh': '\ue407',
+	'star': '\ue408',
+	'plus': '\ue409',
+	'minus': '\ue410',
+	'circle': '\ue411',
+	'checkbox': '\ue411',
+	'close-filled': '\ue434',
+	'clear': '\ue434',
+	'refresh-filled': '\ue437',
+	'star-filled': '\ue438',
+	'plus-filled': '\ue439',
+	'minus-filled': '\ue440',
+	'circle-filled': '\ue441',
+	'checkbox-filled': '\ue442',
+	'closeempty': '\ue460',
+	'refreshempty': '\ue461',
+	'reload': '\ue462',
+	'starhalf': '\ue463',
+	'spinner': '\ue464',
+	'spinner-cycle': '\ue465',
+	'search': '\ue466',
+	'plusempty': '\ue468',
+	'forward': '\ue470',
+	'back': '\ue471',
+	'left-nav': '\ue471',
+	'checkmarkempty': '\ue472',
+	'home': '\ue500',
+	'navigate': '\ue501',
+	'gear': '\ue502',
+	'paperplane': '\ue503',
+	'info': '\ue504',
+	'help': '\ue505',
+	'locked': '\ue506',
+	'more': '\ue507',
+	'flag': '\ue508',
+	'home-filled': '\ue530',
+	'gear-filled': '\ue532',
+	'info-filled': '\ue534',
+	'help-filled': '\ue535',
+	'more-filled': '\ue537',
+	'settings': '\ue560',
+	'list': '\ue562',
+	'bars': '\ue563',
+	'loop': '\ue565',
+	'paperclip': '\ue567',
+	'eye': '\ue568',
+	'arrowup': '\ue580',
+	'arrowdown': '\ue581',
+	'arrowleft': '\ue582',
+	'arrowright': '\ue583',
+	'arrowthinup': '\ue584',
+	'arrowthindown': '\ue585',
+	'arrowthinleft': '\ue586',
+	'arrowthinright': '\ue587',
+	'pulldown': '\ue588',
+	'closefill': '\ue589',
+	'sound': '\ue590',
+	'scan': '\ue612'
+}

Diferenças do arquivo suprimidas por serem muito extensas
+ 10 - 0
components/uni-icons/uni-icons.vue


+ 243 - 0
components/uni-steps/uni-steps.vue

@@ -0,0 +1,243 @@
+<template>
+	<view class="uni-steps">
+		<view :class="[direction==='column'?'uni-steps__column':'uni-steps__row']">
+			<view :class="[direction==='column'?'uni-steps__column-text-container':'uni-steps__row-text-container']">
+				<view v-for="(item,index) in options" :key="index" :class="[direction==='column'?'uni-steps__column-text':'uni-steps__row-text']">
+					<text :style="{color:index<=active?activeColor:deactiveColor}" :class="[direction==='column'?'uni-steps__column-title':'uni-steps__row-title']">{{item.title}}</text>
+					<text :style="{color:index<=active?activeColor:deactiveColor}" :class="[direction==='column'?'uni-steps__column-desc':'uni-steps__row-desc']">{{item.desc}}</text>
+				</view>
+			</view>
+			<view :class="[direction==='column'?'uni-steps__column-container':'uni-steps__row-container']">
+				<view :class="[direction==='column'?'uni-steps__column-line-item':'uni-steps__row-line-item']" v-for="(item,index) in options"
+				 :key="index">
+					<view :class="[direction==='column'?'uni-steps__column-line':'uni-steps__row-line',direction==='column'?'uni-steps__column-line--before':'uni-steps__row-line--before']"
+					 :style="{backgroundColor:index<=active&&index!==0?activeColor:index===0?'transparent':deactiveColor}"></view>
+					<view :class="[direction==='column'?'uni-steps__column-check':'uni-steps__row-check']" v-if="index === active">
+						<uni-icons :color="activeColor" type="checkbox-filled" size="14"></uni-icons>
+					</view>
+					<view :class="[direction==='column'?'uni-steps__column-circle':'uni-steps__row-circle']" v-else :style="{backgroundColor:index<active?activeColor:deactiveColor}"></view>
+					<view :class="[direction==='column'?'uni-steps__column-line':'uni-steps__row-line',direction==='column'?'uni-steps__column-line--after':'uni-steps__row-line--after']"
+					 :style="{backgroundColor:index<active&&index!==options.length-1?activeColor:index===options.length-1?'transparent':deactiveColor}"></view>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import uniIcons from '../uni-icons/uni-icons.vue'
+	export default {
+		name: 'UniSteps',
+		components: {
+			uniIcons
+		},
+		props: {
+			direction: {
+				// 排列方向 row column
+				type: String,
+				default: 'row'
+			},
+			activeColor: {
+				// 激活状态颜色
+				type: String,
+				default: '#1aad19'
+			},
+			deactiveColor: {
+				// 未激活状态颜色
+				type: String,
+				default: '#999999'
+			},
+			active: {
+				// 当前步骤
+				type: Number,
+				default: 0
+			},
+			options: {
+				type: Array,
+				default () {
+					return []
+				}
+			} // 数据
+		},
+		data() {
+			return {}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.uni-steps {
+		/* #ifndef APP-NVUE */
+		display: flex;
+		width: 100%;
+		/* #endif */
+		/* #ifdef APP-NVUE */
+		flex: 1;
+		/* #endif */
+		flex-direction: column;
+	}
+
+	.uni-steps__row {
+		/* #ifndef APP-NVUE */
+		display: flex;
+		/* #endif */
+		flex-direction: column;
+	}
+
+	.uni-steps__column {
+		/* #ifndef APP-NVUE */
+		display: flex;
+		/* #endif */
+		flex-direction: row-reverse;
+	}
+
+	.uni-steps__row-text-container {
+		/* #ifndef APP-NVUE */
+		display: flex;
+		/* #endif */
+		flex-direction: row;
+	}
+
+	.uni-steps__column-text-container {
+		/* #ifndef APP-NVUE */
+		display: flex;
+		/* #endif */
+		flex-direction: column;
+		flex: 1;
+	}
+
+	.uni-steps__row-text {
+		/* #ifndef APP-NVUE */
+		display: inline-flex;
+		/* #endif */
+		flex: 1;
+		flex-direction: column;
+	}
+
+	.uni-steps__column-text {
+		padding: 6px 0px;
+		border-bottom-style: solid;
+		border-bottom-width: 1px;
+		border-bottom-color: $uni-border-color;
+		/* #ifndef APP-NVUE */
+		display: flex;
+		/* #endif */
+		flex-direction: column;
+	}
+
+	.uni-steps__row-title {
+		font-size: $uni-font-size-base;
+		line-height: 16px;
+		text-align: center;
+	}
+
+	.uni-steps__column-title {
+		font-size: $uni-font-size-base;
+		text-align: left;
+		line-height: 18px;
+	}
+
+	.uni-steps__row-desc {
+		font-size: 12px;
+		line-height: 14px;
+		text-align: center;
+	}
+
+	.uni-steps__column-desc {
+		font-size: $uni-font-size-sm;
+		text-align: left;
+		line-height: 18px;
+	}
+
+	.uni-steps__row-container {
+		/* #ifndef APP-NVUE */
+		display: flex;
+		/* #endif */
+		flex-direction: row;
+	}
+
+	.uni-steps__column-container {
+		/* #ifndef APP-NVUE */
+		display: inline-flex;
+		/* #endif */
+		width: 30px;
+		flex-direction: column;
+	}
+
+	.uni-steps__row-line-item {
+		/* #ifndef APP-NVUE */
+		display: inline-flex;
+		/* #endif */
+		flex-direction: row;
+		flex: 1;
+		height: 14px;
+		line-height: 14px;
+		align-items: center;
+		justify-content: center;
+	}
+
+	.uni-steps__column-line-item {
+		/* #ifndef APP-NVUE */
+		display: flex;
+		/* #endif */
+		flex-direction: column;
+		flex: 1;
+		align-items: center;
+		justify-content: center;
+	}
+
+	.uni-steps__row-line {
+		flex: 1;
+		height: 1px;
+		background-color: $uni-text-color-grey;
+	}
+
+	.uni-steps__column-line {
+		width: 1px;
+		background-color: $uni-text-color-grey;
+	}
+
+	.uni-steps__row-line--after {
+		transform: translateX(1px);
+	}
+
+	.uni-steps__column-line--after {
+		flex: 1;
+		transform: translate(0px, 1px);
+	}
+
+	.uni-steps__row-line--before {
+		transform: translateX(-1px);
+	}
+
+	.uni-steps__column-line--before {
+		height: 6px;
+		transform: translate(0px, -1px);
+	}
+
+	.uni-steps__row-circle {
+		width: 5px;
+		height: 5px;
+		border-radius: 100px;
+		background-color: $uni-text-color-grey;
+		margin: 0px 3px;
+	}
+
+	.uni-steps__column-circle {
+		width: 5px;
+		height: 5px;
+		border-radius: 100px;
+		background-color: $uni-text-color-grey;
+		margin: 4px 0px 5px 0px;
+	}
+
+	.uni-steps__row-check {
+		margin: 0px 6px;
+	}
+
+	.uni-steps__column-check {
+		height: 14px;
+		line-height: 14px;
+		margin: 2px 0px;
+	}
+</style>

+ 10 - 1
pages.json

@@ -6,7 +6,7 @@
         },
 		{
 		    "path" : "pages/index-my/index-my",
-		    "style": { "navigationBarTitleText": "我的" }
+		    "style": { "navigationBarTitleText": "我的", "enablePullDownRefresh": true }
 		},
 		{
 			"path": "pages/register-examine/register-examine",
@@ -208,6 +208,10 @@
             "path" : "pages/money-running-detail/money-running-detail",
             "style": { "navigationBarTitleText": "账单详情" }
         }
+        ,{
+            "path" : "pages/express-detail/express-detail",
+            "style" : {}
+        }
     ],
 	"tabBar": {
 		"color": "#666666",
@@ -243,6 +247,11 @@
 		"navigationStyle": "custom",
 		"app-plus": {
 			"scrollIndicator": "none"
+		},
+		"h5": {
+			"pullToRefresh": {
+				"color": "#F76454"
+			}
 		}
 	}
 }

+ 1 - 1
pages/add-address/add-address.vue

@@ -4,7 +4,7 @@
 		<w-picker ref="Selector" mode="region" :defaultVal="pickerDefaultVal" themeColor="#F76454" @confirm="onConfirm" />
 		<view class="content">
 			<view class="app-item">
-				<text>名字</text>
+				<text>收货人</text>
 				<input type="text" v-model="address.name" placeholder="请填写真实姓名" />
 			</view>
 			<view class="app-item">

+ 1 - 1
pages/comfirm-order-success/comfirm-order-success.vue

@@ -3,7 +3,7 @@
 		<image class="ok" src="../../static/icon/ok.png"></image>
 		<text class="t1">提交成功</text>
 		<text class="t2">订单编号:{{ order_num }}</text>
-		<text class="t3">应付金额:¥{{ money }}.00</text>
+		<text class="t3">应付金额:¥{{ money }}</text>
 		<view class="btn">
 			<navigator open-type="navigateBack" class="big-btn">返回</navigator>
 			<navigator :url="'../pay-order/pay-order?fromS=1&order_id=' + order_id + '&money=' + money + '&order_num=' + order_num"  class="big-btn bg">付款</navigator>

+ 2 - 2
pages/confirm-order/confirm-order.vue

@@ -4,7 +4,7 @@
 		<view v-if="!confirmed" class="pay">
 			<view class="num">共{{ totalNum }}件</view>
 			<view class="total">
-				总计:<text>¥{{ totalPrice + '.00' }}</text>
+				总计:<text>¥{{ totalPrice + '' }}</text>
 			</view>
 			<view class="buy" @tap="confirm">结算({{ ' ' + totalNum + ' ' }})</view>
 		</view>
@@ -29,7 +29,7 @@
 						<view class="item type-size-counter" v-for="(value, key) in tyepItem.size" :key="key">
 							<view class="type-size">
 								<text>款式:{{ tyepItem.name }} 尺码: {{ key }}</text>
-								<text class="cost">¥{{ item.price * value }}.00</text>
+								<text class="cost">¥{{ item.price * value }}</text>
 							</view>
 							<view class="num">×{{ ' ' + value + ' ' }}</view>
 						</view>

+ 13 - 7
pages/confirm-order1/confirm-order1.vue

@@ -31,7 +31,7 @@
 					<image :src="item.main_img"></image>
 					<view class="info">
 						<text class="size">尺码:{{ sizeItem }}</text>
-						<text class="basecolor">¥{{ item.money }}.00/{{ item.unit }}</text>
+						<text class="basecolor">¥{{ item.money }}/{{ item.unit }}</text>
 					</view>
 					<view class="num">数量:{{ item.cart[sizeIndex] }}</view>
 				</view>
@@ -39,14 +39,14 @@
 		</view>
 		<view class="total app-item">
 			<text>订单金额</text>
-			<text class="basecolor">共计:¥{{ choosedPrice }}.00</text>
+			<text class="basecolor">共计:¥{{ choosedPrice| numDot }}</text>
 		</view>
 		<view class="remark app-item">
 			<text>备注信息</text>
 			<input type="text" v-model="remark" placeholder="请输入备注信息" />
 		</view>
 		<view class="submit">
-			<view class="left">合计:<text class="basecolor">¥{{ choosedPrice }}.00</text></view>
+			<view class="left">合计:<text class="basecolor">¥{{ choosedPrice | numDot }}</text></view>
 			<view class="right" @tap="sumbit">提交订单</view>
 		</view>
 	</view>
@@ -114,9 +114,9 @@
 								uni.redirectTo({ url: `../comfirm-order-success/comfirm-order-success?order_id=${res.data.order_id}&order_num=${res.data.order_num}&money=${money}` })
 							} else {
 								this.requesting = false
-								uni.toast(res.message)
+								uni.showModal({ showCancel: false, title: '提示', content: res.message })
 							}
-						}).catch(() => his.requesting = false)
+						}).catch(() => this.requesting = false)
 					}
 				} else {
 					uni.showToast({ title: '请选择地址', icon: 'none' })
@@ -131,7 +131,7 @@
 		height: 100vh;
 		overflow: auto;
 		background: $app-base-bg;
-		border-bottom: 100rpx solid transparent;
+		border-bottom: 290rpx solid transparent;
 		.address {
 			height: 120rpx;
 			background: #FFFFFF;
@@ -253,6 +253,9 @@
 			}
 		}
 		.total {
+			position: fixed;
+			width: 100vw;
+			bottom: 190rpx;
 			font-size: 32rpx;
 			.basecolor {
 				font-weight: bold;
@@ -260,7 +263,10 @@
 		}
 		.remark {
 			font-size: 32rpx;
-			margin-bottom: 10rpx;
+			// margin-bottom: 10rpx;
+			position: fixed;
+			width: 100vw;
+			bottom: 100rpx;
 			input {
 				text-align: right;
 			}

+ 4 - 4
pages/down-order/down-order.vue

@@ -21,7 +21,7 @@
 										<view class="info">
 											<text class="name">{{ goodItem.name }}</text>
 											<text class="num">数量:{{ goodItem.num }}件</text>
-											<text class="price">金额:¥{{ goodItem.price * goodItem.num + '.00' }}</text>
+											<text class="price">金额:¥{{ goodItem.price * goodItem.num + '' }}</text>
 										</view>
 									</view>
 									<view class="totalPrice">
@@ -48,7 +48,7 @@
 										<view class="info">
 											<text class="name">{{ goodItem.name }}</text>
 											<text class="num">数量:{{ goodItem.num }}件</text>
-											<text class="price">金额:¥{{ goodItem.price * goodItem.num + '.00' }}</text>
+											<text class="price">金额:¥{{ goodItem.price * goodItem.num + '' }}</text>
 										</view>
 									</view>
 									<view class="totalPrice">
@@ -76,7 +76,7 @@
 										<view class="info">
 											<text class="name">{{ goodItem.name }}</text>
 											<text class="num">数量:{{ goodItem.num }}件</text>
-											<text class="price">金额:¥{{ goodItem.price * goodItem.num + '.00' }}</text>
+											<text class="price">金额:¥{{ goodItem.price * goodItem.num + '' }}</text>
 										</view>
 									</view>
 									<view class="totalPrice">
@@ -127,7 +127,7 @@
 		},
 		filters: {
 			total(orderItem) {
-				return '¥ ' + orderItem.goodList.reduce((t, e) => t + (+e.num * +e.price), 0) + '.00'
+				return '¥ ' + orderItem.goodList.reduce((t, e) => t + (+e.num * +e.price), 0) + ''
 			}
 		},
 		onLoad(opt) {

+ 39 - 0
pages/express-detail/express-detail.vue

@@ -0,0 +1,39 @@
+<template>
+	<view class="express-detail">
+		<UniSteps :options="info.data" direction="column" active-color="#F76454"></UniSteps>
+	</view>
+</template>
+
+<script>
+	import UniSteps from '@/components/uni-steps/uni-steps.vue'
+	export default {
+		components: { UniSteps },
+		data() {
+			return {
+				info: {}
+			};
+		},
+		onLoad({ express_order }) {
+			uni.loading()
+			uni.request({ url: `https://www.yinchengnuo.com/express?num=${express_order}` }).then(([, { data }]) => {
+				this.info = data
+				this.info.data.forEach(e => {
+					e.title = e.context
+					e.desc = e.time
+				})
+				uni.hideLoading()
+			})
+		}
+	}
+</script>
+
+<style lang="scss">
+	.express-detail {
+		width: 100vw;
+		height: 100vh;
+		overflow: auto;
+		padding: 24rpx;
+		background: #FFFFFF;
+		box-sizing: border-box;
+	}
+</style>

+ 1 - 1
pages/good-detail/good-detail.vue

@@ -61,7 +61,7 @@
 			</view>
 			<view class="choose-money app-item">
 				<text>总计金额</text>
-				<text>¥{{ ' ' + choosedPrice + ' .00' }}元</text>
+				<text>¥{{ ' ' + choosedPrice }}元</text>
 			</view>
 		</view>
 		<flyto-cart v-if="s" ref="flytoCart1" :self="positions.s" :cart="positions.shopcar"><text>{{ s }}</text></flyto-cart>

+ 2 - 2
pages/good-detail1/good-detail1.vue

@@ -8,7 +8,7 @@
 		</swiper>
 		<view class="info">
 			<text>{{ data.name }}</text>
-			<text>¥{{ data.money }}.00/{{ data.unit }}</text>
+			<text>¥{{ data.money }}/{{ data.unit }}</text>
 		</view>
 		<view class="size app-item" @tap="tapAdd">
 			<text>规格</text>
@@ -42,7 +42,7 @@
 			item() {
 				const temp = deepClone(this.data)
 				temp.cart = Array(temp.size.length).fill(0)
-				const index = this.$store.state.cart.list.findIndex(e => e.id === temp.id)
+				const index = this.$store.state.cart.list.findIndex(e => e.attr_id === temp.attr_id)
 				return index === -1 ? temp : Object.assign(temp, this.$store.state.cart.list[index])
 			},
 			shopcarNum() { return this.$store.getters['cart/shopcarNum'] },

+ 1 - 1
pages/income-running/income-running.vue

@@ -18,7 +18,7 @@
 								<text class="name">{{ item.type | getType }}</text>
 								<text class="time">{{ item.created_at }}</text>
 							</view>
-							<view class="right">+{{ item.money | numDot }}.00</view>
+							<view class="right">+{{ item.money | numDot }}</view>
 						</view>
 						<custom-reach-bottom v-if="list.length" :nomore="page === 0" />
 						<swiper-status v-else :page="page" unit="流水" />

+ 15 - 0
pages/index-my/index-my.vue

@@ -103,6 +103,11 @@
 					// 	image: '../../static/index/my/message.png'
 					// },
 					{
+						name: '地址管理',
+						url: '../../pages/address-manage/address-manage',
+						image: '../../static/index/my/address.png'
+					},
+					{
 						name: '安全管理',
 						url: '../../pages/safe-manage/safe-manage',
 						image: '../../static/index/my/safe.png'
@@ -120,6 +125,16 @@
 				]
 			}
 		},
+		onPullDownRefresh() {
+			uni.$emit('INIT')
+		},
+		onShow() {
+			if (this.$store.getters['cart/shopcarNum']) {
+				uni.setTabBarBadge({ index: 1, text: this.$store.getters['cart/shopcarNum'] + '' })
+			} else {
+				uni.removeTabBarBadge({ index: 1 })
+			}
+		},
 		computed: {
 			userinfo() { return this.$store.state.userinfo },
 			logged() { return this.$store.state.app.token ? true : false },

+ 48 - 17
pages/index/index.vue

@@ -24,10 +24,10 @@
 					</swiper-item>
 				</swiper>
 			</view>
-			<view class="area kingkong">
-				<navigator v-for="(item, index) in kingkongList" :url="item.url" :key="index">
-					<image :src="item.image"></image>
-					<text>{{ item.name }}</text>
+			<view class="area index-kingkong">
+				<navigator v-for="(item, index) in kingkongList" :url="item.url" :key="index" :class="{ top: index > 3 }">
+					<image v-if="!(index == 2 || index == 3)" :src="item.image"></image>
+					<text v-if="!(index == 2 || index == 3)">{{ item.name }}</text>
 				</navigator>
 			</view>
 		</view>
@@ -73,50 +73,48 @@
 					{
 						name: '订货下单',
 						url: '../../pages/place-order/place-order',
-						image: '../../static/index/index/place-order.png'
+						image: '../../static/index/index/new/1.png'
 					},
 					{
 						name: '我的订单',
 						url: '../../pages/my-order/my-order',
-						image: '../../static/index/index/my-order.png'
+						image: '../../static/index/index/new/2.png'
 					},
 					{
 						name: '下级订单',
-						url: '../../pages/down-order/down-order',
+						// url: '../../pages/down-order/down-order',
 						image: '../../static/index/index/down-order.png'
 					},
 					{
 						name: '我的库存',
-						url: '../../pages/my-storage/my-storage',
+						// url: '../../pages/my-storage/my-storage',
 						image: '../../static/index/index/my-stock.png'
 					},
 					{
 						name: '邀请代理',
 						url: `../../pages/invite-proxy/invite-proxy?nickname=${encodeURIComponent(data.nickname)}&mobile=${data.mobile}&invite_code=${data.recom_code}`,
-						image: '../../static/index/index/invite-proxy.png'
+						image: '../../static/index/index/new/3.png'
 					},
 					{
 						name: '注册审核',
 						url: '../../pages/register-examine/register-examine',
-						image: '../../static/index/index/register-examine.png'
+						image: '../../static/index/index/new/4.png'
 					},
 					{
 						name: '我的邀请',
 						url: '../../pages/my-invite/my-invite',
-						image: '../../static/index/index/my-invite.png'
+						image: '../../static/index/index/new/5.png'
 					},
 					{
 						name: '团队管理',
 						url: '../../pages/team-manage/team-manage',
-						image: '../../static/index/index/team-manage.png'
+						image: '../../static/index/index/new/6.png'
 					}
 				]
 			}
 		},
-		onLoad() {
-			uni.$on('noopening', () => uni.showToast({ title: '暂未开放', duration: 2333, icon: 'none' }))
-		},
 		mounted() { // 页面创建后判断用户状态
+			uni.$on('noopening', () => uni.showToast({ title: '暂未开放', duration: 2333, icon: 'none' }))
 			uni.$on('RELAUNCH', () => uni.reLaunch({ url: '../login-psw/login-psw' })) // 监听 token 失效事件,跳转到登录页
 			uni.$on('INIT', () => this.init())
 			if (this.$store.state.app.token) { // 当用户处于登陆状态
@@ -142,6 +140,13 @@
 		onPullDownRefresh() {
 			this.init()
 		},
+		onShow() {
+			if (this.$store.getters['cart/shopcarNum']) {
+				uni.setTabBarBadge({ index: 1, text: this.$store.getters['cart/shopcarNum'] + '' })
+			} else {
+				uni.removeTabBarBadge({ index: 1 })
+			}
+		},
 		methods: {
 			rTap() { uni.navigateTo({ url: '../help-use/help-use' }) }, // 点击导航栏帮助
 			toSwiperDetail(index) { // 点击轮播图
@@ -203,10 +208,36 @@
 		}
 		.content {
 			.area {
-				background: #FFFFFF;
+				&.index-kingkong {
+					height: 385rpx;
+					margin-top: 10rpx;
+					navigator {
+						width: 187.5rpx;
+						height: 187.5rpx;
+						float: left;
+						display: flex;
+						align-items: center;
+						background: #FFFFFF;
+						flex-direction: column;
+						image {
+							width: 88rpx;
+							height: 88rpx;
+							margin-top: 24rpx;
+							border-radius: 50%;
+						}
+						text {
+							font-size: 28rpx;
+							margin-top: 12rpx;
+						}
+						&.top {
+							margin-top: 10rpx;
+						}
+					}
+				}
 				&.manage {
 					height: 170rpx;
 					display: flex;
+					background: #FFFFFF;
 					navigator {
 						flex: 1;
 						height: 100%;
@@ -225,7 +256,7 @@
 					}
 				}
 				&.swiper {
-					height: 250rpx;
+					height: 400rpx;
 					margin-top: 12rpx;
 					swiper {
 						height: 100%;

+ 7 - 12
pages/invite-proxy/invite-proxy.vue

@@ -115,19 +115,14 @@
 							wx.error(res => window.history.replaceState({}, '', `/api/gzh/david`))
 							uni.hideLoading()
 							const can = document.createElement('canvas')
-							const pixelRatio = window.devicePixelRatio || 1;
 							const ctx = can.getContext('2d')
-							const backingStoreRatio = ctx.webkitBackingStorePixelRatio ||
-							    ctx.mozBackingStorePixelRatio ||
-							    ctx.msBackingStorePixelRatio ||
-							    ctx.oBackingStorePixelRatio ||
-							    ctx.backingStorePixelRatio || 1;
-							const ratio = pixelRatio / backingStoreRatio;
-							can.width = uni.upx2px(680) * ratio
-							can.height = uni.upx2px(960) * ratio
-							can.style.width = uni.upx2px(680) + 'px'
-							can.style.height = uni.upx2px(960) + 'px'
-							ctx.scale(ratio, ratio);
+							const ratio = window.devicePixelRatio || 1
+							console.log(ratio)
+							can.width = uni.upx2px(680)
+							can.height = uni.upx2px(960)
+							// can.style.width = uni.upx2px(680) + 'px'
+							// can.style.height = uni.upx2px(960) + 'px'
+							// ctx.scale(ratio, ratio);
 							
 							ctx.fillStyle="#ffffff";
 							ctx.fillRect(0, 0, uni.upx2px(680), uni.upx2px(960));

+ 5 - 5
pages/manage-people/manage-people.vue

@@ -62,11 +62,11 @@
 					url: '../../pages/register-examine/register-examine',
 					image: '../../static/index/index/register-examine.png'
 				},
-				{
-					name: '邀请代理',
-					url: `../../pages/invite-proxy/invite-proxy?data=${JSON.stringify(data)}`,
-					image: '../../static/index/index/invite-proxy.png'
-				},
+				// {
+				// 	name: '邀请代理',
+				// 	url: `../../pages/invite-proxy/invite-proxy?data=${JSON.stringify(data)}`,
+				// 	image: '../../static/index/index/invite-proxy.png'
+				// },
 			]
 			}
 		},

+ 8 - 2
pages/money-running-detail/money-running-detail.vue

@@ -2,17 +2,21 @@
 	<view class="money-running-detail">
 		<view class="app-item">
 			<text>金额</text>
-			<text>{{ info.pay_money }}</text>
+			<text>{{ (info.type == 1 || info.type == 3) ? '- ' : '+ ' }}{{ info.pay_money }}</text>
 		</view>
 		<view class="app-item">
 			<text>摘要</text>
 			<text>{{ info.type | getRunningStatus }}</text>
 		</view>
-		<view class="app-item">
+		<view v-if="info.order_num" class="app-item">
 			<text>订单号</text>
 			<text>{{ info.order_num }}</text>
 		</view>
 		<view class="app-item">
+			<text>流水号</text>
+			<text>{{ info.pay_num }}</text>
+		</view>
+		<view class="app-item">
 			<text>时间</text>
 			<text>{{ info.updated_at }}</text>
 		</view>
@@ -39,6 +43,8 @@
 						return '购买商品'
 					case '2':
 						return '订单退款'
+					case '3':
+						return '后台扣款'
 					default:
 						return ''
 				}

+ 5 - 3
pages/money-running/money-running.vue

@@ -2,7 +2,7 @@
 	<view class="money-running">
 		<view class="money">
 			<text>资金余额</text>
-			<text class="num">¥{{ money }}.00</text>
+			<text class="num">¥{{ money }}</text>
 		</view>
 		<view class="picker">
 			<picker mode="date" fields="month" :value="date" :end="end" @change="bindDateChange">
@@ -18,7 +18,7 @@
 						<text class="time">{{ item.updated_at }}</text>
 					</view>
 				</view>
-				<view class="rihgt" :class="{ basecolor: item.type != 1 }">{{ item.type == 1 ? '- ' : '+ ' }}{{ item.pay_money }}</view>
+				<view class="rihgt" :class="{ basecolor: item.type != 1 }">{{ (item.type == 1 || item.type == 3) ? '- ' : '+ ' }}{{ item.pay_money }}</view>
 			</view>
 		</view>
 		<view v-else class="no">暂无流水</view>
@@ -36,7 +36,7 @@
 			};
 		},
 		filters: {
-			getRunningStatus(status) {
+			getRunningStatus(status) { // 0表示后台充值,1表示支付,2表示退回,3,表示扣款
 				switch (status.toString()) {
 					case '0': 
 						return '账户充值'
@@ -44,6 +44,8 @@
 						return '购买商品'
 					case '2':
 						return '订单退款'
+					case '3':
+						return '后台扣款'
 					default:
 						return ''
 				}

+ 79 - 58
pages/my-order/my-order.vue

@@ -22,14 +22,18 @@
 									<view class="info">
 										<text class="name">种类:{{ orderItem.type }}{{ ', ' }}</text>
 										<text class="num">数量:{{ orderItem.total }}{{ ', ' }}</text>
-										<text class="price">共计金额:<text class="basecolor">¥{{ orderItem.money }}.00</text></text>
+										<text class="price">共计金额:<text class="basecolor">¥{{ orderItem.money }}</text></text>
 									</view>
 								</view>
 								<view class="bottom-bar">
-									<view class="btn" v-if="!orderItem.is_deleted && !orderItem.pay_status" @click.stop="changeOrder(orderItem)">修改订单</view>
-									<view class="btn" @click.stop="buyAgain(orderItem)">再次购买</view>
-									<view class="btn bg" v-if="!orderItem.is_deleted && !orderItem.pay_status" @click.stop="payNow(orderItem)">立即付款</view>
-									<view class="btn border" v-if="!orderItem.is_deleted && orderItem.status == 3" @click.stop="received(orderItem)">确认收货</view>
+									<text></text>
+									<!-- <view class="btn" v-if="!orderItem.is_deleted && !orderItem.pay_status" @click.stop="changeOrder(orderItem)">修改订单</view> -->
+									<view class="btns">
+										<view class="btn" @click.stop="buyAgain(orderItem)">再次购买</view>
+										<view v-if="orderItem.express" class="btn" @click.stop="express(orderItem.express)">查看物流</view>
+										<view class="btn bg" v-if="!orderItem.is_deleted && !orderItem.pay_status" @click.stop="payNow(orderItem)">立即付款</view>
+										<view class="btn border" v-if="!orderItem.is_deleted && orderItem.pay_status && orderItem.status == 3" @click.stop="received(orderItem)">确认收货</view>
+									</view>
 								</view>
 							</view>
 							<custom-reach-bottom v-if="lists[typeKey].length" :nomore="page[typeKey] === 0" />
@@ -50,7 +54,7 @@
 	import pulldownRefresher from '@/components/public/pulldown-refresher.vue'
 	import customReachBottom from '@/components/public/custom-reach-bottom.vue'
 	// import { _API_OrderMyExamine, _API_OrderMySended, _API_OrderMyCompleted, _API_OrderReceiveGoods } from '@/apis/order.js'
-	import { _API_OrderMy1, _API_OrderMy2, _API_OrderMy3, _API_OrderMy4, _API_OrderMy5, _API_OrderAgain, _API_OrderDel, _API_OrderDetail1, _API_OrderCancel } from '@/apis/order.js'
+	import { _API_OrderMy1, _API_OrderMy2, _API_OrderMy3, _API_OrderMy4, _API_OrderMy5, _API_OrderAgain, _API_OrderDel, _API_OrderDetail1, _API_OrderCancel, _API_OrderReceiveGoods1 } from '@/apis/order.js'
 	export default {
 		mixins: [MIXIN],
 		components: { swiperStatus, customReachBottom, pulldownRefresher },
@@ -66,7 +70,7 @@
 		filters: {
 			orderStatus(orderItem) { // 计算订单总金额过滤器
 				if (orderItem.is_deleted) {
-					return '已删除'
+					return '已作废'
 				} else if (!orderItem.pay_status) {
 					return '待支付订单'
 				} else if (orderItem.status == 3) {
@@ -78,7 +82,7 @@
 				}
 			},
 			orderStatusClass(status) {
-				if (status == '已删除' || status == '已完成') {
+				if (status == '已完成') {
 					return ''
 				} else {
 					return 'basecolor'
@@ -138,16 +142,13 @@
 				console.log(res)
 				uni.stopPullDownRefresh()
 			},
-			toDetail(gooItem) { // 点击查看订单
-				const { order_num, is_deleted, pay_status } = gooItem
+			toDetail(goodItem) { // 点击查看订单
+				const { order_num, order_id, is_deleted, pay_status, money, created_at } = goodItem
 				let str = ''
 				if (!is_deleted && !pay_status) {
 					str = '&nopay=1'
 				}
-				uni.navigateTo({ url: `../order-detail1/order-detail1?status=${this.$options.filters.orderStatus(gooItem)}&order_num=${order_num}${str}` })
-			},
-			toForward(order_num) { // 点击查看转单
-				uni.navigateTo({ url: `../order-detail/order-detail?order_num=${order_num}&forward=1` })
+				uni.navigateTo({ url: `../order-detail1/order-detail1?created_at=${created_at}&status=${this.$options.filters.orderStatus(goodItem)}&order_id=${order_id}&order_num=${order_num}${str}&money=${money}` })
 			},
 			changeOrder({ order_num }) { // 取消订单
 				uni.showModal({
@@ -156,37 +157,39 @@
 					success: (res) => {
 						if (res.confirm) {
 							uni.loading()
-							_API_GoodList().then(({ data: { list: list1 } }) => {
-								uni.loading()
-								list1.forEach(e => e.cart = Array(e.size.length).fill(0))
-								_API_OrderDetail1({ order_num }).then(({ data: { list: list2 } }) => {
+							_API_OrderCancel({ order_num }).then(({ code, message }) => {
+								if (code != 200) {
+									uni.toast(message)
+								} else {
 									uni.loading()
-									this.$store.commit('cart/CLEAR')
-									list1.forEach((item, index) => {
-										const findRes = list2.find(e => e.attr_id == item.attr_id)
-										if (findRes) {
-											findRes.size.forEach((size, sizeIndex) => {
-												const goodItemSizeIndex = list1[index].size.findIndex(e => e === size)
-												list1[index].cart[goodItemSizeIndex] = findRes.num[sizeIndex]
+									_API_GoodList().then(({ data: { list: list1 } }) => {
+										uni.loading()
+										list1.forEach(e => e.cart = Array(e.size.length).fill(0))
+										_API_OrderDetail1({ order_num }).then(({ data: { list: list2 } }) => {
+											uni.loading()
+											this.$store.commit('cart/CLEAR')
+											list1.forEach((item, index) => {
+												const findRes = list2.find(e => e.attr_id == item.attr_id)
+												if (findRes) {
+													findRes.size.forEach((size, sizeIndex) => {
+														const goodItemSizeIndex = list1[index].size.findIndex(e => e === size)
+														list1[index].cart[goodItemSizeIndex] = findRes.num[sizeIndex]
+													})
+													item.choosed = true
+													item.sizeChoosed = Array(item.size.length).fill(true)
+													this.$store.commit('cart/ADD', item)
+													uni.switchTab({ url: '../shop-car1/shop-car1' })
+												}
 											})
-											item.choosed = true
-											item.sizeChoosed = Array(item.size.length).fill(true)
-											this.$store.commit('cart/ADD', item)
-											uni.switchTab({ url: '../shop-car1/shop-car1' })
-										}
-									})
-									_API_OrderCancel({ order_num }).then(({ code, message }) => {
-										if (code != 200) {
-											uni.toast(message)
-										}
+										})
 									})
-								})
+								}
 							})
 						}
 					}
 				})
 			},
-			buyAgain({ order_num, money }) { // 点击再次购买
+			buyAgain({ order_num }) { // 点击再次购买
 				uni.showModal({
 					title: '提示',
 					content: '确定要再次购买?',
@@ -217,11 +220,26 @@
 					}
 				})
 			},
-			payNow({ order_num, money }) { // 点击立即付款
-				uni.navigateTo({ url: `../pay-order/pay-order?order_num=${order_num}&money=${money}` })
+			express(express) {
+				uni.navigateTo({ url: `../express-detail/express-detail?express_order=${express.split('&')[1].split('=')[1]}` })
 			},
-			received(orderItem) { // 点击确认收货
-				console.log(orderItem)
+			payNow({ order_num, money, order_id }) { // 点击立即付款
+				// console.log(order_id)
+				uni.navigateTo({ url: `../pay-order/pay-order?order_num=${order_num}&money=${money}&order_id=${order_id}` })
+			},
+			received({ order_num }) { // 点击确认收货
+				uni.showModal({
+					title: '提示',
+					content: '确认收到货物?',
+					success: (res) => {
+						if (res.confirm) {
+							uni.loading()
+							_API_OrderReceiveGoods1({ order_num }).then(() => {
+								uni.startPullDownRefresh()
+							})
+						}
+					}
+				})
 			}
 		}
 	}
@@ -279,25 +297,28 @@
 							@include flex();
 							height: 90rpx;
 							font-size: 26rpx;
-							justify-content: flex-end;
+							justify-content: space-between;
 							background: #FFFFFF;
-							.btn {
+							.btns {
 								@include flex();
-								width: 156rpx;
-								height: 54rpx;
-								font-size: 28rpx;
-								margin-left: 24rpx;
-								color: #181818;
-								border-radius: 54rpx;
-								border: 1px solid rgba(24,24,24,1);
-								&.bg {
-									color: #FFFFFF;
-									border-color: $app-base-color;
-									background: $app-base-color;
-								}
-								&.border {
-									color: $app-base-color;
-									border-color: $app-base-color;
+								.btn {
+									@include flex();
+									width: 156rpx;
+									height: 54rpx;
+									font-size: 28rpx;
+									margin-left: 24rpx;
+									color: #181818;
+									border-radius: 54rpx;
+									border: 1px solid rgba(24,24,24,1);
+									&.bg {
+										color: #FFFFFF;
+										border-color: $app-base-color;
+										background: $app-base-color;
+									}
+									&.border {
+										color: $app-base-color;
+										border-color: $app-base-color;
+									}
 								}
 							}
 						}

+ 1 - 1
pages/my-storage/my-storage.vue

@@ -17,7 +17,7 @@
 								</view>
 								<view class="app-item item-space">
 									<text>单品价</text>
-									<text class="basecolor">¥{{ item.price }}.00</text>
+									<text class="basecolor">¥{{ item.price }}</text>
 								</view>
 								<view class="app-item">
 									<text>总库存剩余</text>

+ 2 - 2
pages/order-detail/order-detail.vue

@@ -23,7 +23,7 @@
 						<image :src="goodItem.img"></image>
 						<view class="info">
 							<text class="name">{{ goodItem.name }}</text>
-							<text class="price">进货价:¥{{ goodItem.price + '.00' }}</text>
+							<text class="price">进货价:¥{{ goodItem.price + '' }}</text>
 							<text class="storage">我的库存:{{ goodItem.storage }}</text>
 						</view>
 					</view>
@@ -41,7 +41,7 @@
 			<view class="remark">备注:{{ remark }}</view>
 			<view class="totalPrice">
 				<text>总计金额</text>
-				<text class="basecolor">{{ '¥ ' + totalPrice + '.00' }}</text>
+				<text class="basecolor">{{ '¥ ' + totalPrice + '' }}</text>
 			</view>
 		</view>
 	</view>

+ 1 - 1
pages/order-detail1-list/order-detail1-list.vue

@@ -12,7 +12,7 @@
 				<image :src="item.main_img"></image>
 				<view class="info">
 					<text class="size">尺码:{{ sizeItem }}</text>
-					<text class="basecolor">¥{{ item.money }}.00/{{ item.unit }}</text>
+					<text class="basecolor">¥{{ item.money }}/{{ item.unit }}</text>
 				</view>
 				<view class="num">数量:{{ item.num[sizeIndex] }}</view>
 			</view>

+ 1 - 1
pages/order-detail1-log/order-detail1-log.vue

@@ -36,7 +36,7 @@
 	}
 	.order-detail1-log {
 		height: 100vh;
-		overflow: hidden;
+		overflow: auto;
 		background: $app-base-bg;
 		.item {
 			margin-bottom: 10rpx;

+ 81 - 14
pages/order-detail1/order-detail1.vue

@@ -24,7 +24,7 @@
 				<view class="info">
 					<text>尺码:{{ item.size.length }}</text>
 					<text>数量:{{ item.num.reduce((t, e) => t + e, 0) }}</text>
-					<text>共计金额:<text class="basecolor">¥{{ item.money * item.num.reduce((t, e) => t + e, 0) }}.00</text></text>
+					<text>共计金额:<text class="basecolor">¥{{ item.money * item.num.reduce((t, e) => t + e, 0) }}</text></text>
 				</view>
 			</view>
 		</view>
@@ -34,34 +34,53 @@
 			</view>
 			<view class="app-item">
 				<text>订单金额</text>
-				<text>¥356.00</text>
+				<text>¥{{ money }}</text>
 			</view>
 			<view class="app-item">
 				<text>应付金额</text>
-				<text>¥356.00</text>
+				<text>¥{{ money }}</text>
 			</view>
 			<view class="app-item pay">
 				<text>已付:<text class="basecolor">¥0.00</text></text>
-				<text class="paynow">立即付款</text>
+				<text class="paynow" @click="payNow">立即付款</text>
 			</view>
 		</view>
+		<view class="app-item t">
+			<text>下单时间</text>
+			<text>{{ created_at }}</text>
+		</view>
+		<view class="app-item t">
+			<text>物流公司</text>
+			<text>{{ track_company }}</text>
+		</view>
+		<view class="app-item">
+			<text>物流单号</text>
+			<text>{{ track_number }}</text>
+		</view>
+		<view class="app-item">
+			<text>发货时间</text>
+			<text>{{ track_time }}</text>
+		</view>
+		<view class="app-item">
+			<text style="width: 160px">物流备注</text>
+			<text style="padding: 8px 0;">{{ track_remark }}</text>
+		</view>
 		<view class="app-item t" @click="showRemark">
-			<text>备注信息</text>
+			<text>订单备注</text>
 			<text class="cuIcon-right"></text>
 		</view>
 		<navigator :url="'../order-detail1-log/order-detail1-log?order_num=' + order_num" class="app-item">
 			<text>操作日志</text>
 			<text class="cuIcon-right"></text>
 		</navigator>
-		<view class="submit">
-			<view class="left">催办</view>
-			<view v-if="nopay" class="center">订单作废</view>
+		<view class="submit" @click="buyAgain">
 			<view class="right">再次购买</view>
 		</view>
 	</view>
 </template>
 
 <script>
+	import { _API_GoodList } from '@/apis/good.js'
 	import { _API_OrderDetail1 } from '@/apis/order.js'
 	export default {
 		data() {
@@ -70,21 +89,35 @@
 				goodList: [],
 				nopay: false,
 				status: '',
+				order_id:'',
 				order_num: '',
-				remark: ''
+				remark: '',
+				money: '',
+				created_at: '',
+				track_company: '',
+				track_number: '',
+				track_remark: '',
+				track_time: ''
 			}
 		},
-		onLoad({ status, order_num, nopay }) {
+		onLoad({ created_at, status, order_id, order_num, nopay, money }) {
 			this.status = status
+			this.money = money
+			this.order_id = order_id
 			this.order_num = order_num
+			this.created_at = created_at
 			if (nopay) {
 				this.nopay = true
 			}
 			uni.loading()
-			_API_OrderDetail1({ order_num }).then(({ code, data }) => {
-				this.remark = data.remark
-				this.address = data.address
-				this.goodList = data.list
+			_API_OrderDetail1({ order_num }).then(({ code, data: { remark, address, list, track_company, track_number, track_remark, track_time } }) => {
+				this.remark = remark
+				this.address = address
+				this.goodList = list
+				this.track_company = track_company
+				this.track_number = track_number
+				this.track_remark = track_remark
+				this.track_time = track_time
 			})
 		},
 		methods: {
@@ -98,6 +131,40 @@
 			toList() { // 点击查看商品详情
 				uni.setStorageSync('lll', JSON.stringify(this.goodList))
 				uni.navigateTo({ url: '../order-detail1-list/order-detail1-list' })
+			},
+			payNow() {
+				uni.navigateTo({ url: `../pay-order/pay-order?order_num=${this.order_num}&money=${this.money}&order_id=${this.order_id}` })
+			},
+			buyAgain() {
+				uni.showModal({
+					title: '提示',
+					content: '确定要再次购买?',
+					success: (res) => {
+						if (res.confirm) {
+							uni.loading()
+							_API_GoodList().then(({ data: { list: list1 } }) => {
+								uni.loading()
+								list1.forEach(e => e.cart = Array(e.size.length).fill(0))
+								_API_OrderDetail1({ order_num: this.order_num }).then(({ data: { list: list2 } }) => {
+									this.$store.commit('cart/CLEAR')
+									list1.forEach((item, index) => {
+										const findRes = list2.find(e => e.attr_id == item.attr_id)
+										if (findRes) {
+											findRes.size.forEach((size, sizeIndex) => {
+												const goodItemSizeIndex = list1[index].size.findIndex(e => e === size)
+												list1[index].cart[goodItemSizeIndex] = findRes.num[sizeIndex]
+											})
+											item.choosed = true
+											item.sizeChoosed = Array(item.size.length).fill(true)
+											this.$store.commit('cart/ADD', item)
+											uni.switchTab({ url: '../shop-car1/shop-car1' })
+										}
+									})
+								})
+							})
+						}
+					}
+				})
 			}
 		}
 	}

+ 5 - 5
pages/pay-order/pay-order.vue

@@ -1,13 +1,13 @@
 <template>
 	<view class="pay-order">
-		<view class="need">待支付<text>¥{{ money }}.00</text></view>
+		<view class="need">待支付<text>¥{{ money }}</text></view>
 		<view class="app-item ">
-			<text>钱包余额(¥{{ hadMoney }}.00)</text>
-			<text class="basecolor">¥{{ money }}.00</text>
+			<text>账户余额</text>
+			<text class="basecolor">¥{{ hadMoney | numDot }}</text>
 		</view>
 		<view class="app-item">
-			<text>还需支付</text>
-			<text class="basecolor">¥{{ (money - hadMoney) >= 0 ? (money - hadMoney) : 0 }}.00</text>
+			<text>还需充值</text>
+			<text class="basecolor">¥{{ (money - hadMoney) >= 0 ? (money - hadMoney) : 0 }}</text>
 		</view>
 		<view class="big-btn bg" @click="pay">确认支付</view>
 	</view>

+ 52 - 16
pages/place-order/place-order.vue

@@ -4,17 +4,14 @@
 		<AddCart ref="addCart" />
 		<view class="content">
 			<scroll-view scroll-y :style="{ height: scrollviewHeight + 'px' }">
-				<view
-					class="item"
-					v-for="(item, index) in list" :key="index"
-					@tap="tap(index)"
-				>
+				<view class="item" v-for="(item, index) in list" :key="index" @tap="tap(index)">
 					<view class="img">
 						<image :src="item.main_img"></image>
 					</view>
 					<view class="info">
 						<view class="top ellipsis">{{ item.name }}</view>
-						<view class="mid">¥{{ item.money }}.00/{{ item.unit }}</view>
+						<view class="mid">¥{{ item.money }}/{{ item.unit }}</view>
+						<!-- <view class="bot">库存:{{ item.storage.reduce((t, e) => t + +e, 0) }}</view> -->
 						<view class="bot">
 							<text>{{ item.size.length }}个尺码可选</text>
 							<view class="shopCar" @tap.stop="tapShopCar(item)">
@@ -24,8 +21,12 @@
 						</view>
 					</view>
 				</view>
-				<view v-if="!goodsList.length" class="loading">加载中...</view>
+				<view v-if="!goodsList.length" class="loading">{{ status }}</view>
 			</scroll-view>
+			<navigator open-type="switchTab" url="../shop-car1/shop-car1" class="cart">
+				购物车
+				<text v-if="cartNum" class="sizeNum">{{ cartNum }}</text>
+			</navigator>
 		</view>
 	</view>
 </template>
@@ -41,7 +42,8 @@
 				title: '订货下单',
 				mode: 'square',
 				goodsList: [],
-				scrollviewHeight: 0
+				scrollviewHeight: 0,
+				status: '加载中...'
 			}
 		},
 		computed: {
@@ -55,10 +57,13 @@
 					}
 				})
 				return temp
+			},
+			cartNum() {
+				return this.$store.getters['cart/shopcarNum']
 			}
 		},
 		mounted() { // 获取商品列表
-			this.$offset('.content').then(res => this.scrollviewHeight = res.height) // 设置scrollview 高
+			this.$offset('.content').then(res => this.scrollviewHeight = res.height - uni.upx2px(98)) // 设置scrollview 高
 			if (this.$store.state.userinfo.level !== '代理公司') {
 				uni.navigateBack()
 				setTimeout(() => uni.$emit('noopening'))
@@ -66,25 +71,31 @@
 			}
 			this.request()
 		},
+		onPullDownRefresh() {
+			this.request()
+		},
 		methods: {
 			request() {
 				uni.showLoading({ mask: true })
 				_API_GoodList().then(res => {
 					if (res.code === 200) {
 						this.goodsList = res.data.list
+						console.log(this.goodsList)
+						if (!this.goodsList.length) {
+							this.status = '暂无商品'
+						}
 					} else {
 						uni.toast('网络好像出了点问题,下拉刷新试试')
 					}
-				}).catch(() => setTimeout(() => uni.toast('网络好像出了点问题,下拉刷新试试'), 123))
+					uni.stopPullDownRefresh()
+				}).catch(() => setTimeout(() => {
+					uni.toast('网络好像出了点问题,下拉刷新试试')
+					uni.stopPullDownRefresh()
+				}, 123))
 			},
 			tap(index) { // 查看商品详情
-				// if (this.$store.state.userinfo.level === '销售主管') {
-				// 	uni.toast('销售主管不能通过App下单')
-				// } else {
 				uni.setStorageSync('ggg', JSON.stringify(this.goodsList[index]))
 				uni.navigateTo({ url: `../good-detail1/good-detail1` })
-				// }
-				// console.log()
 			},
 			tapShopCar(item) {
 				this.$refs.addCart.show(deepClone(item))
@@ -97,6 +108,29 @@
 	.place-order {
 		@include page();
 		.content {
+			.cart {
+				height: 98rpx;
+				@include flex();
+				color: $app-base-color;
+				font-size: 36rpx;
+				// background: $app-base-color;
+				border-top: 1rpx solid #C0C0C0;
+				background: #FFFFFF;
+				position: relative;
+				.sizeNum {
+					@include flex();
+					position: absolute;
+					font-size: 20rpx;
+					left: 50%;
+					margin-left: 48rpx;
+					height: 32rpx;
+					color: #FFFFFF;
+					top: 24rpx;
+					padding: 2rpx 8rpx;
+					border-radius: 32rpx;
+					background: #FF0000;
+				}
+			}
 			.loading {
 				text-align: center;
 				margin-top: 567rpx;
@@ -131,11 +165,13 @@
 						text-overflow: ellipsis;
 						&.top {
 							font-size: 32rpx;
-							line-height: 3;
+							line-height: 2;
 						}
 						&.mid {
+							@include flex();
 							font-size: 26rpx;
 							color: $app-base-color;
+							justify-content: space-between;
 						}
 						&.bot {
 							width: 100%;

+ 1 - 1
pages/record-record/record-record.vue

@@ -18,7 +18,7 @@
 								<text class="name">{{ item.type | getType }}</text>
 								<text class="time">{{ item.created_at }}</text>
 							</view>
-							<view class="right">+{{ item.money | numDot }}.00</view>
+							<view class="right">+{{ item.money | numDot }}</view>
 						</view>
 						<custom-reach-bottom v-if="list.length" :nomore="page === 0" />
 						<swiper-status v-else :page="page" />

+ 1 - 1
pages/reward-in/reward-in.vue

@@ -19,7 +19,7 @@
 					<view class="chart-wrapper">
 						<view class="value position-center">
 							<view class="title">收入金额(元)</view>
-							<view class="value">{{ money }}.00</view>
+							<view class="value">{{ money }}</view>
 						</view>
 						<chart-progress :chartData="chartData" width="320" height="320" />
 					</view>

+ 1 - 1
pages/reward-out/reward-out.vue

@@ -19,7 +19,7 @@
 					<view class="chart-wrapper">
 						<view class="value position-center">
 							<view class="title">收入金额(元)</view>
-							<view class="value">{{ money }}.00</view>
+							<view class="value">{{ money }}</view>
 						</view>
 						<chart-progress :chartData="chartData" width="320" height="320" />
 					</view>

+ 2 - 2
pages/safe-manage/safe-manage.vue

@@ -2,10 +2,10 @@
 	<view class="safe-manage">
 		<custom-nav noback="noback" transparent="transparent" ref="ltm" title=" " />
 		<view class="content">
-			<navigator url="../address-manage/address-manage" class="app-item">
+			<!-- <navigator url="../address-manage/address-manage" class="app-item">
 				<text>地址管理</text>
 				<text class="cuIcon-right"></text>
-			</navigator>
+			</navigator> -->
 			<navigator url="../updata-psw/updata-psw" class="app-item">
 				<text>修改密码</text>
 				<text class="cuIcon-right"></text>

+ 2 - 2
pages/shop-car/shop-car.vue

@@ -20,7 +20,7 @@
 							<text v-else class="cuIcon-round" @tap="tapType(index, typeIndex, key)"></text>
 							<view class="type-size" @tap="tapType(index, typeIndex, key)">
 								<text>款式:{{ tyepItem.name }} 尺码: {{ key }}</text>
-								<text class="cost">¥{{ item.price * value }}.00</text>
+								<text class="cost">¥{{ item.price * value }}</text>
 							</view>
 							<custom-counter zeroWarn="zeroWarn" :value="shopcarList[index].typeList[typeIndex].size[key]" 
 								:args="[index, typeIndex, key]" @change="counterChange" @zero="isZero"
@@ -40,7 +40,7 @@
 				<text v-else class="cuIcon-round"></text>
 				<text>全选</text>
 			</view>
-			<view class="total">总计: <text>{{ '¥ ' + choosedPrice + '.00' }}</text></view>
+			<view class="total">总计: <text>{{ '¥ ' + choosedPrice + '' }}</text></view>
 			<view class="pay" @tap="confirm">结算({{ ' ' + choosedNum + ' ' }})</view>
 		</view>
 	</view>

+ 33 - 2
pages/shop-car1/shop-car1.vue

@@ -18,7 +18,7 @@
 					<image :src="item.main_img"></image>
 					<view class="info">
 						<text>尺码:{{ sizeItem }}</text>
-						<text class="basecolor">¥{{ item.money }}.00/{{ item.unit }}</text>
+						<text class="basecolor">¥{{ item.money }}/{{ item.unit }}</text>
 					</view>
 					<NumInput :value="item.cart[sizeIndex]" :args="[index, sizeIndex]" @change="numChange" />
 				</view>
@@ -34,13 +34,15 @@
 				<text v-else class="cuIcon-round"></text>
 				<text>全选</text>
 			</view>
-			<view class="total">总计: <text>{{ '¥ ' + choosedPrice + '.00' }}</text></view>
+			<view class="total">总计: <text>{{ '¥ ' + choosedPrice + '' }}</text></view>
 			<view class="pay" @tap="confirm">结算({{ ' ' + choosedNum + ' ' }})</view>
 		</view>
 	</view>
 </template>
 
 <script>
+	import { deepClone } from '@/common/util/index.js'
+	import { _API_GoodList } from '@/apis/good.js'
 	import NumInput from '@/components/public/num-input.vue'
 	export default {
 		components: { NumInput },
@@ -55,6 +57,35 @@
 			choosedNum() { return this.$store.getters['cart/choosedNum'] },
 			choosedPrice() { return this.$store.getters['cart/choosedPrice'] }
 		},
+		// async onShow() {
+		// 	uni.loading()
+		// 	const { data: { list } } = await _API_GoodList()
+		// 	for(let i = this.list.length - 1; i >= 0; i --) { // 遍历购物车
+		// 		const inCartGood = list.find(listItem => listItem.attr_id == this.list[i].attr_id)
+		// 		if (inCartGood) { // 如果购物车的商品存在于商品列表中
+		// 			for(let j = this.list[i].size_id.length - 1; j >= 0; j --) {
+		// 				const cartSize = this.list[i].size_id[j]
+		// 				const inCartSize = inCartGood.size_id.find(e => e == cartSize)
+		// 				console.log(inCartSize)
+		// 				// // if (inCartSize) {
+		// 				// // 	console.log(inCartSize)
+		// 				// // } else {
+		// 				// // 	console.log(inCartSize)
+		// 				// // }
+		// 				// console.log(inCartSize)
+		// 			}
+		// 		} else { // 不存直接删除
+		// 			this.$store.commit('cart/DELETE', i)
+		// 		}
+		// 	}
+		// },
+		onShow() {
+			if (this.$store.getters['cart/shopcarNum']) {
+				uni.setTabBarBadge({ index: 1, text: this.$store.getters['cart/shopcarNum'] + '' })
+			} else {
+				uni.removeTabBarBadge({ index: 1 })
+			}
+		},
 		methods: {
 			numChange(value, index, sizeIndex) { // 购物车数量发生变化
 				if (value) {

BIN
static/index/index/new/1.png


BIN
static/index/index/new/2.png


BIN
static/index/index/new/3.png


BIN
static/index/index/new/4.png


BIN
static/index/index/new/5.png


BIN
static/index/index/new/6.png


BIN
static/index/my/address.png


+ 30 - 2
store/modules/cart.js

@@ -17,6 +17,16 @@ const unzip = b64Data => {
 const zip = str => btoa(pako.gzip(encodeURIComponent(str), {to: 'string'}))
 
 const storage = list => {
+	const num = list.reduce((t, e) => {
+		return e.size.reduce((tt, ee, ii) => {
+			return tt + e.cart[ii]
+		}, t)
+	}, 0)
+	if (num) {
+		uni.setTabBarBadge({ index: 1, text: num + '' })
+	} else {
+		uni.removeTabBarBadge({ index: 1 })
+	}
 	document.cookie = `CART=${zip(JSON.stringify(list))}; expires=Fri, 31 Dec 9999 23:59:59 GMT; path=/;`
 }
 
@@ -29,6 +39,20 @@ try{
 	cartinfo = []
 }
 
+if (cartinfo.length) {
+	console.log(cartinfo)
+	setTimeout(() => {
+		uni.setTabBarBadge({
+			index: 1,
+			text: cartinfo.reduce((t, e) => {
+				return e.size.reduce((tt, ee, ii) => {
+					return tt + e.cart[ii]
+				}, t)
+			}, 0) + ''
+		})
+	})
+}
+
 export default {
 	namespaced: true,
 	state: {
@@ -92,14 +116,18 @@ export default {
 		}
 	},
 	mutations: {
-		ADD(state, payload) { // 添加商品到购物车 (已存在合并,不存在添加)
+		ADD(state, payload, ) { // 添加商品到购物车 (已存在合并,不存在添加)
 			const index = state.list.findIndex(e => e.attr_id === payload.attr_id) // 检查添加商品是否存在于购物车中
 			if(index === -1) {
 				state.list.push(payload)
 			} else {
 				Object.assign(state.list[index], payload)
 			}
-			storage(state.list)
+			setTimeout(() => storage(state.list), 123)
+			// const old = console.log(state.list[0].cart[0])
+			// this.commit('cart/COUNTCHANGE', { value: old + 1, index: 0, sizeIndex: 0, del: true })
+			// this.commit('cart/COUNTCHANGE', { value: old, index: 0, sizeIndex: 0, del: true })
+			
 		},
 		DELETE(state, payload) {
 			state.list.splice(payload, 1)

BIN
unpackage/dist/build/h5.rar


BIN
unpackage/dist/build/h5.zip → unpackage/dist/build/h5/h5.zip


+ 1 - 1
unpackage/dist/build/h5/index.html

@@ -6,4 +6,4 @@
 			}
 			.uni-modal__btn_primary, .uni-picker-action-confirm {
 				color: #F76454!important;
-			}</style><link rel=stylesheet href=/gzh/static/index.cdf7f91b.css></head><body><noscript><strong>Please enable JavaScript to continue.</strong></noscript><div id=app></div><script src=/gzh/static/js/chunk-vendors.a4254b72.js></script><script src=/gzh/static/js/index.94ca47ca.js></script></body></html>
+			}</style><link rel=stylesheet href=/gzh/static/index.cdf7f91b.css></head><body><noscript><strong>Please enable JavaScript to continue.</strong></noscript><div id=app></div><script src=/gzh/static/js/chunk-vendors.ee30ac36.js></script><script src=/gzh/static/js/index.4c027f2e.js></script></body></html>

BIN
unpackage/dist/build/h5/static/index/index/new/1.png


BIN
unpackage/dist/build/h5/static/index/index/new/2.png


BIN
unpackage/dist/build/h5/static/index/index/new/3.png


BIN
unpackage/dist/build/h5/static/index/index/new/4.png


BIN
unpackage/dist/build/h5/static/index/index/new/5.png


BIN
unpackage/dist/build/h5/static/index/index/new/6.png


BIN
unpackage/dist/build/h5/static/index/my/address.png


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/chunk-vendors.ee30ac36.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/index.4c027f2e.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/index.94ca47ca.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-add-address-add-address.314a0704.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-add-address-add-address.73d27d63.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-comfirm-order-success-comfirm-order-success.3b3cb50d.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-comfirm-order-success-comfirm-order-success.bb11c303.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-confirm-order-confirm-order.4b873bdb.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-confirm-order-confirm-order.da9a336d.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-confirm-order1-confirm-order1.aae52a1c.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-confirm-order1-confirm-order1.e75b5dc5.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-down-order-down-order.6c3f9363.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-down-order-down-order.c2b3f813.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-express-detail-express-detail.053e9b1b.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-good-detail-good-detail.da23ef54.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-good-detail-good-detail.f74d00cc.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-good-detail1-good-detail1.75c7a93a.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-good-detail1-good-detail1.b8e7c94b.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-good-detail1-good-detail1~pages-place-order-place-order.2892c4de.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-good-detail1-good-detail1~pages-place-order-place-order.353db499.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-income-running-income-running.adee718c.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-income-running-income-running.d07cf8c0.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-index-index.29319d5b.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-index-index.dd73fe65.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-index-my-index-my.154e1a0a.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-index-my-index-my.1b04873f.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-invite-proxy-invite-proxy.e6324f16.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-invite-proxy-invite-proxy.f13c1283.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-manage-order-manage-order.6f113e70.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-manage-people-manage-people.2d233405.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-manage-people-manage-people.2e843e0e.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-money-running-detail-money-running-detail.68b9c087.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-money-running-detail-money-running-detail.9dbdf612.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-money-running-money-running.e0e8a987.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-money-running-money-running.ebb330db.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-my-order-my-order.3c8f5901.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-my-order-my-order.6169360c.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-my-storage-my-storage.023fc56a.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-my-storage-my-storage.fa9d4a02.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-order-detail-order-detail.06dd664e.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-order-detail-order-detail.510161ec.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-order-detail1-list-order-detail1-list.127e5285.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-order-detail1-list-order-detail1-list.645e49bf.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-order-detail1-log-order-detail1-log.31088271.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-order-detail1-log-order-detail1-log.9658220a.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-order-detail1-order-detail1.6db050da.js


Alguns arquivos não foram mostrados porque muitos arquivos mudaram nesse diff