skiy пре 3 година
родитељ
комит
b97779b9ff
100 измењених фајлова са 1711 додато и 803 уклоњено
  1. 4 0
      .hbuilderx/launch.json
  2. 1 1
      App.vue
  3. 17 9
      components/u-header.vue
  4. 1 3
      main.js
  5. 3 2
      manifest.json
  6. 33 4
      pages.json
  7. 35 16
      pages/Delivery/Delivery.vue
  8. 39 30
      pages/Delivery/create.vue
  9. 46 36
      pages/Delivery/location.vue
  10. 1 0
      pages/Marketing/Marketing.vue
  11. 1 1
      pages/Marketing/vipers.vue
  12. 28 7
      pages/login/login.vue
  13. 7 2
      pages/mine/Withdrawal.vue
  14. 13 5
      pages/mine/mine.vue
  15. 133 58
      pages/mine/password.vue
  16. 90 35
      pages/order/info.vue
  17. 437 369
      pages/order/order.vue
  18. 13 14
      pages/order/perfect.vue
  19. 167 0
      pages/order/settle.vue
  20. 133 0
      pages/order/transport.vue
  21. 122 45
      pages/order/video.vue
  22. 5 1
      pages/refund/refund.vue
  23. 34 0
      pages/webview/webview.vue
  24. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
  25. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map
  26. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
  27. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/u-header.js.map
  28. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/Delivery/Delivery.js.map
  29. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/Delivery/create.js.map
  30. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/Delivery/location.js.map
  31. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/Marketing/Marketing.js.map
  32. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/Marketing/coupon.js.map
  33. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/Marketing/vipers.js.map
  34. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map
  35. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map
  36. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/mine/Withdrawal.js.map
  37. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/mine/mine.js.map
  38. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/mine/password.js.map
  39. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/order/info.js.map
  40. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/order/order.js.map
  41. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/order/perfect.js.map
  42. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/order/settle.js.map
  43. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/order/transport.js.map
  44. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/order/video.js.map
  45. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/refund/refund.js.map
  46. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/turnover/info.js.map
  47. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/turnover/turnover.js.map
  48. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/webview/webview.js.map
  49. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-badge/u-badge.js.map
  50. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-checkbox-group/u-checkbox-group.js.map
  51. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-checkbox/u-checkbox.js.map
  52. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-form-item/u-form-item.js.map
  53. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-form/u-form.js.map
  54. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-icon/u-icon.js.map
  55. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-index-anchor/u-index-anchor.js.map
  56. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-index-list/u-index-list.js.map
  57. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-input/u-input.js.map
  58. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-line-progress/u-line-progress.js.map
  59. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-loading/u-loading.js.map
  60. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-mask/u-mask.js.map
  61. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-modal/u-modal.js.map
  62. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-picker/u-picker.js.map
  63. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-popup/u-popup.js.map
  64. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-search/u-search.js.map
  65. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-subsection/u-subsection.js.map
  66. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-switch/u-switch.js.map
  67. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-tabs/u-tabs.js.map
  68. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-upload/u-upload.js.map
  69. 6 2
      unpackage/dist/dev/mp-weixin/app.json
  70. 2 4
      unpackage/dist/dev/mp-weixin/common/main.js
  71. 2 2
      unpackage/dist/dev/mp-weixin/common/runtime.js
  72. 29 21
      unpackage/dist/dev/mp-weixin/common/vendor.js
  73. 5 5
      unpackage/dist/dev/mp-weixin/components/u-header.js
  74. 0 0
      unpackage/dist/dev/mp-weixin/components/u-header.wxml
  75. 7 7
      unpackage/dist/dev/mp-weixin/pages/Delivery/Delivery.js
  76. 7 7
      unpackage/dist/dev/mp-weixin/pages/Delivery/create.js
  77. 0 0
      unpackage/dist/dev/mp-weixin/pages/Delivery/create.wxml
  78. 7 7
      unpackage/dist/dev/mp-weixin/pages/Delivery/location.js
  79. 2 1
      unpackage/dist/dev/mp-weixin/pages/Marketing/Marketing.js
  80. 1 1
      unpackage/dist/dev/mp-weixin/pages/Marketing/coupon.js
  81. 7 7
      unpackage/dist/dev/mp-weixin/pages/Marketing/vipers.js
  82. 1 1
      unpackage/dist/dev/mp-weixin/pages/Marketing/vipers.wxml
  83. 1 1
      unpackage/dist/dev/mp-weixin/pages/index/index.js
  84. 28 7
      unpackage/dist/dev/mp-weixin/pages/login/login.js
  85. 1 1
      unpackage/dist/dev/mp-weixin/pages/login/login.wxml
  86. 7 7
      unpackage/dist/dev/mp-weixin/pages/mine/Withdrawal.js
  87. 7 7
      unpackage/dist/dev/mp-weixin/pages/mine/mine.js
  88. 7 3
      unpackage/dist/dev/mp-weixin/pages/mine/mine.wxss
  89. 7 7
      unpackage/dist/dev/mp-weixin/pages/mine/password.js
  90. 0 1
      unpackage/dist/dev/mp-weixin/pages/mine/password.wxml
  91. 53 5
      unpackage/dist/dev/mp-weixin/pages/order/info.js
  92. 0 0
      unpackage/dist/dev/mp-weixin/pages/order/info.wxml
  93. 12 4
      unpackage/dist/dev/mp-weixin/pages/order/info.wxss
  94. 90 25
      unpackage/dist/dev/mp-weixin/pages/order/order.js
  95. 1 0
      unpackage/dist/dev/mp-weixin/pages/order/order.json
  96. 0 0
      unpackage/dist/dev/mp-weixin/pages/order/order.wxml
  97. 6 5
      unpackage/dist/dev/mp-weixin/pages/order/order.wxss
  98. 7 7
      unpackage/dist/dev/mp-weixin/pages/order/perfect.js
  99. 36 20
      unpackage/dist/dev/mp-weixin/pages/order/settle.js
  100. 9 0
      unpackage/dist/dev/mp-weixin/pages/order/settle.json

+ 4 - 0
.hbuilderx/launch.json

@@ -6,6 +6,10 @@
      	{
      		"launchtype" : "local"
      	},
+     	"h5" : 
+     	{
+     		"launchtype" : "local"
+     	},
      	"mp-weixin" : 
      	{
      		"launchtype" : "local"

+ 1 - 1
App.vue

@@ -1,7 +1,7 @@
 <script>
 	export default {
 		globalData:{
-			idAdmin:false
+			isAdmin:false
 		},
 		onLaunch: function() {
 			console.log('App Launch')

+ 17 - 9
components/u-header.vue

@@ -43,7 +43,7 @@
 								<image src="http://pet.hdlkeji.com/assets/static/meun_1.png" class="indexe_icon"
 									mode=""></image>
 							</view>
-							<view class="indexe_p">营销设</view>
+							<view class="indexe_p">营销设</view>
 						</view>
 						<view class="indexe_a" @click="GoDelivery">
 							<view class="indexe_box">
@@ -139,7 +139,6 @@
 			})
 			this.GetUser()
 			let data = getApp().globalData
-			// console.log(data)
 			this.type = data.isAdmin;
 		},
 		methods: {
@@ -152,47 +151,55 @@
 				uni.reLaunch({
 					url:"/pages/login/login"
 				})
+				this.show = false
 			},
 			// 点击完善信息
 			GoMine(){
 				uni.navigateTo({
 					url:'/pages/order/perfect'
 				})
+				this.show = false
 			},
 			// 点击我的钱包
 			GoWithdeawal() {
 				uni.navigateTo({
 					url:'/pages/mine/mine'
-				})
+				})
+				this.show = false
 			},
 			// 点击修改密码
 			GoPassword() {
 				uni.navigateTo({
 					url: "/pages/mine/password"
-				})
+				})
+				this.show = false
 			},
 			// 代办事项
 			GoIndex() {
 				uni.navigateTo({
 					url: '/pages/index/index'
-				})
+				})
+				this.show = false
 			},
 			GoDelivery() {
 				uni.navigateTo({
 					url: '/pages/Delivery/Delivery'
-				})
+				})
+				this.show = false
 			},
 			// 点击营销设置
 			GoMarket() {
 				uni.navigateTo({
 					url: '/pages/Marketing/Marketing'
-				})
+				})
+				this.show = false
 			},
 			// 点击前往订单页面
 			GoOrder() {
 				uni.navigateTo({
 					url: '/pages/order/order'
-				})
+				})
+				this.show = false
 			},
 			//去登陆
 			GoLogin() {
@@ -202,7 +209,8 @@
 					uni.navigateTo({
 						url: '../login/login'
 					})
-				}
+				}
+				this.show = false
 			},
 			//获取用户信息
 			GetUser() {

+ 1 - 3
main.js

@@ -1,7 +1,5 @@
 import App from './App'
 
-
-
 import request from 'utils/request.js'  //引入异步请求函数
 Vue.prototype.request = request.request //挂载到全局
 
@@ -10,7 +8,7 @@ import uView from "uview-ui";
 Vue.config.productionTip = false;
 Vue.config.productionTip = false;
 
-Vue.prototype.url = 'http://pet.hdlkeji.com/api';
+Vue.prototype.url = 'https://pet.hdlkeji.com/api';
 Vue.prototype.$EventBus = new Vue();
 
 

+ 3 - 2
manifest.json

@@ -50,14 +50,15 @@
     "quickapp" : {},
     /* 小程序特有相关 */
     "mp-weixin" : {
-        "appid" : "wx2f20767b0bbaf91c",
+        "appid" : "wx626ffe02cf1f0710",
         "setting" : {
             "urlCheck" : false,
             "es6" : true,
             "postcss" : true,
             "minified" : true
         },
-        "usingComponents" : true
+        "usingComponents" : true,
+        "permission" : {}
     },
     "mp-alipay" : {
         "usingComponents" : true

+ 33 - 4
pages.json

@@ -45,7 +45,8 @@
 			"path": "pages/order/order",
 			"style": {
 				"navigationStyle": "custom",
-				"navigationBarTextStyle": "black"
+				"navigationBarTextStyle": "black",
+				"enablePullDownRefresh":true
 			}
 
 		}, {
@@ -65,9 +66,9 @@
 			}
 
 		}, {
-			"path": "pages/Marketing/vipers",
+			"path": "pages/order/transport",
 			"style": {
-				"navigationBarTitleText": "会员管理",
+				"navigationBarTitleText": "运送详情",
 				"enablePullDownRefresh": false,
 				"navigationBarBackgroundColor": "#FFFFFF"
 			}
@@ -80,6 +81,15 @@
 				"navigationBarBackgroundColor": "#FFFFFF"
 			}
 
+		}
+		, {
+			"path": "pages/Marketing/vipers",
+			"style": {
+				"navigationBarTitleText": "会员管理",
+				"enablePullDownRefresh": false,
+				"navigationBarBackgroundColor": "#FFFFFF"
+			}
+		
 		}, {
 			"path": "pages/Delivery/Delivery",
 			"style": {
@@ -143,7 +153,26 @@
 			}
 
 		}
-	],
+	    ,{
+            "path" : "pages/order/settle",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "申请结算",
+                "enablePullDownRefresh": false,
+				"navigationBarBackgroundColor": "#FFFFFF"
+            }
+            
+        }
+        ,{
+            "path" : "pages/webview/webview",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "",
+                "enablePullDownRefresh": false
+            }
+            
+        }
+    ],
 	"globalStyle": {
 		"navigationBarTextStyle": "black",
 		"navigationBarTitleText": "uni-app",

+ 35 - 16
pages/Delivery/Delivery.vue

@@ -109,26 +109,45 @@
 				let _this = this
 				let data = e.split(',')
 				// 开启
-				if (data[1] === '1') {
-					this.request("/admin_user/enable", {
-						user_id: data[0],
-						status: 'normal'
-					}, "GET").then(res => {
-						console.log(res)
-						if (res.code === 1) {
-							_this.getData()
-						}
+				if (data[1] === '1') {
+					uni.showModal({
+						title: '确定要开启此配送员吗?',
+						success: function(res) {
+							if (res.confirm) {
+								_this.request("/admin_user/enable", {
+									user_id: data[0],
+									status: 'normal'
+								}, "GET").then(res => {
+									if (res.code === 1) {
+										_this.getData()
+									}
+								})
+							} else if (res.cancel) {
+								console.log('用户点击取消');
+								_this.getData()
+							}
+						}
 					})
+					
 				}
 				// 关闭
 				if (data[1] === '2') {
-					this.request("/admin_user/enable", {
-						user_id: data[0],
-						status: 'hidden'
-					}, "GET").then(res => {
-						console.log(res)
-						if (res.code === 1) {
-							_this.getData()
+					uni.showModal({
+						title: '确定要禁用此配送员吗?',
+						success: function(res) {
+							if (res.confirm) {
+								_this.request("/admin_user/enable", {
+									user_id: data[0],
+									status: 'hidden'
+								}, "GET").then(res => {
+									if (res.code === 1) {
+										_this.getData()
+									}
+								})
+							} else if (res.cancel) {
+								console.log('用户点击取消');
+								_this.getData()
+							}
 						}
 					})
 				}

+ 39 - 30
pages/Delivery/create.vue

@@ -13,13 +13,13 @@
 		</view>
 		<input type="text" placeholder="请输入公司名称" class="input-card" v-model="info.company" />
 		<input type="text" placeholder="请输入姓名" class="input-card" v-model="info.name" />
-		<input type="text" placeholder="请输入联系方式" class="input-card" v-model="info.mobile" />
+		<input type="number" maxlength="11" placeholder="请输入联系方式" class="input-card" v-model="info.mobile"  />
 		<input type="text" placeholder="请输入账号" class="input-card" v-model="info.username" />
 		<input type="password" v-if="pageType === 1" placeholder="请输入6-12位密码" class="input-card"
-			v-model="info.password" />
+			v-model="info.password" maxlength="12" />
 		<view class="card" style="margin-top: 40rpx;" @click="location">
 			<view class="row">
-				<view>请选择配送区域</view>
+				<view>{{areaStr}}</view>
 				<view class="">
 					<u-icon name="arrow-right"></u-icon>
 				</view>
@@ -63,7 +63,9 @@
 						value: 'special',
 						checked: false,
 					},
-				]
+				],
+				// 选中区域
+				areaStr: "请选择配送区域"
 			}
 		},
 		onLoad(e) {
@@ -88,17 +90,18 @@
 						this.send[0].checked = true
 					}
 					if (s.type === "special") {
-						this.send[1].checked = true
+						this.send[2].checked = true
 					}
-				}
+				}
 				this.$forceUpdate()
 			},
 			// 点击配送区域
 			location() {
 				this.$EventBus.$on('listenSetArea', (res) => {
 					let data = this.info;
-					data.area = res;
+					data.area = res.data;
 					this.info = data
+					this.areaStr = res.areaStr
 					this.$forceUpdate()
 				})
 				// 新增
@@ -123,7 +126,9 @@
 					}
 				}
 				this.info.send = data;
-				this.$forceUpdate()
+				this.$forceUpdate()
+				
+				console.log(this.info)
 				if (this.info.send.length === 0) {
 					this.$u.toast('请选择运送方式')
 					return false
@@ -132,26 +137,30 @@
 					this.$u.toast('请选择配送区域')
 					return false
 				}
-				if (this.info.company === '') {
+				if (this.info.company === '' || this.info.company=== undefined) {
 					this.$u.toast('请填写公司名称')
 					return false
 				}
-				if (this.info.name === '') {
+				if (this.info.name === ''|| this.info.name=== undefined) {
 					this.$u.toast('请填写姓名')
 					return false
 				}
-				if (this.info.mobile === '') {
+				if (this.info.mobile === ''|| this.info.mobile=== undefined) {
 					this.$u.toast('请填写联系方式')
 					return false
 				}
-				if (this.info.username === '') {
+				if (this.info.username === ''|| this.info.username=== undefined) {
 					this.$u.toast('请填写账号')
 					return false
 				}
-				if (this.info.password === '') {
+				if (this.info.password === ''|| this.info.password=== undefined) {
 					this.$u.toast('请填写密码')
 					return false
 				}
+				if (this.info.password.length > 16 || this.info.password.length < 8 || this.info.password === undefined) {
+					this.$u.toast('密码长度在8-16之间')
+					return false
+				}
 				this.request("/admin_user/store", this.info, "POST").then(res => {
 					if (res.code === 1) {
 						this.$u.toast('添加成功')
@@ -171,18 +180,18 @@
 						send.push(s.value)
 					}
 				}
-				
-				let area = [];
-				console.log(typeof this.info.area[0])
-				if(typeof this.info.area[0] === 'object'){
-					for (let s of this.info.area) {
-						area.push(s.id)
-					}
-				}else{
-					// 没有修改区域
-					area = this.info.area
+
+				let area = [];
+				console.log(typeof this.info.area[0])
+				if (typeof this.info.area[0] === 'object') {
+					for (let s of this.info.area) {
+						area.push(s.id)
+					}
+				} else {
+					// 没有修改区域
+					area = this.info.area
 				}
-				let data = {};
+				let data = {};
 				this.$forceUpdate()
 				if (send.length === 0) {
 					this.$u.toast('请选择运送方式')
@@ -220,12 +229,12 @@
 				this.request("/admin_user/store", data, "POST").then(res => {
 					console.log(res)
 					if (res.code === 1) {
-						this.$u.toast('操作成功')
-						setTimeout(()=>{
-							uni.navigateBack({
-								delta:1
-							})
-						},2000)
+						this.$u.toast('操作成功')
+						setTimeout(() => {
+							uni.navigateBack({
+								delta: 1
+							})
+						}, 2000)
 					}
 				})
 			}

+ 46 - 36
pages/Delivery/location.vue

@@ -31,36 +31,46 @@
 		data() {
 			return {
 				scrollTop: 0,
-				area: [],
-				type:1,
-				checkedArea:[]
+				area: [],
+				type: 1,
+				checkedArea: []
 			}
 		},
 		onPageScroll(e) {
 			this.scrollTop = e.scrollTop;
 		},
-		onLoad(e) {
-			this.getLocation()
-			console.log(e)
-			if(e.area){
-				this.type = 2
-				this.checkedArea = JSON.parse(e.area)
+		onLoad(e) {
+			this.getLocation()
+			console.log(e)
+			if (e.area) {
+				this.type = 2
+				this.checkedArea = JSON.parse(e.area)
 			}
 		},
 		methods: {
 			// 点击确定
 			push() {
 				let data = []
+				let areaStr = ""
 				for (let key in this.area) {
-					for (let s of this.area[key].child) {
-						if(s.checked){
-							data.push(s.id)
+					for (let s of this.area[key].child) {
+						if (s.checked) {
+							data.push(s.id)
+							if (areaStr === "") {
+								areaStr = s.title
+							} else {
+								areaStr = areaStr + "," + s.title
+							}
+
 						}
 					}
-				}
-				this.$EventBus.$emit('listenSetArea',data)
-				uni.navigateBack({
-					delta:1
+				}
+				this.$EventBus.$emit('listenSetArea', {
+					data,
+					areaStr
+				})
+				uni.navigateBack({
+					delta: 1
 				})
 			},
 			// 是否选中
@@ -70,32 +80,32 @@
 			},
 			// 全选
 			checkAll() {
-				let data = this.area
-				for (let key in data) {
-					for (let ikey in data[key].child) {
-						data[key].child[ikey].checked = true
-					}
-				}
-				this.area = data
+				let data = this.area
+				for (let key in data) {
+					for (let ikey in data[key].child) {
+						data[key].child[ikey].checked = true
+					}
+				}
+				this.area = data
 				this.$forceUpdate()
 			},
 			// 获取位置信息
 			getLocation() {
 				this.request("/common/area_sort", {}, "GET").then(res => {
 					if (res.code === 1) {
-						this.area = res.data
-						if(this.type ===2){
-							let data = this.area
-							let checked = this.checkedArea
-							for (let key in data) {
-								for (let ikey in data[key].child) {
-									for (let s of checked) {
-										if(data[key].child[ikey].id === s.id){
-											data[key].child[ikey].checked = true
-										}
-									}
-								}
-							}
+						this.area = res.data
+						if (this.type === 2) {
+							let data = this.area
+							let checked = this.checkedArea
+							for (let key in data) {
+								for (let ikey in data[key].child) {
+									for (let s of checked) {
+										if (data[key].child[ikey].id === s.id) {
+											data[key].child[ikey].checked = true
+										}
+									}
+								}
+							}
 						}
 					}
 				})

+ 1 - 0
pages/Marketing/Marketing.vue

@@ -39,6 +39,7 @@
 			},
 			// 前往会员
 			goToVipers(){
+				console.log(111111)
 				uni.navigateTo({
 					url:"./vipers"
 				})

+ 1 - 1
pages/Marketing/vipers.vue

@@ -1,7 +1,7 @@
 <template>
 	<view class="content">
 		<view class="search">
-			<u-search placeholder="请输入信息搜索会员" v-model="name" @custom="getData"></u-search>
+			<u-search placeholder="请输入信息搜索会员" v-model="name" @custom="getData" @change="getData"></u-search>
 		</view>
 
 		<view class="card" v-for="(item,index) in dataList" :key="index">

+ 28 - 7
pages/login/login.vue

@@ -16,11 +16,9 @@
           ]">登录</view>
 			</view>
 			<view class="logina_e">
-				<checkbox-group>
-					<label>
-						<checkbox style="transform: scale(0.8)" value="cb" checked="true" />阅读并同意
-						<text>《宠365用户协议》</text>
-					</label>
+				<checkbox-group @change="read">
+					<checkbox style="transform: scale(0.6);" :checked="cb" />阅读并同意
+					<text @click.stop="goToAgreement">《宠365用户协议》</text>
 				</checkbox-group>
 			</view>
 		</view>
@@ -34,6 +32,7 @@
 	export default {
 		data() {
 			return {
+				cb: false,
 				codeName: "发送验证码",
 				isCode: true,
 				account: "",
@@ -41,10 +40,23 @@
 			};
 		},
 		methods: {
+			// 前往协议页面
+			goToAgreement() {
+				uni.navigateTo({
+					url: "/pages/webview/webview?type=1"
+				})
+			},
+			read(e) {
+				if (e.detail.value.length > 0) {
+					this.cb = true
+				} else {
+					this.cb = false
+				}
+			},
 			onlogin() {
 				//登录
 				var that = this;
-				if (that.phone == "") {
+				if (that.account == "") {
 					uni.showToast({
 						title: "请输入账号",
 						icon: "none",
@@ -58,6 +70,13 @@
 					});
 					return;
 				}
+				if (!that.cb) {
+					uni.showToast({
+						title: "请阅读用户协议",
+						icon: "none",
+					});
+					return;
+				}
 				uni.showLoading({
 					title: "登录中...",
 				});
@@ -73,7 +92,9 @@
 					.then((res) => {
 						uni.hideLoading();
 						setToken(res.data.userinfo.token); //模拟存储token
-						getApp().globalData = {isAdmin:res.data.is_admin}
+						getApp().globalData = {
+							isAdmin: res.data.is_admin
+						}
 						uni.showToast({
 							title: "登录成功",
 						});

+ 7 - 2
pages/mine/Withdrawal.vue

@@ -47,12 +47,17 @@
 						this.info =  res.data
 					}
 				})
-			},
+			},	
 			// 点击充值
 			push(){
+				if(this.money <1){
+					this.$u.toast('提现金额不能为0')
+					return false;
+				}
 				this.request("/user_money_controller/take_cash",{money:this.money},"POST").then(res=>{
 					if(res.code === 1){
-						this.$u.toast('充值成功')
+						this.$u.toast('提现成功')
+						this.getUserInfo()
 						this.money = 0
 					}
 				})

+ 13 - 5
pages/mine/mine.vue

@@ -50,6 +50,10 @@
 				page: 1,
 				limit: 20
 			}
+		},
+		onShow() {
+			this.getUserInfo()
+			this.getHistory()
 		},
 		onLoad() {
 			this.getUserInfo()
@@ -94,13 +98,14 @@
 		width: 93%;
 		height: 300rpx;
 		margin: 0 auto;
-		border: 1px #999 solid;
 		border-radius: 40rpx;
 		display: flex;
 		flex-direction: column;
 		align-items: center;
 		justify-content: space-around;
-		padding: 40rpx;
+		padding: 40rpx;
+		background-image: url("http://pet.hdlkeji.com/assets/static/1/16.png");
+		background-size: 100% 100%;
 
 		.title {
 			width: 100%;
@@ -120,9 +125,12 @@
 	}
 
 	.list {
-		width: 93%;
-		margin: 0 auto;
-		margin-top: 30rpx;
+		width: 100%;
+		padding: 20rpx 30rpx;
+		margin-top: 30rpx;
+		background-color: #fff;
+		border-radius: 40rpx 40rpx 0 0;
+		min-height: 75vh;
 
 		.title {
 			font-size: 40rpx;

+ 133 - 58
pages/mine/password.vue

@@ -3,23 +3,24 @@
 		<view class="card">
 			<u-form :model="form" ref="uForm">
 				<u-form-item label="手机号" prop="phone" label-width="150">
-					<u-input v-model="form.phone" />
+					<u-input v-model="form.phone" placeholder="请输入手机号" maxlength="11" />
 				</u-form-item>
 				<u-form-item label="验证码" prop="code" label-width="150">
-					<u-input v-model="form.code" />
-				</u-form-item>
-				<u-form-item label="密码" prop="p assword" label-width="150">
-					<u-input v-model="form.password" type="password" />
-				</u-form-item>
-				<u-form-item label="确认密码" prop="password2" label-width="150">
-					<u-input v-model="form.password2" type="password" />
+					<u-input v-model="form.code" placeholder="请输入验证码" />
+					<view slot="right" @click="getCode()">{{codeText}}</view>
+				</u-form-item>
+				<u-form-item label="密码" prop="password" label-width="150">
+					<u-input v-model="form.password" type="password" maxlength="12" placeholder="请输入密码" />
+				</u-form-item>
+				<u-form-item label="确认密码" prop="password2" label-width="150">
+					<u-input v-model="form.password2" type="password" maxlength="12" placeholder="请确认密码" />
 				</u-form-item>
 			</u-form>
-		</view>
-		<view class="bottom-btn">
-			<view class="buttom-dom" @click="push">
-				确定
-			</view>
+		</view>
+		<view class="bottom-btn">
+			<view class="buttom-dom" @click="push">
+				确定
+			</view>
 		</view>
 	</view>
 </template>
@@ -28,70 +29,144 @@
 	export default {
 		data() {
 			return {
+				// 提交信息
 				form: {
 					phone: '',
 					code: '',
 					password: '',
 					password2: ''
 				},
+				// 验证规则
 				rules: {
-					name: [{
+					phone: [{
 						required: true,
 						message: '请输入手机号',
 						trigger: ['change', 'blur'],
-					}],
-					code: [{
-						required: true,
-						message: '请输入验证码',
-						trigger: ['change', 'blur'],
-					}],
-					password: [{
-						required: true,
-						message: '请输入密码',
-						trigger: ['change', 'blur'],
-					}],
-					password2: [{
-						required: true,
-						message: '请验证密码',
-						trigger: ['change', 'blur'],
 					}],
-				}
+					code: [{
+						required: true,
+						message: '请输入验证码',
+						trigger: ['change', 'blur'],
+					}],
+					password: [{
+						required: true,
+						message: '请输入密码',
+						trigger: ['change', 'blur'],
+					}],
+					password2: [{
+						required: true,
+						message: '请确认密码',
+						trigger: ['change', 'blur'],
+					}],
+				},
+				// 获取验证码
+				codeText: '获取验证码'
 			}
 		},
+		onReady() {
+			this.$refs.uForm.setRules(this.rules);
+		},
 		methods: {
+			// 点击获取验证码
+			getCode() {
+				let _this = this;
+				if (this.form.phone === '') {
+					this.$u.toast('请先输入手机号')
+					return false
+				}
+				if (this.codeText === '重新获取' || this.codeText === '获取验证码') {
+
+					this.request('/sms/send', {
+						mobile: this.form.phone,
+						event: 'changepwd'
+					}, 'GET').then(res => {
+						_this.codeText = 60;
+						let time = setInterval(() => {
+							if (_this.codeText < 1) {
+								_this.codeText = '重新获取'
+								clearInterval(time)
+							} else {
+								_this.codeText = _this.codeText - 1;
+							}
+						}, 1000)
+					})
+				}
 
+			},
+			//  提交修改信息
+			push() {
+				let _this = this;
+				this.$refs.uForm.validate(valid => {
+					if (valid) {
+						// console.log('验证通过');
+						if (_this.form.password2.length > 12 || _this.form.password2.length > 6) {
+							_this.$u.toast('密码长度为6-12位')
+							return false
+						}
+						if (_this.form.password !== _this.form.password2) {
+							_this.$u.toast('两次输入密码不一致')
+							return false
+						}
+						let data = {
+							mobile: _this.form.phone,
+							newpassword: _this.form.password,
+							captcha: _this.form.code,
+							user_type: 2
+						}
+						_this.request('/user/resetpwd', data, "POST").then(res => {
+							if (res.code === 1) {
+								_this.$u.toast('操作成功')
+								setTimeout(() => {
+									uni.clearStorage()
+									getApp().globalData = {
+										isAdmin: false
+									}
+									uni.reLaunch({
+										url: '/pages/login/login'
+									})
+								}, 2000)
+							}
+						})
+					} else {
+						console.log('验证失败');
+					}
+				});
+			}
 		}
 	}
 </script>
 
-<style lang="scss">
-	.content{
-		padding-top:  40rpx;
+<style lang="scss">
+	.content {
+		padding-top: 40rpx;
+	}
+
+	.card {
+		width: 93%;
+		margin: 0 auto;
+		background-color: #FFFFFF;
+		padding: 30rpx;
+		border-radius: 20rpx;
 	}
-	.card{
-		width: 93%;
-		margin: 0 auto;
-		background-color: #FFFFFF;
-		padding: 30rpx;
-		border-radius: 20rpx;
-	}
-	.bottom-btn{
-		width: 100vw;
-		height: 10vh;
-		display: flex;
-		flex-direction: column;
-		align-items: center;
-		justify-content: center;
-		margin-top: 30rpx;
-		.buttom-dom{
-			height: 80rpx;
-			width: 93%;
-			background-color: #F6B301;
-			color: #FFFFFF;
-			text-align: center;
-			line-height: 80rpx;
-			color: #FFFFFF;
-			border-radius: 80rpx;
-		}
+
+	.bottom-btn {
+		width: 100vw;
+		height: 10vh;
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+		justify-content: center;
+		margin-top: 30rpx;
+
+		.buttom-dom {
+			height: 80rpx;
+			width: 93%;
+			background-color: #F6B301;
+			color: #FFFFFF;
+			text-align: center;
+			line-height: 80rpx;
+			color: #FFFFFF;
+			border-radius: 80rpx;
+		}
 	}
 </style>

+ 90 - 35
pages/order/info.vue

@@ -96,7 +96,7 @@
 						有无宠笼
 					</view>
 					<view class="text">
-						{{has_cage?"有":"没有"}}
+						{{info.has_cage?"有":"没有"}}
 					</view>
 				</view>
 			</view>
@@ -178,20 +178,20 @@
 			</view>
 		</view>
 
-		<view class="card">
+		<view class="card" v-if="info.protect_valid">
 			<view class="row">
 				<view class="row half">
-					<image src="" style="width: 50rpx;height: 50rpx;"></image>
-					<view>宠物安心保</view>
-					<image src="" style="width: 50rpx;height: 50rpx;"></image>
+					<image src="http://pet.hdlkeji.com/assets/static/detaila.png" style="width: 30rpx;height: 30rpx;"></image>
+					<view style="margin: 0 20rpx;">宠物安心保</view>
+					<image src="http://pet.hdlkeji.com/assets/static/1/29.png" style="width: 30rpx;height: 30rpx;"></image>
 				</view>
-				<view class="">
-					1111
+				<view class="row half yellow">
+					生效中
 				</view>
 			</view>
 			<view class="row">
 				<view class="name">
-					1111
+					{{info.protect_amount}}保{{info.protect_max}}
 				</view>
 			</view>
 		</view>
@@ -252,7 +252,7 @@
 						取件费
 					</view>
 					<view class="text red">
-						{{info.current_sender_order.fee_1}}
+						{{info.current_send_order.fee_1}}
 					</view>
 				</view>
 				<view class="row half">
@@ -260,7 +260,7 @@
 						派送费
 					</view>
 					<view class="text red">
-						{{info.current_sender_order.fee_3}}
+						{{info.current_send_order.fee_3}}
 					</view>
 				</view>
 			</view>
@@ -270,7 +270,7 @@
 						运输费
 					</view>
 					<view class="text red">
-						{{info.current_sender_order.fee_2}}
+						{{info.current_send_order.fee_2}}
 					</view>
 				</view>
 				<view class="row half">
@@ -278,7 +278,7 @@
 						寄养费
 					</view>
 					<view class="text red">
-						{{info.current_sender_order.fee_5}}
+						{{info.current_send_order.fee_5}}
 					</view>
 				</view>
 			</view>
@@ -288,7 +288,7 @@
 						宠具费
 					</view>
 					<view class="text red">
-						{{info.current_sender_order.fee_4}}
+						{{info.current_send_order.fee_4}}
 					</view>
 				</view>
 				<view class="row half">
@@ -296,7 +296,7 @@
 						其他
 					</view>
 					<view class="text red">
-						{{info.current_sender_order.fee_6}}
+						{{info.current_send_order.fee_6}}
 					</view>
 				</view>
 			</view>
@@ -306,7 +306,7 @@
 						总计
 					</view>
 					<view class="text red">
-						{{info.current_sender_order.real_amount}}
+						{{info.current_send_order.fee_total}}
 					</view>
 				</view>
 			</view>
@@ -354,7 +354,7 @@
 				</view>
 			</view>
 			<view class="image">
-				<image src="" class="image-dom" v-for="(item,index) in info.refund_images"></image>
+				<image :src="item" class="image-dom" v-for="(item,index) in info.refund_images" @click="clickImage"></image>
 			</view>
 		</view>
 
@@ -363,14 +363,14 @@
 				备注信息
 			</view>
 			<view class="row">
-				<view class="name">
-					111111111
+				<view class="name" v-for="(item,key) in info.user_remark">
+					{{item.txt}}
 				</view>
 			</view>
 		</view>
 
 		<view class="bottom-btn">
-			<view class="buttom-dom" @click="create" v-if="info.status === 1">
+			<view class="buttom-dom" @click="create(info.id)" v-if="info.status === 1">
 				立即接单
 			</view>
 			<view class="buttom-dom" @click="video(0,1,info.id)"
@@ -396,20 +396,53 @@
 <script>
 	export default {
 		data() {
-			return {
+			return {
+				// 是否是管理员
+				isAdmin: false,
 				info: {}
 			}
+		},
+		onShow() {
+			this.isAdmin = getApp().globalData.isAdmin
+			this.getData(id);
 		},
 		onLoad(e) {
-			// let info = JSON.parse(decodeURIComponent(e.info))
-			let id = e.id
-			// this.info = info;
+			let id = e.id
+			this.isAdmin = getApp().globalData.isAdmin
 			this.getData(id);
 		},
-		methods: {
+		methods: {
+			// 点击查看图片
+			clickImage(){
+				uni.previewImage({
+					urls:this.info.refund_images
+				})
+			},
+			// 点击立即接单
+			create(id) {
+				this.request("/sender_order_controller/get", {
+					id: id
+				}, "POST").then(res => {
+					if (res.code === 1) {
+						this.$u.toast('接单成功')
+						setTimeout(function() {
+							uni.navigateBack({
+								delta:1
+							})
+						}, 2000);
+					}
+				})
+			},
 			// 获取订单信息
-			getData(id) {
-				this.request("/sender_order_controller/detail", {
+			getData(id) {
+				// 判断是否是管理员
+				let url = '';
+				if(!this.isAdmin){
+					url = "/sender_order_controller/detail"
+				}else{
+					url = "/admin_order/order_detail"
+				}
+				this.request(url, {
 					id: id
 				}, "GET").then(res => {
 					console.log(res)
@@ -421,9 +454,24 @@
 			// 点击上传视频
 			video(status, type, id) {
 				// status 的订单状态 10取宠视频 20 运输视频 30送宠视频 
-				// type 1 备注 2上传更多 3上传取宠视频 4上传运输视频 5上传送达视频
-				uni.navigateTo({
-					url: "./video?status=" + status + "&type=" + type + "&id=" + id
+				// type 1 备注 2上传更多 3上传取宠视频 4上传运输视频 5上传送达视频
+				// function gotoPage(){
+				// 	uni.navigateTo({
+				// 		url: "./video?status=" + status + "&type=" + type + "&id=" + id
+				// 	})
+				// }
+				// if(type === 3){
+				// 	uni.showModal({
+				// 		title:"确认宠物已到达正在配送?",
+				// 		success(res) {
+				// 			if(res.confirm){
+				// 				gotoPage()
+				// 			}
+				// 		}
+				// 	})
+				// }
+				uni.navigateTo({
+					url: "./video?status=" + status + "&type=" + type + "&id=" + id
 				})
 			}
 		}
@@ -434,8 +482,14 @@
 	.content {
 		padding-top: 40rpx;
 		padding-bottom: 5vh;
+	}
+	.yellow{
+		color: #F6B403;
+		display: flex;
+		flex-direction: row;
+		align-items: center;
+		justify-content: flex-end !important;
 	}
-
 	.row {
 		justify-content: flex-start;
 	}
@@ -600,15 +654,16 @@
 		justify-content: flex-end;
 
 		.buttom-dom {
-			height: 80rpx;
-			width: 20%;
+			height: 70rpx;
+			min-width: 20%;
 			background-color: #F6B301;
 			color: #FFFFFF;
 			text-align: center;
-			line-height: 80rpx;
+			line-height: 70rpx;
 			color: #FFFFFF;
-			border-radius: 80rpx;
-			margin: 0 40rpx;
+			border-radius: 70rpx;
+			margin: 0 40rpx;
+			padding: 0 10rpx;
 		}
 	}
 </style>

+ 437 - 369
pages/order/order.vue

@@ -1,357 +1,350 @@
 <template>
-	<view class="content">
+	<view class="content" :style="'padding-top:'+ headerHeight+'px'">
 		<uHeader ref="toRefresh" :userinfo="userinfo" />
 		<view class="menu-top">
 			<u-tabs :list="list" name="cate_name" count="cate_count" :is-scroll="false" :current="current"
 				@change="change" bg-color="#F7E8CB" active-color="#E68500"></u-tabs>
-		</view>
-		<swiper :interval="3000" :duration="1000" :current="current" class="order-list-box" @change="touchChange">
-			<swiper-item style="height: 100%;overflow-y: scroll;">
-				<view class="noOrder" v-if="data.data.length < 1">
-					暂无订单~~
-				</view>
-				<view class="card" @click="info(item)" v-for="(item,index) in data.data" :key="index">
-					<view class="row center">
-						<view class="big-text">
-							{{item.from_city}}
-						</view>
-						<view class="image">
-							-
-						</view>
-						<view class="big-text">
-							{{item.to_city}}
-						</view>
-					</view>
-					<view class="row">
-						<view class="row half">
-							<view class="name">
-								宠物类别
-							</view>
-							<view class="text">
-								{{item.pet_category}}
-							</view>
-						</view>
-						<view class="row half">
-							<view class="name">
-								宠物规格
-							</view>
-							<view class="text">
-								{{item.spec}}
-							</view>
-						</view>
-					</view>
-					<view class="row">
-						<view class="row half" style="width: 100%;">
-							<view class="name">
-								取宠时间
-							</view>
-							<view class="text">
-								{{item.agree_date}}
-								{{item.agree_time}}
-							</view>
-						</view>
-					</view>
-					<view class="row">
-						<view class="row half" style="width: 100%;">
-							<view class="name">
-								订单号
-							</view>
-							<view class="text">
-								{{item.no}}
-							</view>
-						</view>
-					</view>
-					<view class="row border" v-if="isAdmin">
-						<view class="btn">
-							拒绝
-						</view>
-						<view class="btn">
-							备注
-						</view>
-						<view class="btn">
-							结算
-						</view>
-					</view>
-					<view class="row border" v-if="!isAdmin">
-						<view class="btn" @click.stop="getOrder(item.id)" >
-							立即接单
-						</view>
-					</view>
-				</view>
-			</swiper-item>
-			<swiper-item style="height: 100%;overflow-y: scroll;">
-				<view class="noOrder" v-if="data.data.length < 1">
-					暂无订单~~
-				</view>
-				<view class="card" @click="info(item)" v-for="(item,index) in data.data" :key="index">
-					<view class="row center">
-						<view class="big-text">
-							{{item.from_city}}
-						</view>
-						<view class="image">
-							-
-						</view>
-						<view class="big-text">
-							{{item.to_city}}
-						</view>
-					</view>
-					<view class="row">
-						<view class="row half">
-							<view class="name">
-								宠物类别
-							</view>
-							<view class="text">
-								{{item.pet_category}}
-							</view>
-						</view>
-						<view class="row half">
-							<view class="name">
-								宠物规格
-							</view>
-							<view class="text">
-								{{item.spec}}
-							</view>
-						</view>
+			<swiper :interval="3000" :duration="1000" :current="current" class="order-list-box" @change="touchChange">
+				<!-- 待接单 -->
+				<swiper-item style="height: 100%;overflow-y: scroll;">
+					<view class="noOrder" v-if="data.data.length < 1">
+						暂无订单~~
 					</view>
-					<view class="row">
-						<view class="row half" style="width: 100%;">
-							<view class="name">
-								取宠时间
-							</view>
-							<view class="text">
-								{{item.agree_date}}
-								{{item.agree_time}}
+					<view class="card" @click="info(item)" v-for="(item,index) in data.data" :key="index">
+						<view class="row center">
+							<view class="big-text">
+								{{item.from_city}}
+							</view>
+							<view class="image">
+								<image src="http://pet.hdlkeji.com/assets/static/1/95.png" style="width: 50rpx;height: 20rpx;"></image>
+							</view>
+							<view class="big-text">
+								{{item.to_city}}
+							</view>
+						</view>
+						<view class="row">
+							<view class="row half">
+								<view class="name">
+									宠物类别
+								</view>
+								<view class="text">
+									{{item.pet_category}}
+								</view>
+							</view>
+							<view class="row half">
+								<view class="name">
+									宠物规格
+								</view>
+								<view class="text">
+									{{item.spec}}
+								</view>
+							</view>
+						</view>
+						<view class="row">
+							<view class="row half" style="width: 100%;">
+								<view class="name">
+									取宠时间
+								</view>
+								<view class="text">
+									{{item.agree_date}}
+									{{item.agree_time}}
+								</view>
+							</view>
+						</view>
+						<view class="row">
+							<view class="row half" style="width: 100%;">
+								<view class="name">
+									订单号
+								</view>
+								<view class="text">
+									{{item.no}}
+								</view>
+							</view>
+						</view>
+						<!--  如果是配送员 接 收 都是接单操作 -->
+						<view class="row border" v-if="!isAdmin">
+							<view class="btn" @click.stop="getOrder(item.id)">
+								立即接单
 							</view>
 						</view>
 					</view>
-					<view class="row">
-						<view class="row half" style="width: 100%;">
-							<view class="name">
-								订单号
-							</view>
-							<view class="text">
-								{{item.no}}
-							</view>
-						</view>
+				</swiper-item>
+				<!-- 进行中 -->
+				<swiper-item style="height: 100%;overflow-y: scroll;">
+					<view class="noOrder" v-if="data.data.length < 1">
+						暂无订单~~
 					</view>
-					<view class="row border" v-if="isAdmin">
-						<view class="btn">
-							拒绝
+					<view class="card" @click="info(item)" v-for="(item,index) in data.data" :key="index">
+						<view class="row center">
+							<view class="big-text">
+								{{item.from_city}}
+							</view>
+							<view class="image">
+								<image src="http://pet.hdlkeji.com/assets/static/1/95.png" style="width: 40rpx;height: 20rpx;"></image>
+							</view>
+							<view class="big-text">
+								{{item.to_city}}
+							</view>
+						</view>
+						<view class="row">
+							<view class="row half">
+								<view class="name">
+									宠物类别
+								</view>
+								<view class="text">
+									{{item.pet_category}}
+								</view>
+							</view>
+							<view class="row half">
+								<view class="name">
+									宠物规格
+								</view>
+								<view class="text">
+									{{item.spec}}
+								</view>
+							</view>
+						</view>
+						<view class="row">
+							<view class="row half" style="width: 100%;">
+								<view class="name">
+									取宠时间
+								</view>
+								<view class="text">
+									{{item.agree_date}}
+									{{item.agree_time}}
+								</view>
+							</view>
+						</view>
+						<view class="row">
+							<view class="row half" style="width: 100%;">
+								<view class="name">
+									订单号
+								</view>
+								<view class="text">
+									{{item.no}}
+								</view>
+							</view>
+						</view>
+						<!-- 判断位配送员 -->
+						<view class="row border" v-if="!isAdmin">
+							<!-- 判断已经接单 并且 配送员位取宠人 -->
+							<view class="btn" v-if="item.status === 10 && item.current_send_order.type === 1">
+								上传取宠视频
+							</view>
+							<view class="btn" v-if="item.status === 20 && item.current_send_order.type === 1">
+								上传运宠视频
+							</view>
+							<!-- 判断已经接单 并且 配送员位取宠人 -->
+							<view class="btn" v-if="item.status === 30 && item.current_send_order.type === 2">
+								上传送达视频
+							</view>
+							
 						</view>
-					</view>
-					<view class="row border" v-if="!isAdmin">
-						<view class="btn" v-if="item.status === 10">
-							上传取宠视频
-						</view>
 					</view>
-				</view>
-			</swiper-item>
-			<swiper-item style="height: 100%;overflow-y: scroll;">
-				<view class="noOrder" v-if="data.data.length < 1">
-					暂无订单~~
-				</view>
-				<view class="card" @click="info(item)" v-for="(item,index) in data.data" :key="index">
-					<view class="row center">
-						<view class="big-text">
-							{{item.from_city}}
-						</view>
-						<view class="image">
-							-
-						</view>
-						<view class="big-text">
-							{{item.to_city}}
-						</view>
+				</swiper-item>
+				<!-- 已完成 -->
+				<swiper-item style="height: 100%;overflow-y: scroll;">
+					<view class="noOrder" v-if="data.data.length < 1">
+						暂无订单~~
 					</view>
-					<view class="row">
-						<view class="row half">
-							<view class="name">
-								宠物类别
+					<view class="card" @click="info(item)" v-for="(item,index) in data.data" :key="index">
+						<view class="row center">
+							<view class="big-text">
+								{{item.from_city}}
 							</view>
-							<view class="text">
-								{{item.pet_category}}
+							<view class="image">
+								<image src="http://pet.hdlkeji.com/assets/static/1/95.png" style="width: 50rpx;height: 20rpx;"></image>
 							</view>
-						</view>
-						<view class="row half">
-							<view class="name">
-								宠物规格
-							</view>
-							<view class="text">
-								{{item.spec}}
+							<view class="big-text">
+								{{item.to_city}}
 							</view>
 						</view>
-					</view>
-					<view class="row">
-						<view class="row half" style="width: 100%;">
-							<view class="name">
-								取宠时间
+						<view class="row">
+							<view class="row half">
+								<view class="name">
+									宠物类别
+								</view>
+								<view class="text">
+									{{item.pet_category}}
+								</view>
 							</view>
-							<view class="text">
-								{{item.agree_date}}
-								{{item.agree_time}}
+							<view class="row half">
+								<view class="name">
+									宠物规格
+								</view>
+								<view class="text">
+									{{item.spec}}
+								</view>
 							</view>
 						</view>
-					</view>
-					<view class="row">
-						<view class="row half" style="width: 100%;">
-							<view class="name">
-								订单号
+						<view class="row">
+							<view class="row half" style="width: 100%;">
+								<view class="name">
+									取宠时间
+								</view>
+								<view class="text">
+									{{item.agree_date}}
+									{{item.agree_time}}
+								</view>
 							</view>
-							<view class="text">
-								{{item.no}}
-							</view>
-						</view>
-					</view>
-					<view class="row border" v-if="!isAdmin">
-						<view class="btn">
-							拒绝
-						</view>
-						<view class="btn">
-							备注
-						</view>
-						<view class="btn">
-							结算
-						</view>
-					</view>
-				</view>
-			</swiper-item>
-			<swiper-item style="height: 100%;overflow-y: scroll;">
-				<view class="noOrder" v-if="data.data.length < 1">
-					暂无订单~~
-				</view>
-				<view class="card" @click="info(item)" v-for="(item,index) in data.data" :key="index">
-					<view class="row center">
-						<view class="big-text">
-							{{item.from_city}}
 						</view>
-						<view class="image">
-							-
-						</view>
-						<view class="big-text">
-							{{item.to_city}}
-						</view>
-					</view>
-					<view class="row">
-						<view class="row half">
-							<view class="name">
-								宠物类别
-							</view>
-							<view class="text">
-								{{item.pet_category}}
+						<view class="row">
+							<view class="row half" style="width: 100%;">
+								<view class="name">
+									订单号
+								</view>
+								<view class="text">
+									{{item.no}}
+								</view>
 							</view>
 						</view>
-						<view class="row half">
-							<view class="name">
-								宠物规格
-							</view>
-							<view class="text">
-								{{item.spec}}
-							</view>
-						</view>
-					</view>
-					<view class="row">
-						<view class="row half" style="width: 100%;">
-							<view class="name">
-								取宠时间
+						<view class="row border" v-if="isAdmin">
+							<view class="btn" @click.stop="refuse(item.id)">
+								拒绝
 							</view>
-							<view class="text">
-								{{item.agree_date}}
-								{{item.agree_time}}
+							<view class="btn" @click.stop="push(item.id)">
+								结算
 							</view>
 						</view>
-					</view>
-					<view class="row">
-						<view class="row half" style="width: 100%;">
-							<view class="name">
-								订单号
-							</view>
-							<view class="text">
-								{{item.no}}
+						<view class="row border" v-if="!isAdmin">
+							<view class="btn" @click.stop="settle(item.id)">
+								申请结算
 							</view>
 						</view>
 					</view>
-					<view class="row border" v-if="isAdmin">
-						<view class="btn">
-							拒绝
-						</view>
-						<view class="btn">
-							备注
-						</view>
-						<view class="btn">
-							结算
-						</view>
-					</view>
-				</view>
-			</swiper-item>
-			<swiper-item style="height: 100%;overflow-y: scroll;">
-				<view class="noOrder" v-if="data.data.length < 1">
-					暂无订单~~
-				</view>
-				<view class="card" @click="info(item)" v-for="(item,index) in data.data" :key="index">
-					<view class="row center">
-						<view class="big-text">
-							{{item.from_city}}
-						</view>
-						<view class="image">
-							-
-						</view>
-						<view class="big-text">
-							{{item.to_city}}
-						</view>
+				</swiper-item>
+				<!--  已结算 -->
+				<swiper-item style="height: 100%;overflow-y: scroll;">
+					<view class="noOrder" v-if="data.data.length < 1">
+						暂无订单~~
 					</view>
-					<view class="row">
-						<view class="row half">
-							<view class="name">
-								宠物类别
-							</view>
-							<view class="text">
-								{{item.pet_category}}
-							</view>
-						</view>
-						<view class="row half">
-							<view class="name">
-								宠物规格
-							</view>
-							<view class="text">
-								{{item.spec}}
+					<view class="card" @click="info(item)" v-for="(item,index) in data.data" :key="index">
+						<view class="row center">
+							<view class="big-text">
+								{{item.from_city}}
+							</view>
+							<view class="image">
+								<image src="http://pet.hdlkeji.com/assets/static/1/95.png" style="width: 50rpx;height: 20rpx;"></image>
+							</view>
+							<view class="big-text">
+								{{item.to_city}}
+							</view>
+						</view>
+						<view class="row">
+							<view class="row half">
+								<view class="name">
+									宠物类别
+								</view>
+								<view class="text">
+									{{item.pet_category}}
+								</view>
+							</view>
+							<view class="row half">
+								<view class="name">
+									宠物规格
+								</view>
+								<view class="text">
+									{{item.spec}}
+								</view>
+							</view>
+						</view>
+						<view class="row">
+							<view class="row half" style="width: 100%;">
+								<view class="name">
+									取宠时间
+								</view>
+								<view class="text">
+									{{item.agree_date}}
+									{{item.agree_time}}
+								</view>
+							</view>
+						</view>
+						<view class="row">
+							<view class="row half" style="width: 100%;">
+								<view class="name">
+									订单号
+								</view>
+								<view class="text">
+									{{item.no}}
+								</view>
+							</view>
+						</view>
+						<view class="row border" v-if="isAdmin">
+							<view class="btn" @click.stop="del(item.id)">
+								删除
 							</view>
+						</view>
+						<view class="row border" v-if="!isAdmin">
+							<view class="btn"  @click.stop="del(item.id)">
+								删除
+							</view>
 						</view>
 					</view>
-					<view class="row">
-						<view class="row half" style="width: 100%;">
-							<view class="name">
-								取宠时间
-							</view>
-							<view class="text">
-								{{item.agree_date}}
-								{{item.agree_time}}
-							</view>
-						</view>
+				</swiper-item>
+				<swiper-item style="height: 100%;overflow-y: scroll;">
+					<view class="noOrder" v-if="data.data.length < 1">
+						暂无订单~~
 					</view>
-					<view class="row">
-						<view class="row half" style="width: 100%;">
-							<view class="name">
-								订单号
-							</view>
-							<view class="text">
-								{{item.no}}
+					<view class="card" @click="info(item)" v-for="(item,index) in data.data" :key="index">
+						<view class="row center">
+							<view class="big-text">
+								{{item.from_city}}
+							</view>
+							<view class="image">
+								<image src="http://pet.hdlkeji.com/assets/static/1/95.png" style="width: 50rpx;height: 20rpx;"></image>
+							</view>
+							<view class="big-text">
+								{{item.to_city}}
+							</view>
+						</view>
+						<view class="row">
+							<view class="row half">
+								<view class="name">
+									宠物类别
+								</view>
+								<view class="text">
+									{{item.pet_category}}
+								</view>
+							</view>
+							<view class="row half">
+								<view class="name">
+									宠物规格
+								</view>
+								<view class="text">
+									{{item.spec}}
+								</view>
+							</view>
+						</view>
+						<view class="row">
+							<view class="row half" style="width: 100%;">
+								<view class="name">
+									取宠时间
+								</view>
+								<view class="text">
+									{{item.agree_date}}
+									{{item.agree_time}}
+								</view>
+							</view>
+						</view>
+						<view class="row">
+							<view class="row half" style="width: 100%;">
+								<view class="name">
+									订单号
+								</view>
+								<view class="text">
+									{{item.no}}
+								</view>
+							</view>
+						</view>
+						<view class="row border" v-if="isAdmin">
+							<view class="btn">
+								拒绝
 							</view>
 						</view>
 					</view>
-					<view class="row border" v-if="isAdmin">
-						<view class="btn">
-							拒绝
-						</view>
-						<view class="btn">
-							备注
-						</view>
-						<view class="btn">
-							结算
-						</view>
-					</view>
-				</view>
-			</swiper-item>
-		</swiper>
-
+				</swiper-item>
+			</swiper>
+		</view>
 
 
 		<!-- 弹窗 -->
@@ -371,6 +364,7 @@
 				</view>
 			</view>
 		</u-popup>
+
 	</view>
 </template>
 
@@ -410,11 +404,13 @@
 				// 弹窗
 				show: false,
 				page: 1,
-				limit: 10,
+				limit: 100,
 				type: 1,
 				data: {},
 				// 是否是管理员
-				isAdmin: false
+				isAdmin: false,
+				// 顶部高度
+				headerHeight: ''
 			}
 		},
 		watch: {
@@ -422,53 +418,121 @@
 				this.getData()
 			}
 		},
+		created() {
+			uni.getSystemInfo({
+				success: (res) => {
+					const menuButton = uni.getMenuButtonBoundingClientRect() // 胶囊
+					const navBarPadding = (menuButton.top - res.statusBarHeight) * 2
+					let statusBarHeight = res.statusBarHeight
+					let navHeight = menuButton.height + navBarPadding
+					this.headerHeight = navHeight + statusBarHeight
+				}
+			})
+		},
 		onLoad() {
-			this.getData()
-			// 获取订单数量
+			this.getData()
+			// 获取订单数量
 			this.getDataNum()
 			let data = getApp().globalData
-			this.isAdmin = data.isAdmin
-			if(!this.isAdmin){
-				this.getInfo()
+			this.isAdmin = data.isAdmin
+			if (!this.isAdmin) {
+				this.getInfo()
 			}
-		},
-		onShow() {
-			this.getDataNum()
 		},
-		methods: {
-			// 获取会员信息
-			getInfo(){
-				this.request('/user/index',{},"GET").then(res=>{
-					if(res.code ===  1){
-						if(res.data.need_verification){
-							this.show = true
-						}
-					}
-				})
+		onShow() {
+			this.getData()
+			this.getDataNum()
+		},
+		onPullDownRefresh() {
+			this.getDataNum()
+			this.getData()
+		},
+		methods: {
+			// 删除订单
+			del(id) {
+				let url = ""
+				if (this.isAdmin) {
+					url = "/admin_order/order_delete"
+				} else {
+					url = "/sender_order_controller/delete"
+				}
+				this.request(url, {
+					id: id
+				}, "GET").then(res => {
+					if (res.code === 1) {
+						this.getData()
+						this.getDataNum()
+					}
+				})
+			},
+			// 拒绝结算
+			refuse(id) {
+				this.request("/admin_order/deal_settle", {
+					id: id,
+					status: 2
+				}, "GET").then(res => {
+					if (res.code === 1) {
+						this.getData()
+						this.getDataNum()
+					}
+				})
+			},
+			// 结算
+			push(id) {
+				this.request("/admin_order/deal_settle", {
+					id: id,
+					status: 1
+				}, "GET").then(res => {
+					if (res.code === 1) {
+						this.getData()
+						this.getDataNum()
+					}
+				})
+			},
+			// 申请结算
+			settle(id) {
+				// this.requset("/sender_order_controller/settle",{
+
+				// },"POST").then(res=>{
+				// 	console.log(res)
+				// })
+				uni.navigateTo({
+					url: './settle?id=' + id
+				})
+			},
+			// 获取会员信息
+			getInfo() {
+				this.request('/user/index', {}, "GET").then(res => {
+					if (res.code === 1) {
+						if (res.data.need_verification) {
+							this.show = true
+						}
+					}
+				})
 			},
 			// 点击立即接单
 			getOrder(id) {
 				this.request("/sender_order_controller/get", {
 					id: id
 				}, "POST").then(res => {
-					if(res.code === 1){
-						this.getData()
-						this.getDataNum()
+					if (res.code === 1) {
+						this.getData()
+						this.getDataNum()
+					}
+				})
+			},
+			// 获取订单数量
+			getDataNum() {
+				this.request("/sender_order_controller/nums", {}, "GET").then(res => {
+					console.log(res)
+					if (res.code === 1) {
+						this.list[0].cate_count = res.data[1]
+						this.list[1].cate_count = res.data[2]
+						this.list[2].cate_count = res.data[3]
+						this.list[3].cate_count = res.data[4]
+						this.list[4].cate_count = res.data[5]
 					}
 				})
-			},
-			// 获取订单数量
-			getDataNum(){
-				this.request("/sender_order_controller/nums",{},"GET").then(res=>{
-					console.log(res)
-					if(res.code === 1){
-						this.list[0].cate_count = res.data[1]
-						this.list[1].cate_count = res.data[2]
-						this.list[2].cate_count = res.data[3]
-						this.list[3].cate_count = res.data[4]
-						this.list[4].cate_count = res.data[5]
-					}
-				})
 			},
 			// 获取订单列表
 			getData() {
@@ -483,6 +547,7 @@
 					limit: this.limit,
 					type: this.type
 				}, "GET").then(res => {
+					uni.stopPullDownRefresh();
 					if (res.code === 1) {
 						this.data = res.data
 						this.list[this.current].cate_count = res.data.total
@@ -533,19 +598,19 @@
 
 <style lang="scss">
 	.content {
-		padding-top: 260rpx;
+		background-color: #F8F8F8;
 
 		.order-list-box {
 			height: 80vh;
+			background-color: #F8F8F8;
+			padding-top: 20rpx;
+
 		}
 	}
 
 	.menu-top {
-		position: fixed;
-		top: 140rpx;
 		width: 100%;
 		background-color: #FFFFFF;
-		padding: 10rpx;
 
 		.menu-list {
 			background-color: #F7E8CB;
@@ -606,8 +671,10 @@
 			background-color: #F6B301;
 			color: #FFFFFF;
 			margin: 20rpx 20rpx 0 20rpx;
-			padding: 20rpx 30rpx;
-			border-radius: 50rpx;
+			padding: 10rpx 30rpx;
+			border-radius: 50rpx;
+			min-width: 120rpx;
+			text-align: center;
 		}
 	}
 
@@ -617,22 +684,23 @@
 	}
 
 	// 弹窗
-	.u-update-content {
+	.u-update-content {
 		width: 500rpx;
 		height: 650rpx;
-		padding: 40rpx;
-		background-image: url("http://pet.hdlkeji.com/assets/static/1/110.png");
+		padding: 40rpx;
+		background-image: url("http://pet.hdlkeji.com/assets/static/1/110.png");
 		background-size: 100% 100%;
 
 		.u-update-top {
-			height: 50%;
-			display: flex;
-			position: relative;
-			.top-image{
-				height: 300rpx;
-				width: 300rpx;
-				position: absolute;
-				left: 100rpx;
+			height: 50%;
+			display: flex;
+			position: relative;
+
+			.top-image {
+				height: 300rpx;
+				width: 300rpx;
+				position: absolute;
+				left: 100rpx;
 			}
 		}
 

+ 13 - 14
pages/order/perfect.vue

@@ -56,11 +56,11 @@
 					return false
 				}
 				if (this.cardRight === '') {
-					this.$u.toast('请上传身份证面')
+					this.$u.toast('请上传身份证面')
 					return false
 				}
 				if (this.imgBottom === '') {
-					this.$u.toast('请上传身份证正面')
+					this.$u.toast('请上传营业执照')
 					return false
 				}
 
@@ -70,12 +70,12 @@
 					license: this.imgBottom,
 				}, "POST").then(res => {
 					if (res.code === 1) {
-						this.$u.toast('完善成功')
-						setTimeout(()=>{
-							uni.navigateBack({
-								delta:1
-							})
-						},2000)
+						this.$u.toast('完善成功')
+						setTimeout(() => {
+							uni.navigateBack({
+								delta: 1
+							})
+						}, 2000)
 					}
 				})
 
@@ -85,24 +85,23 @@
 				let _this = this
 				uni.chooseImage({
 					success(e) {
-						console.log(e)
 						uni.uploadFile({
-							url: 'http://pet.hdlkeji.com/api/common/upload', //仅为示例,非真实的接口地址
+							url: 'https://pet.hdlkeji.com/api/common/upload', //仅为示例,非真实的接口地址
 							filePath: e.tempFilePaths[0],
 							header: {
 								"token": getToken()
 							},
 							name: 'file',
 							success: (res) => {
-								console.log(res, 11111)
+								let data = JSON.parse(decodeURIComponent(res.data))
 								if (type === 1) {
-									_this.cardLeft = e.tempFilePaths[0]
+									_this.cardLeft = data.data.url
 								}
 								if (type === 2) {
-									_this.cardRight = e.tempFilePaths[0]
+									_this.cardRight = data.data.url
 								}
 								if (type === 3) {
-									_this.imgBottom = e.tempFilePaths[0]
+									_this.imgBottom = data.data.url
 								}
 							}
 						})

+ 167 - 0
pages/order/settle.vue

@@ -0,0 +1,167 @@
+<template>
+	<view class="content">
+		<view class="card">
+			<u-form :model="form" ref="uForm">
+				<u-form-item label-align="right" label="取件费:" prop="fee_1" label-width="150">
+					<input v-model="form.fee_1" @blur="inputed" />
+				</u-form-item>
+				<u-form-item label-align="right" label="运输费:" prop="fee_2" label-width="150">
+					<input v-model="form.fee_2" @blur="inputed" />
+				</u-form-item>
+				<u-form-item label-align="right" label="派送费:" prop="fee_3" label-width="150">
+					<input v-model="form.fee_3" @blur="inputed" />
+				</u-form-item>
+				<u-form-item label-align="right" label="笼具费:" prop="fee_4" label-width="150">
+					<input v-model="form.fee_4" @blur="inputed" />
+				</u-form-item>
+				<u-form-item label-align="right" label="寄养费:" prop="fee_5" label-width="150">
+					<input v-model="form.fee_5" @blur="inputed" />
+				</u-form-item>
+				<u-form-item label-align="right" label="其他:" prop="fee_6" label-width="150">
+					<input v-model="form.fee_6" @blur="inputed" />
+				</u-form-item>
+				<u-form-item label-align="right" label="合计" label-width="150" :border-bottom="false">
+					<input disabled="true" v-model="money" />
+				</u-form-item>
+			</u-form>
+		</view>
+		<view class="bottom-btn">
+			<view class="buttom-dom" @click="push">
+				确定
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import {
+		numAdd
+	} from '@/utils/operation.js'
+	export default {
+		data() {
+			return {
+				// 订单id
+				id: '',
+				// 合计
+				money: '0.00',
+				// 取件费 运输费 派送费 笼具费 寄养费 其他费用
+				form: {
+					fee_1: '',
+					fee_2: '',
+					fee_3: '',
+					fee_4: '',
+					fee_5: '',
+					fee_6: '',
+				},
+				rules: {
+					fee_1: [{
+						required: true,
+						message: '请输入取件费',
+						trigger: ['change','blur'],
+					}],
+					fee_2: [{
+						required: true,
+						message: '请输入运输费',
+						trigger: ['change','blur'],
+					}],
+					fee_3: [{
+						required: true,
+						message: '请输入派送费',
+						trigger: ['change','blur'],
+					}],
+					fee_4: [{
+						required: true,
+						message: '请输入笼具费',
+						trigger: ['change','blur'],
+					}],
+					fee_5: [{
+						required: true,
+						message: '请输入寄养费',
+						trigger: ['change','blur'],
+					}],
+					fee_6: [{
+						required: true,
+						message: '请输入其他费用',
+						trigger: ['change','blur'],
+					}],
+				}
+			}
+		},
+		onReady() {
+			this.$refs.uForm.setRules(this.rules);
+		},
+		onLoad(e) {
+			this.id = e.id
+		},
+		methods: {
+			// 输入完成计算合计金额
+			inputed() {
+				let money = 0;
+				for (let s of Object.keys(this.form)) {
+					money = numAdd(money, this.form[s])
+				}
+				this.money = money
+			},
+			// 提交
+			push() {
+				// if (this.money === '') {
+				// 	this.$u.toast('请输入计算金额')
+				// 	return false
+				// }
+				this.$refs.uForm.validate(valid => {
+					if(valid){
+						let data = this.form;
+						data.id = this.id;
+						this.request('/sender_order_controller/settle', data, "GET").then(res => {
+							console.log(res)
+							if(res.code === 1){
+								this.$u.toast('提交成功')
+								setTimeout(()=>{
+									uni.navigateBack({
+										delta:1
+									})
+								},2000)
+							}
+						})
+					}
+				})
+				
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.content {
+		padding-top: 40rpx;
+	}
+
+	.card {
+		width: 93%;
+		margin: 0 auto;
+		background-color: #FFFFFF;
+		padding: 30rpx;
+		border-radius: 20rpx;
+	}
+
+	.bottom-btn {
+		width: 100vw;
+		height: 10vh;
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+		justify-content: center;
+		margin-top: 30rpx;
+
+		.buttom-dom {
+			height: 80rpx;
+			width: 93%;
+			background-color: #F6B301;
+			color: #FFFFFF;
+			text-align: center;
+			line-height: 80rpx;
+			color: #FFFFFF;
+			border-radius: 80rpx;
+		}
+	}
+</style>

+ 133 - 0
pages/order/transport.vue

@@ -0,0 +1,133 @@
+<template>
+	<view class="content">
+		<view class="body">
+			<view class="list" style="padding-top: 20rpx;">
+				<view class="time">
+
+				</view>
+				<view class="text">
+					<view class="icon-big">
+						收
+					</view>
+					<view class="icon-text">
+						【收宠地址】{{data.addr}}
+					</view>
+				</view>
+			</view>
+			<view class="list" v-for="(item,key) in data.log" :key="key">
+				<view class="time">
+					{{$u.timeFormat(item.created_at, 'yyyy年mm月dd日 hh时MM分')}}
+				</view>
+				<view class="text">
+					<view class="icon-small"></view>
+					<view class="icon-text">
+						<view>
+							【{{item.status}}】{{item.txt}}
+						</view>
+						<view
+							style="display: flex;flex-direction: row;align-items: center;justify-content: flex-start;">
+							<video :src="iitem" controls v-for="(iitem,kkey) in item.media" :key="kkey"
+								style="width: 120rpx;height: 120rpx;margin-left: 20rpx;"></video>
+						</view>
+					</view>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				id: "",
+				data: {}
+			}
+		},
+		onLoad(e) {
+			this.id = e.id || 2
+			this.getData();
+		},
+		methods: {
+			getData() {
+				this.request("/sender_order_controller/send_detail", {
+					id: this.id
+				}, "GET").then(res => {
+					// console.log(res)
+					if (res.code === 1) {
+						this.data = res.data
+					}
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	page,
+	.content {
+		background-color: #F8F8F8;
+
+		
+
+		.body {
+			margin-top: 50rpx;
+			background-color: #FFFFFF;
+			width: 100%;
+			min-height: 100vh;
+			display: flex;
+			flex-direction: column;
+			align-items: center;
+			justify-content: flex-start;
+
+			.list {
+				width: 90%;
+				display: flex;
+				flex-direction: row;
+				align-items: center;
+				justify-content: space-between;
+
+				.time {
+					width: 20%;
+				}
+
+				.text {
+					width: 79%;
+					border-left: 6rpx #999 dotted;
+					display: flex;
+					flex-direction: row;
+					align-items: center;
+					justify-content: flex-start;
+					position: relative;
+					padding-bottom: 60rpx;
+					.icon-big {
+						width: 50rpx;
+						height: 50rpx;
+						border-radius: 50rpx;
+						background-color: #FFE3A0;
+						color: #E68500;
+						text-align: center;
+						line-height: 50rpx;
+						position: absolute;
+						left: -27rpx;
+					}
+
+					.icon-small {
+						width: 20rpx;
+						height: 20rpx;
+						background-color: #999999;
+						border-radius: 20rpx;
+						position: absolute;
+						left: -12rpx;
+					}
+
+					.icon-text {
+						margin-left: 40rpx;
+					}
+
+				}
+
+			}
+		}
+	}
+</style>

Разлика између датотеке није приказан због своје велике величине
+ 122 - 45
pages/order/video.vue


+ 5 - 1
pages/refund/refund.vue

@@ -239,7 +239,11 @@
 				})
 			},
 			// 确认反馈
-			feedbackconfirm(id) {
+			feedbackconfirm(id) {
+				if(this.feedbackconent === ""){
+					this.$u.toast('请输入反馈内容')
+					return false
+				}
 				this.request('/admin_order/deal_feedback', {
 					id: this.feedbackId,
 					body: this.feedbackconent

+ 34 - 0
pages/webview/webview.vue

@@ -0,0 +1,34 @@
+<template>
+	<rich-text :nodes="nodes"></rich-text>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				// 页面类型 1 用户协议 2 关于我们
+				type:1,
+				// 文本内容
+				nodes:''
+			}
+		},
+		onLoad(e) {
+			// 设置页面类型
+			this.type = Number(e.type)
+			this.getData()
+		},
+		methods: {
+			getData(){
+				this.request('/common/agreement',{id:this.type},"GET").then(res=>{
+					if(res.code ===1){
+						this.nodes = res.data
+					}
+				})
+			},
+		}
+	}
+</script>
+
+<style>
+
+</style>

Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/u-header.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/Delivery/Delivery.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/Delivery/create.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/Delivery/location.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/Marketing/Marketing.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/Marketing/coupon.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/Marketing/vipers.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mine/Withdrawal.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mine/mine.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mine/password.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/order/info.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/order/order.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/order/perfect.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/order/settle.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/order/transport.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/order/video.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/refund/refund.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/turnover/info.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/turnover/turnover.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/webview/webview.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-badge/u-badge.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-checkbox-group/u-checkbox-group.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-checkbox/u-checkbox.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-form-item/u-form-item.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-form/u-form.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-icon/u-icon.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-index-anchor/u-index-anchor.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-index-list/u-index-list.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-input/u-input.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-line-progress/u-line-progress.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-loading/u-loading.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-mask/u-mask.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-modal/u-modal.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-picker/u-picker.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-popup/u-popup.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-search/u-search.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-subsection/u-subsection.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-switch/u-switch.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-tabs/u-tabs.js.map


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-upload/u-upload.js.map


+ 6 - 2
unpackage/dist/dev/mp-weixin/app.json

@@ -8,8 +8,9 @@
     "pages/order/order",
     "pages/order/info",
     "pages/Marketing/Marketing",
-    "pages/Marketing/vipers",
+    "pages/order/transport",
     "pages/Marketing/coupon",
+    "pages/Marketing/vipers",
     "pages/Delivery/Delivery",
     "pages/Delivery/create",
     "pages/order/perfect",
@@ -17,7 +18,9 @@
     "pages/Delivery/location",
     "pages/mine/mine",
     "pages/mine/password",
-    "pages/mine/Withdrawal"
+    "pages/mine/Withdrawal",
+    "pages/order/settle",
+    "pages/webview/webview"
   ],
   "subPackages": [],
   "window": {
@@ -26,6 +29,7 @@
     "navigationBarBackgroundColor": "#F8F8F8",
     "backgroundColor": "#F8F8F8"
   },
+  "permission": {},
   "usingComponents": {},
   "sitemapLocation": "sitemap.json"
 }

+ 2 - 4
unpackage/dist/dev/mp-weixin/common/main.js

@@ -9,8 +9,6 @@
 "use strict";
 /* WEBPACK VAR INJECTION */(function(createApp) {__webpack_require__(/*! uni-pages */ 5);var _App = _interopRequireDefault(__webpack_require__(/*! ./App */ 6));
 
-
-
 var _request = _interopRequireDefault(__webpack_require__(/*! utils/request.js */ 12));
 
 
@@ -27,7 +25,7 @@ var _uviewUi = _interopRequireDefault(__webpack_require__(/*! uview-ui */ 17));
 
 var _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 3));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}function ownKeys(object, enumerableOnly) {var keys = Object.keys(object);if (Object.getOwnPropertySymbols) {var symbols = Object.getOwnPropertySymbols(object);if (enumerableOnly) symbols = symbols.filter(function (sym) {return Object.getOwnPropertyDescriptor(object, sym).enumerable;});keys.push.apply(keys, symbols);}return keys;}function _objectSpread(target) {for (var i = 1; i < arguments.length; i++) {var source = arguments[i] != null ? arguments[i] : {};if (i % 2) {ownKeys(Object(source), true).forEach(function (key) {_defineProperty(target, key, source[key]);});} else if (Object.getOwnPropertyDescriptors) {Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));} else {ownKeys(Object(source)).forEach(function (key) {Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));});}}return target;}function _defineProperty(obj, key, value) {if (key in obj) {Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true });} else {obj[key] = value;}return obj;}wx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__; //引入异步请求函数
 _vue.default.prototype.request = _request.default.request; //挂载到全局
-_vue.default.config.productionTip = false;_vue.default.config.productionTip = false;_vue.default.prototype.url = 'http://pet.hdlkeji.com/api';_vue.default.prototype.$EventBus = new _vue.default();_vue.default.config.productionTip = false;_App.default.mpType = 'app';
+_vue.default.config.productionTip = false;_vue.default.config.productionTip = false;_vue.default.prototype.url = 'https://pet.hdlkeji.com/api';_vue.default.prototype.$EventBus = new _vue.default();_vue.default.config.productionTip = false;_App.default.mpType = 'app';
 _vue.default.use(_uviewUi.default);
 var app = new _vue.default(_objectSpread({},
 _App.default));
@@ -106,7 +104,7 @@ __webpack_require__.r(__webpack_exports__);
 Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;var _default =
 {
   globalData: {
-    idAdmin: false },
+    isAdmin: false },
 
   onLaunch: function onLaunch() {
     console.log('App Launch');

+ 2 - 2
unpackage/dist/dev/mp-weixin/common/runtime.js

@@ -105,11 +105,11 @@
 /******/
 /******/
 /******/ 		// mini-css-extract-plugin CSS loading
-/******/ 		var cssChunks = {"components/u-header":1,"uview-ui/components/u-modal/u-modal":1,"uview-ui/components/u-picker/u-picker":1,"uview-ui/components/u-icon/u-icon":1,"uview-ui/components/u-subsection/u-subsection":1,"uview-ui/components/u-tabs/u-tabs":1,"uview-ui/components/u-popup/u-popup":1,"uview-ui/components/u-search/u-search":1,"uview-ui/components/u-switch/u-switch":1,"uview-ui/components/u-checkbox-group/u-checkbox-group":1,"uview-ui/components/u-checkbox/u-checkbox":1,"uview-ui/components/u-upload/u-upload":1,"uview-ui/components/u-index-anchor/u-index-anchor":1,"uview-ui/components/u-index-list/u-index-list":1,"uview-ui/components/u-form-item/u-form-item":1,"uview-ui/components/u-input/u-input":1,"uview-ui/components/u-form/u-form":1,"uview-ui/components/u-loading/u-loading":1,"uview-ui/components/u-badge/u-badge":1,"uview-ui/components/u-mask/u-mask":1,"uview-ui/components/u-line-progress/u-line-progress":1};
+/******/ 		var cssChunks = {"components/u-header":1,"uview-ui/components/u-modal/u-modal":1,"uview-ui/components/u-picker/u-picker":1,"uview-ui/components/u-icon/u-icon":1,"uview-ui/components/u-subsection/u-subsection":1,"uview-ui/components/u-tabs/u-tabs":1,"uview-ui/components/u-popup/u-popup":1,"uview-ui/components/u-search/u-search":1,"uview-ui/components/u-switch/u-switch":1,"uview-ui/components/u-checkbox-group/u-checkbox-group":1,"uview-ui/components/u-checkbox/u-checkbox":1,"uview-ui/components/u-index-anchor/u-index-anchor":1,"uview-ui/components/u-index-list/u-index-list":1,"uview-ui/components/u-form-item/u-form-item":1,"uview-ui/components/u-input/u-input":1,"uview-ui/components/u-form/u-form":1,"uview-ui/components/u-loading/u-loading":1,"uview-ui/components/u-badge/u-badge":1,"uview-ui/components/u-mask/u-mask":1};
 /******/ 		if(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);
 /******/ 		else if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {
 /******/ 			promises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {
-/******/ 				var href = "" + ({"components/u-header":"components/u-header","uview-ui/components/u-modal/u-modal":"uview-ui/components/u-modal/u-modal","uview-ui/components/u-picker/u-picker":"uview-ui/components/u-picker/u-picker","uview-ui/components/u-icon/u-icon":"uview-ui/components/u-icon/u-icon","uview-ui/components/u-subsection/u-subsection":"uview-ui/components/u-subsection/u-subsection","uview-ui/components/u-tabs/u-tabs":"uview-ui/components/u-tabs/u-tabs","uview-ui/components/u-popup/u-popup":"uview-ui/components/u-popup/u-popup","uview-ui/components/u-search/u-search":"uview-ui/components/u-search/u-search","uview-ui/components/u-switch/u-switch":"uview-ui/components/u-switch/u-switch","uview-ui/components/u-checkbox-group/u-checkbox-group":"uview-ui/components/u-checkbox-group/u-checkbox-group","uview-ui/components/u-checkbox/u-checkbox":"uview-ui/components/u-checkbox/u-checkbox","uview-ui/components/u-upload/u-upload":"uview-ui/components/u-upload/u-upload","uview-ui/components/u-index-anchor/u-index-anchor":"uview-ui/components/u-index-anchor/u-index-anchor","uview-ui/components/u-index-list/u-index-list":"uview-ui/components/u-index-list/u-index-list","uview-ui/components/u-form-item/u-form-item":"uview-ui/components/u-form-item/u-form-item","uview-ui/components/u-input/u-input":"uview-ui/components/u-input/u-input","uview-ui/components/u-form/u-form":"uview-ui/components/u-form/u-form","uview-ui/components/u-loading/u-loading":"uview-ui/components/u-loading/u-loading","uview-ui/components/u-badge/u-badge":"uview-ui/components/u-badge/u-badge","uview-ui/components/u-mask/u-mask":"uview-ui/components/u-mask/u-mask","uview-ui/components/u-line-progress/u-line-progress":"uview-ui/components/u-line-progress/u-line-progress"}[chunkId]||chunkId) + ".wxss";
+/******/ 				var href = "" + ({"components/u-header":"components/u-header","uview-ui/components/u-modal/u-modal":"uview-ui/components/u-modal/u-modal","uview-ui/components/u-picker/u-picker":"uview-ui/components/u-picker/u-picker","uview-ui/components/u-icon/u-icon":"uview-ui/components/u-icon/u-icon","uview-ui/components/u-subsection/u-subsection":"uview-ui/components/u-subsection/u-subsection","uview-ui/components/u-tabs/u-tabs":"uview-ui/components/u-tabs/u-tabs","uview-ui/components/u-popup/u-popup":"uview-ui/components/u-popup/u-popup","uview-ui/components/u-search/u-search":"uview-ui/components/u-search/u-search","uview-ui/components/u-switch/u-switch":"uview-ui/components/u-switch/u-switch","uview-ui/components/u-checkbox-group/u-checkbox-group":"uview-ui/components/u-checkbox-group/u-checkbox-group","uview-ui/components/u-checkbox/u-checkbox":"uview-ui/components/u-checkbox/u-checkbox","uview-ui/components/u-index-anchor/u-index-anchor":"uview-ui/components/u-index-anchor/u-index-anchor","uview-ui/components/u-index-list/u-index-list":"uview-ui/components/u-index-list/u-index-list","uview-ui/components/u-form-item/u-form-item":"uview-ui/components/u-form-item/u-form-item","uview-ui/components/u-input/u-input":"uview-ui/components/u-input/u-input","uview-ui/components/u-form/u-form":"uview-ui/components/u-form/u-form","uview-ui/components/u-loading/u-loading":"uview-ui/components/u-loading/u-loading","uview-ui/components/u-badge/u-badge":"uview-ui/components/u-badge/u-badge","uview-ui/components/u-mask/u-mask":"uview-ui/components/u-mask/u-mask"}[chunkId]||chunkId) + ".wxss";
 /******/ 				var fullhref = __webpack_require__.p + href;
 /******/ 				var existingLinkTags = document.getElementsByTagName("link");
 /******/ 				for(var i = 0; i < existingLinkTags.length; i++) {

Разлика између датотеке није приказан због своје велике величине
+ 29 - 21
unpackage/dist/dev/mp-weixin/common/vendor.js


Разлика између датотеке није приказан због своје велике величине
+ 5 - 5
unpackage/dist/dev/mp-weixin/components/u-header.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/mp-weixin/components/u-header.wxml


Разлика између датотеке није приказан због своје велике величине
+ 7 - 7
unpackage/dist/dev/mp-weixin/pages/Delivery/Delivery.js


Разлика између датотеке није приказан због своје велике величине
+ 7 - 7
unpackage/dist/dev/mp-weixin/pages/Delivery/create.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/mp-weixin/pages/Delivery/create.wxml


Разлика између датотеке није приказан због своје велике величине
+ 7 - 7
unpackage/dist/dev/mp-weixin/pages/Delivery/location.js


+ 2 - 1
unpackage/dist/dev/mp-weixin/pages/Marketing/Marketing.js

@@ -96,7 +96,7 @@ var components
 try {
   components = {
     uIcon: function() {
-      return __webpack_require__.e(/*! import() | uview-ui/components/u-icon/u-icon */ "uview-ui/components/u-icon/u-icon").then(__webpack_require__.bind(null, /*! @/uview-ui/components/u-icon/u-icon.vue */ 202))
+      return __webpack_require__.e(/*! import() | uview-ui/components/u-icon/u-icon */ "uview-ui/components/u-icon/u-icon").then(__webpack_require__.bind(null, /*! @/uview-ui/components/u-icon/u-icon.vue */ 225))
     }
   }
 } catch (e) {
@@ -194,6 +194,7 @@ var _default =
     },
     // 前往会员
     goToVipers: function goToVipers() {
+      console.log(111111);
       uni.navigateTo({
         url: "./vipers" });
 

+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/Marketing/coupon.js

@@ -96,7 +96,7 @@ var components
 try {
   components = {
     uPicker: function() {
-      return Promise.all(/*! import() | uview-ui/components/u-picker/u-picker */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uview-ui/components/u-picker/u-picker")]).then(__webpack_require__.bind(null, /*! @/uview-ui/components/u-picker/u-picker.vue */ 209))
+      return Promise.all(/*! import() | uview-ui/components/u-picker/u-picker */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uview-ui/components/u-picker/u-picker")]).then(__webpack_require__.bind(null, /*! @/uview-ui/components/u-picker/u-picker.vue */ 232))
     }
   }
 } catch (e) {

Разлика између датотеке није приказан због своје велике величине
+ 7 - 7
unpackage/dist/dev/mp-weixin/pages/Marketing/vipers.js


+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/Marketing/vipers.wxml

@@ -1 +1 @@
-<view class="content"><view class="search"><u-search vue-id="1fe8429b-1" placeholder="请输入信息搜索会员" value="{{name}}" data-event-opts="{{[['^custom',[['getData']]],['^input',[['__set_model',['','name','$event',[]]]]]]}}" bind:custom="__e" bind:input="__e" bind:__l="__l"></u-search></view><block wx:for="{{dataList}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view class="card"><view class="row"><view class="row half"><view class="name">昵称</view><view class="text">{{''+item.nickname+''}}</view></view><view class="row half"><view class="name">手机号</view><view class="text">{{''+item.mobile+''}}</view></view></view><view class="row"><view class="row half"><view class="name">会员等级</view><view class="text">{{''+item.level_text+''}}</view></view><view data-event-opts="{{[['tap',[['eidt',['$0'],[[['dataList','',index,'id']]]]]]]}}" class="row half" bindtap="__e"><view class="btn">编辑</view></view></view></view></block><u-picker vue-id="1fe8429b-2" mode="selector" range="{{level}}" range-key="cateName" title="设置会员等级" value="{{show}}" data-event-opts="{{[['^confirm',[['set']]],['^cancel',[['cancel']]],['^input',[['__set_model',['','show','$event',[]]]]]]}}" bind:confirm="__e" bind:cancel="__e" bind:input="__e" bind:__l="__l"></u-picker></view>
+<view class="content"><view class="search"><u-search vue-id="1fe8429b-1" placeholder="请输入信息搜索会员" value="{{name}}" data-event-opts="{{[['^custom',[['getData']]],['^change',[['getData']]],['^input',[['__set_model',['','name','$event',[]]]]]]}}" bind:custom="__e" bind:change="__e" bind:input="__e" bind:__l="__l"></u-search></view><block wx:for="{{dataList}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view class="card"><view class="row"><view class="row half"><view class="name">昵称</view><view class="text">{{''+item.nickname+''}}</view></view><view class="row half"><view class="name">手机号</view><view class="text">{{''+item.mobile+''}}</view></view></view><view class="row"><view class="row half"><view class="name">会员等级</view><view class="text">{{''+item.level_text+''}}</view></view><view data-event-opts="{{[['tap',[['eidt',['$0'],[[['dataList','',index,'id']]]]]]]}}" class="row half" bindtap="__e"><view class="btn">编辑</view></view></view></view></block><u-picker vue-id="1fe8429b-2" mode="selector" range="{{level}}" range-key="cateName" title="设置会员等级" value="{{show}}" data-event-opts="{{[['^confirm',[['set']]],['^cancel',[['cancel']]],['^input',[['__set_model',['','show','$event',[]]]]]]}}" bind:confirm="__e" bind:cancel="__e" bind:input="__e" bind:__l="__l"></u-picker></view>

+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/index/index.js

@@ -130,7 +130,7 @@ __webpack_require__.r(__webpack_exports__);
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
-/* WEBPACK VAR INJECTION */(function(uni) {Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;var uHeader = function uHeader() {Promise.all(/*! require.ensure | components/u-header */[__webpack_require__.e("common/vendor"), __webpack_require__.e("components/u-header")]).then((function () {return resolve(__webpack_require__(/*! ../../components/u-header.vue */ 188));}).bind(null, __webpack_require__)).catch(__webpack_require__.oe);};var _default =
+/* WEBPACK VAR INJECTION */(function(uni) {Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;var uHeader = function uHeader() {Promise.all(/*! require.ensure | components/u-header */[__webpack_require__.e("common/vendor"), __webpack_require__.e("components/u-header")]).then((function () {return resolve(__webpack_require__(/*! ../../components/u-header.vue */ 211));}).bind(null, __webpack_require__)).catch(__webpack_require__.oe);};var _default =
 
 
 

+ 28 - 7
unpackage/dist/dev/mp-weixin/pages/login/login.js

@@ -158,8 +158,6 @@ __webpack_require__.r(__webpack_exports__);
 
 
 
-
-
 var _auth = __webpack_require__(/*! ../../utils/auth */ 16); //
 //
 //
@@ -187,10 +185,31 @@ var _auth = __webpack_require__(/*! ../../utils/auth */ 16); //
 //
 //
 //
-//
-//
-var _default = { data: function data() {return { codeName: "发送验证码", isCode: true, account: "", password: "" };}, methods: { onlogin: function onlogin() {//登录
-      var that = this;if (that.phone == "") {uni.showToast({ title: "请输入账号", icon: "none" });return;}if (that.password == "") {uni.showToast({ title: "请输入密码", icon: "none" });return;}uni.showLoading({
+var _default = { data: function data() {return { cb: false, codeName: "发送验证码", isCode: true, account: "", password: "" };}, methods: { // 前往协议页面
+    goToAgreement: function goToAgreement() {uni.navigateTo({ url: "/pages/webview/webview?type=1" });}, read: function read(e) {if (e.detail.value.length > 0) {this.cb = true;} else {this.cb = false;}}, onlogin: function onlogin() {//登录
+      var that = this;
+      if (that.account == "") {
+        uni.showToast({
+          title: "请输入账号",
+          icon: "none" });
+
+        return;
+      }
+      if (that.password == "") {
+        uni.showToast({
+          title: "请输入密码",
+          icon: "none" });
+
+        return;
+      }
+      if (!that.cb) {
+        uni.showToast({
+          title: "请阅读用户协议",
+          icon: "none" });
+
+        return;
+      }
+      uni.showLoading({
         title: "登录中..." });
 
       that.
@@ -205,7 +224,9 @@ var _default = { data: function data() {return { codeName: "发送验证码", is
       then(function (res) {
         uni.hideLoading();
         (0, _auth.setToken)(res.data.userinfo.token); //模拟存储token
-        getApp().globalData = { isAdmin: res.data.is_admin };
+        getApp().globalData = {
+          isAdmin: res.data.is_admin };
+
         uni.showToast({
           title: "登录成功" });
 

+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/login/login.wxml

@@ -1 +1 @@
-<view class="content"><image class="login_img" src="http://pet.hdlkeji.com/assets/static/bg.png" mode></image><view class="logina"><view class="logina_a"><view class="logina_p">账号</view><input class="logina_inp" type="text" value="{{account}}" placeholder="请输入账号" data-event-opts="{{[['input',[['__set_model',['','account','$event',[]]]]]]}}" bindinput="__e"/></view><view class="logina_a"><view class="logina_p">密码</view><input class="logina_inp" type="password" value="{{password}}" placeholder="请输入密码" data-event-opts="{{[['input',[['__set_model',['','password','$event',[]]]]]]}}" bindinput="__e"/></view><view class="logina_d"><view data-event-opts="{{[['tap',[['onlogin',['$event']]]]]}}" class="{{['logina_btn',phone.length>=11&&ver_code.length>=4?'bgcolor':'bgcolore']}}" bindtap="__e">登录</view></view><view class="logina_e"><checkbox-group><label><checkbox style="transform:scale(0.8);" value="cb" checked="true"></checkbox>阅读并同意<text>《宠365用户协议》</text></label></checkbox-group></view></view></view>
+<view class="content"><image class="login_img" src="http://pet.hdlkeji.com/assets/static/bg.png" mode></image><view class="logina"><view class="logina_a"><view class="logina_p">账号</view><input class="logina_inp" type="text" value="{{account}}" placeholder="请输入账号" data-event-opts="{{[['input',[['__set_model',['','account','$event',[]]]]]]}}" bindinput="__e"/></view><view class="logina_a"><view class="logina_p">密码</view><input class="logina_inp" type="password" value="{{password}}" placeholder="请输入密码" data-event-opts="{{[['input',[['__set_model',['','password','$event',[]]]]]]}}" bindinput="__e"/></view><view class="logina_d"><view data-event-opts="{{[['tap',[['onlogin',['$event']]]]]}}" class="{{['logina_btn',phone.length>=11&&ver_code.length>=4?'bgcolor':'bgcolore']}}" bindtap="__e">登录</view></view><view class="logina_e"><checkbox-group data-event-opts="{{[['change',[['read',['$event']]]]]}}" bindchange="__e"><checkbox style="transform:scale(0.6);" checked="{{cb}}"></checkbox>阅读并同意<text data-event-opts="{{[['tap',[['goToAgreement',['$event']]]]]}}" catchtap="__e">《宠365用户协议》</text></checkbox-group></view></view></view>

Разлика између датотеке није приказан због своје велике величине
+ 7 - 7
unpackage/dist/dev/mp-weixin/pages/mine/Withdrawal.js


Разлика између датотеке није приказан због своје велике величине
+ 7 - 7
unpackage/dist/dev/mp-weixin/pages/mine/mine.js


+ 7 - 3
unpackage/dist/dev/mp-weixin/pages/mine/mine.wxss

@@ -32,13 +32,14 @@
   width: 93%;
   height: 300rpx;
   margin: 0 auto;
-  border: 1px #999 solid;
   border-radius: 40rpx;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: space-around;
   padding: 40rpx;
+  background-image: url("http://pet.hdlkeji.com/assets/static/1/16.png");
+  background-size: 100% 100%;
 }
 .card .title {
   width: 100%;
@@ -54,9 +55,12 @@
   border-radius: 20rpx;
 }
 .list {
-  width: 93%;
-  margin: 0 auto;
+  width: 100%;
+  padding: 20rpx 30rpx;
   margin-top: 30rpx;
+  background-color: #fff;
+  border-radius: 40rpx 40rpx 0 0;
+  min-height: 75vh;
 }
 .list .title {
   font-size: 40rpx;

Разлика између датотеке није приказан због своје велике величине
+ 7 - 7
unpackage/dist/dev/mp-weixin/pages/mine/password.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 1
unpackage/dist/dev/mp-weixin/pages/mine/password.wxml


+ 53 - 5
unpackage/dist/dev/mp-weixin/pages/order/info.js

@@ -553,24 +553,57 @@ var _default =
 {
   data: function data() {
     return {
+      // 是否是管理员
+      isAdmin: false,
       info: {} };
 
   },
+  onShow: function onShow() {
+    this.isAdmin = getApp().globalData.isAdmin;
+    this.getData(id);
+  },
   onLoad: function onLoad(e) {
-    // let info = JSON.parse(decodeURIComponent(e.info))
     var id = e.id;
-    // this.info = info;
+    this.isAdmin = getApp().globalData.isAdmin;
     this.getData(id);
   },
   methods: {
+    // 点击查看图片
+    clickImage: function clickImage() {
+      uni.previewImage({
+        urls: this.info.refund_images });
+
+    },
+    // 点击立即接单
+    create: function create(id) {var _this = this;
+      this.request("/sender_order_controller/get", {
+        id: id },
+      "POST").then(function (res) {
+        if (res.code === 1) {
+          _this.$u.toast('接单成功');
+          setTimeout(function () {
+            uni.navigateBack({
+              delta: 1 });
+
+          }, 2000);
+        }
+      });
+    },
     // 获取订单信息
-    getData: function getData(id) {var _this = this;
-      this.request("/sender_order_controller/detail", {
+    getData: function getData(id) {var _this2 = this;
+      // 判断是否是管理员
+      var url = '';
+      if (!this.isAdmin) {
+        url = "/sender_order_controller/detail";
+      } else {
+        url = "/admin_order/order_detail";
+      }
+      this.request(url, {
         id: id },
       "GET").then(function (res) {
         console.log(res);
         if (res.code === 1) {
-          _this.info = res.data;
+          _this2.info = res.data;
         }
       });
     },
@@ -578,6 +611,21 @@ var _default =
     video: function video(status, type, id) {
       // status 的订单状态 10取宠视频 20 运输视频 30送宠视频 
       // type 1 备注 2上传更多 3上传取宠视频 4上传运输视频 5上传送达视频
+      // function gotoPage(){
+      // 	uni.navigateTo({
+      // 		url: "./video?status=" + status + "&type=" + type + "&id=" + id
+      // 	})
+      // }
+      // if(type === 3){
+      // 	uni.showModal({
+      // 		title:"确认宠物已到达正在配送?",
+      // 		success(res) {
+      // 			if(res.confirm){
+      // 				gotoPage()
+      // 			}
+      // 		}
+      // 	})
+      // }
       uni.navigateTo({
         url: "./video?status=" + status + "&type=" + type + "&id=" + id });
 

Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/mp-weixin/pages/order/info.wxml


+ 12 - 4
unpackage/dist/dev/mp-weixin/pages/order/info.wxss

@@ -29,6 +29,13 @@
   padding-top: 40rpx;
   padding-bottom: 5vh;
 }
+.yellow {
+  color: #F6B403;
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+  justify-content: flex-end !important;
+}
 .row {
   justify-content: flex-start;
 }
@@ -168,14 +175,15 @@
   justify-content: flex-end;
 }
 .bottom-btn .buttom-dom {
-  height: 80rpx;
-  width: 20%;
+  height: 70rpx;
+  min-width: 20%;
   background-color: #F6B301;
   color: #FFFFFF;
   text-align: center;
-  line-height: 80rpx;
+  line-height: 70rpx;
   color: #FFFFFF;
-  border-radius: 80rpx;
+  border-radius: 70rpx;
   margin: 0 40rpx;
+  padding: 0 10rpx;
 }
 

+ 90 - 25
unpackage/dist/dev/mp-weixin/pages/order/order.js

@@ -96,10 +96,10 @@ var components
 try {
   components = {
     uTabs: function() {
-      return Promise.all(/*! import() | uview-ui/components/u-tabs/u-tabs */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uview-ui/components/u-tabs/u-tabs")]).then(__webpack_require__.bind(null, /*! @/uview-ui/components/u-tabs/u-tabs.vue */ 226))
+      return Promise.all(/*! import() | uview-ui/components/u-tabs/u-tabs */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uview-ui/components/u-tabs/u-tabs")]).then(__webpack_require__.bind(null, /*! @/uview-ui/components/u-tabs/u-tabs.vue */ 249))
     },
     uPopup: function() {
-      return __webpack_require__.e(/*! import() | uview-ui/components/u-popup/u-popup */ "uview-ui/components/u-popup/u-popup").then(__webpack_require__.bind(null, /*! @/uview-ui/components/u-popup/u-popup.vue */ 233))
+      return __webpack_require__.e(/*! import() | uview-ui/components/u-popup/u-popup */ "uview-ui/components/u-popup/u-popup").then(__webpack_require__.bind(null, /*! @/uview-ui/components/u-popup/u-popup.vue */ 256))
     }
   }
 } catch (e) {
@@ -156,13 +156,7 @@ __webpack_require__.r(__webpack_exports__);
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
-/* WEBPACK VAR INJECTION */(function(uni) {Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;var uHeader = function uHeader() {Promise.all(/*! require.ensure | components/u-header */[__webpack_require__.e("common/vendor"), __webpack_require__.e("components/u-header")]).then((function () {return resolve(__webpack_require__(/*! ../../components/u-header.vue */ 188));}).bind(null, __webpack_require__)).catch(__webpack_require__.oe);};var _default =
-
-
-
-
-
-
+/* WEBPACK VAR INJECTION */(function(uni) {Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0;var uHeader = function uHeader() {Promise.all(/*! require.ensure | components/u-header */[__webpack_require__.e("common/vendor"), __webpack_require__.e("components/u-header")]).then((function () {return resolve(__webpack_require__(/*! ../../components/u-header.vue */ 211));}).bind(null, __webpack_require__)).catch(__webpack_require__.oe);};var _default =
 
 
 
@@ -568,11 +562,13 @@ __webpack_require__.r(__webpack_exports__);
       // 弹窗
       show: false,
       page: 1,
-      limit: 10,
+      limit: 100,
       type: 1,
       data: {},
       // 是否是管理员
-      isAdmin: false };
+      isAdmin: false,
+      // 顶部高度
+      headerHeight: '' };
 
   },
   watch: {
@@ -580,6 +576,17 @@ __webpack_require__.r(__webpack_exports__);
       this.getData();
     } },
 
+  created: function created() {var _this = this;
+    uni.getSystemInfo({
+      success: function success(res) {
+        var menuButton = uni.getMenuButtonBoundingClientRect(); // 胶囊
+        var navBarPadding = (menuButton.top - res.statusBarHeight) * 2;
+        var statusBarHeight = res.statusBarHeight;
+        var navHeight = menuButton.height + navBarPadding;
+        _this.headerHeight = navHeight + statusBarHeight;
+      } });
+
+  },
   onLoad: function onLoad() {
     this.getData();
     // 获取订单数量
@@ -591,45 +598,102 @@ __webpack_require__.r(__webpack_exports__);
     }
   },
   onShow: function onShow() {
+    this.getData();
     this.getDataNum();
   },
+  onPullDownRefresh: function onPullDownRefresh() {
+    this.getDataNum();
+    this.getData();
+  },
   methods: {
+    // 删除订单
+    del: function del(id) {var _this2 = this;
+      var url = "";
+      if (this.isAdmin) {
+        url = "/admin_order/order_delete";
+      } else {
+        url = "/sender_order_controller/delete";
+      }
+      this.request(url, {
+        id: id },
+      "GET").then(function (res) {
+        if (res.code === 1) {
+          _this2.getData();
+          _this2.getDataNum();
+        }
+      });
+    },
+    // 拒绝结算
+    refuse: function refuse(id) {var _this3 = this;
+      this.request("/admin_order/deal_settle", {
+        id: id,
+        status: 2 },
+      "GET").then(function (res) {
+        if (res.code === 1) {
+          _this3.getData();
+          _this3.getDataNum();
+        }
+      });
+    },
+    // 结算
+    push: function push(id) {var _this4 = this;
+      this.request("/admin_order/deal_settle", {
+        id: id,
+        status: 1 },
+      "GET").then(function (res) {
+        if (res.code === 1) {
+          _this4.getData();
+          _this4.getDataNum();
+        }
+      });
+    },
+    // 申请结算
+    settle: function settle(id) {
+      // this.requset("/sender_order_controller/settle",{
+
+      // },"POST").then(res=>{
+      // 	console.log(res)
+      // })
+      uni.navigateTo({
+        url: './settle?id=' + id });
+
+    },
     // 获取会员信息
-    getInfo: function getInfo() {var _this = this;
+    getInfo: function getInfo() {var _this5 = this;
       this.request('/user/index', {}, "GET").then(function (res) {
         if (res.code === 1) {
           if (res.data.need_verification) {
-            _this.show = true;
+            _this5.show = true;
           }
         }
       });
     },
     // 点击立即接单
-    getOrder: function getOrder(id) {var _this2 = this;
+    getOrder: function getOrder(id) {var _this6 = this;
       this.request("/sender_order_controller/get", {
         id: id },
       "POST").then(function (res) {
         if (res.code === 1) {
-          _this2.getData();
-          _this2.getDataNum();
+          _this6.getData();
+          _this6.getDataNum();
         }
       });
     },
     // 获取订单数量
-    getDataNum: function getDataNum() {var _this3 = this;
+    getDataNum: function getDataNum() {var _this7 = this;
       this.request("/sender_order_controller/nums", {}, "GET").then(function (res) {
         console.log(res);
         if (res.code === 1) {
-          _this3.list[0].cate_count = res.data[1];
-          _this3.list[1].cate_count = res.data[2];
-          _this3.list[2].cate_count = res.data[3];
-          _this3.list[3].cate_count = res.data[4];
-          _this3.list[4].cate_count = res.data[5];
+          _this7.list[0].cate_count = res.data[1];
+          _this7.list[1].cate_count = res.data[2];
+          _this7.list[2].cate_count = res.data[3];
+          _this7.list[3].cate_count = res.data[4];
+          _this7.list[4].cate_count = res.data[5];
         }
       });
     },
     // 获取订单列表
-    getData: function getData() {var _this4 = this;
+    getData: function getData() {var _this8 = this;
       var url = "";
       if (this.isAdmin) {
         url = "/admin_order/orders";
@@ -641,9 +705,10 @@ __webpack_require__.r(__webpack_exports__);
         limit: this.limit,
         type: this.type },
       "GET").then(function (res) {
+        uni.stopPullDownRefresh();
         if (res.code === 1) {
-          _this4.data = res.data;
-          _this4.list[_this4.current].cate_count = res.data.total;
+          _this8.data = res.data;
+          _this8.list[_this8.current].cate_count = res.data.total;
         }
       });
     },

+ 1 - 0
unpackage/dist/dev/mp-weixin/pages/order/order.json

@@ -1,6 +1,7 @@
 {
   "navigationStyle": "custom",
   "navigationBarTextStyle": "black",
+  "enablePullDownRefresh": true,
   "usingComponents": {
     "u-tabs": "/uview-ui/components/u-tabs/u-tabs",
     "u-popup": "/uview-ui/components/u-popup/u-popup",

Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
unpackage/dist/dev/mp-weixin/pages/order/order.wxml


+ 6 - 5
unpackage/dist/dev/mp-weixin/pages/order/order.wxss

@@ -26,17 +26,16 @@
 /* 透明度 */
 /* 文章场景相关 */
 .content {
-  padding-top: 260rpx;
+  background-color: #F8F8F8;
 }
 .content .order-list-box {
   height: 80vh;
+  background-color: #F8F8F8;
+  padding-top: 20rpx;
 }
 .menu-top {
-  position: fixed;
-  top: 140rpx;
   width: 100%;
   background-color: #FFFFFF;
-  padding: 10rpx;
 }
 .menu-top .menu-list {
   background-color: #F7E8CB;
@@ -88,8 +87,10 @@
   background-color: #F6B301;
   color: #FFFFFF;
   margin: 20rpx 20rpx 0 20rpx;
-  padding: 20rpx 30rpx;
+  padding: 10rpx 30rpx;
   border-radius: 50rpx;
+  min-width: 120rpx;
+  text-align: center;
 }
 .big-text {
   font-size: 38rpx;

Разлика између датотеке није приказан због своје велике величине
+ 7 - 7
unpackage/dist/dev/mp-weixin/pages/order/perfect.js


Разлика између датотеке није приказан због своје велике величине
+ 36 - 20
unpackage/dist/dev/mp-weixin/pages/order/settle.js


+ 9 - 0
unpackage/dist/dev/mp-weixin/pages/order/settle.json

@@ -0,0 +1,9 @@
+{
+  "navigationBarTitleText": "申请结算",
+  "enablePullDownRefresh": false,
+  "navigationBarBackgroundColor": "#FFFFFF",
+  "usingComponents": {
+    "u-form": "/uview-ui/components/u-form/u-form",
+    "u-form-item": "/uview-ui/components/u-form-item/u-form-item"
+  }
+}

Неке датотеке нису приказане због велике количине промена