ソースを参照

帮机构下单

zhengjinyi 1 年間 前
コミット
6782d3ca2d

+ 9 - 0
src/main/java/com/caimei/www/controller/authorized/AccountController.java

@@ -14,6 +14,7 @@ import org.springframework.web.bind.annotation.GetMapping;
 public class AccountController extends BaseController {
     /** 登录 */
 	private static final String LOGIN_PATH = "account/login";
+	private static final String LOGIN_FAST = "account/login-fast";
     private static final String SUPPLIER_LOGIN_PATH = "account/supplierTologin";
     private static final String REGISTER_SUPPLIER_LOGIN = "supplier_login/index";
     private static final String REGISTER_SUPPLIER_LOGIN_TEXTINFO = "supplier_login/text_info";
@@ -40,6 +41,14 @@ public class AccountController extends BaseController {
         return LOGIN_PATH;
     }
 
+    /**
+     * 供应商快捷登录
+     */
+    @GetMapping("/login-fast.html")
+    public String loginFast() {
+        return LOGIN_FAST;
+    }
+
     /**
      * supplier登录页
      */

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

@@ -14,6 +14,8 @@ import org.springframework.web.bind.annotation.GetMapping;
 public class SupplierPageController extends BaseController {
     /** 我的采美 */
 	private static final String DASHBOARD = "supplier-center/dashboard";
+    /** 帮机构下单 */
+	private static final String ORDER_CREATE = "supplier-center/order/order-create";
     /** 订单列表 */
 	private static final String ORDER_LIST = "supplier-center/order/list";
     /** 订单详情 */
@@ -46,6 +48,10 @@ public class SupplierPageController extends BaseController {
 	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 ORDER_SHARE_DETAILS = "supplier-center/order/order-share-details";
+    /** 编辑订单 */
+	private static final String ORDER_SHARE_LOGIN= "supplier-center/order/order-share-login";
     /** 员工管理 */
 	private static final String OPERATION_LIST = "supplier-center/operation/list";
     /** 添加/编辑员工 */
@@ -103,6 +109,12 @@ public class SupplierPageController extends BaseController {
         return DASHBOARD;
     }
 
+    /** 创建订单 */
+    @GetMapping("/supplier/order/order-create.html")
+    public String orderCreate() {
+        return ORDER_CREATE;
+    }
+
     /** 订单列表 */
     @GetMapping("/supplier/order/list.html")
     public String orderList() {
@@ -133,6 +145,18 @@ public class SupplierPageController extends BaseController {
         return LOGISTICS_DETAIL;
     }
 
+    /** 分享登录 */
+    @GetMapping("/order-share-login.html")
+    public String orderShareLogin() {
+        return ORDER_SHARE_LOGIN;
+    }
+
+    /** 分享查看订单 */
+    @GetMapping("/order-share-details.html")
+    public String orderShareDetails() {
+        return ORDER_SHARE_DETAILS;
+    }
+
     /** 商品资质详情 */
     @GetMapping("/supplier/order/qualifications/detail.html")
     public String qualificationsDetail() {
@@ -191,6 +215,7 @@ public class SupplierPageController extends BaseController {
     public String orderReturn() {
         return ORDER_RETURN;
     }
+
     /** 修改订单 */
     @GetMapping("/supplier/order/order-edit.html")
     public String orderEdit() {

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

@@ -0,0 +1,46 @@
+@media screen and (min-width:768px) {
+    table, td, th{border: none;}
+    .crumbs {font-size: 16px;color: #22272e}
+    .order-title{ box-sizing: border-box;padding: 10px 0; }
+    .order-title p{ font-size: 16px;color: #22272E; }
+    .order-address-form{ width: 100%;height: auto;padding: 16px 16px 10px 16px;box-sizing: border-box;background: #FFFFFF; }
+    .order-product-form { width: 100%;height: auto;padding:0 16px 16px 16px;box-sizing: border-box;background: #FFFFFF;}
+    .order-product-form .cartTit{height:50px;line-height:50px;border-bottom: 1px solid #E2E7EF;text-align: center;}
+    .order-product-form .c1{float:left;width:300px;height:100%;position:relative;}
+    .order-product-form .c2{float:left;width:150px}
+    .order-product-form .c3{float:left;width:200px}
+    .order-product-form .c4{float:left;width:80px}
+    .order-product-form .c5{float:left;width:200px;position:relative}
+    .order-product-none { text-align: center;width: 100%;height: 122px;padding: 25px 0;box-sizing: border-box;}
+    .order-product-none p{ line-height: 36px;font-size: 14px;color: #9AA5B5;}
+    .order-product-main{width: 100%;height: auto; }
+    .order-product-item{width: 100%;height: 80px;text-align: center;line-height: 80px;position: relative;}
+    .order-product-item .item-delete{width: 80px;height: 80px;text-align: center;line-height: 80px;position: absolute;right: -20px;}
+    .order-product-item .item-delete .el-icon-close{font-size: 16px;color: #333333;cursor: pointer;}
+    .order-product-item .product-img{width: 80px;height: 80px;float: left;}
+    .order-product-item .product-img img{width: 80px;height: 80px;}
+    .order-product-item .product-name{width: 220px;height: 80px;float: left;box-sizing: border-box;padding: 20px 0}
+    .order-product-item .product-name p{line-height: 20px; font-size: 12px;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden;}
+    .order-product-bsn { width: 100%;height: auto;padding:0 16px 16px 16px;box-sizing: border-box;background: #FFFFFF;margin-top: 16px;}
+    .order-product-add { text-align: center;width: 100%;height: 60px;padding: 20px 0 0 0;box-sizing: border-box;}
+    .order-product-add span{ margin: 0 5px;}
+    .order-invoice-form{ width: 100%;height: auto;padding: 16px;box-sizing: border-box;background: #FFFFFF; }
+    .order-invoice-radio{ width: 100%;height: 36px;line-height: 36px;margin: 5px 0;}
+    .order-el-confirm{width: 100%;text-align: right;position: fixed;bottom: 0;left:0;box-sizing: border-box;padding: 20px 0;background: #FFFFFF;}
+    .order-el-confirm .inner{ width: 1184px;margin: 0 auto; }
+    /*  el-dialog 样式  */
+    .filter-container { padding-bottom: 10px; }
+    .filter-item { display: inline-block;vertical-align: middle; margin-bottom: 10px;}
+    .filter-control {display: inline-block;margin-bottom: 10px;margin-right: 10px;}
+    .filter-control>span,.filter-control>.el-input{ display: inline-block;vertical-align: middle;}
+    .filter-control>span { margin-right: 10px; font-size: 14px;color: #606266;}
+    .filter-control>.el-input{  width: 200px;}
+    .filter-control>.el-select{  width: 200px;}
+}
+
+
+/*移动*/
+@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;}
+
+}

+ 183 - 0
src/main/resources/static/css/supplier-center/order/order-share-detail.css

@@ -0,0 +1,183 @@
+@charset "utf-8";
+li{list-style:none}
+/**
+ * PC端
+ */
+@media screen and (min-width:768px){
+    /*订单详情顶部信息*/
+    #globalHead{display: none;}
+    .navLayout{min-height: auto;}
+    .navLayout .content-main{width:968px;margin: 0 auto;}
+    .order-container{width: 100%;min-height:410px;}
+    .order-container .title{width: 100%;height: 44px;line-height: 44px;font-size: 16px;text-align: left;color: #22272e;}
+    .order-container .title a{display: block;float: right;position: relative;padding-right: 36px;position: relative;}
+    .order-container .title a .icon{display: block;width: 18px;height: 18px;position: absolute;top: 5px;right: 10px;}
+    .order-container .title a .icon:before{width: 18px;height: 18px;background-position: -304px -32px;}
+    .order-container .section{width: 100%;height: auto;}
+    .order-container .section .section-info {margin-bottom: 8px;box-sizing:border-box;padding:10px 20px;background-color: #FFFFFF;}
+    .order-container .section .section-info .order-title{width:100%;box-sizing:border-box;height:40px;position:relative;padding-left:45px;margin-bottom: 0;}
+    .order-container .section .section-info .order-title .bag{display: block;position: absolute;left:0;top: 12px; width: 36px;height: 16px;background-image: linear-gradient(335deg,#FF5B00 0%,#ffb496 100%);border-radius: 2px;font-size: 10px;color: #FFFFFF;line-height: 16px;text-align: center;}
+    .order-container .section .section-info .order-title .title-name{line-height:  40px;font-size: 14px;color: #22272e;}
+    .order-container .section .section-info .order-title .title-name p{display:inline-block;margin-right:10px;}
+    .order-container .section .section-info .order-title .title-name p.state{color: #FF5B00;margin-left: 10px;font-weight: normal;}
+    .order-container .section .section-info .order-title .title-type{float:right;width:40px;height: 40px;background: url("/img/order/second.png")center center no-repeat;background-size: cover;}
+    .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-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;}
+    .order-container .section .section-info .order-content .order-item p .red{color: #f94b4b;}
+    .order-container .section .section-info .order-content .order-item p .org{color: #FF5B00;}
+    .order-container .section .section-info .order-content .order-item p .none{color:#22272e;}
+    /*商品信息*/
+    .order-container .section-list{margin-bottom: 10px;width: 100%;height: auto;box-sizing:border-box;}
+    .order-container .section-shopinfo{width: 100%;height: auto;margin-bottom: 5px;box-sizing: border-box;padding: 0;background-color: #FFFFFF;}
+    .order-container .section-shopinfo .title{width: 100%;height: 56px;box-sizing: border-box;padding: 8px 20px;border-bottom: 1px solid #e2e7ef;}
+    .order-container .section-shopinfo .title .logo{width: 39px;height: 39px;box-sizing: border-box;border: 1px solid #e2e7ef;float: left;display: block;margin-right: 5px;}
+    .order-container .section-shopinfo .title .name{line-height: 40px;float: left;font-size: 14px;color: #22272E;text-align: left;margin-right: 20px;}
+    .order-container .section-shopinfo .product{width: 100%;height: auto;box-sizing: border-box;padding: 0 20px;}
+    .order-container .section-shopinfo .section-prosinfo{width: 100%;height: 126px;padding: 16px 0 0;}
+    .order-container .section-shopinfo .product-t{width: 100%;min-height: 100px;float: left;}
+    .order-container .section-shopinfo .product-t .image{width: 98px;height: 98px;float: left;border: 1px solid #e2e7ef;margin-right: 10px;position: relative;}
+    .order-container .section-shopinfo .product-t .image img{width: 98px;height: 98px;display: block;}
+    .order-container .section-shopinfo .product-t .image .tip{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%);}
+    .order-container .section-shopinfo .product-t .text{width: 810px;float: left;}
+    .order-container .section-shopinfo .product-t .tit{float: left;width: 100%;margin-bottom: 6px;line-height: 22px;font-size: 16px;text-align: left;color: #22272E;}
+    .order-container .section-shopinfo .product-t .info{width: 100%;height: auto;float: left;}
+    .order-container .section-shopinfo .product-t .info>.col{line-height:24px;font-size:14px;color:#627386;text-align:left;display:inline-block;width:25%}
+    .order-container .section-shopinfo .product-t .info>.col .red{color: #FF2A2A;}
+    .order-container .section-shopinfo .product-t .info>div.col{width: 40%;}
+    /*会员标签*/
+    .order-container .section-shopinfo .product-t .info>.col .svip-tag{width:100%;height:22px;letter-spacing:0;display: inline;margin-left: 10px;}
+    .order-container .section-shopinfo .product-t .info>.col .svip-tag .svip-icon{position:relative;z-index:9;display:inline-block;width:30px;height:22px;text-align:center;line-height:22px;font-size:12px;font-weight:400;color:#F0CB72;opacity:1;background:#333333}
+    .order-container .section-shopinfo .product-t .info>.col .svip-tag .svip-icon.btr{border-radius:2px 8px 0px 2px}
+    .order-container .section-shopinfo .product-t .info>.col .svip-tag .svip-price{z-index:1;position:relative;display:inline-block;padding-left:25px;padding-right:4px;margin-left:-27px;line-height:22px;background:#F0CB72;opacity:1;border-radius:2px;font-size:14px}
+    .order-container .section-shopinfo .product-t .info>.col .svip-tag .svip-price span{color: #333}
+
+    .order-container .section-shopinfo .product-t .price>p{line-height:24px;font-size:14px;color:#627386;text-align:left;display:inline-block;width:30%}
+    .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;}
+    .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;}
+    .order-container .section-shopinfo .shopinfo-bott .none{color:#22272e;}
+    .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;}
+    /*发票信息*/
+    .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-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;}
+    .section-paymentlist .record-title .record-title-l{float: left;}
+    .section-paymentlist .record-title .record-title-r{float: right;}
+    .section-paymentlist .record-title .record-title-r .red{color: #FF2A2A;}
+    .section-paymentlist .record-list{width: 100%;height: auto;}
+    .section-paymentlist .record-list .record-item{width: 100%;height: 40px;}
+    .section-paymentlist .record-list .item-time{width: 33.33%;height: 40px;font-size: 14px;color: #627386;text-align: center;line-height: 40px;float: left;}
+    .section-paymentlist .record-list .item-time.mm{text-align: left;}
+    .section-paymentlist .record-list .item-time.tt{text-align: right;}
+    .section-paymentlist .record-list .item-rec{width: 50%;height: 40px;font-size: 14px;color: #627386;text-align: center;line-height: 40px;float: left;}
+    .section-paymentlist .record-list .item-rec.mm{text-align: left;}
+    .section-paymentlist .record-list .item-rec.tt{text-align: right;}
+    .section-paymentlist .record-empty{width: 100%;height: 40px;font-size: 14px;color: #999999;text-align: left;float: left;line-height: 40px;}
+    /*底部按钮*/
+    .section-botton{width: 100%;height: 76px;box-sizing: border-box;float: left;background-color: #FFFFFF;padding: 20px 24px;text-align: right;}
+    /* 特殊商品退货须知 */
+    .return-instructions{padding: 16px 24px;background: #FFFAF8; color: #FF5B00; font-size: 14px;margin-bottom: 8px;line-height: 24px}
+}
+
+/**
+* 移动端
+*/
+@media screen and (max-width:768px){
+    #globalHead{display: none;}
+    .order-container { padding-bottom: 15vw;}
+    .order-container .section-info,
+    .order-container .section-invoice,
+    .order-container .section-payment{box-sizing:border-box;width:100%;background:#FFF;margin-top:0vw;padding:2vw 3.2vw 4vw 3.2vw;font-size:3.2vw;color:#627386;line-height:7vw}
+    .order-container .order-title{position:relative;height:16vw}
+    .order-container .order-title .title-name:nth-of-type(1){padding-left:11.6vw;color:#FF5B00;font-size:3.5vw;line-height:9vw}
+    .order-container .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}
+    .order-container .order-title .state{position:absolute;right:0;bottom:0;color:#FF5B00}
+    .order-container .order-title .title-time span,.order-container .order-content span{color:#22272e}
+    .order-container .order-item p{display:inline-block;width:49%}
+    .order-container .copy{width:auto!important;display:inline-block;height:6.4vw;line-height:6.4vw;padding:0 3vw;background-image:linear-gradient(214deg,#ff2929 0%,#ff6d1b 100%);border-radius:2px;color:#FFF;margin-left:2vw}
+    .order-container .order-item p.org{width:auto}
+    .order-container .order-item p.org span{color:#FF5B00}
+    .order-container .order-item p.address{width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
+    .section-shopinfo .title{border-bottom:1px solid #F7F7F7;height:7.4vw;line-height:7.4vw;padding:1.3vw 3.2vw;position:relative}
+    .section-shopinfo .logo{width:7.4vw;height:7.4vw;border:1px solid #F7F7F7;margin-right:2vw}
+    .section-shopinfo .name{display:inline-block;color:#9aa5b5}
+    .section-shopinfo .title .priceTag{width:22vw;height:6.4vw;position:absolute;right:0;top:2vw}
+    .section-shopinfo .title .priceTag .tag{top:0}
+    .section-shopinfo{width:100%;background:#FFF;color:#9aa5b5;font-size:3.4vw;margin-top:1.5vw;padding:2vw 0;box-sizing:border-box}
+    .section-shopinfo .product{padding:2vw 3.2vw;box-sizing:border-box}
+    .section-prosinfo{padding:1vw 0 1vw 32.2vw;position:relative;margin-top:2vw}
+    .section-prosinfo .image{width:28vw;position:absolute;left:0;top:0}
+    .section-prosinfo .image img{width:28vw;height:28vw}
+    .section-prosinfo .image .tip{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}
+    .section-prosinfo .text .tit{max-height:10.4vw;line-height:5.2vw;color:#22272e;font-size:3.7vw;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
+    .section-prosinfo .text .info{position:relative}
+    .section-prosinfo .text .info .priceTag .tag{position:absolute;right:0;top:auto;left:auto;}
+    .section-prosinfo .text .info>p{display:inline-block;min-width:48%;font-size:3.1vw;color:#627386;line-height: 6vw;}
+    .section-prosinfo .text .info>p .red{color:#FF2A2A}
+
+    /*会员标签*/
+    .section-prosinfo .text .svip-tag{height:4.74vw;letter-spacing:0;overflow: hidden;margin-left: 12vw;}
+    .section-prosinfo .text .svip-tag .svip-icon{position:relative;z-index:9;float: left; width:9.8vw;height:4.74vw;text-align:center;line-height:4.74vw;font-size:2.8vw;font-weight:400;color:#F0CB72;opacity:1;background:#333333}
+    .section-prosinfo .text .svip-tag .svip-icon.btr{border-radius:2px 8px 0px 2px}
+    .section-prosinfo .text .svip-tag .svip-price{z-index:1;position:relative;float: left;padding-left:5.4vw;padding-right:0.6vw;margin-left:-6vw;line-height:4.74vw;height: 4.74vw; background:#F0CB72;opacity:1;border-radius:2px;font-size:2.8vw}
+    .section-prosinfo .text .svip-tag .svip-price span{color: #333}
+    .section-prosinfo .text .svip-tag .svip-price span:nth-child(2){margin-left: -0.4vw}
+    .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;}
+    .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;}
+    .order-container .section-shopinfo .shopinfo-bott .none{color:#22272e;}
+    .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-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}
+    .payment-transfer .label>p{font-size:3.4vw;color:#22272e;line-height:5vw;padding:1.6vw 0}
+    .payment-transfer .label .label-title{font-size:3.1vw;color:#FF5B00}
+    .payment-transfer .label .label-t{color:#627386}
+    .payment-transfer .label .label-c{color:#FF2A2A;font-size:3.1vw}
+    .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{width: 100%; margin-top:1.5vw;padding: 3vw;background: #fff;box-sizing: border-box;position: fixed;bottom: 0;left: 0;z-index: 999;text-align: right;}
+    footer{display: none; }
+
+
+}

+ 17 - 0
src/main/resources/static/css/supplier-center/order/order-share-login.css

@@ -0,0 +1,17 @@
+/*PC端**/
+ @media screen and (min-width:768px) {
+  body{background-color: #FFFFFF;}
+  .share-content{width: 240px;margin: 300px auto;}
+  .share-logo{ width: 160px;height: 90px;margin: 0 auto;margin-bottom: 40px; }
+  .share-logo {width: 160px;height: 90px;display: block;}
+  .el-form--label-top .el-form-item__label{padding: 0 !important;}
+}
+
+/*移动端**/
+ @media screen and (max-width:768px){
+body{background-color: #FFFFFF;}
+ .share-content{width: 100%;box-sizing: border-box;padding:30vw 16.5vw;}
+ .share-logo{ width: 36vw;height:23vw;margin: 0 auto;margin-bottom: 4vw; }
+ .share-logo {width: 36vw;height:23vw;display: block;}
+ .el-form--label-top .el-form-item__label{padding: 0 !important;}
+}

BIN
src/main/resources/static/img/supplier/icon-lg-h5Login.png


BIN
src/main/resources/static/img/supplier/icon-lg-pcLogin.png


+ 323 - 0
src/main/resources/static/js/account/login-fast.js

@@ -0,0 +1,323 @@
+var loginPage = new Vue({
+    el: "#loginPage",
+    mixins: [cmSysVitaMixins,loginMixins],
+    data: {
+        maxtime:60,
+        loginLoading: false,
+        qrCodeLogin: false,
+        rule:{
+            account: "(^([\\w-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([\\w-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$)|(^\\d{6,12}$)",
+            password: "^[^\\u4e00-\\u9fa5]{6,30}$",
+            phone: '^\\d{6,12}$',
+            code: '^\\d{6}$',
+            mobile:'^1[1-9][0-9]{9}$'
+        },
+        userData: {
+            account: '',
+            email: '',
+            phone: '',
+            name: '',
+            userName: '',
+            userId: '',
+            spId: '',
+            clubId: '',
+            shopId: '',
+            identity: '',
+            permission: '',
+            token: ''
+        },
+        applyUse:{
+            clubId: '',
+            shopId: '',
+            token:'',
+        },
+        isWeChat: false,
+        text:'',
+        stautsfalse:false,
+        infofalse:false,
+        isSlideFinishState:true,
+        loginTabs:0,
+        mobilCount:0,
+        mobileCodeText:'获取验证码',
+        mobilTime:null,
+        isMobileDisabled:false,
+        slideVerify:null
+    },
+    computed: {
+
+    },
+    methods: {
+        openFullScreen() {
+            const loading = this.$loading({
+                lock: true,
+                text: 'Loading',
+                spinner: 'el-icon-loading',
+                background: 'rgba(0, 0, 0, 0.7)'
+            });
+            setTimeout(() => {
+                loading.close();
+            }, 2000);
+        },
+        handleTabsClick(index){
+            const _self = this;
+            this.loginTabs = index;
+            clearAllErrorTxt($('input'));
+            if(index === 1){
+                this.isSlideFinishState = true
+                this.initSlideVerify()
+            }
+        },
+        handleHideBg(){
+            this.stautsfalse=false;
+        },
+        userUpdataeStatus(response){// 更新登录
+            const _self = this;
+            _self.loginLoading = false;
+            if(response.code === 0){
+                _self.userData = {
+                    account: response.data.account,
+                    email: response.data.email,
+                    phone: response.data.bindMobile,
+                    name: response.data.name,
+                    userName: response.data.userName,
+                    userId: response.data.userId,
+                    spId: response.data.serviceProviderId,
+                    clubId: response.data.clubId,
+                    shopId: response.data.shopId,
+                    userIdentity: response.data.userIdentity,
+                    permission: response.data.userPermission,
+                    token: response.data.token,
+                    vipFlag: response.data.vipFlag,
+                    firstClubType: response.data.firstClubType,
+                    listingFee:response.data.listingFee
+                };
+                _self.setStorages( _self.userData);
+                // 登录成功页面跳转
+                var loginBeforePath = getBaseCookie("loginBeforePath");
+                if (loginBeforePath && loginBeforePath!=='undefined' && loginBeforePath.indexOf('.html')>0) {
+                    delBaseCookie("loginBeforePath");
+                    window.location.href = loginBeforePath;
+                } else if (_self.userData.userIdentity*1 === 3) {
+                    location.href = '/supplier/dashboard.html';
+                } else if (_self.userData.userIdentity*1 === 2 || _self.userData.userIdentity*1 === 4) {
+                    location.href = '/user/dashboard.html';
+                } else {
+                    location.href="/index.html";
+                }
+            } else if(response.code === '-3'){//审核未通过
+                _self.text =response.msg;
+                _self.stautsfalse = true;
+                _self.infofalse = true;
+                _self.applyUse = {
+                    userId: response.data.userId,
+                    shopId: response.data.shopId,
+                    token: response.data.token
+                };
+            }else if(response.code === '-2'){
+                _self.stautsfalse = true;
+                _self.text =response.msg;
+            }else {// 登录失败
+                CAIMEI.Alert(response.msg,'确定',false);
+            }
+        },
+        toQrCodeLogin(){//切换微信登录二维码
+            const _self = this;
+            let timeClock = null;
+            this.qrCodeLogin = true;
+            UserApi.ToWechatLogin({},function(response){
+                const wxLogin = new WxLogin({
+                    self_redirect: true,
+                    id: "qrCodeWrap",
+                    appid: response.data.appId,
+                    scope: 'snsapi_login',
+                    redirect_uri: response.data.redirectUri,
+                    state: response.data.state,
+                    style: "black",
+                    href: "https://www.caimei365.com/css/base/base.pc.css"
+                });
+                timeClock = setInterval(function(){
+                    _self.maxtime--;
+                    if (_self.maxtime === 0) {
+                        clearInterval(timeClock);
+                    }
+                },1000);
+                _self.getWrchatStatusData({state:response.data.state})
+            });
+        },
+        getWrchatStatusData(params){//轮询查询用户是否扫描过二维码登录
+            const _self = this;
+            let timer = null;
+            UserApi.ToWechatPolling(params,function(response){
+                if(response.code === -90){
+                    if(_self.maxtime === 0){
+                        clearInterval(timer);
+                        _self.maxtime = 60;
+                        $('#qrCodeWrap').append('<div class="model"><div class="refresh-div"><img class="refresh" src="/img/base/shua.png" alt=""><p>二维码已失效,点击刷新</p></div></div>');
+                        $('#qrCodeWrap .model').click(function () {
+                            $(this).remove();
+                            _self.toQrCodeLogin();
+                        })
+                    }else{
+                        timer = setTimeout(function(){
+                            _self.getWrchatStatusData(params);
+                        },3000)
+                    }
+                }else {
+                    clearTimeout(timer); //清理定时任务
+                    if(response.code === 0){
+                        _self.userData = {
+                            account: response.data.account,
+                            email: response.data.email,
+                            phone: response.data.bindMobile,
+                            name: response.data.name,
+                            userName: response.data.userName,
+                            userId: response.data.userId,
+                            spId: response.data.serviceProviderId,
+                            clubId: response.data.clubId,
+                            shopId: response.data.shopId,
+                            userIdentity: response.data.userIdentity,
+                            permission: response.data.userPermission,
+                            token: response.data.token,
+                            unionId:response.data.unionId,
+                            firstClubType:response.data.firstClubType,
+                            vipFlag: response.data.vipFlag,
+                            listingFee:response.data.listingFee
+                        };
+                        _self.setStorages( _self.userData);
+                        // 登录成功页面跳转
+                        var loginBeforePath = getBaseCookie("loginBeforePath");
+                        if (loginBeforePath && loginBeforePath!=='undefined' && loginBeforePath.indexOf('.html')>0) {
+                            delBaseCookie("loginBeforePath");
+                            window.location.href = loginBeforePath;
+                        } else if (_self.userData.userIdentity*1 === 3) {
+                            location.href = '/supplier/dashboard.html';
+                        } else if (_self.userData.userIdentity*1 === 2 || _self.userData.userIdentity*1 === 4) {
+                            location.href = '/user/dashboard.html';
+                        } else {
+                            location.href="/index.html";
+                        }
+                    }else if(response.code === -4){
+                        _self.userData = {
+                            account: response.data.account,
+                            email: response.data.email,
+                            phone: response.data.bindMobile,
+                            name: response.data.name ? response.data.name : response.data.userName,
+                            userName: response.data.userName,
+                            userId: response.data.userId,
+                            spId: response.data.serviceProviderId,
+                            clubId: response.data.clubId,
+                            shopId: response.data.shopId,
+                            userIdentity: response.data.userIdentity,
+                            permission: response.data.userPermission,
+                            token: response.data.token,
+                            unionId:response.data.unionId,
+                            listingFee:response.data.listingFee
+                        };
+                        _self.setStorages( _self.userData);
+                        setTimeout(function(){
+                            window.location.href = '/bind.html';
+                        },1000);
+                    }else if(response.code === '-3'){//审核未通过
+                        _self.text ='您的供应商账号审核未通过,原因:图片模糊,营业执照错误,审核人员在后台填写的内容';
+                        _self.stautsfalse = true;
+                        _self.infofalse = true;
+                        _self.applyUse = {
+                            userId: response.data.userId,
+                            shopId: response.data.shopId,
+                            token: response.data.token
+                        };
+                        console.log(_self.applyUse);
+                    }else if(response.code === '-2'){
+                        _self.stautsfalse = true;
+                        _self.text ='您的供应商账号正在加速审核中,审核通过后即可登录';
+                    }else{
+                        CAIMEI.Alert(response.msg,'确定',false);
+                    }
+                }
+            });
+        },
+        handleWeChatLogin(){
+            // 微信公众号授权登录
+            if (this.isWeChat) {
+                // 微信浏览器自动授权登录
+                var urlForWeChat = 'https://www.caimei365.com/we_chat/redirect_uri.html';
+                $.get(coreServer+'/user/login/auth/link?mode=2&redirectUri='+urlForWeChat, function(r){
+                    if(r.code===0 && r.data){
+                        setBaseCookie("weChatAutoLogin", 2);
+                        window.location.href = r.data;
+                    }
+                });
+            }
+        },
+        toNormalLogin(){
+            this.qrCodeLogin = false;
+        },
+        showPassword(event) {
+            const el = event.currentTarget;
+            const pwdEle = $(el).siblings('input');
+            if(pwdEle.attr('type') === 'password') {
+                $(el).addClass('on');
+                pwdEle.attr('type','text');
+            } else {
+                $(el).removeClass('on');
+                pwdEle.attr('type','password');
+            }
+        },
+        blurHandle(event) {  // 失去焦点校验
+            const el = event.currentTarget;
+            verifyHandle(el);
+        },
+        SetSoragesInfo(data){
+            localStorage.setItem('APPLY_INFO',JSON.stringify(data));
+        },
+        setStorages(data){//存储本地数据
+            localStorage.setItem('userInfo',JSON.stringify(data));
+        },
+        information(){
+            window.location.href='/supplier/information.html';
+            this.SetSoragesInfo( this.applyUse);
+        },
+        initSlideVerify(){
+            const _self = this
+            this.$nextTick(function (){
+                const SlideVerifyPlug = window.slideVerifyPlug;
+                $('#verify-wrap').html('')
+                const slideVerify = new SlideVerifyPlug('#verify-wrap', {
+                    wrapWidth: '350',//设置 容器的宽度 ,不设置的话,会设置成100%,需要自己在外层包层div,设置宽度,这是为了适应方便点;
+                    initText: '请向右滑动滑块',  //设置  初始的 显示文字
+                    sucessText: '验证通过',//设置 验证通过 显示的文字
+                    getSuccessState: function (res) {
+                        //当验证完成的时候 会 返回 res 值 true,只留了这个应该够用了
+                        if (slideVerify.slideFinishState) {
+                            $('.value').html(slideVerify.slideFinishState)
+                            $('#resetBtn').removeClass('prohibit')
+                            _self.isSlideFinishState = false;
+                        }
+                    }
+                });
+            })
+        }
+    },
+    created: function () {
+        this.openFullScreen()
+        const userAgent = navigator.userAgent.toLowerCase();
+        this.isWeChat = userAgent.match(/MicroMessenger/i);
+        this.initSlideVerify();
+    },
+    mounted: function () {
+        const _self = this;
+        $('body').on("focus",'[needverify]:visible',function(){
+            $(this).siblings('.errTips').removeClass("show").siblings('.checked').removeClass("show");
+        });
+        //enter键登录
+        if(!_self.isSlideFinishState){
+            $(document).keyup(function (e) {
+                var e = e || event;
+                e.stopPropagation();
+                if (e.keyCode === 13) {
+                    _self.loginSubmit();
+                }
+            });
+        }
+    }
+});

+ 263 - 0
src/main/resources/static/js/supplier-center/order/order-create.js

@@ -0,0 +1,263 @@
+$('.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(2).addClass("on");
+const seeDetail = new Vue({
+    el: '#seeDetail',
+    mixins: [cmSysVitaMixins],
+    data() {
+        return {
+            shopId:'',
+            form:{
+                consignee:'',
+                mobile:'',
+                provinceId:'',
+                cityId:'',
+                townId:'',
+                address:'',
+                radio:1
+            },
+            invoiceForm:{
+                type:0, // 0 不开发票 1 普通发票 2 增值税发票
+                headingType:0, // 0 个人 1 单位
+                invoiceTitle:'', // 发票抬头
+                corporationTaxNum:'',//单位税号
+                registeredAddress:'',// 注册地址
+                registeredPhone:'',// 注册电话
+                openBank:'',// 开户银行
+                bankAccountNo:''// 银行账号
+            },
+            rules: {
+                consignee: [{required: true,message: '请填写收货人',trigger: 'blur'}],
+                mobile: [{required: true,message: '请填写联系方式',trigger: 'blur'}],
+                provinceId: [{required: true,message: '请选择省份',trigger: 'change'}],
+                cityId: [{required: true,message: '请选择市',trigger: 'change'}],
+                townId: [{required: true,message: '请选择区县',trigger: 'change'}],
+                address: [{required: true,message: '请填写详细地址信息',trigger: 'blur'}],
+                invoiceTitle: [{required: true,message: '请填写发票抬头',trigger: 'blur'}],
+                corporationTaxNum: [{required: true,message: '请填写单位税号',trigger: 'blur'}],
+                registeredAddress: [{required: true,message: '请填写详细地址信息',trigger: 'blur'}],
+                registeredPhone: [{required: true,message: '请填写注册电话',trigger: 'blur'}],
+                openBank: [{required: true,message: '请填写开户银行',trigger: 'blur'}],
+                bankAccountNo: [{required: true,message: '请填写银行账号',trigger: 'blur'}]
+            },
+            provinceList:[],
+            cityList:[],
+            townList:[],
+            productsArr:[
+                {
+                    image:'https://img.caimei365.com/group1/M00/04/96/rB-lGGUT3uuAHS2eAAPH5pwCxtg082.jpg',
+                    name:'黄玫瑰YellowRose弹力抗皱精华黄玫瑰YellowRose弹力抗皱精华(院装)',
+                    price:1500000,
+                    unit:'1000Ml',
+                    number:1,
+                    totalPrice:1500000
+                },
+                {
+                    image:'https://img.caimei365.com/group1/M00/04/96/rB-lGGUT3uuAHS2eAAPH5pwCxtg082.jpg',
+                    name:'黄玫瑰YellowRose弹力抗皱精华黄玫瑰YellowRose弹力抗皱精华(院装)',
+                    price:1500000,
+                    unit:'1000Ml',
+                    number:1,
+                    totalPrice:1500000
+                },
+                {
+                    image:'https://img.caimei365.com/group1/M00/04/96/rB-lGGUT3uuAHS2eAAPH5pwCxtg082.jpg',
+                    name:'黄玫瑰YellowRose弹力抗皱精华黄玫瑰YellowRose弹力抗皱精华(院装)',
+                    price:1500000,
+                    unit:'1000Ml',
+                    number:1,
+                    totalPrice:1500000
+                },
+            ],
+            isLoading:true,
+            goodsDialogVisible:false,
+            productRadio:null,
+            total:0,
+            productsList:[],
+            listQuery:{
+                shopId:'',
+                pageNum:1,
+                pageSize:10,
+                productCode:'',//货号
+                name:'',//商品名称
+                showFlag:'',// 新品展示状态
+                validFlag:'',//状态
+                featuredFlag:'',//是否主推
+                commodityType:'',//商品属性
+                bigTypeId:'',//一级
+                smallTypeId:'',//二级
+                tinyTypeId:'',//三级
+                groundMall:'' // 上架平台
+            },
+        }
+    },
+    filters: {
+        amountfilters(value) {
+            if (value) {
+                return Number(value).toFixed(2)
+            } else {
+                return '0.00'
+            }
+        },
+    },
+    computed: {
+        disabled() {
+            return this.productRadio === null
+        }
+    },
+    methods: {
+        getProvinceOptions(){ // 获取全部省份
+            const _self = this;
+            OrderApi.GetAddressSelect({},function(res){
+                if(res.code === 0 && res.data){
+                    _self.provinceList = res.data;
+                }else{
+                    CAIMEI.Alert(res.msg,'确定',false);
+                }
+            });
+        },
+        getCityList(parentId){// 获取地区
+            const _self = this;
+            _self.cityList = [];
+            _self.townList = [];
+            _self.form.cityId = '';
+            _self.form.townId = '';
+            OrderApi.GetAddressSelect({ parentId: parentId,type:1 },function(res){
+                if(res.code === 0 && res.data){
+                    _self.cityList = res.data;
+                }else{
+                    CAIMEI.Alert(res.msg,'确定',false);
+                }
+            });
+        },
+        getTownList(parentId){
+            const _self = this;
+            _self.townList = [];
+            _self.form.townId = '';
+            OrderApi.GetAddressSelect({parentId: parentId,type:2},function(res){
+                if(res.code === 0 && res.data){
+                    _self.townList = res.data;
+                }else{
+                    CAIMEI.Alert(res.msg,'确定',false);
+                }
+            })
+        },
+        handleConfirm(formName){
+            const _this = this;
+            this.checkedDataForm()
+            this.checkedInvoiceForm()
+        },
+        // 校验地址
+        checkedDataForm(){
+            this.$refs['dataForm'].validate(async valid => {
+                if (valid) {
+                  return true
+                }
+            })
+        },
+        // 校验发票
+        checkedInvoiceForm(){
+            this.$refs['invoiceForm'].validate(async valid => {
+                if (valid) {
+                  return true
+                }
+            })
+        },
+        // 按钮操作
+        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 () {
+                            window.location.href = '/supplier/order/detail.html?shopOrderId='+_self.shopOrderId;
+                        })
+                    }
+                })
+            })
+        },
+        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;
+                }
+            })
+        },
+        handleShowVisible(){
+            this.getProductList()
+            this.goodsDialogVisible = true
+        },
+        //切换页码
+        handleCurrentChange(val){
+            this.listQuery.pageNum = val;
+            this.getProductList();
+        },
+        //取消选择
+        handleCanle(){
+            this.goodsDialogVisible = false
+        },
+        //确认选择商品
+        handleAddProConfirm(){
+
+        },
+        // 选择商品
+        handleSelectionChange(row) {
+            this.productRadio = row
+            console.log('productRadio', this.productRadio)
+        },
+        getProductList(){//我的商品数据初始化
+            const _this = this;
+            this.isLoading = true
+            SupplierApi.GetMyProductList(_this.listQuery,function(response){
+                if(response.code === 0){
+                    const data  = response.data
+                    let page = data.productPage;
+                    _this.productsList = page.results
+                    console.log('productsList',_this.productsList)
+                    _this.total = page.totalRecord;
+                    _this.isLoading = false
+                }else{
+                    CAIMEI.Alert(response.msg, '确定');
+                    _this.isLoading = false
+                }
+            })
+        },
+    },
+    mounted () {
+        const _self = this;
+        this.getProvinceOptions();
+        if (isPC) {
+            _self.open = true;
+        }
+        if(globalUserData){
+            this.listQuery.shopId = globalUserData.shopId;
+            this.shopId =globalUserData.shopId;
+        }
+        $(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
+            }
+        });
+    },
+});

+ 351 - 0
src/main/resources/static/js/supplier-center/order/order-share-detail.js

@@ -0,0 +1,351 @@
+const orderPage = new Vue({
+    el: "#orderPage",
+    data() {
+        return{
+            isRequset: true,
+            orderId: 0,              //订单ID
+            shopOrderId:0,          //子订单ID
+            userId: 0,              //用户ID
+            orderInfo: {},           //订单信息
+            shopOrderList: [],       //订单商品信息
+            userInfo: {},            //订单用户信息
+            orderInvoice: {},        //发票信息
+            discernReceiptList: [],  //订单付款信息
+            returnedPurchaseList: [],//订单退款信息
+            voucherList:[],
+            modelType: 0,
+            isShowBeansAlet: false,
+            bgImagePath: '',//根据类型显示图片标记
+            beanNumber: 100,
+            beansType: 7,
+            isShareLogin:false
+
+        }
+    },
+    filters: {
+        NumFormat(text) {//处理金额
+            return Number(text).toFixed(2);
+        },
+        NumBadge(n) {//处理
+            var num = '';
+            if (n > 100) {
+                num = 99
+            } else {
+                num = n;
+            }
+            return num;
+        },
+        formatIncludedTax(value) {
+            if (value === '1') {
+                return '不含税 ';
+            } else if (value === '2') {
+                return '含税';
+            } else {
+                return '';
+            }
+        },
+        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 `不开发票`
+            }
+        },
+    },
+    computed: {
+
+    },
+    methods: {
+        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.voucherList = data.voucher;
+                    _self.isRequset = false;
+                } else {
+                    CAIMEI.Alert(response.msg, '确定', true, function () {
+                        location.href = '/user/dashboard.html';
+                    });
+                }
+            })
+        },
+        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 {
+                        CAIMEI.Alert(response.msg, '确定', false);
+                    }
+                })
+            })
+        },
+        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 {
+                        CAIMEI.Alert(response.msg, '确定', false);
+                    }
+                })
+            })
+        },
+        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 {
+                        CAIMEI.Alert(response.msg, '确定', false);
+                    }
+                })
+            })
+        },
+        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 {
+                        CAIMEI.Alert(response.msg, '确定', false);
+                    }
+                })
+            })
+        },
+        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 {
+                        CAIMEI.Alert(response.msg, '确定', false);
+                    }
+                })
+            })
+        },
+        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?&shopOrderId=' + _self.shopOrderId;
+                    } 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>',
+                                    confitmBtnText: '抵扣,继续付款',
+                                    cancelBtnText: '不抵扣,继续付款',
+                                    closeIcon: true
+                                }, function () {
+                                    // 抵扣,继续付款
+                                    _self.hanldPaymentConfirm(1)
+                                }, function () {
+                                    // 不抵扣,继续付款
+                                    _self.hanldCancelConfirm()
+                                });
+                                break;
+                            case 2:
+                                _self.modelType = 2;
+                                CAIMEI.Popup({
+                                    content: '<div class="payAlert">您有采美余额<em>¥' + toFloat(data.ableUserMoney) + '</em>暂未使用,是否需要抵扣订单? 抵扣后订单支付完成</div>',
+                                    confitmBtnText: '抵扣',
+                                    cancelBtnText: '不抵扣,继续付款',
+                                    closeIcon: true
+                                }, function () {
+                                    // 抵扣全款
+                                    _self.hanldPaymentConfirm(2);
+                                }, function () {
+                                    // 不抵扣,继续付款
+                                    _self.hanldCancelConfirm();
+                                });
+                                break;
+                            case -1:
+                                CAIMEI.Alert('订单已申请全部退款,无需再付款!', '确定', false);
+                                break;
+                            default:
+                                window.location.href = '/pay/caimei-paylist.html?&shopOrderId=' + _self.shopOrderId;
+                        }
+                    }
+                } else {
+                    CAIMEI.Alert(response.msg, '确定', false);
+                }
+            })
+        },
+        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.obligation;
+                    } else {
+                        window.location.href = '/pay/caimei-paylist.html?&shopOrderId=' + _self.shopOrderId;
+                    }
+                } else {
+                    CAIMEI.Alert(response.msg, '确定', false);
+                }
+            });
+        },
+        hanldCancelConfirm() {//不使用余额抵扣直接跳转收银台
+            window.location.href = '/pay/caimei-paylist.html?&shopOrderId=' + this.shopOrderId;
+        },
+        hidePaymentConfirm() {//隐藏弹窗
+            this.modelType = 0;
+        },
+        copyOrderBtnSubmitFn() {//复制订单标识
+            const _self = this;
+            const oInput = document.createElement("textarea");
+            oInput.value = _self.orderIdentificationId;
+            document.body.appendChild(oInput);
+            oInput.select(); // 选择对象
+            document.execCommand("Copy"); // 执行浏览器复制命令
+            document.body.removeChild(oInput);
+            CAIMEI.dialog('复制成功');
+        },
+        toggleThisLadder(event) {
+            const 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(event) {
+            const el = event.currentTarget;
+            $(el).parents('.priceTag').find('.tag').removeClass("on").siblings('.mFixed').hide();
+            if (!isPC) {
+                looseBody();
+            }
+        },
+        handInitType(type) {//根据类型判断弹窗背景
+            if (isPC) {
+                this.bgImagePath = '/img/account/icon-beans-' + type + '@2x.png';
+            } else {
+                this.bgImagePath = '/img/account/icon-beans-h5-' + type + '@2x.png';
+            }
+        },
+        handleClickCancel() {//关闭弹窗
+            this.isShowBeansAlet = false;
+        },
+        payTypeText(record) {
+            //处理支付记录文字
+            const map = {
+                12: '企业网银',
+                13: '微信支付',
+                14: '支付宝',
+                15: '微信支付',
+                16: '余额抵扣',
+                31: '线下支付凭证'
+            }
+            if (record.payType === 28 || record.payType === 29) {
+                return record.quickPayStr
+            } else {
+                return map[record.payType]
+            }
+        },
+    },
+    mounted: function () {
+        var _self = this;
+        if (globalUserData) {
+            _self.userId = globalUserData.userId;
+            _self.shopOrderId = CAIMEI.getUrlParam('shopOrderId');
+            _self.GetQueryOrderDetailsInfo();
+        }
+    }
+});

+ 113 - 0
src/main/resources/static/js/supplier-center/order/order-share-login.js

@@ -0,0 +1,113 @@
+/**
+ * Created by xw on 2020/7/22.
+ */
+var InformationPage = new Vue({
+    el:"#shareContent",
+    data: {
+        isEfficacy:false,
+        form:{
+            shareCode:'',
+            shopOrderId:''
+        },
+        rules: {
+            shareCode: [{required: true,message: '请输入分享码',trigger: 'blur'}]
+        },
+        linkParams:{
+            path:'pages/seller/club/club-info',
+            query:'',
+            env:'develop'//正式"release",体验"trial",开发"develop"
+        }
+    },
+    computed: {
+        disabled() {
+            // 分享码长度是否符合要求
+            return this.form.shareCode.trim().length < 4
+        }
+    },
+    methods: {
+        handleConfirm(formName){
+            const _this = this;
+            this.$refs[formName].validate(async valid => {
+                if (valid) {
+                    window.location.href = '/order-share-details.html?shopOrderId='+_this.form.shopOrderId;
+                    // SupplierApi.addRemark(JSON.stringify(_this.form),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);
+                    //     }
+                    // })
+                }
+            })
+        },
+        userClubChoseList: function () {
+            var _self = this;
+            UserApi.userClubChoseList({}, function (response) {
+                if (response.code === 0) {
+                    _self.sellerList = response.data.map((el,index)=>{
+                        el.isCheck = false
+                        return el
+                    })
+                } else {
+                    console.log('获取可分配协销列表异常')
+                }
+            })
+        },
+        userClubChoseSales: function () {
+            var _self = this;
+            UserApi.userClubChoseSales(_self.salesParams, function (response) {
+                if (response.code === 0) {
+                    CAIMEI.dialog('分配成功',true,function () {
+                        _self.isShowPopup = false;
+                        _self.userClubRecordLinkage();
+                    });
+                } else {
+                    console.log('分配协销异常')
+                }
+            })
+        },
+        userGetWechatMinLink: function () {// 获取小程序路径并跳转
+            var _self = this;
+            UserApi.userGetWechatMinLink(_self.linkParams, function (response) {
+                if (response.code === 0) {
+                    location.href = response.data;
+                } else {
+                    console.log('分配协销异常')
+                }
+            })
+        },
+
+        showPopup:function(){// 跳转小程序
+            var _self = this;
+            _self.userGetWechatMinLink();
+        },
+        hidePopup:function(){// 隐藏弹窗
+            var _self = this;
+            _self.isShowPopup = false;
+        },
+        setEvens:function () { //设置环境
+            var siteEnv = $("#siteEnv").val();
+            var map = {
+                0: 'develop',
+                1: 'trial',
+                2: 'release',
+            }
+            return map[siteEnv];
+        }
+    },
+    created: function () {
+
+    },
+    mounted: function () {
+        this.form.shopOrderId = getUrlParam("shopOrderId");
+        // _this.form.query = `clubId=${_this.clubId}`;
+        // _this.form.env = _this.setEvens();
+        // console.log('env',_this.linkParams.env);
+        // _this.userClubRecordLinkage();
+    }
+
+
+});
+

+ 30 - 0
src/main/resources/templates/account/login-fast.html

@@ -0,0 +1,30 @@
+<!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/form.css(v=${version})}" rel="stylesheet" type="text/css">
+    <link th:href="@{/css/account/login.css(v=${version})}" rel="stylesheet" type="text/css">
+    <template th:replace="components/analysis"></template>
+</head>
+<body>
+<!-- 引用头部 -->
+<template th:replace="account/components/header"></template>
+
+<!-- 二级页面 -->
+<div id="loginPage">
+    <div class="loginWrap clear" v-cloak>
+
+    </div>
+</div>
+
+<!-- 引入底部 -->
+<template th:replace="components/foot-link"></template>
+<script charset="utf-8" type="text/javascript" src="https://res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js"></script>
+<script charset="utf-8" type="text/javascript" th:src="@{/lib/slideVerify.js(v=${version})}"></script>
+<script charset="utf-8" type="text/javascript" th:src="@{/js/common/serviceapi/user.service.js(v=${version})}"></script>
+<script charset="utf-8" type="text/javascript" th:src="@{/js/account/mixins/loginMixins.js(v=${version})}"></script>
+<script charset="utf-8" type="text/javascript" th:src="@{/js/account/login-fast.js(v=${version})}"></script>
+</body>
+</html>

+ 0 - 9
src/main/resources/templates/shopping/confirm.html

@@ -231,20 +231,11 @@
                             </template>
 
                             <template v-if="supplier.postageFlag === 1">
-
                                 <el-popover
                                         v-if="supplier.coldChain>0"
                                         placement="bottom"
                                         width="240"
                                         trigger="click">
-<!--                                    <div class="freight-radio" v-if="supplier.designatedFlag !== 1">-->
-<!--                                        <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>

+ 1 - 0
src/main/resources/templates/supplier-center/components/tableft.html

@@ -6,6 +6,7 @@
             <!--<a href="/supplier/dashboard.html">我的首页</a>-->
             <a href="/supplier/order/list.html?state=0">我的订单</a>
             <a href="/supplier/order/settlement.html">结算管理</a>
+            <a href="/supplier/order/order-create.html">帮机构下单</a>
 <!--            <a href="/">评价管理</a>-->
         </div>
     </div>

+ 266 - 0
src/main/resources/templates/supplier-center/order/order-create.html

@@ -0,0 +1,266 @@
+<!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">
+  <link th:href="@{/css/supplier-center/order/order-create.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" v-cloak>
+  <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="order-title">
+          <p class="info-title">收货人信息</p>
+        </div>
+
+        <div class="order-address-form">
+          <el-form ref="dataForm" :rules="rules" :model="form">
+            <el-form-item label="收货人:" label-position="left" prop="consignee" :rules="rules.consignee" label-width="98px">
+              <el-input v-model="form.consignee" placeholder="请填写收货人"  maxlength="40"></el-input>
+            </el-form-item>
+            <el-form-item label="联系方式:" label-position="left" prop="mobile" :rules="rules.mobile" label-width="98px">
+              <el-input v-model="form.mobile" placeholder="请填写联系方式"  maxlength="11"></el-input>
+            </el-form-item>
+            <el-row :gutter="24" class="box-row">
+              <el-col :span="8">
+                <el-form-item label="联系地址:" label-position="left" prop="provinceId" :rules="rules.provinceId" label-width="98px">
+                  <el-select v-model="form.provinceId" clearable @change="getCityList(form.provinceId)">
+                    <el-option value="" label="请选择"></el-option>
+                    <el-option v-for="(item, index) in provinceList" :key="index" :label="item.name" :value="item.id"></el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+              <el-col :span="6">
+                <el-form-item label="" prop="cityId" :rules="rules.cityId" label-position="false" label-width="0px">
+                  <el-select v-model="form.cityId" clearable @change="getTownList(form.provinceId)">
+                    <el-option value="" label="请选择"></el-option>
+                    <el-option v-for="(item, index) in cityList" :key="index" :label="item.name" :value="item.id"></el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+              <el-col :span="6">
+                <el-form-item label="" prop="townId" :rules="rules.townId" label-position="false" label-width="0px">
+                  <el-select v-model="form.townId" clearable>
+                    <el-option value="" label="请选择"></el-option>
+                    <el-option v-for="(item, index) in townList" :key="index" :label="item.name" :value="item.id"></el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-form-item label=""  prop="address" label-position="left"  :rules="rules.address" label-width="98px">
+              <el-input v-model="form.address"
+                        type="textarea"
+                        placeholder="建议您如实填写详细收货地址,例如:街道名称,门牌号码,楼层和房间号等信息"
+                        maxlength="200"
+                        :autosize="{ minRows: 5, maxRows: 6}">
+              </el-input>
+            </el-form-item>
+          </el-form>
+        </div>
+        <div class="order-title">
+          <p class="info-title">商品清单</p>
+        </div>
+        <div class="order-product-form">
+          <div v-if="isPC" class="cartTit clear">
+            <div class="c1">商品信息</div>
+            <div class="c2">规格</div>
+            <div class="c5">单价(元)</div>
+            <div class="c4">数量</div>
+            <div class="c5">小计(元)</div>
+          </div>
+          <div class="order-product-none" v-if="productsArr.length === 0">
+            <p>请添加采购商品</p>
+            <el-button type="primary" style="width: 128px;" @click="handleShowVisible">添加</el-button>
+          </div>
+          <div class="order-product-main" v-if="productsArr.length > 0">
+            <div class="order-product-item" v-for="(pros, index) in productsArr" :key="index">
+              <div class="c1">
+                <div class="product-img">
+                  <img :src="pros.image" :alt="pros.name">
+                </div>
+                <div class="product-name">
+                  <p> {{ pros.name }} </p>
+                </div>
+              </div>
+              <div class="c2">
+                <p> {{ pros.unit }} </p>
+              </div>
+              <div class="c5">
+                <p> ¥{{ pros.price | amountfilters }} </p>
+              </div>
+              <div class="c4">
+                <p> {{ pros.number }} </p>
+              </div>
+              <div class="c5">
+                <p> ¥{{ pros.totalPrice | amountfilters }} </p>
+              </div>
+              <div class="item-delete">
+                <i class="el-icon-close"></i>
+              </div>
+            </div>
+          </div>
+        </div>
+        <div class="order-product-bsn" v-if="productsArr.length > 0">
+          <div class="order-product-add">
+            <span>继续添加商品</span>
+            <el-button type="primary" style="width: 128px;" @click="handleShowVisible">添加</el-button>
+          </div>
+        </div>
+        <div class="order-title">
+          <p class="info-title">发票信息</p>
+        </div>
+        <div class="order-invoice-form">
+          <el-form ref="invoiceForm" :rules="rules" :model="invoiceForm">
+            <div class="order-invoice-radio">
+              <el-radio v-model="invoiceForm.type" :label="0">不开发票</el-radio>
+              <el-radio v-model="invoiceForm.type" :label="1">普通发票</el-radio>
+              <el-radio v-model="invoiceForm.type" :label="2">增值税发票</el-radio>
+            </div>
+            <template v-if="invoiceForm.type===1">
+              <div class="order-invoice-radio">
+                <el-radio v-model="invoiceForm.headingType" :label="0">个人</el-radio>
+                <el-radio v-model="invoiceForm.headingType" :label="1">单位</el-radio>
+              </div>
+                <el-form-item label="发票抬头:" label-position="left" prop="invoiceTitle" :rules="rules.invoiceTitle" label-width="98px">
+                  <el-input v-model="invoiceForm.invoiceTitle" placeholder="请填写发票抬头"  maxlength="20"></el-input>
+                </el-form-item>
+                <el-form-item v-show="invoiceForm.headingType==1" label="单位税号:" label-position="left" prop="corporationTaxNum" :rules="rules.corporationTaxNum" label-width="98px">
+                  <el-input v-model="invoiceForm.corporationTaxNum" placeholder="请填写单位税号"  maxlength="20"></el-input>
+                </el-form-item>
+                <el-form-item v-show="invoiceForm.headingType==1" label="注册地址:" label-position="left" label-width="98px">
+                  <el-input v-model="invoiceForm.registeredAddress" placeholder="请填写注册地址"  maxlength="40"></el-input>
+                </el-form-item>
+                <el-form-item v-show="invoiceForm.headingType==1" label="注册电话:" label-position="left" label-width="98px">
+                  <el-input v-model="invoiceForm.registeredPhone" placeholder="请填写注册电话"  maxlength="15"></el-input>
+                </el-form-item>
+                <el-form-item v-show="invoiceForm.headingType==1" label="开户银行:" label-position="left" label-width="98px">
+                  <el-input  v-model="invoiceForm.openBank" placeholder="请填写开户银行"  maxlength="15"></el-input>
+                </el-form-item>
+                <el-form-item v-show="invoiceForm.headingType==1" label="银行账号:" label-position="left" label-width="98px">
+                  <el-input v-model="invoiceForm.bankAccountNo" placeholder="请填写银行账号"  maxlength="19"></el-input>
+                </el-form-item>
+              </template>
+              <template v-if="invoiceForm.type===2">
+                <el-form-item label="发票抬头:" label-position="left" prop="invoiceTitle" :rules="rules.invoiceTitle" label-width="98px">
+                  <el-input v-model="invoiceForm.invoiceTitle" placeholder="请填写发票抬头"  maxlength="20"></el-input>
+                </el-form-item>
+                <el-form-item label="单位税号:" label-position="left" prop="corporationTaxNum" :rules="rules.corporationTaxNum" label-width="98px">
+                  <el-input v-model="invoiceForm.corporationTaxNum" placeholder="请填写单位税号"  maxlength="20"></el-input>
+                </el-form-item>
+                <el-form-item label="注册地址:" label-position="left" prop="registeredAddress" :rules="rules.registeredAddress" label-width="98px">
+                  <el-input v-model="invoiceForm.registeredAddress" placeholder="请填写注册地址"  maxlength="40"></el-input>
+                </el-form-item>
+                <el-form-item label="注册电话:" label-position="left" prop="registeredPhone" :rules="rules.registeredPhone" label-width="98px">
+                  <el-input v-model="invoiceForm.registeredPhone" placeholder="请填写注册电话"  maxlength="15"></el-input>
+                </el-form-item>
+                <el-form-item label="开户银行:" label-position="left" prop="openBank" :rules="rules.openBank" label-width="98px">
+                  <el-input v-model="invoiceForm.openBank" placeholder="请填写开户银行"  maxlength="15"></el-input>
+                </el-form-item>
+                <el-form-item label="银行账号:" label-position="left" prop="bankAccountNo" :rules="rules.bankAccountNo" label-width="98px">
+                  <el-input v-model="invoiceForm.bankAccountNo" placeholder="请填写银行账号"  maxlength="19"></el-input>
+                </el-form-item>
+              </template>
+          </el-form>
+        </div>
+        <div class="order-el-confirm">
+          <div class="inner">
+            <el-button type="primary" @click="handleConfirm">提交订单</el-button>
+          </div>
+        </div>
+      </div>
+    </div>
+    <!-- 添加商品弹窗  -->
+    <el-dialog
+            title="添加商品"
+            :visible.sync="goodsDialogVisible"
+            width="1100px"
+            :close-on-click-modal="false"
+            :show-close="false"
+    >
+      <div class="filter-container">
+        <div class="filter-control">
+          <span>商品名称:</span>
+          <el-input v-model="listQuery.name" placeholder="商品名称" clearable></el-input>
+        </div>
+        <div class="filter-control">
+          <el-button type="primary" @click="getProductList">查询</el-button>
+        </div>
+      </div>
+      <el-table ref="table" v-loading="isLoading" :data="productsList" height="400px" border @selection-change="handleSelectionChange">
+        <el-table-column type="selection" width="50"></el-table-column>
+        <el-table-column prop="image" label="商品图片" align="center" width="100">
+          <template slot-scope="{ row }">
+            <img :src="row.image" :alt="row.name" style="width: 40px;height: 40px;">
+          </template>
+        </el-table-column>
+        <el-table-column prop="name" label="商品名称" align="center"></el-table-column>
+        <el-table-column prop="unit" label="规格" align="center">
+          <template slot-scope="{ row }">
+            <el-select v-model="row.unit" clearable>
+              <el-option value="" label="请选择"></el-option>
+              <el-option :value="1" label="启用"></el-option>
+              <el-option :value="2" label="停用"></el-option>
+            </el-select>
+          </template>
+        </el-table-column>
+        <el-table-column prop="price" label="售价" align="center">
+          <template slot-scope="{ row }">
+            <el-input v-model="row.price" placeholder="售价" @input="e => (row.price= checkedInput(e))">
+              <template slot="prepend">¥</template>
+            </el-input>
+          </template>
+        </el-table-column>
+        <el-table-column prop="num" label="采购数量" align="center" width="150">
+          <template slot-scope="{ row }">
+            <el-input
+                    v-model="row.num"
+                    style="width: 100px"
+                    placeholder="商品数量"
+                    maxlength="10">
+            </el-input>
+          </template>
+        </el-table-column>
+      </el-table>
+      <!-- 页码 -->
+      <el-pagination
+                style="padding: 20px 0"
+                 background
+                 :small="false"
+                 @current-change="handleCurrentChange"
+                 :current-page="listQuery.pageNum"
+                 :page-size="listQuery.pageSize"
+                 layout="total, prev, pager, next, jumper"
+                 :total="total">
+      </el-pagination>
+      <div slot="footer">
+        <el-button @click="handleCanle">取 消</el-button>
+        <el-button type="primary" :disabled="disabled" @click="handleAddProConfirm">确 定</el-button>
+      </div>
+    </el-dialog>
+  </div>
+  <!-- 引入底部 -->
+  <template th:replace="components/footer"></template>
+  <template th:replace="components/foot-link"></template>
+  <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/common/serviceapi/supplier.service.js(v=${version})}"></script>
+  <script charset="utf-8" type="text/javascript" th:src="@{/js/supplier-center/order/order-create.js(v=${version})}"></script>
+</body>
+</html>

+ 148 - 0
src/main/resources/templates/supplier-center/order/order-share-details.html

@@ -0,0 +1,148 @@
+<!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>确认订单</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.zhimg.com/element-ui@2.15.13/lib/theme-chalk/index.css"/>
+    <link rel="stylesheet" href="/lib/element-ui/element-ui-min.css"/>
+    <link th:href="@{/css/supplier-center/order/order-share-detail.css(v=${version})}" rel="stylesheet" type="text/css">
+    <template th:replace="components/analysis"></template>
+</head>
+<body>
+<!-- 引用头部 -->
+<template th:replace="components/header"></template>
+
+<div id="orderPage">
+    <div class="navLayout" v-cloak>
+        <div v-if="isPC" class="crumbs">
+            <span>订单详情</span>
+        </div>
+        <div class="wrap clear">
+            <!--左侧导航-->
+            <div class="content-main">
+                <!--loading-->
+                <div v-if="isRequset" class="loading">
+                    <img src="/img/base/loading.gif">
+                </div>
+                <div class="order-container clear" v-else>
+                    <!--数据为空-->
+                    <div class="section">
+                        <div class="section-info shadow">
+                            <div class="order-title">
+                                <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.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">
+                                    <p>下单时间:<span>{{orderInfo.orderTime}}</span></p>
+                                </div>
+                            </div>
+                            <div class="order-content">
+                                <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>
+                        </div>
+                        <div class="section-list shadow">
+                            <div class="section-shopinfo">
+                                <div class="title">
+                                    <img :src="orderInfo.shopLogo" alt="" class="logo">
+                                    <p class="name">{{orderInfo.shopName}}</p>
+                                </div>
+                                <div class="product">
+                                    <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="">
+                                                <span v-if="pros.giftType==2||pros.giftType==1" class="tip">赠品</span>
+                                            </div>
+                                            <div class="text">
+                                                <p class="tit">{{pros.name}}</p>
+                                                <div class="info">
+                                                    <p class="col" v-if="pros.productCategory != 2">规格:<span class="none">{{pros.productUnit ? pros.productUnit : ''}}</span> </p>
+                                                    <p class="col">数量:<span class="none">{{pros.num}}</span> </p>
+                                                    <div class="col">
+                                                        <template v-if="pros.svipPriceFlag === 1">
+                                                            <span>单价: </span>
+                                                            <span class="none"><del>¥{{pros.price | NumFormat}}</del></span>
+                                                            <!--超级会员价格标签-->
+                                                            <div class="svip-tag" >
+                                                                <div class="svip-icon">SVIP</div>
+                                                                <div class="svip-price">
+                                                                    <span v-html="pros.svipPriceTag"></span>
+                                                                </div>
+                                                            </div>
+                                                        </template>
+                                                        <p v-else>单价: <span class="none">¥{{pros.price | NumFormat}}</span></p>
+                                                    </div>
+                                                    <p class="col">税率:<span class="none">{{pros.taxRate}}%</span></p>
+                                                </div>
+                                                <div class="price">
+                                                    <p>合计: <span class="red">¥{{pros.totalFee | NumFormat}}</span></p>
+                                                </div>
+                                            </div>
+                                        </div>
+                                    </div>
+                                </div>
+                                <div class="shopinfo-bott clear">
+                                    <p>商品总额:<span class="red" >¥{{orderInfo.totalAmount | NumFormat }}</span> </p>
+                                    <p>订单总额:<span class="red" >¥{{orderInfo.totalAmount | NumFormat }}</span> </p>
+                                    <p>运费:<span class="red">{{orderInfo.postageInfo }}</span> </p>
+                                </div>
+                                <div class="shopinfo-bott clear">
+                                    <p>应付金额:<span class="red">¥{{orderInfo.realPay | NumFormat}}</span> </p>
+                                    <p>已付金额:<span class="red">
+                                        ¥{{orderInfo.receiptAmount | NumFormat}}
+                                        <span v-if="orderInfo.accountAmount>0">(余额抵扣:¥{{orderInfo.accountAmount | NumFormat}})</span>
+                                    </span>
+                                    </p>
+                                    <p>待付金额:<span class="red">¥{{orderInfo.obligation | NumFormat}}</span> </p>
+                                </div>
+                            </div>
+                        </div>
+                        <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">
+                                    <div class="order-item">
+                                        <p v-if="orderInvoice.type > 0">发票抬头:<span class="none">{{ orderInvoice.invoiceTitle ? orderInvoice.invoiceTitle : '无' }}</span></p>
+                                        <p v-if="orderInvoice.type === 2 || orderInvoice.headingType === 1">单位税号:<span class="none">{{ orderInvoice.corporationTaxNum ? orderInvoice.corporationTaxNum : '无' }}</span> </p>
+                                        <p v-if="orderInvoice.type === 2 || orderInvoice.headingType === 1">注册地址:<span class="none" >{{ orderInvoice.registeredAddress ? orderInvoice.registeredAddress : '无' }}</span> </p>
+                                    </div>
+                                    <div class="order-item" v-if="orderInvoice.type === 2 || orderInvoice.headingType === 1">
+                                        <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>
+                        <div class="section-botton shadow">
+                            <el-button type="primary" @click="handeleDropdown(5)">确认订单</el-button>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+
+<!-- 引入底部 -->
+<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/supplier-center/order/order-share-detail.js(v=${version})}"></script>
+</body>
+</html>

+ 38 - 0
src/main/resources/templates/supplier-center/order/order-share-login.html

@@ -0,0 +1,38 @@
+<!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>输入分享码</title>
+  <template th:replace="components/head-link"></template>
+  <link th:href="@{/css/supplier-center/order/order-share-login.css(v=${version})}" rel="stylesheet" type="text/css">
+  <template th:replace="components/analysis"></template>
+</head>
+<body>
+<!-- 引用头部 -->
+<input type="hidden" th:value="${coreServer}" id="coreServer">
+<input type="hidden" th:value="${siteEnv}" id="siteEnv">
+<!-- 机构信息 -->
+<div id="shareContent" v-cloak>
+  <div class="share-content">
+    <div class="share-logo">
+      <img v-if="isPC" src="/img/supplier/icon-lg-pcLogin.png" alt="丽格集采联盟"/>
+      <img v-else src="/img/supplier/icon-lg-h5Login.png" alt="丽格集采联盟"/>
+    </div>
+    <div class="share-form">
+      <el-form ref="dataForm" :rules="rules" :model="form" label-position="top" label-width="0px">
+        <el-form-item label="分享码:" prop="shareCode" :rules="rules.shareCode">
+          <el-input v-model="form.shareCode"  maxlength="4"></el-input>
+        </el-form-item>
+        <el-form-item>
+            <el-button type="primary" :disabled="disabled" style="width: 100%;"  @click="handleConfirm('dataForm')">确定</el-button>
+        </el-form-item>
+      </el-form>
+    </div>
+  </div>
+</div>
+<!-- 引入底部 -->
+<template th:replace="components/foot-link"></template>
+<script charset="utf-8" type="text/javascript" th:src="@{/js/common/serviceapi/user.service.js(v=${version})}"></script>
+<script charset="utf-8" type="text/javascript" th:src="@{/js/supplier-center/order/order-share-login.js(v=${version})}"></script>
+</body>
+</html>