Browse Source

采美订单改版

zhengjinyi 2 years ago
parent
commit
0e9a8f1cac
62 changed files with 4692 additions and 2530 deletions
  1. 39 0
      src/main/java/com/caimei/www/controller/authorized/supplier/SupplierPageController.java
  2. 8 0
      src/main/java/com/caimei/www/controller/authorized/user/UserPageController.java
  3. 2 2
      src/main/resources/static/css/article/article.css
  4. 1 1
      src/main/resources/static/css/base/base.pc.css
  5. 6 4
      src/main/resources/static/css/pay/caimei-paylist.css
  6. 17 10
      src/main/resources/static/css/shopping/shopping.css
  7. 27 4
      src/main/resources/static/css/supplier-center/order/detail.css
  8. 2 2
      src/main/resources/static/css/supplier-center/order/logistics.css
  9. 102 0
      src/main/resources/static/css/supplier-center/order/order-edit.css
  10. 87 0
      src/main/resources/static/css/supplier-center/order/order-return.css
  11. 76 71
      src/main/resources/static/css/supplier-center/order/orderlist.css
  12. 46 0
      src/main/resources/static/css/supplier-center/order/remarks-add-pay.css
  13. 46 0
      src/main/resources/static/css/supplier-center/order/remarks-add.css
  14. 35 0
      src/main/resources/static/css/supplier-center/order/remarks-details.css
  15. 42 41
      src/main/resources/static/css/supplier-center/order/settlement.css
  16. 35 114
      src/main/resources/static/css/supplier-center/shop/goods.css
  17. 127 108
      src/main/resources/static/css/supplier-center/shop/release.css
  18. 30 31
      src/main/resources/static/css/user-center/order/detail.css
  19. 38 45
      src/main/resources/static/css/user-center/order/orderlist.css
  20. 46 0
      src/main/resources/static/css/user-center/order/remarks-add-pay.css
  21. 18 12
      src/main/resources/static/js/common/serviceapi/order.service.js
  22. 16 0
      src/main/resources/static/js/common/serviceapi/pay.service.js
  23. 112 1
      src/main/resources/static/js/common/serviceapi/supplier.service.js
  24. 4 1
      src/main/resources/static/js/common/serviceapi/utils.service.js
  25. 12 12
      src/main/resources/static/js/pay/caimei-hlbpay.js
  26. 15 15
      src/main/resources/static/js/pay/caimei-pay.js
  27. 22 26
      src/main/resources/static/js/pay/caimei-paylist.js
  28. 200 282
      src/main/resources/static/js/shopping/confirm.js
  29. 174 0
      src/main/resources/static/js/shopping/mixins/conMixins.js
  30. 197 53
      src/main/resources/static/js/supplier-center/order/detail.js
  31. 146 0
      src/main/resources/static/js/supplier-center/order/order-edit.js
  32. 126 0
      src/main/resources/static/js/supplier-center/order/order-return.js
  33. 181 141
      src/main/resources/static/js/supplier-center/order/orderlist.js
  34. 64 0
      src/main/resources/static/js/supplier-center/order/remarks-add-pay.js
  35. 125 0
      src/main/resources/static/js/supplier-center/order/remarks-add.js
  36. 58 0
      src/main/resources/static/js/supplier-center/order/remarks-details.js
  37. 65 89
      src/main/resources/static/js/supplier-center/order/settlement.js
  38. 129 368
      src/main/resources/static/js/supplier-center/shop/goods.js
  39. 26 8
      src/main/resources/static/js/supplier-center/shop/mixins/checkeMixins.js
  40. 20 3
      src/main/resources/static/js/supplier-center/shop/mixins/getInfoMixins.js
  41. 108 37
      src/main/resources/static/js/supplier-center/shop/mixins/releaseMixins.js
  42. 6 7
      src/main/resources/static/js/supplier-center/shop/release.js
  43. 204 180
      src/main/resources/static/js/user-center/order/detail.js
  44. 105 127
      src/main/resources/static/js/user-center/order/list.js
  45. 64 0
      src/main/resources/static/js/user-center/order/remarks-add-pay.js
  46. 1 16
      src/main/resources/templates/components/header.html
  47. 26 19
      src/main/resources/templates/pay/caimei-paylist.html
  48. 117 39
      src/main/resources/templates/shopping/confirm.html
  49. 1 0
      src/main/resources/templates/supplier-center/order/delivery.html
  50. 138 47
      src/main/resources/templates/supplier-center/order/detail.html
  51. 205 109
      src/main/resources/templates/supplier-center/order/list.html
  52. 135 0
      src/main/resources/templates/supplier-center/order/order-edit.html
  53. 111 0
      src/main/resources/templates/supplier-center/order/order-return.html
  54. 80 0
      src/main/resources/templates/supplier-center/order/remarks-add-pay.html
  55. 94 0
      src/main/resources/templates/supplier-center/order/remarks-add.html
  56. 75 0
      src/main/resources/templates/supplier-center/order/remarks-details.html
  57. 161 86
      src/main/resources/templates/supplier-center/order/settlement.html
  58. 262 266
      src/main/resources/templates/supplier-center/shop/goods.html
  59. 80 30
      src/main/resources/templates/supplier-center/shop/release.html
  60. 66 80
      src/main/resources/templates/user-center/order/detail.html
  61. 51 43
      src/main/resources/templates/user-center/order/list.html
  62. 80 0
      src/main/resources/templates/user-center/order/remarks-add-pay.html

+ 39 - 0
src/main/java/com/caimei/www/controller/authorized/supplier/SupplierPageController.java

@@ -36,6 +36,16 @@ public class SupplierPageController extends BaseController {
 	private static final String DELIVERY_RECORD = "supplier-center/order/delivery-record";
     /** 结算管理 */
 	private static final String SETTLEMENT_LIST = "supplier-center/order/settlement";
+    /** 添加订单备注 */
+	private static final String REMARKS_ADD = "supplier-center/order/remarks-add";
+    /** 订单备注详情 */
+	private static final String REMARKS_DETAILS = "supplier-center/order/remarks-details";
+    /** 上传支付凭证 */
+	private static final String REMARKS_ADD_PAY = "supplier-center/order/remarks-add-pay";
+    /** 发起退款 */
+	private static final String ORDER_RETURN = "supplier-center/order/order-return";
+    /** 编辑订单 */
+	private static final String ORDER_EDIT = "supplier-center/order/order-edit";
     /** 员工管理 */
 	private static final String OPERATION_LIST = "supplier-center/operation/list";
     /** 添加/编辑员工 */
@@ -156,6 +166,35 @@ public class SupplierPageController extends BaseController {
         return DELIVERY_RECORD;
     }
 
+    /** 订单备注详情 */
+    @GetMapping("/supplier/order/remarks-details.html")
+    public String remarksDetails() {
+        return REMARKS_DETAILS;
+    }
+
+    /** 添加订单备注 */
+    @GetMapping("/supplier/order/remarks-add.html")
+    public String remarksAdd() {
+        return REMARKS_ADD;
+    }
+
+    /** 上传支付凭证 */
+    @GetMapping("/supplier/order/remarks-pay.html")
+    public String remarksAddPay() {
+        return REMARKS_ADD_PAY;
+    }
+
+    /** 发起退款 */
+    @GetMapping("/supplier/order/order-return.html")
+    public String orderReturn() {
+        return ORDER_RETURN;
+    }
+    /** 修改订单 */
+    @GetMapping("/supplier/order/order-edit.html")
+    public String orderEdit() {
+        return ORDER_EDIT;
+    }
+
     /** 员工管理 */
     @GetMapping("/supplier/operation/list.html")
     public String operationList() {

+ 8 - 0
src/main/java/com/caimei/www/controller/authorized/user/UserPageController.java

@@ -18,6 +18,8 @@ public class UserPageController extends BaseController {
 	private static final String ORDER_LIST = "user-center/order/list";
     /** 订单详情 */
 	private static final String ORDER_DETAIL = "user-center/order/detail";
+    /** 上传支付凭证 */
+    private static final String REMARKS_ADD_PAY = "user-center/order/remarks-add-pay";
     /** 物流 */
 	private static final String LOGISTICS = "user-center/order/logistics";
     /** 运营人员列表 */
@@ -93,6 +95,12 @@ public class UserPageController extends BaseController {
         return LOGISTICS;
     }
 
+    /** 上传支付凭证 */
+    @GetMapping("/user/order/remarks-pay.html")
+    public String remarksAddPay() {
+        return REMARKS_ADD_PAY;
+    }
+
     /** 运营人员列表 */
     @GetMapping("/user/operation/list.html")
     public String operationList() {

+ 2 - 2
src/main/resources/static/css/article/article.css

@@ -47,9 +47,9 @@ dl,dd,dt{zoom:1}
 	#scrollTop .item>span{display:block;width:100%;box-sizing:border-box;position:relative;cursor:pointer;}
 	#scrollTop .item>span:hover{color:#FF5B00;}
 	#scrollTop .item .wechat{padding:4px 16px 4px 48px;line-height:16px;}
-	#scrollTop .item .wechat:before{width:32px;height:32px;background-position:0 -254px;position:absolute;top:4px;left:16px}
+	#scrollTop .item .wechat:before{width:32px;height:32px;background-position:-7px -254px;position:absolute;top:4px;left:16px}
 	#scrollTop .item .toTop{padding:12px 16px 12px 48px;line-height:16px;}
-	#scrollTop .item .toTop:before{width:32px;height:32px;background-position:-42px -254px;position:absolute;top:4px;left:16px}
+	#scrollTop .item .toTop:before{width:32px;height:32px;background-position:-49px -254px;position:absolute;top:4px;left:16px}
 	#scrollTop .item .wechatHover{display:none;position:absolute;left:-150px;top:-150px;z-index:999;width:150px;height:150px;padding:15px;background:#FFF;}
 	#scrollTop .item .wechatHover a{color:#FF5B00}
 	#scrollTop .item .wechatHover span{color:#93979F;margin-top:10px}

+ 1 - 1
src/main/resources/static/css/base/base.pc.css

@@ -479,7 +479,7 @@ iframe{width:320px !important;height: 280px !important}
 .cmbeans-alert-image{width: 404px;height: 342px;position: absolute;top: 0;left: 0;bottom: 0;right: 0;margin: auto;box-sizing: border-box;}
 .cmbeans-alert-image img{width: 404px;height: 342px;display: block;}
 .cmbeans-alert-image .icon{width:30px;height:30px;display: block;position: absolute;top: 45px;right: -35px;cursor: pointer;}
-.cmbeans-alert-image .icon:before{width:33px;height:33px;background-position:-197px -550px}
+.cmbeans-alert-image .icon:before{width:33px;height:33px;background-position:-195px -548px;}
 .cmbeans-alert-content{width: 310px;height: 399px;position: absolute;top: 0;left: 0;bottom: 0;right: 0;margin: auto;box-sizing: border-box;padding-top: 238px;background-size: cover;}
 .cmbeans-alert-content .icon{width:30px;height:30px;display: block;position: absolute;top: 45px;right: -35px;cursor: pointer;}
 .cmbeans-alert-content .icon:before{width:33px;height:33px;background-position:-197px -550px}

+ 6 - 4
src/main/resources/static/css/pay/caimei-paylist.css

@@ -45,13 +45,14 @@
     .pay-alert-content.show{opacity: 1;}
     .pay-alert-content .pay-big-alert{width: 440px;height: 402px;background: #FFFFFF;border-radius: 2px;position: absolute;top: 0;right: 0;left: 0;bottom: 0;margin: auto;z-index: 9998;}
     .pay-alert-content .pay-big-alert .title{width: 100%;height: 48px;box-sizing: border-box;font-size: 14px;line-height: 48px;text-align: left;color: #333333;float: left;position: relative;border-bottom: 1px solid #EFEFEF;background-color: #FFFFFF;padding: 0 14px;}
-    .pay-alert-content .pay-big-alert .title .icon-close{width: 16px;height: 16px;display: block;position: absolute;right:12px;top: 12px;background: url("/img/base/icon.png")-319px 0 no-repeat;cursor: pointer;}
+    .pay-alert-content .pay-big-alert .title .icon-close{width: 16px;height: 16px;display: block;position: absolute;right:12px;top: 12px;background: url("/img/base/icon.png")-312px 0 no-repeat;cursor: pointer;}
     .pay-alert-content .pay-big-alert .content{width: 100%;height: 225px;line-height: 24px;float: left;padding: 16px;box-sizing: border-box;}
     .pay-alert-content .pay-big-alert .content-top{width: 100%;height: auto;float: left;}
-    .pay-alert-content .pay-big-alert .content-viw{width:100%;height: auto;float: left;line-height: 34px;font-weight: bold;font-size: 14px;color: #22272E;text-align: left;box-sizing: border-box;padding: 0 100px;}
+    .pay-alert-content .pay-big-alert .content-viw{width:100%;height: auto;float: left;line-height: 34px;font-weight: bold;font-size: 14px;color: #22272E;text-align: left;box-sizing: border-box;padding: 0 30px;}
     .pay-alert-content .pay-big-alert .content-viw .wx_code{width: 132px;height: 132px;margin: 0 auto;display: block;}
     .pay-alert-content .pay-big-alert .content-viw span{font-weight: normal;}
     .pay-alert-content .pay-big-alert .content-viw span.red{color: #F94B4B;}
+    .pay-alert-content .pay-big-alert .content-viw span.none{color: #999999;}
     .pay-alert-content .pay-big-alert .content-viw span.copy{margin-left:20px;display:inline-block;width: 56px;height: 24px;background-image: linear-gradient(214deg, #ff2929 0%, #ff6d1b 100%);border-radius: 2px;line-height: 24px;text-align: center;font-size: 12px;color: #FFF;margin-top: 6px;cursor: pointer;}
     .pay-alert-content .pay-big-alert .content-bot{width: 100%;height: 64px;float: left;box-sizing: border-box;background-color: #F5F5F5;padding: 10px 16px;margin-top: 20px;}
     .pay-alert-content .pay-big-alert .content-bot p{line-height: 22px;font-size: 14px;color: #666666;}
@@ -100,13 +101,14 @@
     .pay-alert-content.show{opacity: 1;}
     .pay-alert-content .pay-big-alert{width: 74.8vw;height: 83.6vw;background: #FFFFFF;border-radius: 2px;position: absolute;top: 0;right: 0;left: 0;bottom: 0;margin: auto;z-index: 9998;}
     .pay-alert-content .pay-big-alert .title{width: 100%;height: 11vw;box-sizing: border-box;font-size: 3.6vw;line-height: 11vw;text-align: left;color: #333333;float: left;position: relative;border-bottom: 1px solid #EFEFEF;background-color: #FFFFFF;padding: 0 3.4vw;}
-    .pay-alert-content .pay-big-alert .title .icon-close{width: 16px;height: 16px;display: block;position: absolute;right:12px;top: 12px;background: url("/img/base/icon.png")-319px 0 no-repeat;cursor: pointer;}
+    .pay-alert-content .pay-big-alert .title .icon-close{width: 16px;height: 16px;display: block;position: absolute;right:12px;top: 12px;background: url("/img/base/icon.png")-312px 0 no-repeat;cursor: pointer;}
     .pay-alert-content .pay-big-alert .content{width: 100%;height: auto;line-height: 8vw;float: left;padding: 4vw;box-sizing: border-box;}
     .pay-alert-content .pay-big-alert .content-top{width: 100%;height: auto;float: left;}
-    .pay-alert-content .pay-big-alert .content-viw{width:100%;height: auto;float: left;line-height: 8vw;font-weight: bold;font-size: 3.4vw;color: #22272E;text-align: left;box-sizing: border-box;padding: 0 8.5vw;}
+    .pay-alert-content .pay-big-alert .content-viw{width:100%;height: auto;float: left;line-height: 8vw;font-weight: bold;font-size: 3.4vw;color: #22272E;text-align: left;box-sizing: border-box;padding: 0 0;}
     .pay-alert-content .pay-big-alert .content-viw .wx_code{width: 27.2vw;height: 27.2vw;margin: 0 auto;display: block;}
     .pay-alert-content .pay-big-alert .content-viw span{font-weight: normal;}
     .pay-alert-content .pay-big-alert .content-viw span.red{color: #F94B4B;}
+    .pay-alert-content .pay-big-alert .content-viw span.none{color: #999999;}
     .pay-alert-content .pay-big-alert .content-viw span.copy{margin-left:4vw;display:inline-block;width: 12.4vw;height: 5.2vw;background-image: linear-gradient(214deg, #ff2929 0%, #ff6d1b 100%);border-radius: 2px;line-height: 5.2vw;text-align: center;font-size: 3vw;color: #FFF;margin-top: 6px;cursor: pointer;}
     .pay-alert-content .pay-big-alert .content-bot{width: 100%;height: 16vw;float: left;box-sizing: border-box;background-color: #F5F5F5;padding: 2.8vw;margin-top: 4vw;}
     .pay-alert-content .pay-big-alert .content-bot p{line-height: 5vw;font-size:2.8vw;color: #666666;}

+ 17 - 10
src/main/resources/static/css/shopping/shopping.css

@@ -42,9 +42,12 @@ li{list-style:none}
     .listWrap .supplierItem,.listWrap .supplierBtn{color:#22272E}
     .listWrap .supplierBtn{border-top:1px solid #F5F5F5;text-align:right}
     .listWrap .supplierBtn em{color:#f55c5c;font-size:16px}
-    .listWrap .supplierBtn .note{float:left;}
-    .listWrap .supplierBtn .note input{width:600px;height:36px;line-height:36px;background:#F7F7F7;border-radius:5px;border:none;padding:0 10px;font-size:14px}
-    .listWrap .supplierBtn .item{line-height:50px;}
+    .listWrap .supplierBtn .item-note{float:left;}
+    .listWrap .supplierBtn .item-note input{width:600px;height:36px;line-height:36px;background:#F7F7F7;border-radius:5px;border:none;padding:0 10px;font-size:14px}
+    .listWrap .supplierBtn .item-content{float:right;height: 100%;}
+    .listWrap .supplierBtn .item{line-height:50px;float:right;}
+    .listWrap .supplierBtn .freight{float:right;margin-right:20px;line-height:50px;cursor: pointer;}
+    .freight-radio{ width: 100%;height: 28px;line-height: 28px;float: left;margin-bottom: 10px;}
     .listWrap .cartItem{width:100%;height:100px;line-height:100px;margin-top:10px;padding:14px 0;font-size:16px}
     .listWrap .cartItem:first-child{margin-top:0}
     .listWrap .cartItem .c2{text-align:left}
@@ -171,7 +174,7 @@ li{list-style:none}
     .summaryWrap .summary .submit.dis{background:#999;}
     .summaryWrap.fixed{position:fixed;bottom:0;left:0;margin:0;z-index:996;box-shadow:20px 20px 102px rgba(0,0,0,0.1)}
     .summaryWrap .summary .back{color:#f55c5c}
-    .summaryWrap .summary .back .icon:before{width:20px;height:20px;background-position:-345px 0;margin-right:15px}
+    .summaryWrap .summary .back .icon:before{width:20px;height:20px;background-position:-340px 0;margin-right:15px}
     .priceTotal{position:relative;text-align:right;height: 50px;line-height: 50px;display:inline-block;}
     .priceTotal em{color:#f55c5c}
     .priceTotal .dl{position:absolute;right:0;top:-20px;cursor:pointer;height:24px;font-size:12px}
@@ -258,13 +261,14 @@ li{list-style:none}
     .balanceWrap .text{display:inline-block;height:16px;line-height:16px;font-size:14px;color:#333;margin-left:15px;vertical-align:top}
     .balanceWrap .text .red{color:#FF2A2A}
     .totalPriceWrap{line-height:36px;text-align:right;padding:16px;width: 100%;float: left;}
-    .totalPriceWrap span{display:inline-block;width:200px}
+    .totalPriceWrap span{display:inline-block;width:160px;}
     .totalPriceWrap .pis{color: #FF5B00;}
     .totalPriceWrap span em{font-style:normal;color:#FF2A2A}
     /* 发票 */
     .invoiceWrap{padding:16px;text-align:left}
-    .invoiceForm .formLine{position:relative;padding-left:120px;width:456px}
-    .invoiceForm .formLine .label{position:absolute;left:0;top:0;width:120px;text-align:right;line-height:36px;font-size:14px}
+    .invoiceForm{margin-top: 15px;}
+    .invoiceForm .formLine{position:relative;padding-left:80px;width:456px}
+    .invoiceForm .formLine .label{position:absolute;left:0;top:0;width:80px;text-align:right;line-height:36px;font-size:14px}
     .invoiceForm .formLine input[disabled]{border:none}
 
     /*优惠券弹窗*/
@@ -368,9 +372,12 @@ li{list-style:none}
     .listWrap .cartItem{padding:2.2vw 3.3vw;height:24vw;line-height:24vw;position:relative}
     .listWrap .supplierBtn{border-top:1px solid #F7F7F7;width:93vw;margin:0 auto;padding-bottom:2vw;color:#22272e;font-size:3.4vw;text-align:right}
     .listWrap .supplierBtn em{color:#f55c5c}
-    .listWrap .supplierBtn .note{text-align:left;white-space:nowrap;overflow:hidden}
-    .listWrap .supplierBtn .note input{width:79vw;height:8vw;line-height:8vw;background:#F7F7F7;border-radius:1vw;border:none;padding:0 2vw;font-size:3.1vw}
-    .listWrap .supplierBtn .item{display:inline-block;padding-top:2vw;line-height:7vw;}
+    .listWrap .supplierBtn .item-content{width: 100%;float: left;}
+    .listWrap .supplierBtn .item-note{width: 100%;float: left; text-align:left;white-space:nowrap;overflow:hidden}
+    .listWrap .supplierBtn .item-note input{width:79vw;height:8vw;line-height:8vw;background:#F7F7F7;border-radius:1vw;border:none;padding:0 2vw;font-size:3.1vw}
+    .listWrap .supplierBtn .item{display:inline-block;padding-top:2vw;line-height:8vw;float: right;}
+    .listWrap .supplierBtn .freight{float:right;margin-right:3vw;padding-top:2vw;line-height:8vw;}
+    .freight-radio{ width: 100%;height: 6vw;line-height: 6vw;float: left;margin-bottom: 2vw;}
     .listWrap .supplierItem .c0{float:left;width:9.6vw;text-align:center;    height: 100%;display: flex;align-items: center;}
     .listWrap .coll-checked{width: 16px;height: 16px;cursor: pointer;background: url("/img/cart/icon_weigouxuan@2x.png") no-repeat;background-size: cover;display: block;margin-right: 6px;margin-top: 0;}
     .listWrap .coll-checked.checked{background: url("/img/cart/icon_yixuanze@2x.png") no-repeat;background-size: cover;}

+ 27 - 4
src/main/resources/static/css/supplier-center/order/detail.css

@@ -27,13 +27,24 @@
     .product-img h3 {display: inline-block;width: 286px;margin-left: 10px;font-size: 16px;color: #22272e;vertical-align: middle;word-break: break-all;overflow: hidden;text-overflow: ellipsis;display: -webkit-inline-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical}
     .info-title {color: #22272e;font-size: 16px;padding: 15px;}
     .title-name {color: #22272e;margin-bottom: 20px}
+    .title-name p{float: left;}
+
     .title-time {float: right;color: #9aa5b5;}
-    .order-item {display: flex}
+    .order-item {display: flex;width: 100%;}
     .order-item p {margin-bottom: 20px;display: inline-block;color: #627386;width: 25%}
     .red {color: #f94b4b;}
+    .none {color: #333333;}
     .order-info {margin-top: 20px;}
     .order-info .content {background: #fff;padding: 15px;box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.07);}
+    .order-info .vouch-list{ width: 100%;height: auto;box-sizing: border-box;padding: 16px 0; border-bottom: 1px solid #E2E7EF;}
+    .order-info .refund-item-p{width: 100%;line-height: 30px;font-size: 14px;color: #666666;float: left;}
+    .order-info .refund-item-imgs{width: 100%;height: auto;margin: 5px 0;float: left;}
+    .order-info .refund-item-imgs .item-image{width: 100px;height: 100px;margin-right: 10px;border: 1px dashed #E1E1E1;float: left;}
+    .order-info .refund-item-imgs .item-image a{width: 100px;height: 100px;display: block;}
+    .order-info .refund-item-imgs .item-image a img{width: 100px;height: 100px;display: block;}
     .order-item.pay span {color: #FF5B00;}
+    .order-item p.state{color:#FF5B00;margin-left: 20px;}
+    .order-item p.none{width: 100%;}
     .sett-re {margin-top: 20px}
     .sett-re .title{color: #22272e;font-size: 16px;padding: 15px}
     .sett-re .payShopRecord {background: #fff;height: auto;line-height: 72px;padding-left: 15px;color: #22272e;padding:20px;}
@@ -61,18 +72,18 @@
     .userinfo .user p span {color: #22272e;}
     .address {margin-bottom: 4vw;color: #627386;}
     .address span {color: #22272e;}
-    .product-info {margin-top: 4vw;background: #fff}
+    .product-info {margin-top: 4vw;background: #fff;padding-bottom: 18vw;}
     .price {overflow: hidden;}
     .protitle {color: #22272e;font-size: 3.4vw;padding: 4vw;float: left}
     .price-right {float: right;padding: 4vw;color: #22272e}
     .red {color: #f94b4b;}
     .product {background: #fff;padding: 0 4vw;box-shadow: 0px .8vw 1.6vw 0px rgba(0, 0, 0, 0.07);position: relative;height: 45vw}
     .product-title {height: 5.3vw;line-height: 5.3vw;position: relative;width: 100%}
-    .product-title li {display: inline-block;list-style: none;color: #627386;position: relative;top: 20vw;width: 30%;text-align: center}
+    .product-title li {display: inline-block;list-style: none;color: #627386;position: relative;top: 20vw;width: 24%;text-align: center}
     .product-title li:nth-child(1) {width: 100%;text-align: left;top: 0}
     .product-title li:nth-child(2) {text-align: left}
     .pro-information li {width: 100%;padding: 2.7vw 0;list-style: none;}
-    .pro-information li div {display: inline-block;text-align: center;top: 9.6vw;width: 30%;position: relative}
+    .pro-information li div {display: inline-block;text-align: center;top: 9.6vw;width: 24%;position: relative}
     .pro-information li div.product-img {width: 100%;text-align: left;top: 0;position: relative;}
     .pro-information li div:nth-child(2){text-align: left;}
     .product-img .tips{position:absolute;background:#ff4500;line-height:5vw;height:5vw;padding:0 2vw;white-space:nowrap;font-size:3.1vw;color:#FFF;top:0;left:0}
@@ -80,14 +91,26 @@
     .product-img h3 {width: 36.8vw;font-size: 3.4vw;letter-spacing: .27vw;white-space: normal;vertical-align: middle;word-break: break-all;overflow: hidden;text-overflow: ellipsis;display: -webkit-inline-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical}
     .info-title {color: #22272e;font-size: 3.4vw;padding: 4vw;}
     .title-name {color: #22272e;margin-bottom: 5.3vw}
+    .title-name p{float: left;}
+    .title-name p.state{color:#FF5B00;margin-left: 10vw;}
     .title-time {float: right;color: #9aa5b5;}
     .order-item p {margin-bottom: 5.3vw;display: inline-block;color: #627386;width: 48%}
     .red {color: #f94b4b;}
     .order-info {margin-top:5.3vw;}
     .order-info .content {background: #fff;padding: 4vw;box-shadow: 0px .8vw 1.6vw 0px rgba(0, 0, 0, 0.07);}
+    .order-info .vouch-list{ width: 100%;height: auto;box-sizing: border-box;padding: 1.5vw 0; border-bottom: 1px solid #E2E7EF;}
+    .order-info .refund-item-p{width: 100%;line-height: 8vw;font-size: 3.4vw;color: #666666;float: left;}
+    .order-info .refund-item-imgs{width: 100%;height: auto;margin: 5px 0;float: left;}
+    .order-info .refund-item-imgs .item-image{width: 15vw;height: 15vw;margin-right: 10px;border: 1px dashed #E1E1E1;float: left;}
+    .order-info .refund-item-imgs .item-image a{width: 15vw;height: 15vw;display: block;}
+    .order-info .refund-item-imgs .item-image a img{width: 15vw;height: 15vw;display: block;}
     .order-item.pay span {color: #FF5B00;}
     .sett-re {margin-top:5.3vw}
     .sett-re div:nth-child(1) {color: #22272e;font-size:3.4vw;padding: 4vw}
     .sett-re div:nth-child(2) {background: #fff;line-height: 8vw;padding-left: 4vw;color: #22272e;font-size: 3.2vw;}
     .sett-re div:nth-child(2) p {display: inline-block;margin-right: 2.7vw}
+    .section-botton {width: 100%;height: 15.6vw;box-sizing: border-box;padding: 3vw;background-color: #FFFFFF;position: fixed;bottom: 0;right: 0;}
+    .section-botton.inner {width: 100%;}
+    .section-botton .inner .btn {float: right;box-sizing: border-box;width: 22.4vw;height: 9.6vw;background-color: #ffe6dc;border-radius: .53vw;border: solid .27vw #FF5B00;text-align: center;line-height: 9.6vw;color: #FF5B00;display: inline-block;margin-left:3vw; }
+    footer{display: none;}
 }

+ 2 - 2
src/main/resources/static/css/supplier-center/order/logistics.css

@@ -51,8 +51,8 @@
     .defineBtn button{width: 90px;height: 36px;line-height: 36px;text-align: center;color: #fff;background-color: #FF5B00;border-radius: 2px;border: solid 1px #FF5B00;cursor: pointer;margin-right: 15px}
     .defineBtn{overflow: hidden;padding: 20px;}
     .defineBtn>div{float: right;}
-    .icon.add-company:before{width: 20px;height: 25px;background-position: -307px -511px}
-    .icon.sub-company:before{width: 20px;height: 25px;background-position: -337px -511px}
+    .icon.add-company:before{width: 20px;height: 25px;background-position: -316px -507px;}
+    .icon.sub-company:before{width: 20px;height: 25px;background-position: -346px -507px;}
 
 }
 

+ 102 - 0
src/main/resources/static/css/supplier-center/order/order-edit.css

@@ -0,0 +1,102 @@
+@media screen and (min-width:768px) {
+    .crumbs {font-size: 16px;color: #22272e}
+    .userinfo {padding: 5px 20px;background: #fff;box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.07);}
+    .info {height: 56px;line-height: 56px;border-bottom: solid 1px #e2e7ef;font-size: 16px;color: #22272e;overflow: hidden}
+    .comback {width: 90px;height: 36px;float: right;text-align: right;display: inline-block;}    .userinfo .user p {display: inline-block;color: #627386;margin: 15px 45px 15px 0px;}
+    .userinfo .user p span {color: #22272e;}
+    .address {margin-bottom: 15px;color: #627386;}
+    .address span {color: #22272e;}
+    .product-info {margin-top: 20px;}
+    .price {overflow: hidden;}
+    .protitle {color: #22272e;font-size: 16px;padding: 15px;float: left;}
+    .price-right {float: right;padding: 15px;color: #22272e;}
+    .red {color: #f94b4b;}
+    .product {background: #fff;padding: 10px 15px;box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.07);}
+    .product-title {border-bottom: solid 1px #e2e7ef;height: 54px;line-height: 54px}
+    .product-title li {display: inline-block;list-style: none;color: #627386;width: 15%;text-align: center;}
+    .product-title li:nth-child(1) {width: 40%;text-align: left}
+    .product-title li:last-child{width: 12%}
+    .pro-information li {list-style: none;}
+    .pro-information li {width: 100%;padding: 10px 0;}
+    .pro-information li div {display: inline-block;width:15%;text-align: center;color: #627386;}
+     .pro-information li div:last-child{width: 12%}
+    .pro-information li div.product-img {width: 40%;text-align: left;position: relative;}
+    .product-img .tips{width: 40px;height: 20px;border-radius: 2px;font-size: 12px;line-height: 20px;text-align: center;display: block;position: absolute;top: 0;left: 0;color: #FFFFFF; background-image: linear-gradient(214deg, #ff4500 0%, #ff5800 53%, #ff4367 100%);}
+    .product-img img {width: 70px;height: 70px;border: solid 1px #e2e7ef;}
+    .product-img h3 {display: inline-block;width: 286px;margin-left: 10px;font-size: 16px;color: #22272e;vertical-align: middle;word-break: break-all;overflow: hidden;text-overflow: ellipsis;display: -webkit-inline-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical}
+    .info-title {color: #22272e;font-size: 16px;padding: 15px;}
+    .title-name {color: #22272e;margin-bottom: 20px}
+    .title-name p{float: left;}
+    .title-time {float: right;color: #9aa5b5;}
+    .order-item {display: flex;width: 100%;}
+    .order-item p.state{color:#FF5B00;margin-left: 20px;}
+    .order-item p {margin-bottom: 20px;display: inline-block;color: #627386;width: 25%}
+    .order-item p.none{width: 100%;}
+    .red {color: #f94b4b;}
+    .none {color: #333333;}
+    .order-info {margin-top: 20px;}
+    .order-info .content {background: #fff;padding: 15px;box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.07);}
+    .order-item.pay span {color: #FF5B00;}
+    .sett-re {margin-top: 20px}
+    .sett-re .title{color: #22272e;font-size: 16px;padding: 15px}
+    .sett-re .payShopRecord {background: #fff;height: auto;line-height: 72px;padding-left: 15px;color: #22272e;padding:20px;}
+    .sett-re .payShopRecord div{width: 100%;height: 40px;float: left;}
+    .sett-re .payShopRecord p {display: inline-block;margin-right: 15px;line-height: 40px;float: left;}
+    .NoText{color: #627386}
+    .section-botton {width: 100%;height: 76px;box-sizing: border-box;float: left;padding: 20px;background-color: #FFFFFF;margin-top: 20px}
+    .section-botton .inner .btn {width: 90px;height: 36px;background-color: #ffe6dc;border-radius: 2px;border: solid 1px #FF5B00;text-align: center;line-height: 36px;color: #FF5B00;display: inline-block;margin-right: 16px;float: right;}
+    .section-botton.fiexd {position: fixed;bottom: 0;right: 0;}
+    .section-botton.fiexd .inner {width: 1184px;margin: 0 auto;z-index: 9999;}
+}
+
+
+/*移动*/
+@media screen and (max-width:768px) {
+    .wrap_tittle {height: 10.6vw;line-height: 10.6vw;background: #fff;padding: 0 2.7vw;font-size: 3.4vw;color: #22272e;border-bottom: solid .27vw #e2e7ef;}
+    .mIcon.wrap_tittle:before {width: 6.7vw;height: 6.7vw;background-position: -50.7vw -51.5vw;position: absolute;top: 28vw;}
+    .mIcon.open:before {width: 10.6vw;height: 11.2vw;float: right;background-position: -48.8vw 2.7vw;}
+    .right{width: 100%;}
+    .userinfo {padding: 1.3vw 5.3vw;background: #fff;box-shadow: 0px .8vw 1.6vw 0px rgba(0, 0, 0, 0.07);}
+    .info {height: 13vw;line-height: 13vw;font-size: 3.4vw;color: #22272e;overflow: hidden}
+    .comback {width: 22.4vw;height: 7.2vw;display: inline-block;float: right;text-align: right;}
+    .userinfo .user p:nth-child(1){width: 100%;}
+    .userinfo .user p {display: inline-block;color: #627386;margin: 0 6.7vw 2.7vw 0;}
+    .userinfo .user p span {color: #22272e;}
+    .address {margin-bottom: 4vw;color: #627386;}
+    .address span {color: #22272e;}
+    .product-info {margin-top: 4vw;background: #fff;padding-bottom: 18vw;}
+    .price {overflow: hidden;}
+    .protitle {color: #22272e;font-size: 3.4vw;padding: 4vw;float: left}
+    .price-right {float: right;padding: 4vw;color: #22272e}
+    .red {color: #f94b4b;}
+    .product {background: #fff;padding: 0 4vw;box-shadow: 0px .8vw 1.6vw 0px rgba(0, 0, 0, 0.07);position: relative;height: 45vw}
+    .product-title {height: 5.3vw;line-height: 5.3vw;position: relative;width: 100%}
+    .product-title li {display: inline-block;list-style: none;color: #627386;position: relative;top: 20vw;width: 24%;text-align: center}
+    .product-title li:nth-child(1) {width: 100%;text-align: left;top: 0}
+    .product-title li:nth-child(2) {text-align: left}
+    .pro-information li {width: 100%;padding: 2.7vw 0;list-style: none;}
+    .pro-information li div {display: inline-block;text-align: center;top: 9.6vw;width: 24%;position: relative}
+    .pro-information li div.product-img {width: 100%;text-align: left;top: 0;position: relative;}
+    .pro-information li div:nth-child(2){text-align: left;}
+    .product-img .tips{position:absolute;background:#ff4500;line-height:5vw;height:5vw;padding:0 2vw;white-space:nowrap;font-size:3.1vw;color:#FFF;top:0;left:0}
+    .product-img img {width: 15vw;height: 15vw;border: solid 1px #e2e7ef}
+    .product-img h3 {width: 36.8vw;font-size: 3.4vw;letter-spacing: .27vw;white-space: normal;vertical-align: middle;word-break: break-all;overflow: hidden;text-overflow: ellipsis;display: -webkit-inline-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical}
+    .info-title {color: #22272e;font-size: 3.4vw;padding: 4vw;}
+    .title-name {color: #22272e;margin-bottom: 5.3vw}
+    .title-name p{float: left;}
+    .title-name p.state{color:#FF5B00;margin-left: 10vw;}
+    .title-time {float: right;color: #9aa5b5;}
+    .order-item p {margin-bottom: 5.3vw;display: inline-block;color: #627386;width: 48%}
+    .red {color: #f94b4b;}
+    .order-info {margin-top:5.3vw;}
+    .order-info .content {background: #fff;padding: 4vw;box-shadow: 0px .8vw 1.6vw 0px rgba(0, 0, 0, 0.07);}
+    .order-item.pay span {color: #FF5B00;}
+    .sett-re {margin-top:5.3vw}
+    .sett-re div:nth-child(1) {color: #22272e;font-size:3.4vw;padding: 4vw}
+    .sett-re div:nth-child(2) {background: #fff;line-height: 8vw;padding-left: 4vw;color: #22272e;font-size: 3.2vw;}
+    .sett-re div:nth-child(2) p {display: inline-block;margin-right: 2.7vw}
+    .section-botton {width: 100%;height: 15.6vw;box-sizing: border-box;padding: 3vw;background-color: #FFFFFF;position: fixed;bottom: 0;right: 0;}
+    .section-botton.inner {width: 100%;}
+    .section-botton .inner .btn {float: right;box-sizing: border-box;width: 22.4vw;height: 9.6vw;background-color: #ffe6dc;border-radius: .53vw;border: solid .27vw #FF5B00;text-align: center;line-height: 9.6vw;color: #FF5B00;display: inline-block;margin-left:3vw; }
+    footer{display: none;}
+}

+ 87 - 0
src/main/resources/static/css/supplier-center/order/order-return.css

@@ -0,0 +1,87 @@
+@media screen and (min-width:768px) {
+    .crumbs {font-size: 16px;color: #22272e}
+    .userinfo {padding: 5px 20px;background: #fff;box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.07);}
+    .info {height: 56px;line-height: 56px;border-bottom: solid 1px #e2e7ef;font-size: 16px;color: #22272e;overflow: hidden}
+    .comback {width: 90px;height: 36px;float: right;text-align: right;display: inline-block;}
+    .userinfo .user p {display: inline-block;color: #627386;margin: 15px 45px 15px 0px;}
+    .userinfo .user p span {color: #22272e;}
+    .address {margin-bottom: 15px;color: #627386;}
+    .address span {color: #22272e;}
+    .product-info {margin-top: 20px;}
+    .price {overflow: hidden;}
+    .protitle {color: #22272e;font-size: 16px;padding: 15px;float: left;}
+    .price-right {float: right;padding: 15px;color: #22272e;}
+    .red {color: #f94b4b;}
+    .info-title {color: #22272e;font-size: 16px;padding: 15px;}
+    .title-name {color: #22272e;margin-bottom: 20px}
+    .title-name p{float: left;}
+    .title-time {float: right;color: #9aa5b5;}
+    .order-item {display: flex;width: 100%;}
+    .order-item p {margin-bottom: 20px;display: inline-block;color: #627386;width: 25%}
+    .order-item p.state{color:#FF5B00;margin-left: 20px;}
+    .order-item p.none{width: 100%;}
+    .order-product .product-img{width: 100px;height: 100px;border: solid 1px #e2e7ef;float: left;position: relative;}
+    .order-product .product-img .tips{width: 40px;height: 20px;border-radius: 2px;font-size: 12px;line-height: 20px;text-align: center;display: block;position: absolute;top: 0;left: 0;color: #FFFFFF; background-image: linear-gradient(214deg, #ff4500 0%, #ff5800 53%, #ff4367 100%);}
+    .product-info .num{margin-right: 80px;}
+    .order-product .product-img img{width: 100%;height: 100%;}
+    .order-product .product-main{float: right;width: 87%;}
+    .order-product .product-main p{line-height: 32px;}
+    .order-product .product-main h3{line-height: 32px;}
+    .order-product{overflow: hidden;margin-bottom: 10px}
+    .red {color: #f94b4b;}
+    .none {color: #333333;}
+    .order-info {margin-top: 20px;}
+    .order-info .content {background: #fff;padding: 15px;box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.07);}
+    .order-item.pay span {color: #FF5B00;}
+
+    .NoText{color: #627386}
+    .section-botton {width: 100%;height: 76px;box-sizing: border-box;float: left;padding: 20px;background-color: #FFFFFF;margin-top: 20px}
+    .section-botton .inner .btn {width: 90px;height: 36px;background-color: #ffe6dc;border-radius: 2px;border: solid 1px #FF5B00;text-align: center;line-height: 36px;color: #FF5B00;display: inline-block;margin-right: 16px;float: right;}
+    .section-botton.fiexd {position: fixed;bottom: 0;right: 0;}
+    .section-botton.fiexd .inner {width: 1184px;margin: 0 auto;z-index: 9999;}
+}
+
+
+/*移动*/
+@media screen and (max-width:768px) {
+    .wrap_tittle {height: 10.6vw;line-height: 10.6vw;background: #fff;padding: 0 2.7vw;font-size: 3.4vw;color: #22272e;border-bottom: solid .27vw #e2e7ef;}
+    .mIcon.wrap_tittle:before {width: 6.7vw;height: 6.7vw;background-position: -50.7vw -51.5vw;position: absolute;top: 28vw;}
+    .mIcon.open:before {width: 10.6vw;height: 11.2vw;float: right;background-position: -48.8vw 2.7vw;}
+    .right{width: 100%;}
+    .userinfo {padding: 1.3vw 3.3vw;background: #fff;box-shadow: 0px .8vw 1.6vw 0px rgba(0, 0, 0, 0.07);}
+    .info {height: 13vw;line-height: 13vw;font-size: 3.4vw;color: #22272e;overflow: hidden}
+    .comback {width: 22.4vw;height: 7.2vw;display: inline-block;float: right;text-align: right;}
+    .userinfo .user p:nth-child(1){width: 100%;}
+    .userinfo .user p {display: inline-block;color: #627386;margin: 0 6.7vw 2.7vw 0;}
+    .userinfo .user p span {color: #22272e;}
+    .address {margin-bottom: 4vw;color: #627386;}
+    .address span {color: #22272e;}
+    .product-info {margin-top: 4vw;background: #fff}
+    .price {overflow: hidden;}
+    .protitle {color: #22272e;font-size: 3.4vw;padding: 4vw;float: left}
+    .price-right {float: right;padding: 4vw;color: #22272e}
+    .red {color: #f94b4b;}
+    .info-title {color: #22272e;font-size: 3.4vw;padding: 4vw;}
+    .title-name {color: #22272e;margin-bottom: 5.3vw}
+    .title-name p{float: left;}
+    .title-name p.state{color:#FF5B00;margin-left: 10vw;}
+    .title-time {float: right;color: #9aa5b5;}
+    .order-item p {margin-bottom: 5.3vw;display: inline-block;color: #627386;width: 48%}
+    .red {color: #f94b4b;}
+    .order-info {margin-top:5.3vw;}
+    .order-info .content {background: #fff;padding: 4vw;box-shadow: 0px .8vw 1.6vw 0px rgba(0, 0, 0, 0.07);}
+    .order-item.pay span {color: #FF5B00;}
+    .order-product .product-img{width: 28VW;height: 28VW;border: solid 1px #e2e7ef;float: left;position: relative;}
+    .product-info .num:nth-child(1){float: left;}
+    .product-info .num:nth-child(2){float: right;}
+    .order-product .product-img .tips{position:absolute;background:#ff4500;line-height:5vw;height:5vw;padding:0 2vw;white-space:nowrap;font-size:3.1vw;color:#FFF;top:0;left:0}
+    .order-product .product-img img{width: 100%;height: 100%;}
+    .order-product .product-main{float: right;width: 65%;}
+    .order-product{overflow: hidden;margin-bottom: 1.9vw;}
+    .order-product .product-main p{line-height: 6vw;}
+    .order-product .product-main h3{line-height: 6vw;}
+    .section-botton {width: 100%;height: 15.6vw;box-sizing: border-box;padding: 3vw;background-color: #FFFFFF;position: fixed;bottom: 0;right: 0;}
+    .section-botton.fiexd .inner {width: 100%;}
+    .section-botton .inner .btn {float: right;box-sizing: border-box;width: 22.4vw;height: 9.6vw;background-color: #ffe6dc;border-radius: .53vw;border: solid .27vw #FF5B00;text-align: center;line-height: 9.6vw;color: #FF5B00;display: inline-block}
+    footer{display: none;}
+}

+ 76 - 71
src/main/resources/static/css/supplier-center/order/orderlist.css

@@ -1,78 +1,83 @@
 @media screen and (min-width:768px) {
-.pageWrap{width: 968px;margin: auto;padding: 32px 0}
-.crumbs{font-size: 16px;color: #22272e}
-.new-s-item>form{overflow: hidden;background: #fff;padding: 10px 10px 17px 10px;box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.07);}
-.new-s-item>form>div{float: left;height: 40px;margin: 10px 20px 0 20px;font-size: 12px;color: #627386;line-height: 40px;position: relative;}
-.new-s-item>form>label{float: left;margin: 10px 20px 0 20px;font-size: 12px;color: #627386;}
-.Buyer{width: 168px;height: 36px;background-color: #ffffff;border-radius: 2px;border: solid 1px #b8bfca;padding-left: 10px;cursor: pointer;}
-.state{width: 168px;height: 36px;background-color: #ffffff;border-radius: 2px;border: solid 1px #b8bfca;padding-left: 10px;color: #627386;cursor: pointer;}
-input::placeholder{color: #9aa5b5;font-size: 12px;}
-.query-btn{width: 90px;height: 36px;background-color: #FF5B00;border-radius: 2px;text-align: center;line-height: 36px;color: #ffffff;margin: 15px 10px 0 0;cursor: pointer;float: right;}
-.supplier-main{margin-top: 10px;background: #fff;padding-top: 15px;}
-.order-content{padding: 10px 20px;overflow: hidden}
-.order-title{background-color: #ffffff;padding: 10px 20px;overflow: hidden;}
-.title-name{float: left;color: #22272e;}
-.title-time{float: right;color: #9aa5b5;}
-.order-item{display: flex;}
-.order-item p{display: inline-block;color: #627386;width: 25%;margin-bottom: 20px}
-.order-item.pay p span{color: #FF5B00}
-.red{color: #f94b4b;}
-.order-botton{width: 100%;overflow: hidden;height: 60px;line-height: 60px;}
-.order-botton div{float: right;}
-.order-botton a{width: 90px;height: 36px;background-color: #ffe6dc;border-radius: 2px;border: solid 1px #FF5B00;text-align: center;line-height: 36px;color: #FF5B00;display: inline-block;margin-right: 16px;}
-.order-product .product-img{width: 100px;height: 100px;border: solid 1px #e2e7ef;float: left;position: relative;}
-.order-product .product-img .tips{width: 40px;height: 20px;border-radius: 2px;font-size: 12px;line-height: 20px;text-align: center;display: block;position: absolute;top: 0;left: 0;color: #FFFFFF; background-image: linear-gradient(214deg, #ff4500 0%, #ff5800 53%, #ff4367 100%);}
-.product-info .num{margin-right: 80px;}
-.order-product .product-img img{width: 100%;height: 100%;}
-.order-product .product-info{float: right;width: 87%;}
-.order-product{overflow: hidden;margin-bottom: 10px}
-.product-info p{color: #627386;margin-top: 7px;}
-.userinfo{background-color: #f0f3f7;box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.07);padding: 10px 20px;color: #627386;}
-.userinfo p{display: inline-block;margin: 10px 55px 10px 0;}
-.userinfo .blcak{color: #22272e;}
-.empty{background: #fff;margin-top: 10px;}
-.navLayout{min-height: auto;}
+    .crumbs{font-size: 16px;color: #22272e}
+    .head-top{overflow: hidden;background: #fff;padding:17px;box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.07)}
+    .head-top>div {float: left; height: 40px;font-size: 12px;color: #627386;line-height: 40px;margin-right: 10px;margin-bottom: 10px}
+    .state {width: 158px !important;}
+    .state.small{width: 170px;margin: 0 8px;}
+    input::placeholder{color: #9aa5b5;font-size: 12px;}
+    textarea::placeholder{color: #9aa5b5;}
+    #newBtn div{height: 36px;border-radius: 2px;display: inline-block;text-align: center;cursor: pointer}
+    #newBtn{float: left;margin: 0}
+    .supplier-main{margin-top: 10px;background: #fff;padding-top: 15px;}
+    .order-content{padding: 10px 20px;overflow: hidden}
+    .order-title{background-color: #ffffff;padding: 10px 20px;overflow: hidden;}
+    .title-name{float: left;color: #22272e;}
+    .title-name p{float: left;}
+    .title-name p.state{color:#FF5B00;margin-left: 20px;}
+    .title-time{float: right;color: #9aa5b5;}
+    .order-item{display: flex;width: 100%;}
+    .order-item p{display: inline-block;color: #627386;width: 25%;margin-bottom: 20px}
+    .order-item p.none{width: 100%;}
+    .order-item.pay p span{color: #FF5B00}
+    .red{color: #f94b4b;}
+    .order-botton{width: 100%;overflow: hidden;height: 60px;line-height: 60px;}
+    .order-botton div{float: right;}
+    .order-botton a{width: 90px;height: 36px;background-color: #ffe6dc;border-radius: 2px;border: solid 1px #FF5B00;text-align: center;line-height: 36px;color: #FF5B00;display: inline-block;margin-right: 16px;}
+    .order-product .product-img{width: 100px;height: 100px;border: solid 1px #e2e7ef;float: left;position: relative;}
+    .order-product .product-img .tips{width: 40px;height: 20px;border-radius: 2px;font-size: 12px;line-height: 20px;text-align: center;display: block;position: absolute;top: 0;left: 0;color: #FFFFFF; background-image: linear-gradient(214deg, #ff4500 0%, #ff5800 53%, #ff4367 100%);}
+    .product-info .num{margin-right: 80px;}
+    .order-product .product-img img{width: 100%;height: 100%;}
+    .order-product .product-info{float: right;width: 87%;}
+    .order-product{overflow: hidden;margin-bottom: 10px}
+    .product-info p{color: #627386;margin-top: 7px;}
+    .userinfo{background-color: #f0f3f7;box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.07);padding: 10px 20px;color: #627386;}
+    .userinfo p{display: inline-block;margin: 10px 55px 10px 0;}
+    .userinfo .blcak{color: #22272e;}
+    .empty{background: #fff;margin-top: 10px;}
+    .navLayout{min-height: auto;}
+    .pagination{width: 100%;margin-top: 10px;float: left; background: #FFFFFF;padding: 8px 20px;box-sizing: border-box;}
 }
 
 /*移动*/
 @media screen and (max-width:768px) {
     .wrap_tittle {height: 10.6vw;line-height: 10.6vw;background: #fff;padding: 0 2.7vw;font-size: 3.4vw;color: #22272e;border-bottom: solid .27vw #e2e7ef;}
-.mIcon.wrap_tittle:before {width: 6.7vw;height: 6.7vw;background-position: -50.7vw -51.5vw;position: absolute;top: 28vw;}  .mIcon.open:before {width: 10.6vw;height: 11.2vw;float: right;background-position: -48.8vw 2.7vw;}
-.right{width: 100%;}  .new-s-item>form{overflow: hidden;background: #fff;padding: 2.7vw 2.7vw 4.5vw 2.7vw;box-shadow: 0px .8vw 1.6vw 0px rgba(0, 0, 0, 0.07)}
-.new-s-item>form>div{font-size: 3.4vw;color: #627386;width: 93.4vw;margin-bottom: 2.6vw;display: inline-block}
-.new-s-item>form>div.order-border{border: .27vw solid #b8bfca;}
-.new-s-item>form>div.order-border span{padding-left: 2.7vw;}
-.new-s-item>form>label{float: left;margin-bottom: 2.6vw;font-size: 3.4vw;color: #627386;border: .27vw solid #b8bfca;height: 11.8vw;padding-left: 2.7vw;line-height: 11.8vw}
-.Buyer{height: 11.8vw;background-color: #ffffff;border-radius: .53vw;border: 0;cursor: pointer;width: 72vw}
-.state{width: 93.4vw;height: 11.7vw;background-color: #ffffff;border-radius: .53vw;border: solid .27vw #b8bfca;padding-left: 2.7vw;color: #627386;cursor: pointer;margin-top: 2.6vw}
-input::placeholder{color: #9aa5b5;}
-.query-btn{width: 35.3vw;height: 11.2vw;background-color: #ffe6dc;border-radius: .53vw;text-align: center;line-height: 11.2vw;color: #FF5B00;margin: 2.7vw 29.3vw;cursor: pointer;border: .27vw solid #FF5B00}
-.supplier-main{margin-top: 2.7vw;background: #fff;padding-top: 2.7vw;position: relative}
-.order-content{padding: 1.3vw 5.3vw;overflow: hidden}
-.order-title{background-color: #ffffff;padding: 0 5.3vw;overflow: hidden;font-size: 3.7vw;}
-.title-name{color: #FF5B00;margin-bottom: 3.8vw;}
-.title-time{color: #9aa5b5;margin-bottom:3.8vw;}
-.order-item{overflow:hidden ;}
-.order-item p{margin-bottom: 5.3vw;width: 50%;float: left;}
-.order-item.pay span{color: #FF5B00;}
-.red{color: #f94b4b;}
-.order-botton{width: 100%;overflow: hidden;height: 16vw;line-height: 16vw;}
-.order-botton div{float: right;}
-.order-botton a{margin-left: 2.7vw;width: 22.4vw;height: 9.6vw;background-color: #ffe6dc;border-radius: .53vw;border: solid .27vw #FF5B00;text-align: center;line-height: 9.6vw;color: #FF5B00;display: inline-block}
-.order-botton .deatil{border: .27vw solid #1890f9;line-height: 7.2vw;right: 5.7vw;position: absolute;top: 10vw;width: 22.4vw;height: 7.2vw;border-radius: 3.6vw;color: #1890f9;background: #e0f1ff}
-.order-product .product-img{width: 28VW;height: 28VW;border: solid 1px #e2e7ef;float: left;position: relative;}
-.product-info .num:nth-child(1){float: left;}
-.product-info .num:nth-child(2){float: right;}
-.order-product .product-img .tips{position:absolute;background:#ff4500;line-height:5vw;height:5vw;padding:0 2vw;white-space:nowrap;font-size:3.1vw;color:#FFF;top:0;left:0}
-.order-product .product-img img{width: 100%;height: 100%;}
-.order-product .product-info{float: right;width: 65%;}
-.order-product{overflow: hidden;margin-bottom: 1.9vw;}
-.product-info p{color: #627386;margin-top: 7px;overflow: hidden;}
-.userinfo{background-color: #f0f3f7;box-shadow: 0px .8vw 1.3vw 0px rgba(0, 0, 0, 0.07);padding: 2.7vw 5.3vw;color: #627386;}
-.product-info h3{font-size: 3.7vw;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}
-.userinfo p{display: inline-block;margin-bottom: 2.7vw;}
-.username p:nth-child(1){width: 100%;}
-.username p:nth-child(2){float: left;}
-.username p:nth-child(3){float: right;}
-.userinfo .blcak{color: #22272e;}
+    .mIcon.wrap_tittle:before {width: 6.7vw;height: 6.7vw;background-position: -50.7vw -51.5vw;position: absolute;top: 28vw;}  .mIcon.open:before {width: 10.6vw;height: 11.2vw;float: right;background-position: -48.8vw 2.7vw;}
+    .right{width: 100%;}
+    .head-top{padding: 3vw;background: #fff;}
+    .head-top .form-row{margin:1.5vw 0;color: #627386;float: left;width: 50%;}
+    .state {width: 92% !important;margin: 0 2vw;}
+    #newBtn{float: left;margin: 2vw;}
+    .order-content-main{padding-bottom: 15vw;}
+    .supplier-main{margin-top: 2.7vw;background: #fff;padding-top: 2.7vw;position: relative}
+    .order-content{padding: 1.3vw 5.3vw;overflow: hidden}
+    .order-title{background-color: #ffffff;padding: 0 5.3vw;overflow: hidden;font-size: 3.7vw;}
+    .title-name{color: #FF5B00;margin-bottom: 3.8vw;}
+    .title-name p{float: left;}
+    .title-name p.state{color:#FF5B00;margin-left: 10vw;}
+    .title-time{color: #9aa5b5;margin-bottom:3.8vw;}
+    .order-item{overflow:hidden ;}
+    .order-item p{margin-bottom: 5.3vw;width: 50%;float: left;}
+    .order-item.pay span{color: #FF5B00;}
+    .red{color: #f94b4b;}
+    .order-botton{width: 100%;overflow: hidden;height: 16vw;line-height: 16vw;}
+    .order-botton div{float: right;}
+    .order-botton a{margin-left: 2.7vw;width: 22.4vw;height: 9.6vw;background-color: #ffe6dc;border-radius: .53vw;border: solid .27vw #FF5B00;text-align: center;line-height: 9.6vw;color: #FF5B00;display: inline-block}
+    .order-botton .deatil{border: .27vw solid #1890f9;line-height: 7.2vw;right: 5.7vw;position: absolute;top: 10vw;width: 22.4vw;height: 7.2vw;border-radius: 3.6vw;color: #1890f9;background: #e0f1ff}
+    .order-product .product-img{width: 28VW;height: 28VW;border: solid 1px #e2e7ef;float: left;position: relative;}
+    .product-info .num:nth-child(1){float: left;}
+    .product-info .num:nth-child(2){float: right;}
+    .order-product .product-img .tips{position:absolute;background:#ff4500;line-height:5vw;height:5vw;padding:0 2vw;white-space:nowrap;font-size:3.1vw;color:#FFF;top:0;left:0}
+    .order-product .product-img img{width: 100%;height: 100%;}
+    .order-product .product-info{float: right;width: 65%;}
+    .order-product{overflow: hidden;margin-bottom: 1.9vw;}
+    .product-info p{color: #627386;margin-top: 7px;overflow: hidden;}
+    .userinfo{background-color: #f0f3f7;box-shadow: 0px .8vw 1.3vw 0px rgba(0, 0, 0, 0.07);padding: 2.7vw 5.3vw;color: #627386;}
+    .product-info h3{font-size: 3.7vw;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}
+    .userinfo p{display: inline-block;margin-bottom: 2.7vw;}
+    .username p:nth-child(1){width: 100%;}
+    .username p:nth-child(2){float: left;}
+    .username p:nth-child(3){float: right;}
+    .userinfo .blcak{color: #22272e;}
+    .pagination{width: 100%;min-height: 2vw;position: fixed;bottom: 0;left: 0;background: #FFFFFF;z-index: 99;padding: 2vw;box-sizing: border-box;}
+    footer{display: none;}
 }

+ 46 - 0
src/main/resources/static/css/supplier-center/order/remarks-add-pay.css

@@ -0,0 +1,46 @@
+@media screen and (min-width:768px) {
+    textarea::placeholder {color: #9aa5b5;}
+    .crumbs {font-size: 16px;color: #22272e}
+    .add-logistics{height: 600px;background-color: #ffffff;box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.07);padding:80px 160px;color: #627386;box-sizing: border-box;}
+    .add-pay-form{width: 100%;height: 100%;box-sizing: border-box;}
+    .mIcon.add{background: url(/img/account/add.png) no-repeat;height: 90px;display: block;background-size: 100px;}
+    .upload-file{position: relative;float: left;margin: 10px 10px 10px 0px;cursor: pointer;width: 100px;height: 100px;border-radius: 2px;box-sizing: border-box;border: 1px dashed #B8BFCA;}
+    .input-file{width: 100px;height: 100px;opacity: 0;cursor: pointer;position: absolute;top: 0}
+    .release-input{overflow: hidden;float: left;width: 90%}
+    .release-from{overflow: hidden;}
+    .release-from-labe{width: 100%;height: 40px;line-height: 40px;float: left;}
+    .release-from-labe span{color: #f94b4b;}
+    .upload-file img{width: 100%;height: 100%;}
+    .icon.del:before {width: 20px;height: 20px;background-position: -116px -138px;position: absolute;top: -3px;right: -3px;}
+    .form-upload-tips .icon-wen:before {width: 20px;height: 20px;background-position: -84px -144px;cursor: pointer; margin-top: 10px;}
+    .wen-tips {width: 220px;height: 30px;background-color: #1890f9;color: #fff;position: absolute;left: inherit;font-size: 12px;text-align: left;line-height: 30px;top: 33px;display: none;box-sizing: border-box;padding: 0 10px;}
+    .form-upload-tips{float: left;position: relative;}
+    .form-upload-tips .wen-tips:before {content: '';width: 0px;height: 0px;border-width: 8px;border-style: solid;border-color: transparent transparent #1890f9 transparent;position: absolute;top: -15px;left:5px;}
+    .form-upload-tips:hover .wen-tips {display: block;}
+    .el-textarea{width: 580px !important;}
+    .release-from-btn{width: 100%;height: 40px;text-align: right; margin-top: 40px;box-sizing: border-box;padding: 0 60px;}
+
+}
+
+/*移动*/
+@media screen and (max-width:768px) {
+    body{background: #FFFFFF !important;}
+    .crumbs {font-size:3.4vw;color: #22272e}
+    .add-logistics{height: auto;background-color: #ffffff;margin-top: 2.7vw;padding: 20px;color: #627386;}
+    .mIcon.add{background: url(/img/account/add.png) no-repeat;height: 21vw;display: block;    background-size: 23vw;}
+    .upload-file{position: relative;float: left;margin: 0 2.7vw 2.7vw 0;width: 23vw;height: 23vw;border-radius: .53vw;box-sizing: border-box;border: 1px dashed #B8BFCA;}
+    .input-file{width: 23vw;height:23vw;opacity: 0;cursor: pointer;position: absolute;top: 0;}
+    .release-input{overflow: hidden;float: left;width: 100%;margin-top: 2.7vw}
+    .release-from{overflow: hidden;}
+    .release-from-labe{width: 100%;height: 10vw;line-height:10vw;float: left;}
+    .release-from-labe span{color: #f94b4b;}
+    .upload-file img{width: 100%;height: 100%;}
+    .mIcon.del:before {width: 5.3vw;height: 5.3vw;background-position: -90vw -7.5vw;position: absolute;top: -.8vw;right: -.8vw}
+    .form-upload-tips .icon-wen:before {width: 5.3vw;height: 5.3vw;background-position: -76.4vw 0vw;cursor: pointer;}
+    .wen-tips {width: 48vw;height:9vw;background-color: #1890f9;color: #fff;position: absolute;left: inherit;font-size: 2.6vw;text-align: left;line-height: 9vw;top:8.8vw;display: none;box-sizing: border-box;padding: 0 2vw;}
+    .form-upload-tips{float: left;position: relative;}
+    .form-upload-tips .wen-tips:before {content: '';width: 0px;height: 0px;border-width: 8px;border-style: solid;border-color: transparent transparent #1890f9 transparent;position: absolute;top: -3.5vw;left:1.3vw;}
+    .form-upload-tips:hover .wen-tips {display: block;}
+    .release-from-btn{width: 100%;height: 40px;text-align: right; margin-top: 40px;box-sizing: border-box;}
+    footer{display: none;}
+}

+ 46 - 0
src/main/resources/static/css/supplier-center/order/remarks-add.css

@@ -0,0 +1,46 @@
+@media screen and (min-width:768px) {
+    textarea::placeholder {color: #9aa5b5;}
+    .crumbs {font-size: 16px;color: #22272e}
+    .add-logistics{height: auto;background-color: #ffffff;box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.07);padding:80px 160px;color: #627386;box-sizing: border-box;}
+    .add-pay-form{width: 100%;height: 100%;box-sizing: border-box;}
+    .mIcon.add{background: url(/img/account/add.png) no-repeat;height: 90px;display: block;background-size: 100px;}
+    .upload-file{position: relative;float: left;margin: 10px 10px 10px 0px;cursor: pointer;width: 100px;height: 100px;border-radius: 2px;box-sizing: border-box;border: 1px dashed #B8BFCA;}
+    .input-file{width: 100px;height: 100px;opacity: 0;cursor: pointer;position: absolute;top: 0}
+    .release-input{overflow: hidden;float: left;width: 90%}
+    .release-from{overflow: hidden;}
+    .release-from-labe{width: 100%;height: 40px;line-height: 40px;float: left;}
+    .release-from-labe span{color: #f94b4b;}
+    .upload-file img{width: 100%;height: 100%;}
+    .icon.del:before {width: 20px;height: 20px;background-position: -116px -138px;position: absolute;top: -3px;right: -3px;}
+    .form-upload-tips .icon-wen:before {width: 20px;height: 20px;background-position: -84px -144px;cursor: pointer; margin-top: 10px;}
+    .form-upload-tips{float: left;position: relative;}
+    .form-upload-tips .wen-tips:before {content: '';width: 0px;height: 0px;border-width: 8px;border-style: solid;border-color: transparent transparent #1890f9 transparent;position: absolute;top: -15px;left:5px;}
+    .form-upload-tips:hover .wen-tips {display: block;}
+    .release-from-btn{width: 100%;height: 40px;text-align: right; margin-top: 40px;box-sizing: border-box;padding: 0 60px;}
+    .el-upload--picture-card{width: 100px;height: 100px;line-height: 100px;}
+    .el-upload-list--picture-card .el-upload-list__item{width: 100px;height: 100px;}
+}
+
+/*移动*/
+@media screen and (max-width:768px) {
+    body{background: #FFFFFF !important;}
+    .crumbs {font-size:3.4vw;color: #22272e}
+    .add-logistics{height: auto;background-color: #ffffff;margin-top: 2.7vw;padding: 3.3vw;color: #627386;}
+    .mIcon.add{background: url(/img/account/add.png) no-repeat;height: 21vw;display: block;    background-size: 23vw;}
+    .upload-file{position: relative;float: left;margin: 0 2.7vw 2.7vw 0;width: 23vw;height: 23vw;border-radius: .53vw;box-sizing: border-box;border: 1px dashed #B8BFCA;}
+    .input-file{width: 23vw;height:23vw;opacity: 0;cursor: pointer;position: absolute;top: 0;}
+    .release-input{overflow: hidden;float: left;width: 100%;margin-top: 2.7vw}
+    .release-from{overflow: hidden;}
+    .release-from-labe{width: 100%;height: 10vw;line-height:10vw;float: left;}
+    .release-from-labe span{color: #f94b4b;}
+    .upload-file img{width: 100%;height: 100%;}
+    .mIcon.del:before {width: 5.3vw;height: 5.3vw;background-position: -90vw -7.5vw;position: absolute;top: -.8vw;right: -.8vw}
+    .form-upload-tips .icon-wen:before {width: 5.3vw;height: 5.3vw;background-position: -76.4vw 0vw;cursor: pointer;}
+    .form-upload-tips{float: left;position: relative;}
+    .form-upload-tips .wen-tips:before {content: '';width: 0px;height: 0px;border-width: 8px;border-style: solid;border-color: transparent transparent #1890f9 transparent;position: absolute;top: -3.5vw;left:1.3vw;}
+    .form-upload-tips:hover .wen-tips {display: block;}
+    .release-from-btn{width: 100%;height: 40px;text-align: right; margin-top: 40px;box-sizing: border-box;}
+    .el-upload--picture-card{width: 20vw;height: 20vw;line-height: 20vw;}
+    .el-upload-list--picture-card .el-upload-list__item{ width: 20vw;height: 20vw; }
+    footer{display: none;}
+}

+ 35 - 0
src/main/resources/static/css/supplier-center/order/remarks-details.css

@@ -0,0 +1,35 @@
+@media screen and (min-width:768px) {
+    textarea::placeholder {color: #9aa5b5;}
+    .crumbs {font-size: 16px;color: #22272e}
+    .remarks-content{min-height: 600px;background-color: #ffffff;box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.07);padding:80px 160px;box-sizing: border-box;}
+    .remarks-list{ width: 100%;height: auto;box-sizing: border-box;padding-bottom: 40px;border-bottom: 1px solid #E2E7EF; }
+    .remarks-list .remarks-title{ width: 100%;height: 30px;margin-bottom: 20px;}
+    .remarks-list .remarks-title .name{ float: left;font-size: 16px;font-weight: bold;line-height: 30px;color: #22272E;}
+    .remarks-list .remarks-title .time{ float: right;font-size: 14px;line-height: 30px;color: #627386;}
+    .remarks-list .remarks-label{ width: 100%;font-size: 16px;font-weight: bold;line-height: 40px;color: #22272E;}
+    .remarks-list .remarks-text{ font-size: 14px;color: #22272E;line-height: 30px;text-align: justify; }
+    .remarks-img{ width: 100%;height: 132px;box-sizing: border-box;padding: 16px 0;}
+    .remarks-img a{ width: 100px;height: 100px;display: block;margin-right: 10px;float: left;border-radius: 2px; }
+    .remarks-img a img{ width: 100px;height: 100px;display: block; border-radius: 2px;}
+    .remarks-file{ width: 100%;height: auto; }
+    .remarks-file .text{ margin-right: 20px; }
+}
+
+/*移动*/
+@media screen and (max-width:768px) {
+    body{background: #FFFFFF !important;}
+    .crumbs {font-size:3.4vw;color: #22272e}
+    .remarks-content{height: auto;background-color: #ffffff;margin-top: 2.7vw;padding: 20px;color: #627386;}
+    .remarks-list{ width: 100%;height: auto;box-sizing: border-box;padding-bottom: 6vw;border-bottom: 1px solid #E2E7EF; }
+    .remarks-list .remarks-title{ width: 100%;height: 10vw;margin-bottom: 0;}
+    .remarks-list .remarks-title .name{ float: left;font-size: 3.8vw;font-weight: bold;line-height: 10vw;color: #22272E;}
+    .remarks-list .remarks-title .time{ float: right;font-size: 3.4vw;line-height: 10vw;color: #627386;}
+    .remarks-list .remarks-label{ width: 100%;font-size: 3.8vw;font-weight: bold;line-height: 10vw;color: #22272E;}
+    .remarks-list .remarks-text{ font-size: 3.4vw;color: #22272E;line-height:10vw;text-align: justify; }
+    .remarks-img{ width: 100%;height: 19vw;box-sizing: border-box;padding: 2vw 0;}
+    .remarks-img a{ width: 15vw;height: 15vw;display: block;margin-right: 10px;float: left;border-radius: 2px; }
+    .remarks-img a img{ width: 15vw;height: 15vw;display: block; border-radius: 2px;}
+    .remarks-file{ width: 100%;height: auto; }
+    .remarks-file .text{ margin-right: 20px; }
+    footer{display: none;}
+}

+ 42 - 41
src/main/resources/static/css/supplier-center/order/settlement.css

@@ -1,24 +1,24 @@
  @media screen and (min-width:768px) {
-   .pageWrap{width: 968px;margin: auto;padding: 32px 0}
-   .crumbs{color: #22272e;font-size: 16px;}
-   .head-top>form{overflow: hidden;background: #fff;padding:20px;box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.07)}
-   form>div {float: left; height: 40px;font-size: 12px;color: #627386;line-height: 40px;margin-right: 15px}
-   .head-top input[type="text"]{width: 200px;height: 36px;line-height: 36px;color: #9aa5b5;background-color: #ffffff;
-	border-radius: 2px;padding-left: 10px;border: solid 1px #b8bfca;}
-	input::placeholder{color: #9aa5b5;}
-   .state {width: 168px;height: 36px;background-color: #ffffff;border-radius: 2px;border: solid 1px #b8bfca;padding-left: 10px;
-    color: #627386; cursor: pointer;}
-   #newBtn{float: right;margin: 0}
-   .query-btn{ width: 90px; height: 36px; background-color: #FF5B00;border-radius: 2px;text-align: center;color: #fff;line-height: 36px;cursor: pointer}
-   .main-content{padding: 0 20px 30px 20px;background: #fff; margin-top: 10px;box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.07)}
-   .main-title{height: 55px;line-height: 55px;border-bottom: solid 1px #e2e7ef;color: #627386;}
-   .main-title li{list-style: none;display: inline-block;width: 10%; text-align: center}
-   .main-title li.samewidth{width: 15%;}
-   .main-title li:nth-child(4){width: 20%}
-   .mentlist ul li{list-style: none;display: inline-block;font-size: 12px;text-align: center;width: 10%;vertical-align: middle; line-height: 20px;color: #22272e;}
-   .mentlist ul{padding: 10px 0;margin-bottom: 30px}
-   .mentlist li.samewidth{width: 15%;}
-   .mentlist li:nth-child(4){width: 20%;vertical-align: middle; word-break: break-all;overflow: hidden;text-overflow: ellipsis;display: -webkit-inline-box;
+    .pageWrap{width: 968px;margin: auto;padding: 32px 0}
+    .crumbs{color: #22272e;font-size: 16px;}
+     .head-top{overflow: hidden;background: #fff;padding:17px;box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.07)}
+     .head-top .form-row {float: left; height: 40px;font-size: 12px;color: #627386;line-height: 40px;margin-right: 10px;margin-bottom: 10px}
+     .state {width: 158px !important;}
+     .state.small{width: 170px;margin: 0 8px;}
+     .head-top .form-row .time {width: 185px !important;}
+     input::placeholder{color: #9aa5b5;font-size: 12px;}
+     #newBtn div{height: 36px;border-radius: 2px;display: inline-block;text-align: center;cursor: pointer}
+     #newBtn{float: left;margin: 0;}
+    .query-btn{ width: 90px; height: 36px; background-color: #FF5B00;border-radius: 2px;text-align: center;color: #fff;line-height: 36px;cursor: pointer;float: left;margin: 0 5px;}
+    .main-content{padding: 0;background: #fff; margin-top: 10px;box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.07)}
+    .main-title{height: 55px;line-height: 55px;border-bottom: solid 1px #e2e7ef;color: #627386;}
+    .main-title li{list-style: none;display: inline-block;width: 10%; text-align: center}
+    .main-title li.samewidth{width: 15%;}
+    .main-title li:nth-child(4){width: 20%}
+    .mentlist ul li{list-style: none;display: inline-block;font-size: 12px;text-align: center;width: 10%;vertical-align: middle; line-height: 20px;color: #22272e;}
+    .mentlist ul{padding: 10px 0;margin-bottom: 30px}
+    .mentlist li.samewidth{width: 15%;}
+    .mentlist li:nth-child(4){width: 20%;vertical-align: middle; word-break: break-all;overflow: hidden;text-overflow: ellipsis;display: -webkit-inline-box;
     -webkit-line-clamp: 2; -webkit-box-orient: vertical;}
     .samewidth a{text-decoration: underline;color: #1890f9;}
     .status-red{color: #f94b4b;}
@@ -28,30 +28,31 @@
     .air img{position: absolute; top: 0; bottom: 0; left: 0; right: 0;margin: auto; width: 221px;height: 180px}
     .empty{background: #fff;margin-top: 10px;}
     .navLayout{min-height: auto;}
+    ::-webkit-scrollbar{ height: 6px;}
+    .pagination{width: 100%;margin-top: 10px;background: #FFFFFF;padding: 8px 20px;box-sizing: border-box;}
  }
 
 /* 移动*/
 
 @media screen and (max-width: 768px){
-   .head-top{padding: 3.4vw;background: #fff;}
-   .head-top form div{margin-top: 2.7vw;color: #627386}
-   .order-border{width: 93.4vw;height: 11.8vw;line-height: 11.8vw;border: 1px solid #b8bfca;font-size: 3.4vw;}
-   .order-border span{padding-left: 2.7vw}
-   input::placeholder,textarea::placeholder{color: #9aa5b5}
-   .Buyer{border: 0;width: 70vw}
-   .state{width: 93.4vw;height: 11.7vw;line-height: 11.7vw;padding-left: 1.3vw;border: 1px solid #b8bfca;background: #fff;color: #627386;}
-   #newBtn>div{width: 40vw;height: 11.2vw;line-height: 11.2vw;text-align: center;display: inline-block;margin-left: 4vw;}
-   #newBtn>.query-btn{border: .27vw solid #FF5B00;background: #ffe6dc;color: #FF5B00;}
-   #newBtn{text-align: center}
-   .content-list .list{padding: 3.3vw;background: #fff;margin: 2.7vw 0}
-   .content-list div div{margin: 2.7vw 0}
-   .content-list span{color: #9aa5b5;font-size: 3.2vw;line-height: 6.4vw}
-   .content-list p{color: #22272e;font-size: 3.4vw}
-   .order-name p{width: 89vw;overflow: hidden;display: block;text-overflow: ellipsis;white-space: nowrap}
-   .order-price span,.order-info span{display: inline-block;width: 28%;}
-   .order-info span:nth-child(3){width: 41%}
-   .OrderNo p{color: #FF5B00}
-   .content-list .status-red{color: #f94b4b;}
-   .content-list .status-blue{color: #1890f9;}
-   .content-list .status-yellow{color: #f9a94b;}
+    .head-top{padding: 3vw 0;background: #fff;}
+    .head-top .form-row{margin:1.5vw 0;color: #627386;float: left;width: 50%;}
+    .head-top .form-row.time{width: 100%;box-sizing: border-box;padding: 0 2vw;}
+    .state {width: 92% !important;margin: 0 2vw;}
+    .head-top .form-row .time {width: 47.2% !important;}
+    #newBtn{float: left;margin: 2vw;}
+    .main-content{padding-bottom: 15vw;}
+    .content-list .list{padding: 3.3vw;background: #fff;margin: 2.7vw 0}
+    .content-list div div{margin: 2.7vw 0}
+    .content-list span{color: #9aa5b5;font-size: 3.2vw;line-height: 6.4vw}
+    .content-list p{color: #22272e;font-size: 3.4vw}
+    .order-name p{width: 89vw;overflow: hidden;display: block;text-overflow: ellipsis;white-space: nowrap}
+    .order-price span,.order-info span{display: inline-block;width: 28%;}
+    .order-info span:nth-child(3){width: 41%}
+    .OrderNo p{color: #FF5B00}
+    .content-list .status-red{color: #f94b4b;}
+    .content-list .status-blue{color: #1890f9;}
+    .content-list .status-yellow{color: #f9a94b;}
+    footer{display: none;}
+    .pagination{width: 100%;min-height: 2vw;position: fixed;bottom: 0;left: 0;background: #FFFFFF;z-index: 99;padding: 2vw;box-sizing: border-box;}
 }

+ 35 - 114
src/main/resources/static/css/supplier-center/shop/goods.css

@@ -1,120 +1,41 @@
 li{list-style: none}
  @media screen and (min-width:768px) {
-    .crumbs{color: #22272e;font-size: 16px;}
-    .head-top>form{overflow: hidden;background: #fff;padding:17px;box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.07)}
-    form>div {float: left; height: 40px;font-size: 12px;color: #627386;line-height: 40px;margin-right: 10px;margin-bottom: 10px}
-    .Buyer {width:156px; height: 34px;background-color: #ffffff;border-radius: 2px;border: solid 1px #b8bfca;padding-left: 10px;cursor: pointer;}
-    .state {width: 168px;height: 36px;background-color: #ffffff;border-radius: 2px;border: solid 1px #b8bfca;padding-left: 10px;color: #627386;cursor: pointer; margin-right: 10px}
-    .state.small{width: 140px;}
-    input::placeholder{color: #9aa5b5;font-size: 12px;}
-    textarea::placeholder{color: #9aa5b5;}
-    #newBtn div{height: 36px;border-radius: 2px;display: inline-block;text-align: center;cursor: pointer}
-    #newBtn{float: left;margin: 0}
-    .query-btn{background-color: #FF5B00;color: #fff;width: 88px;border: 1px solid #FF5B00}
-    .goods-main{width: 100%; height: auto; float: left; margin:10px 0;background: #fff;}
-    .goods-main .goods-table .goods-tips{width: 100%;height: 44px;box-sizing: border-box;background: #FFFFFF;padding:0 16px 16px 16px;margin-top: 14px;}
-    .goods-main .goods-table .goods-tips .end-tips{width: 500px;height: 32px;background: #FFF3F3;border-radius: 2px;line-height: 32px;color: #F94B4B;font-size: 12px;}
-    .goods-main .goods-table .goods-tips .end-tips .tips{display:inline-block;width:32px;height:32px;line-height:32px;box-sizing:border-box;position:relative;color:#333;font-size:14px;text-align:center;white-space:nowrap}
-    .goods-main .goods-table .goods-tips .end-tips .tips:before{display:inline-block;width:20px;height:20px;vertical-align:middle;background-position:-24px 1px;margin-right:2px;}
-    .goods-main-empty{width: 100%;height: 60px;line-height: 60px;text-align: center;float: left;margin-top: 20px;}
-    .goods-main-empty p{font-size: 14px;color: #333;}
-    .goods-main-empty p a{color: #FF5B00;text-decoration: underline;margin: 0 3px;}
-    .goods-title{ height: 56px;line-height: 56px;border-bottom: solid 1px #e2e7ef;padding: 0 20px}
-    .goods-main .goods-table ul li{float:left;width: 8%;text-align: center;color: #22272e;position: inherit}
-    .goods-main .goods-table ul li:nth-child(2){ width: 20%;}
-    .goods-main .goods-table ul li:nth-child(3),.goods-main .goods-table ul li:nth-child(4){width: 20%}
-    .goods-main .goods-table ul li:last-child{width: 22%;position: relative}
-    .tbody ul li{height: 96px;font-size: 12px;}
-    .tbody ul{padding: 0 20px;position: relative;height: 96px}
-    .tbodyle ul li:nth-child(2){width: 20%;}
-    .tbody ul li:nth-child(3),.goods-main .goods-table ul li:nth-child(3){ width: 14%}
-    .tbody ul li:last-child{width: 22%}
-    .goods-main .checkbox {overflow: hidden; cursor: pointer;}
-    .tbody .checkbox .box{ display: inline-block; width: 20px;height: 90px;margin-top: 2px;float: left;}
-    .goods-main  .tbody .checkbox span{ display: inline-block;float: left;margin-left: 6px;}
-    .checkbox .icon-weigouxuan:before{ width: 16px;height: 16px; background-position: -332px -32px;}
-    .checkbox .icon-gouxuan:before{width: 16px; height: 16px;background-position: -210px 0px}
-    .goods-main  .tbody .good-info{display: inline-block}
-    .goods-main  .tbody .good-info img{width: 80px;height: 80px;margin-top: 8px}
-    .tbody ul li .good-classFly,.tbody ul li .good-price,.tbody ul li .status{position: relative;top: 50%;left: 50%;transform: translate(-50%, -50%);width: fit-content;}
-    .goods-main  .tbody .good-name{margin-left: 8px;vertical-align: middle;word-break: break-all;overflow: hidden;text-overflow: ellipsis;display: -webkit-inline-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;width: 90px;}
-    .goods-main  .tbody .good-handle{text-align: left;padding: 0 7px;line-height: 35px;position: absolute;width: 180px;top: 0;left: 30px;right: 0;bottom: 0;margin: auto;height: fit-content}
-    .goods-main  .tbody .btn{padding: 0 11px;margin-right: 8px;height: 24px;background-color: #ffe6dc;border-radius: 2px;border: solid 1px #FF5B00;display: inline-block;line-height: 24px;color: #FF5B00;}
-     .goods-main  .tbody .btn.none{background-color: #E1E1E1;border: 1px solid #FFFFFF;color: #FFFFFF;}
-     .goods-container .good-footer{width: 95%;height: 56px;float: left;padding: 20px}
-    .goods-container .good-footer .footer-left{float: left;}
-    .goods-container .good-footer .checkbox {line-height: 70px;}
-    .goods-container .good-footer .checkbox .box{line-height: 74px;float: left;}
-    .goods-container .good-footer .checkbox span{display: inline-block;float: left;margin-left: 10px;}
-    .goods-container .good-footer .footer-right{float: right;margin-top: 20px;}
-    .goods-container .good-footer .footer-right .btn{width: 90px;height: 36px;display: block;line-height: 36px;text-align: center;font-size: 14px;border-radius: 2px;color: #FFF;}
-    .goods-container .good-footer .footer-right .btn.icon-weigouxuan{border: solid 1px #9aa5b5;color: #22272e;opacity: .5;}
-    .goods-container .good-footer .footer-right .btn.icon-gouxuan{background-color: #FF5B00;}
-    /*.bg-gouxuan{background-color: #f0f3f7;}*/
-    .good-price p {display: inline-block}
-    .priceTag{position: absolute;    top: 60px; right: 45px}
-    .pageWrap{width: 968px;margin: auto;padding: 32px 0}
-    .empty{background: #fff;margin-top: 10px;}
-    .navLayout{min-height: auto;}
-    .styleborder{border-top: 1px solid #e2e7ef}
-    .checkbox.checklist{line-height: 90px}
-  }
+   .crumbs{color: #22272e;font-size: 16px;}
+   .head-top{overflow: hidden;background: #fff;padding:17px;box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.07)}
+   .head-top>div {float: left; height: 40px;font-size: 12px;color: #627386;line-height: 40px;margin-right: 10px;margin-bottom: 10px}
+   .state {width: 158px !important;}
+   .state.small{width: 170px;margin: 0 0;}
+   input::placeholder{color: #9aa5b5;font-size: 12px;}
+   textarea::placeholder{color: #9aa5b5;}
+   #newBtn div{height: 36px;border-radius: 2px;display: inline-block;text-align: center;cursor: pointer}
+   #newBtn{float: left;margin: 0}
+   .goods-main{width: 100%; height: auto; float: left; margin:10px 0;background: #fff;}
+   .goods-tips{width: 100%;box-sizing: border-box;margin-top: 14px;}
+   .goods-tips .end-tips{width:100%;height: 32px;background: #FFF3F3;border-radius: 2px;line-height: 32px;color: #F94B4B;font-size: 12px;box-sizing: border-box;padding: 0 10px;}
+   .goods-tips .end-tips .tips{display:inline-block;width:32px;height:32px;line-height:32px;box-sizing:border-box;position:relative;color:#333;font-size:14px;text-align:center;white-space:nowrap}
+   .goods-tips .end-tips .tips:before{display:inline-block;width:20px;height:20px;vertical-align:middle;background-position:-24px 1px;margin-right:2px;}
+   .goods-main-empty{width: 100%;height: 60px;line-height: 60px;text-align: center;float: left;margin-top: 20px;}
+   .goods-main-empty p{font-size: 14px;color: #333;}
+   .goods-main-empty p a{color: #FF5B00;text-decoration: underline;margin: 0 3px;}
+   .empty{background: #fff;margin-top: 10px;}
+   .navLayout{min-height: auto;}
+   ::-webkit-scrollbar{ height: 6px;}
+   .pagination{width: 100%;margin-top: 10px;float: left; background: #FFFFFF;padding: 8px 20px;box-sizing: border-box;}
+ }
 
 /*移动*/
  @media screen and (max-width:768px) {
-   .head-top{padding: 3.4vw;background: #fff;}
-   .head-top form div{margin-top: 2.7vw;color: #627386;}
-   .order-border{width: 93.4vw;height: 11.8vw;line-height: 11.8vw;border: 1px solid #b8bfca;font-size: 3.4vw;}
-   .form-row.low{width: 93.4vw;height: 11.8vw;line-height: 11.8vw;border: 1px solid #b8bfca;font-size: 3.4vw;}
-   .form-row.low span{color: #627386;padding-left: 2.7vw;}
-   .form-row .Buyer{color: #9aa5b5;height: -webkit-fill-available;border: 0;width: 70vw}
-   input::placeholder,textarea::placeholder{color: #9aa5b5}
-   .state{width: 93.4vw;height: 11.7vw;line-height: 11.7vw;padding-left: 1.3vw;border: 1px solid #b8bfca;color: #627386;
-   margin-top: 1.3vw;background: #fff}
-   .form-row.fenlei .state{width: 29.5vw;margin-left:.8vw;}
-   .form-row.fenlei span{display: block;}
-   #newBtn .query-btn{border: 1px solid #FF5B00;width: 35.3vw;height: 11.2vw;line-height: 11.2vw;text-align: center;color: #FF5B00;background: #ffe6dc;margin: auto}
-   .good-info img{width: 15vw;height: 15vw}
-   .goods-main{margin-top: 2.7vw}
-   .good-name{display: inline-block;color:#22272e;margin-left: 8px;vertical-align: middle;word-break: break-all;overflow: hidden;text-overflow: ellipsis;display: -webkit-inline-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;width: 37vw}
-   .goods-title li{display: inline-block;color: #9aa5b5;font-size: 3.6vw}
-   .table-list{background: #fff;margin-bottom: 2.7vw;padding: 2.7vw;}
-   .table-list .goods-title{overflow: hidden;
-    padding: 2.3vw 0;}
-    .goods-title li:nth-child(1){float: left;font-size: 3.2vw;}
-    .goods-title li:nth-child(2){float: right;margin-right: 2.7vw}
-   .checkbox .icon-weigouxuan:before{ width: 16px;height: 16px; background-position:-9.3vw -53.5vw;transition: none;}
-   .checkbox .icon-gouxuan:before{width: 16px; height: 16px;background-position:-.53vw -53.5vw;transition: none}
-   .checkbox .box{display: inline-block}
-   .good-price span{display: block;color: #9aa5b5;font-size: 3.2vw}
-   .good-price p{display: inline-block;color: #22272e;font-size: 3.4vw}
-   .good-price{line-height: 6.4vw;margin-top: 2.6vw}
-   .good-status{overflow: hidden;line-height: 6.4vw;margin: 2.7vw 0}
-   .good-status .good-left{float: left}
-   .good-status .good-right{float: right;margin-left: 5vw;}
-   .good-status span{color: #9aa5b5;font-size: 3.2vw}
-   .good-status  p{color: #22272e;font-size: 3.4vw}
-   .good-handle a{width: 20vw;height: 9.5vw;line-height: 9.5vw;text-align: center;border-radius: 6.4vw;font-size: 3vw;
-   display: inline-block;margin-left: 2.5vw}
-   .good-handle{float: right;margin: 1.7vw 0}
-   .tbody{overflow: hidden;}
-   .good-info .btn.eit{border:1px solid #1890f9;color: #1890f9;background: #e0f1ff;display: inline-block;width: 20vw;height: 9.5vw;
-   line-height: 9.5vw;text-align: center;border-radius: 6.4vw;font-size: 3vw;margin-left: 16.7vw}
-   .good-handle a.primary{border:1px solid #FF5B00;color: #FF5B00;background: #ffe6dc}
-   .good-handle a.down{border:1px solid #627386;color: #627386;background: #f0f3f7}
-   .good-handle a.success{border:1px solid #1890f9;color: #1890f9;background: #e0f1ff;width: 23vw;padding: 0 1.3vw}
-   .good-handle a.danger{width:24vw;border:1px solid  #f94b4b;color: #f94b4b;background: #ffd8d8}
-   .good-footer{width: 100%;height: 11.9vw;background: #fff; padding: 1.7vw 0}
-   .good-footer .footer-left{float: left;margin-left: 5.3vw}
-   .good-footer .checkbox {line-height: 11.9vw;}
-   .good-footer .checkbox .box{line-height:11.9vw;float: left;}
-   .good-footer .checkbox span{display: inline-block;float: left;margin-left:2.7vw;}
-   .good-footer .footer-right{float: right;margin-top: 1.7vw;}
-   .good-footer .footer-right .btn{ width: 20.8vw;height: 8.5vw;display: block;line-height: 8.5vw;text-align: center;font-size: 3.4vw;border-radius: 6.4vw;margin-right: 30px;color: #FFF;}
-   .good-footer .footer-right .btn.icon-weigouxuan{border: solid .27vw #b8bfca;color: #627386;}
-   .good-footer .footer-right .btn.icon-gouxuan{background-color: #ffe6dc; color: #FF5B00;border: .27vw solid #FF5B00}
-   .priceTag{position: absolute;left: 50vw}
-   .empty{box-sizing:border-box;padding:15vw 0;text-align:center;color:#4A4F58;line-height:8vw;font-size:3.4vw;background: #fff;}
-   .empty img{width:40vw;height:40vw;}
-   .empty a{color:#FF5B00;}
+    .head-top{padding: 3vw 0;background: #fff;}
+    .head-top .form-row{margin:1.5vw 0;color: #627386;float: left;width: 50%;}
+    .state {width: 92% !important;margin: 0 2vw;}
+    #newBtn{float: left;margin: 2vw;}
+    .goods-main{margin-top: 2.7vw; padding-bottom: 15vw;}
+    .goods-tips{width: 100%;box-sizing: border-box;margin-top: 14px;}
+    .goods-tips .end-tips{width:100%;height:auto;background: #FFF3F3;border-radius: 2px;color: #F94B4B;font-size: 3.2vw;box-sizing: border-box;padding: 2vw;line-height: 5vw;}
+    .goods-tips .end-tips .tips{display:none;}
+    .empty{box-sizing:border-box;padding:15vw 0;text-align:center;color:#4A4F58;line-height:8vw;font-size:3.4vw;background: #fff;}
+    .empty img{width:40vw;height:40vw;}
+    .empty a{color:#FF5B00;}
+    footer{display: none;}
+    .pagination{width: 100%;min-height: 2vw;position: fixed;bottom: 0;left: 0;background: #FFFFFF;z-index: 99;padding: 2vw;box-sizing: border-box;}
  }

+ 127 - 108
src/main/resources/static/css/supplier-center/shop/release.css

@@ -24,8 +24,10 @@ div{box-sizing: border-box;}
     .release-from{width: 100%;height:auto;margin-bottom: 15px;line-height: 32px;font-size: 14px;color: #333;}
     .release-from.text p .em{color: #FF5B00;}
     .release-from.none{margin-bottom: 0;}
-    .release-from .release-label{width: 100%;float: left;text-align: left;height: 32px;color: #627386;font-weight: bold;}
+    .release-from .release-label{width: 100%;float: left;text-align: left;height: 32px;color: #627386;font-weight: bold;position: relative;}
+    .release-from .release-label.active{ font-weight: normal;color: #FF5B00; }
     .release-from .release-label span{color: #FF0000;}
+    .release-from .release-label .release-label-btn{display: block;position: absolute;right: 0;top: 0;line-height: 32px;font-weight: normal;color: #2398FF;cursor: pointer;}
     .release-from .release-from-tr{width: 100%;height: 32px;float: left;}
     .release-from .release-from-tr .tr-labe{width: 88px;height: 32px;float: left;text-align: left;font-size: 14px;color: #627386;line-height: 32px;margin-right: 14px;}
     .release-from .release-from-tr .tr-labe .star{color: #F94B4B;}
@@ -34,9 +36,9 @@ div{box-sizing: border-box;}
     .release-from .release-from-td .tr-labe{width: 88px;height: 36px;float: left;text-align: left;margin-right: 14px;}
     .release-from .release-from-td .tr-labe.none{margin-right: 0;}
     .release-from .release-from-td .tr-labe .tr-input{width: 100%;height: 36px;font-size: 14px;color: #627386;line-height: 36px;box-sizing: border-box;border: 1px solid #B8BFCA;padding: 0 5px;}
-    .release-from .release-from-td .tr-icon{width: 36px;height: 36px;box-sizing: border-box;padding: 4px;position: absolute;right: -46px;top: 0; cursor: pointer;}
-    .release-from .release-from-td .tr-icon .add:before{display: inline-block;width: 20px;height: 20px;vertical-align: middle;background-position: -51px 1px;margin-right: 2px;}
-    .release-from .release-from-td .tr-icon .del:before{display: inline-block;width: 20px;height: 20px;vertical-align: middle;background-position: -77px 1px;margin-right: 2px;}
+    .release-from .release-from-td .tr-icon{width: 36px;height: 36px;box-sizing: border-box;padding: 4px;float: left;margin-left: 15px; cursor: pointer;}
+    .release-from .release-from-td .tr-icon .add:before{display: inline-block;width: 20px;height: 20px;vertical-align: middle;background-position: -51px -1px;margin-right: 2px;}
+    .release-from .release-from-td .tr-icon .del:before{display: inline-block;width: 20px;height: 20px;vertical-align: middle;background-position: -77px -1px;margin-right: 2px;}
     .release-from .release-input{width: 100%;height: auto;float: left;position: relative;}
     .release-from .release-input.expen{margin-top:10px;}
     .release-from .release-input.expen .input{padding-left:30px;}
@@ -95,13 +97,15 @@ div{box-sizing: border-box;}
     .release-from .from-button .btn.prev{border: 1px solid #FF5B00;background-color: #ffe6dc;color: #FF5B00;}
     .release-from .from-button .btn.next{background-color: #FF5B00;color: #fff;}
     .release-from .from-button .btn.eyes{background-color:#A69DFE;color: #fff;}
+    .release-main-tips{width: 100%;height: 60px;box-sizing: border-box;padding: 12px 168px;background: linear-gradient(90deg, #FFFFFF 0%, #FFEEE5 51%, #FFFFFF 100%);font-size: 12px;color: #FF5B00;line-height: 18px;}
+
     /*预览*/
     .preview-container{width: 100%;height: 100%;position: fixed;top: 0;left: 0;background: rgba(0,0,0,.5);z-index: 99999;display: none;}
     .preview-container .preview-content{width: 100%;height: 100%;display: flex;justify-content: center;align-items: center;}
     .preview-container .preview-content img{border-radius: 4px;}
     /*销售信息*/
     input[type="radio"]{opacity:0;}
-    .release-from .release-input .release-props{width: 100%;height: 36px;}
+    .release-from .release-input .release-props{width: 100%;height: 38px;}
     .release-from .release-input .release-props .release-radio{width:150px;height:36px;margin-right:10px;line-height:34px;box-sizing:border-box;font-size:14px;text-align:center;display:inline-block}
     .release-from .release-input .release-props .release-radio.second{width:100px;}
     .release-from .release-input .release-props .release-radio input{display:none}
@@ -112,7 +116,11 @@ div{box-sizing: border-box;}
     .release-from .release-input .release-province{width: 100%;height: auto;margin-top: 20px;}
     .release-from .release-input .release-province .province-item{line-height:26px;padding: 0 10px;text-align: center;font-size: 14px;color: #627386;background: #F0F3F7;border-radius: 2px;display: block;margin: 0 10px 10px 0;float: left;}
     .release-from .release-input .release-province .province-item.active{background: #FF5B00;color: #FFF;}
-    /*税率弹窗*/
+    .release-from .release-input .release-radios{ width:150px;height:38px;margin-right:10px;line-height:36px;box-sizing:border-box;font-size:14px;text-align:center;display:block;border: 1px solid #B8BFCA;position: relative;border-radius: 2px;float: left; }
+    .release-from .release-input .release-radios.active{border-color: #FF2A2A;color: #FF5B00;}
+    .release-from .release-input .release-radios.active:before{content: '';width: 20px;height: 20px;position: absolute;bottom: 0;right: -2px;background: url("/img/base/icon.png")-210px -252px no-repeat;}
+
+        /*税率弹窗*/
     .popup{width: 100%;height: 100%;background: rgba(0,0,0,0.3);position: fixed;top: 0;left: 0;z-index: 999;opacity: 0;}
     .popup.active{opacity: 1;}
     .popup-layer{-webkit-overflow-scrolling: touch;width: 338px;position: absolute;top: 0;left: 0;bottom: 0;right: 0;margin: auto;background-color: #fff;-webkit-background-clip: content;border-radius: 2px;box-shadow: 1px 1px 50px rgba(0,0,0,.3);z-index: 1000;}
@@ -157,107 +165,118 @@ div{box-sizing: border-box;}
 /*移动*/
 
 @media screen and (max-width:768px) {
-.container .release-stepbox{height: 17.6vw;}
-.container .release-stepbox>div{float: left;    width: 20%;text-align: center;top: 9.3vw;position: relative;}
-.release-stepbox .stepSpan p{color: #9aa5b5}
-.release-stepbox .stepSpan.active p {color: #FF5B00;}
-.release-stepbox .stepSpan.active p span {background: #FF5B00;}
-.release-stepbox .stepSpan p span{display: inline-block;width: 5.3vw;height: 5.3vw;font-size: 3.2vw;text-align: center;line-height: 5.3vw;background: #9aa5b5;color: #FFFFFF;border-radius: 10.6vw;position: absolute;top: -6.4vw;right: 7vw}
-.release-container{background: #fff;padding: 3.3vw;}
-.release-from .release-label{height:8.3vw;color: #627386;}
-.release-from .release-label span {color: #FF0000;}
-.release-from .release-input .input{width: -webkit-fill-available; border: .27vw solid rgba(184,191,202,.5);border-radius: .27vw;padding-left: 2.7vw;height: 11.8vw}
- input::placeholder{color: #9aa5b5;}
-.release-from{margin-bottom: 4vw;line-height: 8.5vw}
-.release-from .text{line-height: 6.4vw;color: #FF5B00;width: 87vw;margin: auto;font-size: 3.1vw}
-.release-from .select-main .select{border: .27vw solid rgba(184,191,202,.5);height: 11.7vw;width: -webkit-fill-available;padding-left: 2.7vw;color: #9aa5b5;}
-.release-from .release-input .input.tags{width: 52vw;height: 11.7vw;}
-.release-from .release-input .add-btn{width: 33.4vw;border-radius: .53vw;border: .27vw solid #FF5B00;display: inline-block;margin-left:2.7vw;text-align: center;line-height: 11.7vw;background-color: #ffe6dc;color: #FF5B00;}
-.release-from .release-input .input.keyword{margin-bottom: 2.7vw;}
-.release-from .p{width: 22.4vw;height: 7.2vw;line-height: 7.2vw;text-align: center;font-size: 12px;color: #FF5B00;border: .27vw solid #FF5B00;background: #ffe6dc;display: block;border-radius: 4.8vw;margin: 2.7vw auto;}
-.release-from .release-input .release-param{ position: relative;width: 100%;height: auto;border: 1px solid rgba(184,191,202,.5);margin-bottom: 2.7vw;}
-.release-from .release-input .release-param .param-input:first-child {border-bottom: 1px solid #f0f3f7;}
-.release-from .release-input .release-param .param-input{width: -webkit-fill-available;border-radius: .27vw;padding-left: 2.7vw;height: 11.8vw;border: none;}
-.release-from .release-input .add{width: 22.4vw;height: 7.2vw;line-height: 7.2vw;text-align: center;font-size: 12px;color: #FF5B00;border: .27vw solid #FF5B00;background: #ffe6dc;display: block;border-radius: 4.8vw;margin: 2.7vw auto;}
-.release-from .from-button .btn.next{width: 100%;height: 11.2vw;line-height: 11.2vw;text-align: center;color: #fff;background: #FF5B00;display: block;}
-.release-from .release-tips {width: 100%;color: #FF0000;}
-.popup.active {opacity: 1;}
-.popup {width: 100%;height: 100%;background: rgba(0,0,0,0.3);position: fixed;top: 0;left: 0;z-index: 999;opacity: 0;}
-.popup-layer {width:74.7vw;height: 98.8vw;position: absolute;top: 0;left: 0;bottom: 0;right: 0;margin: auto;background: #fff;border-radius: 1vw;z-index: 1000;}
-.popup-layer .popup-title {padding-left: 4vw;height: 10.5vw;line-height:10.5vw;border-bottom: .27vw solid #e2e7ef;font-size: 3.4vw;color: #22272e;overflow: hidden;border-radius: 2px 2px 0 0;position: relative;}
-.popup-title .popup-close {width: 25px;height: 26px;display: block;position: relative;right: -240px;top: -38px}
-.popup-layer .popup-content {padding: 2.7VW;}
-.popup-layer .popup-content .popup-from {height: auto;color: #999999;line-height: 8.5vw;position: relative;}
-.popup-layer .popup-content .popup-from span {display: inline-block;height: 8.5vw;font-size: 3vw;color: #22272e;float: left}  .popup-layer .popup-content .popup-from .popup-upload {height: 13vw;float: left;margin-left: 2.7vw;}
-.popup-layer .popup-content .popup-from .upload-file {width:13vw;height: 13vw;border: .27vw solid #EFEFEF;border-radius:.53vw;position: relative;cursor: pointer;}
-.popup-layer .popup-content .popup-from .upload-file .input-file {width: 13vw;height: 13vw;opacity: 0;cursor: pointer;margin-left: 0;padding: 0;}
-.popup-layer .popup-content .popup-from .popup-p{width: 49.8vw;height: 8.8vw;border: .27vw solid #b8bfca;display: inline-block;padding-left: 1.7vw}  .popup-textarea textarea{width: 47vw;height: 16vw;padding: 2.7vw;border: .27vw solid #b8bfca;resize: none;font-size: 3vw;}
-textarea::placeholder{color: #9aa5b5}  .popup-button{padding: 10px;}
-.popup-button div{height: 9.9vw;line-height: 9.9vw;text-align: center;margin-bottom: 2.7vw;}
-.popup-button div.btn-confim{color: #fff;background: #FF5B00;}
-.popup-button div.btn-cancel{color: #9aa5b5;border: .27vw solid #b8bfca;}
-.mIcon.icon-add:before {width: 5vw;height: 5vw;background-position: -9.6vw -62vw;position: relative;top: 3vw;right: -4vw;}
-.mIcon.popup-close:before{top: 1.9vw;width: 5.3vw;height: 5.3vw;background-position: -34vw 0px;right: 2.7vw;position: absolute}
-.release-from .release-input .yang{width: 8vw;position: absolute;left: 0;top: 0;line-height:13vw;text-align: center}
-.release-from .release-input .input.price{padding-left: 7vw}
-.release-from .release-input{position: relative}
-.release-from .release-input.expen{margin-top:5.5vw;}
-.release-from .release-input.expen .input{padding-left:6vw;}
-.release-from .release-input.expen .span{width:6vw;height:11.8vw;display:block;position:absolute;top:0;left:0;text-align:center;line-height:11.8vw;font-size:3.4vw;color:#22272e;}
+    .container .release-stepbox{height: 17.6vw;}
+    .container .release-stepbox>div{float: left;    width: 20%;text-align: center;top: 9.3vw;position: relative;}
+    .release-stepbox .stepSpan p{color: #9aa5b5}
+    .release-stepbox .stepSpan.active p {color: #FF5B00;}
+    .release-stepbox .stepSpan.active p span {background: #FF5B00;}
+    .release-stepbox .stepSpan p span{display: inline-block;width: 5.3vw;height: 5.3vw;font-size: 3.2vw;text-align: center;line-height: 5.3vw;background: #9aa5b5;color: #FFFFFF;border-radius: 10.6vw;position: absolute;top: -6.4vw;right: 7vw}
+    .release-container{background: #fff;padding: 3vw;}
+    .release-from .release-label{height:8.3vw;color: #627386;}
+    .release-from .release-label span {color: #FF0000;}
+    .release-from .release-input .input{width: -webkit-fill-available; border: .27vw solid rgba(184,191,202,.5);border-radius: .27vw;padding-left: 2.7vw;height: 11.8vw}
+     input::placeholder{color: #9aa5b5;}
+    .release-from{margin-bottom: 4vw;line-height: 8.5vw}
+    .release-from .text{line-height: 6.4vw;color: #FF5B00;width: 87vw;margin: auto;font-size: 3.1vw}
+    .release-from .select-main .select{border: .27vw solid rgba(184,191,202,.5);height: 11.7vw;width: -webkit-fill-available;padding-left: 2.7vw;color: #9aa5b5;}
+    .release-from .release-input .input.tags{width: 52vw;height: 11.7vw;}
+    .release-from .release-input .add-btn{width: 33.4vw;border-radius: .53vw;border: .27vw solid #FF5B00;display: inline-block;margin-left:2.7vw;text-align: center;line-height: 11.7vw;background-color: #ffe6dc;color: #FF5B00;}
+    .release-from .release-input .input.keyword{margin-bottom: 2.7vw;}
+    .release-from .p{width: 22.4vw;height: 7.2vw;line-height: 7.2vw;text-align: center;font-size: 12px;color: #FF5B00;border: .27vw solid #FF5B00;background: #ffe6dc;display: block;border-radius: 4.8vw;margin: 2.7vw auto;}
+    .release-from .release-input .release-param{ position: relative;width: 100%;height: auto;border: 1px solid rgba(184,191,202,.5);margin-bottom: 2.7vw;}
+    .release-from .release-input .release-param .param-input:first-child {border-bottom: 1px solid #f0f3f7;}
+    .release-from .release-input .release-param .param-input{width: -webkit-fill-available;border-radius: .27vw;padding-left: 2.7vw;height: 11.8vw;border: none;}
+    .release-from .release-input .add{width: 22.4vw;height: 7.2vw;line-height: 7.2vw;text-align: center;font-size: 12px;color: #FF5B00;border: .27vw solid #FF5B00;background: #ffe6dc;display: block;border-radius: 4.8vw;margin: 2.7vw auto;}
+    .release-from .from-button .btn.next{width: 100%;height: 11.2vw;line-height: 11.2vw;text-align: center;color: #fff;background: #FF5B00;display: block;}
+    .release-from .release-tips {width: 100%;color: #FF0000;}
+    .popup.active {opacity: 1;}
+    .popup {width: 100%;height: 100%;background: rgba(0,0,0,0.3);position: fixed;top: 0;left: 0;z-index: 999;opacity: 0;}
+    .popup-layer {width:74.7vw;height: 98.8vw;position: absolute;top: 0;left: 0;bottom: 0;right: 0;margin: auto;background: #fff;border-radius: 1vw;z-index: 1000;}
+    .popup-layer .popup-title {padding-left: 4vw;height: 10.5vw;line-height:10.5vw;border-bottom: .27vw solid #e2e7ef;font-size: 3.4vw;color: #22272e;overflow: hidden;border-radius: 2px 2px 0 0;position: relative;}
+    .popup-title .popup-close {width: 25px;height: 26px;display: block;position: relative;right: -240px;top: -38px}
+    .popup-layer .popup-content {padding: 2.7VW;}
+    .popup-layer .popup-content .popup-from {height: auto;color: #999999;line-height: 8.5vw;position: relative;}
+    .popup-layer .popup-content .popup-from span {display: inline-block;height: 8.5vw;font-size: 3vw;color: #22272e;float: left}  .popup-layer .popup-content .popup-from .popup-upload {height: 13vw;float: left;margin-left: 2.7vw;}
+    .popup-layer .popup-content .popup-from .upload-file {width:13vw;height: 13vw;border: .27vw solid #EFEFEF;border-radius:.53vw;position: relative;cursor: pointer;}
+    .popup-layer .popup-content .popup-from .upload-file .input-file {width: 13vw;height: 13vw;opacity: 0;cursor: pointer;margin-left: 0;padding: 0;}
+    .popup-layer .popup-content .popup-from .popup-p{width: 49.8vw;height: 8.8vw;border: .27vw solid #b8bfca;display: inline-block;padding-left: 1.7vw}  .popup-textarea textarea{width: 47vw;height: 16vw;padding: 2.7vw;border: .27vw solid #b8bfca;resize: none;font-size: 3vw;}
+    textarea::placeholder{color: #9aa5b5}  .popup-button{padding: 10px;}
+    .popup-button div{height: 9.9vw;line-height: 9.9vw;text-align: center;margin-bottom: 2.7vw;}
+    .popup-button div.btn-confim{color: #fff;background: #FF5B00;}
+    .popup-button div.btn-cancel{color: #9aa5b5;border: .27vw solid #b8bfca;}
+    .mIcon.icon-add:before {width: 5vw;height: 5vw;background-position: -9.6vw -62vw;position: relative;top: 3vw;right: -4vw;}
+    .mIcon.popup-close:before{top: 1.9vw;width: 5.3vw;height: 5.3vw;background-position: -34vw 0px;right: 2.7vw;position: absolute}
+    .release-from .release-label{width: 100%;float: left;text-align: left;height: 32px;color: #627386;font-weight: bold;position: relative;}
+    .release-from .release-label.active{ font-weight: normal;color: #FF5B00; }
+    .release-from .release-label span{color: #FF0000;}
+    .release-from .release-label .release-label-btn{display: block;position: absolute;right: 0;top: 0;line-height: 32px;font-weight: normal;color: #2398FF;cursor: pointer;}
+    .release-from .release-from-tr{width: 100%;height: 32px;float: left;}
+    .release-from .release-from-tr .tr-labe{width: 20%;height: 8vw;float: left;text-align: left;font-size: 3.2vw;color: #627386;line-height: 8vw;}
+    .release-from .release-from-tr .tr-labe .star{color: #F94B4B;}
+    .release-from .release-from-tr .tr-labe.none{margin-right: 0;}
+    .release-from .release-from-td{width: 100%;height: auto;float: left;margin:0;position: relative;}
+    .release-from .release-from-td .tr-labe{width: 19%;height: 8vw;float: left;text-align: left;margin-right: 1vw;}
+    .release-from .release-from-td .tr-labe.none{margin-right: 0;}
+    .release-from .release-from-td .tr-labe .tr-input{width: 100%;height: 8vw;font-size: 14px;color: #627386;line-height: 8vw;box-sizing: border-box;border: 1px solid #B8BFCA;padding: 0 1vw;border-radius: 1vw;}
+    .release-from .release-from-td .tr-icon{width: 8vw;height: 8vw;box-sizing: border-box;padding: 4px;float: left;cursor: pointer;}
+    .release-from .release-from-td .tr-icon .WEB-icon:before{content:'';display:inline-block;background:url(/img/base/WEB-icon.png) no-repeat;font-size:0;}
+    .release-from .release-from-td .tr-icon .add:before{display: inline-block;width: 20px;height: 20px;vertical-align: middle;background-position: -51px -1px;margin-right: 2px;}
+    .release-from .release-from-td .tr-icon .del:before{display: inline-block;width: 20px;height: 20px;vertical-align: middle;background-position: -77px -1px;margin-right: 2px;}
+    .release-from .release-input{width: 100%;height: auto;float: left;position: relative;}
+    .release-from .release-input .yang{width: 8vw;position: absolute;left: 0;top: 0;line-height:13vw;text-align: center}
+    .release-from .release-input .input.price{padding-left: 7vw}
+    .release-from .release-input{position: relative}
+    .release-from .release-input.expen{margin-top:5.5vw;}
+    .release-from .release-input.expen .input{padding-left:6vw;}
+    .release-from .release-input.expen .span{width:6vw;height:11.8vw;display:block;position:absolute;top:0;left:0;text-align:center;line-height:11.8vw;font-size:3.4vw;color:#22272e;}
 
-/*销售信息*/
-input[type="radio"]{opacity:0;}
-.release-from .release-input .release-props{width: 100%;height: 36px;}
-.release-from .release-input .release-props .release-radio{    width: 26.7vw;height: 11.2vw;margin-right: 2.7vw;line-height: 11.2vw;box-sizing: border-box;font-size: 3.4vw;text-align: center;display: inline-block}
-/*.release-from .release-input .release-props .release-radio.second{width:100px;}*/
-.release-from .release-input .release-props .release-radio input{display:none}
-.release-from .release-input .release-props .release-radio i{display:block;font-style:normal;cursor:pointer;width:100%;height:100%;position:relative;overflow:hidden;border-radius:2px;background:#FFF;border:.27vw solid #b8bfca;color:#627386;}
-.release-from .release-input .release-props .release-radio i:before{position:absolute;right:0;bottom:0;display:none;width:5.3vw;height:5.3vw;background-position:-75.7vw -8.5vw}
-.release-from .release-input .release-props .release-radio input:checked + i{border-color:#FF5B00;color:#FF5B00}
-.release-from .release-input .release-props .release-radio input:checked + i:before{display:block}
-.release-from .release-input .release-province{width: 100%;height: auto;margin-top: 5.3vw;}
-.release-from .release-input .release-province .province-item{line-height:8vw;padding: 0 2.7vw;text-align: center;font-size: 3.2vw;color: #627386;background: #F0F3F7;border-radius: .27vw;display: block;margin: 0 .27vw .27vw 0;float: left;}
-.release-from .release-input .release-province .province-item.active{background: #FF5B00;color: #FFF;}
-.release-from .release-input .tax{color: #627386;float: left;}
-.release-from .secondbtn {width: 100%;padding: 2.7vw 0;text-align: center;}
-.release-from .secondbtn .btn {box-sizing: border-box;width:40vw;height: 11.2vw;border-radius:.53vw;display: block;line-height:11.2vw;text-align: center;display: inline-block;margin: 0 1.3vw;}
-.release-from .secondbtn .btn.next{width: 40vw;display: inline-block;}
-.release-from .secondbtn .btn.next {background-color: #FF5B00;color: #fff;}
-.release-from .secondbtn .btn.prev {border: .27vw solid #FF5B00;background-color: #ffe6dc;color: #FF5B00;}
-.release-from .release-input .tax .mg{display: block;width: 54vw;height: 11.7vw;line-height: 11.7vw;border: .27vw solid #b8bfca;color: #22272e;padding-left: 2.7vw;}
-.release-from .release-input .edit-btn{width: 30.4vw;height: 11.7vw;line-height: 11.7vw;text-align: center;color: #FF5B00;background: #ffe6dc;border: .27vw solid #FF5B00;float: left;margin-top: 8vw;margin-left: 2.7vw}
-.popup-layer .popup-content .popup-from input{height: 8.8vw;width: 55.5vw;padding-left: 2.7vw;border: .27vw solid #b8bfca}
-.popup-layer .popup-content .popup-from .poze{width: 40px;text-align: center;font-size: 3.4vw;position: absolute;right: 0;top: 0;height: -webkit-fill-available}
-.popup-layer.edit{height: 62.3vw;}
-.release-from .release-input.upload.image{width: 100%;}
-.release-from .upload-file {width: 26vw;height: 26vw;border: .27vw solid #EBEBEB;border-radius: .53vw;position: relative;float: left;margin-right: 2.7vw;margin-bottom: 2.7vw;cursor: pointer;}
-.release-from .upload-file .input-file {width: 26vw;height: 26vw;opacity: 0;cursor: pointer;}
-.release-from .upload-file .upload-img {width: 100%;height: 100%;display: block;border-radius:.53vw;}
-.mIcon.icon-del:before{width: 5.3vw;height: 5.3vw;background-position: -89.8vw -7.6vw;position: absolute;top: -.8vw;right: -.8vw}
-.mIcon.icon-add:before{width: 8vw;height: 8vw;background-position: -8.2vw -60.3vw;position: absolute;top: 5.5vw;right: 9vw}
-.add-text {font-size: 3.6vw;color: #333330;opacity: 0.5;position: absolute;top: 61%;right: 5.3vw;}
-.release-from.text p .em {color: #FF5B00;}
-.imgText .text{color: #627386;font-size: 3vw;}
-.ck-editor__main p{height: 42.4vw;}
-.release-from .last  .btn{width: 25.2vw}
-.release-from .secondbtn .btn.next{width: 25.2vw}
-.release-from .tags-main .item-tags {padding: 0 2.7vw;line-height: 8vw;background: #ffe6dc;text-align: center;font-size: 3.2vw;color: #FF5B00;margin: 1.3vw;border-radius: .53vw;float: left;position: relative;}
-.mIcon.del-tags:before{width: 4.3vw;height: 4.3vw;background-position: -26.4vw -9vw;position: absolute;top: -2vw;}
-.mIcon.del-btn:before{width: 5.3vw;background-position: -98.4vw -9.3vw;height: 5.3vw;position: absolute;top: 0;right: 0}
-.select-main {margin-bottom: 2.7vw; position: relative}
-.select-main  .option-main{
-    border: .27vw solid rgba(184,191,202,.5)
-}
-.select-main  .option-main  .option{
-        padding:0 2.7vw;
-        color: #9aa5b5
-}
-.selected.mIcon:before{
-    width: 5.3vw;
-    height: 5.3vw;
-    background-position: -51.2vw -.27vw;
-    position: absolute;
-    top: 4vw;
-    right: 2.7vw
-}
+    .release-from .release-input .release-radios{ padding:0 2.5vw;height:10vw;margin-right:2.7vw;line-height:10vw;box-sizing:border-box;font-size:3.4vw;text-align:center;display:block;border: 1px solid #B8BFCA;position: relative;border-radius: 2px;float: left; }
+    .release-from .release-input .release-radios.active{border-color: #FF2A2A;color: #FF5B00;}
+    .release-from .release-input .release-radios.active:before{content: '';width: 20px;height: 20px;position: absolute;bottom: 0;right: -2px;background: url("/img/base/icon.png")-210px -252px no-repeat;}
+    .release-main-tips{width: 100%;height: 18vw;box-sizing: border-box;padding: 2vw 1vw;background: linear-gradient(90deg, #FFFFFF 0%, #FFEEE5 51%, #FFFFFF 100%);font-size: 3.2vw;color: #FF5B00;line-height: 5vw;}
+
+    /*销售信息*/
+    input[type="radio"]{opacity:0;}
+    .release-from .release-input .release-props{width: 100%;height: 36px;}
+    .release-from .release-input .release-props .release-radio{    width: 26.7vw;height: 11.2vw;margin-right: 2.7vw;line-height: 11.2vw;box-sizing: border-box;font-size: 3.4vw;text-align: center;display: inline-block}
+    /*.release-from .release-input .release-props .release-radio.second{width:100px;}*/
+    .release-from .release-input .release-props .release-radio input{display:none}
+    .release-from .release-input .release-props .release-radio i{display:block;font-style:normal;cursor:pointer;width:100%;height:100%;position:relative;overflow:hidden;border-radius:2px;background:#FFF;border:.27vw solid #b8bfca;color:#627386;}
+    .release-from .release-input .release-props .release-radio i:before{position:absolute;right:0;bottom:0;display:none;width:5.3vw;height:5.3vw;background-position:-75.7vw -8.5vw}
+    .release-from .release-input .release-props .release-radio input:checked + i{border-color:#FF5B00;color:#FF5B00}
+    .release-from .release-input .release-props .release-radio input:checked + i:before{display:block}
+    .release-from .release-input .release-province{width: 100%;height: auto;margin-top: 5.3vw;}
+    .release-from .release-input .release-province .province-item{line-height:8vw;padding: 0 2.7vw;text-align: center;font-size: 3.2vw;color: #627386;background: #F0F3F7;border-radius: .27vw;display: block;margin: 0 .27vw .27vw 0;float: left;}
+    .release-from .release-input .release-province .province-item.active{background: #FF5B00;color: #FFF;}
+    .release-from .release-input .tax{color: #627386;float: left;}
+    .release-from .secondbtn {width: 100%;padding: 2.7vw 0;text-align: center;}
+    .release-from .secondbtn .btn {box-sizing: border-box;width:40vw;height: 11.2vw;border-radius:.53vw;display: block;line-height:11.2vw;text-align: center;display: inline-block;margin: 0 1.3vw;}
+    .release-from .secondbtn .btn.next{width: 40vw;display: inline-block;}
+    .release-from .secondbtn .btn.next {background-color: #FF5B00;color: #fff;}
+    .release-from .secondbtn .btn.prev {border: .27vw solid #FF5B00;background-color: #ffe6dc;color: #FF5B00;}
+    .release-from .release-input .tax .mg{display: block;width: 54vw;height: 11.7vw;line-height: 11.7vw;border: .27vw solid #b8bfca;color: #22272e;padding-left: 2.7vw;}
+    .release-from .release-input .edit-btn{width: 30.4vw;height: 11.7vw;line-height: 11.7vw;text-align: center;color: #FF5B00;background: #ffe6dc;border: .27vw solid #FF5B00;float: left;margin-top: 8vw;margin-left: 2.7vw}
+    .popup-layer .popup-content .popup-from input{height: 8.8vw;width: 55.5vw;padding-left: 2.7vw;border: .27vw solid #b8bfca}
+    .popup-layer .popup-content .popup-from .poze{width: 40px;text-align: center;font-size: 3.4vw;position: absolute;right: 0;top: 0;height: -webkit-fill-available}
+    .popup-layer.edit{height: 62.3vw;}
+    .release-from .release-input.upload.image{width: 100%;}
+    .release-from .upload-file {width: 26vw;height: 26vw;border: .27vw solid #EBEBEB;border-radius: .53vw;position: relative;float: left;margin-right: 2.7vw;margin-bottom: 2.7vw;cursor: pointer;}
+    .release-from .upload-file .input-file {width: 26vw;height: 26vw;opacity: 0;cursor: pointer;}
+    .release-from .upload-file .upload-img {width: 100%;height: 100%;display: block;border-radius:.53vw;}
+    .mIcon.icon-del:before{width: 5.3vw;height: 5.3vw;background-position: -89.8vw -7.6vw;position: absolute;top: -.8vw;right: -.8vw}
+    .mIcon.icon-add:before{width: 8vw;height: 8vw;background-position: -8.2vw -60.3vw;position: absolute;top: 5.5vw;right: 9vw}
+    .add-text {font-size: 3.6vw;color: #333330;opacity: 0.5;position: absolute;top: 61%;right: 5.3vw;}
+    .release-from.text p .em {color: #FF5B00;}
+    .imgText .text{color: #627386;font-size: 3vw;}
+    .ck-editor__main p{height: 42.4vw;}
+    .release-from .last  .btn{width: 25.2vw}
+    .release-from .secondbtn .btn.next{width: 25.2vw}
+    .release-from .tags-main .item-tags {padding: 0 2.7vw;line-height: 8vw;background: #ffe6dc;text-align: center;font-size: 3.2vw;color: #FF5B00;margin: 1.3vw;border-radius: .53vw;float: left;position: relative;}
+    .mIcon.del-tags:before{width: 4.3vw;height: 4.3vw;background-position: -26.4vw -9vw;position: absolute;top: -2vw;}
+    .mIcon.del-btn:before{width: 5.3vw;background-position: -98.4vw -9.3vw;height: 5.3vw;position: absolute;top: 0;right: 0}
+    .select-main {margin-bottom: 2.7vw; position: relative}
+    .select-main  .option-main{border: .27vw solid rgba(184,191,202,.5)}
+    .select-main  .option-main  .option{padding:0 2.7vw;color: #9aa5b5}
+    .selected.mIcon:before{width: 5.3vw;height: 5.3vw;background-position: -51.2vw -.27vw;position: absolute;top: 4vw;right: 2.7vw}
+    footer{display: none;}
 }

+ 30 - 31
src/main/resources/static/css/user-center/order/detail.css

@@ -23,7 +23,7 @@ li{list-style:none}
     .order-container .section .section-info .order-title .title-time{position:absolute;right:0;top:0;line-height:40px;font-size: 12px;color: #9aa5b5;}
     .order-container .section .section-info .order-content{width:100%;height:auto;}
     .order-container .section .section-info .order-content .order-item{width:100%;}
-    .order-container .section .section-info .order-content .order-item p{display:inline-block;margin-left:45px;line-height: 36px;color: #627386;font-size: 14px;}
+    .order-container .section .section-info .order-content .order-item p{display:inline-block;margin-right:45px;line-height: 36px;color: #627386;font-size: 14px;}
     .order-container .section .section-info .order-content .order-item p.org{}
     .order-container .section .section-info .order-content .order-item p.copy{margin-left:20px;width: 56px;height: 24px;background-image: linear-gradient(214deg, #ff2929 0%, #ff6d1b 100%);border-radius: 2px;line-height: 24px;text-align: center;font-size: 12px;color: #FFF;margin-top: 6px;cursor: pointer;}
     .order-container .section .section-info .order-content .order-item p span{margin-left: 5px;}
@@ -59,7 +59,7 @@ li{list-style:none}
     .order-container .section-shopinfo .product-t .price>p .red{color: #FF2A2A;}
     .price-total{padding-top:20px;text-align:right;color:#22272e;font-size:16px}
     .price-total span{color:#f94b4b}
-    .order-container .section-shopinfo .shopinfo-bott{width: 100%;height: auto;box-sizing: border-box;color: #22272E;background-color: #FFFAF8;padding: 8px 20px;margin-top: 5px;}
+    .order-container .section-shopinfo .shopinfo-bott{width: 100%;height: auto;box-sizing: border-box;color: #22272E;background-color: #FFFAF8;padding: 8px 20px;}
     .order-container .section-shopinfo .shopinfo-bott p{display:inline-block;margin-right:50px;line-height: 34px;color: #627386;font-size: 14px;float: left;}
     .order-container .section-shopinfo .shopinfo-bott .red{color: #f94b4b;}
     .order-container .section-shopinfo .shopinfo-bott .org{color: #FF5B00;}
@@ -67,28 +67,17 @@ li{list-style:none}
     .order-container .section-shopinfo .shopinfo-note{width: 100%;height: 30px;line-height: 30px;padding: 10px 20px 16px 20px;}
     .order-container .section-shopinfo .shopinfo-note p{color: #22272E;}
     /*发票信息*/
-    .order-container .section-invoice{margin-bottom: 10px;width: 100%;height: auto;box-sizing: border-box;float: left;padding:16px 20px;background-color: #FFFFFF;}
-    .order-container .section-invoice .tit{width: 100%;line-height: 24px;font-size: 14px;color: #22272E;height: 24px;float: left;}
-    .order-container .section-invoice .tit p{float: left;}
-    .order-container .section-invoice .tit .icon{width: 24px;height: 24px;display: block;float: right;}
-    .order-container .section-invoice .tit .icon:before{width: 24px;height: 24px;background-position: -90px -0px;}
-    .order-container .section-invoice .invoice-none{width: 100%;line-height: 24px;font-size: 14px;color: #627386;height: 24px;float: left;box-sizing: border-box;}
-    .order-container .section-invoice .invoice-content>p{display:inline-block;min-width:49%;line-height: 36px;color: #627386;font-size: 14px;}
-    .order-container .section-invoice .invoice-content p span{color: #22272E;}
+    .section-showInfo{ width: 100%;height: auto;box-sizing: border-box;float: left;padding:10px 20px;background-color: #FFFFFF;margin-bottom: 10px;}
+    .section-showInfo .title-name {color: #22272e;font-size: 14px;margin-bottom: 20px}
+    .section-showInfo .order-item {display: flex}
+    .section-showInfo .order-item p {margin-bottom: 20px;display: inline-block;color: #627386;width: 33%}
     /*转账信息*/
-    .section-payment{margin-bottom: 10px;width: 100%;height: auto;box-sizing: border-box;float: left;padding:16px 20px;background-color: #FFFFFF;}
-    .payment-transfer{width: 100%;height: auto;}
-    .payment-transfer .payment-transfer-main{width: 100%;height: auto;}
-    .payment-transfer .payment-transfer-main .label{width: 100%;height: 38px;line-height: 38px;font-size: 13px;color: #333;}
-    .payment-transfer .payment-transfer-main .label .label-title{color: #FF5B00;padding-left: 20px;position: relative;}
-    .payment-transfer .payment-transfer-main .label .label-title .icon{width: 16px;height: 16px;display: block;position: absolute;top: 2px;left: 0;}
-    .payment-transfer .payment-transfer-main .label .label-title .icon:before{width: 16px;height: 16px;background-position: -340px -415px;}
-    .payment-transfer .payment-transfer-main .label .label-t{color: #627386;}
-    .payment-transfer .payment-transfer-main .label .text{color: #333;float: left;margin-right: 30px;}
-    .payment-transfer .payment-transfer-main .label .text-p{color: #333;float: left;}
-    .payment-transfer .payment-transfer-main .label .text-p input{border: none;background-color: #FFF;width: 60px;font-size: 14px;color: #333;}
-    .payment-transfer .payment-transfer-main .label .text-p .copy{display: inline-block;width: 56px;height: 24px;background-image: linear-gradient(214deg, #ff2929 0%, #ff6d1b 100%);border-radius: 2px;line-height: 24px;opacity:1;font-size: 12px;margin-top: 5px;margin-left: 5px;color: #FFF;text-align: center;}
-    .payment-transfer .payment-transfer-main .label .label-c{color: #FF2A2A;}
+    .section-showInfo .vouch-list{ width: 100%;height: auto;box-sizing: border-box;padding: 16px 0; border-bottom: 1px solid #E2E7EF;}
+    .section-showInfo .refund-item-p{width: 100%;line-height: 30px;font-size: 14px;color: #666666;float: left;}
+    .section-showInfo .refund-item-imgs{width: 100%;height: auto;margin: 5px 0;float: left;}
+    .section-showInfo .refund-item-imgs .item-image{width: 100px;height: 100px;margin-right: 10px;border: 1px dashed #E1E1E1;float: left;}
+    .section-showInfo .refund-item-imgs .item-image a{width: 100px;height: 100px;display: block;}
+    .section-showInfo .refund-item-imgs .item-image a img{width: 100px;height: 100px;display: block;}
     /*退款记录*/
     .section-paymentlist{margin-bottom: 10px;width: 100%;height: auto;box-sizing: border-box;float: left;padding:10px 20px;background-color: #FFFFFF;}
     .section-paymentlist .record-title{width: 100%;height: 48px;line-height: 48px;float: left;font-size: 16px;color: #22272E;}
@@ -107,7 +96,7 @@ li{list-style:none}
     /*底部按钮*/
     .section-botton{width: 100%;height: 76px;box-sizing: border-box;float: left;padding:20px;background-color: #FFFFFF;}
     /*.section-botton .inner{width: 1184px;margin: 0 auto;}*/
-    .section-botton .btn{width: 88px;height: 34px;border-radius: 2px;border: 1px solid #FFF;float: right;margin-left: 16px;font-size: 14px;line-height: 34px;text-align: center;display: block;}
+    .section-botton .btn{height: 34px;padding: 0 10px;border-radius: 2px;border: 1px solid #FFF;float: right;margin-left: 16px;font-size: 14px;line-height: 34px;text-align: center;display: block;}
     .section-botton .btn.cancel{border-color: #9aa5b5;background-color: #FFFFFF;color: #22272e;}
     .section-botton .btn.primary{border-color: #FF5B00;background-color: #FF5B00;color: #FFFFFF;position: relative;}
     .section-botton .btn.primary .tips{width: 44px;height: 19px;line-height: 19px;text-align: center;border-radius: 10px;background-color: #ffe6dc;font-size: 12px;color: #FF5B00;position: absolute;right:0px;top: -25px;z-index: 99;}
@@ -125,6 +114,7 @@ li{list-style:none}
 * 移动端
 */
 @media screen and (max-width:768px){
+    .order-container { padding-bottom: 28vw;}
     .order-container .section-info,
     .order-container .section-invoice,
     .order-container .section-payment{box-sizing:border-box;width:100%;background:#FFF;margin-top:1.5vw;padding:2vw 3.2vw 4vw 3.2vw;font-size:3.2vw;color:#627386;line-height:7vw}
@@ -165,7 +155,7 @@ li{list-style:none}
     .section-prosinfo .text .price{font-size:3.4vw;color:#627386}
     .section-prosinfo .text .price .red{color:#f94b4b}
 
-    .order-container .section-shopinfo .shopinfo-bott{width: 100%;height: auto;box-sizing: border-box;color: #22272E;background-color: #FFFAF8;padding: 2vw 3.2vw;margin-top: 2vw;}
+    .order-container .section-shopinfo .shopinfo-bott{width: 100%;height: auto;box-sizing: border-box;color: #22272E;background-color: #FFFAF8;padding: 2vw 3.2vw;}
     .order-container .section-shopinfo .shopinfo-bott p{display:inline-block;margin-right:8vw;line-height: 6.8vw;color: #627386;font-size: 3.4vw;float: left;}
     .order-container .section-shopinfo .shopinfo-bott .red{color: #f94b4b;}
     .order-container .section-shopinfo .shopinfo-bott .org{color: #FF5B00;}
@@ -173,9 +163,18 @@ li{list-style:none}
     .order-container .section-shopinfo .shopinfo-note{width: 100%;height: auto;line-height: 6vw;padding: 3.2vw 3.2vw 0 3.2vw;box-sizing: border-box;}
     .order-container .section-shopinfo .shopinfo-note p{width: 100%;color: #22272E;text-overflow: ellipsis;display: -webkit-box;word-break: break-all;-webkit-box-orient: vertical;-webkit-line-clamp: 2;overflow: hidden;}
 
-    .section-invoice p{font-size:3.4vw;color:#627386;line-height:5vw;padding:1.6vw 0}
-    .section-invoice p span{color:#22272e}
-    .section-invoice .tit p{font-size:3.7vw;color:#22272e}
+    /*发票信息*/
+    .section-showInfo{ width: 100%;height: auto;box-sizing: border-box;float: left;padding:2vw 3.3vw;background-color: #FFFFFF;margin-bottom: 10px;}
+    .section-showInfo .title-name {color: #22272e;font-size: 3.4vw;margin-bottom: 2vw;}
+    .section-showInfo .order-item p {margin-bottom: 3vw;display: inline-block;color: #627386;width: 100%;}
+    /*转账信息*/
+    .section-showInfo .vouch-list{ width: 100%;height: auto;box-sizing: border-box;padding: 1.5vw 0; border-bottom: 1px solid #E2E7EF;}
+    .section-showInfo .refund-item-p{width: 100%;line-height: 8vw;font-size: 3.4vw;color: #666666;float: left;}
+    .section-showInfo .refund-item-imgs{width: 100%;height: auto;margin: 5px 0;float: left;}
+    .section-showInfo .refund-item-imgs .item-image{width: 15vw;height: 15vw;margin-right: 10px;border: 1px dashed #E1E1E1;float: left;}
+    .section-showInfo .refund-item-imgs .item-image a{width: 15vw;height: 15vw;display: block;}
+    .section-showInfo .refund-item-imgs .item-image a img{width: 15vw;height: 15vw;display: block;}
+
     .price-total{padding:3vw;text-align:right;color:#22272e;font-size:3.4vw;float: left;}
     .price-total span{color:#f94b4b}
     .payment-transfer{color:#22272e}
@@ -186,9 +185,9 @@ li{list-style:none}
     .payment-transfer .label>p .red{color:#FF5B00}
     .record-title,.record-empty{width:100%;box-sizing:border-box;font-size:3.4vw;margin-top:1.5vw;padding:3.2vw;background:#FFF;color:#22272e}
     .record-title span{color:#f94b4b}
-    .section-botton{margin-top:1.5vw;padding: 2.7vw;background: #fff}
+    .section-botton{width: 100%; margin-top:1.5vw;padding: 2.7vw 0;background: #fff;box-sizing: border-box;position: fixed;bottom: 0;left: 0;z-index: 999;}
     .section-botton .inner{overflow: hidden}
-    .section-botton .btn{display:inline-block;width:22.4vw;height:11.2vw;line-height:11.2vw;font-size:3.7vw;text-align:center;background-color:#ffe6dc;border-radius:2px;border:1px solid #FF5B00;margin:0 2.7vw 0 auto;color:#FF5B00;float: right;}
+    .section-botton .btn{display:inline-block;padding:0 2.5vw;height:10vw;line-height:10vw;font-size:3.7vw;text-align:center;background-color:#ffe6dc;border-radius:2px;border:1px solid #FF5B00;margin:0 0 0 2.7vw;color:#FF5B00;float: left;}
     .section-botton .primary{color:#FFF;Background:#FF5B00;position: relative;}
     .section-botton .btn.primary.confirm{line-height: 4.5vw;}
     .section-botton .btn.primary .tips{width: 12.6vw;height: 4.8vw;line-height: 4.8vw;text-align: center;border-radius: 2.4vw;background-color: #ffe6dc;font-size: 2.8vw;color: #FF5B00;position: absolute;right: -2vw;top: -6.5vw;z-index: 99;}
@@ -196,7 +195,7 @@ li{list-style:none}
     /* 特殊商品退货须知 */
     .return-instructions{padding: 4vw 3.3vw;background: #FFFAF8; color: #FF5B00; font-size: 3.4vw;margin-top: 1.5vw; line-height: 5.6vw;}
 
-
+    footer{display: none; }
 
 
 }

+ 38 - 45
src/main/resources/static/css/user-center/order/orderlist.css

@@ -15,20 +15,10 @@ li{list-style:none}
     .order-header .header-tp .header-ser{height: 38px;float: right;}
     .order-header .header-tp .header-ser .btn-server{width: 90px;height: 36px;display: block;background-color: #ffe6dc;border-radius: 2px;border: solid 1px #FF5B00;font-size: 14px;color: #FF5B00;line-height: 36px;text-align: center;}
     .order-header .header-bt {width: 100%;height: 38px;float: left;}
-    .order-header .header-bt .header-search{width: 828px;height: 38px;float: left;}
-    .order-header .header-bt .search{width: 446px;height: 38px;float: left;}
-    .order-header .header-bt .search .label{display: inline-block;float: left;width: 60px;height: 38px;line-height:38px;font-size: 12px;color: #627386;}
-    .order-header .header-bt .search .search-input{width: 386px;box-sizing: border-box;padding: 0 10px;font-size: 12px;line-height: 36px;border: 1px solid #b8bfca;border-radius: 2px; }
-    .order-header .header-bt .search-time{float: left;margin-left: 15px;}
-    .order-header .header-bt .search-time .label{display: inline-block;float: left;width: 60px;height: 38px;line-height:38px;font-size: 12px;color: #627386;}
-    .order-header .header-bt .search-time .search-main{float: left;height: 38px;}
-    .order-header .header-bt .search-time .search-main .line{line-height:38px;font-size: 12px;color: #627386;margin: 0 5px;display: inline-block;float: left;}
-    .order-header .header-bt .search-time .search-main .search-input{width:130px;box-sizing: border-box;padding-right: 16px;float: left;border: 1px solid #b8bfca;position: relative;}
-    .order-header .header-bt .search-time .search-main .search-input .input{width:114px;box-sizing: border-box;padding: 0 10px;font-size: 12px;line-height: 36px;border: none;border-radius: 2px;cursor: pointer;}
-    .order-header .header-bt .search-time .search-main .search-input .icon{width: 12px;height:  12px;display: block;position: absolute;right: 8px;top: 10px;}
-    .order-header .header-bt .search-time .search-main .search-input .icon:before{width: 12px;height:  12px;background-position: -348px -378px;}
-    .order-header .header-bt .header-button{height: 38px;float: right;}
-    .order-header .header-bt .header-button .btn-server{width: 90px;height: 36px;display: block;background-color: #FF5B00;border-radius: 2px;border: solid 1px #FF5B00;font-size: 14px;color: #FFFFFF;line-height: 36px;text-align: center;}
+    .order-header .header-bt .form-row {float: left; height: 40px;font-size: 12px;color: #627386;line-height: 40px;margin-right: 10px;margin-bottom: 10px}
+    .order-header .header-bt .state {width: 320px !important;}
+    .order-header .header-bt .form-row .time {width: 185px !important;}
+    .order-header .header-bt .header-button{height: 38px;float: left;}
 
     .order-container{width: 100%;min-height:410px;margin-top: 8px;}
     .order-container .empty{background-color:#FFF;}
@@ -63,7 +53,7 @@ li{list-style:none}
     .order-container .section .user-main .order-content .order-item p span{margin-left: 5px;color: #22272e;}
     .order-container .section .user-main .order-content .order-item p .red{color: #f94b4b;}
     .order-container .section .user-main .order-content .order-botton{width: 100%;height: 36px;float: left;margin-top: 8px;}
-    .order-container .section .user-main .order-content .order-botton .btn{width: 88px;height: 34px;border-radius: 2px;border: 1px solid #FFF;float: right;margin-left: 16px;font-size: 14px;line-height: 34px;text-align: center;display: block;}
+    .order-container .section .user-main .order-content .order-botton .btn{height: 34px;padding: 0 10px;border-radius: 2px;border: 1px solid #FFF;float: right;margin-left: 16px;font-size: 14px;line-height: 34px;text-align: center;display: block;}
     .order-container .section .user-main .order-content .order-botton .btn.cancel{border-color: #9aa5b5;background-color: #FFFFFF;color: #22272e;}
     .order-container .section .user-main .order-content .order-botton .btn.primary{border-color: #FF5B00;background-color: #FF5B00;color: #FFFFFF;position: relative;}
     .order-container .section .user-main .order-content .order-botton .btn.primary .tips{width: 44px;height: 19px;line-height: 19px;text-align: center;border-radius: 10px;background-color: #ffe6dc;font-size: 12px;color: #FF5B00;position: absolute;right:0px;top: -25px;z-index: 99;}
@@ -103,36 +93,39 @@ li{list-style:none}
 * 移动端
 */
 @media screen and (max-width:768px){
-.order-header{width:100%;background:#FFF;margin-bottom:1.5vw}
-.header-tabs{padding:4vw 3.2vw;box-sizing:border-box;width:100%;overflow-y:hidden;overflow-x:scroll;white-space:nowrap;background:#FFF}
-.header-tabs .tabs-item{display:inline-block;height:8.4vw;border:1px solid #b8bfca;line-height:8.4vw;padding:0 3vw;border-radius:4.2vw;margin-right:2.6vw}
-.header-tabs .tabs-item a{color:#627386}
-.header-tabs .tabs-item a span{color:#FF5B00}
-.header-tabs .tabs-item.active{background-color:#ffe6dc;border-color:#FF5B00;color:#FF5B00}
-.header-tabs .tabs-item.active a{color:#FF5B00}
-.header-search{padding:0 3.3vw 2.6vw 3.3vw}
-.header-search input{outline:none;box-sizing:border-box;width:100%;height:11.2vw;line-height:6vw;padding:2.6vw 0;text-indent:1.2em;font-size:3.4vw;text-align:left;background-color:#ffffff;border-radius:2px;border:solid 1px #b8bfca}
-.header-search .search-time{margin-top:2.6vw}
-.header-search .search-time .search-input{width:43vw;height:11.2vw}
-.header-search .search-time .line{height:11.2vw;line-height:11.2vw;color:#627386}
-.header-button{text-align:center;padding-bottom:2.6vw}
-.header-button .btn-server{display:inline-block;width:35.3vw;height:11.2vw;line-height:11.2vw;background-color:#ffe6dc;border-radius:2px;border:solid 1px #FF5B00;font-size:3.6vw;color:#FF5B00}
-.user-main.order{box-sizing:border-box;width:100%;background:#FFF;margin-bottom:1.5vw;padding:2vw 3.2vw 4vw 3.2vw;font-size:3.2vw;color:#627386;line-height:7vw}
-.user-main.order .order-title{position:relative;height:16vw}
-.user-main.order .order-title .title-name:nth-of-type(1){padding-left:11.6vw;color:#FF5B00;font-size:3.5vw;line-height:9vw}
-.user-main.order .order-title .bag{position:absolute;left:0;top:2.6vw;width:9.6vw;height:4.2vw;line-height:4.2vw;text-align:center;color:#FFF;background-image:linear-gradient(90deg,#ffb427 0%,#f58e4d 100%);border-radius:2px}
-.user-main.order .order-title .state{position:absolute;right:0;bottom:0;color:#FF5B00}
-.user-main.order .order-title .title-time span,.user-main.order .order-content span{color:#22272e}
-.user-main.order .order-content span.red{color: #f94b4b;}
-.user-main.order .order-item p{display:inline-block;width:49%}
-.user-main.order .order-botton{text-align:right;margin-top:2vw}
-.user-main.order .order-botton .btn{display:inline-block;width:19.5vw;height:9.5vw;line-height:9.5vw;text-align:center;background-color:#ffe6dc;border-radius:2px;border:solid 1px #FF5B00;color:#FF5B00;font-size:3.4vw;margin-left:2.6vw;vertical-align: text-top}
-.user-main.order .order-botton .primary{background:#FF5B00;color:#FFF;position: relative;}
-.order-container .section .user-main .order-content .order-botton .btn.primary.confirm{line-height: 4.5vw;}
-.order-container .section .user-main .order-content .order-botton .btn.primary.confirm p{line-height: 5vw;}
-.order-container .section .user-main .order-content .order-botton .btn.primary .tips{width: 12.6vw;height: 4.8vw;line-height: 4.8vw;text-align: center;border-radius: 2.4vw;background-color: #ffe6dc;font-size: 2.8vw;color: #FF5B00;position: absolute;right: -2vw;top: -6.5vw;z-index: 99;}
-.order-container .section .user-main .order-content .order-botton .btn.primary .tips:before{content: '';width: 6px;height: 6px;background-color: #ffe6dc;position: absolute;bottom: -3px;left: 12px;z-index: -1;transform:rotate(45deg);}
+    .order-container{width: 100%;min-height:120vw;background: #FFFFFF;}
+    .order-header{width:100%;background:#FFF;margin-bottom:1.5vw}
+    .header-tabs{padding:4vw 3.2vw;box-sizing:border-box;width:100%;overflow-y:hidden;overflow-x:scroll;white-space:nowrap;background:#FFF}
+    .header-tabs .tabs-item{display:inline-block;height:8.4vw;border:1px solid #b8bfca;line-height:8.4vw;padding:0 3vw;border-radius:4.2vw;margin-right:2.6vw}
+    .header-tabs .tabs-item a{color:#627386}
+    .header-tabs .tabs-item a span{color:#FF5B00}
+    .header-tabs .tabs-item.active{background-color:#ffe6dc;border-color:#FF5B00;color:#FF5B00}
+    .header-tabs .tabs-item.active a{color:#FF5B00}
+    .header-search{padding:0 3.3vw 2.6vw 3.3vw}
+    .order-header .header-bt{width: 100%;height: auto;float: left;}
+    .order-header .header-bt .form-row {margin:1.5vw 0;color: #627386;float: left;width: 100%;box-sizing: border-box;padding: 0 3vw;}
+    .order-header .header-bt .state {width: 100% !important;}
+    .order-header .header-bt .form-row.time{width: 100%;box-sizing: border-box;padding: 0 3vw;}
+    .order-header .header-bt .form-row .time {width: 47% !important;}
+    .order-header .header-bt .header-button{width: 100%;box-sizing: border-box;padding: 2vw 3vw;height: auto;float: left;text-align: right;}
+     .user-main.order{box-sizing:border-box;width:100%;background:#FFF;margin-bottom:1.5vw;padding:2vw 3.2vw 4vw 3.2vw;font-size:3.2vw;color:#627386;line-height:7vw}
+    .user-main.order .order-title{position:relative;height:16vw}
+    .user-main.order .order-title .title-name:nth-of-type(1){padding-left:11.6vw;color:#FF5B00;font-size:3.5vw;line-height:9vw}
+    .user-main.order .order-title .bag{position:absolute;left:0;top:2.6vw;width:9.6vw;height:4.2vw;line-height:4.2vw;text-align:center;color:#FFF;background-image:linear-gradient(90deg,#ffb427 0%,#f58e4d 100%);border-radius:2px}
+    .user-main.order .order-title .state{position:absolute;right:0;bottom:0;color:#FF5B00}
+    .user-main.order .order-title .title-time span,.user-main.order .order-content span{color:#22272e}
+    .user-main.order .order-content span.red{color: #f94b4b;}
+    .user-main.order .order-item p{display:inline-block;width:49%}
+    .user-main.order .order-botton{text-align:right;margin-top:2vw}
+    .user-main.order .order-botton .btn{display:inline-block;padding:0 2vw;height:9.5vw;line-height:9.5vw;text-align:center;background-color:#ffe6dc;border-radius:2px;border:solid 1px #FF5B00;color:#FF5B00;font-size:3.4vw;margin-left:2.6vw;vertical-align: text-top}
+    .user-main.order .order-botton .primary{background:#FF5B00;color:#FFF;position: relative;}
+    .order-container .section .user-main .order-content .order-botton .btn.primary.confirm{line-height: 4.5vw;}
+    .order-container .section .user-main .order-content .order-botton .btn.primary.confirm p{line-height: 5vw;}
+    .order-container .section .user-main .order-content .order-botton .btn.primary .tips{width: 12.6vw;height: 4.8vw;line-height: 4.8vw;text-align: center;border-radius: 2.4vw;background-color: #ffe6dc;font-size: 2.8vw;color: #FF5B00;position: absolute;right: -2vw;top: -6.5vw;z-index: 99;}
+    .order-container .section .user-main .order-content .order-botton .btn.primary .tips:before{content: '';width: 6px;height: 6px;background-color: #ffe6dc;position: absolute;bottom: -3px;left: 12px;z-index: -1;transform:rotate(45deg);}
+    footer{display: none;}
+
+
 
-input::placeholder{color: #9AA5B5}
 }
 

+ 46 - 0
src/main/resources/static/css/user-center/order/remarks-add-pay.css

@@ -0,0 +1,46 @@
+@media screen and (min-width:768px) {
+    textarea::placeholder {color: #9aa5b5;}
+    .crumbs {font-size: 16px;color: #22272e}
+    .add-logistics{height: 600px;background-color: #ffffff;box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.07);padding:80px 160px;color: #627386;box-sizing: border-box;}
+    .add-pay-form{width: 100%;height: 100%;box-sizing: border-box;}
+    .mIcon.add{background: url(/img/account/add.png) no-repeat;height: 90px;display: block;background-size: 100px;}
+    .upload-file{position: relative;float: left;margin: 10px 10px 10px 0px;cursor: pointer;width: 100px;height: 100px;border-radius: 2px;box-sizing: border-box;border: 1px dashed #B8BFCA;}
+    .input-file{width: 100px;height: 100px;opacity: 0;cursor: pointer;position: absolute;top: 0}
+    .release-input{overflow: hidden;float: left;width: 90%}
+    .release-from{overflow: hidden;}
+    .release-from-labe{width: 100%;height: 40px;line-height: 40px;float: left;}
+    .release-from-labe span{color: #f94b4b;}
+    .upload-file img{width: 100%;height: 100%;}
+    .icon.del:before {width: 20px;height: 20px;background-position: -116px -138px;position: absolute;top: -3px;right: -3px;}
+    .form-upload-tips .icon-wen:before {width: 20px;height: 20px;background-position: -84px -144px;cursor: pointer; margin-top: 10px;}
+    .wen-tips {width: 220px;height: 30px;background-color: #1890f9;color: #fff;position: absolute;left: inherit;font-size: 12px;text-align: left;line-height: 30px;top: 33px;display: none;box-sizing: border-box;padding: 0 10px;}
+    .form-upload-tips{float: left;position: relative;}
+    .form-upload-tips .wen-tips:before {content: '';width: 0px;height: 0px;border-width: 8px;border-style: solid;border-color: transparent transparent #1890f9 transparent;position: absolute;top: -15px;left:5px;}
+    .form-upload-tips:hover .wen-tips {display: block;}
+    .el-textarea{width: 580px !important;}
+    .release-from-btn{width: 100%;height: 40px;text-align: right; margin-top: 40px;box-sizing: border-box;padding: 0 60px;}
+
+}
+
+/*移动*/
+@media screen and (max-width:768px) {
+    body{background: #FFFFFF !important;}
+    .crumbs {font-size:3.4vw;color: #22272e}
+    .add-logistics{height: auto;background-color: #ffffff;margin-top: 2.7vw;padding: 20px;color: #627386;}
+    .mIcon.add{background: url(/img/account/add.png) no-repeat;height: 21vw;display: block;    background-size: 23vw;}
+    .upload-file{position: relative;float: left;margin: 0 2.7vw 2.7vw 0;width: 23vw;height: 23vw;border-radius: .53vw;box-sizing: border-box;border: 1px dashed #B8BFCA;}
+    .input-file{width: 23vw;height:23vw;opacity: 0;cursor: pointer;position: absolute;top: 0;}
+    .release-input{overflow: hidden;float: left;width: 100%;margin-top: 2.7vw}
+    .release-from{overflow: hidden;}
+    .release-from-labe{width: 100%;height: 10vw;line-height:10vw;float: left;}
+    .release-from-labe span{color: #f94b4b;}
+    .upload-file img{width: 100%;height: 100%;}
+    .mIcon.del:before {width: 5.3vw;height: 5.3vw;background-position: -90vw -7.5vw;position: absolute;top: -.8vw;right: -.8vw}
+    .form-upload-tips .icon-wen:before {width: 5.3vw;height: 5.3vw;background-position: -76.4vw 0vw;cursor: pointer;}
+    .wen-tips {width: 48vw;height:9vw;background-color: #1890f9;color: #fff;position: absolute;left: inherit;font-size: 2.6vw;text-align: left;line-height: 9vw;top:8.8vw;display: none;box-sizing: border-box;padding: 0 2vw;}
+    .form-upload-tips{float: left;position: relative;}
+    .form-upload-tips .wen-tips:before {content: '';width: 0px;height: 0px;border-width: 8px;border-style: solid;border-color: transparent transparent #1890f9 transparent;position: absolute;top: -3.5vw;left:1.3vw;}
+    .form-upload-tips:hover .wen-tips {display: block;}
+    .release-from-btn{width: 100%;height: 40px;text-align: right; margin-top: 40px;box-sizing: border-box;}
+    footer{display: none;}
+}

+ 18 - 12
src/main/resources/static/js/common/serviceapi/order.service.js

@@ -113,18 +113,6 @@ var OrderApi = {
                 callback(res);
             });
         },
-        /* 提交订单 购买资质的验证*/
-        createdOrderVerify: function (params, callback) {
-            Http.AjaxService({
-                url:'/order/submit/verify',
-                type:'POST',
-                data:params,
-                json:false,
-            })
-            .then(function(res){
-                callback(res);
-            });
-        },
         /* 提交订单 */
         ConfirmOrder: function (params, callback) {
             Http.AjaxService({
@@ -281,4 +269,22 @@ var OrderApi = {
                 callback(res);
             });
         },
+        /**
+         * @订单保存支付凭证
+         * @param:ID 用户ID(必填)
+         * @param:shopOrderId 子订单ID
+         * @param:remarks 上传凭证备注
+         * @param:voucherImgs 凭证图片
+         */
+        orderInsertVoucher: function (params, callback) {
+            Http.AjaxService({
+                url:'/order/club/insertVoucher',
+                type:'POST',
+                data:params,
+                json:false,
+            })
+            .then(function(res){
+                callback(res);
+            });
+        },
 };

+ 16 - 0
src/main/resources/static/js/common/serviceapi/pay.service.js

@@ -476,4 +476,20 @@ var PayApi = {
                 callback(res);
             });
         },
+        /**
+         * @获取供应商线下转账信息
+         * @param:shopId 供应商Id
+         */
+        getShopBank: function(params, callback){ // 供应商线下转账信息
+            Http.AjaxService({
+                url:'/order/club/getShopBank',
+                type:'GET',
+                data:params,
+                json:false,
+                isHost:true
+            })
+                .then(function(res){
+                    callback(res);
+                });
+        },
 };

+ 112 - 1
src/main/resources/static/js/common/serviceapi/supplier.service.js

@@ -262,7 +262,7 @@ var SupplierApi = {
                 callback(res);
             });
         },
-        MyOrderList: function (params, callback) {//供应商订单列表
+        shopOrderList: function (params, callback) {//供应商订单列表
             Http.AjaxService({
                 url:'/order/shop/list',
                 type:'GET',
@@ -747,5 +747,116 @@ var SupplierApi = {
                 callback(res);
             });
         },
+        /**
+         * @订单保存支付凭证
+         * @param:ID 用户ID(必填)
+         * @param:shopOrderId 子订单ID
+         * @param:remarks 上传凭证备注
+         * @param:voucherImgs 凭证图片
+         */
+        orderInsertVoucher: function (params, callback) {
+            Http.AjaxService({
+                url:'/order/club/insertVoucher',
+                type:'POST',
+                data:params,
+                json:false,
+            })
+                .then(function(res){
+                    callback(res);
+                });
+        },
+        /**
+         * @订单备注详情
+         * @param:shopOrderId 子订单ID
+         */
+        remarksView: function (params, callback) {
+            Http.AjaxService({
+                url:'/order/shop/remarksView',
+                type:'GET',
+                data:params,
+                json:false,
+            })
+            .then(function(res){
+                callback(res);
+            });
+        },
+        /**
+         * @添加订单备注的
+         * @param:images 图片
+         * @param:remarks 备注文字
+         * @param:ossFiles 文件列表
+         * @param:shopOrderId 子订单ID
+         */
+        addRemark : function (params, callback) {
+            Http.AjaxService({
+                url:'/order/shop/add/remark',
+                type:'post',
+                data:params,
+                json:true,
+            })
+            .then(function(res){
+                callback(res);
+            });
+        },
+        /**
+         * @下载备注文件
+         * @param:fileId 文件ID
+         */
+        downloadRemark : function (params, callback) {
+            Http.AjaxService({
+                url:'/order/shop/download/remark',
+                type:'GET',
+                data:params,
+                json:false,
+            })
+            .then(function(res){
+                callback(res);
+            });
+        },
+        /**
+         * @供应商退款
+         * @param:shopOrderId 文件ID
+         */
+        returnShopOrder : function (params, callback) {
+            Http.AjaxService({
+                url:'/order/refund/shopOrder',
+                type:'GET',
+                data:params,
+                json:false,
+            })
+            .then(function(res){
+                callback(res);
+            });
+        },
+        /**
+         * @供应商确认收款
+         * @param:shopOrderId 文件ID
+         */
+        checkeReceipt : function (params, callback) {
+            Http.AjaxService({
+                url:'/order/shop/check/receipt',
+                type:'GET',
+                data:params,
+                json:false,
+            })
+            .then(function(res){
+                callback(res);
+            });
+        },
+        /**
+         * @供应商修改订单
+         * @param:orderProducts 商品列表
+         */
+        orderUpdate : function (params, callback) {
+            Http.AjaxService({
+                url:'/order/submit/update',
+                type:'POST',
+                data:params,
+                json:true,
+            })
+            .then(function(res){
+                callback(res);
+            });
+        }
 
 };

+ 4 - 1
src/main/resources/static/js/common/serviceapi/utils.service.js

@@ -32,7 +32,10 @@ var PublicApi = {
             })
         },
         uploadimg: function (params, callback) {//供应商添加物流上传图片
-            Http.uploadImage({ url:'/tools/image/upload/multi',data:params},callback)
+            Http.uploadImage({
+                url:'/tools/image/upload/multi',
+                data:params
+            },callback)
         },
         uploadFile: function (params, callback) {//上传文件
             Http.uploadImage({

+ 12 - 12
src/main/resources/static/js/pay/caimei-hlbpay.js

@@ -103,7 +103,7 @@ var payContainer = new Vue({
         initCouponDetail:function (couponId) {//初始化优惠券数据
             const _self = this;
             ProductApi.QueryCouponDetail({ couponId: couponId },function (response) {
-                if(response.code == 0){
+                if(response.code === 0){
                     _self.couponInfo = response.data
                     if(globalUserData){
                         _self.userId = globalUserData.userId;
@@ -116,7 +116,7 @@ var payContainer = new Vue({
         infoPayOrderCheckoutCounter:function(){//初始化子订单数据
             const _self = this;
             PayApi.PayOrderCheckoutShoporders({shopOrderId:_self.payInfo.shopOrderId},function(response){
-                if(response.code == 0){
+                if(response.code === 0){
                     console.log(response);
                     var data = response.data; //金额初始化
                     _self.payInfo.payAmount = (data.shopOrder.realPay - data.shopOrder.receiptAmount).toFixed(2);
@@ -193,15 +193,15 @@ var payContainer = new Vue({
             if(_self.pageType === '3'){// 移动支付优惠券
                 _self.PayCouponMiniPayFn();
             }else{
-                if(_self.payInfo.payBankNum == ''){
+                if(_self.payInfo.payBankNum === ''){
                     CAIMEI.dialog('请选择支付方式');
                     return;
                 }
-                if(_self.payAmount == ''){
+                if(_self.payAmount === ''){
                     CAIMEI.dialog('请输入本次支付金额');
                     return;
                 }
-                if(_self.payAmount == 0){
+                if(_self.payAmount === 0){
                     CAIMEI.dialog('本次支付金额不能为0');
                     return;
                 }
@@ -221,7 +221,7 @@ var payContainer = new Vue({
                     CAIMEI.Alert(_self.paymentIimitText,'知道了');
                     return;
                 }
-                if(_self.payInfo.payBankNum == "WEIXIN"){// 微信
+                if(_self.payInfo.payBankNum === "WEIXIN"){// 微信
                     if(_self.pageType === '1'){ // 二手
                         _self.hlb_PaySecondMiniWxPay();
                     }else if(_self.pageType === '2'){ // 会员
@@ -229,7 +229,7 @@ var payContainer = new Vue({
                     }else{ // 正常订单
                         _self.hlb_PayOrderMiniWxPay();
                     }
-                }else if(_self.payInfo.payBankNum == "ALIPAY"){// 支付宝
+                }else if(_self.payInfo.payBankNum === "ALIPAY"){// 支付宝
                     if(_self.pageType === '1'){// 二手
                         _self.hlb_PayOrdersecondScanAliPay();
                     }else if(_self.pageType === '2'){ // 会员
@@ -246,13 +246,13 @@ var payContainer = new Vue({
                 return;
             }
             if(this.pageType === '3'){// 网银支付优惠券
-                if(this.payInfo.payBankNum == ''){
+                if(this.payInfo.payBankNum === ''){
                     CAIMEI.dialog('请选择银行!');
                     return;
                 }
                 this.hlb_PayCouponUnionPayFn();
             }else{
-                if(this.payInfo.payBankNum == ''){
+                if(this.payInfo.payBankNum === ''){
                     CAIMEI.dialog('请选择银行!');
                     return;
                 }
@@ -261,7 +261,7 @@ var payContainer = new Vue({
                     return;
                 }
                 if( this.orderFlag === 1 && this.mobileTabIndex === 2){
-                    if(this.payAmount !== this.obligation){
+                    if(this.payAmount*1 !== this.obligation){
                         CAIMEI.Alert('企业网银支付每次收取的手续费较高,建议一次性全额付款。','确定',false);
                         return;
                     }
@@ -289,9 +289,9 @@ var payContainer = new Vue({
         },
         PayCouponMiniPayFn () {  // 移动支付购买优惠券
             const _self = this;
-            if(this.payInfo.payBankNum == "WEIXIN"){
+            if(this.payInfo.payBankNum === "WEIXIN"){
                 this.hlb_PayCouponMiniWxPay();
-            }else if(this.payInfo.payBankNum == "ALIPAY"){//支付宝支付
+            }else if(this.payInfo.payBankNum === "ALIPAY"){//支付宝支付
                 this.hlb_PayCouponAliPay();
             }
         },

+ 15 - 15
src/main/resources/static/js/pay/caimei-pay.js

@@ -77,7 +77,7 @@ var payContainer = new Vue({
         LinkInfoOrderBank:function(linkLogo){//初始化支付订单加密数据
             var _self = this;
             PayApi.PayOrderLinkData({linkLogo:linkLogo},function(response){
-                if(response.code == 0){
+                if(response.code === 0){
                     var data = response.data;
                     console.log(data);
                     _self.payInfo.shopOrderId = data.orderPayLink.shopOrderId;
@@ -85,16 +85,16 @@ var payContainer = new Vue({
                     _self.payInfo.payUnpaidAmount = _self.payAmount = data.orderPayLink.unpaidAmount;
                     _self.payInfo.payTime = decodeURI(data.time);
                     _self.payInfo.payLinkType = data.orderPayLink.payType;
-                    _self.payInfo.payLinkTypeText =  _self.payInfo.payLinkType == 1 ? '企业网银' : '个人网银';
-                    if(_self.paymentChannel == 'HLB'){
-                        _self.payInfo.payUserType =  _self.payInfo.payLinkType == 1 ? 'B2B' : 'B2C';
+                    _self.payInfo.payLinkTypeText =  _self.payInfo.payLinkType === 1 ? '企业网银' : '个人网银';
+                    if(_self.paymentChannel === 'HLB'){
+                        _self.payInfo.payUserType =  _self.payInfo.payLinkType === 1 ? 'B2B' : 'B2C';
                     }else{
-                        _self.payInfo.payUserType =  _self.payInfo.payLinkType == 1 ? 'ENTERPRISE' : 'USER';
+                        _self.payInfo.payUserType =  _self.payInfo.payLinkType === 1 ? 'ENTERPRISE' : 'USER';
                     }
                     _self.getBankList();
                     _self.unpaidAmount = data.orderPayLink.unpaidAmount;
                     _self.type = data.type;
-                    if(data.code == 0){
+                    if(data.code === 0){
                         setTimeout(function () {  //支付倒计时
                             _self.countTime(_self.payInfo.payTime)
                         }, 1000);
@@ -128,7 +128,7 @@ var payContainer = new Vue({
                                 break;
                         }
                     }
-                }else if(response.code == -1){
+                }else if(response.code === -1){
                     _self.isErrorShow = true;
                     _self.isRequest = true;
                     _self.iconErrorClass = 'again';
@@ -143,7 +143,7 @@ var payContainer = new Vue({
             var _self = this;
             PayApi.PayOrderCheckoutShoporders({shopOrderId:_self.payInfo.shopOrderId},function(response){
                 console.log(response);
-                if(response.code == 0){
+                if(response.code === 0){
                     var data = response.data;
                     _self.discernReceiptList = data.discernReceipt;// 支付记录
                     _self.orderProductList = data.orderProductList;// 自订单商品信息
@@ -162,10 +162,10 @@ var payContainer = new Vue({
         getBankList:function () {// 获取网银支付银行列表
             var _self = this;
             PayApi.PayGetBankCode({},function(response){
-                if(response.code == 0){
+                if(response.code === 0){
                     _self.bankListB2BData = response.data.B2B;
                     _self.bankListB2CData = response.data.B2C;
-                    if( _self.payInfo.payLinkType == 1){
+                    if( _self.payInfo.payLinkType === 1){
                         _self.payInfo.payBankNum = _self.bankListB2BData[0].b2B;
                     }else{
                         _self.payInfo.payBankNum = _self.bankListB2CData[0].b2C;
@@ -177,14 +177,14 @@ var payContainer = new Vue({
         },
         PaySubmitFn:function(){//立即支付
             var _self = this;
-            if(_self.payInfo.payBankNum == ''){
+            if(_self.payInfo.payBankNum === ''){
                 CAIMEI.dialog('请选择银行!');
                 return;
             }
             if (_self.type === 2){
                 // 支付超级会员
                 console.log('支付超级会员');
-                if(this.paymentChannel == 'HLB'){
+                if(this.paymentChannel === 'HLB'){
                     _self.hlb_PayVipPcMallPay();
                 }else{
                     _self.mh_PayVipPcMallPay();
@@ -192,7 +192,7 @@ var payContainer = new Vue({
             }else {
                 // 普通订单
                 console.log('支付普通订单');
-                if(this.paymentChannel == 'HLB'){
+                if(this.paymentChannel === 'HLB'){
                     _self.hlb_PayOrderPcMallPay();
                 }else{
                     _self.mh_PayOrderPcMallPay();
@@ -215,7 +215,7 @@ var payContainer = new Vue({
         },
         checkBankPay:function(index,item){// 选择银行
             this.bankTabIndex = index;
-            if( this.payInfo.payLinkType == 1){
+            if( this.payInfo.payLinkType === 1){
                 this.payInfo.payBankNum = item.b2B;
             }else{
                 this.payInfo.payBankNum = item.b2C;
@@ -257,7 +257,7 @@ var payContainer = new Vue({
             var text ="";
             if(type > 0){
                 text = '¥'+type.toFixed(2);
-            }else if(type == -1){
+            }else if(type === -1){
                 text = '到付';
             }else{
                 text = '包邮';

+ 22 - 26
src/main/resources/static/js/pay/caimei-paylist.js

@@ -19,7 +19,9 @@ var payContainer = new Vue({
         orderIdentificationId:'',
         orderId:0,
         userId:0,
-        isPayBigAlert:false // 线下转账弹窗
+        isPayBigAlert:false, // 线下转账弹窗
+        obligation:0,
+        shopPay:{}
     },
     filters: {
         NumFormat:function(value) {
@@ -32,13 +34,12 @@ var payContainer = new Vue({
         }
     },
     methods: {
-        PayOrderShoporders:function(){//初始化订单数据
-            var _self = this;
+        PayOrderShoporders(){//初始化订单数据
+            const _self = this;
             PayApi.PayOrderShoporders({orderId:_self.orderId},function(response){
-                if(response.code == 0){
+                if(response.code === 0){
                     // console.log(response);
                     _self.list = response.data;
-                    _self.PayOrderCheckoutCounter();
                     _self.loginLoading = false;
                     _self.isRequest = true;
                 }else{
@@ -46,26 +47,10 @@ var payContainer = new Vue({
                 }
             })
         },
-        PayOrderCheckoutCounter:function(){//初始化订单数据
-            var _self = this;
-            PayApi.PayOrderCheckoutCounter({orderId:_self.orderId},function(response){
-                if(response.code == 0){
-                    // console.log(response);
-                    var data = response.data; //金额初始化
-                    _self.paidAmount =  (data.order.payableAmount-data.order.receiptAmount).toFixed(2);
-                    if(data.discernReceipt.length>0){
-                        _self.showPayUnder = true
-                        console.log(' _self.showPayUnder', _self.showPayUnder)
-                    }
-                }else{
-                    CAIMEI.Alert(response.msg,'确定',false);
-                }
-            })
-        },
         handlePayOrder:function (shopOrderId) {
             window.location.href = '/pay/caimei-hlbpay.html?shopOrderId='+shopOrderId;
         },
-        copyOrderBtnSubmitFn:function(){//复制订单标识
+        copyOrderBtnSubmitFn(){//复制订单标识
             var _self = this;
             var oInput = document.createElement("textarea");
             oInput.value = _self.orderIdentificationId;
@@ -75,13 +60,24 @@ var payContainer = new Vue({
             document.body.removeChild(oInput);
             CAIMEI.dialog('复制成功');
         },
-        handleAlert:function () {
-            this.isPayBigAlert = true;
+        handleAlert (list) {
+            const _self = this;
+
+            PayApi.getShopBank({ shopId:list.shopId },function(response){
+                if(response.code === 0){
+                    _self.obligation = list.obligation
+                    _self.shopPay = response.data;
+                    _self.isPayBigAlert = true;
+                }else{
+                    CAIMEI.Alert(response.msg,'确定',false);
+                }
+            })
+
         },
-        closeBigAlert:function () {
+        closeBigAlert () {
             this.isPayBigAlert = false;
         },
-        toFixedFn:function(text){//处理小数点后两位数
+        toFixedFn(text){//处理小数点后两位数
             return Number(text).toFixed(2);
         },
     },

+ 200 - 282
src/main/resources/static/js/shopping/confirm.js

@@ -2,19 +2,16 @@ const defaultProductParam = {
         productCount:0, 	// 商品数量
         productId:0,		// 商品Id
         skuId:0,
+        townId:null,          //地址ID
         source:1,			// 来源:1WWW 2小程序
         userId:0			// 用户Id
 };
 const defaultCartParam = {
         skuIds:0,		    // 商品SkuId(逗号隔开)
         source:1,			// 来源:1WWW 2小程序
+        townId:null,          //地址ID
         userId:0			// 用户Id
 };
-const defaultPostageParam = {
-        skuIds:0,		    // skuId(逗号隔开)
-        userId:0,			// 用户Id
-        townId:0			// 地区Id
-};
 const defaultConfirmParam = {
         cartType:1, 		// 购买类型:(1自主下单, 3协销下单)
         orderMiniType:0,    // 订单提交状态 0初始提交 1 继续提交
@@ -25,11 +22,10 @@ const defaultConfirmParam = {
         orderInfo:[],		// 订单商品数据 // 订单发票信息
         orderInvoice:{ type: 0 },   // 订单发票信息
         payInfo:{			        // 订单金额数据
-            isColdChina:0, 		//是否勾选冷链费
             orderShouldPayFee: 0,	// 订单最终支付金额
             balancePayFlag: 0,		// 勾选余额的状态(1使用,0不使用)
             clauseId:0,				// 条款Id
-            postage: 0,				// 运费金额
+            postage: '0.00',		// 运费金额
             postageFlag: 0,			// 运费类型
             userBeans: 0,			// 抵扣采美豆数量
             rebateFlag:0			// 是否返佣订单
@@ -37,6 +33,7 @@ const defaultConfirmParam = {
 };
 var shoppingConfirm = new Vue({
     el: "#shoppingConfirm",
+    mixins: [conMixins],
     data: {
         userId: 0,
         userIdentity: '',
@@ -47,16 +44,14 @@ var shoppingConfirm = new Vue({
         kindCount: 0,
         totalCount: 0,
         totalPrice: 0,
-        reducedPrice: 0,          // 满减金额
-        couponAmount:0,	  		  // 优惠券金额
-        totalDiscountAmount:0,	  // 共减金额
         cartParam: Object.assign({}, defaultCartParam), 		    // 购物车立即结算确认订单参数
         productParam: Object.assign({}, defaultProductParam), 	// 商品立即购买确认订单参数
-        postageParam: Object.assign({}, defaultPostageParam),	// 邮费计算参数
+        // postageParam: Object.assign({}, defaultPostageParam),	// 邮费计算参数
         confirmParam: Object.assign({}, defaultConfirmParam), 	// 提交订单参数
         supportParm:{// 组合商品立即购买确认订单参数
             productInfo:'',
             source:2,			// 来源:1WWW 2小程序
+            townId:'',          //地址ID
             userId:0			// 用户Id
         },
         address: {
@@ -105,19 +100,10 @@ var shoppingConfirm = new Vue({
             name: '^[a-zA-Z\\u4e00-\\u9fa5]{2,}$',
             mobile: '^\\d{6,12}$'
         },
-        balance: {
-            isFreight:false,    //使用采美豆抵扣运费
-            flag: false,        //使用余额抵扣
-            originUserMoney: 0, //初始化后不能改变,用于还原余额抵扣
-            userMoney: 0,	    //显示可使用余额
-            deductMoney: 0,     //显示已使用的余额
-            surplusMoney: 0     //显示勾选后的剩余抵扣
-        },
         isBeansShow:false,
         userBeans:0,
         hanldPostage:0,
         hanldPostageFlag:0,
-        hanldShouldPayFee:0,
         freightBeansMoney:0,
         freightMoney:0,
         deductionBeans:0,
@@ -147,23 +133,14 @@ var shoppingConfirm = new Vue({
           }
         },
         TypeFormat:function(value) {
-            switch (value) {
-                case 0:
-                    return  '活动券';
-                    break;
-                case 1:
-                    return  '品类券';
-                    break;
-                case 2:
-                    return  '用户专享券';
-                    break;
-                case 3:
-                    return  '店铺券';
-                    break;
-                case 4:
-                    return  '新用户券';
-                    break;
+            const map = {
+                0:'活动券',
+                1:'品类券',
+                2:'用户专享券',
+                3:'店铺券',
+                4:'新用户券',
             }
+           return map[value]
         }
     },
     watch:{
@@ -187,71 +164,6 @@ var shoppingConfirm = new Vue({
             var el = event.currentTarget;
             verifyHandle(el);
         },
-        getProductCreateOrderInfo(){// 商品立即购买确认订单初始化
-            var _self = this;
-            if(_self.userId ===0){return;}
-            OrderApi.ProductCreateOrderInfo(_self.productParam,function(response){
-                if (response.code === 0 ) {
-                    _self.setCreatDataInfo(response.data)
-                }else{
-                    CAIMEI.Alert(response.msg, '确定', false);
-                }
-            });
-        },
-        OrderClubProductSupporting(){// 组合商品确认订单初始化
-            var _self = this;
-            if(_self.userId ===0){return;}
-            OrderApi.OrderClubProductSupporting(_self.supportParm,function(response){
-                if (response.code === 0 ) {
-                    _self.setCreatDataInfo(response.data)
-                }else{
-                    CAIMEI.Alert(r.msg, '确定', false);
-                }
-            });
-        },
-        getCartCreateOrderInfo () {// 购物车去结算确认订单初始化
-            var _self = this;
-            if(_self.userId ===0){return;}
-            OrderApi.GetOrderConfirmInfo(_self.cartParam,function(response){
-                if (response.code === 0 ) {
-                    _self.setCreatDataInfo(response.data)
-                }else{
-                    CAIMEI.Alert(r.msg, '确定', false);
-                }
-            });
-        },
-        setCreatDataInfo(data){
-            var _self = this;
-            _self.listData = data.list;
-            _self.totalPrice =  data.totalPrice;
-            _self.reducedPrice = data.reducedPrice;
-            _self.totalCount =  data.totalCount;
-            _self.kindCount = data.kindCount;
-            _self.balance.userMoney = data.userMoney;
-            _self.balance.originUserMoney = data.userMoney;
-            _self.hanldShouldPayFee = data.totalPrice;
-            _self.svipReducedPrice = data.svipReducedPrice;
-            _self.postageParam.skuIds =  _self.getProductIds(data.list); // 获取订单商品id列表 以 , 隔开
-            _self.getAddressList(_self.userId,20);
-            _self.returnGoodsStutas = data.returnGoodsStutas === 2 // 当前商品是否为特殊商品 1不是 2是
-            _self.helpContent = data.helpContent
-            console.log('邮费接口数据',  _self.postageParam)
-            if( data.couponList &&  data.couponList.length>0){
-                _self.isCouponShow = true;
-                _self.couponAmount = data.couponList[0].couponAmount;
-                _self.confirmParam.clubCouponId = data.couponList[0].clubCouponId;
-                data.couponList.forEach((el) => {
-                    _self.couponList.push(Object.assign(el,{ischecked:false}))
-                })
-                _self.couponList[0].ischecked = true;
-                _self.hanldShouldPayFee = data.totalPrice - _self.couponAmount;
-            }
-            _self.totalDiscountAmount =  _self.reducedPrice + _self.couponAmount;
-            if(data.invoice){
-                data.invoice.type = 0;
-                _self.orderInvoice =  data.invoice;
-            }
-        },
         getFreight: function(){// 获取邮费
             var _self = this;
             console.log(_self.postageParam, '邮费接口调用')
@@ -303,8 +215,8 @@ var shoppingConfirm = new Vue({
                 }
             })
         },
-        getAddressList: function(userId,pageSize){ // 获取收货地址
-            var _self = this;
+        getAddressList(userId,pageSize){ // 获取收货地址
+            const _self = this;
             OrderApi.GetAddressList({
                 userId:userId,
                 pageNum:1,
@@ -316,7 +228,9 @@ var shoppingConfirm = new Vue({
                         _self.address.id = res.data.list[0].addressId;
                         _self.confirmParam.addressId = res.data.list[0].addressId;
                         _self.address.townId = res.data.list[0].townId;
-                        _self.postageParam.townId = res.data.list[0].townId;
+                        _self.productParam.townId = res.data.list[0].townId;
+                        _self.cartParam.townId = res.data.list[0].townId;
+                        _self.supportParm.townId = res.data.list[0].townId;
                         _self.address.cityId = res.data.list[0].cityId;
                         _self.address.provinceId = res.data.list[0].provinceId;
                         _self.address.name = res.data.list[0].receiver;
@@ -327,7 +241,6 @@ var shoppingConfirm = new Vue({
                         _self.address.province = res.data.list[0].province;
                         _self.address.default = true;
                         _self.address.selectedId = res.data.list[0].addressId;
-                        _self.getFreight(_self.address.townId);
                     }else{
                         _self.createAddress();
                     }
@@ -490,14 +403,17 @@ var shoppingConfirm = new Vue({
         chooseAddress: function(selectedId){
             this.address.selectedId = selectedId;
         },
-        confirmAddress: function(){// 确认地址并查询邮费
-            var _self = this;
-            _self.addressList.forEach(function(item){
-                if (_self.address.selectedId==item.addressId){
+        // 确认地址并重新查运费
+        confirmAddress(){
+            const _self = this;
+            this.addressList.forEach(function(item){
+                if (_self.address.selectedId===item.addressId){
                     _self.address.id = item.addressId;
                     _self.confirmParam.addressId = item.addressId;
                     _self.address.townId = item.townId;
-                    _self.postageParam.townId = item.townId;
+                    _self.productParam.townId = item.townId;
+                    _self.cartParam.townId = item.townId;
+                    _self.supportParm.townId = item.townId;
                     _self.address.cityId = item.cityId;
                     _self.address.provinceId = item.provinceId;
                     _self.address.name = item.receiver;
@@ -507,17 +423,25 @@ var shoppingConfirm = new Vue({
                     _self.address.city = item.city;
                     _self.address.province = item.province;
                     _self.address.default = (item.defaultFlag > 0);
-                    _self.getFreight();
                 }
             });
+            if(this.urlType === 1) {//购物车提交
+                this.getCartCreateOrderInfo()
+            }
+            if(this.urlType === 2) {//购物车提交
+                this.getProductCreateOrderInfo()
+            }
+            if(this.urlType === 3) {//购物车提交
+                this.OrderClubProductSupporting()
+            }
             this.closeAddressBox();
         },
-        checkedCoupon:function(idx){// 选择优惠券
-            var _self = this;
+        checkedCoupon(idx){// 选择优惠券
+            const _self = this;
             var coupon = { couponAmount:0,clubCouponId:0 };
-            _self.checkedIndex = idx;
-            _self.couponList.forEach((el,index) => {
-                if(_self.checkedIndex == index){
+            this.checkedIndex = idx;
+            this.couponList.forEach((el,index) => {
+                if(_self.checkedIndex === index){
                     el.ischecked = !el.ischecked;
                 }else{
                     el.ischecked = false;
@@ -527,14 +451,14 @@ var shoppingConfirm = new Vue({
                     coupon.clubCouponId = el.clubCouponId;
                 }
             })
-            _self.couponAmount = coupon.couponAmount;
-            _self.totalDiscountAmount = _self.reducedPrice + _self.couponAmount;
-            _self.confirmParam.clubCouponId = coupon.clubCouponId;
-            _self.changeDeductibleFreight();
-            _self.useUserMoney();
-        },
-        toggleThisLadder: function(event){
-            var el = event.currentTarget;
+            this.couponAmount = coupon.couponAmount;
+            this.totalDiscountAmount = this.reducedPrice + this.couponAmount;
+            this.confirmParam.clubCouponId = coupon.clubCouponId;
+            // this.changeDeductibleFreight();
+            this.attributePallPrice();
+        },
+        toggleThisLadder(event){
+            const el = event.currentTarget;
             if($(el).hasClass("on")){
                 $(el).removeClass("on").siblings('.mFixed').hide();
                 if(!isPC){looseBody();}
@@ -543,13 +467,13 @@ var shoppingConfirm = new Vue({
                 if(!isPC){fixedBody();}
             }
         },
-        hideThisLadder: function(event){
+        hideThisLadder(event){
             var el = event.currentTarget;
             $(el).parents('.priceTag').find('.tag').removeClass("on").siblings('.mFixed').hide();
             if(!isPC){looseBody();}
         },
-        useUserMoney: function(){//勾选余额抵扣
-            var _self = this;
+        useUserMoney(){//勾选余额抵扣
+            const _self = this;
             if(this.balance.userMoney>0){
                 this.$nextTick(function() {
                     var total = _self.totalPrice + _self.hanldPostage - _self.couponAmount; // 订单总金额 + 邮费金额
@@ -594,77 +518,77 @@ var shoppingConfirm = new Vue({
                 });
             }
         },
-        changeDeductibleFreight: function(){//选择采美豆抵扣邮费
-            var _self = this;
-            var total = _self.totalPrice + _self.hanldPostage - _self.couponAmount;
-            if(_self.balance.isFreight){//判断是否勾选运费
-                if(_self.confirmParam.payInfo.postageFlag == 1){//有邮费
-                    _self.confirmParam.payInfo.userBeans = _self.freightBeansMoney*100;
-                    if( _self.userBeans > 0 ){// 判断采美豆大于0
-                        if(_self.balance.flag) {// 勾选了余额抵扣
+        changeDeductibleFreight(){//选择采美豆抵扣邮费
+            const _self = this;
+            const total = this.totalPrice + this.hanldPostage - this.couponAmount;
+            if(this.balance.isFreight){//判断是否勾选运费
+                if(this.confirmParam.payInfo.postageFlag === 1){//有邮费
+                    this.confirmParam.payInfo.userBeans = this.freightBeansMoney*100;
+                    if( this.userBeans > 0 ){// 判断采美豆大于0
+                        if(this.balance.flag) {// 勾选了余额抵扣
                             console.log('订单总额',total)
-                            if(_self.balance.userMoney>=total){ // 全部抵扣
-                                _self.hanldShouldPayFee = 0;
-                                _self.balance.deductMoney = _self.totalPrice - _self.couponAmount;  // 抵扣使用金额 = 订单总金额
-                                _self.balance.surplusMoney = _self.repiceNumSub(_self.balance.userMoney,_self.balance.deductMoney);  // 抵扣后剩余余额 = 余额总额 - 抵扣使用金额
+                            if(this.balance.userMoney>=total){ // 全部抵扣
+                                this.hanldShouldPayFee = 0;
+                                this.balance.deductMoney = this.totalPrice - this.couponAmount;  // 抵扣使用金额 = 订单总金额
+                                this.balance.surplusMoney = this.repiceNumSub(this.balance.userMoney,this.balance.deductMoney);  // 抵扣后剩余余额 = 余额总额 - 抵扣使用金额
                                 console.log('有勾选余额抵扣全抵',_self.hanldShouldPayFee)
                             }else{ // 部分抵扣
-                                _self.hanldShouldPayFee = _self.repiceNumSub(_self.totalPrice,_self.balance.userMoney) - _self.couponAmount;
-                                _self.balance.deductMoney = _self.balance.userMoney; // 抵扣使用金额 = 余额总额
-                                _self.balance.surplusMoney = _self.repiceNumSub(_self.balance.userMoney,_self.balance.deductMoney); // 抵扣后剩余余额 = 余额总额 - 抵扣使用金额
-                                console.log('有勾选余额抵扣部分抵',_self.hanldShouldPayFee)
+                                this.hanldShouldPayFee = this.repiceNumSub(this.totalPrice,this.balance.userMoney) - this.couponAmount;
+                                this.balance.deductMoney = this.balance.userMoney; // 抵扣使用金额 = 余额总额
+                                this.balance.surplusMoney = this.repiceNumSub(this.balance.userMoney,this.balance.deductMoney); // 抵扣后剩余余额 = 余额总额 - 抵扣使用金额
+                                console.log('有勾选余额抵扣部分抵',this.hanldShouldPayFee)
                             }
                         }else{
-                            _self.hanldShouldPayFee = ((_self.totalPrice*100 + _self.hanldPostage*100 - _self.freightBeansMoney*100)/100) - _self.couponAmount;
-                            console.log('无余额抵扣',_self.hanldShouldPayFee)
+                            this.hanldShouldPayFee = ((this.totalPrice*100 + this.hanldPostage*100 - this.freightBeansMoney*100)/100) - this.couponAmount;
+                            console.log('无余额抵扣',this.hanldShouldPayFee)
                         }
                     }
-                }else if(_self.confirmParam.payInfo.postageFlag == -1){// 到付
-                    _self.confirmParam.payInfo.userBeans = _self.freightBeansMoney*100;
-                    if(_self.balance.flag) {// 勾选了余额抵扣
-                        if(_self.balance.userMoney >= total){ // 全部抵扣
-                            _self.hanldShouldPayFee = 0;
-                            _self.balance.deductMoney = _self.totalPrice - _self.couponAmount;  // 抵扣使用金额 = 订单总金额
-                            _self.balance.surplusMoney = _self.repiceNumSub(_self.balance.userMoney,_self.balance.deductMoney);  // 抵扣后剩余余额 = 余额总额 - 抵扣使用金额
-                            console.log('到付有勾选余额抵扣全抵',_self.hanldShouldPayFee)
+                }else if(this.confirmParam.payInfo.postageFlag == -1){// 到付
+                    this.confirmParam.payInfo.userBeans = this.freightBeansMoney*100;
+                    if(this.balance.flag) {// 勾选了余额抵扣
+                        if(this.balance.userMoney >= total){ // 全部抵扣
+                            this.hanldShouldPayFee = 0;
+                            this.balance.deductMoney = this.totalPrice - this.couponAmount;  // 抵扣使用金额 = 订单总金额
+                            this.balance.surplusMoney = this.repiceNumSub(this.balance.userMoney,this.balance.deductMoney);  // 抵扣后剩余余额 = 余额总额 - 抵扣使用金额
+                            console.log('到付有勾选余额抵扣全抵',this.hanldShouldPayFee)
                         }else{ // 部分抵扣
-                            _self.hanldShouldPayFee =_self.hanldShouldPayFee = _self.repiceNumSub(_self.totalPrice,_self.balance.userMoney) - _self.couponAmount;
-                            _self.balance.deductMoney = _self.balance.userMoney; // 抵扣使用金额 = 余额总额
-                            _self.balance.surplusMoney = _self.repiceNumSub(_self.balance.userMoney,_self.balance.deductMoney); // 抵扣后剩余余额 = 余额总额 - 抵扣使用金额
-                            console.log('到付有勾选余额抵扣部分抵',_self.hanldShouldPayFee)
+                            this.hanldShouldPayFee =this.hanldShouldPayFee = this.repiceNumSub(this.totalPrice,this.balance.userMoney) - this.couponAmount;
+                            this.balance.deductMoney = this.balance.userMoney; // 抵扣使用金额 = 余额总额
+                            this.balance.surplusMoney = this.repiceNumSub(this.balance.userMoney,this.balance.deductMoney); // 抵扣后剩余余额 = 余额总额 - 抵扣使用金额
+                            console.log('到付有勾选余额抵扣部分抵',this.hanldShouldPayFee)
                         }
                     }else{
-                        _self.hanldShouldPayFee = _self.totalPrice - _self.couponAmount ;
-                        console.log('到付未勾选余额抵扣',_self.hanldShouldPayFee)
+                        this.hanldShouldPayFee = this.totalPrice - this.couponAmount ;
+                        console.log('到付未勾选余额抵扣',this.hanldShouldPayFee)
                     }
                 }else{
-                    _self.confirmParam.payInfo.userBeans = 0;
-                    _self.hanldShouldPayFee = _self.totalPrice - _self.couponAmount ;
-                    console.log('其他',_self.hanldShouldPayFee)
+                    this.confirmParam.payInfo.userBeans = 0;
+                    this.hanldShouldPayFee = this.totalPrice - this.couponAmount ;
+                    console.log('其他',this.hanldShouldPayFee)
                 }
             }else{
                 console.log('未勾选采美豆抵扣')
-                _self.confirmParam.payInfo.userBeans = 0;
-                if(_self.balance.flag) {//如果勾选了余额抵扣
-                    if(_self.balance.userMoney>=total) { // 全部抵扣
+                this.confirmParam.payInfo.userBeans = 0;
+                if(this.balance.flag) {//如果勾选了余额抵扣
+                    if(this.balance.userMoney>=total) { // 全部抵扣
                         console.log('勾选采美豆抵扣=========》',total)
-                        _self.hanldShouldPayFee = 0 ;
-                        _self.balance.deductMoney = total; // 抵扣使用金额 = (订单总金额+邮费金额-优惠券价格)
-                        _self.balance.surplusMoney = _self.repiceNumSub(_self.balance.userMoney,_self.balance.deductMoney); // 抵扣后剩余余额 = 余额总额 - 抵扣使用金额
-                        console.log('余额全抵抵未勾选采美豆抵扣',_self.hanldShouldPayFee)
+                        this.hanldShouldPayFee = 0 ;
+                        this.balance.deductMoney = total; // 抵扣使用金额 = (订单总金额+邮费金额-优惠券价格)
+                        this.balance.surplusMoney = this.repiceNumSub(this.balance.userMoney,this.balance.deductMoney); // 抵扣后剩余余额 = 余额总额 - 抵扣使用金额
+                        console.log('余额全抵抵未勾选采美豆抵扣',this.hanldShouldPayFee)
                     }else{
                         console.log('未勾选采美豆抵扣=========》',total)
-                        _self.hanldShouldPayFee = _self.repiceNumSub(total,_self.balance.userMoney);
-                        _self.balance.deductMoney = _self.balance.userMoney; // 抵扣使用金额 = (订单总金额+邮费金额)
-                        _self.balance.surplusMoney = _self.repiceNumSub(_self.balance.userMoney,_self.balance.deductMoney); // 抵扣后剩余余额 = 余额总额 - 抵扣使用金额
-                        console.log('余额部分抵未勾选采美豆抵扣',_self.hanldShouldPayFee)
+                        this.hanldShouldPayFee = this.repiceNumSub(total,this.balance.userMoney);
+                        this.balance.deductMoney = this.balance.userMoney; // 抵扣使用金额 = (订单总金额+邮费金额)
+                        this.balance.surplusMoney = this.repiceNumSub(this.balance.userMoney,this.balance.deductMoney); // 抵扣后剩余余额 = 余额总额 - 抵扣使用金额
+                        console.log('余额部分抵未勾选采美豆抵扣',this.hanldShouldPayFee)
                     }
                 }else{
-                    _self.hanldShouldPayFee = (_self.totalPrice + _self.hanldPostage) - _self.couponAmount;
+                    this.hanldShouldPayFee = (this.totalPrice + this.hanldPostage) - this.couponAmount;
                 }
             }
         },
-        repiceNumSub: function(arg1, arg2) {//减法精确,arg2:被减数,arg1:减数
+        repiceNumSub(arg1, arg2) {//减法精确,arg2:被减数,arg1:减数
             var r1,r2,m,n;
             try{
                 r1=arg1.toString().split(".")[1].length
@@ -690,55 +614,56 @@ var shoppingConfirm = new Vue({
             }
         },
         handleClickOrderSubmitMit() {// 提交订单
-            var _self = this;
-            _self.isModelAlert = false;
-            if(_self.submitLoading){return false;}
-            if(!_self.confirmParam.addressId){
+            const _self = this;
+            this.isModelAlert = false;
+            if(this.submitLoading){return false;}
+            if(!this.confirmParam.addressId){
                 CAIMEI.dialog('请先添加收货地址~');
                 return false;
             }
-            if(_self.orderInvoice.type*1 === 1){
+            if(this.orderInvoice.type*1 === 1){
                 // 普通发票
-                if(!_self.orderInvoice.invoiceTitle){
+                if(!this.orderInvoice.invoiceTitle){
                     CAIMEI.dialog('请输入个人抬头');return false;
                 }
-                if(_self.orderInvoice.invoiceTitleType===1 && !_self.orderInvoice.corporationTaxNum){
+                if(this.orderInvoice.invoiceTitleType===1 && !_self.orderInvoice.corporationTaxNum){
                     CAIMEI.dialog('请输入纳税人识别号');return false;
                 }
-            }else if(_self.orderInvoice.type*1 === 2){
+            }else if(this.orderInvoice.type*1 === 2){
                 // 增值税发票
-                if(!_self.orderInvoice.invoiceTitle){
+                if(!this.orderInvoice.invoiceTitle){
                     CAIMEI.dialog('请输入个人抬头');return false;
                 }
-                if(!_self.orderInvoice.corporationTaxNum){
+                if(!this.orderInvoice.corporationTaxNum){
                     CAIMEI.dialog('请输入纳税人识别号');return false;
                 }
-                if(!_self.orderInvoice.registeredAddress){
+                if(!this.orderInvoice.registeredAddress){
                     CAIMEI.dialog('请输入单位地址');return false;
                 }
-                if(!_self.orderInvoice.registeredPhone){
+                if(!this.orderInvoice.registeredPhone){
                     CAIMEI.dialog('请输入注册电话');return false;
                 }
-                if(!_self.orderInvoice.openBank){
+                if(!this.orderInvoice.openBank){
                     CAIMEI.dialog('请输入开户银行');return false;
                 }
-                if(!_self.orderInvoice.bankAccountNo){
+                if(!this.orderInvoice.bankAccountNo){
                     CAIMEI.dialog('请输入银行账号');return false;
                 }
             }
             // 禁用按钮
-            _self.submitLoading = true;
+            this.submitLoading = true;
             // 发票信息
-            if(_self.confirmParam.orderInvoice.type*1 === 0){
-                _self.confirmParam.orderInvoice = Object.assign(_self.confirmParam.orderInvoice,'',{type:0});
-            }else if(_self.confirmParam.orderInvoice.type*1 === 1){
-                _self.confirmParam.orderInvoice = Object.assign(_self.confirmParam.orderInvoice,'',{type:1, invoiceContent: '商品明细'});
-            }else if(_self.confirmParam.orderInvoice.type*1 === 2){
-                _self.confirmParam.orderInvoice = Object.assign(_self.confirmParam.orderInvoice,'',{type:2});
+            if(this.confirmParam.orderInvoice.type*1 === 0){
+                this.confirmParam.orderInvoice = Object.assign(this.confirmParam.orderInvoice,'',{type:0});
+            }else if(this.confirmParam.orderInvoice.type*1 === 1){
+                this.confirmParam.orderInvoice = Object.assign(this.confirmParam.orderInvoice,'',{type:1, invoiceContent: '商品明细'});
+            }else if(this.confirmParam.orderInvoice.type*1 === 2){
+                this.confirmParam.orderInvoice = Object.assign(this.confirmParam.orderInvoice,'',{type:2});
             }
             //商品信息
-            _self.confirmParam.orderInfo = _self.listData.map(el => {
-                var productInfo = [];
+            this.confirmParam.orderInfo = this.listData.map(el => {
+                const productInfo = [];
+                el.postageFlag = el.handlePostageFlag
                 el.cartList.forEach(cart => {
                     productInfo.push({
                         skuId:cart.skuId,
@@ -748,55 +673,39 @@ var shoppingConfirm = new Vue({
                         productType:cart.giftType
                     })
                 })
-                return {splitCode:el.splitCode,shopId:el.shopId,note:el.note?el.note:'',productInfo:productInfo}
+                return {
+                    splitCode:el.splitCode,
+                    shopId:el.shopId,
+                    note:el.note ? el.note : '',
+                    postage:parseInt(el.postage).toFixed(2),
+                    postageFlag: parseInt(el.postageFlag),
+                    isColdChina:el.isColdChina ? 1 : 0,
+                    productInfo:productInfo
+                }
             });
-            if(_self.orderInvoice.type!=0){
-                _self.orderInvoice.type = parseInt(_self.orderInvoice.type)
-                _self.confirmParam.orderInvoice = _self.orderInvoice;
+            if(this.orderInvoice.type!==0){
+                this.orderInvoice.type = parseInt(this.orderInvoice.type)
+                this.confirmParam.orderInvoice = this.orderInvoice;
             }
-            _self.confirmParam.payInfo.postage = parseInt(_self.hanldPostage).toFixed(2);
-            _self.confirmParam.payInfo.postageFlag = parseInt(_self.hanldPostageFlag);
-            _self.confirmParam.payInfo.orderShouldPayFee = parseFloat(_self.hanldShouldPayFee).toFixed(2);
-            _self.confirmParam.payInfo = JSON.stringify(_self.confirmParam.payInfo);
-            _self.confirmParam.orderInfo = JSON.stringify(_self.confirmParam.orderInfo);
-            _self.confirmParam.orderInvoice = JSON.stringify(_self.confirmParam.orderInvoice);
-            console.log('confirmParam',_self.confirmParam);
-            _self.handleConfirmOrder();
-        },
-        createdOrderVerify(params) {// 还原提交订单参数格式
-            const _self = this;
-            OrderApi.createdOrderVerify(params,function (res) {
-                if (res.data.code === -1) {
-
-                }else{
-                    _self.handleConfirmOrder();
-                }
-            })
+            this.confirmParam.payInfo.orderShouldPayFee = parseFloat(this.hanldShouldPayFee).toFixed(2);
+            this.confirmParam.payInfo = JSON.stringify(this.confirmParam.payInfo);
+            this.confirmParam.orderInfo = JSON.stringify(this.confirmParam.orderInfo);
+            this.confirmParam.orderInvoice = JSON.stringify(this.confirmParam.orderInvoice);
+            console.log('confirmParam',this.confirmParam);
+            this.handleConfirmOrder();
         },
         handleConfirmOrder(){// 提交
             const _self = this;
             OrderApi.ConfirmOrder(_self.confirmParam,function (res) {
                 if(res.code === 0){
-                    var data = res.data;
+                    const data = res.data;
                     if(data.code === 1){//余额抵扣全部订单金额
-                        var Amount = { payableAmount: _self.deductMoney };
+                        const Amount = {payableAmount: _self.deductMoney};
                         CAIMEI.Storage.removeItem('confirmOrderInfo');
                         CAIMEI.Storage.setItem('confirmOrderInfo',JSON.stringify({data:Amount}));
                         window.location.href = '/pay/success.html?pageType=www&type=success&payAmount='+data.payTotalFee;
                     }else{//余额抵扣部分订单金额或者未支付的
-                        if(data.onlinePayFlag === 1){// 走线下支付
-                            window.location.href = '/pay/caimei-payunder.html?orderId='+data.orderId;
-                        }else{
-                            var order = {
-                                orderId:data.orderId,
-                                orderNo:data.orderNo,
-                                orderMark:data.orderMark,
-                                payableAmount:data.payableAmount
-                            };
-                            CAIMEI.Storage.removeItem('confirmOrderInfo');
-                            CAIMEI.Storage.setItem('confirmOrderInfo',JSON.stringify({data:order}));
-                            window.location.href = '/pay/caimei-paylist.html?orderId='+data.orderId;
-                        }
+                        window.location.href = '/pay/caimei-paylist.html?orderId='+data.orderId;
                     }
                 }else {
                     _self.handleError(res)
@@ -806,29 +715,29 @@ var shoppingConfirm = new Vue({
         handleError(data){// 异常处理弹窗
             const _self = this;
             if(data.code === -5) {
-                _self.isModelAlert = true;
-                _self.isShowConfirm = 1;
-                _self.submitLoading = false;
-                _self.isModelAlertText = '采购金额过小,将扣除500采美豆。建议您使用微信扫描 以下二维码,进入采美旗下“颜选美学”小程序购买小额 商品。';
-                _self.formatConfirmParam();
+                this.isModelAlert = true;
+                this.isShowConfirm = 1;
+                this.submitLoading = false;
+                this.isModelAlertText = '采购金额过小,将扣除500采美豆。建议您使用微信扫描 以下二维码,进入采美旗下“颜选美学”小程序购买小额 商品。';
+                this.formatConfirmParam();
             }else if(data.code === -6){
-                _self.isModelAlert = true;
-                _self.isShowConfirm = 2;
-                _self.submitLoading = false;
-                _self.isModelAlertText = '订单内存在械字号三类商品,需要拥有医疗执业许可证的医美机构才能购买。建议升级医美机构后再下单,否则会导致订单退款或影响发货。';
-                _self.formatConfirmParam();
+                this.isModelAlert = true;
+                this.isShowConfirm = 2;
+                this.submitLoading = false;
+                this.isModelAlertText = '订单内存在械字号三类商品,需要拥有医疗执业许可证的医美机构才能购买。建议升级医美机构后再下单,否则会导致订单退款或影响发货。';
+                this.formatConfirmParam();
             }else if(data.code === -3){
-                _self.isModelAlert = true;
-                _self.isShowConfirm = 3;
-                _self.submitLoading = false;
-                _self.isModelAlertText = '您已有2个采购金额过小的订单,本次不能再进行采购。您可使用微信扫描以下二维码,进入采美旗下“颜选美学”小程序购买小额商品。';
-                _self.formatConfirmParam();
+                this.isModelAlert = true;
+                this.isShowConfirm = 3;
+                this.submitLoading = false;
+                this.isModelAlertText = '您已有2个采购金额过小的订单,本次不能再进行采购。您可使用微信扫描以下二维码,进入采美旗下“颜选美学”小程序购买小额商品。';
+                this.formatConfirmParam();
             }else if(data.code === -4){
-                _self.isModelAlert = true;
-                _self.isShowConfirm = 4;
-                _self.submitLoading = false;
-                _self.isModelAlertText = '采美豆不足,不能提交订单。您可使用微信扫描以下二维码,进入采美旗下“颜选美学”小程序购买小额商品。';
-                _self.formatConfirmParam();
+                this.isModelAlert = true;
+                this.isShowConfirm = 4;
+                this.submitLoading = false;
+                this.isModelAlertText = '采美豆不足,不能提交订单。您可使用微信扫描以下二维码,进入采美旗下“颜选美学”小程序购买小额商品。';
+                this.formatConfirmParam();
             }else{
                 CAIMEI.Alert(data.msg,'确定',true, function(){
                     setTimeout(function(){
@@ -868,37 +777,46 @@ var shoppingConfirm = new Vue({
             return skuIds.join(',');
         }
     },
-    created: function () {
-        var _self = this;
-        var urlType = getUrlParam("type") ? getUrlParam("type")*1 : "";
+    mounted: function () {
+        const _self = this;
+        this.urlType = getUrlParam("type") ? getUrlParam("type") * 1 : "";
         if(globalUserData){
-            _self.userId = _self.productParam.userId = _self.cartParam.userId = _self.postageParam.userId = _self.supportParm.userId =   globalUserData.userId;
-            _self.confirmParam.unionId = globalUserData.unionId ? globalUserData.unionId : '';
-            _self.confirmParam.clubId = globalUserData.clubId
-            _self.userIdentity = globalUserData.identity;
-            _self.userToken = globalUserData.token;
+            this.userId = this.productParam.userId = this.cartParam.userId = this.supportParm.userId =   globalUserData.userId;
+            this.confirmParam.unionId = globalUserData.unionId ? globalUserData.unionId : '';
+            this.confirmParam.clubId = globalUserData.clubId
+            this.userIdentity = globalUserData.identity;
+            this.userToken = globalUserData.token;
             // type:(1购物车提交[对应表cm_cart],2直接购买提交, 3协销下单)
-            if(urlType === 1) {//购物车提交
-                _self.confirmParam.cartType = 1;
-                _self.cartParam.skuIds =  _self.productIds = window.localStorage.getItem("shoppingSkuIds");
-                // 获取列表数据
-                _self.getCartCreateOrderInfo();
-            }else if(urlType === 2){//立即购买
-                _self.confirmParam.cartType = 2;
-                _self.productParam.productId =  _self.productIds = getUrlParam("productId");
-                _self.productParam.productCount = getUrlParam("count");
-                _self.productParam.skuId = getUrlParam("skuId");
-                if(_self.productParam.productId && _self.productParam.productCount) {
-                    _self.getProductCreateOrderInfo();
+            if(this.urlType === 1) {//购物车提交
+                this.confirmParam.cartType = 1;
+                this.cartParam.skuIds =  this.productIds = window.localStorage.getItem("shoppingSkuIds");
+                this.getAddressList(this.userId,20);
+                console.log('cartParam',this.cartParam)
+                setTimeout(()=>{
+                    this.getCartCreateOrderInfo();
+                },500)
+            }else if(this.urlType === 2){//立即购买
+                this.confirmParam.cartType = 2;
+                this.productParam.productId =  this.productIds = getUrlParam("productId");
+                this.productParam.productCount = getUrlParam("count");
+                this.productParam.skuId = getUrlParam("skuId");
+                this.getAddressList(this.userId,20);
+                console.log('productParam',this.productParam)
+                if(this.productParam.productId && this.productParam.productCount) {
+                    setTimeout(()=>{
+                        this.getProductCreateOrderInfo();
+                    },500)
                 }
-            }else if(urlType === 3){// 组合商品立即购买
-                _self.confirmParam.cartType = 2;
-                _self.supportParm.productInfo = CAIMEI.Storage.getItem("KEY_SUPPORE");
-                _self.OrderClubProductSupporting()
+            }else if(this.urlType === 3){// 组合商品立即购买
+                this.confirmParam.cartType = 2;
+                this.supportParm.productInfo = CAIMEI.Storage.getItem("KEY_SUPPORE");
+                this.getAddressList(this.userId,20);
+                console.log('supportParm',this.supportParm)
+                setTimeout(()=>{
+                    this.OrderClubProductSupporting();
+                },500)
             }
         }
-    },
-    mounted: function () {
         // 底部导航栏悬浮
         $(window).on('scroll', function(){
             if($(window).scrollTop() + window.innerHeight > $('footer').offset().top){
@@ -908,7 +826,7 @@ var shoppingConfirm = new Vue({
             }
         })
         // 底部导航栏高度不一致问题
-        var height = $('#shoppingConfirm .summaryWrap').height() + 'px'
+        const height = $('#shoppingConfirm .summaryWrap').height() + 'px';
         if(isPC){
             $('#shoppingConfirm .summary-wrapper').css('height', height)
         }else{

+ 174 - 0
src/main/resources/static/js/shopping/mixins/conMixins.js

@@ -0,0 +1,174 @@
+// 商品详情
+var conMixins = function () {
+    return {
+        data() {
+            return {
+                balance: {
+                    isFreight:false,    //使用采美豆抵扣运费
+                    flag: false,        //使用余额抵扣
+                },
+                hanldShouldPayFee:0,//
+                userMoney: 0.0, // 显示可使用余额
+                deductMoney: 0.0, // 显示已使用的余额
+                urlType:0,
+                radio:1,
+                visible:false,
+                reducedPrice: 0,          // 满减金额
+                couponAmount:0,	  		  // 优惠券金额
+            }
+        },
+        computed: {
+            // 计算订单最终支付金额 = 供应商下的合计金额之和
+            orderTotalPrice(){
+                let totalPrice = 0
+                this.listData.forEach(el =>{
+                    totalPrice += el.totalPrice
+                })
+                console.log('订单最终金额',totalPrice)
+                return totalPrice - this.couponAmount
+            },
+            // 显示勾选后的剩余抵 = 用户总余额-当前使用金额
+            surplusMoney(){
+                console.log('剩余余额', (this.userMoney - this.deductMoney))
+                return this.userMoney - this.deductMoney
+            },
+            // 共减金额 = 减金额 + 优惠券金额
+            totalDiscountAmount(){
+                console.log('共减金额', (this.reducedPrice + this.couponAmount))
+                return this.reducedPrice + this.couponAmount
+            }
+        },
+        methods: {
+            //勾选使用余额
+            checkedBalabce() {
+                if (this.balance.flag) {// 是否勾选余额抵扣
+                    this.confirmParam.payInfo.balancePayFlag = 1
+                    this.attributePallPrice()
+                }else{
+                    this.confirmParam.payInfo.balancePayFlag = 0
+                    this.attributePallPrice()
+                }
+                console.log('勾选使用余额最终订单支付金额', this.hanldShouldPayFee)
+            },
+            // 计算最终订单支付金额
+            attributePallPrice() {
+                if (this.balance.flag) {// 是否勾选余额抵扣
+                    if (this.userMoney >= this.orderTotalPrice) {
+                        this.hanldShouldPayFee =0.0
+                        this.deductMoney = this.orderTotalPrice// 当前使用金额等于订单金额
+                        console.log('最终订单支付金额00001', this.hanldShouldPayFee)
+                    } else {
+                        this.hanldShouldPayFee = this.orderTotalPrice - this.userMoney // 订单最终支付金额等于订单金额-账户余额
+                        this.deductMoney = this.userMoney // 当前使用金额等于总余额
+                        console.log('最终订单支付金额00002', this.hanldShouldPayFee)
+                    }
+                    console.log('余额抵扣最终订单支付金额', this.hanldShouldPayFee)
+                } else {
+                    this.hanldShouldPayFee = this.orderTotalPrice
+                    this.deductMoney = 0 // 当前使用
+                    console.log('未余额抵扣最终订单支付金额', this.hanldShouldPayFee)
+                }
+            },
+            //修改运费
+            handlePostageFlag($event,supplier){  // 选择到付 总运费为到付 供应商总价格 - 总运费  确认订单总金额 - 总运费
+                console.log('$event',$event)
+                const postage = supplier.isColdChina ? ( supplier.postage + supplier.coldChain ) : supplier.postage
+                supplier.handlePostageFlag = $event;
+                if(supplier.handlePostageFlag === 1){
+                    supplier.totalPrice = Number((supplier.totalPrice*100 + postage*100)/100)
+                    this.attributePallPrice()
+                }else{
+                    supplier.totalPrice = Number(this.repiceNumSub(supplier.totalPrice,postage))
+                    this.attributePallPrice()
+                }
+            },
+            // 勾选冷链费
+            handleChangeColdChina(flag,supplier){
+                if(flag){
+                    supplier.totalPrice = Number((supplier.totalPrice*100 + supplier.coldChain*100)/100)
+                    this.attributePallPrice()
+                    console.log('totalPrice',supplier.totalPrice)
+                }else{
+                    supplier.totalPrice = Number(this.repiceNumSub(supplier.totalPrice,supplier.coldChain))
+                    this.attributePallPrice()
+                    console.log('hanldShouldPayFee',this.hanldShouldPayFee)
+                }
+            },
+            // 计算总运费
+            handleTotalPostage(supplier){
+                if(supplier.isColdChina){
+                    return (supplier.postage*100 + supplier.coldChain*100)/100
+                }else{
+                    return supplier.postage
+                }
+            },
+            // 购物车去结算确认订单初始化
+            getCartCreateOrderInfo () {
+                const _self = this;
+                if(this.userId ===0){return;}
+                OrderApi.GetOrderConfirmInfo(this.cartParam,function(response){
+                    if (response.code === 0 ) {
+                        _self.setCreatDataInfo(response.data)
+                    }else{
+                        CAIMEI.Alert(r.msg, '确定', false);
+                    }
+                });
+            },
+            // 商品立即购买确认订单初始化
+            getProductCreateOrderInfo(){
+                const _self = this;
+                if(this.userId ===0){return;}
+                OrderApi.ProductCreateOrderInfo(this.productParam,function(response){
+                    if (response.code === 0 ) {
+                        _self.setCreatDataInfo(response.data)
+                    }else{
+                        CAIMEI.Alert(response.msg, '确定', false);
+                    }
+                });
+            },
+            // 组合商品确认订单初始化
+            OrderClubProductSupporting(){
+                const _self = this;
+                if(this.userId ===0){return;}
+                OrderApi.OrderClubProductSupporting(this.supportParm,function(response){
+                    if (response.code === 0 ) {
+                        _self.setCreatDataInfo(response.data)
+                    }else{
+                        CAIMEI.Alert(r.msg, '确定', false);
+                    }
+                });
+            },
+            setCreatDataInfo(data){
+                this.listData = data.list.map((el)=>{
+                    el.handlePostageFlag = el.postageFlag
+                    return el
+                });
+                this.totalPrice =  data.totalPrice;
+                this.reducedPrice = data.reducedPrice;
+                this.totalCount =  data.totalCount;
+                this.kindCount = data.kindCount;
+                this.userMoney = data.userMoney;
+                this.hanldShouldPayFee = data.totalPrice;
+                this.svipReducedPrice = data.svipReducedPrice;
+                this.returnGoodsStutas = data.returnGoodsStutas === 2 // 当前商品是否为特殊商品 1不是 2是
+                this.helpContent = data.helpContent
+                if( data.couponList &&  data.couponList.length>0){
+                    this.isCouponShow = true;
+                    this.couponAmount = data.couponList[0].couponAmount;
+                    this.confirmParam.clubCouponId = data.couponList[0].clubCouponId;
+                    this.couponList = data.couponList.map((el) =>{
+                        return { ...el,...{ischecked:false}}
+                    })
+                    this.couponList[0].ischecked = true;
+                    this.hanldShouldPayFee = data.totalPrice - this.couponAmount;
+                }
+                this.totalDiscountAmount =  this.reducedPrice + this.couponAmount;
+                if(data.invoice){
+                    data.invoice.type = 0;
+                    this.orderInvoice =  data.invoice;
+                }
+            },
+        }
+    }
+}();
+

+ 197 - 53
src/main/resources/static/js/supplier-center/order/detail.js

@@ -1,80 +1,224 @@
-;
-var seeDetail = new Vue({
-    el:'#seeDetail',
+
+const seeDetail = new Vue({
+    el: '#seeDetail',
     mixins: [cmSysVitaMixins],
-    data:{
-        shopOrderId:'',
-        userInfo:{},
-        order:{},
-        orderList:[],
-        payShopRecord:[],
-        isFiexd:true
+    data() {
+        return {
+            shopOrderId: '',
+            userInfo: {},
+            order: {},
+            orderProductList: [],
+            voucher:[], //支付凭证
+            payShopRecord: [],
+            isFiexd: true,
+            chengeOrder: {
+                shopOrderId: 0,
+                amount: null
+            },
+            dialogFormVisible: false,
+            rules: {
+                amount: [{required: true, validator: this.picValidator, trigger: 'blur'}]
+            },
+            voucher:[]
+        }
     },
     filters: {
-        NumFormat:function(text) {//处理金额
-            return Number(text).toFixed(2);
+        amountfilters(value) {
+            if (value) {
+                return Number(value).toFixed(2)
+            } else {
+                return '0.00'
+            }
         },
-        sendOutStatusType:function(value) {
-            if (value === null) {
-                return '未发货';
-            } else if(value === 1) {
-                return '待发货';
-            } else if(value === 2) {
-                return '部分发货';
-            } else{
-                return '已发货';
+        sendOutStatusType(value) {
+            const map = {
+                1:'待发货',
+                2:'部分发货',
+                3:'已发货',
             }
+            return map[value]
         },
-        payStatusType:function(value) {
-            if (value === 1) {
-                return '待结算';
-            } else if (value === 2) {
-                return '部分结算';
-            } else {
-                return '已结算';
+        refundStatusType(value) {
+            const map = {
+                1:'无退款',
+                2:'部分退款',
+                3:'已退款',
+            }
+            return map[value]
+        },
+        receiptStatusType(value) {
+            const map = {
+                1:'待收款',
+                2:'部分收款',
+                3:'已收款',
+            }
+            return map[value]
+        },
+        payStatusType(value) {
+            const map = {
+                1:'待结算',
+                2:'部分结算',
+                3:'已结算',
+            }
+            return map[value]
+        },
+        statusFilters(value) {
+            //处理订单状态显示
+            const map = {
+                0: '待确认',
+                2: '交易完成',
+                4: '已关闭',
+                5: '交易全退',
+                6: '交易全退',
+                11: '待收款待发货',
+                12: '待收款部分发货',
+                13: '待收款已发货',
+                21: '部分收款待发货',
+                22: '部分收款部分发货',
+                23: '部分收款已发货',
+                31: '已收款待发货',
+                32: '已收款部分发货',
+                33: '已收款已发货'
+            }
+            return map[value]
+        },
+        // 设置发票文案
+        setInvoiceText(data) {
+            if(data){
+                const map = {
+                    0: '个人',
+                    1: '单位'
+                }
+                switch (data.type) {
+                    case 0:
+                        return `不开发票`
+                        break
+                    case 1:
+                        return `普票-${map[data.headingType]}`
+                        break
+                    case 2:
+                        return `专票`
+                        break
+                }
+            }else{
+                return `不开发票`
             }
         }
     },
-    methods:{
-        delivery:function (orderId) {//发货
-            window.location.href='/supplier/order/delivery.html?shopOrderId='+orderId;
+    computed: {
+        disabled() {
+            return !(this.chengeOrder.amount > 0)
+        }
+    },
+    methods: {
+        picValidator(rule, value, callback){
+            if (!this.chengeOrder.amount) {
+                callback(new Error('请输入本次收款金额'))
+            } else if (this.chengeOrder.amount > this.SubtrAount(this.order.needPayAmount, this.order.receiptAmount) * 1) {
+                callback(new Error('本次收款金额不能大于未收金额'))
+            } else {
+                callback()
+            }
         },
-        record:function (shopOrderId) {//发货记录
-            window.location.href = '/supplier/order/delivery_record.html?shopOrderId='+shopOrderId;
+        // 确认收款金额
+        handeleDialogFormVisible() {
+            this.dialogFormVisible = true
         },
-        Checklist:function (shopOrderId) {//售货清单
-             window.open('/supplier/order/sales.html?shopOrderId='+shopOrderId)
+        // 确认本次收款金额
+        handleChangOrder() {
+            this.$refs['dataForm'].validate(valid => {
+                if (valid) {
+                    this.orderCheckReceipt()
+                } else {
+                    return false
+                }
+            })
+        },
+        orderCheckReceipt(){
+            const _self = this;
+            SupplierApi.checkeReceipt(this.chengeOrder,function (response) {
+                if(response.code===0){
+                    CAIMEI.dialog('收款成功',true,function () {
+                        _self.dialogFormVisible = false
+                        _self.shopOrderDetails()
+                    })
+                }else{
+                    CAIMEI.Alert(response.msg, '确定', false);
+                }
+            })
         },
-        seeshopDetails:function () {
-            var _self = this;
-            SupplierApi.shopOrderDetails({shopOrderId:_self.shopOrderId},function (response) {//列表初始化
-                if(response.code==0){
-                    var data = response.data;
+        // 按钮操作
+        handeleDropdown (type, shopOrderId) {
+            switch (type) {
+                case 1:// 发货
+                    window.location.href = '/supplier/order/delivery.html?shopOrderId=' + shopOrderId;
+                    break
+                case 2:// 发货记录
+                    window.location.href = '/supplier/order/delivery_record.html?shopOrderId=' + shopOrderId;
+                    break
+                case 3:// 发起退款
+                    window.location.href = '/supplier/order/order-return.html?shopOrderId=' + shopOrderId;
+                    break
+                case 4:// 订单备注
+                    window.location.href = '/supplier/order/remarks-details.html?shopOrderId=' + shopOrderId;
+                    break
+                case 5:// 售货清单
+                    window.open('/supplier/order/sales.html?shopOrderId=' + shopOrderId)
+                    break
+                case 6:// 上传线下支付凭证
+                    window.location.href = '/supplier/order/remarks-pay.html?shopOrderId=' + shopOrderId;
+                    break
+                case 7:// 修改订单
+                    window.location.href = '/supplier/order/order-edit.html?shopOrderId='+shopOrderId;
+                    break
+            }
+        },
+        SubtrAount(arg1, arg2) {
+            var r1, r2, m, n
+            try {
+                r1 = arg1.toString().split('.')[1].length
+            } catch (e) {
+                r1 = 0
+            }
+            try {
+                r2 = arg2.toString().split('.')[1].length
+            } catch (e) {
+                r2 = 0
+            }
+            m = Math.pow(10, Math.max(r1, r2))
+            n = (r1 >= r2) ? r1 : r2
+            return ((arg1 * m - arg2 * m) / m).toFixed(n)
+        },
+        shopOrderDetails() {
+            const _self = this;
+            SupplierApi.shopOrderDetails({shopOrderId: this.shopOrderId}, function (response) {//列表初始化
+                if (response.code === 0) {
+                    const data = response.data;
                     _self.order = data.shopOrder;
                     _self.userInfo = data.shopOrder.userInfo;
-                    _self.orderList =data.shopOrder.orderProductList;
+                    _self.orderProductList = data.shopOrder.orderProductList;
+                    _self.voucher = data.shopOrder.voucher;
                     _self.payShopRecord = data.payShopRecord;
                 }
-             })
+            })
         },
     },
-    mounted:function () {
-       var _self = this;
-        _self.shopOrderId=CAIMEI.getUrlParam('shopOrderId');
-        _self.seeshopDetails();
-
-        if(isPC){
-            _self.open=true;
+    mounted () {
+        const _self = this;
+        this.shopOrderId = this.chengeOrder.shopOrderId = CAIMEI.getUrlParam('shopOrderId');
+        this.shopOrderDetails();
+        if (isPC) {
+            _self.open = true;
         }
-         $(window).scroll(function (event) {
+        $(window).scroll(function (event) {
             var supportPageOffset = window.pageXOffset !== undefined; // 判断是否支持pageXOffset
             var isCSS1Compat = ((document.compatMode || "") === "CSS1Compat"); // 判断渲染模式是不是标准模式
             var scrollHeight = supportPageOffset ? window.pageYOffset : isCSS1Compat ? document.documentElement.scrollTop : document.body.scrollTop;
-            if(scrollHeight<100){
+            if (scrollHeight < 100) {
                 _self.isFiexd = true
-            }else{
+            } else {
                 _self.isFiexd = false
             }
         });
     },
-})
+});

+ 146 - 0
src/main/resources/static/js/supplier-center/order/order-edit.js

@@ -0,0 +1,146 @@
+
+const seeDetail = new Vue({
+    el: '#seeDetail',
+    mixins: [cmSysVitaMixins],
+    data() {
+        return {
+            shopOrderId: '',
+            userInfo: {},
+            order: {},
+            orderProductList: [],
+            payShopRecord: [],
+            isFiexd: true,
+            params:{
+                orderProducts:[]
+            },
+            rules: {
+                amount: [{required: true, validator: this.picValidator, trigger: 'blur'}]
+            },
+        }
+    },
+    filters: {
+        amountfilters(value) {
+            if (value) {
+                return Number(value).toFixed(2)
+            } else {
+                return '0.00'
+            }
+        },
+        sendOutStatusType(value) {
+            const map = {
+                1:'待发货',
+                2:'部分发货',
+                3:'已发货',
+            }
+            return map[value]
+        },
+        receiptStatusType(value) {
+            const map = {
+                1:'待收款',
+                2:'部分收款',
+                3:'已收款',
+            }
+            return map[value]
+        },
+        refundStatusType(value) {
+            const map = {
+                1:'无退款',
+                2:'部分退款',
+                3:'已退款',
+            }
+            return map[value]
+        },
+        payStatusType(value) {
+            const map = {
+                1:'待结算',
+                2:'部分结算',
+                3:'已结算',
+            }
+            return map[value]
+        },
+        statusFilters(value) {
+            //处理订单状态显示
+            const map = {
+                0: '待确认',
+                2: '交易完成',
+                4: '已关闭',
+                5: '交易全退',
+                6: '交易全退',
+                11: '待收款待发货',
+                12: '待收款部分发货',
+                13: '待收款已发货',
+                21: '部分收款待发货',
+                22: '部分收款部分发货',
+                23: '部分收款已发货',
+                31: '已收款待发货',
+                32: '已收款部分发货',
+                33: '已收款已发货'
+            }
+            return map[value]
+        },
+    },
+    computed: {
+
+    },
+    methods: {
+        checkedInput(event) {
+            const pattern = /[^0-9.]/g
+            return event.replace(pattern, '')
+        },
+        // 按钮操作
+        handeleUpdate () {
+            const _self = this
+            let isUpdate = false
+            this.orderProductList.forEach((el)=>{
+                if(!el.price){
+                    isUpdate = true
+                }
+            })
+            if(isUpdate){
+                CAIMEI.dialog('请输入单价',false)
+                return
+            }
+            this.params.orderProducts = this.orderProductList
+            console.log('params',this.params)
+            CAIMEI.Modal('确定修改该订单吗?','取消','确定',function () {
+                SupplierApi.orderUpdate(JSON.stringify(_self.params), function (response) {//列表初始化
+                    if (response.code === 0) {
+                        CAIMEI.dialog('修改成功',true,function () {
+                            _self.seeshopDetails()
+                        })
+                    }
+                })
+            })
+        },
+        shopOrderDetails() {
+            const _self = this;
+            SupplierApi.shopOrderDetails({shopOrderId: _self.shopOrderId}, function (response) {//列表初始化
+                if (response.code === 0) {
+                    const data = response.data;
+                    _self.order = data.shopOrder;
+                    _self.userInfo = data.shopOrder.userInfo;
+                    _self.orderProductList = data.shopOrder.orderProductList;
+                    _self.payShopRecord = data.payShopRecord;
+                }
+            })
+        },
+    },
+    mounted () {
+        const _self = this;
+        this.shopOrderId = CAIMEI.getUrlParam('shopOrderId');
+        this.shopOrderDetails();
+        if (isPC) {
+            _self.open = true;
+        }
+        $(window).scroll(function (event) {
+            var supportPageOffset = window.pageXOffset !== undefined; // 判断是否支持pageXOffset
+            var isCSS1Compat = ((document.compatMode || "") === "CSS1Compat"); // 判断渲染模式是不是标准模式
+            var scrollHeight = supportPageOffset ? window.pageYOffset : isCSS1Compat ? document.documentElement.scrollTop : document.body.scrollTop;
+            if (scrollHeight < 100) {
+                _self.isFiexd = true
+            } else {
+                _self.isFiexd = false
+            }
+        });
+    },
+});

+ 126 - 0
src/main/resources/static/js/supplier-center/order/order-return.js

@@ -0,0 +1,126 @@
+;
+var seeDetail = new Vue({
+    el:'#seeDetail',
+    mixins: [cmSysVitaMixins],
+    data:{
+        shopOrderId:'',
+        userInfo:{},
+        order:{},
+        orderList:[],
+        payShopRecord:[],
+        isFiexd:true
+    },
+    filters: {
+        NumFormat:function(text) {//处理金额
+            return Number(text).toFixed(2);
+        },
+        amountfilters(value) {
+            if (value) {
+                return Number(value).toFixed(2)
+            } else {
+                return '0.00'
+            }
+        },
+        sendOutStatusType(value) {
+            const map = {
+                1:'待发货',
+                2:'部分发货',
+                3:'已发货',
+            }
+            return map[value]
+        },
+        receiptStatusType(value) {
+            const map = {
+                1:'待收款',
+                2:'部分收款',
+                3:'已收款',
+            }
+            return map[value]
+        },
+        refundStatusType(value) {
+            const map = {
+                1:'无退款',
+                2:'部分退款',
+                3:'已退款',
+            }
+            return map[value]
+        },
+        payStatusType(value) {
+            const map = {
+                1:'待结算',
+                2:'部分结算',
+                3:'已结算',
+            }
+            return map[value]
+        },
+        statusFilters(value) {
+            //处理订单状态显示
+            const map = {
+                0: '待确认',
+                2: '交易完成',
+                4: '已关闭',
+                5: '交易全退',
+                6: '交易全退',
+                11: '待收款待发货',
+                12: '待收款部分发货',
+                13: '待收款已发货',
+                21: '部分收款待发货',
+                22: '部分收款部分发货',
+                23: '部分收款已发货',
+                31: '已收款待发货',
+                32: '已收款部分发货',
+                33: '已收款已发货'
+            }
+            return map[value]
+        },
+    },
+    methods:{
+        handeleReturn(shopOrderId){
+            const _self = this;
+            CAIMEI.Modal('确定对该订单进行退款吗?','取消','确定',function () {
+                _self.returnShopOrder(shopOrderId)
+            })
+        },
+        returnShopOrder(shopOrderId){
+            const _self = this;
+            SupplierApi.returnShopOrder({shopOrderId:shopOrderId},function (response) {//列表初始化
+                if(response.code===0){
+                    CAIMEI.dialog('退款成功',true,function () {
+                        _self.seeshopDetails()
+                    })
+                }
+            })
+        },
+        seeshopDetails () {
+            const _self = this;
+            SupplierApi.shopOrderDetails({shopOrderId:_self.shopOrderId},function (response) {//列表初始化
+                if(response.code===0){
+                    var data = response.data;
+                    _self.order = data.shopOrder;
+                    _self.userInfo = data.shopOrder.userInfo;
+                    _self.orderList =data.shopOrder.orderProductList;
+                    _self.payShopRecord = data.payShopRecord;
+                }
+             })
+        },
+    },
+    mounted:function () {
+       var _self = this;
+        _self.shopOrderId=CAIMEI.getUrlParam('shopOrderId');
+        _self.seeshopDetails();
+
+        if(isPC){
+            _self.open=true;
+        }
+         $(window).scroll(function (event) {
+            var supportPageOffset = window.pageXOffset !== undefined; // 判断是否支持pageXOffset
+            var isCSS1Compat = ((document.compatMode || "") === "CSS1Compat"); // 判断渲染模式是不是标准模式
+            var scrollHeight = supportPageOffset ? window.pageYOffset : isCSS1Compat ? document.documentElement.scrollTop : document.body.scrollTop;
+            if(scrollHeight<100){
+                _self.isFiexd = true
+            }else{
+                _self.isFiexd = false
+            }
+        });
+    },
+})

+ 181 - 141
src/main/resources/static/js/supplier-center/order/orderlist.js

@@ -2,182 +2,222 @@
 var orderList = new Vue({
     el:'#orderList',
     mixins: [cmSysVitaMixins],
-    data:{
-        Status:[
-            {name:'所有',value:0},
-            {name:'待发货',value:1},
-            {name:'部分发货',value:2},
-            {name:'已发货',value:3},
-        ],
-        pay:[
-            {name:'所有',value:0},
-            {name:'待结算',value:1},
-            {name:'部分结算',value:2},
-            {name:'已结算',value:3},
-        ],
-        params:{
-            shopId:'',
-            pageNum: 1,
-            pageSize: 10,
-            sendOutStatus: '',//发货状态
-            payStatus:'',//结算状态
-            shopOrderNo:'',//订单编号
-            receiver: '',//收货人
-        },
-         pageInput: '1',
-         listRecord: 0,
-         isRequset:true,
-         requestFlag: true,
-         noMore: false,
-         results:[],
+    data(){
+        return{
+            listQuery:{
+                shopId:'',
+                pageNum: 1,
+                pageSize: 10,
+                sendOutStatus: '',//发货状态
+                payStatus:'',//结算状态
+                shopOrderNo:'',//订单编号
+                receiver: '',//收货人
+                receiptStatus:'',
+                refundStatus:'',
+                source:'',
+                organizeId:'',// 订单来源 0 采美 4 丽格
+            },
+            total: 0,
+            layout: '',
+            requestFlag: true,
+            noMore: false,
+            results:[],
+            chengeOrder: {
+                shopOrderId: '',
+                amount: ''
+            },
+            dialogFormVisible: false,
+            rules: {
+                amount: [{required: true, validator: this.picValidator, trigger: 'blur'}]
+            },
+            handleOrder:{}
+        }
     },
     computed: {
-        pageTotal: function () {
-            var total = Math.ceil(this.listRecord / this.params.pageSize);
-            return total > 0 ? total : 1;
-        },
-        showPageBtn: function () {
-            var total = Math.ceil(this.listRecord / this.params.pageSize);
-            total = total > 0 ? total : 1;
-            var index = this.params.pageNum, arr = [];
-            if (total <= 6) {
-                for (var i = 1; i <= total; i++) {
-                    arr.push(i);
-                }
-                return arr;
-            }
-            if (index <= 3) return [1, 2, 3, 4, 5, 0, total];
-            if (index >= total - 2) return [1, 0, total - 4, total - 3, total - 2, total - 1, total];
-            return [1, 0, index - 2, index - 1, index, index + 1, index + 2, 0, total];
+        disabled() {
+            return !(this.chengeOrder.amount > 0)
         }
     },
     filters: {
-        NumFormat:function(text) {//处理金额
-            return Number(text).toFixed(2);
+        amountfilters(value) {
+            if (value) {
+                return Number(value).toFixed(2)
+            } else {
+                return '0.00'
+            }
+        },
+        receiptStatusType(value) {
+            const map = {
+                1:'待收款',
+                2:'部分收款',
+                3:'已收款',
+            }
+            return map[value]
+        },
+        refundStatusType(value) {
+            const map = {
+                1:'无退款',
+                2:'部分退款',
+                3:'已退款',
+            }
+            return map[value]
         },
         sendOutStatusType:function(value) {
-            if (value === null) {
-                return '未发货';
-            } else if(value === 1) {
-                return '待发货';
-            } else if(value === 2) {
-                return '部分发货';
-            } else{
-                return '已发货';
+            const map = {
+                1:'待发货',
+                2:'部分发货',
+                3:'已发货',
             }
+            return map[value]
         },
         payStatusType:function(value) {
-            if (value === 1) {
-                return '待结算';
-            } else if (value === 2) {
-                return '部分结算';
-            } else {
-                return '已结算';
+            const map = {
+                1:'待结算',
+                2:'部分结算',
+                3:'已结算',
             }
-        }
+            return map[value]
+        },
+        statusFilters(value) {
+            //处理订单状态显示
+            const map = {
+                0: '待确认',
+                2: '交易完成',
+                4: '已关闭',
+                5: '交易全退',
+                6: '交易全退',
+                11: '待收款待发货',
+                12: '待收款部分发货',
+                13: '待收款已发货',
+                21: '部分收款待发货',
+                22: '部分收款部分发货',
+                23: '部分收款已发货',
+                31: '已收款待发货',
+                32: '已收款部分发货',
+                33: '已收款已发货'
+            }
+            return map[value]
+        },
     },
     methods:{
-        toPagination: function (pageNum) {
-            if (pageNum <= this.pageTotal) {
-                this.params.pageNum = pageNum;
-                this.MyOrderList(this.params);
+        picValidator(rule, value, callback){
+            if (!this.chengeOrder.amount) {
+                callback(new Error('请输入本次收款金额'))
+            } else if (this.chengeOrder.amount > this.SubtrAount(this.handleOrder.needPayAmount, this.handleOrder.receiptAmount) * 1) {
+                callback(new Error('本次收款金额不能大于未收金额'))
+            } else {
+                callback()
             }
         },
-         checkNum: function () {
-            if (this.pageInput > this.pageTotal) {
-                this.pageInput = this.pageTotal;
-            } else if (this.pageInput < 1) {
-                this.pageInput = 1;
-            }
+        //切换页码
+        handleCurrentChange(val){
+            this.listQuery.pageNum = val;
+            this.getList();
         },
-        MyOrderList:function () {
-           var _self = this;
-            SupplierApi.MyOrderList(_self.params,function (response) {
-                if(response.code==0){
+        getList () {
+            const _self = this;
+            SupplierApi.shopOrderList(_self.listQuery,function (response) {
+                if(response.code===0){
                     var data = response.data
-                    _self.isRequset = false;
                      if(data.list.length > 0){
                          _self.results = data.list;
-                         _self.listRecord = data.total;
-                     }else {
-                         _self.results = data.list;
-                         _self.listRecord = data.total;
+                         _self.total = data.total;
+                     }else{
+                         _self.results = [];
                      }
-                }else{
+                }
+                else{
                     CAIMEI.Alert(response.msg, '确定', false);
                 }
             })
         },
-        getpayStatus:function () { //结算状态
-            var _this = this;
-            if(event.target.value==0){
-                _this.params.payStatus = '';
-            }else {
-                _this.params.payStatus = event.target.value;
-            }
-        },
-        getstatus:function () { //发货状态
-          var _this = this;
-            if(event.target.value==0){
-             _this.params.sendOutStatus='';
-            }else {
-             _this.params.sendOutStatus=event.target.value;
-            }
+        // 确认收款金额
+        handeleDialogFormVisible(order) {
+            this.handleOrder = order
+            this.chengeOrder.shopOrderId = order.shopOrderId
+            this.dialogFormVisible = true
         },
-        serchBtn:function () {
-            var _this=this;
-                _this.MyOrderList()
-        },
-        delivery:function (orderId) {//发货
-            window.location.href='/supplier/order/delivery.html?shopOrderId='+orderId;
+        // 确认本次收款金额
+        handleChangOrder() {
+            this.$refs['dataForm'].validate(valid => {
+                if (valid) {
+                    this.orderCheckReceipt()
+                } else {
+                    return false
+                }
+            })
         },
-        record:function (shopOrderId) {//发货记录
-            window.location.href = '/supplier/order/delivery_record.html?shopOrderId='+shopOrderId;
+        orderCheckReceipt(){
+            const _self = this;
+            SupplierApi.checkeReceipt(this.chengeOrder,function (response) {
+                if(response.code===0){
+                    CAIMEI.dialog('收款成功',true,function () {
+                        _self.dialogFormVisible = false
+                        _self.getList()
+                    })
+                }else{
+                    CAIMEI.Alert(response.msg, '确定', false);
+                }
+            })
         },
-        Checklist:function (shopOrderId) {//售货清单
-             window.open('/supplier/order/sales.html?shopOrderId='+shopOrderId)
+        // 按钮操作
+        handeleDropdown(type, shopOrderId) {
+            switch (type) {
+                case 1:// 发货
+                    window.location.href='/supplier/order/delivery.html?shopOrderId='+shopOrderId;
+                    break
+                case 2:// 发货记录
+                    window.location.href = '/supplier/order/delivery_record.html?shopOrderId='+shopOrderId;
+                    break
+                case 3:// 发起退款
+                    window.location.href = '/supplier/order/order-return.html?shopOrderId='+shopOrderId;
+                    break
+                case 4:// 订单备注
+                    window.location.href = '/supplier/order/remarks-details.html?shopOrderId='+shopOrderId;
+                    break
+                case 5:// 售货清单
+                    window.open('/supplier/order/sales.html?shopOrderId='+shopOrderId)
+                    break
+                case 6:// 上传线下支付凭证
+                    window.location.href = '/supplier/order/remarks-pay.html?shopOrderId='+shopOrderId;
+                    break
+                case 7:// 修改订单
+                    window.location.href = '/supplier/order/order-edit.html?shopOrderId='+shopOrderId;
+                    break
+            }
         },
-        seedetail:function (shopOrderId) {
+        //订单详情
+        handleDetail (shopOrderId) {
             window.location.href = '/supplier/order/detail.html?shopOrderId='+shopOrderId;
         },
+        SubtrAount(arg1, arg2) {
+            var r1, r2, m, n
+            try {
+                r1 = arg1.toString().split('.')[1].length
+            } catch (e) {
+                r1 = 0
+            }
+            try {
+                r2 = arg2.toString().split('.')[1].length
+            } catch (e) {
+                r2 = 0
+            }
+            m = Math.pow(10, Math.max(r1, r2))
+            n = (r1 >= r2) ? r1 : r2
+            return ((arg1 * m - arg2 * m) / m).toFixed(n)
+        },
     },
     mounted:function () {
-        var _self = this;
         if(globalUserData){
-            _self.params.shopId = globalUserData.shopId;
+            this.listQuery.shopId = globalUserData.shopId;
         }
-       _self.MyOrderList();
         if(isPC){
-            _self.open=true;
-        }
-         if(!isPC){
-            //移动端上垃加载更多
-            $(window).on('scroll', function(){
-                var scrollTop = $(this).scrollTop();
-                var scrollHeight = $(document).height();
-                var windowHeight = window.innerHeight;
-                if (scrollTop + windowHeight >= scrollHeight) {
-                    //此处是滚动条到底部时候触发的事件,在这里写要加载的数据,或者是拉动滚动条的操作
-                    var totalPage = Math.ceil(_self.listRecord / _self.params.pageSize)?Math.ceil(_self.listRecord / _self.params.pageSize):1;
-                    var next = _self.params.pageNum+1;
-                    if(next <= totalPage){
-                        if (_self.requestFlag){
-                            _self.params.pageNum = next;
-                            if (_self.isRequset) {
-                                // 获取列表数据
-                                _self.MyOrderList();
-                            }
-                        }
-                        _self.requestFlag = false;
-                    }else{
-                        //到底了
-                        _self.noMore = true;
-                        $('footer').removeClass("noneImportant");
-                    }
-                }
-            });
+            this.layout ='total, prev, pager, next, jumper';
+        }else{
+            this.layout ='total, prev, pager, next';
         }
-     $('.navLayout').find('.navList').removeClass("on").find('.con').hide().find('a').removeClass("on");
-     $('.navLayout').find('.navList').eq(0).addClass("on").find('.con').show().find('a').eq(0).addClass("on");
+        this.getList();
+        $('.navLayout').find('.navList').removeClass("on").find('.con').hide().find('a').removeClass("on");
+        $('.navLayout').find('.navList').eq(0).addClass("on").find('.con').show().find('a').eq(0).addClass("on");
     }
 })

+ 64 - 0
src/main/resources/static/js/supplier-center/order/remarks-add-pay.js

@@ -0,0 +1,64 @@
+;
+var Voucher = new Vue({
+    el:'#Voucher',
+    mixins: [cmSysVitaMixins],
+    data(){
+        return{
+            userInfo:{},
+            imgList:[],
+            formData:new FormData(),
+            txtVal: 0,
+            desc:'',
+            kdlist:[],
+            params:{
+                id: 0,
+                shopOrderId: 0, //子订单Id
+                remarks: '', 	// 备注
+                voucherImgs: ''// 备注图片
+            },
+            select:'',
+            electShow:false,
+        }
+    },
+    computed: {
+        disabled() {
+            return !(this.imgList.length > 0)
+        }
+    },
+    methods:{
+        bigImage:function(){
+            var viewer = new Viewer(document.getElementById('uploadGoodsImages'));
+        },
+        uploadGoodsImagesFn: function(event){//上传商品图片
+            const _this = this;
+            var inputDOM = _this.$refs.goodsImages;
+            var file = inputDOM.files;
+            _this.formData.append('file', file[0]);
+            PublicApi.uploadimg(_this.formData,function(response){
+                _this.imgList.push(response.data);
+                event.target.value = '';
+            });
+        },
+        removeGoodsImagesFn(index){//删除商品图片
+            this.imgList.splice(index,1)
+        },
+        // 保存
+        handleSave(){
+            const _self = this
+            console.log('params',this.params);
+            this.params.voucherImgs = this.imgList.join('##')
+            SupplierApi.orderInsertVoucher(this.params,function (response) {
+                if(response.code === 0) {
+                    CAIMEI.dialog('保存成功',true,function () {
+                        window.location.href='/supplier/order/detail.html?shopOrderId='+_self.params.shopOrderId;
+                    })
+                }else {
+                    CAIMEI.Alert(response.msg,'确定',false);
+                }
+            })
+        }
+    },
+    mounted:function () {
+        this.params.shopOrderId = CAIMEI.getUrlParam('shopOrderId');
+    }
+})

+ 125 - 0
src/main/resources/static/js/supplier-center/order/remarks-add.js

@@ -0,0 +1,125 @@
+;
+var Voucher = new Vue({
+    el:'#Voucher',
+    mixins: [cmSysVitaMixins],
+    data(){
+        return{
+            imgList:[],
+            formData:new FormData(),
+            params: {
+                images: [], // 发货图片备注
+                remarks: '',
+                ossFiles: [],
+                shopOrderId: ''
+            },
+            fileImageList: [], // 上传图片列表
+            fileList: [], // 上传文件列表
+            rules: {
+                remarks: [{required: true,message: '请输入备注信息',trigger: 'blur'}]
+            },
+            hideImg: false, // 上传图片隐藏
+            hideFile: false // 上传文件隐藏
+        }
+    },
+    computed: {
+        getToken(){
+            return {
+                'token': globalUserData.token
+            }
+        },
+        fileUrl() {
+            const NODE_ENV_BASE_URL = $("#coreServer").val();
+            return `${NODE_ENV_BASE_URL}/order/shop/upload/remark`
+        },
+        actionUrl() {
+            const NODE_ENV_BASE_URL = $("#coreServer").val();
+            return `${NODE_ENV_BASE_URL}/tools/image/upload/multi`
+        }
+    },
+    methods:{
+        //图片格式
+        isImage(file) {
+            return file.type === 'image/png' ||
+                file.type === 'image/jpeg' ||
+                file.type === 'image/jpg' ||
+                file.type === 'image/webp'
+        },
+        // 上传图片事件
+        handleSuccess(res, file, fileList) {
+            this.params.images.push(res.data)
+            this.handleChange()
+        },
+        // 上传文件
+        handleFileSuccess(res, file, fileList) {
+            this.params.ossFiles.push(res.data.ossFiles)
+            this.handleFileChange()
+        },
+        // 删除图片事件
+        handleRemove(file, fileList) {
+            this.params.images = fileList.map(e => e.response.data)
+            this.handleChange()
+        },
+        // 删除文件
+        handlerFileRemove(file, fileList) {
+            this.params.ossFiles = fileList.map(e => e.response.data.ossFiles)
+            this.handleFileChange()
+        },
+        // 文件限制
+        beforeUploadImg(file) {
+            const isUpload = file.size / 1024 / 1024 < 5
+            if (this.isImage(file)) {
+                if (isUpload) {
+                    return true
+                } else {
+                    this.$message.error('文件过大,请重新上传!')
+                    return false
+                }
+            } else {
+                this.$message.error('请上传jgp,jpeg,png格式的图片!')
+                return false
+            }
+        },
+        beforeUploadFile(file) {
+            const whiteList = ['pdf', 'doc', 'docx', 'xlsx']
+            const isUpload = file.size / 1024 / 1024 < 5
+            if (whiteList.indexOf(file.name.substring(file.name.lastIndexOf('.') + 1)) === -1) {
+                this.$message.error('请上传 pdf、doc、docx、xlsx格式的文件!')
+                return false
+            }
+            if (isUpload) {
+                return true
+            } else {
+                this.$message.error('文件过大,请重新上传!')
+                return false
+            }
+        },
+        // 文件数量判断
+        handleChange(file, fileList) {
+            this.hideImg = this.params.images.length >= 5
+        },
+        // 文件数量判断
+        handleFileChange(file, fileList) {
+            this.hideFile = this.params.ossFiles.length >= 5
+        },
+        // 保存
+        handleSave(formName){
+            const _this = this;
+            this.$refs[formName].validate(async valid => {
+                if (valid) {
+                    SupplierApi.addRemark(JSON.stringify(_this.params),function (response) {
+                        if(response.code === 0) {
+                            CAIMEI.dialog('保存备注成功',true,function () {
+                                window.location.href = '/supplier/order/remarks-details.html?shopOrderId='+_this.params.shopOrderId;
+                            })
+                        }else {
+                            CAIMEI.Alert(response.msg,'确定',false);
+                        }
+                    })
+                }
+            })
+        }
+    },
+    mounted () {
+        this.params.shopOrderId = CAIMEI.getUrlParam('shopOrderId');
+    }
+})

+ 58 - 0
src/main/resources/static/js/supplier-center/order/remarks-details.js

@@ -0,0 +1,58 @@
+;
+var Voucher = new Vue({
+    el:'#Voucher',
+    data(){
+        return{
+            shopOrderId:0,
+            remarksList:[]
+        }
+    },
+    computed: {
+
+    },
+    methods:{
+        getDetails(){
+            const _self = this;
+            SupplierApi.remarksView({shopOrderId: this.shopOrderId}, function (response) {//列表初始化
+                if (response.code === 0) {
+                    _self.remarksList = response.data
+                   console.log('data',_self.remarksList)
+                }
+            })
+        },
+        //跳转添加备注
+        handleSaveRemark () {
+            window.location.href = '/supplier/order/remarks-add.html?shopOrderId='+this.shopOrderId;
+        },
+        //文件下载
+        handlerDownload(file){
+            const NODE_ENV_BASE_URL = $("#coreServer").val();
+            const xhr = new XMLHttpRequest();
+            xhr.open('POST', `${NODE_ENV_BASE_URL}/order/shop/download/remark`, true);     // 请求方式,看具体接口情况决定
+            xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); // 内容类型,看具体接口情况决定
+            xhr.withCredentials = true;
+            xhr.responseType = "blob";  // 返回类型blob
+            // 发送ajax请求
+            xhr.send(`fileId=${file.id}`); // 数据格式,看具体接口情况决定
+            // 定义请求完成的处理函数,请求前也可以增加加载框/禁用下载按钮逻辑
+            xhr.onload = function () {
+                // 请求完成
+                if (this.status === 200) {
+                    // 返回200
+                    let blob = this.response;
+                    const link = document.createElement('a')
+                    link.href = URL.createObjectURL(blob)
+                    link.download = file.name
+                    document.body.appendChild(link)
+                    link.click()
+                    document.body.removeChild(link)
+                }
+            };
+            xhr.onerror = function() {alert("下载失败")};
+        }
+    },
+    mounted:function () {
+        this.shopOrderId = CAIMEI.getUrlParam('shopOrderId');
+        this.getDetails()
+    }
+})

+ 65 - 89
src/main/resources/static/js/supplier-center/order/settlement.js

@@ -1,40 +1,24 @@
-;
 var settlement = new Vue({
     el:'#settlement',
     mixins: [cmSysVitaMixins],
     data:{
-        params:{
+        listQuery:{
             shopId:'',
             pageNum: 1,
             pageSize: 10,
             shopOrderNo:'',
             name: '',
             payStatus:'',
+            beginTime:'',
+            endTime:''
         },
+        listLoading: true,
         list:[],
-        pageInput: '1',
-        listRecord: 0,
-        noMore:false,
-        },
-     computed: {
-        pageTotal: function () {
-            var total = Math.ceil(this.listRecord / this.params.pageSize);
-            return total > 0 ? total : 1;
-        },
-        showPageBtn: function () {
-            var total = Math.ceil(this.listRecord / this.params.pageSize);
-            total = total > 0 ? total : 1;
-            var index = this.params.pageNum, arr = [];
-            if (total <= 6) {
-                for (var i = 1; i <= total; i++) {
-                    arr.push(i);
-                }
-                return arr;
-            }
-            if (index <= 3) return [1, 2, 3, 4, 5, 0, total];
-            if (index >= total - 2) return [1, 0, total - 4, total - 3, total - 2, total - 1, total];
-            return [1, 0, index - 2, index - 1, index, index + 1, index + 2, 0, total];
-        }
+        total:0,
+        layout: 'total, sizes, prev, pager, next, jumper',
+    },
+    computed: {
+
     },
     filters: {
         NumFormat: function (text) {//处理金额
@@ -51,80 +35,72 @@ var settlement = new Vue({
         }
     },
     methods:{
-         toPagination: function (pageNum) {
-            if (pageNum <= this.pageTotal) {
-                this.params.pageNum = pageNum;
-                this.settlementList(this.params);
-            }
+        handleCurrentChange(val){
+            this.listQuery.pageNum = val;
+            this.getList();
         },
-        checkNum: function () {
-            if (this.pageInput > this.pageTotal) {
-                this.pageInput = this.pageTotal;
-            } else if (this.pageInput < 1) {
-                this.pageInput = 1;
-            }
+        downloadExportExcel(){
+            const _this = this;
+            const NODE_ENV_BASE_URL = $("#coreServer").val();
+            const xhr = new XMLHttpRequest();
+            xhr.open('POST', `${NODE_ENV_BASE_URL}/order/shop/exportExcel`, true);     // 请求方式,看具体接口情况决定
+            xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');  // 内容类型,看具体接口情况决定
+            xhr.withCredentials = true;
+            xhr.responseType = "blob";  // 返回类型blob
+            // 发送ajax请求
+            xhr.send(`shopId=${this.listQuery.shopId}&pageNum=${this.listQuery.pageNum}&pageSize=${this.listQuery.pageSize}&shopOrderNo=${this.listQuery.shopOrderNo}&name=${this.listQuery.name}&payStatus=${this.listQuery.payStatus}&beginTime=${this.listQuery.beginTime}&endTime=${this.listQuery.endTime}`); // 数据格式,看具体接口情况决定
+            // 定义请求完成的处理函数,请求前也可以增加加载框/禁用下载按钮逻辑
+            xhr.onload = function () {
+                // 请求完成
+                if (this.status === 200) {
+                    // 返回200
+                    let blob = this.response;
+                    const link = document.createElement('a')
+                    link.href = URL.createObjectURL(blob)
+                    link.download =`采美结算列表${_this.getNowDate()}.xlsx`
+                    document.body.appendChild(link)
+                    link.click()
+                    document.body.removeChild(link)
+                }
+            };
+            xhr.onerror = function() {alert("下载失败")};
+        },
+        getNowDate() {
+            const timeOne = new Date()
+            const year = timeOne.getFullYear()
+            let month = timeOne.getMonth() + 1
+            let day = timeOne.getDate()
+            month = month < 10 ? '0' + month : month
+            day = day < 10 ? '0' + day : day
+            return `${year}${month}${day}`
         },
-        settlementList:function () {//获取结算列表数据
-            var _this = this;
-            SupplierApi.settlementList(_this.params,function (response) {
-                if(response.code==0){
-                    var data = response.data;
-                    if( data.list && data.list.length>0 ){
-                        _this.list = data.list;
-                        _this.listRecord = data.total;
-                    }else {
-                        _this.list = data.list;
-                        _this.listRecord = data.total;
-                    }
-                    _this.requestFlag = true;
+        getList () {//获取结算列表数据
+            const _this = this;
+            SupplierApi.settlementList(_this.listQuery,function (response) {
+                if(response.code===0){
+                    const data = response.data;
+                    _this.list = data.list;
+                    _this.total = data.total;
+                    _this.listLoading = false
                 }else{
+                    _this.listLoading = false
                     CAIMEI.Alert(response.msg, '确定', false);
                 }
             })
         },
-        getstatus:function () { //状态
-            var _this = this;
-             _this.params.payStatus=event.target.value;
-        },
-        serchBtn:function () {
-        console.log(this.params)
-           this.settlementList()
-        }
     },
     mounted:function () {
-        var _self= this;
         if(globalUserData){
-              _self.params.shopId = globalUserData.shopId;
-            }
-        _self.settlementList();
-            if(!isPC){
-            //移动端上垃加载更多
-            $(window).on('scroll', function(){
-                var scrollTop = $(this).scrollTop();
-                var scrollHeight = $(document).height();
-                var windowHeight = window.innerHeight;
-                if (scrollTop + windowHeight >= scrollHeight) {
-                    //此处是滚动条到底部时候触发的事件,在这里写要加载的数据,或者是拉动滚动条的操作
-                    var totalPage = Math.ceil(_self.listRecord / _self.params.pageSize)?Math.ceil(_self.listRecord / _self.params.pageSize):1;
-                    var next = _self.params.pageNum+1;
-                    if(next <= totalPage){
-                        if (_self.requestFlag){
-                            _self.params.pageNum = next;
-                            if (_self.isRequset) {
-                                // 获取列表数据
-                                _self.settlementList();
-                            }
-                        }
-                        _self.requestFlag = false;
-                    }else{
-                        //到底了
-                        _self.noMore = true;
-                        $('footer').removeClass("noneImportant");
-                    }
-                }
-            });
+            this.listQuery.shopId = globalUserData.shopId;
+        }
+        if(isPC){
+            this.layout ='total, prev, pager, next, jumper';
+        }else{
+            this.layout ='total, prev, pager, next';
         }
-     $('.navLayout').find('.navList').removeClass("on").find('.con').hide().find('a').removeClass("on");
-     $('.navLayout').find('.navList').eq(0).addClass("on").find('.con').show().find('a').eq(1).addClass("on");
+        this.getList();
+        $('.navLayout').find('.navList').removeClass("on").find('.con').hide().find('a').removeClass("on");
+        $('.navLayout').find('.navList').eq(0).addClass("on").find('.con').show().find('a').eq(1).addClass("on");
+
     }
 })

+ 129 - 368
src/main/resources/static/js/supplier-center/shop/goods.js

@@ -1,16 +1,10 @@
-;
 var myGoods = new Vue({
     el:"#myGoods",
     mixins: [cmSysVitaMixins],
     data: {
         userId:0,
         shopId:'',
-        userIdentity:'',
-        isSelectActive:0,
-        isRequest:false,
         listRecord: 0,
-        pageInput: '',
-        tabIndex:1,
         featuredNum:'',//主图商品标志
         listQuery:{
             shopId:'',
@@ -21,25 +15,27 @@ var myGoods = new Vue({
             showFlag:'',// 新品展示状态
             validFlag:'',//状态
             featuredFlag:'',//是否主推
-            commodityType:0,//商品属性
-            bigTypeId:0,//一级
-            smallTypeId:0,//二级
-            tinyTypeId:0//三级
+            commodityType:'',//商品属性
+            bigTypeId:'',//一级
+            smallTypeId:'',//二级
+            tinyTypeId:'',//三级
+            groundMall:'' // 上架平台
         },
         classificationFirstList:[],
         classificationTwoList:[],
         classificationThreeList:[],
         productsList:[],
-        checkList:[],
-        productIds:'',
-        isProductChecked:false,
-        isCheckedAll:false,
-        noMore:false,
-        check:false,
-        isForbid:false
+        total:0,
+        layout: '',
+        isForbid:false,
+        listLoading:true,
+        productRadio:[],
+        handlePros:{},
+        dialogFormVisible:false,
+        groundMallType:0,
     },
     filters: {
-        newvalidFlagFilters: function(value) {
+        newvalidFlagFilters(value) {
             //新品展示状态
             const map = {
                 0: '待审核',
@@ -53,104 +49,68 @@ var myGoods = new Vue({
         }
     },
     computed: {
-        pageTotal: function () {
-            var total = Math.ceil(this.listRecord / this.listQuery.pageSize);
-            return total > 0 ? total : 1;
-        },
-        showPageBtn: function () {
-            var total = Math.ceil(this.listRecord / this.listQuery.pageSize);
-            total = total > 0 ? total : 1;
-            var index = this.listQuery.pageNum, arr = [];
-            if (total <= 6) {
-                for (var i = 1; i <= total; i++) {
-                    arr.push(i);
-                }
-                return arr;
-            }
-            if (index <= 3) return [1, 2, 3, 4, 5, 0, total];
-            if (index >= total - 2) return [1, 0, total - 4, total - 3, total - 2, total - 1, total];
-            return [1, 0, index - 2, index - 1, index, index + 1, index + 2, 0, total];
+        disabled() {
+            return !this.productRadio.length > 0
         }
     },
     methods: {
-     toggleThisLadder: function(event){
-            var el = event.currentTarget;
-            if($(el).hasClass("on")){
-                $(el).removeClass("on").siblings('.mFixed').hide();
-                if(!isPC){looseBody();}
-            }else{
-                $(el).addClass("on").siblings('.mFixed').show();
-                if(!isPC){fixedBody();}
-            }
-         },
-     hideThisLadder: function(event){
-            var el = event.currentTarget;
-            $(el).parents('.priceTag').find('.tag').removeClass("on").siblings('.mFixed').hide();
-            if(!isPC){looseBody();}
-     },
-     GetMyproductDataInfo: function(){//我的商品数据初始化
-            var _this = this;
-            // _this.returnedTarget();
+        //切换页码
+        handleCurrentChange(val){
+            this.listQuery.pageNum = val;
+            this.getList();
+        },
+        // 多选商品
+        handleSelectionChange(row) {
+            if(this.isForbid){ return }
+            this.productRadio = row
+            console.log('row', row)
+        },
+        getList(){//我的商品数据初始化
+            const _this = this;
             SupplierApi.GetMyProductList(_this.listQuery,function(response){
-                if(response.code == 0){
-                    _this.isRequest = true;
-                    _this.featuredNum = response.data.featuredNum;
-                    _this.isForbid = response.data.listingFee === 1 ? true : false
-                    var data = response.data.productPage;
-                    if(data.results && data.results.length>0){
-                        _this.productsList = data.results;
-                        _this.listRecord = data.totalRecord;
-                        var NewProduct = [],isAddFeatured=false;
-                        _this.productsList.map(function(el){
-                            if(_this.featuredNum<4){
-                                if(el.validFlag == 2 && el.featuredFlag == 0 ){
-                                    isAddFeatured = true;
-                                }else{
-                                    isAddFeatured = false;
-                                }
+                if(response.code === 0){
+                    const data  = response.data
+                    let page = data.productPage;
+                    _this.featuredNum = data.featuredNum;
+                    _this.isForbid = data.listingFee === 1
+                    _this.productsList = page.results.map(function(el){
+                        el.isAddFeatured = false;
+                        el.isDelFeatured = false;
+                        if(_this.featuredNum<4){
+                            if(el.validFlag === 2 && el.featuredFlag === 0 ){
+                                el.isAddFeatured = true;
                             }
-                            if(el.validFlag == 2 && el.featuredFlag == 1 ){
-                                isDelFeatured = true;
-                            }else{
-                                isDelFeatured = false;
+                            if (el.validFlag === 2 && el.featuredFlag === 1) {
+                                el.isDelFeatured = true;
                             }
-                            _this.returnedTarget();
-                            NewProduct.push(Object.assign({},el,{isAddFeatured:isAddFeatured,isDelFeatured:isDelFeatured}))
-                        });
-                        _this.productsList = NewProduct;
-                        console.log(_this.productsList)
-                    }else{
-                        _this.productsList = data.results;
-                        _this.listRecord = data.totalRecord;
-                    }
+                        }
+                        return el
+                    })
+                    _this.total = page.totalRecord;
+                    _this.listLoading = false
                 }else{
                     CAIMEI.Alert(response.msg, '确定');
+                    _this.listLoading = false
                 }
             })
         },
-        touchmoveFn: function(){
-            this.isSelectActive=0;
+        handleCommodityType(event){//选择商品属性
+            console.log('event',event)
+            console.log('event',this.listQuery.commodityType)
+            this.GetFistClassFn(this.listQuery.commodityType);
         },
-        SelectChangeCommodityType:function(){//选择商品属性
-            var _this = this;
-            _this.listQuery.commodityType =event.target.value;
-            console.log('commodityType',_this.listQuery.commodityType);
-            _this.GetFistClassFn(_this.listQuery.commodityType);
+        handeleChangeFirst(event){//选择一级分类
+            console.log('event',event)
+            console.log('event',this.listQuery.bigTypeId)
+            this.GetTwoClassFn(this.listQuery.bigTypeId);
         },
-        SelectChangeStateFn: function(){//选择状态
-            var _this = this;
-            _this.listQuery.validFlag =event.target.value;
-        },
-        SelectChangeNewvalidFlagFn: function(){//选择状态
-            var _this = this;
-            _this.listQuery.showFlag =event.target.value;
+        handeleChangeTwo(event){//选择二级分类
+            console.log('event',event)
+            console.log('event',this.listQuery.smallTypeId)
+            this.GetThreeClassFn(this.listQuery.smallTypeId);
         },
-        SelectChangeInsideFn: function(){//选择主推
-            var _this = this;
-            _this.listQuery.featuredFlag =event.target.value;
-        },
-        GetFistClassFn: function(value){//获取一级分类菜单
-            var _this = this;
+        GetFistClassFn(value){//获取一级分类菜单
+            const _this = this;
             PublicApi.GetFirstClassFication({typeSort:value},function (response) {
                 if(response.data.length>0){
                      _this.classificationFirstList = response.data;
@@ -159,10 +119,10 @@ var myGoods = new Vue({
                 }
             })
         },
-        GetTwoClassFn: function(value){//获取二级分类菜单
-            var _this = this;
+        GetTwoClassFn(value){//获取二级分类菜单
+            const _this = this;
             PublicApi.GetTwoClassFication({bigTypeId:value},function (response) {
-                if(response.code==0){
+                if(response.code===0){
                     if(response.data.length>0){
                         _this.classificationTwoList = response.data;
                      }else {
@@ -171,10 +131,10 @@ var myGoods = new Vue({
                 }
             })
         },
-        GetThreeClassFn: function(value){//获取三级分类菜单
-            var _this = this;
+        GetThreeClassFn(value){//获取三级分类菜单
+            const _this = this;
             PublicApi.GetThreeClassFication({smallTypeId:value},function (response) {
-                if(response.code==0){
+                if(response.code===0){
                   if(response.data.length>0){
                         _this.classificationThreeList = response.data;
                   }else {
@@ -183,106 +143,61 @@ var myGoods = new Vue({
                 }
             })
         },
-        ChangeClassificationFirst: function(){//选择一级分类
-            var _this = this;
-            _this.listQuery.bigTypeId = event.target.value;
-            if(_this.listQuery.bigTypeId == ''){
-                _this.listQuery.bigTypeId = '';
-            }else{
-                _this.GetTwoClassFn(_this.listQuery.bigTypeId);
-            }
-        },
-        ChangeClassificationTwo: function(){//选择二级分类
-            var _this = this;
-             _this.listQuery.smallTypeId = event.target.value;
-            if(_this.listQuery.smallTypeId == ''){
-                _this.listQuery.smallTypeId = '';
-
-            }else{
-                _this.GetThreeClassFn(_this.listQuery.smallTypeId);
-            }
-        },
-        ChangeClassificationThree: function(){//选择三级分类
-            var _this = this;
-             _this.listQuery.tinyTypeId = event.target.value;
-            if(_this.listQuery.tinyTypeId == ''){
-                _this.listQuery.tinyTypeId = '';
-            }else{
-            }
-        },
-        SearchQueryListFn: function(){//搜索
-            var _this = this;
-            _this.GetMyproductDataInfo();
-        },
-        checkNum : function() {
-            var _this = this;
-            if (_this.pageInput > _this.pageTotal) {
-                _this.pageInput = _this.pageTotal;
-            } else if (_this.pageInput < 1) {
-                _this.pageInput = 1;
-            }
-        },
-        toPagination : function(pageNum) {
-            var _this = this;
-            _this.productsList = [];
-            if (pageNum <= this.pageTotal) {
-                _this.listQuery.pageNum = pageNum;
-                _this.GetMyproductDataInfo()
-            }
-        },
-        ItemDownshelfAll: function(){//批量下架
-            var _this = this;
-            var isValidFlag = false;
-            var checkedArray = [];
-            _this.productIds = '';
-            if(_this.isProductChecked){
-                _this.productsList.forEach(function(el){
-                    if(el.isChecked) {
-                        checkedArray.push(el)
-                    }
-                });
-                checkedArray.forEach(function(el){
-                    if(el.validFlag == 2){
-                        _this.productIds += el.productId+','
-                    }
-                    if(el.validFlag != 2){
-                        isValidFlag = true;
-                    }
-                });
-                if(isValidFlag){
-                    CAIMEI.Alert('部分选中的商品暂未上架,不能进行下架操作','确定');
-                    return;
+        handleDownshelfAll(){//批量下架
+            const _this = this;
+            let isValidFlag = false;
+            let productIds = '';
+            _this.productRadio.forEach(function(el){
+                if(el.validFlag === 2){
+                    productIds += el.productId+','
                 }
-                CAIMEI.Modal('确定下架选中的商品吗?','取消','确定',function () {
-                    SupplierApi.SupplierSoldOut({productIds: _this.productIds,},function (response) {
-                        if (response.code == 0){
-                            CAIMEI.dialog('下架成功!');
-                            _this.productsList = [];
-                            _this.productIds = '';
-                            _this.GetMyproductDataInfo();
-                        }else{
-                            CAIMEI.Alert(response.msg,'确定');
-                        }
-                    })
-                })
+                if(el.validFlag !== 2){
+                    isValidFlag = true;
+                }
+            });
+            if(isValidFlag){
+                CAIMEI.Alert('部分选中的商品暂未上架,不能进行下架操作','确定');
+                return;
             }
-        },
-        ItemDownshelf: function(pros){//下架商品
-            var _this = this;
-            if(this.isForbid){ return }
-            CAIMEI.Modal('确定下架该商品吗?','取消','确定',function () {
-                SupplierApi.SupplierSoldOut({productIds:pros.productId},function (response) {
-                    if (response.code == 0){
-                        CAIMEI.dialog('下架成功~');
-                        _this.productsList = [];
-                        _this.GetMyproductDataInfo();
+            CAIMEI.Modal('批量下架会将选中的商品在全部平台进行下架,确定操作吗?','取消','确定',function () {
+                SupplierApi.SupplierSoldOut({productIds: productIds,},function (response) {
+                    if (response.code === 0){
+                        CAIMEI.dialog('下架成功!');
+                        _this.getList();
                     }else{
                         CAIMEI.Alert(response.msg,'确定');
                     }
                 })
             })
         },
-        AddPushHotFn: function(pros){//添加主页推荐
+        // 操作下架商品
+        handleDownshelf(pros){
+            if(this.isForbid){ return }
+            this.dialogFormVisible = true
+            this.handlePros = pros
+            if(this.handlePros.groundMall === '0'){
+                this.groundMallType = 1
+            }else if(this.handlePros.groundMall === '4'){
+                this.groundMallType = 2
+            }else{
+                this.groundMallType = 0
+            }
+        },
+        // 下架商品
+        handleConfirmShelf(){
+            const _this = this
+            SupplierApi.SupplierSoldOut({productIds:this.handlePros.productId,groundMallType:this.groundMallType},function (response) {
+                if (response.code === 0){
+                    _this.dialogFormVisible = false
+                    CAIMEI.dialog('下架成功~');
+                    _this.getList();
+                }else{
+                    _this.dialogFormVisible = false
+                    CAIMEI.Alert(response.msg,'确定');
+                }
+            })
+        },
+        handlePushHot(pros){//添加主页推荐
             var _this = this;
             var num = 4-this.featuredNum;
             if(this.isForbid){ return }
@@ -291,14 +206,14 @@ var myGoods = new Vue({
                     if (response.code == 0){
                         CAIMEI.dialog('添加成功~');
                         _this.productsList = [];
-                        _this.GetMyproductDataInfo();
+                        _this.getList();
                     }else{
                         CAIMEI.Alert(response.msg,'确定');
                     }
                 })
             })
         },
-        DeletePushHotFn: function(pros){//删除主页推荐
+        handleDeleteHot(pros){//删除主页推荐
             var _this = this;
             if(this.isForbid){ return }
             CAIMEI.Modal('是否把该商品从主推商品中删除?','取消','确定',function () {
@@ -306,190 +221,36 @@ var myGoods = new Vue({
                     if (response.code == 0){
                         CAIMEI.dialog('删除成功~');
                         _this.productsList = [];
-                        _this.GetMyproductDataInfo();
+                        _this.getList();
                     }else{
                         CAIMEI.Alert(response.msg,'确定');
                     }
                 })
             })
         },
-        pageLinkDetils: function(pros){//预览商品
+        handlePreview(pros){//预览商品
             if(this.isForbid){ return }
             window.open('/product-'+pros.productId+'.html');
         },
-        editGoodFn: function(pros){//编辑商品
+        handleEdit(pros){//编辑商品
             if(this.isForbid){ return }
             location.href ='/supplier/release.html?productId='+pros.productId+'&type=edit';
         },
-        ischeck: function(pros){//为未选中的时候改变为true,反之为true
-            var _this = this;
-            if(this.isForbid){ return }
-            pros.isChecked = !pros.isChecked;
-            if(pros.isChecked){
-                _this.checkList.push(pros);
-            }else {
-                _this.checkList.splice(_this.checkList.indexOf(pros), 1);
-            };
-            if( _this.checkList.length>0){
-                _this.check = true;
-                _this.isProductChecked = true;
-            } else {
-                _this.isProductChecked = false;
-                _this.check = false;
-            }
-
-            _this.updateCheckAllBtn();
-        },
-        updateCheckAllBtn: function() {// 全选勾选判断
-            var _this = this;
-            var goodsCheckedLength = 0,
-                productsList = _this.productsList;
-            productsList.forEach(function(el){
-                if(el.isChecked) { goodsCheckedLength++; }
-            });
-            _this.isCheckedAll = goodsCheckedLength === productsList.length;
-        },
-        updateBothCheckBtn: function() {
-            var _this = this;
-            _this.productsList.forEach(function(el){
-                el.isChecked = _this.isCheckedAll ;
-            })
-
-        },
-        checkedAll: function() {
-            var _this = this;
-            if(this.isForbid){ return }
-            _this.isCheckedAll = !_this.isCheckedAll;
-            if(_this.isCheckedAll){
-                _this.isProductChecked = true
-            }else{
-                _this.isProductChecked = false
-            }
-            _this.updateBothCheckBtn();
-        },
-        toFixedFn: function(text){
+        toFixedFn(text){
             return Number(text).toFixed(2);
-        },
-        StatusColorFn: function(state){
-            var stateColor = '',
-                stateColorObject={
-                    2:'#1890f9',
-                    1:'#f9a94b',
-                    0:'#FFB12A',
-                    3:'#627386',
-                    8:'#FF2A2A',
-                    9:'#f94b4b'
-                };
-            Object.keys(stateColorObject).forEach(function(key){
-                if(key == state){
-                    stateColor = stateColorObject[key]
-                }
-            });
-            return stateColor;
-        },
-        showFlagColorFn: function(state){
-            var stateColor = '',
-                stateColorObject={
-                    1: '#1890f9',
-                    2: '#FF2A2A',
-                    3: '#f9a94b',
-                    4: '#FF2A2A',
-                    5: '#FF2A2A'
-                };
-            Object.keys(stateColorObject).forEach(function(key){
-                if(key == state){
-                    stateColor = stateColorObject[key]
-                }
-            });
-            return stateColor;
-        },
-        StatusTextFn: function(state){
-            var stateText = '',
-                stateTextObject={
-                    2:'已上架',
-                    3:'已下架',
-                    1:'待审核',
-                    8:'审核未通过',
-                    9:'已冻结',
-                    10:'已隐身',
-                    0:'已删除'
-                };
-            Object.keys(stateTextObject).forEach(function(key) {
-                if(key == state){
-                    stateText = stateTextObject[key]
-                }
-            });
-            return stateText;
-        },
-        StatusButtonFn: function(state){
-            var _this = this;
-            var btnState = false;
-            _this.mapStateArr.forEach(function(el){
-                el.val.forEach(function(value){
-                    if(state === value){
-                        btnState = el.status;
-                    }
-                })
-            });
-            return btnState
-        },
-        returnedTarget:function(){//对象合并 IE 兼容方法
-            if (typeof Object.assign != 'function') {
-                Object.assign = function(target) {
-                    'use strict';
-                    if (target == null) {
-                        throw new TypeError('Cannot convert undefined or null to object');
-                    }
-                    target = Object(target);
-                    for (var index = 1; index < arguments.length; index++) {
-                        var source = arguments[index];
-                        if (source != null) {
-                            for (var key in source) {
-                                if (Object.prototype.hasOwnProperty.call(source, key)) {
-                                    target[key] = source[key];
-                                }
-                            }
-                        }
-                    }
-                    return target;
-                };
-            }
         }
     },
     mounted: function () {
-        var _this = this;
         if(globalUserData){
-            _this.userId = globalUserData.userId;
-            _this.listQuery.shopId = globalUserData.shopId;
-            _this.shopId =globalUserData.shopId;
+            this.userId = globalUserData.userId;
+            this.listQuery.shopId = globalUserData.shopId;
+            this.shopId =globalUserData.shopId;
         }
-        _this.GetMyproductDataInfo();
-            if(!isPC){
-            //移动端上垃加载更多
-            $(window).on('scroll', function(){
-                var scrollTop = $(this).scrollTop();
-                var scrollHeight = $(document).height();
-                var windowHeight = window.innerHeight;
-                if (scrollTop + windowHeight >= scrollHeight) {
-                    //此处是滚动条到底部时候触发的事件,在这里写要加载的数据,或者是拉动滚动条的操作
-                    var totalPage = Math.ceil(_this.listRecord / _this.listQuery.pageSize)?Math.ceil(_this.listRecord / _this.listQuery.pageSize):1;
-                    var next = _this.listQuery.pageNum+1;
-                    if(next <= totalPage){
-                        if (_this.requestFlag){
-                            _this.listQuery.pageNum = next;
-                            if (_this.isRequset) {
-                                // 获取列表数据
-                                _this.GetMyproductDataInfo();
-                            }
-                        }
-                        _this.requestFlag = false;
-                    }else{
-                        //到底了
-                        _this.noMore = true;
-                        $('footer').removeClass("noneImportant");
-                    }
-                }
-            });
+        this.getList();
+        if(isPC){
+            this.layout ='total, prev, pager, next, jumper';
+        }else{
+            this.layout ='total, prev, pager, next';
         }
         $('.navLayout').find('.navList').removeClass("on").find('.con').hide().find('a').removeClass("on");
         $('.navLayout').find('.navList').eq(1).addClass("on").find('.con').show().find('a').eq(3).addClass("on");

+ 26 - 8
src/main/resources/static/js/supplier-center/shop/mixins/checkeMixins.js

@@ -236,16 +236,34 @@ var checkeMixins = function () {
                 _this.scrollIntoView();
             },
             handleNextStep1(){ //进入第三步
-                var _this = this;
+                const _this = this;
+                if(this.releaseParams.groundMall === ''){
+                    _this.isPlatforms = true;
+                    _this.fromMessage = '请将选择上架平台';
+                    setTimeout(function(){
+                        _this.isPlatforms = false;
+                    },3000);
+                    return;
+                }
                 if(!this.checkedSku()){
                     _this.isSkuRule = true;
-                    _this.fromMessage = '请将SKU数据补充完整';
+                    _this.fromMessage = '请将【采美】平台SKU数据补充完整';
                     setTimeout(function(){
                         _this.isSkuRule = false;
                     },3000);
                     return;
                 }
-                if(_this.releaseParams.includedTax == 3){
+                if(this.platformsMallFlag){
+                    if(!this.checkedMallSku()){
+                        _this.isMallSkuRule = true;
+                        _this.fromMessage = '请将【丽格集采联盟】平台SKU数据补充完整';
+                        setTimeout(function(){
+                            _this.isMallSkuRule = false;
+                        },3000);
+                        return;
+                    }
+                }
+                if(_this.releaseParams.includedTax === 3){
                     _this.vShow_includedTax = true;
                     _this.fromMessage = '请选择是否含税';
                     _this.scrollIntoView();
@@ -254,13 +272,13 @@ var checkeMixins = function () {
                     },3000);
                     return;
                 }
-                if(_this.releaseParams.areaFlag == '0'){
+                if(_this.releaseParams.areaFlag === '0'){
                     _this.ProvinceList.forEach(function(el){
                         if(el.isChecked){
                             _this.releaseParams.provinceIds+=el.provinceID+',';
                         }
                     });
-                    if(_this.releaseParams.provinceIds == ''){
+                    if(_this.releaseParams.provinceIds === ''){
                         _this.vShow_isProvince = true;
                         _this.fromMessage = '请选择指定区域';
                         setTimeout(function(){
@@ -279,18 +297,18 @@ var checkeMixins = function () {
                 var _this = this;
                 var detailInfo= detailInfoEditor.getData();
                 _this.releaseParams.detailInfo = detailInfo;
-                if(_this.GoodsImagesList ==''){
+                if(_this.GoodsImagesList ===''){
                     CAIMEI.dialog('请上传商品图片');
                     return;
                 }
-                if( _this.releaseParams.detailInfo ==''){
+                if( _this.releaseParams.detailInfo ===''){
                     CAIMEI.dialog('请填写商品详情');
                     return;
                 }
                 _this.params.image = [];
                 _this.GoodsImagesList.forEach(function(el,index){
                     var imageObject = {};
-                    if(index == 0 ){
+                    if(index === 0 ){
                         imageObject = {productImageId:'',image:el,mainFlag:'1'};
                     }else{
                         imageObject = {productImageId:'',image:el,mainFlag:'0'};

+ 20 - 3
src/main/resources/static/js/supplier-center/shop/mixins/getInfoMixins.js

@@ -10,12 +10,17 @@ var getInfoMixins = function () {
             GetEditReleaseProductInfo: function(productId){
                 var _this = this;
                 SupplierApi.EditReleaseProductInfo({productId:productId},function(response){
-                    if(response.code == 0){
+                    if(response.code === 0){
                         console.log(response);
                         var data = response.data;
                         _this.skuParams = _this.setNewSkuArray(data.skus);
+                        _this.mallSkusParams = _this.setNewSkuArray(data.mallSkus);
+                        console.log('skuParams',_this.skuParams)
+                        console.log('mallSkusParams',_this.mallSkusParams)
                         _this.releaseParams.brandId = data.brandId;
                         _this.releaseParams.name = data.name;
+                        _this.releaseParams.productId = data.productId;
+                        _this.releaseParams.mallProductId = data.mallProductId;
                         _this.releaseParams.aliasName = data.aliasName;
                         _this.releaseParams.productType = data.productType;
                         _this.releaseParams.trainingMethod = data.trainingMethod;
@@ -23,6 +28,7 @@ var getInfoMixins = function () {
                         _this.releaseParams.trainingFee = data.trainingFee;
                         _this.releaseParams.machineType = data.machineType;
                         _this.releaseParams.qualificationImg = data.qualificationImg;
+                        _this.releaseParams.groundMall = data.groundMall;
                         _this.releaseParams.unit = data.unit;
                         _this.releaseParams.productCode = data.productCode;
                         _this.releaseParams.normalPrice = data.normalPrice;
@@ -74,11 +80,23 @@ var getInfoMixins = function () {
                         if(data.searchKey != null){
                             _this.setSearchKeyArray(data.searchKey);
                         }
-                        if(data.parametersList == ''){
+                        if(data.parametersList === ''){
                             _this.paramKeyList = [{paramsName:'',paramsContent:''}];
                         }else{
                             _this.paramKeyList = data.parametersList;
                         }
+                        if(data.groundMall === '0'){
+                            _this.platformsFlag = _this.platforms[0].isChecked = true
+                        }else if(data.groundMall === '4'){
+                            _this.platformsMallFlag = _this.platforms[1].isChecked = true
+                        }else if(data.groundMall === '0,4'){
+                            _this.platformsFlag = true
+                            _this.platformsMallFlag = true
+                            _this.platforms = _this.platforms.map((el)=>{
+                                el.isChecked = true
+                                return el
+                            })
+                        }
                         // 下拉列表初始化
                         setTimeout(function(){
                             _this.ChangeClassificationFirst({bigTypeId:data.bigTypeId, name:data.bigTypeName});
@@ -100,7 +118,6 @@ var getInfoMixins = function () {
                     stock: el.stock,
                     price: el.price,
                     skuId: el.skuId,
-                    costPrice: el.costPrice,
                     normalPrice: el.normalPrice,
                     minBuyNumber: el.minBuyNumber
                 }))

+ 108 - 37
src/main/resources/static/js/supplier-center/shop/mixins/releaseMixins.js

@@ -1,24 +1,116 @@
 // 发布商品
-const defaultSku = {
-    unit:'', // 规格
-    normalPrice:'', // 市场价
-    price:'', // 售价
-    costPrice:'', // 结算价
-    minBuyNumber:'',// 起订量
-    stock:'' // 库存
+const defaultSku = () =>{
+    return {
+        unit:'', // 规格
+        normalPrice:'', // 市场价
+        price:'', // 售价
+        minBuyNumber:'',// 起订量
+        stock:'' // 库存
+    }
 }
 var releaseMixins = function () {
     return {
         data() {
             return {
+                platforms:[
+                    {name:'【采美】平台',value:0,isChecked:true},
+                    {name:'【丽格集采联盟】平台',value:4,isChecked:false},
+                ],
                 skuParams:[],
-                isSkuRule:false
+                mallSkusParams:[],
+                platformsFlag:true,
+                platformsMallFlag:false,
+                isSkuRule:false,
+                isMallSkuRule:false,
+                isPlatforms:false,
             }
         },
         mounted: function() {
-            this.skuParams.push(defaultSku)
+            this.skuParams.push(defaultSku())
         },
         methods: {
+            //选择平台
+            handleCheckedPlat(item,index){
+                item.isChecked = !item.isChecked
+                if(index === 0){
+                    this.platformsFlag = item.isChecked
+                    if(item.isChecked){
+                        this.skuParams.push(defaultSku())
+                    }else{
+                        this.mallSkusParams =[]
+                    }
+                }else{
+                    this.platformsMallFlag = item.isChecked
+                    if(item.isChecked){
+                        this.mallSkusParams.push(defaultSku())
+                    }else{
+                        this.mallSkusParams =[]
+                    }
+                }
+                if(this.platformsFlag && this.platformsMallFlag){
+                    this.releaseParams.groundMall = '0,4'
+                }else if(this.platformsFlag && !this.platformsMallFlag){
+                    this.releaseParams.groundMall = '0'
+                }else if(this.platformsMallFlag && !this.platformsFlag){
+                    this.releaseParams.groundMall = '4'
+                }else{
+                    this.releaseParams.groundMall = ''
+                }
+                console.log('groundMall', this.releaseParams.groundMall)
+            },
+            // 复制上方SKU
+            handleCopySuk(){
+                const _this = this
+                CAIMEI.Modal('确定复制上方平台的SKU数据吗?','取消','确定',function () {
+                    _this.mallSkusParams =  _this.copySkusCkeck()
+                })
+            },
+            // 处理数据
+            copySkusCkeck(){
+                return  JSON.parse(JSON.stringify(this.skuParams))
+            },
+            addskuParamsFn(type,sku,index){ // 添加
+                if(type === 0){
+                    this.skuParams.push(defaultSku())
+                }else{
+                    this.mallSkusParams.push(defaultSku())
+                }
+            },
+            delskuParamsFn(type,sku,index){// 删除
+                const _this = this
+                if(this.releaseType === 'edit'){
+                    CAIMEI.Modal('确定要删除该条SKU吗?','取消','确定',function () {
+                        _this.updateDelProductSku(type,sku.skuId);
+                        if(type === 0){
+                            _this.skuParams.splice(index, 1)
+                        }else{
+                            _this.mallSkusParams.splice(index, 1)
+                        }
+                    })
+                }else{
+                    if(type === 0){
+                        _this.skuParams.splice(index, 1)
+                    }else{
+                        _this.mallSkusParams.splice(index, 1)
+                    }
+                }
+            },
+            updateDelProductSku(type,skuId){
+                SupplierApi.UpdateDelProductSku({type:type,skuId:skuId},function(response){
+                    if(response.code === 0){
+                       console.log('')
+                    }
+                });
+            },
+            checkedSku(){// 校验SKU 是否填写完整
+                return this.skuParams.every((params) => Object.keys(params).every(key => params[key]))
+            },
+            checkedMallSku(){// 校验SKU 是否填写完整
+                return this.mallSkusParams.every((params) => Object.keys(params).every(key => params[key]))
+            },
+            handleSkuInput(){
+                this.isSkuRule = false
+            },
             addSupplierReleaseInfo(){
                 var _this = this;
                 if(_this.releaseParams.newProductType === 0){
@@ -32,9 +124,8 @@ var releaseMixins = function () {
                 }
                 _this.releaseParams.orderInfo = orderInfoEditor.getData();
                 _this.releaseParams.serviceInfo = severInfoEditor.getData();
-                if(_this.releaseType == 'edit'){
+                if(_this.releaseType === 'edit'){
                     _this.releaseParams.productDetailInfoId = _this.productDetailInfoId;
-                    _this.releaseParams.productId = _this.productId;
                     CAIMEI.returnedTarget();
                     _this.releaseParams = Object.assign(_this.releaseParams,{params:JSON.stringify(_this.params)});
                     delete _this.releaseParams.imageList;
@@ -45,19 +136,22 @@ var releaseMixins = function () {
                     _this.releaseParams = Object.assign(_this.releaseParams,{params:JSON.stringify(_this.params)});
                 }
                 this.releaseParams.skus = JSON.stringify(this.skuParams);
+                this.releaseParams.mallSkus = JSON.stringify(this.mallSkusParams);
                 this.addSupplierReleaseProduct(_this.releaseParams);
             },
             addSupplierReleaseProduct(params){// 发布商品
-                var _this = this;
+                const _this = this;
                 console.log('======', params);
                 SupplierApi.AddSupplierReleaseProduct(params,function(response){
-                    if(response.code == 0){
+                    if(response.code === 0){
                         CAIMEI.dialog('提交成功,等待审核',true,function () {
-                            if(_this.releaseType == 'edit'){
+                            console.log('11111111111111');
+                            if(_this.releaseType === 'edit'){
                                 SupplierApi.UpdateSearchManageProduct({productId:_this.productId},function (res) {
                                     console.log('编辑商品更新搜索索引~~~成功');
                                 })
                             }
+                            console.log('22222222222');
                             location.href = '/supplier/goods.html';
                             if(CAIMEI.Storage.getItem('adProductPeview')){
                                 CAIMEI.Storage.removeItem('adProductPeview');
@@ -68,29 +162,6 @@ var releaseMixins = function () {
                     }
                 });
             },
-            addskuParamsFn(sku,index){ // 添加
-                let defSku = {unit:'', normalPrice:'', price:'', costPrice:'',minBuyNumber:'', stock:''}
-                this.skuParams.push(defSku)
-            },
-            delskuParamsFn(sku,index){// 删除
-                this.skuParams.splice(index, 1)
-                if(this.releaseType == 'edit'){
-                    this.updateDelProductSku(sku.skuId);
-                }
-            },
-            updateDelProductSku(skuId){
-                SupplierApi.UpdateDelProductSku({skuId:skuId},function(response){
-                    if(response.code === 0){
-                       console.log('')
-                    }
-                });
-            },
-            checkedSku(){// 校验SKU 是否填写完整
-                return this.skuParams.every((params) => Object.keys(params).every(key => params[key]))
-            },
-            handleSkuInput(){
-                this.isSkuRule = false
-            }
         }
     }
 }();

+ 6 - 7
src/main/resources/static/js/supplier-center/shop/release.js

@@ -10,6 +10,7 @@ var releaseContainer = new Vue({
         NODE_ENV_BASE_URL:'',
         releaseType:'',
         productId:'',
+        mallProductId:'',
         activeNum:0,
         isSelectActive:0,
         isRequest:true,
@@ -62,7 +63,9 @@ var releaseContainer = new Vue({
             qualificationNo:'',//资质证书编号
             productName:'',//资质产品名称
             qualificationTime:'',//证书有效日期
-            skus:[]// sku
+            groundMall:'0',
+            skus:[],// sku
+            mallSkus:[] //外部Sku
         },
         params:{
             param:[],//相关参数
@@ -101,10 +104,6 @@ var releaseContainer = new Vue({
             {placeholder:'建议输入商品大类别关键词',value:""},
             {placeholder:'建议输入商品小类别关键词',value:""},
         ],
-        attributeList:[
-            {name:'产品',value:'1'},
-            {name:'仪器',value:'2'}
-        ],
         productDetailInfoId:null,
         ProvinceList:[],
         GoodsImagesList:[],
@@ -201,11 +200,11 @@ var releaseContainer = new Vue({
         },
         brandAssociationFn: function(){//失去焦点判断是否存在品牌信息
             var _this = this;
-            if(_this.releaseParams.brandName == ''){
+            if(_this.releaseParams.brandName === ''){
                 CAIMEI.dialog('请输入商品品牌名称');
             }else{
                 SupplierApi.CheckSupplierBrandDetection({name:_this.releaseParams.brandName},function(response){
-                    if(response.code ==0){
+                    if(response.code ===0){
                         CAIMEI.dialog('您的品牌可以使用~');
                         _this.releaseParams.brandId = response.data.id;
                     }else{

+ 204 - 180
src/main/resources/static/js/user-center/order/detail.js

@@ -1,37 +1,43 @@
-;
-var orderPage = new Vue({
+const orderPage = new Vue({
     el: "#orderPage",
     mixins: [cmSysVitaMixins],
-    data: {
-        isRequset:true,
-        orderId:0,              //订单ID
-        userId: 0,              //用户ID
-        orderInfo:{},           //订单信息
-        shopOrderList:[],       //订单商品信息
-        userInfo:{},            //订单用户信息
-        orderInvoice:{},        //发票信息
-        discernReceiptList:[],  //订单付款信息
-        returnedPurchaseList:[],//订单退款信息
-        orderIdentificationId:'',//订单标识
-        modelType:0,
-        isFiexd:true,
-        isShowBeansAlet:false,
-        bgImagePath:'',//根据类型显示图片标记
-        beanNumber:100,
-        beansType:7,
-        returnGoodsStutas: false, // 当前商品是否为特殊商品 1是 2不是
-        helpContent: '' // 退货提示
+    data() {
+        return{
+            isRequset: true,
+            orderId: 0,              //订单ID
+            shopOrderId:0,          //子订单ID
+            userId: 0,              //用户ID
+            orderInfo: {},           //订单信息
+            shopOrderList: [],       //订单商品信息
+            userInfo: {},            //订单用户信息
+            orderInvoice: {},        //发票信息
+            discernReceiptList: [],  //订单付款信息
+            returnedPurchaseList: [],//订单退款信息
+            voucherList:[],
+            modelType: 0,
+            isFiexd: true,
+            isShowBeansAlet: false,
+            bgImagePath: '',//根据类型显示图片标记
+            beanNumber: 100,
+            beansType: 7,
+            returnGoodsStutas: false, // 当前商品是否为特殊商品 1是 2不是
+            helpContent: '', // 退货提示
+        }
     },
     filters: {
-        NumFormat:function(text) {//处理金额
+        NumFormat(text) {//处理金额
             return Number(text).toFixed(2);
         },
-        NumBadge:function(n){//处理
-            var num ='';
-            if(n>100){num = 99}else{num = n;}
+        NumBadge(n) {//处理
+            var num = '';
+            if (n > 100) {
+                num = 99
+            } else {
+                num = n;
+            }
             return num;
         },
-        formatIncludedTax:function(value) {
+        formatIncludedTax(value) {
             if (value === '1') {
                 return '不含税 ';
             } else if (value === '2') {
@@ -40,154 +46,195 @@ var orderPage = new Vue({
                 return '';
             }
         },
-        stateExp:function (state){ //订单状态文字和颜色
-            var stateText = '',
-                stateTextObject={
-                    0:'待确认',
-                    4:'交易完成',
-                    5:'订单完成',
-                    6:'已关闭',
-                    7:'交易全退',
-                    77:'交易全退',
-                    11:'待付款待发货',
-                    12:'待付款部分发货',
-                    13:'待付款已发货',
-                    21:'部分付款待发货',
-                    22:'部分付款部分发货',
-                    23:'部分付款已发货',
-                    31:'已付款待发货',
-                    32:'已付款部分发货',
-                    33:'已付款已发货',
-                    111:'待付款待发货'
-                };
-            Object.keys(stateTextObject).forEach(function(key){
-                if(key == state){
-                    stateText = stateTextObject[key]
+        statusFilters(value) {
+            //处理订单状态显示
+            const map = {
+                0: '待确认',
+                2: '交易完成',
+                4: '已关闭',
+                5: '交易全退',
+                6: '交易全退',
+                11: '待付款待发货',
+                12: '待付款部分发货',
+                13: '待付款已发货',
+                21: '部分付款待发货',
+                22: '部分付款部分发货',
+                23: '部分付款已发货',
+                31: '已付款待发货',
+                32: '已付款部分发货',
+                33: '已付款已发货'
+            }
+            return map[value]
+        },
+        // 设置发票文案
+        setInvoiceText(data) {
+            if(data){
+                const map = {
+                    0: '个人',
+                    1: '单位'
                 }
-            });
-            return stateText;
-        }
+                switch (data.type) {
+                    case 0:
+                        return `不开发票`
+                        break
+                    case 1:
+                        return `普票-${map[data.headingType]}`
+                        break
+                    case 2:
+                        return `专票`
+                        break
+                }
+            }else{
+                return `不开发票`
+            }
+        },
     },
     computed: {
 
     },
     methods: {
-        GetQueryOrderDetailsInfo:function(){//查询订单详情
-            var _self = this;
-            OrderApi.QueryOrderDetailsInfo({orderId:_self.orderId , userId:_self.userId},function (response) {
-                if(response.code == 0){
-                    var data = response.data;
-                    _self.orderInfo = data.order;
+        GetQueryOrderDetailsInfo() {//查询订单详情
+            const _self = this;
+            OrderApi.QueryOrderDetailsInfo({shopOrderId: this.shopOrderId, userId: this.userId}, function (response) {
+                if (response.code === 0) {
+                    const data = response.data;
+                    _self.orderInfo = data.shopOrder;
                     _self.userInfo = data.userInfo;
+                    _self.orderId = data.shopOrder.orderId;
                     _self.orderInvoice = data.orderInvoice;
                     _self.shopOrderList = data.shopOrderList;
                     _self.discernReceiptList = data.discernReceiptList;
                     _self.returnedPurchaseList = data.returnedPurchaseList;
-                    _self.orderIdentificationId = '#'+ _self.orderInfo.orderId+'#';
+                    _self.voucherList = data.voucher;
                     _self.isRequset = false;
                     _self.returnGoodsStutas = data.returnGoodsStutas === 2 // 当前商品是否为特殊商品 1不是 2是
                     _self.helpContent = data.helpContent
-                }else{
-                    CAIMEI.Alert(response.msg, '确定', true,function () {
+                } else {
+                    CAIMEI.Alert(response.msg, '确定', true, function () {
                         location.href = '/user/dashboard.html';
                     });
                 }
             })
         },
-         hanldConfirmFn:function(){//确认打款供应商
-            var _self = this;
-            CAIMEI.Modal('确定委托采美平台打款给供应商吗?确定之前请务必确保货品完好?','取消','确定',function () {
-                 OrderApi.confirmpayment({orderId:_self.orderId,userId:_self.userId},function(response){
-                    if(response.code == 0){
-                         CAIMEI.dialog('确认成功',true,function () {
+        handeleDropdown(type) {
+            switch (type) {
+                case 1:// 确认打款供应商
+                    this.hanldConfirmFn()
+                    break
+                case 2:// 支付订单
+                    this.hanldPayOrderFn()
+                    break
+                case 3:// 跳转支付凭证
+                    window.location.href = '/user/order/remarks-pay.html?shopOrderId=' + this.shopOrderId;
+                    break
+                case 4:// 取消订单
+                    this.hanldCancelOrderFn()
+                    break
+                case 5:// 确认订单
+                    this.hanldConfirmOrderFn()
+                    break
+                case 6:// 查看物流
+                    window.location.href = '/user/order/logistics.html?shopOrderId=' + this.shopOrderId;
+                    break
+                case 7:// 确认收货
+                    this.hanldReceivingOrderFn()
+                    break
+            }
+        },
+        hanldConfirmFn() {//确认打款供应商
+            const _self = this;
+            CAIMEI.Modal('确定委托采美平台打款给供应商吗?确定之前请务必确保货品完好?', '取消', '确定', function () {
+                OrderApi.confirmpayment({shopOrderId: _self.shopOrderId, userId: _self.userId}, function (response) {
+                    if (response.code === 0) {
+                        CAIMEI.dialog('确认成功', true, function () {
                             _self.GetQueryOrderDetailsInfo();
                         });
-                         _self.confirmFlag = true;
-                         _self.confrimsBtn = false;
-                    }else{
+                        _self.confirmFlag = true;
+                        _self.confrimsBtn = false;
+                    } else {
                         CAIMEI.Alert(response.msg, '确定', false);
                     }
                 })
             })
         },
-        hanldConfirmOrderFn:function(){//确认订单
-            var _self = this;
-            CAIMEI.Modal('是否确认订单?','取消','确定',function () {
-                OrderApi.AffirmOrderOrder({orderId:_self.orderId },function(response){
-                    if(response.code == 0){
-                        CAIMEI.dialog('确认成功',true,function () {
+        hanldConfirmOrderFn() {//确认订单
+            const _self = this;
+            CAIMEI.Modal('是否确认订单?', '取消', '确定', function () {
+                OrderApi.AffirmOrderOrder({shopOrderId: _self.shopOrderId}, function (response) {
+                    if (response.code === 0) {
+                        CAIMEI.dialog('确认成功', true, function () {
                             _self.GetQueryOrderDetailsInfo();
                         });
-                    }else{
+                    } else {
                         CAIMEI.Alert(response.msg, '确定', false);
                     }
                 })
             })
         },
-        hanldCancelOrderFn:function(){//取消订单
-            var _self = this;
-            CAIMEI.Modal('确认取消该订单吗?','取消','确定',function () {
-                OrderApi.GetCancelOrder({orderId:_self.orderId, userIdentity : 0},function(response){
-                    if(response.code == 0){
-                        CAIMEI.dialog('取消成功',true,function () {
+        hanldCancelOrderFn() {//取消订单
+            const _self = this;
+            CAIMEI.Modal('确认取消该订单吗?', '取消', '确定', function () {
+                OrderApi.GetCancelOrder({shopOrderId: _self.shopOrderId, userIdentity: 0}, function (response) {
+                    if (response.code === 0) {
+                        CAIMEI.dialog('取消成功', true, function () {
                             _self.GetQueryOrderDetailsInfo();
                         });
-                    }else{
+                    } else {
                         CAIMEI.Alert(response.msg, '确定', false);
                     }
                 })
             })
         },
-        hanldDeleteOrderFn:function(){//删除订单
-            var _self = this;
-            CAIMEI.Modal('确认删除该订单吗?','取消','确定',function () {
-                OrderApi.GetDeleteOrder({orderId:_self.orderId},function(response){
-                    if(response.code == 0){
-                        CAIMEI.dialog('删除成功',true,function () {
-                            window.location.href='/user/order/list.html?state=0';
+        hanldDeleteOrderFn() {//删除订单
+            const _self = this;
+            CAIMEI.Modal('确认删除该订单吗?', '取消', '确定', function () {
+                OrderApi.GetDeleteOrder({shopOrderId: _self.shopOrderId}, function (response) {
+                    if (response.code === 0) {
+                        CAIMEI.dialog('删除成功', true, function () {
+                            window.location.href = '/user/order/list.html?state=0';
                         });
-                    }else{
+                    } else {
                         CAIMEI.Alert(response.msg, '确定', false);
                     }
                 })
             })
         },
-        hanldReceivingOrderFn:function(){//确认收货
-            var _self = this;
-            CAIMEI.Modal('是否确认收货?','取消','确定',function () {
-                OrderApi.GetAffirmOrder({orderId:_self.orderId},function(response){
-                    if(response.code == 0){
+        hanldReceivingOrderFn() {//确认收货
+            const _self = this;
+            CAIMEI.Modal('是否确认收货?', '取消', '确定', function () {
+                OrderApi.GetAffirmOrder({shopOrderId: _self.shopOrderId}, function (response) {
+                    if (response.code === 0) {
                         _self.beansType = 7;
                         _self.beanNumber = 100;
                         _self.isShowBeansAlet = true;
                         _self.handInitType(_self.beansType);
                         _self.GetQueryOrderDetailsInfo();
-                    }else{
+                    } else {
                         CAIMEI.Alert(response.msg, '确定', false);
                     }
                 })
             })
         },
-        hanldPayOrderFn:function(){//支付订单
-            var _self = this;
-            OrderApi.OrderPaymentValidation({orderId:_self.orderId},function(response){
-                if(response.code == 0){
-                    var data = _self.payModelData = response.data;
-                    if(data.balanceFlag == 1){// 0可以走余额抵扣,1不能走余额抵扣
-                        window.location.href = '/pay/caimei-paylist.html?&orderId='+_self.orderId;
-                    }else{
-                        switch(data.code){
+        hanldPayOrderFn() {//支付订单
+            const _self = this;
+            OrderApi.OrderPaymentValidation({shopOrderId: _self.shopOrderId}, function (response) {
+                if (response.code === 0) {
+                    const data = _self.payModelData = response.data;
+                    if (data.balanceFlag === 1) {// 0可以走余额抵扣,1不能走余额抵扣
+                        window.location.href = '/pay/caimei-paylist.html?&orderId=' + _self.orderId;
+                    } else {
+                        switch (data.code) {
                             case 1:
                                 _self.modelType = 1;
                                 CAIMEI.Popup({
-                                    content: '<div class="payAlert">您有采美余额<em>¥'+toFloat(data.ableUserMoney)+'</em>暂未使用,是否需要抵扣订单? 抵扣后您只需再支付<em>¥'+toFloat(data.pendingPayments)+'</em></div>',
+                                    content: '<div class="payAlert">您有采美余额<em>¥' + toFloat(data.ableUserMoney) + '</em>暂未使用,是否需要抵扣订单? 抵扣后您只需再支付<em>¥' + toFloat(data.pendingPayments) + '</em></div>',
                                     confitmBtnText: '抵扣,继续付款',
                                     cancelBtnText: '不抵扣,继续付款',
-                                    closeIcon:true
-                                },function(){
+                                    closeIcon: true
+                                }, function () {
                                     // 抵扣,继续付款
                                     _self.hanldPaymentConfirm(1)
-                                },function(){
+                                }, function () {
                                     // 不抵扣,继续付款
                                     _self.hanldCancelConfirm()
                                 });
@@ -195,14 +242,14 @@ var orderPage = new Vue({
                             case 2:
                                 _self.modelType = 2;
                                 CAIMEI.Popup({
-                                    content: '<div class="payAlert">您有采美余额<em>¥'+toFloat(data.ableUserMoney)+'</em>暂未使用,是否需要抵扣订单? 抵扣后订单支付完成</div>',
+                                    content: '<div class="payAlert">您有采美余额<em>¥' + toFloat(data.ableUserMoney) + '</em>暂未使用,是否需要抵扣订单? 抵扣后订单支付完成</div>',
                                     confitmBtnText: '抵扣',
                                     cancelBtnText: '不抵扣,继续付款',
-                                    closeIcon:true
-                                },function(){
+                                    closeIcon: true
+                                }, function () {
                                     // 抵扣全款
                                     _self.hanldPaymentConfirm(2);
-                                },function(){
+                                }, function () {
                                     // 不抵扣,继续付款
                                     _self.hanldCancelConfirm();
                                 });
@@ -211,51 +258,37 @@ var orderPage = new Vue({
                                 CAIMEI.Alert('订单已申请全部退款,无需再付款!', '确定', false);
                                 break;
                             default:
-                                if(_self.orderInfo.onlinePayFlag == 1){
-                                    window.location.href = '/pay/caimei-payunder.html?orderId='+_self.orderId;
-                                }else{
-                                    window.location.href = '/pay/caimei-paylist.html?orderId='+_self.orderId;
-                                }
+                                window.location.href = '/pay/caimei-paylist.html?&orderId=' + _self.orderId;
                         }
                     }
-                }else{
+                } else {
                     CAIMEI.Alert(response.msg, '确定', false);
                 }
             })
         },
-        hanldPaymentConfirm:function(modelType) {//余额抵扣跳转
-            var _self = this;
-            OrderApi.OrderBalanceDeduction({orderId: _self.orderId}, function (response) {
-                if (response.code == 0) {
+        hanldPaymentConfirm(modelType) {//余额抵扣跳转
+            const _self = this;
+            OrderApi.OrderBalanceDeduction({shopOrderId: _self.shopOrderId}, function (response) {
+                if (response.code === 0) {
                     if (modelType === 2) {
-                        window.location.href = '/pay/success.html?pageType=www&type=success&payAmount='+_self.payModelData.pendingPayments;
+                        window.location.href = '/pay/success.html?pageType=www&type=success&payAmount=' + _self.payModelData.pendingPayments;
                     } else {
-                        window.location.href = '/pay/caimei-payunder.html?orderId='+_self.orderId;
+                        window.location.href = '/pay/caimei-paylist.html?&orderId=' + _self.orderId;
                     }
                 } else {
                     CAIMEI.Alert(response.msg, '确定', false);
                 }
             });
         },
-        hanldCancelConfirm:function(){//不使用余额抵扣直接跳转收银台
-            var _self = this;
-            if(_self.orderInfo.onlinePayFlag == 1){
-                window.location.href = '/pay/caimei-payunder.html?orderId='+_self.orderId;
-            }else{
-                window.location.href = '/pay/caimei-paylist.html?orderId='+_self.orderId;
-            }
-        },
-        hidePaymentConfirm:function(){//隐藏弹窗
-            var _self = this;
-            _self.modelType = 0;
+        hanldCancelConfirm() {//不使用余额抵扣直接跳转收银台
+            window.location.href = '/pay/caimei-paylist.html?&orderId=' + _self.orderId;
         },
-        hanldQueryExpressFn:function(){//跳转查看物流
-            var _self = this;
-            window.location.href='/user/order/logistics.html?orderId='+_self.orderId;
+        hidePaymentConfirm() {//隐藏弹窗
+            this.modelType = 0;
         },
-        copyOrderBtnSubmitFn:function(){//复制订单标识
-            var _self = this;
-            var oInput = document.createElement("textarea");
+        copyOrderBtnSubmitFn() {//复制订单标识
+            const _self = this;
+            const oInput = document.createElement("textarea");
             oInput.value = _self.orderIdentificationId;
             document.body.appendChild(oInput);
             oInput.select(); // 选择对象
@@ -263,41 +296,36 @@ var orderPage = new Vue({
             document.body.removeChild(oInput);
             CAIMEI.dialog('复制成功');
         },
-        showBadge:function(n){//处理标签
-            var num ='';
-            if(n>100){num = 99}else{num = n;}
-            return num;
-        },
-        toFixedFn:function(text){//处理小数点后两位数
-            return Number(text).toFixed(2);
-        },
-        toggleThisLadder: function(event){
-            var el = event.currentTarget;
-            if($(el).hasClass("on")){
+        toggleThisLadder(event) {
+            const el = event.currentTarget;
+            if ($(el).hasClass("on")) {
                 $(el).removeClass("on").siblings('.mFixed').hide();
-                if(!isPC){looseBody();}
-            }else{
+                if (!isPC) {
+                    looseBody();
+                }
+            } else {
                 $(el).addClass("on").siblings('.mFixed').show();
-                if(!isPC){fixedBody();}
+                if (!isPC) {
+                    fixedBody();
+                }
             }
         },
-        hideThisLadder: function(event){
-            var el = event.currentTarget;
+        hideThisLadder(event) {
+            const el = event.currentTarget;
             $(el).parents('.priceTag').find('.tag').removeClass("on").siblings('.mFixed').hide();
-            if(!isPC){looseBody();}
+            if (!isPC) {
+                looseBody();
+            }
         },
-        handInitType:function(type){//根据类型判断弹窗背景
-            var _self = this;
-            if(isPC){
-                _self.bgImagePath ='/img/account/icon-beans-'+type+'@2x.png';
-            }else {
-                _self.bgImagePath ='/img/account/icon-beans-h5-'+type+'@2x.png';
+        handInitType(type) {//根据类型判断弹窗背景
+            if (isPC) {
+                this.bgImagePath = '/img/account/icon-beans-' + type + '@2x.png';
+            } else {
+                this.bgImagePath = '/img/account/icon-beans-h5-' + type + '@2x.png';
             }
-            console.log(this.bgImagePath)
         },
-        handleClickCancel:function () {//关闭弹窗
-            var _self = this;
-            _self.isShowBeansAlet = false;
+        handleClickCancel() {//关闭弹窗
+            this.isShowBeansAlet = false;
         },
         payTypeText(record) {
             //处理支付记录文字
@@ -308,29 +336,25 @@ var orderPage = new Vue({
                 15: '微信支付',
                 16: '余额抵扣',
             }
-            if(record.payType === 28 || record.payType === 29 ){
+            if (record.payType === 28 || record.payType === 29) {
                 return record.quickPayStr
-            }else{
+            } else {
                 return map[record.payType]
             }
         },
     },
     mounted: function () {
         var _self = this;
-        if(globalUserData){
+        if (globalUserData) {
             _self.userId = globalUserData.userId;
-            _self.orderId = CAIMEI.getUrlParam('orderId');
+            _self.shopOrderId = CAIMEI.getUrlParam('shopOrderId');
             _self.GetQueryOrderDetailsInfo();
         }
         $(window).scroll(function (event) {
             var supportPageOffset = window.pageXOffset !== undefined; // 判断是否支持pageXOffset
             var isCSS1Compat = ((document.compatMode || "") === "CSS1Compat"); // 判断渲染模式是不是标准模式
             var scrollHeight = supportPageOffset ? window.pageYOffset : isCSS1Compat ? document.documentElement.scrollTop : document.body.scrollTop;
-            if(scrollHeight<100){
-                _self.isFiexd = true
-            }else{
-                _self.isFiexd = false
-            }
+            _self.isFiexd = scrollHeight < 100;
         });
         $('.navLayout').find('.navList').removeClass("on").find('.con').hide().find('a').removeClass("on");
         $('.navLayout').find('.navList').eq(0).addClass("on").find('.con').show().find('a').eq(0).addClass("on");

+ 105 - 127
src/main/resources/static/js/user-center/order/list.js

@@ -51,32 +51,25 @@ var orderPage = new Vue({
             if(n>100){num = 99}else{num = n;}
             return num;
         },
-        stateExp:function (state){ //订单状态文字和颜色
-            var stateText = '',
-                stateTextObject={
-                    0:'待确认',
-                    4:'交易完成',
-                    5:'订单完成',
-                    6:'已关闭',
-                    7:'交易全退',
-                    77:'交易全退',
-                    11:'待付款待发货',
-                    12:'待付款部分发货',
-                    13:'待付款已发货',
-                    21:'部分付款待发货',
-                    22:'部分付款部分发货',
-                    23:'部分付款已发货',
-                    31:'已付款待发货',
-                    32:'已付款部分发货',
-                    33:'已付款已发货',
-                    111:'待付款待发货'
-                };
-                Object.keys(stateTextObject).forEach(function(key){
-                    if(key == state){
-                    stateText = stateTextObject[key]
-                }
-             });
-            return stateText;
+        statusFilters(value) {
+            //处理订单状态显示
+            const map = {
+                0: '待确认',
+                2: '交易完成',
+                4: '已关闭',
+                5: '交易全退',
+                6: '交易全退',
+                11: '待付款待发货',
+                12: '待付款部分发货',
+                13: '待付款已发货',
+                21: '部分付款待发货',
+                22: '部分付款部分发货',
+                23: '部分付款已发货',
+                31: '已付款待发货',
+                32: '已付款部分发货',
+                33: '已付款已发货'
+            }
+            return map[value]
         }
     },
     computed: {
@@ -100,13 +93,13 @@ var orderPage = new Vue({
         }
     },
     methods: {
-        hanldConfirmFn:function(userId,orderId){//确认打款供应商
+        hanldConfirmFn(userId,orderId){//确认打款供应商
              var _self = this;
                 CAIMEI.Modal('确定委托采美平台打款给供应商吗?确定之前请务必确保货品完好?','取消','确定',function () {
                      OrderApi.confirmpayment({orderID:orderId,userId:userId},function(response){
-                        if(response.code == 0){
+                        if(response.code === 0){
                             CAIMEI.dialog('确认成功',true,function () {
-                                _self.GetQueryOrderListData();
+                                _self.getList();
                             });
                         }else{
                             CAIMEI.Alert(response.msg, '确定', false);
@@ -114,33 +107,28 @@ var orderPage = new Vue({
                     })
                 })
         },
-        toPagination: function (pageNum) {//点击切换分页
+        toPagination (pageNum) {//点击切换分页
             if (pageNum <= this.pageTotal) {
                 this.listQuery.pageNum = pageNum;
-                this.GetQueryOrderListData();
+                this.getList();
             }
         },
-        checkNum: function () {//输入跳转分页
+        checkNum () {//输入跳转分页
             if (this.pageInput > this.pageTotal) {
                 this.pageInput = this.pageTotal;
             } else if (this.pageInput < 1) {
                 this.pageInput = 1;
             }
         },
-        changeOrderFn:function(index,status){//点击Tab切换查询订单
-            var  _self = this;
-            _self.orderTabBarIndex = index;
-            _self.listQuery.orderState = status;
-            _self.listQuery.searchNo = '';
-            _self.listQuery.beginTime = '';
-            _self.listQuery.endTime = '';
-            _self.listQuery.pageNum = 1;
-            _self.isRequset = true;
-            _self.GetQueryOrderListData()
-        },
-        searchOrderListFn:function(){//搜索
-            var _self = this;
-            _self.GetQueryOrderListData();
+        changeOrderFn(index,status){//点击Tab切换查询订单
+            this.orderTabBarIndex = index;
+            this.listQuery.orderState = status;
+            this.listQuery.searchNo = '';
+            this.listQuery.beginTime = '';
+            this.listQuery.endTime = '';
+            this.listQuery.pageNum = 1;
+            this.isRequset = true;
+            this.getList()
         },
         GetQueryOrderNumInfo:function(){//查询tabs数量
             var _self = this;
@@ -153,11 +141,11 @@ var orderPage = new Vue({
                 _self.orderTabBar[5].bages = data.salesReturnCount;
             })
         },
-        GetQueryOrderListData:function(){//查询订单列表
-            var _self = this;
+        getList(){//查询订单列表
+            const _self = this;
             OrderApi.GetQueryOrderListData(_self.listQuery,function (response) {
-                if(response.code == 0){
-                    var data = response.data;
+                if(response.code === 0){
+                    const data = response.data;
                     if(data.list && data.list.length>0) {
                         _self.orderList = [];
                         _self.orderList = data.list;
@@ -174,13 +162,13 @@ var orderPage = new Vue({
                 }
             })
         },
-        hanldConfirmOrderFn:function(orderId){//确认订单
-            var _self = this;
+        hanldConfirmOrderFn(shopOrderId){//确认订单
+            const _self = this;
             CAIMEI.Modal('是否确认订单?','取消','确定',function () {
-                OrderApi.AffirmOrderOrder({orderId:orderId},function(response){
-                    if(response.code == 0){
+                OrderApi.AffirmOrderOrder({shopOrderId:shopOrderId},function(response){
+                    if(response.code === 0){
                         CAIMEI.dialog('确认成功',true,function () {
-                            _self.GetQueryOrderListData();
+                            _self.getList();
                         });
                     }else{
                         CAIMEI.Alert(response.msg, '确定', false);
@@ -188,13 +176,13 @@ var orderPage = new Vue({
                 })
             })
         },
-        hanldCancelOrderFn:function(orderId){//取消订单
-            var _self = this;
+        hanldCancelOrderFn(shopOrderId){//取消订单
+            const _self = this;
             CAIMEI.Modal('确认取消该订单吗?','取消','确定',function () {
-                OrderApi.GetCancelOrder({orderId:orderId , userIdentity : 0},function(response){
-                    if(response.code == 0){
+                OrderApi.GetCancelOrder({shopOrderId:shopOrderId , userIdentity : 0},function(response){
+                    if(response.code === 0){
                         CAIMEI.dialog('取消成功',true,function () {
-                            _self.GetQueryOrderListData();
+                            _self.getList();
                         });
                     }else{
                         CAIMEI.Alert(response.msg, '确定', false);
@@ -202,13 +190,13 @@ var orderPage = new Vue({
                 })
             })
         },
-        hanldDeleteOrderFn:function(orderId){//删除订单
-            var _self = this;
+        hanldDeleteOrderFn(shopOrderId){//删除订单
+            const _self = this;
             CAIMEI.Modal('确认删除该订单吗?','取消','确定',function () {
-                OrderApi.GetDeleteOrder({orderId:orderId},function(response){
-                    if(response.code == 0){
+                OrderApi.GetDeleteOrder({shopOrderId:shopOrderId},function(response){
+                    if(response.code === 0){
                         CAIMEI.dialog('删除成功',true,function () {
-                            _self.GetQueryOrderListData();
+                            _self.getList();
                         });
                     }else{
                         CAIMEI.Alert(response.msg, '确定', false);
@@ -216,37 +204,39 @@ var orderPage = new Vue({
                 })
             })
         },
-        hanldReceivingOrderFn:function(orderId){//确认收货
-            var _self = this;
+        hanldReceivingOrderFn(shopOrderId){//确认收货
+            const _self = this;
             CAIMEI.Modal('是否确认收货?','取消','确定',function () {
-                OrderApi.GetAffirmOrder({orderId:orderId},function(response){
-                    if(response.code == 0){
+                OrderApi.GetAffirmOrder({shopOrderId:shopOrderId},function(response){
+                    if(response.code === 0){
                         _self.beansType = 7;
                         _self.beanNumber = 100;
                         _self.isShowBeansAlet = true;
                         _self.handInitType(_self.beansType);
-                        _self.GetQueryOrderListData();
+                        _self.getList();
                     }else{
                         CAIMEI.Alert(response.msg, '确定', false);
                     }
                 })
             })
         },
-        hanldDetilsOrderFn:function(orderId){//订单详情
-            window.location.href='/user/order/detail.html?orderId='+orderId;
+        hanldDetilsOrderFn(shopOrderId){//订单详情
+            window.location.href='/user/order/detail.html?shopOrderId='+shopOrderId;
         },
-        hanldQueryExpressFn:function(orderId){//查看物流
-           window.location.href='/user/order/logistics.html?orderId='+orderId;
+        hanldQueryExpressFn(shopOrderId){//查看物流
+           window.location.href='/user/order/logistics.html?shopOrderId='+shopOrderId;
         },
-        hanldPayOrderFn:function(order,orderId){//支付订单
-            var _self = this;
+        hanldAddPay(order,shopOrderId){// 跳转上传支付凭证
+            window.location.href='/user/order/remarks-pay.html?shopOrderId='+shopOrderId;
+        },
+        hanldPayOrderFn(order,shopOrderId){//支付订单
+            const _self = this;
             _self.hanldOrderData = order;
-            _self.orderIdentificationId = '#'+orderId+'#';
-            OrderApi.OrderPaymentValidation({orderId:orderId},function(response){
-                if(response.code == 0){
+            OrderApi.OrderPaymentValidation({shopOrderId:shopOrderId},function(response){
+                if(response.code === 0){
                     var data = _self.payModelData = response.data;
-                    if(data.balanceFlag == 1){// 0可以走余额抵扣,1不能走余额抵扣
-                        window.location.href = '/pay/caimei-paylist.html?&orderId='+orderId;
+                    if(data.balanceFlag === 1){// 0可以走余额抵扣,1不能走余额抵扣
+                        window.location.href = '/pay/caimei-paylist.html?&orderId='+order.orderId;
                     }else{
                         switch(data.code){
                             case 1:
@@ -283,11 +273,7 @@ var orderPage = new Vue({
                                 CAIMEI.Alert('订单已申请全部退款,无需再付款!', '确定', false);
                                 break;
                             default:
-                                if(_self.hanldOrderData.onlinePayFlag == 1){
-                                    window.location.href = '/pay/caimei-payunder.html?orderId='+orderId;
-                                }else{
-                                    window.location.href = '/pay/caimei-paylist.html?orderId='+orderId;
-                                }
+                                window.location.href = '/pay/caimei-paylist.html?orderId='+order.orderId;
                         }
                     }
                 }else{
@@ -295,33 +281,27 @@ var orderPage = new Vue({
                 }
             })
         },
-        hanldPaymentConfirm:function(modelType) {//余额抵扣跳转
-            var _self = this;
+        hanldPaymentConfirm(modelType) {//余额抵扣跳转
+            const _self = this;
             OrderApi.OrderBalanceDeduction({orderId: _self.payModelData.orderId}, function (response) {
-                if (response.code == 0) {
+                if (response.code === 0) {
                     if (modelType === 2) {
                         window.location.href = '/pay/success.html?pageType=www&type=success&payAmount='+_self.payModelData.pendingPayments;
                     } else {
-                        window.location.href = '/pay/caimei-payunder.html?orderId='+_self.hanldOrderData.orderId;
+                        window.location.href = '/pay/caimei-paylist.html?orderId='+_self.hanldOrderData.orderId;
                     }
                 } else {
                     CAIMEI.Alert(response.msg, '确定', false);
                 }
             });
         },
-        hanldCancelConfirm:function(){//不使用余额抵扣直接跳转收银台
-            var _self = this;
-            if(_self.hanldOrderData.onlinePayFlag == 1){
-                window.location.href = '/pay/caimei-payunder.html?orderId='+_self.hanldOrderData.orderId;
-            }else{
-                window.location.href = '/pay/caimei-paylist.html?orderId='+_self.hanldOrderData.orderId;
-            }
+        hanldCancelConfirm(){//不使用余额抵扣直接跳转收银台
+            window.location.href = '/pay/caimei-paylist.html?orderId='+this.hanldOrderData.orderId;
         },
-        hidePaymentConfirm:function(){//隐藏弹窗
-            var _self = this;
-            _self.modelType = 0;
+        hidePaymentConfirm(){//隐藏弹窗
+            this.modelType = 0;
         },
-        copyOrderBtnSubmitFn:function(){//复制订单标识
+        copyOrderBtnSubmitFn(){//复制订单标识
             var _self = this;
             var oInput = document.createElement("textarea");
             oInput.value = _self.orderIdentificationId;
@@ -331,18 +311,16 @@ var orderPage = new Vue({
             document.body.removeChild(oInput);
             CAIMEI.dialog('复制成功');
         },
-        handInitType:function(type){//根据类型判断弹窗背景
-            var _self = this;
+        handInitType(type){//根据类型判断弹窗背景
             if(isPC){
-                _self.bgImagePath ='/img/account/icon-beans-'+type+'@2x.png';
+                this.bgImagePath ='/img/account/icon-beans-'+type+'@2x.png';
             }else {
-                _self.bgImagePath ='/img/account/icon-beans-h5-'+type+'@2x.png';
+                this.bgImagePath ='/img/account/icon-beans-h5-'+type+'@2x.png';
             }
             console.log(this.bgImagePath)
         },
         handleClickCancel:function () {//关闭弹窗
-            var _self = this;
-            _self.isShowBeansAlet = false;
+            this.isShowBeansAlet = false;
         }
     },
     mounted: function () {
@@ -352,28 +330,28 @@ var orderPage = new Vue({
             _self.listQuery.orderState = CAIMEI.getUrlParam('state');
             _self.listQuery.userId = this.userId;
             _self.orderTabBarIndex = this.listQuery.orderState;
-            _self.GetQueryOrderListData();
+            _self.getList();
         }
         $('.navLayout').find('.navList').removeClass("on").find('.con').hide().find('a').removeClass("on");
         $('.navLayout').find('.navList').eq(0).addClass("on").find('.con').show().find('a').eq(0).addClass("on");
-        var startDate = getDateStr(new Date(), -365), endDate = getDateStr(new Date(),0);
-        $('#orderDate').dateRangePicker({
-            language: 'cn',
-            startDate: startDate,
-            endDate: endDate,
-            format: 'YYYY-MM-DD',
-            autoClose: isPC,
-            showShortcuts:false,
-            isNowrap:false,
-            getValue: function() {
-                if (_self.listQuery.beginTime && _self.listQuery.endTime) {
-                    return _self.listQuery.beginTime+' to '+_self.listQuery.endTime;
-                } else {return '';}
-            },
-            setValue: function(s,s1,s2) {
-                _self.listQuery.beginTime = s1;
-                _self.listQuery.endTime = s2;
-            }
-        });
+        // var startDate = getDateStr(new Date(), -365), endDate = getDateStr(new Date(),0);
+        // $('#orderDate').dateRangePicker({
+        //     language: 'cn',
+        //     startDate: startDate,
+        //     endDate: endDate,
+        //     format: 'YYYY-MM-DD',
+        //     autoClose: isPC,
+        //     showShortcuts:false,
+        //     isNowrap:false,
+        //     getValue: function() {
+        //         if (_self.listQuery.beginTime && _self.listQuery.endTime) {
+        //             return _self.listQuery.beginTime+' to '+_self.listQuery.endTime;
+        //         } else {return '';}
+        //     },
+        //     setValue: function(s,s1,s2) {
+        //         _self.listQuery.beginTime = s1;
+        //         _self.listQuery.endTime = s2;
+        //     }
+        // });
     }
 });

+ 64 - 0
src/main/resources/static/js/user-center/order/remarks-add-pay.js

@@ -0,0 +1,64 @@
+;
+var Voucher = new Vue({
+    el:'#Voucher',
+    mixins: [cmSysVitaMixins],
+    data(){
+        return{
+            userInfo:{},
+            imgList:[],
+            formData:new FormData(),
+            txtVal: 0,
+            desc:'',
+            kdlist:[],
+            params:{
+                id: 0,
+                shopOrderId: 0, //子订单Id
+                remarks: '', 	// 备注
+                voucherImgs: ''// 备注图片
+            },
+            select:'',
+            electShow:false,
+        }
+    },
+    computed: {
+        disabled() {
+            return !(this.imgList.length > 0)
+        }
+    },
+    methods:{
+        bigImage:function(){
+            var viewer = new Viewer(document.getElementById('uploadGoodsImages'));
+        },
+        uploadGoodsImagesFn: function(event){//上传商品图片
+            const _this = this;
+            var inputDOM = _this.$refs.goodsImages;
+            var file = inputDOM.files;
+            _this.formData.append('file', file[0]);
+            PublicApi.uploadimg(_this.formData,function(response){
+               _this.imgList.push(response.data);
+                event.target.value = '';
+            });
+        },
+        removeGoodsImagesFn(index){//删除商品图片
+            this.imgList.splice(index,1)
+        },
+        // 保存
+        handleSave(){
+            const _self = this
+            console.log('params',this.params);
+            this.params.voucherImgs = this.imgList.join('##')
+            OrderApi.orderInsertVoucher(this.params,function (response) {
+                if(response.code === 0) {
+                    CAIMEI.dialog('保存成功',true,function () {
+                        window.location.href='/user/order/detail.html?shopOrderId='+_self.params.shopOrderId;
+                    })
+                }else {
+                    CAIMEI.Alert(response.msg,'确定',false);
+                }
+            })
+        }
+    },
+    mounted:function () {
+        this.params.shopOrderId = CAIMEI.getUrlParam('shopOrderId');
+    }
+})

+ 1 - 16
src/main/resources/templates/components/header.html

@@ -101,9 +101,6 @@
                     <input class="keyword" type="text" placeholder="请输入搜索关键词" maxlength="30"/>
                     <a class="searchBtn icon mIcon" href="javascript:void(0);" onclick="_czc.push(['_trackEvent','顶部导航','搜索按钮','点击','','Um_Event_SearchButton'])"></a>
                 </div>
-<!--                <div class="supplierH5" v-if="!isPC && (userIdentity !== 4 && userIdentity !== 2)">-->
-<!--                    <a class="mIcon supplier_H5" href="/supplier-login/index.html" title="供应商服务" rel="nofollow"></a>-->
-<!--                </div>-->
                 <!-- 热门搜索关键词 -->
                 <div class="hotKey">
                     <span th:each="word,wordStat: ${searchHotWord}">
@@ -113,16 +110,6 @@
                 </div>
             </div>
             <div class="wechat_qrcode">
-<!--                <div class="q_item">-->
-<!--                    <div class="q_item_icon"><img src="/img/common/qr_code_caimei.jpg" alt="采美公众号"></div>-->
-<!--                    <div class="q_item_code"><img src="/img/common/qr_code_caimei.jpg" alt="采美公众号"></div>-->
-<!--                    <p>采美公众号</p>-->
-<!--                </div>-->
-<!--                <div class="q_item">-->
-<!--                    <div class="q_item_icon"><img src="/img/common/qr_code_mini.jpg" alt="采美小程序"></div>-->
-<!--                    <div class="q_item_code"><img src="/img/common/qr_code_mini.jpg" alt="采美小程序"></div>-->
-<!--                    <p>采美小程序</p>-->
-<!--                </div>-->
                 <div class="q_item newCarLink" v-if="userIdentity!=3" @click="goCartsLinkFn" >
                     <div class="headCart">
                         <div class="bg_car"></div>
@@ -154,10 +141,8 @@
                             </div>
                         </div>
                     </div>
-<!--                    <div class="q_item_icon"></div>-->
-<!--                    <p>购物车</p>-->
                 </div>
-                <div class="q_item newMsgLink" @click="goMsgLinkFn('/supplier/message/list.html')">
+                <div class="q_item newMsgLink">
                     <div class="bg_msg"></div>
                     <div class="headmsg">
                         <a v-if="userIdentity===3" href="javascript:void(0)" class="WEB-icon msg-btn">消息<span style="color: #FF5B00;" v-text="'('+noticeNum+')'"></span></a>

+ 26 - 19
src/main/resources/templates/pay/caimei-paylist.html

@@ -2,6 +2,7 @@
 <html lang="zh-CN" xmlns:th="https://www.thymeleaf.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="https://www.thymeleaf.org ">
 <head>
+    <title>采美365网-支付订单</title>
     <template th:replace="components/head-link"></template>
     <link th:href="@{/css/pay/caimei-paylist.css(v=${version})}" rel="stylesheet" type="text/css">
     <template th:replace="components/analysis"></template>
@@ -17,12 +18,7 @@
     <div class="container" :class="{active: isRequest}" v-show="isRequest">
         <div class="pay-content">
             <div class="pay-title" v-if="!showPayUnder">
-                <div class="pay-title-le" v-if="isPC">支付订单<span>(因线上支付政策调整,请对每家店铺分别进行付款;若需要直接转账支付订单,请点击右侧按钮查看线下转账信息)</span></div>
-                <template v-else>
-                    <div class="pay-title-t">支付订单</div>
-                    <div class="pay-title-p">(因线上支付政策调整,请对每家店铺分别进行付款;若需要直接转账支付订单,请点击右侧按钮查看线下转账信息)</div>
-                </template>
-                <div class="pay-title-btn" @click="handleAlert">查看线下转账信息</div>
+                <div class="pay-title-le">支付订单</div>
             </div>
             <div class="pay-list-title" v-if="isPC">
                 <div class="pay-list-view t1">商品信息</div>
@@ -66,18 +62,26 @@
                 </div>
                 <div class="list-cell-button">
                     <div class="list-cell-vleft btn">
-                        <div class="list-cell-btn" v-if="list.receiptStatus != 3" @click="handlePayOrder(list.shopOrderId)">支付</div>
-                        <div class="list-cell-msg" v-if="list.obligation>0">
+                        <div class="list-cell-btn" v-if="list.onlinePay === 0 || list.onlinePay === 1" @click="handlePayOrder(list.shopOrderId)">线上支付</div>
+                        <div class="list-cell-btn" v-if="list.onlinePay === 0 || list.onlinePay === 2" @click="handleAlert(list)">线下转账</div>
+                        <div class="list-cell-msg" v-if="list.obligation >0">
                             待付:<span class="red">¥{{list.obligation | NumFormat}}</span>
                         </div>
-                    </div>
-                    <div class="list-cell-vleft">
-                        <div class="list-cell-msg" v-if="list.receiptAmount>0">
-                            已付:<span>¥{{list.receiptAmount | NumFormat}}</span>
-                        </div>
-                        <div class="list-cell-msg" v-if="list.eachDiscount>0">
+                        <div class="list-cell-msg" v-if="list.eachDiscount >0">
                             优惠:<span>¥{{list.eachDiscount | NumFormat}}</span>
                         </div>
+                        <div class="list-cell-msg" v-if="list.receiptAmount >0">
+                            已付:
+                            <span>
+                                ¥{{list.receiptAmount | NumFormat}}
+                                <span v-if="list.accountAmount > 0">
+                                    余额抵扣:(¥{{list.accountAmount | NumFormat}})
+                                </span>
+                            </span>
+                        </div>
+                        <div class="list-cell-msg" v-if="list.shopPostFee >0">
+                            运费:<span>¥{{ list.postageInfo }}</span>
+                        </div>
                     </div>
                 </div>
             </div>
@@ -89,18 +93,21 @@
             <div class="content">
                 <div class="content-top">
                     <div class="content-viw">
-                        <img class="wx_code" src="/img/base/Wecha.png" alt="微信客服">
+                        待付金额:<span class="red">¥{{ obligation | NumFormat }}</span>
+                    </div>
+                    <div class="content-viw">
+                        开户行:<span class="none">¥{{ shopPay.bankName }}</span>
                     </div>
                     <div class="content-viw">
-                        待付金额:<span class="red">¥{{ paidAmount | NumFormat }}</span>
+                        银行卡号:<span class="none">¥{{ shopPay.bankAccount }}</span>
                     </div>
                     <div class="content-viw">
-                        订单标识:<span v-text="orderIdentificationId"></span><span class="copy" @click="copyOrderBtnSubmitFn">复制</span>
+                        公司名称:<span class="none">¥{{ shopPay.bankAccountName }}</span>
                     </div>
                 </div>
                 <div class="content-bot">
-                    <p>请用微信扫码添加采美客服,将订单标识告知客</p>
-                    <p>服,客服会为您推荐最合适的线下转账方式。</p>
+                    <p>请将订单款项转账至上述账号,转账完成后</p>
+                    <p>截图支付凭证,并在订单页面上传支付凭证。</p>
                 </div>
             </div>
         </div>

+ 117 - 39
src/main/resources/templates/shopping/confirm.html

@@ -5,6 +5,9 @@
     <title>采美365网-核对订单信息</title>
     <template th:replace="components/head-link"></template>
     <link th:href="@{/css/base/form.css(v=${version})}" rel="stylesheet" type="text/css">
+    <!--element ui 样式表-->
+    <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css"/>
+    <link rel="stylesheet" href="/lib/element-ui/element-ui-min.css"/>
     <link th:href="@{/css/shopping/shopping.css(v=${version})}" rel="stylesheet" type="text/css">
     <template th:replace="components/analysis"></template>
 </head>
@@ -215,11 +218,68 @@
                     <div class="c5">{{cart.number}}</div>
                     <div v-if="isPC" class="c6"><span v-text="'¥'+ (cart.price * cart.number).toFixed(2)"></span></div>
                 </div>
-                <div class="supplierBtn">
-                    <span :class="supplier.reducedPrice>0?'priceTotal':'item'">合计:<em v-text="'¥'+toFloat(supplier.totalPrice)"></em>
-                        <span v-if="supplier.reducedPrice>0" class="dl"><del v-text="'¥'+toFloat(supplier.originalPrice)"></del><em>减{{'¥'+toFloat(supplier.reducedPrice)}}</em></span>
-                    </span>
-                    <div class="note">留言:<input type="text" v-model="supplier.note" placeholder="告诉卖家您的特殊要求"></div>
+                <div class="supplierBtn clear">
+                    <div class="item-note">留言:<input type="text" v-model="supplier.note" placeholder="告诉卖家您的特殊要求"></div>
+                    <div class="item-content">
+                        <span :class="supplier.reducedPrice>0?'priceTotal':'item'">
+                            合计:<em v-text="'¥'+toFloat(supplier.totalPrice)"></em>
+                            <span v-if="supplier.reducedPrice>0" class="dl"><del v-text="'¥'+toFloat(supplier.originalPrice)"></del><em>减{{'¥'+toFloat(supplier.reducedPrice)}}</em></span>
+                        </span>
+                        <div class="freight">
+                            <template v-if="supplier.postageFlag === 0">
+                                运费:
+                                <span>包邮</span>
+                            </template>
+                            <template v-if="supplier.postageFlag === 1">
+                                <el-popover
+                                        placement="bottom"
+                                        width="240"
+                                        trigger="click">
+                                    <div class="freight-radio">
+                                        <el-radio-group
+                                                v-model="supplier.handlePostageFlag"
+                                                @change="handlePostageFlag($event,supplier)">
+                                            <el-radio :label="1">不包邮</el-radio>
+                                            <el-radio :label="2">到付</el-radio>
+                                        </el-radio-group>
+                                    </div>
+                                    <template v-if="supplier.handlePostageFlag === 1">
+                                        <div class="freight-radio" v-if="supplier.coldChain>0">
+                                            <p style="float: left;">冷链运输费</p>
+                                            <p style="float: right;">
+                                                <span>¥{{ supplier.coldChain | NumFormat }}</span>
+                                                <el-checkbox v-model="supplier.isColdChina" @change="handleChangeColdChina($event,supplier)"></el-checkbox>
+                                            </p>
+                                        </div>
+                                        <div class="freight-radio">
+                                            <p style="float: left;">其他运费</p>
+                                            <p style="float: right;"><span>¥{{ supplier.postage | NumFormat }}</span></p>
+                                        </div>
+                                        <div class="freight-radio">
+                                            <p style="float: left;">总运费</p>
+                                            <p style="float: right;color: #F94B4B;"><span>¥{{ handleTotalPostage(supplier)  | NumFormat }}</span></p>
+                                        </div>
+                                    </template>
+                                    <template v-if="supplier.handlePostageFlag === 2">
+                                        <div class="freight-radio">
+                                            <p style="float: left;">总运费</p>
+                                            <p style="float: right;color: #F94B4B;"><span>到付</span></p>
+                                        </div>
+                                    </template>
+                                    <span slot="reference">
+                                    运费:
+                                    <span v-if="supplier.handlePostageFlag === 1">¥{{ handleTotalPostage(supplier) | NumFormat }}</span>
+                                    <span v-if="supplier.handlePostageFlag === 2">到付</span>
+                                    <i class="el-icon-caret-bottom"></i>
+                                </span>
+                                </el-popover>
+                            </template>
+                            <template v-if="supplier.postageFlag === 2">
+                                运费:
+                                <span>到付</span>
+                            </template>
+                        </div>
+                    </div>
                 </div>
             </div>
         </div>
@@ -227,43 +287,65 @@
         <h2 class="title">发票信息</h2>
         <div class="invoiceWrap">
             <div class="formLine">
-                <label class="diyBox"><input type="radio" name="invoice" v-model="orderInvoice.type" value="0" checked><i class="icon mIcon">不要发票</i></label>
-                <label class="diyBox"><input type="radio" name="invoice" v-model="orderInvoice.type" value="2"><i class="icon mIcon">要发票</i></label>
+                <label class="diyBox"><input type="radio" name="invoice" v-model="orderInvoice.type" value="0" checked><i class="icon mIcon">不开发票</i></label>
+                <label class="diyBox"><input type="radio" name="invoice" v-model="orderInvoice.type" value="1" checked><i class="icon mIcon">普通发票</i></label>
+                <label class="diyBox"><input type="radio" name="invoice" v-model="orderInvoice.type" value="2"><i class="icon mIcon">增值税专用发票</i></label>
             </div>
-            <div class="invoiceForm" v-show="orderInvoice.type==1"><!--普通发票-->
-                <div class="formLine">
-                    <p class="label"><em>*</em>发票内容:</p>
-                    <input type="text" disabled value="商品明细">
-                    <span class="errTips icon mIcon"></span>
-                </div>
+            <!--普通发票-->
+            <div class="invoiceForm" v-show="orderInvoice.type==1">
                 <div class="formLine">
                     <p class="label"><em>*</em>发票类型:</p>
                     <label class="diyBox"><input type="radio" name="invoiceTit" v-model="orderInvoice.invoiceTitleType" value="0"><i class="icon mIcon">个人</i></label>
-                    <label class="diyBox"><input type="radio" name="invoiceTit" v-model="orderInvoice.invoiceTitleType" value="1"><i class="icon mIcon">公司</i></label>
+                    <label class="diyBox"><input type="radio" name="invoiceTit" v-model="orderInvoice.invoiceTitleType" value="1"><i class="icon mIcon">单位</i></label>
                     <span class="errTips icon mIcon"></span>
                 </div>
                 <div class="formLine">
                     <p class="label"><em>*</em>发票抬头:</p>
-                    <input type="text" v-model.trim="orderInvoice.invoiceTitle" :placeholder="'请输入'+(orderInvoice.invoiceTitleType==1?'公司':'个人')+'抬头'" maxlength="20" @blur="blurHandle($event)" needverify>
+                    <input type="text" v-model.trim="orderInvoice.invoiceTitle" placeholder="请输入发票抬头" maxlength="20" @blur="blurHandle($event)" needverify>
                     <i class="checked icon mIcon"></i>
                     <span class="errTips icon mIcon" tips="请输入正确的发票抬头"></span>
                 </div>
                 <div class="formLine" v-show="orderInvoice.invoiceTitleType==1">
-                    <p class="label"><em>*</em>纳税人识别号:</p>
+                    <p class="label"><em>*</em>单位税号:</p>
                     <input type="text" v-model.trim="orderInvoice.corporationTaxNum" placeholder="请输入纳税人识别号" maxlength="20" @blur="blurHandle($event)" needverify>
                     <i class="checked icon mIcon"></i>
                     <span class="errTips icon mIcon" tips="请输入正确的纳税人识别号"></span>
                 </div>
+                <div class="formLine" v-show="orderInvoice.invoiceTitleType==1">
+                    <p class="label">注册地址:</p>
+                    <input type="text" v-model.trim="orderInvoice.registeredAddress" placeholder="选填" maxlength="40">
+                    <i class="checked icon mIcon"></i>
+                    <span class="errTips icon mIcon" tips=""></span>
+                </div>
+                <div class="formLine" v-show="orderInvoice.invoiceTitleType==1">
+                    <p class="label">注册电话:</p>
+                    <input type="text" v-model.trim="orderInvoice.registeredPhone" placeholder="选填" maxlength="15">
+                    <i class="checked icon mIcon"></i>
+                    <span class="errTips icon mIcon" tips=""></span>
+                </div>
+                <div class="formLine" v-show="orderInvoice.invoiceTitleType==1">
+                    <p class="label">开户银行:</p>
+                    <input type="text" v-model.trim="orderInvoice.openBank" placeholder="选填" maxlength="10">
+                    <i class="checked icon mIcon"></i>
+                    <span class="errTips icon mIcon" tips=""></span>
+                </div>
+                <div class="formLine" v-show="orderInvoice.invoiceTitleType==1">
+                    <p class="label">银行账号:</p>
+                    <input type="text" v-model.trim="orderInvoice.bankAccountNo" placeholder="选填" maxlength="19">
+                    <i class="checked icon mIcon"></i>
+                    <span class="errTips icon mIcon" tips=""></span>
+                </div>
             </div>
-            <div class="invoiceForm" v-show="orderInvoice.type==2"><!--增值税发票-->
+            <!--增值税发票-->
+            <div class="invoiceForm" v-show="orderInvoice.type==2">
                 <div class="formLine">
-                    <p class="label"><em>*</em>单位名称:</p>
-                    <input type="text" v-model.trim="orderInvoice.invoiceTitle" placeholder="请输入单位名称" maxlength="20" @blur="blurHandle($event)" needverify>
+                    <p class="label"><em>*</em>发票抬头:</p>
+                    <input type="text" v-model.trim="orderInvoice.invoiceTitle" placeholder="请输入发票抬头" maxlength="20" @blur="blurHandle($event)" needverify>
                     <i class="checked icon mIcon"></i>
                     <span class="errTips icon mIcon" tips="请输入正确的单位名称"></span>
                 </div>
                 <div class="formLine">
-                    <p class="label"><em>*</em>纳税人识别号:</p>
+                    <p class="label"><em>*</em>单位税号:</p>
                     <input type="text" v-model.trim="orderInvoice.corporationTaxNum" placeholder="请输入纳税人识别号" maxlength="20" @blur="blurHandle($event)" needverify>
                     <i class="checked icon mIcon"></i>
                     <span class="errTips icon mIcon" tips="请输入正确的纳税人识别号"></span>
@@ -297,11 +379,11 @@
         <h2 class="title">使用余额</h2>
         <div class="balanceWrap">
             <label class="check">
-                <input v-if="balance.userMoney>0" v-model="balance.flag" name="useBalance" type="checkbox" @change="useUserMoney()">
+                <input v-if="userMoney>0" v-model="balance.flag" name="useBalance" type="checkbox" @change="checkedBalabce">
                 <input v-else v-model="balance.flag" name="useBalance" type="checkbox" disabled>
-                <span class="text">当前余额:<span class="red">¥{{balance.userMoney | NumFormat}}</span></span>
-                <span class="text">已使用:<span class="red">¥{{balance.deductMoney | NumFormat}}</span></span>
-                <span class="text">剩余:<span class="red">¥{{balance.surplusMoney | NumFormat}}</span></span>
+                <span class="text">当前余额:<span class="red">¥{{ userMoney | NumFormat}}</span></span>
+                <span class="text">当前使用:<span class="red">¥{{ deductMoney | NumFormat}}</span></span>
+                <span class="text">剩余:<span class="red">¥{{ surplusMoney | NumFormat}}</span></span>
             </label>
         </div>
         <h2 class="title" v-if="isCouponShow">
@@ -340,25 +422,20 @@
         <div class="totalPriceWrap">
             <p>商品种类: <span>{{kindCount}}种</span></p>
             <p>数量总计: <span>{{totalCount}}件</span></p>
-            <p>运费:
-                <span v-if="hanldPostageFlag == -1">到付</span>
-                <span v-if="hanldPostageFlag == 0">包邮</span>
-                <span v-if="hanldPostageFlag == 1"><em>¥{{ hanldPostage | NumFormat }}</em></span>
-            </p>
             <p v-if="svipReducedPrice>0 && GLOBAL_VIP_FLAG === 1">超级会员优惠: <span><em>- ¥{{svipReducedPrice | NumFormat}}</em></span></p>
             <p v-if="reducedPrice>0">促销满减: <span><em>- ¥{{reducedPrice | NumFormat}}</em></span></p>
             <p>优惠券: <span><em>- ¥{{couponAmount | NumFormat}}</em></span></p>
             <p v-if="balance.deductMoney>0">抵扣账户余额: <span><em>- ¥{{balance.deductMoney | NumFormat}}</em></span></p>
             <p>总价: <span><em>¥{{hanldShouldPayFee | NumFormat}}</em></span></p>
-            <p class="pis" v-if="isBeansShow">
-                <span v-if="hanldPostageFlag == 1">可用{{ deductionBeans }}采美豆抵用{{ freightMoney }}元运费</span>
-                <span v-if="hanldPostageFlag == -1">可用{{ deductionBeans }}采美豆抵用{{ freightMoney }}运费</span>
-                <span>
-                    <label class="check">
-                        <input v-model="balance.isFreight" name="useBalance" type="checkbox" @change="changeDeductibleFreight()">
-                    </label>
-                </span>
-            </p>
+<!--            <p class="pis" v-if="isBeansShow">-->
+<!--                <span v-if="hanldPostageFlag == 1">可用{{ deductionBeans }}采美豆抵用{{ freightMoney }}元运费</span>-->
+<!--                <span v-if="hanldPostageFlag == -1">可用{{ deductionBeans }}采美豆抵用{{ freightMoney }}运费</span>-->
+<!--                <span>-->
+<!--                    <label class="check">-->
+<!--                        <input v-model="balance.isFreight" name="useBalance" type="checkbox" @change="changeDeductibleFreight()">-->
+<!--                    </label>-->
+<!--                </span>-->
+<!--            </p>-->
         </div>
     </div>
     <div class="summary-wrapper">
@@ -438,7 +515,6 @@
             </div>
         </div>
     </div>
-
     <!--  退货协议弹窗  -->
     <div class="dialog-agreement-wrapper" v-if="showAgreement">
         <div class="mask"></div>
@@ -454,7 +530,9 @@
 <!-- 引入底部 -->
 <template th:replace="components/footer"></template>
 <template th:replace="components/foot-link"></template>
+<script type="text/javascript" src="/lib/element-ui/element-ui.min.js"></script>
 <script charset="utf-8" type="text/javascript" th:src="@{/js/common/serviceapi/order.service.js(v=${version})}"></script>
+<script charset="utf-8" type="text/javascript" th:src="@{/js/shopping/mixins/conMixins.js(v=${version})}"></script>
 <script charset="utf-8" type="text/javascript" th:src="@{/js/shopping/confirm.js(v=${version})}"></script>
 </body>
 </html>

+ 1 - 0
src/main/resources/templates/supplier-center/order/delivery.html

@@ -42,6 +42,7 @@
                         <p>联系方式:<span>{{userInfo.mobile}}</span></p>
                     </div>
                     <p class="address">收货地址:<span>{{userInfo.address}}</span></p>
+                    <p class="address">留言:<span>{{ order.note ? order.note : '无' }}</span></p>
                 </div>
 
                 <div class="goods-info">

+ 138 - 47
src/main/resources/templates/supplier-center/order/detail.html

@@ -5,6 +5,9 @@
     <title>采美365网</title>
     <template th:replace="components/head-link"></template>
     <link th:href="@{/css/base/center.css(v=${version})}" rel="stylesheet" type="text/css">
+    <!--element ui 样式表-->
+    <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css"/>
+    <link rel="stylesheet" href="/lib/element-ui/element-ui-min.css"/>
     <link th:href="@{/css/supplier-center/order/detail.css(v=${version})}" rel="stylesheet" type="text/css">
     <template th:replace="components/analysis"></template>
 </head>
@@ -14,37 +17,32 @@
 
 <!-- 我的采美 -->
 <div id="seeDetail">
-    <div class="navLayout" v-cloak="">
-            <div class="crumbs" v-if="isPC">
-                <span>我的交易</span>
-                <span>&gt;</span>
-                <span>我的订单</span>
-                <span>&gt;</span>
-                <span>订单详情</span>
-             </div>
-<!--        <div v-else class="wrap_tittle mIcon" @click="opentittle">-->
-<!--            <i class="mIcon open"></i><span style="margin-left: 25px;">我的订单</span>-->
-<!--        </div>-->
+    <div class="navLayout" v-cloak>
+        <div class="crumbs" v-if="isPC">
+            <span>我的交易</span>
+            <span>&gt;</span>
+            <span>我的订单</span>
+            <span>&gt;</span>
+            <span>订单详情</span>
+        </div>
         <div class="wrap clear">
             <!--左侧面包屑-->
-                <template th:replace="supplier-center/components/tableft"></template>
+            <template th:replace="supplier-center/components/tableft"></template>
             <div class="right">
                 <div class="userinfo">
-                    <p class="info">
-                        <span>买家信息</span>
-                        <button type="button" class="comback" @click="history.go(-1)">返回</button>
-                    </p>
+                    <p class="info"><span>买家信息</span></p>
                     <div class="user">
                         <p>买家名称:<span>{{ userInfo.name ? userInfo.name : '' }}</span></p>
                         <p>收货人:<span>{{ userInfo.receiver ? userInfo.receiver : '' }}</span></p>
                         <p>联系方式:<span>{{ userInfo.mobile ? userInfo.mobile : '' }}</span></p>
                     </div>
                     <p class="address">收货地址:<span>{{userInfo.address}}</span></p>
+                    <p class="address">留言:<span>{{ order.note ? order.note : '无' }}</span></p>
                 </div>
                 <div class="product-info">
                     <div class="price">
-                        <p class="protitle">商品金额</p>
-                        <p class="price-right">结算商品金额:<span class="red">¥{{order.productAmount}}</span></p>
+                        <p class="protitle">商品金额:<span class="red">¥{{order.productAmount | amountfilters}}</span></p>
+                        <p class="price-right">结算商品金额:<span class="red">¥{{order.productAmount | amountfilters}}</span></p>
                     </div>
                     <div class="product" >
                         <ul class="product-title">
@@ -55,67 +53,159 @@
                             <li>总价</li>
                         </ul>
                         <ul class="pro-information">
-                            <li v-for="pro in orderList ">
+                            <li v-for="pro in orderProductList ">
                                 <div class="product-img">
-                                    <span class="tips" v-if="pro.productType==2||pro.productType==1">赠品</span>
+<!--                                    <span class="tips" v-if="pro.productType==2||pro.productType==1">赠品</span>-->
                                     <img :src="pro.image"/>
                                     <h3>{{pro.name}}</h3>
                                 </div>
-                                <div>{{pro.productUnit}}</div>
+                                <div>{{pro.productUnit}}</div>
                                 <div>¥{{pro.price}}</div>
                                 <div>{{pro.num}}</div>
                                 <div>¥{{pro.totalAmount}}</div>
                             </li>
                         </ul>
                     </div>
-
                     <div class="order-info">
                       <div class="info-title">订单信息</div>
                       <div class="content">
-                          <div class="title-name">
-                                <p>订单编号(标识):{{order.shopOrderNo}}</p>
-                           </div>
+                          <div class="order-item">
+                            <p>订单编号:{{order.shopOrderNo}}</p>
+                            <p class="state">{{order.status | statusFilters}}</p>
+                          </div>
                           <div class="order-item pay">
-                                <p>结算状态:&nbsp;
-                                    <span>{{ order.payStatus | payStatusType }}</span>
-                                 </p>
-                                 <p>发货状态:&nbsp;
-                                     <span>{{ order.sendOutStatus | sendOutStatusType }}</span>
-                                 </p>
+                            <p>结算状态:<span>{{ order.payStatus | payStatusType }}</span></p>
+                            <p>发货状态:<span>{{ order.sendOutStatus | sendOutStatusType }}</span> </p>
+                            <p>收款状态:<span>{{ order.receiptStatus | receiptStatusType }}</span> </p>
+                            <p>退款状态:&nbsp;<span>{{ order.refundStatus | refundStatusType }}</span> </p>
                           </div>
                           <div class="order-item">
-                                    <p>商品金额:<span class="red">¥{{ order.productAmount | NumFormat }}</span> </p>
-                                    <p>结算商品金额:<span class="red">¥{{ order.shopProductAmount | NumFormat }}</span> </p>
-                                    <p>结算税费:<span class="red">¥{{ order.shopTaxFee | NumFormat }}</span> </p>
-                                    <p>结算运费:<span class="red">¥{{ order.shopPostFee | NumFormat }}</span> </p>
-                            </div>
-                            <div class="order-item">
-                                    <p>总结算金额:<span class="red">¥{{ order.shouldPayShopAmount | NumFormat }}</span> </p>
-                                    <p>已结算金额:<span class="red">¥{{ order.payedShopAmount | NumFormat }}</span> </p>
-                             </div>
+                            <p>商品金额:<span class="red">¥{{ order.productAmount | amountfilters }}</span> </p>
+                            <p>结算商品金额:<span class="red">¥{{ order.shopProductAmount | amountfilters }}</span> </p>
+                            <p>结算税费:<span class="red">¥{{ order.shopTaxFee | amountfilters }}</span> </p>
+                            <p>订单来源:<span class="red">{{ order.organizeId === 0 ? '【采美平台】' : '【丽格集采联盟平台】' }}</span></p>
+                          </div>
+                          <div class="order-item">
+                                <p class="none">结算运费:<span class="red">{{ order.postageInfo }}</span> </p>
+                          </div>
+                          <div class="order-item">
+                                <p>总结算金额:<span class="red">¥{{ order.shouldPayShopAmount | amountfilters }}</span> </p>
+                                <p>已结算金额:<span class="red">¥{{ order.payedShopAmount | amountfilters }}</span> </p>
                          </div>
                     </div>
+                    <div class="order-info">
+                        <div class="info-title">发票信息</div>
+                        <div class="content">
+                            <div class="title-name">
+                                <p>{{  order.invoice | setInvoiceText }}</p>
+                            </div>
+                            <template v-if="order.invoice">
+                                <div class="order-item">
+                                    <p>发票抬头:<span class="none">{{ order.invoice.invoiceTitle ? order.invoice.invoiceTitle : '无' }}</span></p>
+                                    <p>单位税号:<span class="none">{{ order.invoice.corporationTaxNum ? order.invoice.corporationTaxNum : '无' }}</span> </p>
+                                    <p>注册地址:<span class="none">{{ order.invoice.registeredAddress ? order.invoice.registeredAddress : '无' }}</span> </p>
+                                </div>
+                                <div class="order-item">
+                                    <p>注册电话:<span class="none">{{ order.invoice.registeredPhone ? order.invoice.registeredPhone : '无' }}</span></p>
+                                    <p>开户银行:<span class="none">{{ order.invoice.openBank ? order.invoice.openBank : '无' }}</span></p>
+                                    <p>银行账号:<span class="none">{{ order.invoice.bankAccountNo ? order.invoice.bankAccountNo : '无' }}</span></p>
+                                </div>
+                            </template>
+                        </div>
+                    </div>
+                    <div class="order-info" v-if="voucher.length > 0">
+                        <div class="info-title">线下支付凭证</div>
+                        <div class="content">
+                            <div class="vouch-list clear" v-for="(vouch,index) in voucher" :key="index">
+                                <p class="refund-item-p">{{ vouch.addtime }}</p>
+                                <div class="refund-item-imgs">
+                                    <div v-for="(imgage,imgIndex) in vouch.imgs" :key="imgIndex" class="item-image">
+                                        <a :href="imgage.img" target="_blank" rel="noopener noreferrer">
+                                            <img :src="imgage.img" alt="">
+                                        </a>
+                                    </div>
+                                </div>
+                                <p v-if="vouch.remarks" class="refund-item-p">备注:{{ vouch.remarks }}</p>
+                            </div>
+                        </div>
+                    </div>
                     <div class="sett-re">
                         <div class="title">结算记录</div>
-                        <div class="payShopRecord shadow clear" v-if="payShopRecord !=''">
+                        <div class="payShopRecord shadow clear" v-if="payShopRecord!=''">
                              <div v-for="pay in payShopRecord">
                                  <p>{{pay.status}}.结算时间:{{pay.payTime}}</p>
                                  <p>结算金额:¥{{pay.payAmount}}</p>
                              </div>
                          </div>
-                         <div v-else>
+                         <div class="payShopRecord shadow clear"  v-else>
                             <p class="NoText">暂无结算记录</p>
                          </div>
                     </div>
-                     <div class="section-botton shadow" :class="isFiexd ? 'fiexd' : 'float'">
-                        <div class="inner">
-                         <a class="btn" href="javascript: void(0);" v-if="[1,2].indexOf(order.sendOutStatus)!=-1" :value="order.shopOrderId" @click="delivery(order.shopOrderId)">发货</a>
-                         <a class="btn" href="javascript: void(0);" v-if="[2,3].indexOf(order.sendOutStatus)!=-1" @click="record(order.shopOrderId)">发货记录</a>
-                         <a class="btn" href="javascript: void(0);" @click="Checklist(order.shopOrderId)" target="_blank">售货清单</a>
+                    <div class="section-botton shadow" :class="isFiexd ? 'fiexd' : 'float'">
+                        <div class="inner" style="text-align: right">
+                            <el-button @click="history.go(-1)">返回</el-button>
+                            <el-button
+                                    v-if="[1,2].indexOf(order.sendOutStatus) !== -1"
+                                    type="primary"
+                                    style="margin: 0 10px;"
+                                    @click="handeleDropdown(1,order.shopOrderId)">
+                                发货
+                            </el-button>
+                            <el-button
+                                    v-if="[2,3].indexOf(order.sendOutStatus) !== -1"
+                                    type="primary"
+                                    style="margin: 0 10px;"
+                                    @click="handeleDropdown(2,order.shopOrderId)">
+                                发货记录
+                            </el-button>
+                            <el-dropdown class="dropdown" trigger="click" placement="top">
+                                <el-button type="primary">操作</el-button>
+                                <el-dropdown-menu slot="dropdown" >
+                                    <el-dropdown-item v-if="order.checkFlag === 2">
+                                        <div @click="handeleDropdown(6,order.shopOrderId)">上传线下支付凭证</div>
+                                    </el-dropdown-item>
+                                    <el-dropdown-item v-if="order.checkFlag === 2">
+                                        <div @click="handeleDialogFormVisible"> 确认收款金额</div>
+                                    </el-dropdown-item>
+                                    <el-dropdown-item v-if="order.receiptStatus === 1 || order.accountAmount>0">
+                                        <div @click="handeleDropdown(7,order.shopOrderId)"> 修改订单</div>
+                                    </el-dropdown-item>
+                                    <el-dropdown-item v-if="order.receiptStatus === 2 || order.receiptStatus === 3">
+                                        <div @click="handeleDropdown(3,order.shopOrderId)">发起退款</div>
+                                    </el-dropdown-item>
+                                    <el-dropdown-item>
+                                        <div @click="handeleDropdown(4,order.shopOrderId)">订单备注</div>
+                                    </el-dropdown-item>
+                                    <el-dropdown-item>
+                                        <div @click="handeleDropdown(5,order.shopOrderId)">售货清单</div>
+                                    </el-dropdown-item>
+                                </el-dropdown-menu>
+                            </el-dropdown>
                         </div>
                     </div>
                 </div>
             </div>
+            <!--更改收款状态弹窗-->
+            <el-dialog title="更改收款状态" :visible.sync="dialogFormVisible" width="380px" style="margin: 200px auto;">
+                <el-form ref="dataForm" :rules="rules" :model="chengeOrder" label-position="right" label-width="150px">
+                    <el-row :gutter="24" class="box-row" style="margin-bottom: 20px;">
+                        <el-col :span="12"><b>应收金额:</b> ¥{{ order.needPayAmount | amountfilters }}</el-col>
+                        <el-col :span="12"><b>已收金额:</b>¥{{ order.receiptAmount | amountfilters }}</el-col>
+                    </el-row>
+                    <el-row :gutter="24" class="box-row" style="margin-bottom: 20px;">
+                        <el-col :span="12"><b>未收金额:</b> ¥{{ (order.needPayAmount - order.receiptAmount) | amountfilters }}</el-col>
+                    </el-row>
+                    <el-form-item label="订单本次收款金额:" prop="amount" :rules="rules.amount">
+                        <el-input v-model="chengeOrder.amount" style="width: 180px">
+                            <template slot="prepend">¥</template>
+                        </el-input>
+                    </el-form-item>
+                </el-form>
+                <div slot="footer" class="dialog-footer">
+                    <el-button @click="dialogFormVisible = false">取消</el-button>
+                    <el-button type="primary" :disabled="disabled" @click="handleChangOrder">确定</el-button>
+                </div>
+            </el-dialog>
         </div>
     </div>
 </div>
@@ -123,6 +213,7 @@
 <!-- 引入底部 -->
 <template th:replace="components/footer"></template>
 <template th:replace="components/foot-link"></template>
+<script type="text/javascript" src="/lib/element-ui/element-ui.min.js"></script>
 <script charset="utf-8" type="text/javascript" th:src="@{/js/center.js(v=${version})}"></script>
 <script charset="utf-8" type="text/javascript" th:src="@{/js/common/serviceapi/supplier.service.js(v=${version})}"></script>
 <script charset="utf-8" type="text/javascript" th:src="@{/js/supplier-center/order/detail.js(v=${version})}"></script>

+ 205 - 109
src/main/resources/templates/supplier-center/order/list.html

@@ -5,8 +5,10 @@
     <title>采美365网</title>
     <template th:replace="components/head-link"></template>
     <link th:href="@{/css/base/center.css(v=${version})}" rel="stylesheet" type="text/css">
+    <!--element ui 样式表-->
+    <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css"/>
+    <link rel="stylesheet" href="/lib/element-ui/element-ui-min.css"/>
     <link th:href="@{/css/supplier-center/order/orderlist.css(v=${version})}" rel="stylesheet" type="text/css">
-
     <template th:replace="components/analysis"></template>
 </head>
 <body>
@@ -26,130 +28,224 @@
         <div class="wrap clear">
             <!--左侧导航-->
             <template th:replace="supplier-center/components/tableft"></template>
-
             <div class="right">
-                <div class="new-s-item">
-                        <form action="">
-                            <div class='order-border'><span>订单编号:</span><input type="text" id="order-number" v-model="params.shopOrderNo" class="Buyer" placeholder="请输入订单编号"></div>
-                            <div class='order-border'><span>收货人名称:</span><input type="text" id="name-buyer" v-model="params.receiver" class="Buyer" placeholder="请输入收货人名称"> </div>
-                            <div>
-                                结算状态:
-                                <select name="" id="settlement-status" class="state" @change="getpayStatus($event)">
-                                    <option value="0" v-for="p in pay" :value="p.value">{{p.name}}</option>
-                                </select>
+                <div class="head-top clear">
+                    <div class='form-row low'>
+                        <span v-if="isPC">订单编号:</span>
+                        <el-input
+                                v-model="listQuery.shopOrderNo"
+                                class="state"
+                                placeholder="请输入订单编号"
+                                clearable
+                                @keyup.enter.native="getList"
+                                @clear="getList"
+                        ></el-input>
+                    </div>
+                    <div class='form-row low'>
+                        <span v-if="isPC">收货人名:</span>
+                        <el-input
+                                v-model="listQuery.receiver"
+                                class="state"
+                                placeholder="请输入收货人名称"
+                                clearable
+                                @keyup.enter.native="getList"
+                                @clear="getList"
+                        ></el-input>
+                    </div>
+                    <div class="form-row">
+                        <span v-if="isPC">结算状态:</span>
+                        <el-select v-model="listQuery.payStatus" class="state" clearable @change="getList">
+                            <el-option label="所有" value="" ></el-option>
+                            <el-option label="待结算" value="1"></el-option>
+                            <el-option label="部分结算" value="2"></el-option>
+                            <el-option label="已结算" value="3"></el-option>
+                        </el-select>
+                    </div>
+                    <div class="form-row">
+                        <span v-if="isPC">发货状态:</span>
+                        <el-select v-model="listQuery.sendOutStatus" class="state" clearable @change="getList">
+                            <el-option label="所有" value="" ></el-option>
+                            <el-option label="待发货" value="1"></el-option>
+                            <el-option label="部分发货" value="2"></el-option>
+                            <el-option label="已发货" value="3"></el-option>
+                        </el-select>
+                    </div>
+                    <div class="form-row">
+                        <span v-if="isPC">收款状态:</span>
+                        <el-select v-model="listQuery.receiptStatus" class="state" clearable @change="getList">
+                            <el-option label="所有" value="" ></el-option>
+                            <el-option label="待收款" value="1"></el-option>
+                            <el-option label="部分收款" value="2"></el-option>
+                            <el-option label="已收款" value="3"></el-option>
+                        </el-select>
+                    </div>
+                    <div class="form-row">
+                        <span v-if="isPC">退款状态:</span>
+                        <el-select v-model="listQuery.refundStatus" class="state" clearable @change="getList">
+                            <el-option label="所有" value="" ></el-option>
+                            <el-option label="无退款" value="1"></el-option>
+                            <el-option label="已退款" value="3"></el-option>
+                        </el-select>
+                    </div>
+                    <div class="form-row">
+                        <span v-if="isPC">订单来源:</span>
+                        <el-select v-model="listQuery.organizeId" class="state" clearable @change="getList">
+                            <el-option label="所有" value="" ></el-option>
+                            <el-option label="【采美平台】" value="0"></el-option>
+                            <el-option label="【丽格集采联盟平台】" value="4"></el-option>
+                        </el-select>
+                    </div>
+                    <div id="newBtn">
+                        <el-button type="primary" @click="getList">查询</el-button>
+                    </div>
+                </div>
+                <div class="order-content-main"  v-if="results.length>0">
+                     <div class="supplier-main order" v-for="(order,index) in results" :key="index">
+                        <div class="order-title" >
+                            <div class="title-name">
+                                <p>订单编号:{{order.shopOrderNo}}</p>
+                                <p class="state">{{order.status | statusFilters}}</p>
                             </div>
-                            <div>
-                                发货状态:
-                                <select name="" id="delivery-status" class="state " @change="getstatus($event)" >
-                                    <option  v-for="s in Status" :value="s.value">{{s.name}}</option>
-                                </select>
+                            <div class="title-time">
+                                <p>下单时间:{{order.orderTime}}</p>
                             </div>
-                                <button type="button" class="query-btn" @click="serchBtn">查询</button>
-                        </form>
-                            <!--loading-->
-                        <div v-if="isRequset" class="loading">
-                            <img src="/img/base/loading.gif">
                         </div>
-                        <template v-else>
-                        <div  v-if="results.length>0">
-                             <div class="supplier-main order" v-for="(order,index) in results" :key="index">
-                                <div class="order-title" >
-                                    <div class="title-name">
-                                        <p>订单编号(标识):{{order.shopOrderNo}}</p>
-                                    </div>
-                                    <div class="title-time">
-                                        <p>下单时间:{{order.orderTime}}</p>
-                                    </div>
+                        <div class="order-content">
+                            <div class="order-item pay">
+                                <p>结算状态:&nbsp;
+                                    <span>{{ order.payStatus | payStatusType }}</span>
+                                </p>
+                                <p>发货状态:&nbsp;
+                                    <span>{{ order.sendOutStatus | sendOutStatusType }}</span>
+                                </p>
+                                <p>收款状态:&nbsp;
+                                    <span>{{ order.receiptStatus | receiptStatusType }}</span>
+                                </p>
+                                <p>退款状态:&nbsp;
+                                    <span>{{ order.refundStatus | refundStatusType }}</span>
+                                </p>
+                            </div>
+                            <div class="order-item">
+                                <p>商品金额:<span class="red">¥{{order.productAmount| amountfilters}}</span> </p>
+                                <p>结算商品金额:<span class="red">¥{{order.shopProductAmount| amountfilters}}</span> </p>
+                                <p>结算税费:<span class="red">¥{{order.shopTaxFee| amountfilters}}</span> </p>
+                                <p>订单来源:<span class="red">{{ order.organizeId === 0 ? '【采美平台】' : '【丽格集采联盟平台】' }}</span></p>
+                            </div>
+                            <div class="order-item">
+                                <p class="none">结算运费:<span class="red">{{order.postageInfo }}</span> </p>
+                            </div>
+                            <div class="order-item">
+                                <p>总结算金额:<span class="red">¥{{order.shouldPayShopAmount| amountfilters}}</span> </p>
+                                <p>已结算金额:<span class="red">¥{{order.payedShopAmount| amountfilters}}</span> </p>
+                            </div>
+                            <div class="order-product" v-for="proitem in order.orderProductList">
+                                <div class="product-img">
+                                    <img :src="proitem.image"/>
+<!--                                    <span class="tips" v-if="proitem.productType==2||proitem.productType==1">赠品</span>-->
                                 </div>
-                                <div class="order-content">
-                                    <div class="order-item pay">
-                                        <p>结算状态:&nbsp;
-                                            <span>{{ order.payStatus | payStatusType }}</span>
-                                        </p>
-                                        <p>发货状态:&nbsp;
-                                            <span>{{ order.sendOutStatus | sendOutStatusType }}</span>
-                                        </p>
-                                    </div>
-                                    <div class="order-item">
-                                        <p>商品金额:<span class="red">¥{{order.productAmount| NumFormat}}</span> </p>
-                                        <p>结算商品金额:<span class="red">¥{{order.shopProductAmount| NumFormat}}</span> </p>
-                                        <p>结算税费:<span class="red">¥{{order.shopTaxFee| NumFormat}}</span> </p>
-                                        <p>结算运费:<span class="red">¥{{order.shopPostFee| NumFormat}}</span> </p>
-                                    </div>
-                                    <div class="order-item">
-                                        <p>总结算金额:<span class="red">¥{{order.shouldPayShopAmount| NumFormat}}</span> </p>
-                                        <p>已结算金额:<span class="red">¥{{order.payedShopAmount| NumFormat}}</span> </p>
-                                    </div>
-                                    <div class="order-product" v-for="proitem in order.orderProductList">
-                                        <div class="product-img">
-                                            <img :src="proitem.image"/>
-                                            <span class="tips" v-if="proitem.productType==2||proitem.productType==1">赠品</span>
-                                        </div>
-                                        <div class="product-info">
-                                            <h3>{{proitem.name}}</h3>
-                                            <p>
-                                            <span class="num" >数量:&nbsp;{{proitem.num}}</span>
-                                            <span class="num" >规格: {{proitem.productUnit}}</span>
-                                            <span class="num">已发货:&nbsp;{{proitem.shipmentsNum}}</span>
-                                            <span class="num" v-if="order.returnedNum!=null&&order.returnedNum!=0">已退/已取消:&nbsp;{{proitem.actualCancelNum}}</span>
-                                            </p>
-                                            <p >单价:&nbsp;<span>¥{{proitem.price| NumFormat}}</span> </p>
-                                            <p>合计:&nbsp;<span class="red">¥{{proitem.totalAmount| NumFormat}}</span> </p>
-                                        </div>
-
-                                    </div>
-                                    <div class="order-botton">
-                                       <div>
-                                            <a class="btn" href="javascript: void(0);" v-if="[1,2].indexOf(order.sendOutStatus)!=-1" :value="order.shopOrderId" @click="delivery(order.shopOrderId)">发货</a>
-                                            <a class="btn" href="javascript: void(0);" v-if="[2,3].indexOf(order.sendOutStatus)!=-1" @click="record(order.shopOrderId)">发货记录</a>
-                                            <a class="btn" href="javascript: void(0);" @click="Checklist(order.shopOrderId)" target="_blank">售货清单</a>
-                                            <a class="btn deatil" href="javascript: void(0);" @click="seedetail(order.shopOrderId)" >查看详情</a>
-                                       </div>
-
-                                    </div>
+                                <div class="product-info">
+                                    <h3>{{proitem.name}}</h3>
+                                    <p>
+                                    <span class="num" >数量:&nbsp;{{proitem.num}}</span>
+                                    <span class="num" >规格: {{proitem.productUnit}}</span>
+                                    <span class="num">已发货:&nbsp;{{proitem.shipmentsNum}}</span>
+                                    <span class="num" v-if="order.returnedNum!=null&&order.returnedNum!=0">已退/已取消:&nbsp;{{proitem.actualCancelNum}}</span>
+                                    </p>
+                                    <p >单价:&nbsp;<span>¥{{proitem.price| amountfilters}}</span> </p>
+                                    <p>合计:&nbsp;<span class="red">¥{{proitem.totalAmount| amountfilters}}</span> </p>
                                 </div>
-                                 <div class="userinfo" >
-                                        <div class="username">
-                                             <p>买家名称:<span class="blcak">{{ order.userInfo ? order.userInfo.name : ''}}</span> </p>
-                                             <p >收货人:<span class="blcak">{{ order.userInfo ? order.userInfo.receiver : ''}}</span> </p>
-                                             <p >联系方式:<span class="blcak">{{ order.userInfo ? order.userInfo.mobile : ''}}</span> </p>
-                                        </div>
-                                        <div class="address">
-                                            <p >收货地址:&nbsp;&nbsp;<span class="blcak">{{ order.userInfo ? order.userInfo.address : ''}}</span> </p>
-                                        </div>
-                                 </div>
                             </div>
-                        </div>
-                            <div v-else class="empty">
-                                <img src="/img/common/empty.png">
-                                <div class="msg"><p>暂无数据</p></div>
+                            <div class="order-botton" style="text-align: right">
+                               <el-button type="primary" style="margin: 0 10px;" @click="handleDetail(order.shopOrderId)">查看详情</el-button>
+                               <el-dropdown class="dropdown" trigger="click" placement="top">
+                                   <el-button type="primary">操作</el-button>
+                                   <el-dropdown-menu slot="dropdown">
+                                       <el-dropdown-item v-if="order.checkFlag === 2">
+                                         <div @click="handeleDropdown(6,order.shopOrderId)">上传线下支付凭证</div>
+                                       </el-dropdown-item>
+                                       <el-dropdown-item v-if="order.checkFlag === 2">
+                                         <div @click="handeleDialogFormVisible(order)"> 确认收款金额</div>
+                                       </el-dropdown-item>
+                                       <el-dropdown-item v-if="order.receiptStatus === 1 || order.accountAmount>0">
+                                         <div @click="handeleDropdown(7,order.shopOrderId)"> 修改订单</div>
+                                       </el-dropdown-item>
+                                       <el-dropdown-item v-if="[1,2].indexOf(order.sendOutStatus) !== -1">
+                                         <div @click="handeleDropdown(1,order.shopOrderId)">发货</div>
+                                       </el-dropdown-item>
+                                       <el-dropdown-item v-if="[2,3].indexOf(order.sendOutStatus) !== -1">
+                                           <div @click="handeleDropdown(2,order.shopOrderId)">发货记录</div>
+                                       </el-dropdown-item>
+                                       <el-dropdown-item v-if="order.receiptStatus === 2 || order.receiptStatus === 3">
+                                           <div @click="handeleDropdown(3,order.shopOrderId)">发起退款</div>
+                                       </el-dropdown-item>
+                                       <el-dropdown-item>
+                                           <div @click="handeleDropdown(4,order.shopOrderId)">订单备注</div>
+                                       </el-dropdown-item>
+                                       <el-dropdown-item>
+                                           <div @click="handeleDropdown(5,order.shopOrderId)">售货清单</div>
+                                       </el-dropdown-item>
+                                   </el-dropdown-menu>
+                               </el-dropdown>
                             </div>
-                         </template>
+                        </div>
+                         <div class="userinfo" >
+                                <div class="username">
+                                     <p>买家名称:<span class="blcak">{{ order.userInfo ? order.userInfo.name : ''}}</span> </p>
+                                     <p >收货人:<span class="blcak">{{ order.userInfo ? order.userInfo.receiver : ''}}</span> </p>
+                                     <p >联系方式:<span class="blcak">{{ order.userInfo ? order.userInfo.mobile : ''}}</span> </p>
+                                </div>
+                                <div class="address">
+                                    <p >收货地址:&nbsp;&nbsp;<span class="blcak">{{ order.userInfo ? order.userInfo.address : ''}}</span> </p>
+                                </div>
+                                <p class="address">留言:<span>{{ order.note ? order.note : '无' }}</span></p>
+                         </div>
                     </div>
-
-                     <div v-if="(!isPC) && noMore" class="noMore">---- 没有更多了 ----</div>
-                     <div class="pageWrap clear" v-if="isPC && pageTotal>1">
-                            <a v-if="params.pageNum>1" class="prev" @click="toPagination(params.pageNum*1-1)" href="javascript:void(0);"></a>
-                            <template v-for="n in showPageBtn">
-                                <a v-if="n" :class="{'on':(n==params.pageNum)}" @click="toPagination(n)" href="javascript:void(0);" v-text="n"></a>
-                                <span v-else>···</span>
-                            </template>
-                            <a v-if="params.pageNum<pageTotal" class="next" @click="toPagination(params.pageNum*1+1)" href="javascript:void(0);"></a>
-                            <span>共<b v-text="pageTotal>1?pageTotal:1"></b>页</span>
-                            <span>跳至</span>
-                            <input v-model="pageInput" @blur="checkNum()"/>
-                            <span>页</span>&nbsp;
-                            <a class="btn" href="javascript:void(0);" @click="toPagination(pageInput)">点击跳转</a>
-                   </div>
+                </div>
+                <div v-else class="empty">
+                    <img src="/img/common/empty.png">
+                    <div class="msg"><p>暂无数据</p></div>
+                </div>
+                <div class="pagination">
+                    <el-pagination
+                            background
+                            :small="false"
+                            @current-change="handleCurrentChange"
+                            :current-page="listQuery.pageNum"
+                            :layout="layout"
+                            :total="total"
+                    >
+                    </el-pagination>
+                </div>
             </div>
-
-         </div>
+            <!--更改收款状态弹窗-->
+            <el-dialog title="更改收款状态" :visible.sync="dialogFormVisible" width="380px" style="margin: 200px auto;">
+                <el-form ref="dataForm" :rules="rules" :model="chengeOrder" label-position="right" label-width="150px">
+                    <el-row :gutter="24" class="box-row" style="margin-bottom: 20px;">
+                        <el-col :span="12"><b>应收金额:</b> ¥{{ handleOrder.needPayAmount | amountfilters }}</el-col>
+                        <el-col :span="12"><b>已收金额:</b>¥{{ handleOrder.receiptAmount | amountfilters }}</el-col>
+                    </el-row>
+                    <el-row :gutter="24" class="box-row" style="margin-bottom: 20px;">
+                        <el-col :span="12"><b>未收金额:</b> ¥{{ (handleOrder.needPayAmount - handleOrder.receiptAmount) | amountfilters }}</el-col>
+                    </el-row>
+                    <el-form-item label="订单本次收款金额:" prop="amount" :rules="rules.amount">
+                        <el-input v-model="chengeOrder.amount" style="width: 180px">
+                            <template slot="prepend">¥</template>
+                        </el-input>
+                    </el-form-item>
+                </el-form>
+                <div slot="footer" class="dialog-footer">
+                    <el-button @click="dialogFormVisible = false">取消</el-button>
+                    <el-button type="primary" :disabled="disabled" @click="handleChangOrder">确定</el-button>
+                </div>
+            </el-dialog>
+        </div>
   </div>
 </div>
 
 <!-- 引入底部 -->
 <template th:replace="components/footer"></template>
 <template th:replace="components/foot-link"></template>
+<script type="text/javascript" src="/lib/element-ui/element-ui.min.js"></script>
 <script charset="utf-8" type="text/javascript" th:src="@{/js/center.js(v=${version})}"></script>
 <script charset="utf-8" type="text/javascript" th:src="@{/js/common/serviceapi/supplier.service.js(v=${version})}"></script>
 <script charset="utf-8" type="text/javascript" th:src="@{/js/supplier-center/order/orderlist.js(v=${version})}"></script>

+ 135 - 0
src/main/resources/templates/supplier-center/order/order-edit.html

@@ -0,0 +1,135 @@
+<!DOCTYPE html>
+<html lang="zh-CN" xmlns:th="https://www.thymeleaf.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="https://www.thymeleaf.org ">
+<head>
+    <title>采美365网-修改订单</title>
+    <template th:replace="components/head-link"></template>
+    <link th:href="@{/css/base/center.css(v=${version})}" rel="stylesheet" type="text/css">
+    <!--element ui 样式表-->
+    <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css"/>
+    <link rel="stylesheet" href="/lib/element-ui/element-ui-min.css"/>
+    <link th:href="@{/css/supplier-center/order/order-edit.css(v=${version})}" rel="stylesheet" type="text/css">
+    <template th:replace="components/analysis"></template>
+</head>
+<body>
+<!-- 引用头部 -->
+<template th:replace="components/header"></template>
+
+<!-- 我的采美 -->
+<div id="seeDetail">
+    <div class="navLayout" v-cloak>
+        <div class="crumbs" v-if="isPC">
+            <span>我的交易</span>
+            <span>&gt;</span>
+            <span>我的订单</span>
+            <span>&gt;</span>
+            <span>订单详情</span>
+        </div>
+        <div class="wrap clear">
+            <!--左侧面包屑-->
+            <template th:replace="supplier-center/components/tableft"></template>
+            <div class="right">
+                <div class="userinfo">
+                    <p class="info">
+                        <span>买家信息</span>
+                        <span class="comback">
+                            <el-button round  style="margin: 0 10px;" @click="history.go(-1)">返回</el-button>
+                        </span>
+                    </p>
+                    <div class="user">
+                        <p>买家名称:<span>{{ userInfo.name ? userInfo.name : '' }}</span></p>
+                        <p>收货人:<span>{{ userInfo.receiver ? userInfo.receiver : '' }}</span></p>
+                        <p>联系方式:<span>{{ userInfo.mobile ? userInfo.mobile : '' }}</span></p>
+                    </div>
+                    <p class="address">收货地址:<span>{{userInfo.address}}</span></p>
+                    <p class="address">留言:<span>{{ order.note ? order.note : '无' }}</span></p>
+                </div>
+                <div class="product-info">
+                    <div class="price">
+                        <p class="protitle">商品金额:<span class="red">¥{{order.productAmount | amountfilters}}</span></p>
+                        <p class="price-right">结算商品金额:<span class="red">¥{{order.productAmount | amountfilters}}</span></p>
+                    </div>
+                    <div class="product" >
+                        <ul class="product-title">
+                            <li>商品信息</li>
+                            <li>规格</li>
+                            <li>单价</li>
+                            <li>数量</li>
+                            <li>总价</li>
+                        </ul>
+                        <ul class="pro-information">
+                            <li v-for="pro in orderProductList ">
+                                <div class="product-img">
+                                    <img :src="pro.image"/>
+                                    <h3>{{pro.name}}</h3>
+                                </div>
+                                <div>{{pro.productUnit}}</div>
+                                <div>
+                                    <el-input v-model="pro.price" style="width: 90px" @input="e => (pro.price= checkedInput(e))"></el-input>
+                                </div>
+                                <div>
+                                    <el-input
+                                        v-model="pro.num"
+                                        type="text"
+                                        style="width: 60px"
+                                        placeholder="请输入商品数量"
+                                        disabled="true"
+                                        maxlength="10">
+                                    </el-input>
+                                </div>
+                                <div>¥{{pro.price*pro.num}}</div>
+                            </li>
+                        </ul>
+                    </div>
+                    <div class="order-info">
+                      <div class="info-title">订单信息</div>
+                      <div class="content">
+                          <div class="order-item">
+                              <p>订单编号:{{order.shopOrderNo}}</p>
+                              <p class="state">{{order.status | statusFilters}}</p>
+                           </div>
+                          <div class="order-item pay">
+                              <p>结算状态:<span>{{ order.payStatus | payStatusType }}</span></p>
+                              <p>发货状态:<span>{{ order.sendOutStatus | sendOutStatusType }}</span> </p>
+                              <p>收款状态:<span>{{ order.receiptStatus | receiptStatusType }}</span> </p>
+                              <p>退款状态:&nbsp;<span>{{ order.refundStatus | refundStatusType }}</span> </p>
+                          </div>
+                          <div class="order-item">
+                              <p>商品金额:<span class="red">¥{{ order.productAmount | amountfilters }}</span> </p>
+                              <p>结算商品金额:<span class="red">¥{{ order.shopProductAmount | amountfilters }}</span> </p>
+                              <p>结算税费:<span class="red">¥{{ order.shopTaxFee | amountfilters }}</span> </p>
+                              <p>订单来源:<span class="red">{{ order.organizeId === 0 ? '【采美平台】' : '【丽格集采联盟平台】' }}</span></p>
+                          </div>
+                          <div class="order-item">
+                              <p class="none">结算运费:<span class="red">{{ order.postageInfo }}</span> </p>
+                          </div>
+                          <div class="order-item">
+                              <p>总结算金额:<span class="red">¥{{ order.shouldPayShopAmount | amountfilters }}</span> </p>
+                              <p>已结算金额:<span class="red">¥{{ order.payedShopAmount | amountfilters }}</span> </p>
+                          </div>
+                    </div>
+                    <div class="section-botton shadow" :class="isFiexd ? 'fiexd' : 'float'">
+                        <div class="inner" style="text-align: right">
+                            <el-button
+                                    type="primary"
+                                    style="margin: 0 10px;"
+                                    @click="handeleUpdate">
+                                确认修改
+                            </el-button>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+
+<!-- 引入底部 -->
+<template th:replace="components/footer"></template>
+<template th:replace="components/foot-link"></template>
+<script type="text/javascript" src="/lib/element-ui/element-ui.min.js"></script>
+<script charset="utf-8" type="text/javascript" th:src="@{/js/center.js(v=${version})}"></script>
+<script charset="utf-8" type="text/javascript" th:src="@{/js/common/serviceapi/supplier.service.js(v=${version})}"></script>
+<script charset="utf-8" type="text/javascript" th:src="@{/js/supplier-center/order/order-edit.js(v=${version})}"></script>
+</body>
+</html>

+ 111 - 0
src/main/resources/templates/supplier-center/order/order-return.html

@@ -0,0 +1,111 @@
+<!DOCTYPE html>
+<html lang="zh-CN" xmlns:th="https://www.thymeleaf.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="https://www.thymeleaf.org ">
+<head>
+    <title>采美365网-发起退款</title>
+    <template th:replace="components/head-link"></template>
+    <link th:href="@{/css/base/center.css(v=${version})}" rel="stylesheet" type="text/css">
+    <!--element ui 样式表-->
+    <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css"/>
+    <link rel="stylesheet" href="/lib/element-ui/element-ui-min.css"/>
+    <link th:href="@{/css/supplier-center/order/order-return.css(v=${version})}" rel="stylesheet" type="text/css">
+    <template th:replace="components/analysis"></template>
+</head>
+<body>
+<!-- 引用头部 -->
+<template th:replace="components/header"></template>
+
+<!-- 我的采美 -->
+<div id="seeDetail">
+    <div class="navLayout" v-cloak="">
+            <div class="crumbs" v-if="isPC">
+                <span>我的交易</span>
+                <span>&gt;</span>
+                <span>我的订单</span>
+                <span>&gt;</span>
+                <span>发起退款(货)</span>
+             </div>
+        <div class="wrap clear">
+            <!--左侧面包屑-->
+                <template th:replace="supplier-center/components/tableft"></template>
+            <div class="right">
+                <div class="userinfo">
+                    <p class="info">
+                        <span>买家信息</span>
+                        <span class="comback">
+                            <el-button round  style="margin: 0 10px;" @click="history.go(-1)">返回</el-button>
+                        </span>
+                    </p>
+                    <div class="user">
+                        <p>买家名称:<span>{{ userInfo.name ? userInfo.name : '' }}</span></p>
+                        <p>收货人:<span>{{ userInfo.receiver ? userInfo.receiver : '' }}</span></p>
+                        <p>联系方式:<span>{{ userInfo.mobile ? userInfo.mobile : '' }}</span></p>
+                    </div>
+                    <p class="address">收货地址:<span>{{userInfo.address}}</span></p>
+                    <p class="address">留言:<span>{{ order.note ? order.note : '无' }}</span></p>
+                </div>
+                <div class="product-info">
+                    <div class="order-info">
+                        <div class="content">
+                            <div class="order-item">
+                                <p>订单编号:{{order.shopOrderNo}}</p>
+                                <p class="state">{{order.status | statusFilters}}</p>
+                            </div>
+                            <div class="order-item pay">
+                                <p>结算状态:<span>{{ order.payStatus | payStatusType }}</span></p>
+                                <p>发货状态:<span>{{ order.sendOutStatus | sendOutStatusType }}</span> </p>
+                                <p>收款状态:<span>{{ order.receiptStatus | receiptStatusType }}</span> </p>
+                                <p>退款状态:&nbsp;<span>{{ order.refundStatus | refundStatusType }}</span> </p>
+                            </div>
+                            <div class="order-item">
+                                <p>商品金额:<span class="red">¥{{ order.productAmount | amountfilters }}</span> </p>
+                                <p>结算商品金额:<span class="red">¥{{ order.shopProductAmount | amountfilters }}</span> </p>
+                                <p>结算税费:<span class="red">¥{{ order.shopTaxFee | amountfilters }}</span> </p>
+                                <p>订单来源:<span class="red">{{ order.organizeId === 0 ? '【采美平台】' : '【丽格集采联盟平台】' }}</span></p>
+                            </div>
+                            <div class="order-item">
+                                <p class="none">结算运费:<span class="red">{{ order.postageInfo }}</span> </p>
+                            </div>
+                            <div class="order-item">
+                                <p>总结算金额:<span class="red">¥{{ order.shouldPayShopAmount | amountfilters }}</span> </p>
+                                <p>已结算金额:<span class="red">¥{{ order.payedShopAmount | amountfilters }}</span> </p>
+                            </div>
+                            <div class="order-product" v-for="proitem in order.orderProductList">
+                                <div class="product-img">
+                                    <img :src="proitem.image"/>
+                                </div>
+                                <div class="product-main">
+                                    <h3>{{proitem.name}}</h3>
+                                    <p>
+                                      <span class="num" >数量:&nbsp;{{proitem.num}}</span>
+                                      <span class="num" >规格: {{proitem.productUnit}}</span>
+                                      <span class="num">已发货:&nbsp;{{proitem.shipmentsNum}}</span>
+                                      <span class="num" v-if="order.returnedNum!=null&&order.returnedNum!=0">已退/已取消:&nbsp;{{proitem.actualCancelNum}}</span>
+                                    </p>
+                                    <p >单价:&nbsp;<span>¥{{proitem.price| NumFormat}}</span> </p>
+                                    <p>合计:&nbsp;<span class="red">¥{{proitem.totalAmount| NumFormat}}</span> </p>
+                                </div>
+                            </div>
+                        </div>
+                    </div>
+                     <div class="section-botton shadow" :class="isFiexd ? 'fiexd' : 'float'" v-if="order.status!=5" >
+                        <div class="inner" style="text-align: right;">
+                            本次退款金额:<span style="color: #F94B4B;">¥{{ order.receiptAmount | amountfilters }}</span>
+                            <el-button type="primary"  style="margin-left: 20px;" @click="handeleReturn(order.shopOrderId)">确认退款</el-button>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+
+<!-- 引入底部 -->
+<template th:replace="components/footer"></template>
+<template th:replace="components/foot-link"></template>
+<script type="text/javascript" src="/lib/element-ui/element-ui.min.js"></script>
+<script charset="utf-8" type="text/javascript" th:src="@{/js/center.js(v=${version})}"></script>
+<script charset="utf-8" type="text/javascript" th:src="@{/js/common/serviceapi/supplier.service.js(v=${version})}"></script>
+<script charset="utf-8" type="text/javascript" th:src="@{/js/supplier-center/order/order-return.js(v=${version})}"></script>
+</body>
+</html>

+ 80 - 0
src/main/resources/templates/supplier-center/order/remarks-add-pay.html

@@ -0,0 +1,80 @@
+<!DOCTYPE html>
+<html lang="zh-CN" xmlns:th="https://www.thymeleaf.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="https://www.thymeleaf.org ">
+<head>
+  <title>采美365网-上传支付凭证</title>
+  <template th:replace="components/head-link"></template>
+  <link th:href="@{/css/base/center.css(v=${version})}" rel="stylesheet" type="text/css">
+  <!--element ui 样式表-->
+  <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css"/>
+  <link rel="stylesheet" href="/lib/element-ui/element-ui-min.css"/>
+  <link th:href="@{/css/supplier-center/order/remarks-add-pay.css(v=${version})}" rel="stylesheet" type="text/css">
+  <template th:replace="components/analysis"></template>
+</head>
+<body>
+<!-- 引用头部 -->
+<template th:replace="components/header"></template>
+<!-- 我的采美 -->
+<div id="Voucher" v-cloak>
+  <div class="navLayout">
+    <div class="crumbs" v-if="isPC">
+      <span>我的交易</span>
+      <span>&gt;</span>
+      <span>我的订单</span>
+      <span>&gt;</span>
+      <span>上传支付凭证</span>
+    </div>
+    <div class="wrap clear">
+      <!--左侧面包屑-->
+      <template th:replace="supplier-center/components/tableft"></template>
+      <div class="right">
+        <div class="add-logistics">
+          <div class="add-pay-form">
+            <div class="release-from ">
+                <div class="release-from-labe"><span>*</span>支付凭证图片:</div>
+                <div class="release-input" id="uploadGoodsImages">
+                  <div class="upload-file" v-for="(item, index) in imgList" :key="index">
+                    <img :data-original='item' :src="item" :data-image="item" alt="" class="upload-img" @click="bigImage">
+                    <i class="icon mIcon del" @click="removeGoodsImagesFn(index)"></i>
+                  </div>
+                  <div class="upload-file" v-show="imgList.length<5">
+                    <i class="icon mIcon add"></i>
+                    <input ref="goodsImages" type="file" name="file" value="" class="input-file"
+                           accept="image/png,image/jpeg,image/gif,image/jpg"
+                           @change="uploadGoodsImagesFn">
+                  </div>
+                  <div class="form-upload-tips">
+                    <i class="icon mIcon icon-wen"></i>
+                    <div class="wen-tips">请上传支付凭证图片,最多5张</div>
+                  </div>
+                </div>
+            </div>
+            <div class="release-from">
+              <div class="release-from-labe">备注:</div>
+              <el-input v-model="params.remarks"
+                        type="textarea"
+                        show-word-limit
+                        placeholder="请输入备注文字,200字以内"
+                        maxlength="200"
+                        :autosize="{ minRows: 5, maxRows: 6}">
+              </el-input>
+            </div>
+            <div class="release-from-btn">
+                <el-button plain  style="width: 100px; margin: 0 10px;" @click="history.go(-1)">返回</el-button>
+                <el-button type="primary" :disabled="disabled" style="width: 100px; margin: 0 10px;" @click="handleSave">保存</el-button>
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+</div>
+<!-- 引入底部 -->
+<template th:replace="components/footer"></template>
+<template th:replace="components/foot-link"></template>
+<script type="text/javascript" src="/lib/element-ui/element-ui.min.js"></script>
+<script charset="utf-8" type="text/javascript" th:src="@{/js/center.js(v=${version})}"></script>
+<script charset="utf-8" type="text/javascript"th:src="@{/js/common/serviceapi/supplier.service.js(v=${version})}"></script>
+<script charset="utf-8" type="text/javascript" th:src="@{/js/supplier-center/order/remarks-add-pay.js(v=${version})}"></script>
+</body>
+</html>

+ 94 - 0
src/main/resources/templates/supplier-center/order/remarks-add.html

@@ -0,0 +1,94 @@
+<!DOCTYPE html>
+<html lang="zh-CN" xmlns:th="https://www.thymeleaf.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="https://www.thymeleaf.org ">
+<head>
+  <title>采美365网-添加订单备注</title>
+  <template th:replace="components/head-link"></template>
+  <link th:href="@{/css/base/center.css(v=${version})}" rel="stylesheet" type="text/css">
+  <!--element ui 样式表-->
+  <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css"/>
+  <link rel="stylesheet" href="/lib/element-ui/element-ui-min.css"/>
+  <link th:href="@{/css/supplier-center/order/remarks-add.css(v=${version})}" rel="stylesheet" type="text/css">
+  <template th:replace="components/analysis"></template>
+</head>
+<body>
+<!-- 引用头部 -->
+<template th:replace="components/header"></template>
+<!-- 我的采美 -->
+<div id="Voucher" v-cloak>
+  <div class="navLayout">
+    <div class="crumbs" v-if="isPC">
+      <span>我的交易</span>
+      <span>&gt;</span>
+      <span>我的订单</span>
+      <span>&gt;</span>
+      <span>上传支付凭证</span>
+    </div>
+    <div class="wrap clear">
+      <!--左侧面包屑-->
+      <template th:replace="supplier-center/components/tableft"></template>
+      <div class="right">
+        <div class="add-logistics">
+          <el-form ref="logisticFrom" :model="params" :rules="rules">
+            <el-form-item label="备注:" prop="remarks">
+              <el-input
+                      v-model="params.remarks"
+                      type="textarea"
+                      show-word-limit
+                      placeholder="请输入备注文字,200字以内"
+                      maxlength="200"
+                      :autosize="{ minRows: 5, maxRows: 6}">
+              </el-input>
+            </el-form-item>
+            <el-form-item label="图片:" prop="logImage" style="margin-bottom: 0"></el-form-item>
+            <el-form-item label="" prop="logImage">
+              <div class="form-el-upload">
+                <el-upload
+                        :class="{hide: hideImg}"
+                        :action="actionUrl"
+                        :headers="getToken"
+                        list-type="picture-card"
+                        :before-upload="beforeUploadImg"
+                        :on-remove="handleRemove"
+                        :on-success="handleSuccess"
+                        :limit="5"
+                >
+                  <div slot="tip" class="el-upload__tip">请上传jgp,jpeg,png格式的图片,每张不超过5M</div>
+                  <i class="el-icon-plus"></i>
+                </el-upload>
+              </div>
+            </el-form-item>
+            <el-form-item label="文件:" class="fileUpload" style="margin-bottom: 0;">
+              <el-upload
+                      :action="fileUrl"
+                      :headers="getToken"
+                      :before-upload="beforeUploadFile"
+                      :on-remove="handlerFileRemove"
+                      :on-success="handleFileSuccess"
+                      :limit="5"
+              >
+                <div slot="tip" class="el-upload__tip">请上传pdf,doc,xlsx格式的文件,每个不超过5M</div>
+                <el-button v-if="!hideFile" size="small" type="primary">浏览</el-button>
+              </el-upload>
+            </el-form-item>
+            <el-form-item>
+              <div class="filter-container" style="text-align: right;margin-top: 120px;">
+                <el-button plain  style="width: 100px; margin: 0 10px;" @click="history.go(-1)">返回</el-button>
+                <el-button type="primary" style="width: 100px;margin: 0 10px;" @click="handleSave('logisticFrom')">保存</el-button>
+              </div>
+            </el-form-item>
+          </el-form>
+        </div>
+      </div>
+    </div>
+  </div>
+</div>
+<!-- 引入底部 -->
+<template th:replace="components/footer"></template>
+<template th:replace="components/foot-link"></template>
+<script type="text/javascript" src="/lib/element-ui/element-ui.min.js"></script>
+<script charset="utf-8" type="text/javascript" th:src="@{/js/center.js(v=${version})}"></script>
+<script charset="utf-8" type="text/javascript"th:src="@{/js/common/serviceapi/supplier.service.js(v=${version})}"></script>
+<script charset="utf-8" type="text/javascript" th:src="@{/js/supplier-center/order/remarks-add.js(v=${version})}"></script>
+</body>
+</html>

+ 75 - 0
src/main/resources/templates/supplier-center/order/remarks-details.html

@@ -0,0 +1,75 @@
+<!DOCTYPE html>
+<html lang="zh-CN" xmlns:th="https://www.thymeleaf.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="https://www.thymeleaf.org ">
+<head>
+  <title>采美365网-订单备注</title>
+  <template th:replace="components/head-link"></template>
+  <link th:href="@{/css/base/center.css(v=${version})}" rel="stylesheet" type="text/css">
+  <!--element ui 样式表-->
+  <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css"/>
+  <link rel="stylesheet" href="/lib/element-ui/element-ui-min.css"/>
+  <link th:href="@{/css/supplier-center/order/remarks-details.css(v=${version})}" rel="stylesheet" type="text/css">
+  <template th:replace="components/analysis"></template>
+</head>
+<body>
+<!-- 引用头部 -->
+<template th:replace="components/header"></template>
+<!-- 我的采美 -->
+<div id="Voucher" v-cloak>
+  <div class="navLayout">
+    <div class="crumbs" v-if="isPC">
+      <span>我的交易</span>
+      <span>&gt;</span>
+      <span>我的订单</span>
+      <span>&gt;</span>
+      <span>上传支付凭证</span>
+    </div>
+    <div class="wrap clear">
+      <!--左侧面包屑-->
+      <template th:replace="supplier-center/components/tableft"></template>
+      <div class="right">
+        <div class="remarks-content">
+          <template v-if="remarksList.length > 0">
+            <div class="remarks-list" v-for="(remarks,index) in remarksList" :key="index" >
+              <div class="remarks-title">
+                <p class="name">{{ remarks.shopName }}</p>
+                <p class="time">{{ remarks.time }}</p>
+              </div>
+              <div class="remarks-label">备注内容:</div>
+              <div class="remarks-text">{{ remarks.remarks }}</div>
+              <div class="remarks-label">图片:</div>
+              <div class="remarks-img">
+                <a :href="imgs" v-for="(imgs,imgIndex) in remarks.images" target="_blank">
+                  <img class="imgs" :src="imgs" >
+                </a>
+              </div>
+              <div class="remarks-label">文件:</div>
+              <div class="remarks-file">
+                <div v-for="file, i in remarks.ossFiles" :key="i">
+                  <span class="text">{{ file.name }}</span>
+                  <el-button type="text" @click="handlerDownload(file)">下载</el-button>
+                </div>
+              </div>
+            </div>
+          </template>
+          <div class="empty" v-else>
+            <img src="/img/common/empty.png">
+          </div>
+          <div class="filter-container" style="text-align: right;margin-top: 20px;">
+            <el-button plain  style="margin: 0 10px;" @click="history.go(-1)">返回</el-button>
+            <el-button type="primary" style="margin: 0 10px;" @click="handleSaveRemark">添加备注</el-button>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+</div>
+<!-- 引入底部 -->
+<template th:replace="components/footer"></template>
+<template th:replace="components/foot-link"></template>
+<script type="text/javascript" src="/lib/element-ui/element-ui.min.js"></script>
+<script charset="utf-8" type="text/javascript" th:src="@{/js/center.js(v=${version})}"></script>
+<script charset="utf-8" type="text/javascript"th:src="@{/js/common/serviceapi/supplier.service.js(v=${version})}"></script>
+<script charset="utf-8" type="text/javascript" th:src="@{/js/supplier-center/order/remarks-details.js(v=${version})}"></script>
+</body>
+</html>

+ 161 - 86
src/main/resources/templates/supplier-center/order/settlement.html

@@ -6,6 +6,9 @@
     <template th:replace="components/head-link"></template>
     <link th:href="@{/css/base/center.css(v=${version})}" rel="stylesheet" type="text/css">
     <link th:href="@{/css/supplier-center/order/settlement.css(v=${version})}" rel="stylesheet" type="text/css">
+    <!--element ui 样式表-->
+    <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css"/>
+    <link rel="stylesheet" href="/lib/element-ui/element-ui-min.css"/>
     <template th:replace="components/analysis"></template>
 </head>
 <body>
@@ -14,7 +17,7 @@
 
 <!-- 我的采美 -->
 <div id="settlement">
-    <div class="navLayout" >
+    <div class="navLayout" v-cloak>
          <div class="crumbs" v-if="isPC">
             <span>我的店铺</span>
             <span>&gt;</span>
@@ -24,96 +27,167 @@
              <!--左侧面包屑-->
             <template th:replace="supplier-center/components/tableft"></template>
             <div class="right">
-                <div class="head-top">
-                    <form action="">
-                        <div class='order-border'><span>订单编号:</span><input type="text" class="Buyer" v-model="params.shopOrderNo"  placeholder="请输入订单编号"> </div>
-                        <div class='order-border'><span>买家名称:</span><input type="text" class="Buyer" v-model="params.name"  placeholder="请输入买家名称"> </div>
-                        <div>
-                            结算状态:
-                            <select name="" id="settlement-status" class="state" @change="getstatus($event)">
-                                <option value="">所有</option>
-                                <option value="1">待结算</option>
-                                <option value="2">部分结算</option>
-                                <option value="3">已结算</option>
-                            </select>
-                            </div>
-                            <div id="newBtn">
-                                <div class="query-btn" @click="serchBtn">查询</div>
-                            </div>
-                    </form>
-                </div>
-                <div class="main-content" v-if="isPC && list.length>0">
-                    <ul class="main-title">
-                        <li class="samewidth">订单编号</li>
-                        <li class="samewidth">下单时间</li>
-                        <li class="samewidth">买家</li>
-                        <li>商品信息</li>
-                        <li>结算状态</li>
-                        <li>总结算金额</li>
-                        <li>已结算金额</li>
-                    </ul>
-                    <div class="mentlist" >
-                     <div v-for="order in list">
-                        <ul v-for="item in order.orderProductList">
-                            <li class="samewidth"><a :href="'/supplier/order/detail.html?shopOrderId='+order.shopOrderId">{{item.shopOrderNo}}</a></li>
-                            <li class="samewidth">{{order.orderTime}}</li>
-                            <li class="samewidth">{{order.name}}</li>
-                            <li>{{item.name}}</li>
-                            <li>
-                                <span v-if="order.payStatus==1 || order.payStatus==null" class="status-red">待结算</span>
-                                <span v-if="order.payStatus==2" class="status-yellow">部分结算</span>
-                                <span v-if="order.payStatus==3" class="status-blue">已结算</span>
-                            </li>
-                            <li>¥ {{ order.shouldPayShopAmount | NumFormat }}</li>
-                            <li>¥ {{ order.payedShopAmount | NumFormat }}</li>
-                        </ul>
-                        </div>
+                <div class="head-top clear">
+                    <div class='form-row low'>
+                        <span v-if="isPC">订单编号:</span>
+                        <el-input
+                                v-model="listQuery.shopOrderNo"
+                                class="state"
+                                placeholder="请输入订单编号"
+                                clearable
+                                @keyup.enter.native="getList"
+                                @clear="getList"
+                        ></el-input>
+                    </div>
+                    <div class='form-row low'>
+                        <span v-if="isPC">买家名称:</span>
+                        <el-input
+                                v-model="listQuery.name"
+                                class="state"
+                                placeholder="请输入买家名称"
+                                clearable
+                                @keyup.enter.native="getList"
+                                @clear="getList"
+                        ></el-input>
+                    </div>
+                    <div class="form-row">
+                        <span v-if="isPC">结算状态:</span>
+                        <el-select v-model="listQuery.payStatus" class="state" clearable @change="getList">
+                            <el-option label="所有" value="" ></el-option>
+                            <el-option label="待结算" value="1"></el-option>
+                            <el-option label="部分结算" value="2"></el-option>
+                            <el-option label="已结算" value="3"></el-option>
+                        </el-select>
+                    </div>
+                    <div class="form-row">
+                        <span v-if="isPC">退款状态:</span>
+                        <el-select v-model="listQuery.payStatus" class="state" clearable @change="getList">
+                            <el-option label="所有" value="" ></el-option>
+                            <el-option label="无退款" value="1"></el-option>
+                            <el-option label="部分退款" value="2"></el-option>
+                            <el-option label="已退款" value="3"></el-option>
+                        </el-select>
+                    </div>
+                    <div class="form-row time">
+                        <span v-if="isPC">下单时间:</span>
+                        <el-date-picker
+                                class="time"
+                                v-model="listQuery.beginTime"
+                                type="date"
+                                format="yyyy-MM-dd"
+                                value-format="yyyy-MM-dd"
+                                placeholder="选择开始日期">
+                        </el-date-picker>
+                        至
+                        <el-date-picker
+                                class="time"
+                                v-model="listQuery.endTime"
+                                type="date"
+                                format="yyyy-MM-dd"
+                                value-format="yyyy-MM-dd"
+                                placeholder="选择结束日期">
+                        </el-date-picker>
+                    </div>
+                    <div id="newBtn">
+                        <el-button type="primary" @click="getList">查询</el-button>
+                        <el-button type="success" @click="downloadExportExcel">导出报表</el-button>
                     </div>
                 </div>
+                <div class="main-content" v-if="list.length>0">
+                    <el-table
+                            :data="list"
+                            v-loading="listLoading"
+                            element-loading-text="Loading"
+                            border
+                            fit
+                            highlight-current-row
+                            :header-cell-style="{background:'#E1E1E1',color:'#606266'}"
+                    >
+                        <el-table-column label="订单编号" align="center" prop="shopOrderNo" width="200"  fixed="left">
+                            <template slot-scope="{row}">
+                                {{ row.shopOrderNo}}
+                            </template>
+                        </el-table-column>
+                        <el-table-column label="下单时间" align="center" prop="orderTime" width="200">
+                            <template slot-scope="{row}">
+                                {{ row.orderTime}}
+                            </template>
+                        </el-table-column>
+                        <el-table-column label="买家" align="center" prop="name" width="200">
+                            <template slot-scope="{row}">
+                                {{ row.name}}
+                            </template>
+                        </el-table-column>
+                        <el-table-column label="商品信息" align="center" prop="status" width="250">
+                            <template slot-scope="{row}">
+                                <p v-for="item in row.orderProductList">{{ item.name }}</p>
+                            </template>
+                        </el-table-column>
+                        <el-table-column label="订单金额" align="center" prop="payTotalFee" width="200">
+                            <template slot-scope="{row}">
+                                ¥{{ row.totalAmount | NumFormat }}
+                            </template>
+                        </el-table-column>
+                        <el-table-column label="退款状态" align="center" prop="refundType" width="120">
+                            <template slot-scope="{row}">
+                                <el-tag v-if="row.refundStatus*1===1" type="info" size="small">无退款</el-tag>
+                                <el-tag v-else-if="row.refundStatus*1===2" type="info" size="small">有退款</el-tag>
+                            </template>
+                        </el-table-column>
+                        <el-table-column label="退款金额" align="center" prop="payTotalFee" width="200">
+                            <template slot-scope="{row}">
+                                ¥{{ row.refundAmount | NumFormat }}
+                            </template>
+                        </el-table-column>
+                        <el-table-column label="收款手续费" align="center" prop="payTotalFee" width="200">
+                            <template slot-scope="{row}">
+                                ¥{{ row.paymentCommission | NumFormat }}
+                            </template>
+                        </el-table-column>
+                        <el-table-column label="结算手续费" align="center" prop="payTotalFee" width="200">
+                            <template slot-scope="{row}">
+                                ¥{{ row.prorateCommission | NumFormat }}
+                            </template>
+                        </el-table-column>
+                        <el-table-column label="结算状态" align="center" prop="receiptStatus" width="120">
+                            <template slot-scope="{row}">
+                                <el-tag v-if="row.payStatus*1===1" type="danger" size="small">待结算</el-tag>
+                                <el-tag v-if="row.payStatus*1===2" type="warning" size="small">部分结算</el-tag>
+                                <el-tag v-if="row.payStatus*1===3" type="success" size="small">已结算</el-tag>
+                            </template>
+                        </el-table-column>
+                        <el-table-column label="总结算金额" align="center" prop="payTotalFee" width="200">
+                            <template slot-scope="{row}">
+                                ¥{{ row.shouldPayShopAmount | NumFormat }}
+                            </template>
+                        </el-table-column>
+                        <el-table-column label="已结算金额" align="center" prop="payTotalFee" width="200">
+                            <template slot-scope="{row}">
+                                ¥{{ row.payedShopAmount  | NumFormat }}
+                            </template>
+                        </el-table-column>
+                        <el-table-column label="未结算金额" align="center" prop="payTotalFee" width="200">
+                            <template slot-scope="{row}">
+                                ¥{{ (row.shouldPayShopAmount - row.payedShopAmount) | NumFormat }}
+                            </template>
+                        </el-table-column>
+                    </el-table>
+                </div>
                 <div v-else class="empty">
                     <img src="/img/order/icon-set.svg"/>
                     <div class="msg"><p>暂无数据</p></div>
-                 </div>
-                     <template class="main-content" v-else>
-                        <div class="content-list"v-for="res in list">
-                            <div v-for="item in res.orderProductList" class="list">
-                                <div class="OrderNo">
-                                    <span>订单编号:<p>{{item.shopOrderNo}}</p></span>
-                                </div>
-                                <div class="order-name">
-                                    <span>商品信息:<p>{{item.name}}</p></span>
-                                </div>
-                                <div class="order-price">
-                                    <span>总结算金额:<p>¥ {{res.shouldPayShopAmount ?res.shouldPayShopAmount.toFixed(2) :'0.00'}}</p></span>
-                                    <span>已结算金额:<p>¥ {{res.payedShopAmount ?res.payedShopAmount.toFixed(2) :'0.00'}}</p></span>
-                                </div>
-                                <div class="order-info">
-                                     <span>买家:<p>{{res.name}}</p></span>
-                                     <span>结算状态:
-                                            <p v-if="res.payStatus==1||res.payStatus==null" class="status-red">待结算</p>
-                                            <p v-if="res.payStatus==2" class="status-yellow">部分结算</p>
-                                            <p v-if="res.payStatus==3" class="status-blue">已结算</p>
-                                     </span>
-                                     <span>下单时间:<p>{{res.orderTime}}</p></span>
-                                </div>
-                            </div>
-                        </div>
-                    </template>
-
-                 <div v-if="(!isPC) && noMore" class="noMore">---- 没有更多了 ----</div>
-                     <div class="pageWrap clear" v-if="isPC && pageTotal>1">
-                            <a v-if="params.pageNum>1" class="prev" @click="toPagination(params.pageNum*1-1)" href="javascript:void(0);"></a>
-                            <template v-for="n in showPageBtn">
-                                <a v-if="n" :class="{'on':(n==params.pageNum)}" @click="toPagination(n)" href="javascript:void(0);" v-text="n"></a>
-                                <span v-else>···</span>
-                            </template>
-                            <a v-if="params.pageNum<pageTotal" class="next" @click="toPagination(params.pageNum*1+1)" href="javascript:void(0);"></a>
-                            <span>共<b v-text="pageTotal>1?pageTotal:1"></b>页</span>
-                            <span>跳至</span>
-                            <input v-model="pageInput" @blur="checkNum()"/>
-                            <span>页</span>&nbsp;
-                            <a class="btn" href="javascript:void(0);" @click="toPagination(pageInput)">点击跳转</a>
-                     </div>
+                </div>
+                <div class="pagination">
+                    <el-pagination
+                            background
+                            :small="false"
+                            @current-change="handleCurrentChange"
+                            :current-page="listQuery.pageNum"
+                            :layout="layout"
+                            :total="total"
+                    >
+                    </el-pagination>
+                </div>
             </div>
         </div>
     </div>
@@ -122,6 +196,7 @@
 <!-- 引入底部 -->
 <template th:replace="components/footer"></template>
 <template th:replace="components/foot-link"></template>
+<script type="text/javascript" src="/lib/element-ui/element-ui.min.js"></script>
 <script charset="utf-8" type="text/javascript" th:src="@{/js/center.js(v=${version})}"></script>
 <script charset="utf-8" type="text/javascript" th:src="@{/js/common/serviceapi/supplier.service.js(v=${version})}"></script>
 <script charset="utf-8" type="text/javascript" th:src="@{/js/supplier-center/order/settlement.js(v=${version})}"></script>

+ 262 - 266
src/main/resources/templates/supplier-center/shop/goods.html

@@ -6,15 +6,17 @@
     <template th:replace="components/head-link"></template>
     <link th:href="@{/css/base/center.css(v=${version})}" rel="stylesheet" type="text/css">
     <link th:href="@{/css/supplier-center/shop/goods.css(v=${version})}" rel="stylesheet" type="text/css">
+    <!--element ui 样式表-->
+    <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css"/>
+    <link rel="stylesheet" href="/lib/element-ui/element-ui-min.css"/>
     <template th:replace="components/analysis"></template>
 </head>
 <body>
 <!-- 引用头部 -->
 <template th:replace="components/header"></template>
-<h1></h1>
 <!-- 我的采美 -->
 <div id="myGoods">
-    <div class="navLayout goods-container" v-cloak="">
+    <div class="navLayout goods-container" v-cloak>
         <div class="crumbs" v-if="isPC">
             <span>我的店铺</span>
             <span>&gt;</span>
@@ -24,277 +26,270 @@
             <!--左侧面包屑-->
             <template th:replace="supplier-center/components/tableft"></template>
             <div class="right">
-                <div class="head-top">
-                    <form action="">
-                        <div class='form-row low'>
-                            <span>商品货号:</span>
-                            <input type="text" id="name-buyer" v-model="listQuery.productCode" class="Buyer"
-                                   placeholder="请输入商品货号" maxlength="20">
-                        </div>
-                        <div class="form-row low">
-                            <span>商品名称:</span>
-                            <input class="Buyer" v-model="listQuery.name" type="text" maxlength="25"
-                                   placeholder="请输入商品名称">
-                        </div>
-                        <div class="form-row">
-                            状态:
-                            <select name="" id="settlement-status" class="state " @change="SelectChangeStateFn($event)">
-                                <option value="">全部</option>
-                                <option value="1">待审核</option>
-                                <option value="8">审核未通过</option>
-                                <option value="2">已上架</option>
-                                <option value="3">已下架</option>
-                                <option value="9">已冻结</option>
-                                <option value="10">已隐身</option>
-                                <option value="0">已删除</option>
-                            </select>
-                        </div>
-                        <div class="form-row">
-                            主推商品:
-                            <select name="" class="state small" @change="SelectChangeInsideFn($event)">
-                                <option value="">请选择</option>
-                                <option value="1">是</option>
-                                <option value="0">否</option>
-                            </select>
-                        </div>
-                        <div class="form-row">
-                            商品属性:
-                            <select name="" class="state small" @change="SelectChangeCommodityType($event)">
-                                <option value="">请选择</option>
-                                <option value="1">产品</option>
-                                <option value="2">仪器</option>
-                            </select>
-                        </div>
-                        <div class="form-row fenlei">
-                            <span class="">商品分类:</span>
-                            <select name="" class="state " @change="ChangeClassificationFirst($event)">
-                                <option value="">全部</option>
-                                <option v-for="x in classificationFirstList" :value="x.bigTypeID">{{x.name}}</option>
-                            </select>
-                            <select name="" class="state " @change="ChangeClassificationTwo($event)">
-                                <option value="">二级分类</option>
-                                <option v-for="x in classificationTwoList" :value="x.smallTypeID">{{x.name}}</option>
-                            </select>
-                            <select name="" class="state " @change="ChangeClassificationThree($event)">
-                                <option value="">三级分类</option>
-                                <option v-for="x in classificationThreeList" :value="x.tinyTypeID">{{x.name}}</option>
-                            </select>
-                        </div>
-                        <div class="form-row">
-                            新品展示:
-                            <select name="" class="state small" @change="SelectChangeNewvalidFlagFn($event)">
-                                <option value="">全部</option>
-                                <option value="0">待审</option>
-                                <option value="1">已展示</option>
-                                <option value="2">展示过期</option>
-                                <option value="3">未展示</option>
-                                <option value="4">审核未通过</option>
-                                <option value="5">已下线</option>
-                            </select>
-                        </div>
-                        <div id="newBtn">
-                            <div class="query-btn" @click="SearchQueryListFn">搜索</div>
-                        </div>
-                    </form>
-                </div>
-                <div class="goods-main" v-if="productsList.length>0">
-                    <div class="goods-table" width="100%" v-if="isPC">
-                        <ul class="goods-title">
-                            <li>编号</li>
-                            <li>商品主图</li>
-                            <li>分类</li>
-                            <li>市场价/售价</li>
-                            <li>状态</li>
-                            <li>新品展示</li>
-                            <li>操作</li>
-                        </ul>
-                        <div class="goods-tips" v-if="isForbid">
-                            <div class="end-tips">
-                                <span class="WEB-icon tips"></span>
-                                <span>您的上架费已到期,已禁止商品的所有操作,支付账户上架费后才能继续操作。</span>
-                            </div>
-                        </div>
-                        <div class="tbody">
-                            <ul v-for="(product, index) in productsList" :key="index"
-                                :class="[product.isChecked ?'bg-gouxuan':'']">
-                                <li>
-                                    <div class="checkbox checklist" @click='ischeck(product)'>
-                                        <div class="box icon"
-                                             :class="[product.isChecked ?'icon-gouxuan':'icon-weigouxuan']"></div>
-                                        <span> {{product.productId}}</span>
-                                    </div>
-                                </li>
-                                <li>
-                                    <div class="good-info">
-                                        <img :src="product.image" :alt="product.name">
-                                        <p class="good-name">{{product.name}}</p>
-                                    </div>
-                                </li>
-                                <li>
-                                    <div class="good-classFly">
-                                        <p>{{product.typeName}}</p>
-                                    </div>
-                                </li>
-                                <li>
-                                    <div class="good-price">
-                                        <p>¥{{toFixedFn(product.normalPrice)}}</p>
-                                        <p>/</p>
-                                        <p>¥{{toFixedFn(product.price)}}</p>
-                                    </div>
-                                      <span v-if="product.promotions!=null" class="priceTag">
-                                          <i class="tag icon mIcon" @click="toggleThisLadder($event)" v-text="product.promotions?product.promotions.name:''"></i>
-                                          <div class="promotion mFixed">
-                                                    <div>
-                                                        <p class="t">
-                                                            <em v-if="product.promotions.mode==2">{{product.promotions.name+',满 ¥'+toFloat(product.promotions.touchPrice)+' 减 ¥'+toFloat(product.promotions.reducedPrice)}}</em>
-                                                            <em v-if="product.promotions.mode==3">{{product.promotions.name+',满 ¥'+toFloat(product.promotions.touchPrice)+' 赠送商品'}}</em>
-                                                        </p>
-                                                        <p>促销时间:<em >不限时</em><em v-else>{{product.promotions.beginTime.substr(0,10)+' ~ '+product.promotions.endTime.substr(0,10)}}</em></p>
-                                                        <p v-if="product.promotions.type==2" class="r"><a class="more" :href="'/product/promotions.html?id='+product.promotions.id">更多凑单商品>>></a></p>
-                                                        <template v-if="product.promotions.mode==3">
-                                                            <p>赠品:</p>
-                                                            <p>
-                                                                <span v-for="g in product.promotions.giftList" class="p">
-                                                                    <img :src="g.image">
-                                                                    <span v-text="g.name"></span>
-                                                                    <span v-text="'× '+g.number"></span>
-                                                                </span>
-                                                            </p>
-                                                        </template>
-                                                        <p class="c"><a class="close" @click="hideThisLadder($event)" href="JavaScript:void(0);">了解</a></p>
-                                                    </div>
-                                                </div>
-                                      </span>
-                                </li>
-                                <li>
-                                    <p class="status" :style="{color: StatusColorFn(product.validFlag)}">
-                                        {{StatusTextFn(product.validFlag)}}</p>
-                                </li>
-                                <li>
-                                    <div class="good-classFly" :style="{color: showFlagColorFn(product.showFlag)}">
-                                        <p>{{ product.showFlag | newvalidFlagFilters }}</p>
-                                    </div>
-                                </li>
-                                <li>
-                                    <div class="good-handle">
-                                        <a :class="isForbid? 'none':''" class="btn " href="javascript: void(0);" v-if="[0,1,2,3,8,9].indexOf(product.validFlag)!=-1" @click="editGoodFn(product)">编辑</a>
-                                        <a :class="isForbid? 'none':''" class="btn primary" href="javascript: void(0);" v-if="[2].indexOf(product.validFlag)!=-1" @click="pageLinkDetils(product)">查看</a>
-                                        <a :class="isForbid? 'none':''" class="btn " href="javascript: void(0);" v-if="[2].indexOf(product.validFlag)!=-1" @click="ItemDownshelf(product)">下架</a>
-                                        <a :class="isForbid? 'none':''" class="btn danger" href="javascript: void(0);" v-if="product.isDelFeatured" @click="DeletePushHotFn(product)">删除主页推荐</a>
-                                        <a :class="isForbid? 'none':''" class="btn success" href="javascript: void(0);" v-if="product.isAddFeatured" @click="AddPushHotFn(product)">添加主页推荐</a>
-                                    </div>
-                                </li>
-                            </ul>
-                        </div>
+                <div class="head-top clear">
+                    <div class='form-row low'>
+                        <span v-if="isPC">商品货号:</span>
+                        <el-input
+                                v-model="listQuery.productCode"
+                                class="state"
+                                placeholder="请输入商品货号"
+                                clearable
+                                @keyup.enter.native="getList"
+                                @clear="getList"
+                        ></el-input>
+                    </div>
+                    <div class="form-row low">
+                        <span v-if="isPC">商品名称:</span>
+                        <el-input
+                                v-model="listQuery.name"
+                                class="state"
+                                placeholder="请输入商品名称"
+                                clearable
+                                @keyup.enter.native="getList"
+                                @clear="getList"
+                        ></el-input>
+                    </div>
+                    <div class="form-row">
+                        <span v-if="isPC">商品状态:</span>
+                        <el-select v-model="listQuery.validFlag" class="state" clearable @change="getList">
+                            <el-option value="" label="所有"></el-option>
+                            <el-option label="待审核" value="1"></el-option>
+                            <el-option label="审核未通过" value="8"></el-option>
+                            <el-option label="已上架" value="2"></el-option>
+                            <el-option label="已下架" value="3"></el-option>
+                            <el-option label="已冻结" value="9"></el-option>
+                            <el-option label="已隐身" value="10"></el-option>
+                            <el-option label="已删除" value="0"></el-option>
+                        </el-select>
+                    </div>
+                    <div class="form-row">
+                        <span v-if="isPC">主推商品:</span>
+                        <el-select v-model="listQuery.featuredFlag" class="state" clearable @change="getList">
+                            <el-option label="所有" value="" ></el-option>
+                            <el-option label="是" value="1"></el-option>
+                            <el-option label="否" value="0"></el-option>
+                        </el-select>
+                    </div>
+                    <div class="form-row">
+                        <span v-if="isPC">商品属性:</span>
+                        <el-select v-model="listQuery.commodityType" class="state" clearable @change="handleCommodityType($event)">
+                            <el-option label="所有" value="" ></el-option>
+                            <el-option label="产品" value="1"></el-option>
+                            <el-option label="仪器" value="2"></el-option>
+                        </el-select>
+                    </div>
+                    <div class="form-row fenlei">
+                        <span v-if="isPC">商品分类:</span>
+                        <el-select v-model="listQuery.bigTypeId" class="state" clearable @change="handeleChangeFirst($event)">
+                            <el-option label="所有" value="" ></el-option>
+                            <el-option
+                                    v-for="item in classificationFirstList"
+                                    :key="item.bigTypeId"
+                                    :label="item.name"
+                                    :value="item.bigTypeId"
+                            ></el-option>
+                        </el-select>
+                    </div>
+                    <div class="form-row fenlei">
+                        <el-select v-model="listQuery.smallTypeId" class="state small" clearable @change="handeleChangeTwo($event)">
+                            <el-option label="二级分类" value="" ></el-option>
+                            <el-option
+                                    v-for="item in classificationTwoList"
+                                    :key="item.smallTypeId"
+                                    :label="item.name"
+                                    :value="item.smallTypeId"
+                            ></el-option>
+                        </el-select>
+                    </div>
+                    <div class="form-row fenlei">
+                        <el-select v-model="listQuery.tinyTypeId" class="state small" clearable @change="getList">
+                            <el-option label="三级分类" value="" ></el-option>
+                            <el-option
+                                    v-for="item in classificationThreeList"
+                                    :key="item.tinyTypeId"
+                                    :label="item.name"
+                                    :value="item.tinyTypeId"
+                            ></el-option>
+                        </el-select>
                     </div>
-                   <div class="goods-table" width="100%" v-else>
-                        <div v-for="(product, index) in productsList" :key="index" class="table-list">
-                            <ul class="goods-title">
-                                 <li>商品主图:</li>
-                                  <li>
-                                    <div class="checkbox" @click='ischeck(product)'>
-                                        <span style="color: #22272e"> {{product.productId}}</span>
-                                        <div class="box icon mIcon":class="[product.isChecked ?'icon-gouxuan':'icon-weigouxuan']"></div>
-                                    </div>
-                                </li>
-                            </ul>
-                            <div class="tbody">
-                                <div class="good-info">
-                                     <img :src="product.image" :alt="product.name">
-                                     <p class="good-name">{{product.name}}</p>
-                                     <a class="btn eit" href="javascript: void(0);"
-                                      v-if="[0,1,2,3,8,9,10].indexOf(product.validFlag)!=-1"
-                                           @click="editGoodFn(product)">编辑</a>
-                                </div>
-                                <div  class="good-price">
-                                    <span>市场价/售价:</span>
-                                     <p>¥{{toFixedFn(product.normalPrice)}}</p>
-                                     <p>/</p>
-                                     <p>¥{{toFixedFn(product.price)}}</p>
-                                      <span v-if="product.promotions!=null" class="priceTag">
-                                          <i class="tag" @click="toggleThisLadder($event)" v-text="product.promotions?product.promotions.name:''"></i>
-                                          <div class="promotion mFixed">
-                                                    <div>
-                                                        <p class="t">
-                                                            <em v-if="product.promotions.mode==2">{{product.promotions.name+',满 ¥'+toFloat(product.promotions.touchPrice)+' 减 ¥'+toFloat(product.promotions.reducedPrice)}}</em>
-                                                            <em v-if="product.promotions.mode==3">{{product.promotions.name+',满 ¥'+toFloat(product.promotions.touchPrice)+' 赠送商品'}}</em>
-                                                        </p>
-                                                        <p>促销时间:<em >不限时</em><em v-else>{{product.promotions.beginTime.substr(0,10)+' ~ '+product.promotions.endTime.substr(0,10)}}</em></p>
-                                                        <p v-if="product.promotions.type==2" class="r"><a class="more" :href="'/product/promotions.html?id='+product.promotions.id">更多凑单商品>>></a></p>
-                                                        <template v-if="product.promotions.mode==3">
-                                                            <p>赠品:</p>
-                                                            <p>
-                                                                <span v-for="g in product.promotions.giftList" class="p">
-                                                                    <img :src="g.image">
-                                                                    <span v-text="g.name"></span>
-                                                                    <span v-text="'× '+g.number"></span>
-                                                                </span>
-                                                            </p>
-                                                        </template>
-                                                        <p class="c"><a class="close" @click="hideThisLadder($event)" href="JavaScript:void(0);">了解</a></p>
-                                                    </div>
-                                                </div>
-                                      </span>
-                                </div>
-                                <div class="good-status">
-                                    <div class="good-left">
-                                        <span>分类:</span>
-                                        <p class="good-classFly">{{product.typeName}}</p>
-                                    </div>
-                                    <div class="good-right">
-                                        <span>新品展示:</span>
-                                        <p class="status" :style="{color: showFlagColorFn(product.showFlag)}">
-                                            {{ product.showFlag | newvalidFlagFilters }}</p>
-                                    </div>
-                                    <div class="good-right">
-                                        <span>状态:</span>
-                                        <p class="status" :style="{color: StatusColorFn(product.validFlag)}">
-                                            {{StatusTextFn(product.validFlag)}}</p>
-                                    </div>
-                                </div>
-                                <div class="good-handle">
-                                    <a class="btn down" href="javascript: void(0);" v-if="['2'].indexOf(product.validFlag)!=-1" @click="ItemDownshelf(product)">下架</a>
-                                    <a class="btn success" href="javascript: void(0);" v-if="product.isAddFeatured" @click="AddPushHotFn(product)">添加主页推荐</a>
-                                    <a class="btn danger" href="javascript: void(0);" v-if="product.isDelFeatured" @click="DeletePushHotFn(product)">删除主页推荐</a>
-                                    <a class="btn primary" href="javascript: void(0);" v-if="['2'].indexOf(product.validFlag)!=-1" @click="pageLinkDetils(product)">查看</a>
-                                </div>
-                            </div>
-                          </div>
-                        </div>
-                    <div class="good-footer">
-                        <div class="styleborder">
-                        <div class="footer-left">
-                            <div class="checkbox" @click='checkedAll'>
-                                <div class="box icon mIcon"
-                                     :class="[isCheckedAll ? 'icon-gouxuan' : 'icon-weigouxuan']"></div>
-                                <span>全选</span>
-                            </div>
-                        </div>
-                        <div class="footer-right">
-                            <a href="javascript:void(0);" class="btn batch"
-                               :class="[isCheckedAll ||check? 'icon-gouxuan' : 'icon-weigouxuan']" @click="ItemDownshelfAll">批量下架</a>
-                        </div>
-                          </div>
+                    <div class="form-row">
+                        <span v-if="isPC">新品展示:</span>
+                        <el-select v-model="listQuery.showFlag" class="state" clearable @change="getList">
+                            <el-option value="" label="所有"></el-option>
+                            <el-option label="待审核" value="0"></el-option>
+                            <el-option label="已展示" value="1"></el-option>
+                            <el-option label="展示过期" value="2"></el-option>
+                            <el-option label="未展示" value="3"></el-option>
+                            <el-option label="审核未通过" value="4"></el-option>
+                            <el-option label="已下线" value="5"></el-option>
+                        </el-select>
+                    </div>
+                    <div class="form-row">
+                        <span v-if="isPC">上架平台:</span>
+                        <el-select v-model="listQuery.groundMall" class="state" clearable @change="getList">
+                            <el-option label="所有" value="" ></el-option>
+                            <el-option label="【采美】平台" value="0"></el-option>
+                            <el-option label="【丽格集采联盟】平台" value="4"></el-option>
+                        </el-select>
+                    </div>
+                    <div id="newBtn">
+                        <el-button type="primary" @click="getList">查询</el-button>
+                        <el-button type="primary" :disabled="disabled"  @click="handleDownshelfAll">批量下架</el-button>
                     </div>
                 </div>
+                <div class="goods-tips" v-if="isForbid">
+                    <div class="end-tips">
+                        <span class="WEB-icon tips"></span>
+                        <span>您的上架费已到期,已禁止商品的所有操作,支付账户上架费后才能继续操作。</span>
+                    </div>
+                </div>
+                <div class="goods-main" v-if="productsList.length>0">
+                    <el-table
+                            :data="productsList"
+                            v-loading="listLoading"
+                            element-loading-text="Loading"
+                            border
+                            fit
+                            highlight-current-row
+                            :header-cell-style="{background:'#E1E1E1',color:'#606266'}"
+                            @selection-change="handleSelectionChange"
+                    >
+                        <el-table-column
+                                type="selection"
+                                align="center"
+                                width="55">
+                        </el-table-column>
+                        <el-table-column label="商品图片" align="center" prop="shopOrderNo" width="80">
+                            <template slot-scope="{row}">
+                                <img :src="row.image" :alt="row.name" style="width: 40px;height: 40px;">
+                            </template>
+                        </el-table-column>
+                        <el-table-column label="商品名称" align="center" prop="orderTime" width="200">
+                            <template slot-scope="{row}">
+                                {{ row.name}}
+                            </template>
+                        </el-table-column>
+                        <el-table-column label="商品分类" align="center" prop="name" width="120">
+                            <template slot-scope="{row}">
+                                {{ row.typeName}}
+                            </template>
+                        </el-table-column>
+                        <el-table-column label="市场价/售价" align="center" prop="payTotalFee" width="160">
+                            <template slot-scope="{row}">
+                                ¥{{ row.normalPrice | NumFormat }}/ ¥{{ row.price | NumFormat }}
+                            </template>
+                        </el-table-column>
+                        <el-table-column label="上架平台" align="center" prop="groundMall" width="250">
+                            <template slot-scope="{row}">
+                                <template v-if="row.groundMall === '0'">
+                                    <P>
+                                        【采美平台】
+                                        <el-tag v-if="row.validFlag===0" type="danger" size="small">已删除</el-tag>
+                                        <el-tag v-if="row.validFlag===1" type="warning" size="small">待审核</el-tag>
+                                        <el-tag v-if="row.validFlag===2" type="success" size="small">已上架</el-tag>
+                                        <el-tag v-if="row.validFlag===3" type="danger" size="small">已下架</el-tag>
+                                        <el-tag v-if="row.validFlag===8" type="danger" size="small">审核未通过</el-tag>
+                                        <el-tag v-if="row.validFlag===9" type="danger" size="small">已冻结</el-tag>
+                                        <el-tag v-if="row.validFlag===10" type="danger" size="small">已隐身</el-tag>
+                                    </P>
+                                </template>
+                                <template v-else-if="row.groundMall === '4'">
+                                    <P>
+                                        【丽格集采联盟平台】
+                                        <el-tag v-if="row.mallValidFlag===1" type="warning" size="small">待审核</el-tag>
+                                        <el-tag v-if="row.mallValidFlag===2" type="success" size="small">已上架</el-tag>
+                                        <el-tag v-if="row.mallValidFlag===3" type="danger" size="small">已下架</el-tag>
+                                    </P>
+                                </template>
+                                <template v-else>
+                                    <P>
+                                        【采美平台】
+                                        <el-tag v-if="row.validFlag===0" type="danger" size="small">已删除</el-tag>
+                                        <el-tag v-if="row.validFlag===1" type="warning" size="small">待审核</el-tag>
+                                        <el-tag v-if="row.validFlag===2" type="success" size="small">已上架</el-tag>
+                                        <el-tag v-if="row.validFlag===3" type="danger" size="small">已下架</el-tag>
+                                        <el-tag v-if="row.validFlag===8" type="danger" size="small">审核未通过</el-tag>
+                                        <el-tag v-if="row.validFlag===9" type="danger" size="small">已冻结</el-tag>
+                                        <el-tag v-if="row.validFlag===10" type="danger" size="small">已隐身</el-tag>
+                                    </P>
+                                    <P>
+                                        【丽格集采联盟平台】
+                                        <el-tag v-if="row.mallValidFlag===1" type="warning" size="small">待审核</el-tag>
+                                        <el-tag v-if="row.mallValidFlag===2" type="success" size="small">已上架</el-tag>
+                                        <el-tag v-if="row.mallValidFlag===3" type="danger" size="small">已下架</el-tag>
+                                    </P>
+                                </template>
+                            </template>
+                        </el-table-column>
+                        <el-table-column label="新品展示" align="center" prop="showFlag" width="120">
+                            <template slot-scope="{row}">
+                                <el-tag v-if="row.showFlag===0" type="warning" size="small">待审核</el-tag>
+                                <el-tag v-if="row.showFlag===1" type="success" size="small">已展示</el-tag>
+                                <el-tag v-if="row.showFlag===2" type="danger" size="small">展示过期</el-tag>
+                                <el-tag v-if="row.showFlag===3" type="warning" size="small">未展示</el-tag>
+                                <el-tag v-if="row.showFlag===4" type="danger" size="small">审核未通过</el-tag>
+                                <el-tag v-if="row.showFlag===5" type="danger" size="small">已下线</el-tag>
+                            </template>
+                        </el-table-column>
+                        <el-table-column label="操作" align="center" width="250">
+                            <template slot-scope="{row}">
+                                <el-button type="success" style="margin: 5px;" v-if="[0,1,2,3,8,9].indexOf(row.validFlag)!=-1" :disabled="isForbid" size="mini" @click="handleEdit(row)">编辑</el-button>
+                                <template  v-if="[2].indexOf(row.validFlag)!=-1 || [2].indexOf(row.mallValidFlag)!=-1">
+                                    <el-button type="warning" style="margin: 5px;" :disabled="isForbid" size="mini" @click="handleDownshelf(row)">下架</el-button>
+                                </template>
+                                <template v-if="row.groundMall === '0'">
+                                    <el-button type="primary" style="margin: 5px;" v-if="[2].indexOf(row.validFlag)!=-1" :disabled="isForbid" size="mini" @click="handlePreview(row)">查看</el-button>
+                                    <el-button type="primary" style="margin: 5px;" v-if="row.isDelFeatured" :disabled="isForbid" size="mini" @click="handleDeleteHot(row)">删除主页推荐</el-button>
+                                    <el-button type="primary" style="margin: 5px;" v-if="row.isAddFeatured" :disabled="isForbid" size="mini" @click="handlePushHot(row)">添加主页推荐</el-button>
+                                </template>
+                            </template>
+                        </el-table-column>
+                    </el-table>
+                </div>
                 <div  class="empty" v-else>
                     <img src="/img/order/icon-goods.svg">
                     <div class="msg"><p>您还未发布任何商品快去<a href="/supplier/release.html">发布</a>吧</p></div>
                 </div>
-                <div v-if="(!isPC) && noMore" class="noMore">---- 没有更多了 ----</div>
-                 <div class="pageWrap clear" v-if="isPC && pageTotal>1">
-                        <a v-if="listQuery.pageNum>1" class="prev" @click="toPagination(listQuery.pageNum*1-1)" href="javascript:void(0);"></a>
-                        <template v-for="n in showPageBtn">
-                            <a v-if="n" :class="{'on':(n==listQuery.pageNum)}" @click="toPagination(n)" href="javascript:void(0);" v-text="n"></a>
-                            <span v-else>···</span>
-                        </template>
-                        <a v-if="listQuery.pageNum<pageTotal" class="next" @click="toPagination(listQuery.pageNum*1+1)" href="javascript:void(0);"></a>
-                        <span>共<b v-text="pageTotal>1?pageTotal:1"></b>页</span>
-                        <span>跳至</span>
-                        <input v-model="pageInput" @blur="checkNum()"/>
-                        <span>页</span>&nbsp;
-                        <a class="btn" href="javascript:void(0);" @click="toPagination(pageInput)">点击跳转</a>
-                   </div>
+                <div class="pagination">
+                    <el-pagination
+                            background
+                            :small="false"
+                            @current-change="handleCurrentChange"
+                            :current-page="listQuery.pageNum"
+                            :layout="layout"
+                            :total="total"
+                    >
+                    </el-pagination>
+                </div>
+                <!--下架弹窗-->
+                <el-dialog title="下架" :visible.sync="dialogFormVisible" width="380px" style="margin: 200px auto;">
+                    <template v-if="handlePros.groundMall === '0'">
+                        <p>确定将商品从【采美平台】下架吗?</p>
+                    </template>
+                    <template v-else-if="handlePros.groundMall === '4'">
+                        <p>确定将商品从【丽格集采联盟平台】下架吗?</p>
+                    </template>
+                    <template v-else>
+                        <el-row :gutter="24" class="box-row" style="margin-bottom: 20px;">
+                            <el-col :span="12" v-if="handlePros.mallValidFlag === 2 && handlePros.validFlag === 2">
+                                <el-radio v-model="groundMallType" :label="0">全部平台</el-radio>
+                            </el-col>
+                            <el-col :span="12" v-if="handlePros.validFlag === 2">
+                                <el-radio v-model="groundMallType" :label="1">【采美平台】</el-radio>
+                            </el-col>
+                        </el-row>
+                        <el-row :gutter="24" class="box-row" style="margin-bottom: 20px;" v-if="handlePros.mallValidFlag === 2">
+                            <el-col :span="12">
+                                <el-radio v-model="groundMallType" :label="2">【丽格集采联盟平台】</el-radio>
+                            </el-col>
+                        </el-row>
+                    </template>
+
+                    <div slot="footer" class="dialog-footer">
+                        <el-button @click="dialogFormVisible = false">取消</el-button>
+                        <el-button type="primary" @click="handleConfirmShelf">确定</el-button>
+                    </div>
+                </el-dialog>
             </div>
         </div>
     </div>
@@ -303,6 +298,7 @@
 <!-- 引入底部 -->
 <template th:replace="components/footer"></template>
 <template th:replace="components/foot-link"></template>
+<script type="text/javascript" src="/lib/element-ui/element-ui.min.js"></script>
 <script charset="utf-8" type="text/javascript" th:src="@{/js/center.js(v=${version})}"></script>
 <script charset="utf-8" type="text/javascript"
         th:src="@{/js/common/serviceapi/supplier.service.js(v=${version})}"></script>

+ 80 - 30
src/main/resources/templates/supplier-center/shop/release.html

@@ -68,13 +68,13 @@
                                 <div class="release-tips" v-show="vShow_AliasName">{{fromMessage}}</div>
                             </div>
                             <div class="release-from clear">
-                                 <div class="release-label"><span class="star">*</span>商品属性:</div>
-                                    <div class="release-input">
-                                        <div class="release-props">
-                                            <label class="release-radio" @click="getclass(1)"><input type="radio" name="commodityType" v-model="releaseParams.commodityType" value="1"><i class="icon mIcon">产品</i></label>
-                                            <label class="release-radio" @click="getclass(2)"><input type="radio" name="commodityType" v-model="releaseParams.commodityType" value="2" checked><i class="icon mIcon">仪器</i></label>
-                                        </div>
+                                <div class="release-label"><span class="star">*</span>商品属性:</div>
+                                <div class="release-input">
+                                    <div class="release-props">
+                                        <label class="release-radio" @click="getclass(1)"><input type="radio" name="commodityType" v-model="releaseParams.commodityType" value="1"><i class="icon mIcon">产品</i></label>
+                                        <label class="release-radio" @click="getclass(2)"><input type="radio" name="commodityType" v-model="releaseParams.commodityType" value="2" checked><i class="icon mIcon">仪器</i></label>
                                     </div>
+                                </div>
                                 <div class="release-tips" v-show="vShow_attribute">{{fromMessage}}</div>
                              </div>
                             <div class="release-from clear" v-if="releaseParams.commodityType == 2">
@@ -275,33 +275,83 @@
                             </div>
                         </div>
                         <!--商品价格信息-->
+                        <div class="release-main-tips" v-show="activeNum == 1">
+                            【采美】平台为采美网官方正品平台,包括采美网网站和采美采购商城小程序。其他平台为与采美网有紧密合作关系的平台,各项标准与采美平台一致,可拓宽您的销售渠道,请放心上架。
+                        </div>
                         <div class="release-main-container" v-show="activeNum == 1">
-                            <div class="release-from clear none">
-                                <div class="release-label"><span class="star">*</span>SKU种类:</div>
-                            </div>
                             <div class="release-from clear">
-                                <div class="release-from-tr">
-                                    <div class="tr-labe"><span class="star">*</span>规格</div>
-                                    <div class="tr-labe"><span class="star">*</span>市场价</div>
-                                    <div class="tr-labe"><span class="star">*</span>售价</div>
-                                    <div class="tr-labe"><span class="star">*</span>结算价</div>
-                                    <div class="tr-labe"><span class="star">*</span>起订量</div>
-                                    <div class="tr-labe none"><span class="star">*</span>库存</div>
-                                </div>
-                                <div class="release-from-td" v-for="(sku,index) in skuParams" :key="index">
-                                    <div class="tr-labe"><input class="tr-input" type="text" v-model="sku.unit" @input="handleSkuInput" maxlength="10"></div>
-                                    <div class="tr-labe"><input class="tr-input" type="number" v-model="sku.normalPrice" @input="handleSkuInput" maxlength="10"></div>
-                                    <div class="tr-labe"><input class="tr-input" type="number" v-model="sku.price" @input="handleSkuInput" maxlength="10"></div>
-                                    <div class="tr-labe"><input class="tr-input" type="number" v-model="sku.costPrice" @input="handleSkuInput" maxlength="10"></div>
-                                    <div class="tr-labe"><input class="tr-input" type="number" v-model="sku.minBuyNumber" @input="handleSkuInput" maxlength="10"></div>
-                                    <div class="tr-labe none"><input class="tr-input" type="number" v-model="sku.stock" @input="handleSkuInput" maxlength="10"></div>
-                                    <div class="tr-icon">
-                                        <i class="WEB-icon add" @click="addskuParamsFn(sku, index)" v-if="skuParams.length < 20 && index === 0"></i>
-                                        <i class="WEB-icon del" @click="delskuParamsFn(sku, index)" v-if="skuParams.length > 1 && index !=0"></i>
-                                    </div>
-                                </div>
-                                <div class="release-tips" v-show="isSkuRule">{{fromMessage}}</div>
+                                <div class="release-label"><span class="star">*</span>上架平台:</div>
+                                <div class="release-input">
+                                    <div class="release-props">
+                                        <a class="release-radios"
+                                           href="javascript: void(0);"
+                                           v-for="(item, index) in platforms"
+                                           :key="index"
+                                           :class="item.isChecked ? 'active':''"
+                                           @click="handleCheckedPlat(item,index)" >
+                                            {{item.name}}
+                                        </a>
+                                    </div>
+                                </div>
+                                <div class="release-tips" v-show="isPlatforms">{{fromMessage}}</div>
                             </div>
+                            <template v-if="platformsFlag">
+                                <div class="release-from clear none">
+                                    <div class="release-label active">【采美平台】</div>
+                                    <div class="release-label"><span class="star">*</span>SKU种类:</div>
+                                </div>
+                                <div class="release-from clear">
+                                    <div class="release-from-tr">
+                                        <div class="tr-labe"><span class="star">*</span>规格</div>
+                                        <div class="tr-labe"><span class="star">*</span>市场价</div>
+                                        <div class="tr-labe"><span class="star">*</span>售价</div>
+                                        <div class="tr-labe"><span class="star">*</span>起订量</div>
+                                        <div class="tr-labe none"><span class="star">*</span>库存</div>
+                                    </div>
+                                    <div class="release-from-td" v-for="(sku,index) in skuParams" :key="index">
+                                        <div class="tr-labe"><input class="tr-input" type="text" v-model="sku.unit" @input="handleSkuInput" maxlength="10"></div>
+                                        <div class="tr-labe"><input class="tr-input" type="number" v-model="sku.normalPrice" @input="handleSkuInput" maxlength="10"></div>
+                                        <div class="tr-labe"><input class="tr-input" type="number" v-model="sku.price" @input="handleSkuInput" maxlength="10"></div>
+                                        <div class="tr-labe"><input class="tr-input" type="number" v-model="sku.minBuyNumber" @input="handleSkuInput" maxlength="10"></div>
+                                        <div class="tr-labe none"><input class="tr-input" type="number" v-model="sku.stock" @input="handleSkuInput" maxlength="10"></div>
+                                        <div class="tr-icon">
+                                            <i class="WEB-icon add" @click="addskuParamsFn(0,sku, index)" v-if="skuParams.length < 20 && index === 0"></i>
+                                            <i class="WEB-icon del" @click="delskuParamsFn(0,sku, index)" v-if="skuParams.length > 1 && index !=0"></i>
+                                        </div>
+                                    </div>
+                                    <div class="release-tips" v-show="isSkuRule">{{fromMessage}}</div>
+                                </div>
+                            </template>
+                            <template v-if="platformsMallFlag">
+                                <div class="release-from clear none">
+                                    <div class="release-label active">
+                                        【丽格集采联盟平台】
+                                        <span class="release-label-btn" @click="handleCopySuk" v-if="releaseType !== 'edit'">复制上方SKU数据</span>
+                                    </div>
+                                    <div class="release-label"><span class="star">*</span>SKU种类:</div>
+                                </div>
+                                <div class="release-from clear">
+                                    <div class="release-from-tr">
+                                        <div class="tr-labe"><span class="star">*</span>规格</div>
+                                        <div class="tr-labe"><span class="star">*</span>市场价</div>
+                                        <div class="tr-labe"><span class="star">*</span>售价</div>
+                                        <div class="tr-labe"><span class="star">*</span>起订量</div>
+                                        <div class="tr-labe none"><span class="star">*</span>库存</div>
+                                    </div>
+                                    <div class="release-from-td" v-for="(sku,index) in mallSkusParams" :key="index">
+                                        <div class="tr-labe"><input class="tr-input" type="text" v-model="sku.unit" @input="handleSkuInput" maxlength="10"></div>
+                                        <div class="tr-labe"><input class="tr-input" type="number" v-model="sku.normalPrice" @input="handleSkuInput" maxlength="10"></div>
+                                        <div class="tr-labe"><input class="tr-input" type="number" v-model="sku.price" @input="handleSkuInput" maxlength="10"></div>
+                                        <div class="tr-labe"><input class="tr-input" type="number" v-model="sku.minBuyNumber" @input="handleSkuInput" maxlength="10"></div>
+                                        <div class="tr-labe none"><input class="tr-input" type="number" v-model="sku.stock" @input="handleSkuInput" maxlength="10"></div>
+                                        <div class="tr-icon">
+                                            <i class="WEB-icon add" @click="addskuParamsFn(4,sku, index)" v-if="mallSkusParams.length < 20 && index === 0"></i>
+                                            <i class="WEB-icon del" @click="delskuParamsFn(4,sku, index)" v-if="mallSkusParams.length > 1 && index !=0"></i>
+                                        </div>
+                                    </div>
+                                    <div class="release-tips" v-show="isMallSkuRule">{{fromMessage}}</div>
+                                </div>
+                            </template>
                             <div class="release-from clear">
                                 <div class="release-label"><span class="star">*</span>售价是否含税:</div>
                                 <div class="release-input">

+ 66 - 80
src/main/resources/templates/user-center/order/detail.html

@@ -5,8 +5,10 @@
     <title>采美365网</title>
     <template th:replace="components/head-link"></template>
     <link th:href="@{/css/base/center.css(v=${version})}" rel="stylesheet" type="text/css">
+    <!--element ui 样式表-->
+    <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css"/>
+    <link rel="stylesheet" href="/lib/element-ui/element-ui-min.css"/>
     <link th:href="@{/css/user-center/order/detail.css(v=${version})}" rel="stylesheet" type="text/css">
-
     <template th:replace="components/analysis"></template>
 </head>
 <body>
@@ -38,8 +40,8 @@
                                 <span class="bag" v-if="orderInfo.orderSubmitType == 3 || orderInfo.orderSubmitType == 4">协销</span>
                                 <span class="bag" v-if="orderInfo.orderSubmitType == 0 || orderInfo.orderSubmitType == 1 || orderInfo.orderSubmitType == 2">自主</span>
                                 <div class="title-name">
-                                    <p>订单编号:<span>{{orderInfo.orderNo}}</span></p>
-                                    <p class="state">{{orderInfo.status | stateExp}}</p>
+                                    <p>订单编号:<span>{{orderInfo.shopOrderNo}}</span></p>
+                                    <p class="state">{{orderInfo.status | statusFilters}}</p>
                                 </div>
                                 <div class="title-type" v-if="orderInfo.secondHandOrderFlag == 1"></div>
                                 <div class="title-time">
@@ -47,61 +49,40 @@
                                 </div>
                             </div>
                             <div class="order-content">
-                                <div class="order-item">
-                                    <p class="org">订单标识:<span class="org">{{orderIdentificationId}}</span></p>
-                                    <p class="copy" @click="copyOrderBtnSubmitFn">复制</p>
-                                </div>
                                 <div class="order-item">
                                     <p>收货人:<span class="none" v-if="userInfo">{{userInfo.receiver}}</span> </p>
                                     <p>电话:<span class="none" v-if="userInfo">{{userInfo.mobile}}</span> </p>
                                     <p class="address">地址:<span class="none" v-if="userInfo">{{userInfo.province}}{{userInfo.city}}{{userInfo.town}}{{userInfo.address}}</span> </p>
                                 </div>
                                 <div class="order-item">
-                                    <p>订单总额:<span class="red">¥{{orderInfo.payTotalFee | NumFormat}}</span> </p>
-                                    <p>应付总额:
-                                        <span class="red">¥{{orderInfo.payableAmount | NumFormat}}</span>
-                                        <span v-if="orderInfo.balancePayFee>0">(账户余额抵扣:¥{{orderInfo.balancePayFee | NumFormat}})</span>
-                                    </p>
-                                    <p>已支付:<span class="red">¥{{orderInfo.receiptAmount | NumFormat}}</span> </p>
-                                    <p>待付金额:<span class="red">¥{{orderInfo.pendingPayments | NumFormat}}</span> </p>
-                                </div>
-                                <div class="order-item">
-                                    <p v-if="orderInfo.postageFlag == '0'">运费:<span class="none">包邮</span> </p>
-                                    <p v-if="orderInfo.postageFlag == '-1'">运费:<span class="none">到付</span> </p>
-                                    <p v-if="orderInfo.postageFlag == '1'">运费:<span class="none">¥{{orderInfo.postage | NumFormat}}</span> </p>
-                                    <p v-if="orderInfo.userBeans>0">采美豆抵用运费:<span class="none" >{{orderInfo.userBeans }}</span> </p>
-                                    <p v-if="orderInfo.discountFee>0">经理折扣:<span class="none">¥{{orderInfo.discountFee | NumFormat}}</span> </p>
-                                    <p v-if="orderInfo.promotionFullReduction>0">促销满减:<span class="red">¥{{orderInfo.promotionFullReduction | NumFormat}}</span> </p>
-                                    <p>优惠券:<span class="red">¥{{orderInfo.couponAmount | NumFormat}}</span> </p>
-                                    <p v-if="orderInfo.svipFullReduction">超级会员优惠:<span class="red">¥{{orderInfo.svipFullReduction | NumFormat}}</span> </p>
-                                    <p v-if="orderInfo.presentCount>0">赠品数:<span class="none">{{orderInfo.presentCount}}</span></p>
+                                    <p class="address">留言:<span>{{ orderInfo.note ? orderInfo.note : '无' }}</span></p>
                                 </div>
                             </div>
                         </div>
                         <!-- 特殊商品退货须知 -->
                         <div class="return-instructions shadow" v-if="returnGoodsStutas" v-html="helpContent"></div>
                         <div class="section-list shadow">
-                            <div class="section-shopinfo" v-for="(shop, index) in shopOrderList" :key="index">
+                            <div class="section-shopinfo">
                                 <div class="title">
-                                    <img :src="shop.shopLogo" alt="" class="logo">
-                                    <p class="name">{{shop.shopName}}</p>
+                                    <img :src="orderInfo.shopLogo" alt="" class="logo">
+                                    <p class="name">{{orderInfo.shopName}}</p>
                                     <!--店铺促销-->
-                                    <div v-if="shop.shopPromotion" class="priceTag">
-                                        <i @click="toggleThisLadder($event)" class="tag icon mIcon" v-text="shop.shopPromotion.name"></i>
+                                    <div v-if="orderInfo.shopPromotion" class="priceTag">
+                                        <i @click="toggleThisLadder($event)" class="tag icon mIcon" v-text="orderInfo.shopPromotion.name"></i>
                                         <div class="promotion mFixed">
                                             <div>
                                                 <p class="t">
-                                                    <em v-if="shop.shopPromotion.mode==2">{{shop.shopPromotion.name+',满 ¥'+toFloat(shop.shopPromotion.touchPrice)+' 减 ¥'+toFloat(shop.shopPromotion.reducedPrice)}}</em>
-                                                    <em v-if="shop.shopPromotion.mode==3">{{shop.shopPromotion.name+',满 ¥'+toFloat(shop.shopPromotion.touchPrice)+' 赠送商品'}}</em>
+                                                    <em v-if="orderInfo.shopPromotion.mode==2">{{orderInfo.shopPromotion.name+',满 ¥'+toFloat(orderInfo.shopPromotion.touchPrice)+' 减 ¥'+toFloat(orderInfo.shopPromotion.reducedPrice)}}</em>
+                                                    <em v-if="orderInfo.shopPromotion.mode==3">{{orderInfo.shopPromotion.name+',满 ¥'+toFloat(orderInfo.shopPromotion.touchPrice)+' 赠送商品'}}</em>
                                                 </p>
-                                                <p>促销时间:<em v-if="shop.shopPromotion.status==1">不限时</em><em v-else>{{shop.shopPromotion.beginTime.substr(0,10)+' ~ '+shop.shopPromotion.endTime.substr(0,10)}}</em></p>
+                                                <p>促销时间:<em v-if="orderInfo.shopPromotion.status==1">不限时</em><em v-else>{{orderInfo.shopPromotion.beginTime.substr(0,10)+' ~ '+orderInfo.shopPromotion.endTime.substr(0,10)}}</em></p>
                                                 <p class="c"><a class="close" @click="hideThisLadder($event)" href="JavaScript:void(0);">了解</a></p>
                                             </div>
                                         </div>
                                     </div>
                                 </div>
                                 <div class="product">
-                                    <div class="section-prosinfo" v-for="(pros, pIndex) in shop.orderProductList" :key="pIndex">
+                                    <div class="section-prosinfo" v-for="(pros, pIndex) in orderInfo.orderProductList" :key="pIndex">
                                         <div class="product-t clear">
                                             <div class="image">
                                                 <img :src="pros.image" alt="">
@@ -153,50 +134,53 @@
                                         </div>
                                     </div>
                                 </div>
-                                <div class="shopinfo-bott clear" v-if="orderInfo.onlinePayFlag == 0">
-                                    <p>商品总额:<span class="none" >¥{{shop.totalAmount | NumFormat }}</span> </p>
-                                    <p>优惠:<span class="none">¥{{shop.eachDiscount | NumFormat}}</span> </p>
-                                    <p>应付金额:<span class="none">¥{{shop.realPay | NumFormat}}</span> </p>
-                                    <p>已付金额:<span class="none">¥{{shop.receiptAmount | NumFormat}}</span> </p>
-                                    <p>待付金额:<span class="red">¥{{shop.obligation | NumFormat}}</span> </p>
+                                <div class="shopinfo-bott clear">
+                                    <p>商品总额:<span class="none" >¥{{orderInfo.totalAmount | NumFormat }}</span> </p>
+                                    <p>订单总额:<span class="none" >¥{{orderInfo.totalAmount | NumFormat }}</span> </p>
+                                    <p>运费:<span class="none">{{orderInfo.postageInfo }}</span> </p>
+                                    <p>优惠:<span class="none">¥{{orderInfo.eachDiscount | NumFormat}}</span> </p>
                                 </div>
-                                <div class="shopinfo-note" v-if="shop.note" >
-                                    <p>备注:{{shop.note ? shop.note : '无'}}</p>
+                                <div class="shopinfo-bott clear">
+                                    <p>应付金额:<span class="none">¥{{orderInfo.realPay | NumFormat}}</span> </p>
+                                    <p>已付金额:<span class="none">¥{{orderInfo.receiptAmount | NumFormat}}</span> </p>
+                                    <p>待付金额:<span class="red">¥{{orderInfo.obligation | NumFormat}}</span> </p>
                                 </div>
                             </div>
                         </div>
-                        <div class="section-invoice shadow">
-                            <div class="tit"><p>发票信息</p><!--<i class="icon mIcon"></i>--></div>
-                            <div class="invoice-content" v-if="orderInvoice&&orderInvoice.type==2">
-                                <p>公司抬头: <span>{{orderInvoice.invoiceTitle}}</span></p>
-                                <p>纳锐人识别号: <span>{{orderInvoice.corporationTaxNum}}}</span></p>
-                                <p>注册地址: <span>{{orderInvoice.registeredAddress}}</span></p>
-                                <p>注册电话: <span>{{orderInvoice.registeredPhone}}</span></p>
-                                <p>开户银行: <span>{{orderInvoice.openBank}}</span></p>
-                                <p>银行账号: <span>{{orderInvoice.bankAccountNo}}</span></p>
+                        <div class="section-showInfo">
+                            <div class="title-name">发票信息</div>
+                            <div class="content">
+                                <div class="order-item">
+                                    <p>{{  orderInvoice | setInvoiceText }}</p>
+                                </div>
+                                <template v-if="orderInvoice && (orderInvoice.type === 2 || orderInvoice.headingType === 1)">
+                                    <div class="order-item">
+                                        <p>发票抬头:<span class="none">{{ orderInvoice.invoiceTitle ? orderInvoice.invoiceTitle : '无' }}</span></p>
+                                        <p>单位税号:<span class="none">{{ orderInvoice.corporationTaxNum ? orderInvoice.corporationTaxNum : '无' }}</span> </p>
+                                        <p>注册地址:<span class="none">{{ orderInvoice.registeredAddress ? orderInvoice.registeredAddress : '无' }}</span> </p>
+                                    </div>
+                                    <div class="order-item">
+                                        <p>注册电话:<span class="none">{{ orderInvoice.registeredPhone ? orderInvoice.registeredPhone : '无' }}</span></p>
+                                        <p>开户银行:<span class="none">{{ orderInvoice.openBank ? orderInvoice.openBank : '无' }}</span></p>
+                                        <p>银行账号:<span class="none">{{ orderInvoice.bankAccountNo ? orderInvoice.bankAccountNo : '无' }}</span></p>
+                                    </div>
+                                </template>
                             </div>
-                            <div class="invoice-none" v-else>
-                                <p>不要发票</p>
+                        </div>
+                        <div class="section-showInfo" v-if="voucherList.length > 0">
+                            <div class="title-name">线下支付凭证</div>
+                            <div class="vouch-list clear" v-for="(vouch,index) in voucherList" :key="index">
+                                <p class="refund-item-p">{{ vouch.addTime }}</p>
+                                <div class="refund-item-imgs">
+                                    <div v-for="(imgage,imgIndex) in vouch.imgs" :key="imgIndex" class="item-image">
+                                        <a :href="imgage.img" target="_blank" rel="noopener noreferrer">
+                                            <img :src="imgage.img" alt="">
+                                        </a>
+                                    </div>
+                                </div>
+                                <p v-if="vouch.remarks" class="refund-item-p">备注:{{ vouch.remarks }}</p>
                             </div>
                         </div>
-<!--                        <div class="section-payment shadow">-->
-<!--                            <div class="payment-transfer">-->
-<!--                                <div class="payment-transfer-main" id="paymentTransferMain">-->
-<!--                                    <div class="label"><P class="label-title"><i class="icon mIcon"></i>除了线上支付,您还可以通过直接转账的方式付款</P></div>-->
-<!--                                    <div class="label"><P class="label-t">转账信息</P></div>-->
-<!--                                    <div class="label">-->
-<!--                                        <P class="text">开户行:中信银行(深圳泰然支行)</P>-->
-<!--                                        <P class="text">银行卡号:6217 6803 0362 0897</P>-->
-<!--                                        <P class="text">户名:周仁声</P>-->
-<!--                                    </div>-->
-<!--                                    <div class="label">-->
-<!--                                        <P class="text-p">订单标识:<span class="red">{{orderIdentificationId}}</span><a href="javascript: void(0);" class="copy" @click="copyOrderBtnSubmitFn">复制</a></P>-->
-<!--                                    </div>-->
-<!--                                    <div class="label"><P class="label-t">特别注意</P></div>-->
-<!--                                    <div class="label"><P class="label-c">请在转账备注中填写上述订单标识,方便财务快速审核,提高发货速度</P></div>-->
-<!--                                </div>-->
-<!--                            </div>-->
-<!--                        </div>-->
                         <div class="section-paymentlist shadow" v-if='orderInfo.receiptAmount>0' >
                             <div class="record-title mfbt">
                                 <div class="record-title-l">支付记录</div>
@@ -234,18 +218,19 @@
                         </div>
                         <div class="section-botton shadow" :class="isFiexd ? 'fiexd' : 'float'">
                             <div class="inner">
-                                <a class="btn primary confirm" href="javascript: void(0);" v-if="orderInfo.affirmPaymentFlag==10" @click="hanldConfirmFn()"><p>确认</p>打款供应商</a>
-                                <a class="btn primary" href="javascript: void(0);" v-if="[11,12,13,21,22,23,111].indexOf(orderInfo.status)!=-1" @click="hanldPayOrderFn()">支付订单</a>
-                                <a class="btn cancel" href="javascript: void(0);" v-if="[0,111].indexOf(orderInfo.status)!=-1" @click="hanldCancelOrderFn()">取消订单</a>
-                                <a class="btn primary" href="javascript: void(0);" v-if="[0].indexOf(orderInfo.status)!=-1"  @click="hanldConfirmOrderFn()">确认订单</a>
-<!--                                <a class="btn cancel" href="javascript: void(0);" v-if="[6].indexOf(orderInfo.status)!=-1" @click="hanldDeleteOrderFn()">删除订单</a>-->
-                                <a class="btn cancel" href="javascript: void(0);"  v-if="[4,5,12,13,33,22,23,32,77].indexOf(orderInfo.status)!=-1 && orderInfo.secondHandOrderFlag!=1" @click="hanldQueryExpressFn()">查看物流</a>
-                                <a class="btn primary" href="javascript: void(0);"  v-if="[33].indexOf(orderInfo.status)!=-1" @click="hanldReceivingOrderFn()">
+<!--                                <a class="btn primary confirm" href="javascript: void(0);" v-if="orderInfo.affirmPaymentFlag==10" @click="handeleDropdown(1)"><p>确认</p>打款供应商</a>-->
+                                <a class="btn primary" href="javascript: void(0);" v-if="[11,12,13,21,22,23].indexOf(orderInfo.status)!=-1" @click="handeleDropdown(2)">支付订单</a>
+                                <a class="btn primary" href="javascript: void(0);" v-if="orderInfo.checkFlag === 2" @click="handeleDropdown(3)">上传支付凭证</a>
+                                <a class="btn cancel" href="javascript: void(0);" v-if="[0,11].indexOf(orderInfo.status)!=-1" @click="handeleDropdown(4)">取消订单</a>
+                                <a class="btn primary" href="javascript: void(0);" v-if="orderInfo.status === 0" @click="handeleDropdown(5)">确认订单</a>
+<!--                                <a class="btn cancel" href="javascript: void(0);" v-if="[4].indexOf(orderInfo.status)!=-1" @click="hanldDeleteOrderFn()">删除订单</a>-->
+                                <a class="btn cancel" href="javascript: void(0);"  v-if="[2,3,5,6,12,13,22,23,32,33].indexOf(orderInfo.status)!=-1 && orderInfo.secondHandOrderFlag!=1" @click="handeleDropdown(6)">查看物流</a>
+                                <a class="btn primary" href="javascript: void(0);" v-if="orderInfo.status === 33 && order.secondHandOrderFlag !=1"  @click="hanldReceivingOrderFn">
                                     确认收货
                                     <div class="tips">采美豆</div>
                                 </a>
-                                <div class="shopinfo" v-if="[11,12,13,21,22,23,111].indexOf(orderInfo.status)!=-1">
-                                    <p class="price-total" v-if="orderInfo.pendingPayments!=0">待付金额:<span class="red">¥{{orderInfo.pendingPayments | NumFormat}}</span> </p>
+                                <div class="shopinfo" v-if="[11,12,13,21,22,23].indexOf(orderInfo.status)!=-1">
+                                    <p class="price-total" v-if="orderInfo.pendingPayments!=0">待付金额:<span class="red">¥{{orderInfo.obligation | NumFormat}}</span> </p>
                                 </div>
                             </div>
                         </div>
@@ -279,6 +264,7 @@
 <!-- 引入底部 -->
 <template th:replace="components/footer"></template>
 <template th:replace="components/foot-link"></template>
+<script type="text/javascript" src="/lib/element-ui/element-ui.min.js"></script>
 <script charset="utf-8" type="text/javascript" th:src="@{/js/center.js(v=${version})}"></script>
 <script charset="utf-8" type="text/javascript" th:src="@{/js/common/serviceapi/order.service.js(v=${version})}"></script>
 <script charset="utf-8" type="text/javascript" th:src="@{/js/user-center/order/detail.js(v=${version})}"></script>

+ 51 - 43
src/main/resources/templates/user-center/order/list.html

@@ -5,8 +5,10 @@
     <title>采美365网</title>
     <template th:replace="components/head-link"></template>
     <link th:href="@{/css/base/center.css(v=${version})}" rel="stylesheet" type="text/css">
+    <!--element ui 样式表-->
+    <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css"/>
+    <link rel="stylesheet" href="/lib/element-ui/element-ui-min.css"/>
     <link th:href="@{/css/user-center/order/orderlist.css(v=${version})}" rel="stylesheet" type="text/css">
-    <link href="/lib/datapicker/daterangepicker.css" rel="stylesheet">
     <template th:replace="components/analysis"></template>
 </head>
 <body>
@@ -24,7 +26,7 @@
             <!--左侧导航-->
             <template th:replace="user-center/components/tableft"></template>
             <div class="right">
-                <div class="order-header">
+                <div class="order-header clear">
                     <div class="header-tp">
                         <div class="header-tabs">
                             <div class="tabs-item"  v-for="(item, index) in orderTabBar" :key="index" @click="changeOrderFn(index,item.state)" :class="orderTabBarIndex == index ? 'active':''">
@@ -36,28 +38,39 @@
                         </div>
                     </div>
                     <div class="header-bt">
-                        <div class="header-search">
-                            <div class="search">
-                                <span v-if="isPC" class="label">订单编号:</span>
-                                <input type="text" v-model="listQuery.searchNo" placeholder="输入订单编号进行搜索" class="search-input">
-                            </div>
-                            <div class="search-time">
-                                <span v-if="isPC" class="label">下单时间:</span>
-                                <div class="search-main mfbt" id="orderDate">
-                                    <div class="search-input">
-                                        <input type="text" v-model="listQuery.beginTime" placeholder="订单开始时间" class="input start">
-                                        <i class="icon mIcon"></i>
-                                    </div>
-                                    <span class="line">至</span>
-                                    <div class="search-input">
-                                        <input type="text" v-model="listQuery.endTime" placeholder="订单结束时间" class="input end">
-                                        <i class="icon mIcon"></i>
-                                    </div>
-                                </div>
-                            </div>
+                        <div class='form-row low'>
+                            <span v-if="isPC">订单编号:</span>
+                            <el-input
+                                    v-model="listQuery.searchNo"
+                                    class="state"
+                                    placeholder="输入订单编号进行搜索"
+                                    clearable
+                                    @keyup.enter.native="getList"
+                                    @clear="getList"
+                            ></el-input>
+                        </div>
+                        <div class="form-row time">
+                            <span v-if="isPC">下单时间:</span>
+                            <el-date-picker
+                                    class="time"
+                                    v-model="listQuery.beginTime"
+                                    type="date"
+                                    format="yyyy-MM-dd"
+                                    value-format="yyyy-MM-dd"
+                                    placeholder="选择开始日期">
+                            </el-date-picker>
+                            至
+                            <el-date-picker
+                                    class="time"
+                                    v-model="listQuery.endTime"
+                                    type="date"
+                                    format="yyyy-MM-dd"
+                                    value-format="yyyy-MM-dd"
+                                    placeholder="选择结束日期">
+                            </el-date-picker>
                         </div>
                         <div class="header-button">
-                            <a class="btn-server" href="javascript: void(0);"  @click="searchOrderListFn">搜索</a>
+                            <el-button type="primary" @click="getList">查询</el-button>
                         </div>
                     </div>
                 </div>
@@ -73,8 +86,8 @@
                                 <span class="bag" v-if="order.orderSubmitType == 3 || order.orderSubmitType == 4">协销</span>
                                 <span class="bag" v-if="order.orderSubmitType == 0 || order.orderSubmitType == 1 || order.orderSubmitType == 2">自主</span>
                                 <div class="title-name">
-                                    <p>订单编号(标识):<span>{{order.orderNo}}({{order.orderId}})</span></p>
-                                    <p class="state">{{order.status | stateExp}}</p>
+                                    <p>订单编号:<span>{{order.shopOrderNo}}</span></p>
+                                    <p class="state">{{order.status | statusFilters}}</p>
                                 </div>
                                 <div class="title-type" v-if="order.secondHandOrderFlag == 1"></div>
                                 <div class="title-time">
@@ -83,31 +96,27 @@
                             </div>
                             <div class="order-content">
                                 <div class="order-item">
-                                    <p v-if="order.freePostFlag == '0'">运费:<span>包邮</span> </p>
-                                    <p v-if="order.freePostFlag == '-1'">运费:<span>到付</span> </p>
-                                    <p v-if="order.freePostFlag == '1'">运费:<span>¥{{order.freight | NumFormat}}</span> </p>
-                                    <p v-if="order.discountFee!=0">经理折扣:<span>¥{{order.discountFee | NumFormat}}</span> </p>
                                     <p>促销满减:<span>¥{{order.promotionFullReduction | NumFormat}}</span> </p>
-                                    <p>赠品数:<span>{{order.presentCount + order.promotionalGiftsCount}}</span></p>
-                                    <p class="confirm-text" v-if="order.affirmPaymentFlag == 1 ">已确认打款供应商</p>
+                                    <p>赠品数:<span>{{order.presentNum}}</span></p>
                                 </div>
                                 <div class="order-item">
-                                    <p>订单总额:<span class="red">¥{{order.payTotalFee | NumFormat}}</span> </p>
+                                    <p>订单总额:<span class="red">¥{{order.totalAmount | NumFormat}}</span> </p>
                                 </div>
                                 <div class="order-item">
-                                    <p>应付总额:<span class="red">¥{{order.payableAmount | NumFormat}}</span> </p>
+                                    <p>应付总额:<span class="red">¥{{order.needPayAmount | NumFormat}}</span> </p>
                                     <p>已支付:<span class="red">¥{{order.receiptAmount | NumFormat}}</span> </p>
-                                    <p>待付金额:<span class="red">¥{{order.pendingPayments | NumFormat}}</span> </p>
+                                    <p>待付金额:<span class="red">¥{{order.obligation | NumFormat}}</span> </p>
                                 </div>
                                 <div class="order-botton">
-                                    <a class="btn primary confirm" href="javascript: void(0);" v-if="order.affirmPaymentFlag== 10 " @click="hanldConfirmFn(order.userId,order.orderId)"><p>确认</p>打款供应商</a>
-                                    <a class="btn primary" href="javascript: void(0);" v-if="[11,12,13,21,22,23,111].indexOf(order.status)!=-1" @click="hanldPayOrderFn(order,order.orderId)">支付订单</a>
-                                    <a class="btn cancel" href="javascript: void(0);" @click="hanldDetilsOrderFn(order.orderId)">订单详情</a>
-                                    <a class="btn cancel" href="javascript: void(0);" v-if="[0,111].indexOf(order.status)!=-1" @click="hanldCancelOrderFn(order.orderId)">取消订单</a>
-                                    <a class="btn primary" href="javascript: void(0);" v-if="[0].indexOf(order.status)!=-1"  @click="hanldConfirmOrderFn(order.orderId)">确认订单</a>
-<!--                                    <a class="btn cancel" href="javascript: void(0);" v-if="[6].indexOf(order.status)!=-1" @click="hanldDeleteOrderFn(order.orderId)">删除订单</a>-->
-                                    <a class="btn cancel" href="javascript: void(0);"  v-if="[4,5,12,13,33,22,23,32,77].indexOf(order.status)!=-1 && order.secondHandOrderFlag !=1" @click="hanldQueryExpressFn(order.orderId)">查看物流</a>
-                                    <a class="btn primary" href="javascript: void(0);"  v-if="[33].indexOf(order.status)!=-1 && order.secondHandOrderFlag !=1" @click="hanldReceivingOrderFn(order.orderId)">
+<!--                                    <a class="btn primary confirm" href="javascript: void(0);" v-if="order.affirmPaymentFlag== 10 " @click="hanldConfirmFn(order.userId,order.orderId)"><p>确认</p>打款供应商</a>-->
+                                    <a class="btn primary" href="javascript: void(0);" v-if="[11,12,13,21,22,23].indexOf(order.status)!=-1" @click="hanldPayOrderFn(order,order.shopOrderId)">支付订单</a>
+                                    <a class="btn primary" href="javascript: void(0);" v-if="order.checkFlag === 2" @click="hanldAddPay(order,order.shopOrderId)">上传转账凭证</a>
+                                    <a class="btn cancel" href="javascript: void(0);" @click="hanldDetilsOrderFn(order.shopOrderId)">订单详情</a>
+                                    <a class="btn cancel" href="javascript: void(0);" v-if="[0,11].indexOf(order.status)!=-1" @click="hanldCancelOrderFn(order.shopOrderId)">取消订单</a>
+                                    <a class="btn primary" href="javascript: void(0);" v-if="order.status === 0"  @click="hanldConfirmOrderFn(order.shopOrderId)">确认订单</a>
+<!--                                    <a class="btn cancel" href="javascript: void(0);" v-if="[4].indexOf(order.status)!=-1" @click="hanldDeleteOrderFn(order.orderId)">删除订单</a>-->
+                                    <a class="btn cancel" href="javascript: void(0);"  v-if="[2,3,5,6,12,13,22,23,32,33].indexOf(order.status)!=-1 && order.secondHandOrderFlag !=1" @click="hanldQueryExpressFn(order.shopOrderId)">查看物流</a>
+                                    <a class="btn primary" href="javascript: void(0);" v-if="order.status === 33 && order.secondHandOrderFlag !=1" @click="hanldReceivingOrderFn(order.shopOrderId)">
                                         确认收货
                                         <div class="tips">采美豆</div>
                                     </a>
@@ -162,9 +171,8 @@
 <!-- 引入底部 -->
 <template th:replace="components/footer"></template>
 <template th:replace="components/foot-link"></template>
+<script type="text/javascript" src="/lib/element-ui/element-ui.min.js"></script>
 <script charset="utf-8" type="text/javascript" th:src="@{/js/center.js(v=${version})}"></script>
-<script charset="utf-8" type="text/javascript" src="/lib/datapicker/moment-2.29.min.js"></script>
-<script charset="utf-8" type="text/javascript" src="/lib/datapicker/jquery.daterangepicker.js"></script>
 <script charset="utf-8" type="text/javascript" th:src="@{/js/common/serviceapi/order.service.js(v=${version})}"></script>
 <script charset="utf-8" type="text/javascript" th:src="@{/js/user-center/order/list.js(v=${version})}"></script>
 </body>

+ 80 - 0
src/main/resources/templates/user-center/order/remarks-add-pay.html

@@ -0,0 +1,80 @@
+<!DOCTYPE html>
+<html lang="zh-CN" xmlns:th="https://www.thymeleaf.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="https://www.thymeleaf.org ">
+<head>
+  <title>采美365网-上传支付凭证</title>
+  <template th:replace="components/head-link"></template>
+  <link th:href="@{/css/base/center.css(v=${version})}" rel="stylesheet" type="text/css">
+  <!--element ui 样式表-->
+  <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css"/>
+  <link rel="stylesheet" href="/lib/element-ui/element-ui-min.css"/>
+  <link th:href="@{/css/user-center/order/remarks-add-pay.css(v=${version})}" rel="stylesheet" type="text/css">
+  <template th:replace="components/analysis"></template>
+</head>
+<body>
+<!-- 引用头部 -->
+<template th:replace="components/header"></template>
+<!-- 我的采美 -->
+<div id="Voucher" v-cloak>
+  <div class="navLayout">
+    <div class="crumbs" v-if="isPC">
+      <span>我的交易</span>
+      <span>&gt;</span>
+      <span>我的订单</span>
+      <span>&gt;</span>
+      <span>上传支付凭证</span>
+    </div>
+    <div class="wrap clear">
+      <!--左侧面包屑-->
+      <template th:replace="user-center/components/tableft"></template>
+      <div class="right">
+        <div class="add-logistics">
+          <div class="add-pay-form">
+            <div class="release-from ">
+                <div class="release-from-labe"><span>*</span>支付凭证图片:</div>
+                <div class="release-input" id="uploadGoodsImages">
+                  <div class="upload-file" v-for="(item, index) in imgList" :key="index">
+                    <img :data-original='item' :src="item" :data-image="item" alt="" class="upload-img" @click="bigImage">
+                    <i class="icon mIcon del" @click="removeGoodsImagesFn(index)"></i>
+                  </div>
+                  <div class="upload-file" v-show="imgList.length<5">
+                    <i class="icon mIcon add"></i>
+                    <input ref="goodsImages" type="file" name="file" value="" class="input-file"
+                           accept="image/png,image/jpeg,image/gif,image/jpg"
+                           @change="uploadGoodsImagesFn">
+                  </div>
+                  <div class="form-upload-tips">
+                    <i class="icon mIcon icon-wen"></i>
+                    <div class="wen-tips">请上传支付凭证图片,最多5张</div>
+                  </div>
+                </div>
+            </div>
+            <div class="release-from">
+              <div class="release-from-labe">备注:</div>
+              <el-input v-model="params.remarks"
+                        type="textarea"
+                        show-word-limit
+                        placeholder="请输入备注文字,200字以内"
+                        maxlength="200"
+                        :autosize="{ minRows: 5, maxRows: 6}">
+              </el-input>
+            </div>
+            <div class="release-from-btn">
+                <el-button plain  style="width: 100px; margin: 0 10px;" @click="history.go(-1)">返回</el-button>
+                <el-button type="primary" :disabled="disabled" style="width: 100px; margin: 0 10px;" @click="handleSave">保存</el-button>
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+</div>
+<!-- 引入底部 -->
+<template th:replace="components/footer"></template>
+<template th:replace="components/foot-link"></template>
+<script type="text/javascript" src="/lib/element-ui/element-ui.min.js"></script>
+<script charset="utf-8" type="text/javascript" th:src="@{/js/center.js(v=${version})}"></script>
+<script charset="utf-8" type="text/javascript" th:src="@{/js/common/serviceapi/order.service.js(v=${version})}"></script>
+<script charset="utf-8" type="text/javascript" th:src="@{/js/user-center/order/remarks-add-pay.js(v=${version})}"></script>
+</body>
+</html>