liujd 6 anni fa
parent
commit
d097cb18ae

+ 56 - 0
mobile-code/src/api/order/index.js

@@ -70,3 +70,59 @@ export const getListB = data => {
 export const getDetB = data => {
 	return https.get('/order/detail', data)
 }
+
+/** *
+ * 免发货 b
+ */
+export const freeShipping = data => {
+	return https.get('/order/without-send', data)
+}
+
+/** *
+ * 发货详情(发货、继续、查看配送) b
+ */
+export const orderSendDet = data => {
+	return https.get('/order-send/detail', data)
+}
+
+/** *
+ * 发货操作-打单 b
+ */
+export const printOrder = data => {
+	return https.get('/order-send/print-order', data)
+}
+
+/** *
+ * 发货操作-发货 b
+ */
+export const orderSend = data => {
+	return https.get('/order-send/deliver', data)
+}
+
+/** *
+ * 发货操作-送达 b
+ */
+export const orderReach = data => {
+	return https.get('/order-send/reach', data)
+}
+
+/** *
+ * 发货-填写收花人 b
+ */
+export const updateSheet = data => {
+	return https.get('/order/update-sheet', data)
+}
+
+/** *
+ * 发货-归类 b
+ */
+export const orderClass = data => {
+	return https.get('/order/classify', data)
+}
+
+/** *
+ * 修改价格 b
+ */
+export const orderUpdatePrice = data => {
+	return https.get('/order/update-price', data)
+}

+ 0 - 2
mobile-code/src/b-config.js

@@ -1,2 +0,0 @@
-// 项目配置--由bat脚本变更
-export const ProjectName = 'business'

+ 0 - 290
mobile-code/src/b-pages.json

@@ -1,290 +0,0 @@
-{
-	"pages": [
-		{
-			"path": "pages/admin/workbench",
-			"style": {
-				"navigationBarTitleText": "工作台"
-			}
-		},
-		{
-			"path": "pages/admin/order",
-			"style": {
-				"navigationBarTitleText": "订单"
-			}
-		},
-		{
-			"path": "pages/admin/member",
-			"style": {
-				"navigationBarTitleText": "客户"
-			}
-		},
-		{
-			"path": "pages/common/redirect",
-			"style": {
-				"navigationBarTitleText": "加载中..."
-			}
-		},
-		{
-			"path": "pages/common/webview",
-			"style": {
-				"navigationBarBackgroundColor": "#ffffff",
-				"navigationBarTextStyle": "black"
-			}
-		}
-	],
-	"subPackages": [
-		{
-			"root": "pages/order",
-			"pages": [
-				{
-					"path": "admin/detail",
-					"style": {
-						"navigationBarTitleText": "详情"
-					}
-				},
-				{
-					"path": "admin/ship",
-					"style": {
-						"navigationBarTitleText": "发货"
-					}
-				}
-			]
-		},
-		{
-			"root": "pages/member",
-			"pages": [
-				{
-					"path": "add",
-					"style": {
-						"navigationBarTitleText": "添加客户"
-					}
-				},
-				{
-					"path": "detail",
-					"style": {
-						"navigationBarTitleText": "客户详情"
-					}
-				}
-			]
-		},
-		{
-			"root": "pages/interest",
-			"pages": [
-				{
-					"path": "admin/invite",
-					"style": {
-						"navigationBarTitleText": "邀请列表"
-					}
-				},
-				{
-					"path": "admin/my-invite",
-					"style": {
-						"navigationBarTitleText": "我的邀请"
-					}
-				},
-				{
-					"path": "admin/setting",
-					"style": {
-						"navigationBarTitleText": "奖励设置"
-					}
-				}
-			]
-		},
-		{
-			"root": "pages/coupon",
-			"pages": [
-				{
-					"path": "admin/list",
-					"style": {
-						"navigationBarTitleText": "优惠券"
-					}
-				}
-			]
-		},
-		{
-			"root": "pages/ad",
-			"pages": [
-				{
-					"path": "list",
-					"style": {
-						"navigationBarTitleText": "广告列表"
-					}
-				},
-				{
-					"path": "add",
-					"style": {
-						"navigationBarTitleText": "添加广告"
-					}
-				},
-				{
-					"path": "sel-goods",
-					"style": {
-						"navigationBarTitleText": "商品选择"
-					}
-				}
-			]
-		},
-		{
-			"root": "pages/staff",
-			"pages": [
-				{
-					"path": "list",
-					"style": {
-						"navigationBarTitleText": "员工管理"
-					}
-				},
-				{
-					"path": "add",
-					"style": {
-						"navigationBarTitleText": "添加员工"
-					}
-				},
-				{
-					"path": "sel-member",
-					"style": {
-						"navigationBarTitleText": "客户列表"
-					}
-				}
-			]
-		},
-		{
-			"root": "pages/setting",
-			"pages": [
-				{
-					"path": "list",
-					"style": {
-						"navigationBarTitleText": "设置"
-					}
-				},
-				{
-					"path": "wx-menu",
-					"style": {
-						"navigationBarTitleText": "微信菜单设置"
-					}
-				},
-				{
-					"path": "coupon",
-					"style": {
-						"navigationBarTitleText": "新人领券设置"
-					}
-				},
-				{
-					"path": "level",
-					"style": {
-						"navigationBarTitleText": "会员等级设置"
-					}
-				},
-				{
-					"path": "password",
-					"style": {
-						"navigationBarTitleText": "密码设置"
-					}
-				}
-			]
-		},
-		{
-			"root": "pages/goodsManage",
-			"pages": [
-				{
-					"path": "list",
-					"style": {
-						"navigationBarTitleText": "商品管理"
-					}
-				},
-				{
-					"path": "category",
-					"style": {
-						"navigationBarTitleText": "分类管理"
-					}
-				},
-				{
-					"path": "add",
-					"style": {
-						"navigationBarTitleText": "添加商品"
-					}
-				},
-				{
-					"path": "img-store",
-					"style": {
-						"navigationBarTitleText": "图库管理"
-					}
-				},
-				{
-					"path": "goods-name",
-					"style": {
-						"navigationBarTitleText": "填写商品信息"
-					}
-				},
-				{
-					"path": "freight",
-					"style": {
-						"navigationBarTitleText": "运费设置"
-					}
-				},
-				{
-					"path": "price-increase",
-					"style": {
-						"navigationBarTitleText": "节假日自动涨价"
-					}
-				}
-			]
-		},
-		{
-			"root": "pages/chat",
-			"pages": [
-				{
-					"path": "index",
-					"style": {
-						"navigationBarTitleText": "客服",
-						"enablePullDownRefresh": true
-					}
-				}
-			]
-		},
-		{
-			"root": "pages/template",
-			"pages": [
-				{
-					"path": "index",
-					"style": {
-						"navigationBarTitleText": "选择模板"
-					}
-				}
-			]
-		}
-	],
-	"globalStyle": {
-		// #ifdef H5
-		"navigationStyle": "custom",
-		// #endif
-		"navigationBarBackgroundColor": "#fff",
-		"navigationBarTitleText": "花卉宝",
-		"navigationBarTextStyle": "black"
-	},
-	"tabBar": {
-		"color": "#C0C4CC",
-		"selectedColor": "#3385FF",
-		"borderStyle": "black",
-		"backgroundColor": "#ffffff",
-		"list": [{
-				"pagePath": "pages/admin/workbench",
-				"iconPath": "static/images/admin/workbench-no.png",
-				"selectedIconPath": "static/images/admin/workbench-is.png",
-				"text": "工作台"
-			},
-			{
-				"pagePath": "pages/admin/order",
-				"iconPath": "static/images/admin/order-no.png",
-				"selectedIconPath": "static/images/admin/order-is.png",
-				"text": "订单"
-			},
-			{
-				"pagePath": "pages/admin/member",
-				"iconPath": "static/images/admin/member-no.png",
-				"selectedIconPath": "static/images/admin/member-is.png",
-				"text": "客户"
-			}
-		]
-	}
-}
-

+ 2 - 2
mobile-code/src/config.js

@@ -1,2 +1,2 @@
-// 项目配置--由bat脚本自动变更
-export const ProjectName = 'mobile'
+// 项目配置--由bat脚本变更
+export const ProjectName = 'business'

+ 7 - 2
mobile-code/src/filters/index.js

@@ -9,11 +9,17 @@ Vue.filter('formatTime', $formatDate)
 import { constFilter } from '@/filters/constantFilter'
 Vue.filter('constantfilter', constFilter)
 
+Vue.filter('formatPrice', function(val) {
+	if (!val) {
+		return 0.00
+	}
+	return val.toFixed(2)
+})
+
 Vue.filter('default_img', function(url) {
 	if (!url) {
 		return require('@/static/images/default-img.png')
 	}
-
 	return url
 })
 
@@ -21,6 +27,5 @@ Vue.filter('default_avatar', function(url) {
 	if (!url) {
 		return require('@/static/images/user/attr-default.png')
 	}
-
 	return url
 })

+ 2 - 0
mobile-code/src/m-config.js

@@ -0,0 +1,2 @@
+// 项目配置--由bat脚本自动变更
+export const ProjectName = 'mobile'

+ 2 - 2
mobile-code/src/b-manifest.json → mobile-code/src/m-manifest.json

@@ -1,5 +1,5 @@
 {
-    "name" : "花卉宝商家后台",
+    "name" : "花卉宝",
     "appid" : "",
     "description" : "应用描述",
     "versionName" : "1.0.0",
@@ -41,7 +41,7 @@
             "port": 81,
             "proxy": {
                 "/api": {
-                    "target": "http://api.b.huaml.com",
+                    "target": "http://api.m.huaml.com",
                     "secure": false,
                     "changeOrigin": true,
                     "pathRewrite": {

+ 203 - 0
mobile-code/src/m-pages.json

@@ -0,0 +1,203 @@
+{
+	"pages": [
+		{
+			"path": "pages/home/index",
+			"style": {
+				"navigationBarTitleText": "加载中..."
+			}
+		},
+		{
+			"path": "pages/home/category",
+			"style": {
+				"navigationBarTitleText": "分类"
+			}
+		},
+		{
+			"path": "pages/home/shop",
+			"style": {
+				"navigationBarTitleText": "门店"
+			}
+		},
+		{
+			"path": "pages/home/user",
+			"style": {
+				"navigationBarTitleText": "我的"
+			}
+		},
+		{
+			"path": "pages/common/redirect",
+			"style": {
+				"navigationBarTitleText": "加载中..."
+			}
+		},
+		{
+			"path": "pages/common/webview",
+			"style": {
+				"navigationBarBackgroundColor": "#ffffff",
+				"navigationBarTextStyle": "black"
+			}
+		}
+	],
+	"subPackages": [
+		{
+			"root": "pages/user",
+			"pages": [
+				{
+					"path": "register",
+					"style": {
+						"navigationBarTitleText": "注册"
+					}
+				},
+				{
+					"path": "password",
+					"style": {
+						"navigationBarTitleText": "修改密码"
+					}
+				}
+			]
+		},
+		{
+			"root": "pages/goods",
+			"pages": [
+				{
+					"path": "detail",
+					"style": {
+						"navigationBarTitleText": "详情"
+					}
+				}
+			]
+		},
+		{
+			"root": "pages/pay",
+			"pages": [
+				{
+					"path": "index",
+					"style": {
+						"navigationBarTitleText": "支付"
+					}
+				}
+			]
+		},
+		{
+			"root": "pages/callback",
+			"pages": [
+				{
+					"path": "index"
+				}
+			]
+		},
+		{
+			"root": "pages/coupon",
+			"pages": [
+				{
+					"path": "list",
+					"style": {
+						"navigationBarTitleText": "优惠券",
+						"enablePullDownRefresh": true
+					}
+				}
+			]
+		},
+		{
+			"root": "pages/order",
+			"pages": [
+				{
+					"path": "list",
+					"style": {
+						"navigationBarTitleText": "订单列表",
+						"enablePullDownRefresh": true
+					}
+				},
+				{
+					"path": "detail",
+					"style": {
+						"navigationBarTitleText": "订单列表"
+					}
+				},
+				{
+					"path": "buy",
+					"style": {
+						"navigationBarTitleText": "订单确认"
+					}
+				},
+				{
+					"path": "comment",
+					"style": {
+						"navigationBarTitleText": "评价"
+					}
+				}
+			]
+		},
+		{
+			"root": "pages/interest",
+			"pages": [
+				{
+					"path": "invite",
+					"style": {
+						"navigationBarTitleText": "邀请排行",
+						"enablePullDownRefresh": true
+					}
+				},
+				{
+					"path": "level",
+					"style": {
+						"navigationBarTitleText": "会员等级",
+						"enablePullDownRefresh": true
+					}
+				}
+			]
+		},
+		{
+			"root": "pages/chat",
+			"pages": [
+				{
+					"path": "index",
+					"style": {
+						"navigationBarTitleText": "客服",
+						"enablePullDownRefresh": true
+					}
+				}
+			]
+		}
+	],
+	"globalStyle": {
+		// #ifdef H5
+		"navigationStyle": "custom",
+		// #endif
+		"navigationBarBackgroundColor": "#fff",
+		"navigationBarTitleText": "花卉宝",
+		"navigationBarTextStyle": "black"
+	},
+	"tabBar": {
+		"color": "#C0C4CC",
+		"selectedColor": "#fa436a",
+		"borderStyle": "black",
+		"backgroundColor": "#ffffff",
+		"list": [{
+				"pagePath": "pages/home/index",
+				"iconPath": "static/images/common/home-no.png",
+				"selectedIconPath": "static/images/common/home-is.png",
+				"text": "首页"
+			},
+			{
+				"pagePath": "pages/home/category",
+				"iconPath": "static/images/common/category-no.png",
+				"selectedIconPath": "static/images/common/category-is.png",
+				"text": "分类"
+			},
+			{
+				"pagePath": "pages/home/shop",
+				"iconPath": "static/images/common/shop-no.png",
+				"selectedIconPath": "static/images/common/shop-is.png",
+				"text": "门店"
+			},
+			{
+				"pagePath": "pages/home/user",
+				"iconPath": "static/images/common/user-no.png",
+				"selectedIconPath": "static/images/common/user-is.png",
+				"text": "我的"
+			}
+		]
+	}
+}
+

+ 1 - 1
mobile-code/src/b-uni.scss → mobile-code/src/m-uni.scss

@@ -12,7 +12,7 @@ $imgUrl: 'https://wximg.meijiabang.com/hkds/miniapp/images/';
 
 // 所有样式为公共样式,已在全局引用可直接使用
 // 主色
-$mainColor: #3385FF;
+$mainColor: #FF2842;
 $mainColor1: #049E2C;
 $auxiliaryColor2: #ff6900;
 

+ 2 - 2
mobile-code/src/manifest.json

@@ -1,5 +1,5 @@
 {
-    "name" : "花卉宝",
+    "name" : "花卉宝商家后台",
     "appid" : "",
     "description" : "应用描述",
     "versionName" : "1.0.0",
@@ -41,7 +41,7 @@
             "port": 81,
             "proxy": {
                 "/api": {
-                    "target": "http://api.m.huaml.com",
+                    "target": "http://api.b.huaml.com",
                     "secure": false,
                     "changeOrigin": true,
                     "pathRewrite": {

+ 149 - 62
mobile-code/src/pages.json

@@ -1,27 +1,21 @@
 {
 	"pages": [
 		{
-			"path": "pages/home/index",
+			"path": "pages/admin/workbench",
 			"style": {
-				"navigationBarTitleText": "加载中..."
+				"navigationBarTitleText": "工作台"
 			}
 		},
 		{
-			"path": "pages/home/category",
+			"path": "pages/admin/order",
 			"style": {
-				"navigationBarTitleText": "分类"
+				"navigationBarTitleText": "订单"
 			}
 		},
 		{
-			"path": "pages/home/shop",
+			"path": "pages/admin/member",
 			"style": {
-				"navigationBarTitleText": "门店"
-			}
-		},
-		{
-			"path": "pages/home/user",
-			"style": {
-				"navigationBarTitleText": "我的"
+				"navigationBarTitleText": "客户"
 			}
 		},
 		{
@@ -40,109 +34,197 @@
 	],
 	"subPackages": [
 		{
-			"root": "pages/user",
+			"root": "pages/order",
 			"pages": [
 				{
-					"path": "register",
+					"path": "admin/detail",
 					"style": {
-						"navigationBarTitleText": "注册"
+						"navigationBarTitleText": "详情"
 					}
 				},
 				{
-					"path": "password",
+					"path": "admin/ship",
 					"style": {
-						"navigationBarTitleText": "修改密码"
+						"navigationBarTitleText": "发货"
 					}
 				}
 			]
 		},
 		{
-			"root": "pages/goods",
+			"root": "pages/member",
 			"pages": [
+				{
+					"path": "add",
+					"style": {
+						"navigationBarTitleText": "添加客户"
+					}
+				},
 				{
 					"path": "detail",
 					"style": {
-						"navigationBarTitleText": "详情"
+						"navigationBarTitleText": "客户详情"
 					}
 				}
 			]
 		},
 		{
-			"root": "pages/pay",
+			"root": "pages/interest",
 			"pages": [
 				{
-					"path": "index",
+					"path": "admin/invite",
+					"style": {
+						"navigationBarTitleText": "邀请列表"
+					}
+				},
+				{
+					"path": "admin/my-invite",
 					"style": {
-						"navigationBarTitleText": "支付"
+						"navigationBarTitleText": "我的邀请"
+					}
+				},
+				{
+					"path": "admin/setting",
+					"style": {
+						"navigationBarTitleText": "奖励设置"
 					}
 				}
 			]
 		},
 		{
-			"root": "pages/callback",
+			"root": "pages/coupon",
 			"pages": [
 				{
-					"path": "index"
+					"path": "admin/list",
+					"style": {
+						"navigationBarTitleText": "优惠券"
+					}
 				}
 			]
 		},
 		{
-			"root": "pages/coupon",
+			"root": "pages/ad",
 			"pages": [
 				{
 					"path": "list",
 					"style": {
-						"navigationBarTitleText": "优惠券",
-						"enablePullDownRefresh": true
+						"navigationBarTitleText": "广告列表"
+					}
+				},
+				{
+					"path": "add",
+					"style": {
+						"navigationBarTitleText": "添加广告"
+					}
+				},
+				{
+					"path": "sel-goods",
+					"style": {
+						"navigationBarTitleText": "商品选择"
 					}
 				}
 			]
 		},
 		{
-			"root": "pages/order",
+			"root": "pages/staff",
 			"pages": [
 				{
 					"path": "list",
 					"style": {
-						"navigationBarTitleText": "订单列表",
-						"enablePullDownRefresh": true
+						"navigationBarTitleText": "员工管理"
 					}
 				},
 				{
-					"path": "detail",
+					"path": "add",
+					"style": {
+						"navigationBarTitleText": "添加员工"
+					}
+				},
+				{
+					"path": "sel-member",
+					"style": {
+						"navigationBarTitleText": "客户列表"
+					}
+				}
+			]
+		},
+		{
+			"root": "pages/setting",
+			"pages": [
+				{
+					"path": "list",
+					"style": {
+						"navigationBarTitleText": "设置"
+					}
+				},
+				{
+					"path": "wx-menu",
 					"style": {
-						"navigationBarTitleText": "订单列表"
+						"navigationBarTitleText": "微信菜单设置"
 					}
 				},
 				{
-					"path": "buy",
+					"path": "coupon",
 					"style": {
-						"navigationBarTitleText": "订单确认"
+						"navigationBarTitleText": "新人领券设置"
 					}
 				},
 				{
-					"path": "comment",
+					"path": "level",
+					"style": {
+						"navigationBarTitleText": "会员等级设置"
+					}
+				},
+				{
+					"path": "password",
 					"style": {
-						"navigationBarTitleText": "评价"
+						"navigationBarTitleText": "密码设置"
 					}
 				}
 			]
 		},
 		{
-			"root": "pages/interest",
+			"root": "pages/goodsManage",
 			"pages": [
 				{
-					"path": "invite",
+					"path": "list",
 					"style": {
-						"navigationBarTitleText": "邀请排行",
-						"enablePullDownRefresh": true
+						"navigationBarTitleText": "商品管理"
 					}
 				},
 				{
-					"path": "level",
+					"path": "category",
 					"style": {
-						"navigationBarTitleText": "会员等级",
-						"enablePullDownRefresh": true
+						"navigationBarTitleText": "分类管理"
+					}
+				},
+				{
+					"path": "add",
+					"style": {
+						"navigationBarTitleText": "添加商品"
+					}
+				},
+				{
+					"path": "img-store",
+					"style": {
+						"navigationBarTitleText": "图库管理"
+					}
+				},
+				{
+					"path": "goods-name",
+					"style": {
+						"navigationBarTitleText": "填写商品信息"
+					}
+				},
+				{
+					"path": "freight",
+					"style": {
+						"navigationBarTitleText": "运费设置"
+					}
+				},
+				{
+					"path": "price-increase",
+					"style": {
+						"navigationBarTitleText": "节假日自动涨价"
 					}
 				}
 			]
@@ -158,6 +240,17 @@
 					}
 				}
 			]
+		},
+		{
+			"root": "pages/template",
+			"pages": [
+				{
+					"path": "index",
+					"style": {
+						"navigationBarTitleText": "选择模板"
+					}
+				}
+			]
 		}
 	],
 	"globalStyle": {
@@ -170,32 +263,26 @@
 	},
 	"tabBar": {
 		"color": "#C0C4CC",
-		"selectedColor": "#fa436a",
+		"selectedColor": "#3385FF",
 		"borderStyle": "black",
 		"backgroundColor": "#ffffff",
 		"list": [{
-				"pagePath": "pages/home/index",
-				"iconPath": "static/images/common/home-no.png",
-				"selectedIconPath": "static/images/common/home-is.png",
-				"text": "首页"
-			},
-			{
-				"pagePath": "pages/home/category",
-				"iconPath": "static/images/common/category-no.png",
-				"selectedIconPath": "static/images/common/category-is.png",
-				"text": "分类"
+				"pagePath": "pages/admin/workbench",
+				"iconPath": "static/images/admin/workbench-no.png",
+				"selectedIconPath": "static/images/admin/workbench-is.png",
+				"text": "工作台"
 			},
 			{
-				"pagePath": "pages/home/shop",
-				"iconPath": "static/images/common/shop-no.png",
-				"selectedIconPath": "static/images/common/shop-is.png",
-				"text": "门店"
+				"pagePath": "pages/admin/order",
+				"iconPath": "static/images/admin/order-no.png",
+				"selectedIconPath": "static/images/admin/order-is.png",
+				"text": "订单"
 			},
 			{
-				"pagePath": "pages/home/user",
-				"iconPath": "static/images/common/user-no.png",
-				"selectedIconPath": "static/images/common/user-is.png",
-				"text": "我的"
+				"pagePath": "pages/admin/member",
+				"iconPath": "static/images/admin/member-no.png",
+				"selectedIconPath": "static/images/admin/member-is.png",
+				"text": "客户"
 			}
 		]
 	}

+ 4 - 2
mobile-code/src/pages/admin/order.vue

@@ -14,7 +14,9 @@
 						<div class="app-price">{{ item.status | constantfilter('ORDER_STATUS') }}</div>
 					</div>
 					<div class="list-blo">
-						<list-module v-for="(item, subIndex) in 2" :key="subIndex" />
+						<block v-if="!$util.isEmpty(item.goodsInfoList)">
+							<list-module v-for="(items, subIndex) in item.goodsInfoList" :key="subIndex" :info="items" />
+						</block>
 					</div>
 					<div class="list-bottom">
 						<div>
@@ -104,7 +106,7 @@ export default {
 				status: status,
 				search: '',
 				page: this.list.page
-			 }).then(res => {
+			}).then(res => {
 				this.completes(res)
 				if (this.$util.isEmpty(res.data)) return false
 				this.tabs[0].value = res.data.asset.totalOrder

+ 2 - 2
mobile-code/src/pages/admin/workbench.vue

@@ -5,7 +5,7 @@
 			<div class="user-top">
 				<div class="app-size-28">今日概况</div>
 				<div @click="$util.pageTo('/pages/setting/password')">
-					<app-avatar-module :src="avatarImg" :width="80" />
+					<app-avatar-module :src="avatarImg | default_avatar" :width="80" />
 				</div>
 			</div>
 			<div class="income-amount">
@@ -203,7 +203,7 @@ export default {
 	},
 	computed: {
 		avatarImg() {
-			return this.userInfo.logoUrl
+			return this.$util.isEmpty(this.userInfo) ? '' : this.userInfo.logoUrl
 		}
 	},
 	onLoad(option) {

+ 34 - 3
mobile-code/src/pages/order/admin/components/sel-order.vue

@@ -13,8 +13,20 @@
 					<div class="axis-slot-wrap">
 						<div class="axis-title">打单</div>
 						<div class="axis-det">
-							<button class="admin-button-com big blue">免打单</button>
-							<button class="admin-button-com big blue">要打单</button>
+							<button class="admin-button-com big blue" @click="$util.pageTo({
+						url: '/pages/order/admin/ship',
+						query: {
+							id: orderData.id,
+							pageStatus: 7
+						}
+					})">有配送单</button>
+							<button class="admin-button-com big blue" @click="$util.pageTo({
+						url: '/pages/order/admin/ship',
+						query: {
+							id: orderData.id,
+							pageStatus: 2
+						}
+							})">没有,去填单</button>
 						</div>
 					</div>
 				</template>
@@ -25,7 +37,7 @@
 					<div class="axis-slot-wrap">
 						<div class="axis-title">下单</div>
 						<div class="axis-det">
-							<div>2019-10-10 18:00:00</div>
+							<div>{{ orderData.addTime | formatTime }}</div>
 						</div>
 					</div>
 				</template>
@@ -42,6 +54,25 @@ export default {
 	components: {
 		TimeAxis,
 		TimeaxisItem
+	},
+	props: {
+		query: {
+			type: Object,
+			default: () => {}
+		},
+		orderData: {
+			type: Object,
+			default: () => {}
+		}
+	},
+	data() {
+		return {
+			data: {}
+		}
+	},
+	mounted() {
+	},
+	methods: {
 	}
 }
 </script>

+ 182 - 0
mobile-code/src/pages/order/admin/components/sel-ship-manage.vue

@@ -0,0 +1,182 @@
+<template>
+	<div class="sel-confirm-module">
+		<!-- 列表 -->
+		<time-axis>
+			<!-- 完成 -->
+			<timeaxis-item class="axis-list axis-first com-wrap" bgcolor="none">
+				<template v-slot:node>
+					<div class="tui-node node-big">
+						<div class="node-small"></div>
+					</div>
+				</template>
+				<template v-slot:content>
+					<div class="axis-slot-wrap">
+						<div class="axis-title">发货</div>
+						<div class="axis-det">
+							<button class="admin-button-com big blue confirm-btn" @click="sendShipFn">确认发货</button>
+						</div>
+					</div>
+				</template>
+			</timeaxis-item>
+			<!-- 送达 -->
+			<timeaxis-item class="axis-list com-wrap" bgcolor="none" v-for="(item, index) in orderComData" :key="index">
+				<template v-slot:content>
+					<div class="axis-slot-wrap">
+						<div class="axis-title">{{ item.actionName }}</div>
+						<div class="axis-det">
+							<div class="app-color-0 app-bold">{{ item.addTime | formatTime }}</div>
+						</div>
+					</div>
+				</template>
+			</timeaxis-item>
+		</time-axis>
+		<!-- ship -->
+		<modal-module :show="shipModal" :maskClosable="false" @cancel="modalCancel" @click="shipModalClick" title="确认发货" padding="30rpx 30rpx">
+			<template v-slot:content>
+				<div class="app-modal-input-wrap ship-modal">
+					<div class="inp-list-line switch-wrap">
+						<div class="line-label">启用状态</div>
+						<div class="line-input flex-strat">
+							<switch :checked="form.sendType == '0' ? false : true" @change="switchChangeFn" />
+						</div>
+					</div>
+					<div class="inp-list-line">
+						<div class="line-label">送花时间</div>
+						<div class="line-input">
+							<picker mode="selector" :range="timeList" @change="changeTimeFn" class="inp-select">
+								<div v-if="form.sendTime">{{ form.sendTime }}</div>
+								<div class="tui-placeholder" v-else>请选择</div>
+							</picker>
+						</div>
+					</div>
+					<div class="inp-list-line">
+						<div class="line-label">配送方</div>
+						<div class="line-input">
+							<picker mode="selector" :range="deliveryList" @change="changedeliveryFn" range-key="text" class="inp-select">
+								<div v-if="form.sendSide">{{ sendSideText }}</div>
+								<div class="tui-placeholder" v-else>请选择</div>
+							</picker>
+						</div>
+					</div>
+				</div>
+			</template>
+		</modal-module>
+	</div>
+</template>
+
+<script>
+import TimeAxis from '@/pages/admin/components/plugin/time-axis'
+import TimeaxisItem from '@/pages/admin/components/plugin/timeaxis-item'
+import CardName from './card-name'
+import ModalModule from '@/components/plugin/modal'
+// api
+import { orderSend } from '@/api/order'
+export default {
+	name: 'sel-confirm-module',
+	components: {
+		TimeAxis,
+		TimeaxisItem,
+		CardName,
+		ModalModule
+	},
+	props: {
+		query: {
+			type: Object,
+			default: () => {}
+		},
+		orderData: {
+			type: Object,
+			default: () => {}
+		},
+		orderComData: {
+			type: Array,
+			default: () => []
+		}
+	},
+	data() {
+		return {
+			shipModal: false,
+			form: {
+				sendType: 0,
+				sendTime: '',
+				sendSide: ''
+			},
+			sendSideText: '',
+			// time
+			timeList: ['9:10', '9:20'],
+			// deliveryList
+			deliveryList: [{
+				text: '达达配送',
+				key: 1
+			}]
+		}
+	},
+	methods: {
+		sendShipFn() {
+			this.shipModal = true
+			this.form = {
+				sendType: 0,
+				sendTime: '',
+				sendSide: ''
+			}
+		},
+		// moadl
+		switchChangeFn(e) {
+			this.form.status = e.detail.value ? 1 : 0
+		},
+		changeTimeFn(e) {
+			this.form.sendTime = this.timeList[e.detail.value]
+		},
+		changedeliveryFn(e) {
+			this.form.sendSide = this.deliveryList[e.detail.value].key
+			this.sendSideText = this.deliveryList[e.detail.value].text
+		},
+		shipModalClick(e) {
+			if (e.index === 0) {
+				this.modalCancel()
+			} else {
+				orderSend({
+					id: this.query.id,
+					option: 1,
+					...this.form
+				}).then(res => {
+					this.modalCancel()
+				})
+			}
+		},
+		modalCancel() {
+			this.shipModal = false
+		}
+	}
+}
+</script>
+
+<style lang="scss" scoped>
+	// 完成
+	.axis-first {
+		.axis-det {
+			margin-top: 40px !important;
+		}
+		.confirm-btn {
+			width: 100%;
+		}
+	}
+	// 打单
+	.com-wrap {
+		.axis-det {
+			margin-top: 14px;
+			& > div {
+				margin-top: 20px;
+				&:first-child {
+					margin-top: 0;
+				}
+			}
+		}
+    }
+    // modal
+    .ship-modal {
+        .line-label {
+            width: 140px;
+        }
+    }
+</style>

+ 125 - 35
mobile-code/src/pages/order/admin/detail.vue

@@ -6,11 +6,11 @@
 			</div>
 			<div class="page-top-det">
 				<div>
-					<div class="page-status">待配送</div>
+					<div class="page-status">{{ data.status | constantfilter('ORDER_STATUS') }}</div>
 					<!-- <div class="page-prompt">请尽快支付哟~</div> -->
 				</div>
 				<div class="page-status-img">
-					<img src="../../../static/images/order/wait-delivery.png" alt />
+					<img :src="data.status == 0 ? waitPayImg : waitDeliveryImg" alt />
 				</div>
 			</div>
 		</div>
@@ -20,7 +20,9 @@
 			<div class="module-com">
 				<div class="module-tit">商品信息</div>
 				<div class="module-det">
-					<list-module v-for="(item, subIndex) in 2" :key="subIndex" />
+					<block v-if="!$util.isEmpty(data.goodsInfoList)">
+						<list-module v-for="(items, subIndex) in data.goodsInfoList" :key="subIndex" :info="items" />
+					</block>
 				</div>
 			</div>
 			<!-- 订单信息 -->
@@ -31,84 +33,84 @@
 					<div class="order-msg-blo">
 						<div class="msg-list">
 							<div class="label">收花人</div>
-							<div class="value">叶落西风</div>
+							<div class="value">{{ data.receiveUserName }}</div>
 						</div>
 						<div class="msg-list">
 							<div class="label">电话</div>
-							<div class="value">叶落西风</div>
+							<div class="value">{{ data.receiveMobile }}</div>
 						</div>
 						<div class="msg-list">
 							<div class="label">地址</div>
-							<div class="value">海路36号(福建省厦门市软件园二期 望海路36号403室)</div>
+							<div class="value">{{ data.receiveFullAddress }}</div>
 						</div>
 					</div>
 					<!--  -->
 					<div class="order-msg-blo">
 						<div class="msg-list">
 							<div class="label">送达时间</div>
-							<div class="value">叶落西风</div>
+							<div class="value">{{ data.reachDate }}</div>
 						</div>
 						<div class="msg-list">
 							<div class="label">贺卡</div>
-							<div class="value">叶落西风</div>
+							<div class="value">{{ data.needCard == 1 ? "需要" : '不需要' }}</div>
 						</div>
 						<div class="msg-list">
-							<div class="label">地址</div>
-							<div class="value">叶落西风</div>
+							<div class="label">祝福语</div>
+							<div class="value">{{ data.cardInfo }}</div>
 						</div>
 					</div>
 					<!--  -->
-					<div class="order-msg-blo">
+					<!-- <div class="order-msg-blo">
 						<div class="msg-list">
 							<div class="label">订花人</div>
-							<div class="value">叶落西风</div>
+							<div class="value">{{ data.bookName }}</div>
 						</div>
 						<div class="msg-list">
 							<div class="label">微信</div>
-							<div class="value">叶落西风</div>
+							<div class="value">{{ data.bookName }}</div>
 						</div>
 						<div class="msg-list">
 							<div class="label">手机</div>
-							<div class="value">15606970212</div>
+							<div class="value">{{ data.bookMobile }}</div>
 						</div>
-					</div>
+					</div>-->
 					<!--  -->
 					<div class="order-msg-blo">
 						<div class="msg-list">
 							<div class="label">客户评分</div>
-							<div class="value">叶落西风</div>
+							<div class="value">{{ data.totalFlow }}</div>
 						</div>
 						<div class="msg-list">
 							<div class="label">客户留言</div>
-							<div class="value">爱豆很喜欢花很漂亮,如果下次可以送 的再快一点就完美了~</div>
+							<div class="value">{{ data.evaluate || '无' }}</div>
 						</div>
 					</div>
 					<!--  -->
 					<div class="order-msg-blo">
 						<div class="msg-list">
 							<div class="label">订单号</div>
-							<div class="value">叶落西风</div>
+							<div class="value">{{ data.orderSn }}</div>
 						</div>
 						<div class="msg-list">
 							<div class="label">时间</div>
-							<div class="value">叶落西风</div>
+							<div class="value">{{ data.addTime | formatTime }}</div>
 						</div>
 						<div class="msg-list">
 							<div class="label">总价</div>
-							<div class="value">叶落西风</div>
+							<div class="value">¥{{ data.prePrice }}</div>
 						</div>
 						<div class="msg-list">
 							<div class="label">运费</div>
-							<div class="value">¥10</div>
+							<div class="value">¥{{ data.sendCost }}</div>
 						</div>
 					</div>
 				</div>
 			</div>
 			<!-- 优惠信息 -->
-			<div class="module-com coupon-wrap">
+			<div class="module-com coupon-wrap" v-if="data.discountAmount && data.discountAmount != '0.00'">
 				<div class="module-det flex-center-between">
-					<div class="app-color-3">使用优惠券</div>
-					<div class="app-price">-¥10</div>
+					<div class="app-color-3">{{ data.discountType == 0 ? '使用优惠券' : data.discountType == 1 ? '会员打折' : '付款随机优惠' }}</div>
+					<div class="app-price">-¥{{ data.discountAmount }}</div>
 				</div>
 			</div>
 		</div>
@@ -118,34 +120,75 @@
 				<span>应付款</span>
 				<span class="app-price">
 					<span>¥</span>
-					<span class="app-size-40">580</span>
-					<span>.00</span>
+					<span class="app-size-40">{{ data.prePrice }}</span>
 				</span>
 			</div>
-			<template v-if="false">
-				<button class="button-com red">立即支付</button>
+			<template v-if="data.status == 0">
+				<button class="admin-button-com middle" @click="updatePriceFn">修改价格</button>
 			</template>
-			<template v-else>
-				<button class="admin-button-com middle">发货管理</button>
+			<template v-else-if="data.status == 1">
+				<div class="operate-btn-wrap">
+					<button class="admin-button-com middle" @click="freeShippingFn">免发货</button>
+					<button class="admin-button-com middle" @click="$util.pageTo({
+						url: 'pages/order/admin/ship',
+						query: {
+							id: data.id,
+							pageStatus: 0
+						}
+					})">发货</button>
+				</div>
 			</template>
+			<!-- <template v-if="data.status == 5">
+				<button class="admin-button-com middle">退款</button>
+			</template>-->
 		</div>
+		<!-- 修改价格 -->
+		<modal-module :show="updatePriceModal" @cancel="modalCancel" @click="updateModalClick" title="修改价格" padding="30rpx 30rpx">
+			<template v-slot:content>
+				<div class="app-modal-input-wrap">
+					<div class="inp-list-line required">
+						<!-- <div class="line-label">角色名称</div> -->
+						<div class="line-input">
+							<input v-model="form.price" type="text" :adjust-position="false" class="inp-input" placeholder="请输入价格">
+						</div>
+					</div>
+				</div>
+			</template>
+		</modal-module>
+		<!-- 免发货弹窗 -->
+		<modal-module :show="freeShipModal" @cancel="modalCancel" @click="freeShipModalClick" content="确认不需要发货?" color="#333" :size="32" padding="30rpx 30rpx"></modal-module>
 	</div>
 </template>
 
 <script>
 import ListModule from '@/components/module/app-order-list'
 import AppCoupon from '@/components/app-coupon-sel'
+import ModalModule from '@/components/plugin/modal'
 // api
-import { getDetB } from '@/api/order'
+import { getDetB, freeShipping, orderUpdatePrice } from '@/api/order'
+// image
+import waitDeliveryImg from '../../../static/images/order/wait-delivery.png'
+import waitPayImg from '../../../static/images/order/wait-pay.png'
 export default {
 	name: 'order-detail',
 	components: {
 		ListModule,
-		AppCoupon
+		AppCoupon,
+		ModalModule
 	},
 	data() {
 		return {
-			data: {}
+			// img
+			waitPayImg: waitPayImg,
+			waitDeliveryImg: waitDeliveryImg,
+			data: {},
+			// 修改价格
+			updatePriceModal: false,
+			form: {
+				price: ''
+			},
+			// 免发货
+			freeShipModal: false
 		}
 	},
 	onLoad() {
@@ -157,9 +200,50 @@ export default {
 		},
 		_getDet() {
 			return getDetB({ id: this.option.id }).then(res => {
-				console.log(res)
 				this.data = res.data
 			})
+		},
+		// 免发货
+		freeShippingFn() {
+			this.freeShipModal = true
+		},
+		// 免发货
+		freeShipModal(e) {
+			if (e.index === 0) {
+				this.modalCancel()
+			} else {
+				this.$util.pageTo({
+					url: 'pages/order/admin/ship',
+					query: {
+						id: this.data.id,
+						pageStatus: 5
+					}
+				})
+			}
+		},
+		// 修改价格
+		updatePriceFn() {
+			this.form.price = this.data.prePrice
+			this.updatePriceModal = true
+		},
+		updateModalClick(e) {
+			if (e.index === 0) {
+				this.modalCancel()
+			} else {
+				orderUpdatePrice({ id: this.data.id, price: this.form.price }).then(res => {
+					this.modalCancel()
+					this.$msg('修改成功!')
+					setTimeout(() => {
+						this._getDet()
+					}, 1000)
+				})
+			}
+		},
+		// 关闭弹窗
+		modalCancel() {
+			this.form.price = ''
+			this.updatePriceModal = false
+			this.freeShippingModal = false
 		}
 	}
 }
@@ -203,7 +287,7 @@ export default {
 				border-top: 1px solid $borderColor;
 				.msg-list {
 					@include disFlex(flex-start, space-between);
-					margin: 8px 0;
+					margin: 16px 0;
 					.label {
 						width: 40%;
 						color: $fontColor3;
@@ -235,6 +319,12 @@ export default {
 		.default {
 			width: 260px;
 		}
+		.operate-btn-wrap {
+			.admin-button-com {
+				margin-left: 30px;
+				padding: 20px 30px;
+			}
+		}
 	}
 	// 公共模块
 	.module-com {

+ 55 - 18
mobile-code/src/pages/order/admin/ship.vue

@@ -1,27 +1,27 @@
 <template>
 	<div class="app-content">
 		<!-- order-top -->
-		<div class="module-com order-wrap">
+		<div class="module-com order-wrap" v-if="!$util.isEmpty(data)">
 			<div class="order-det">
 				<div>
 					<div class="label">订单号</div>
-					<div>201911232495</div>
+					<div>{{ data.orderSn }}</div>
 				</div>
 				<div>
 					<div class="label">下单时间</div>
-					<div>2019-10-10 20:00:00</div>
+					<div>{{ data.addTime | formatTime }}</div>
 				</div>
 				<div>
 					<div class="label">商品名称</div>
-					<div>--</div>
+					<div>{{ data.goodsInfoList[0].title }}</div>
 				</div>
 				<div>
 					<div class="label">金额</div>
-					<div>¥390</div>
+					<div>¥{{ data.actPrice }}</div>
 				</div>
 			</div>
 			<div class="order-img">
-				<img src="../../../static/images/order/default.png" alt mode="widthFix" />
+				<img :src="data.goodsInfoList[0].smallCoverUrl" alt="商品图" mode="widthFix" />
 			</div>
 		</div>
 		<!-- order-bottom -->
@@ -29,31 +29,35 @@
 			<!-- 列表 -->
 			<!-- 选择订单 -->
 			<block v-if="showIndex == 0">
-				<sel-order />
+				<sel-order :orderData="data" :query="option" />
 			</block>
 			<!-- 选择发货 -->
 			<block v-if="showIndex == 1">
-				<sel-ship />
+				<sel-ship :orderData="data" :query="option" />
 			</block>
 			<!-- 选择自提 -->
 			<block v-if="showIndex == 2">
-				<sel-mention />
+				<sel-mention :orderData="data" :query="option" />
 			</block>
 			<!-- 快递送待接单 -->
 			<block v-if="showIndex == 3">
-				<sel-pending-order />
+				<sel-pending-order :orderData="data" :query="option" />
 			</block>
 			<!-- 发货选择快递送已接单 -->
 			<block v-if="showIndex == 4">
-				<sel-express-confirm />
+				<sel-express-confirm :orderData="data" :query="option" />
 			</block>
 			<!-- 发货选择完成 -->
 			<block v-if="showIndex == 5">
-				<sel-confirm />
+				<sel-confirm :orderData="data" :query="option" />
 			</block>
 			<!-- 发货管理完成 -->
 			<block v-if="showIndex == 6">
-				<sel-ship-confirm />
+				<sel-ship-confirm :orderData="data" :query="option" />
+			</block>
+			<!-- 有配送单-发货管理 -->
+			<block v-if="showIndex == 7">
+				<sel-ship-manage :orderData="data" :query="option" :orderComData="orderComData" />
 			</block>
 		</div>
 	</div>
@@ -74,6 +78,11 @@ import SelExpressConfirm from './components/sel-express-confirm'
 import SelConfirm from './components/sel-confirm'
 // 发货管理完成
 import SelShipConfirm from './components/sel-ship-confirm'
+// 有配送单-发货管理
+import SelShipManage from './components/sel-ship-manage'
+
+// api
+import { getDetB, orderSendDet } from '@/api/order'
 export default {
 	name: 'admin-ship',
 	components: {
@@ -83,11 +92,36 @@ export default {
 		SelPendingOrder,
 		SelExpressConfirm,
 		SelConfirm,
-		SelShipConfirm
+		SelShipConfirm,
+		// 有配送单
+		SelShipManage
 	},
 	data() {
 		return {
-			showIndex: 5
+			showIndex: null,
+			data: {},
+			orderComData: []
+		}
+	},
+	onLoad() {
+		this.init()
+	},
+	methods: {
+		init() {
+			this.showIndex = this.option.pageStatus || 0
+			this._getDet()
+
+			this._orderComDet()
+		},
+		_getDet() {
+			return getDetB({ id: this.option.id }).then(res => {
+				this.data = res.data
+			})
+		},
+		_orderComDet() {
+			orderSendDet({ id: this.option.id }).then(res => {
+				this.orderComData = res.data
+			})
 		}
 	}
 }
@@ -107,12 +141,15 @@ export default {
 		@include disFlex(center, space-between);
 		border-bottom: 20px solid $backColor;
 		.order-det {
-			font-size: 28px;
+			font-size: 24px;
 			& > div {
 				@include disFlex(center, flex-start);
-				margin-top: 2px;
+				margin-top: 12px;
+				&:first-child {
+					margin-top: 0;
+				}
 				.label {
-					width: 140px;
+					width: 120px;
 					color: $fontColor2;
 				}
 			}

+ 12 - 5
mobile-code/src/pages/order/detail.vue

@@ -20,7 +20,9 @@
 			<div class="module-com">
 				<div class="module-tit">商品信息</div>
 				<div class="module-det">
-					<list-module v-for="(item, subIndex) in 2" :key="subIndex" />
+					<block v-if="!$util.isEmpty(data.goodsInfoList)">
+						<list-module v-for="(items, subIndex) in data.goodsInfoList" :key="subIndex" :info="items" />
+					</block>
 				</div>
 			</div>
 			<!-- 订单信息 -->
@@ -96,11 +98,11 @@
 					<span>.00</span>
 				</span>
 			</div>
-			<template v-if="false">
+			<template v-if="data.status == 0">
 				<button class="button-com red">立即支付</button>
 			</template>
-			<template v-else>
-				<button class="button-com">填写收花地址</button>
+			<template v-else-if="data.status == 1">
+				<button class="admin-button-com middle">发货管理</button>
 			</template>
 		</div>
 	</div>
@@ -114,6 +116,11 @@ export default {
 	components: {
 		ListModule,
 		AppCoupon
+	},
+	data() {
+		return {
+			data: {}
+		}
 	}
 }
 </script>
@@ -156,7 +163,7 @@ export default {
 				border-top: 1px solid $borderColor;
 				.msg-list {
 					@include disFlex(flex-start, space-between);
-					margin: 8px 0;
+					margin: 16px 0;
 					.label {
 						width: 40%;
 						color: $fontColor3;

+ 1 - 1
mobile-code/src/uni.scss

@@ -12,7 +12,7 @@ $imgUrl: 'https://wximg.meijiabang.com/hkds/miniapp/images/';
 
 // 所有样式为公共样式,已在全局引用可直接使用
 // 主色
-$mainColor: #FF2842;
+$mainColor: #3385FF;
 $mainColor1: #049E2C;
 $auxiliaryColor2: #ff6900;