Browse Source

首页改版

zhengjinyi 1 year ago
parent
commit
2d6eb04987
23 changed files with 1078 additions and 38 deletions
  1. 16 0
      src/main/java/com/caimei/www/controller/authorized/supplier/SupplierPageController.java
  2. 13 0
      src/main/resources/static/css/base/base.pc.css
  3. 17 22
      src/main/resources/static/css/index/index_new.h5.css
  4. 67 0
      src/main/resources/static/css/supplier-center/shop/category-edit.css
  5. 67 0
      src/main/resources/static/css/supplier-center/shop/disguise.css
  6. 2 2
      src/main/resources/static/css/supplier-center/shop/goods.css
  7. 77 0
      src/main/resources/static/js/common/serviceapi/supplier.service.js
  8. 3 3
      src/main/resources/static/js/index.js
  9. 116 0
      src/main/resources/static/js/supplier-center/shop/category-edit.js
  10. 62 0
      src/main/resources/static/js/supplier-center/shop/disguise.js
  11. 79 0
      src/main/resources/static/js/supplier-center/shop/mixins/categoryMixins.js
  12. 184 0
      src/main/resources/static/js/supplier-center/shop/mixins/disguiseMixins.js
  13. 1 1
      src/main/resources/static/js/supplier/index.js
  14. 12 6
      src/main/resources/templates/index.html
  15. 97 0
      src/main/resources/templates/supplier-center/components/disguise-banner.html
  16. 65 0
      src/main/resources/templates/supplier-center/components/disguise-category.html
  17. 58 0
      src/main/resources/templates/supplier-center/components/disguise-dialog.html
  18. 1 1
      src/main/resources/templates/supplier-center/components/tableft.html
  19. 86 0
      src/main/resources/templates/supplier-center/shop/category-edit.html
  20. 0 1
      src/main/resources/templates/supplier-center/shop/decoration.html
  21. 54 0
      src/main/resources/templates/supplier-center/shop/disguise.html
  22. 0 1
      src/main/resources/templates/supplier-center/shop/goods.html
  23. 1 1
      src/main/resources/templates/supplier/index.html

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

@@ -64,6 +64,10 @@ public class SupplierPageController extends BaseController {
 	private static final String PHONE = "supplier-center/setting/phone";
     /** 装扮主页 */
 	private static final String DECORATION_SHOP = "supplier-center/shop/decoration";
+    /** 装扮主页 */
+	private static final String DISGUISE = "supplier-center/shop/disguise";
+    /** 添加/编辑楼层 */
+	private static final String CATEGORY_EDIT = "supplier-center/shop/category-edit";
     /** 发布商品 */
 	private static final String RELEASE_GOODS = "supplier-center/shop/release";
     /** 商品管理 */
@@ -260,6 +264,18 @@ public class SupplierPageController extends BaseController {
         return DECORATION_SHOP;
     }
 
+    /** 装扮主页 */
+    @GetMapping("/supplier/disguise.html")
+    public String shopDisguise() {
+        return DISGUISE;
+    }
+
+    /** 装扮主页 */
+    @GetMapping("/supplier/category-edit.html")
+    public String categoryEdit() {
+        return CATEGORY_EDIT;
+    }
+
     /** 发布商品 */
     @GetMapping("/supplier/release.html")
     public String releaseGoods() {

+ 13 - 0
src/main/resources/static/css/base/base.pc.css

@@ -532,6 +532,19 @@ iframe{width:320px !important;height: 280px !important}
 @keyframes rundbottom{ 0%{bottom: -260px;opacity: 0;} 100%{bottom:0;opacity: 1;} }
 
 
+.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 .el-input,
+.filter-control .el-select {
+    width: 200px;
+}
 
 
 

+ 17 - 22
src/main/resources/static/css/index/index_new.h5.css

@@ -1,8 +1,10 @@
  /* 首页导航 */
-.mNavBox{width:100%;margin:0 auto;padding:2.2vw 0;position:relative;background:#FFF;}
-.mNavBox .nav{width:25vw;margin:0;display:block;box-sizing: border-box;padding:2.2vw 0;text-align:center;color:#4A4F58;font-size:3.4vw;float: left;}
-.mNavBox .nav-icon{display:block;width: 11vw;height: 11vw;margin: 0 auto;}
-.mNavBox .nav p{line-height:6.4vw;white-space:nowrap;width: 100%;}
+.mNavBox{width:100%;position:fixed;top:26.8vw;left:0;background:#FFF;height: 8vw; z-index: 999;overflow-x: scroll;}
+.mNavBox .nav{margin:0;display:block;box-sizing: border-box;padding:0 2.2vw;text-align:center;color:#4A4F58;font-size:3.4vw;float: left;}
+.mNavBox .nav-icon{display:none;}
+.mNavBox .nav p{line-height:8vw;white-space:nowrap;}
+
+#container{ margin-top: 9vw; }
 /* 轮播 */
 #swiper-container{width:100%;height:48vw;overflow:hidden;position:relative}
 #swiper-container .swiper-wrapper{position:relative;height:100%;z-index:0}
@@ -17,21 +19,16 @@
  .quickOperation {
  }
  .quickOperation .my-swipe .van-swipe-item {
-  height: 57.8vw;
+  height: auto;
  }
  .carousel-list {
-  padding: 2.4vw;
-  display: grid !important;
-  grid-template-columns: repeat(2, 1fr);
-  grid-template-rows: repeat(2, 1fr);
-  grid-gap: 2.4vw;
+  padding:5vw 0vw 3.2vw 0vw;
  }
  .quickOperation .van-swipe-item .list {
-  width: 45.6vw;
-  height: 20vw;
-  display: flex;
-  align-items: center;
-  background: linear-gradient(180deg, #FFF1EB 0%, #FFFFFF 100%);
+   width: 20%;
+   height: auto;
+   margin-bottom: 3vw;
+   float: left;
  }
  .quickOperation .van-swipe__indicator {
   width: 1.867vw;
@@ -48,14 +45,12 @@
   border-radius: 8px;
  }
  .quickOperation .list .list-content {
-  height: 11.067vw;
-  margin-left: 3.2vw;
-  display: flex;
-  justify-content: space-between;
+   height: auto;
  }
  .quickOperation .list .list-content .list-icon {
-  width: 11.067vw;
-  height: 100%;
+  width: 12vw;
+  height: 12vw;
+  margin: 0 auto;
   border-radius: 50%;
   overflow: hidden;
  }
@@ -91,7 +86,7 @@
   font-size: 2.8vw;
  }
   /*公告*/
- #new-container{height: 12vw;background-color: #F7F7F7;padding:4vw 3.2vw 0 3.2vw;box-sizing: border-box;}
+ #new-container{height: 8vw;background-color: #F5F5F5;padding:0 3.2vw 0 3.2vw;box-sizing: border-box;}
  #new-container .inner{width: 100%;height: 100%;background: url("/img/base/icon-newbgh5@2x.png");background-size: cover;box-sizing: border-box;padding:0 3vw;border-radius: 1vw;}
  #new-container .new-list{float: left;width: 62vw;}
  #new-container .new-label{float: left;line-height: 8vw;font-size: 16px;color: #FF5B00;font-weight: bold;}

+ 67 - 0
src/main/resources/static/css/supplier-center/shop/category-edit.css

@@ -0,0 +1,67 @@
+@media screen and (min-width:768px) {
+  input::placeholder{color: #9aa5b5;font-size: 12px;}
+  table, td, th{border: none;}
+  .crumbs{color: #22272e;font-size: 16px;}
+  .head-top{overflow: hidden;background: #fff;padding:17px;box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.07)}
+  .head-top>div {float: left; height: 40px;font-size: 12px;color: #627386;line-height: 40px;margin-right: 10px;margin-bottom: 10px}
+  .state {width: 158px !important;}
+  #newBtn div{height: 36px;border-radius: 2px;display: inline-block;text-align: center;cursor: pointer}
+  #newBtn{float: left;margin: 0}
+  .disguise-content{ width: 100%;min-height: 653px;background: #FFFFFF;box-sizing: border-box;padding: 40px 200px;}
+
+  .bgFrom{position: fixed; background: rgba(34,39,46, 0.3);top: 0;left: 0; width: 100%;height: 100%;z-index: 1000;opacity: 0}
+  .bgFrom.show{opacity: 1}
+  .modalForm{ width: 650px;height: 350px;background-color: #ffffff;box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);border-radius: 2px;border: solid 1px #efefef; position: absolute;left: 0;top: 0;right: 0;bottom: 0; margin: auto }
+  .modal-header{ height: 42px; background-color: #f8f8f8; border-radius: 2px 2px 0px 0px;border: solid 1px #efefef; line-height: 42px;padding: 0 16px;color: #333333;}
+  .icon.close{float: right; cursor: pointer;}
+  .icon.close:before{width: 20px;height: 20px;background-position: -315px 2px}
+  .modal-div span{color: #22272e;}
+  .modal-div input{width: 560px;height: 36px;line-height:36px;border-radius: 2px;border: solid 1px #b8bfca;margin-bottom: 15px;color: #9aa5b5;padding-left: 5px}
+  .modal-content{padding: 15px}
+  .upimg { width: 56px;height: 56px;background-color: #ffffff;border-radius: 2px; border: solid 1px #b8bfca; display: inline-block; position: relative;}
+  .icon.add:before { width: 25px;height: 25px;background-position: -168px -374px; position: relative;top: 15px;right: -15px;}
+  .add-pic {width: 56px;height: 56px;position: absolute;top: 50%; left: 50%;transform: translate(-50%,-50%); border-radius: 2px;opacity: 0;cursor: pointer;}
+  .upimg img {width: 100%; height: 100%;}
+  .red{color: red}
+  .upload-img .up{ vertical-align: baseline; height: 60px;display: inline-block}
+  .colorstyle{color: #FF5B00}
+  .saveBtn{ text-align: center;float: right;width: 68px;height: 32px; background-color: #FF5B00; border-radius: 2px;line-height: 32px;color: #ffffff;cursor: pointer;}
+  .Note{float: left}
+  .navLayout{min-height: auto;}
+
+  .pagination{width: 100%;margin-top: 10px;float: left; background: #FFFFFF;padding: 8px 0px;box-sizing: border-box;}
+}
+
+/*移动端*/
+@media screen and (max-width:768px) {
+  table, td, th{border: none;}
+  .head-top{padding: 3vw 0;background: #fff;}
+  .head-top .form-row{margin:1.5vw 0;color: #627386;float: left;width: 50%;}
+  .state {width: 92% !important;margin: 0 2vw;}
+  #newBtn{float: left;margin: 2vw;}
+
+  .bgFrom{position: fixed; background: rgba(34,39,46, 0.3);top: 0;left: 0; width: 100%;height: 100%;z-index: 1000;opacity: 0}
+  .bgFrom.show{opacity: 1}
+  .modalForm{ width: 74.7vw;height:fit-content;background-color: #ffffff;box-shadow: 0px .8vw 1.6vw 0px rgba(0, 0, 0, 0.16);border-radius: 2.7vw;
+    border: solid .27vw #efefef; position: absolute;left: 0;top: 0;right: 0;bottom: 0; margin: auto }
+  .modal-header{height: 10.96vw;border-bottom: solid .27vw #efefef; line-height:10.9vw;padding: 0 4vw;color: #22272e;}
+  .mIcon.close{float: right; cursor: pointer;}
+  .mIcon.close:before{width: 5.3vw;height: 5.3vw;background-position: -33.3vw .53vw}
+  .modal-div span{color: #22272e;display: inline-block;}
+  .modal-div input{width: 54vw;height: 8.8vw;line-height:8.8vw;border-radius: .27vw;border: solid .27vw #b8bfca;margin-bottom: 4vw;
+  color: #9aa5b5;padding-left: 1.3vw;display: inline-block;}
+  .modal-content{padding: 2.7vw}
+  input::placeholder{color: #9aa5b5;font-size: 3vw}
+  .upimg { width: 13vw;height: 13vw;background-color: #ffffff;border-radius: .53vw; border: solid .27vw #b8bfca; display: inline-block; position: relative;}
+  .mIcon.add:before {width: 5vw;height: 5vw;background-position: -9.6vw -62vw;position: relative;top: 4vw;right: -4vw;}
+  .add-pic {width: 13vw;height: 13vw;position: absolute;top: 50%; left: 50%;transform: translate(-50%,-50%); border-radius: .53vw;opacity: 0;cursor: pointer;}
+  .upimg img {width: 100%; height: 100%;}
+  .red{color: red}
+  .upload-img .up{ vertical-align: baseline; height: 60px;display: inline-block}
+  .colorstyle{color: #FF5B00}
+  .Note{float: left;font-size: 2.2vw;}
+  .pagination{width: 100%;min-height: 2vw;position: fixed;bottom: 0;left: 0;background: #FFFFFF;z-index: 99;padding: 2vw;box-sizing: border-box;}
+}
+ @media screen and (max-width: 360px){
+    .modal-div input{width: 51vw}
+  }

+ 67 - 0
src/main/resources/static/css/supplier-center/shop/disguise.css

@@ -0,0 +1,67 @@
+@media screen and (min-width:768px) {
+    input::placeholder{color: #9aa5b5;font-size: 12px;}
+    table, td, th{border: none;}
+    .crumbs{color: #22272e;font-size: 16px;}
+    .head-top{overflow: hidden;background: #fff;padding:17px;box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.07)}
+    .head-top>div {float: left; height: 40px;font-size: 12px;color: #627386;line-height: 40px;margin-right: 10px;margin-bottom: 10px}
+    .state {width: 158px !important;}
+    #newBtn div{height: 36px;border-radius: 2px;display: inline-block;text-align: center;cursor: pointer}
+    #newBtn{float: left;margin: 0}
+    .disguise-content{ width: 100%;min-height: 500px;background: #FFFFFF; }
+
+    .bgFrom{position: fixed; background: rgba(34,39,46, 0.3);top: 0;left: 0; width: 100%;height: 100%;z-index: 1000;opacity: 0}
+    .bgFrom.show{opacity: 1}
+    .modalForm{ width: 650px;height: 350px;background-color: #ffffff;box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);border-radius: 2px;border: solid 1px #efefef; position: absolute;left: 0;top: 0;right: 0;bottom: 0; margin: auto }
+    .modal-header{ height: 42px; background-color: #f8f8f8; border-radius: 2px 2px 0px 0px;border: solid 1px #efefef; line-height: 42px;padding: 0 16px;color: #333333;}
+    .icon.close{float: right; cursor: pointer;}
+    .icon.close:before{width: 20px;height: 20px;background-position: -315px 2px}
+    .modal-div span{color: #22272e;}
+    .modal-div input{width: 560px;height: 36px;line-height:36px;border-radius: 2px;border: solid 1px #b8bfca;margin-bottom: 15px;color: #9aa5b5;padding-left: 5px}
+    .modal-content{padding: 15px}
+    .upimg { width: 56px;height: 56px;background-color: #ffffff;border-radius: 2px; border: solid 1px #b8bfca; display: inline-block; position: relative;}
+    .icon.add:before { width: 25px;height: 25px;background-position: -163px -370px; position: relative;top: 15px;right: -15px;}
+    .add-pic {width: 56px;height: 56px;position: absolute;top: 50%; left: 50%;transform: translate(-50%,-50%); border-radius: 2px;opacity: 0;cursor: pointer;}
+    .upimg img {width: 100%; height: 100%;}
+    .red{color: red}
+    .upload-img .up{ vertical-align: baseline; height: 60px;display: inline-block}
+    .colorstyle{color: #FF5B00}
+    .saveBtn{ text-align: center;float: right;width: 68px;height: 32px; background-color: #FF5B00; border-radius: 2px;line-height: 32px;color: #ffffff;cursor: pointer;}
+    .Note{float: left}
+    .navLayout{min-height: auto;}
+
+    .pagination{width: 100%;margin-top: 10px;float: left; background: #FFFFFF;padding: 8px 0px;box-sizing: border-box;}
+  }
+
+/*移动端*/
+@media screen and (max-width:768px) {
+  table, td, th{border: none;}
+  .head-top{padding: 3vw 0;background: #fff;}
+  .head-top .form-row{margin:1.5vw 0;color: #627386;float: left;width: 50%;}
+  .state {width: 92% !important;margin: 0 2vw;}
+  #newBtn{float: left;margin: 2vw;}
+
+  .bgFrom{position: fixed; background: rgba(34,39,46, 0.3);top: 0;left: 0; width: 100%;height: 100%;z-index: 1000;opacity: 0}
+  .bgFrom.show{opacity: 1}
+  .modalForm{ width: 74.7vw;height:fit-content;background-color: #ffffff;box-shadow: 0px .8vw 1.6vw 0px rgba(0, 0, 0, 0.16);border-radius: 2.7vw;
+    border: solid .27vw #efefef; position: absolute;left: 0;top: 0;right: 0;bottom: 0; margin: auto }
+  .modal-header{height: 10.96vw;border-bottom: solid .27vw #efefef; line-height:10.9vw;padding: 0 4vw;color: #22272e;}
+  .mIcon.close{float: right; cursor: pointer;}
+  .mIcon.close:before{width: 5.3vw;height: 5.3vw;background-position: -33.3vw .53vw}
+  .modal-div span{color: #22272e;display: inline-block;}
+  .modal-div input{width: 54vw;height: 8.8vw;line-height:8.8vw;border-radius: .27vw;border: solid .27vw #b8bfca;margin-bottom: 4vw;
+  color: #9aa5b5;padding-left: 1.3vw;display: inline-block;}
+  .modal-content{padding: 2.7vw}
+  input::placeholder{color: #9aa5b5;font-size: 3vw}
+  .upimg { width: 13vw;height: 13vw;background-color: #ffffff;border-radius: .53vw; border: solid .27vw #b8bfca; display: inline-block; position: relative;}
+  .mIcon.add:before {width: 5vw;height: 5vw;background-position: -9.6vw -62vw;position: relative;top: 4vw;right: -4vw;}
+  .add-pic {width: 13vw;height: 13vw;position: absolute;top: 50%; left: 50%;transform: translate(-50%,-50%); border-radius: .53vw;opacity: 0;cursor: pointer;}
+  .upimg img {width: 100%; height: 100%;}
+  .red{color: red}
+  .upload-img .up{ vertical-align: baseline; height: 60px;display: inline-block}
+  .colorstyle{color: #FF5B00}
+  .Note{float: left;font-size: 2.2vw;}
+  .pagination{width: 100%;min-height: 2vw;position: fixed;bottom: 0;left: 0;background: #FFFFFF;z-index: 99;padding: 2vw;box-sizing: border-box;}
+}
+ @media screen and (max-width: 360px){
+    .modal-div input{width: 51vw}
+ }

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

@@ -1,13 +1,13 @@
 li{list-style: none}
  @media screen and (min-width:768px) {
     table, td, th{border: none;}
+    input::placeholder{color: #9aa5b5;font-size: 12px;}
+    textarea::placeholder{color: #9aa5b5;}
     .crumbs{color: #22272e;font-size: 16px;}
     .head-top{overflow: hidden;background: #fff;padding:17px;box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.07)}
     .head-top>div {float: left; height: 40px;font-size: 12px;color: #627386;line-height: 40px;margin-right: 10px;margin-bottom: 10px}
     .state {width: 158px !important;}
     .state.small{width: 170px;margin: 0 0;}
-    input::placeholder{color: #9aa5b5;font-size: 12px;}
-    textarea::placeholder{color: #9aa5b5;}
     #newBtn div{height: 36px;border-radius: 2px;display: inline-block;text-align: center;cursor: pointer}
     #newBtn{float: left;margin: 0}
     .goods-main{width: 100%; height: auto; float: left; margin:10px 0;background: #fff;}

+ 77 - 0
src/main/resources/static/js/common/serviceapi/supplier.service.js

@@ -1114,6 +1114,83 @@ var SupplierApi = {
             }).then(function (res) {
                 callback(res);
             });
+        },
+        // 供应商主页类别配置列表
+        getShopCategory: function (params, callback) {
+            Http.AjaxService({
+                url: '/user/shop/getShopCategory',
+                type:'get',
+                data:params,
+                json:false,
+            }).then(function (res) {
+                callback(res);
+            });
+        },
+        // 供应商主页类别配置列表排序
+        renewShopCategory: function (params, callback) {
+            Http.AjaxService({
+                url: '/user/shop/renewShopCategory',
+                type:'get',
+                data:params,
+                json:false,
+            }).then(function (res) {
+                callback(res);
+            });
+        },
+        // 供应商主页类别配置编辑回显
+        echoShopCategory: function (params, callback) {
+            Http.AjaxService({
+                url: '/user/shop/echoShopCategory',
+                type:'get',
+                data:params,
+                json:false,
+            }).then(function (res) {
+                callback(res);
+            });
+        },
+        // 供应商主页类别配置编辑选择啥拜佛
+        getShopProductList: function (params, callback) {
+            Http.AjaxService({
+                url: '/user/shop/getShopProductList',
+                type:'get',
+                data:params,
+                json:false,
+            }).then(function (res) {
+                callback(res);
+            });
+        },
+        // 供应商主页类别配置删除
+        removeCategory: function (params, callback) {
+            Http.AjaxService({
+                url: '/user/shop/removeCategory',
+                type:'get',
+                data:params,
+                json:false,
+            }).then(function (res) {
+                callback(res);
+            });
+        },
+        // 供应商主页--产品展示
+        getCategoryProducts: function (params, callback) {
+            Http.AjaxService({
+                url: '/commodity/Shop/getCategoryProducts',
+                type:'get',
+                data:params,
+                json:false,
+            }).then(function (res) {
+                callback(res);
+            });
+        },
+        // 供应商主页类别配置保存
+        saveShopCategory: function (params, callback) {
+            Http.AjaxService({
+                url: '/user/shop/saveShopCategory',
+                type:'post',
+                data:params,
+                json:false,
+            }).then(function (res) {
+                callback(res);
+            });
         }
 
 

+ 3 - 3
src/main/resources/static/js/index.js

@@ -31,10 +31,10 @@ var homeData = new Vue({
         // 快捷运营列表
         footList(arr) {
             if (!Array.isArray(arr)) return []
-            let newArr = [],
-                a = []
+            let newArr = [],a = []
+            let indexNum = isPC ? 4 : 10
             arr.map((item, index) => {
-                if (index !== 0 && index % 4 === 0) {
+                if (index !== 0 && index % indexNum === 0) {
                     newArr.push(a)
                     a = []
                     a.push(item)

+ 116 - 0
src/main/resources/static/js/supplier-center/shop/category-edit.js

@@ -0,0 +1,116 @@
+;
+var decoration = new Vue({
+    el:'#decoration',
+    mixins: [categoryMixins,cmSysVitaMixins],
+    data:{
+        rules: {
+            name: [{ required: true, message: '请输入类别名称', trigger: 'blur' }],
+            sort: [{ required: true, message: '请输入类别排序', trigger: 'blur' }],
+            products: [{ required: true, type: 'array', message: '请添加一个商品', trigger: ['change'] }],
+        },
+        shopId:'',
+        dialogVisible:false,
+        disguiseForm:{
+            name:'',
+            sort:'',
+            products:[
+                {
+                    mainImage:'https://img.caimei365.com/group1/M00/04/2A/rB-lGGLssqKARicSAAQVGeORd5E481.jpg',
+                    productName:'OMICY无敏氏凝润舒缓冻膜'
+                },
+                {
+                    mainImage:'https://img.caimei365.com/group1/M00/04/2A/rB-lGGLssqKARicSAAQVGeORd5E481.jpg',
+                    productName:'OMICY无敏氏凝润舒缓冻膜'
+                },
+                {
+                    mainImage:'https://img.caimei365.com/group1/M00/04/2A/rB-lGGLssqKARicSAAQVGeORd5E481.jpg',
+                    productName:'OMICY无敏氏凝润舒缓冻膜'
+                },
+                {
+                    mainImage:'https://img.caimei365.com/group1/M00/04/2A/rB-lGGLssqKARicSAAQVGeORd5E481.jpg',
+                    productName:'OMICY无敏氏凝润舒缓冻膜'
+                },
+                {
+                    mainImage:'https://img.caimei365.com/group1/M00/04/2A/rB-lGGLssqKARicSAAQVGeORd5E481.jpg',
+                    productName:'OMICY无敏氏凝润舒缓冻膜'
+                },
+                {
+                    mainImage:'https://img.caimei365.com/group1/M00/04/2A/rB-lGGLssqKARicSAAQVGeORd5E481.jpg',
+                    productName:'OMICY无敏氏凝润舒缓冻膜'
+                },
+                {
+                    mainImage:'https://img.caimei365.com/group1/M00/04/2A/rB-lGGLssqKARicSAAQVGeORd5E481.jpg',
+                    productName:'OMICY无敏氏凝润舒缓冻膜'
+                },
+                {
+                    mainImage:'https://img.caimei365.com/group1/M00/04/2A/rB-lGGLssqKARicSAAQVGeORd5E481.jpg',
+                    productName:'OMICY无敏氏凝润舒缓冻膜'
+                },
+                {
+                    mainImage:'https://img.caimei365.com/group1/M00/04/2A/rB-lGGLssqKARicSAAQVGeORd5E481.jpg',
+                    productName:'OMICY无敏氏凝润舒缓冻膜'
+                },
+                {
+                    mainImage:'https://img.caimei365.com/group1/M00/04/2A/rB-lGGLssqKARicSAAQVGeORd5E481.jpg',
+                    productName:'OMICY无敏氏凝润舒缓冻膜'
+                },
+                {
+                    mainImage:'https://img.caimei365.com/group1/M00/04/2A/rB-lGGLssqKARicSAAQVGeORd5E481.jpg',
+                    productName:'OMICY无敏氏凝润舒缓冻膜'
+                },
+                {
+                    mainImage:'https://img.caimei365.com/group1/M00/04/2A/rB-lGGLssqKARicSAAQVGeORd5E481.jpg',
+                    productName:'OMICY无敏氏凝润舒缓冻膜'
+                },
+                {
+                    mainImage:'https://img.caimei365.com/group1/M00/04/2A/rB-lGGLssqKARicSAAQVGeORd5E481.jpg',
+                    productName:'OMICY无敏氏凝润舒缓冻膜'
+                },
+                {
+                    mainImage:'https://img.caimei365.com/group1/M00/04/2A/rB-lGGLssqKARicSAAQVGeORd5E481.jpg',
+                    productName:'OMICY无敏氏凝润舒缓冻膜'
+                },
+                {
+                    mainImage:'https://img.caimei365.com/group1/M00/04/2A/rB-lGGLssqKARicSAAQVGeORd5E481.jpg',
+                    productName:'OMICY无敏氏凝润舒缓冻膜'
+                }
+            ],
+        }
+    },
+    methods:{
+        // 显示选择商品弹窗
+        handleDialogVisible() {
+            this.dialogVisible = true
+        },
+        // 获取广告图片列表
+        getList() {
+            var _self = this;
+            SupplierApi.dressUpList({shopId: _self.listQuery.shopId}, function (res) {
+                if (res.code === 0) {
+                    console.log(res);
+                    if (res.data.length > 0) {
+                        _self.list = res.data;
+                    }
+                }
+            });
+        },
+        handleDeletePros(index) {
+            // 删除商品
+            this.$confirm('确定删除吗?', '提示', {
+                confirmButtonText: '确定',
+                cancelButtonText: '取消',
+                type: 'warning'
+            }).then(() => {
+                this.disguiseForm.products.splice(index, 1)
+            })
+        }
+    },
+    mounted:function () {
+        if (globalUserData) {
+            this.shopId = globalUserData.shopId;
+        }
+        // this.getList();
+        $('.navLayout').find('.navList').removeClass("on").find('.con').hide().find('a').removeClass("on");
+        $('.navLayout').find('.navList').eq(1).addClass("on").find('.con').show().find('a').eq(1).addClass("on");
+    }
+})

+ 62 - 0
src/main/resources/static/js/supplier-center/shop/disguise.js

@@ -0,0 +1,62 @@
+;
+var decoration = new Vue({
+    el:'#decoration',
+    mixins: [disguiseMixins,cmSysVitaMixins],
+    data:{
+        iconflag:true,
+        dialogVisible:false,
+        logoShow:false,
+        activeName:'first',
+    },
+    methods:{
+        uploadlogo() { //上传图片
+            const _this = this;
+            const inputDOM = _this.$refs.images;
+            const file = inputDOM.files;
+            const formData = new FormData();
+            formData.append('file', file[0]);
+            SupplierApi.uploadimg(formData, function (response) {
+                _this.listQuery.image = response.data;
+                _this.logoShow = true;
+                _this.iconflag = false;
+                event.target.value = '';
+            });
+        },
+        submit(){//提交
+            const _this = this;
+            if(_this.name.indexOf('编辑') > -1) {
+                _this.listQuery.shopBannerID = _this.shopBannerId
+            }
+            if(_this.listQuery.image===''){
+                CAIMEI.dialog('请上传广告图片')
+            }else {
+                console.log(_this.listQuery);
+                SupplierApi.ShopBanner(_this.listQuery, function (res) {
+                    debugger
+                    CAIMEI.dialog('提交成功');
+                    location.reload()
+                })
+            }
+        },
+        handleClick(tab, event) {
+            if(this.activeName === 'first'){
+                this.getCategoryList()
+            }else{
+                this.getBannerList()
+            }
+        },
+    },
+    mounted:function () {
+        if (globalUserData) {
+            this.categoryQuery.shopId = this.bannerQuery.shopId = globalUserData.shopId;
+        }
+        if(isPC){
+            this.layout ='total, prev, pager, next, jumper';
+        }else{
+            this.layout ='total, prev, pager, next';
+        }
+        // this.getList();
+        $('.navLayout').find('.navList').removeClass("on").find('.con').hide().find('a').removeClass("on");
+        $('.navLayout').find('.navList').eq(1).addClass("on").find('.con').show().find('a').eq(1).addClass("on");
+    }
+})

+ 79 - 0
src/main/resources/static/js/supplier-center/shop/mixins/categoryMixins.js

@@ -0,0 +1,79 @@
+const categoryMixins = function () {
+    return {
+        data() {
+            return {
+                visible: true,
+                listQuery: {
+                    pageNum: 1, // 页码
+                    pageSize: 100, // 页面数据数
+                    shopName: '' // 供应商公司名称
+                },
+                list: [],
+                total: 0,
+                shopsRadio: null,
+                isLoading: true
+            }
+        },
+        computed: {
+            disabled() {
+                return this.shopsRadio === null
+            }
+        },
+        mounted () {
+
+        },
+        methods: {
+            // 获取所有供应商列表
+            getList() {
+                this.list = []
+                this.listQuery.pageNum = 1
+                this.getShopList()
+            },
+            // 获取所有供应商列表
+            getShopList() {
+                // try {
+                //     const res = await getShopList(this.listQuery)
+                //     this.list = res.data.results
+                //     this.total = res.data.totalRecord
+                //     this.isLoading = false
+                // } catch (error) {
+                //     console.log(error)
+                // }
+            },
+            // 选择供应商
+            handleSelectionChange(row) {
+                this.shopsRadio = row
+                console.log('row', row)
+            },
+            // 确认选择供应商
+            handleConfirm() {
+                this.$emit('confirm', this.shopsRadio)
+            },
+            handleCanle() {
+                // 取消弹窗
+               this.dialogVisible = false
+            },
+            // 已选择的禁用勾选框
+            selectable(row) {
+                if (row.flag) {
+                    return true
+                } else {
+                    return false
+                }
+            },
+            checkedInput(event, type) {
+                let pattern = ''
+                switch (type) {
+                    case 1:
+                        pattern = /[^\d]/g
+                        break
+                    case 2:
+                        pattern = /[^u4E00-u9FA5|d|a-zA-Z|rns,.?!,。?!…—&$=()-+/*{}[]]|s/g
+                        break
+                }
+                return event.replace(pattern, '')
+            }
+        }
+    }
+}();
+

+ 184 - 0
src/main/resources/static/js/supplier-center/shop/mixins/disguiseMixins.js

@@ -0,0 +1,184 @@
+const disguiseMixins = function () {
+    return {
+        data() {
+            return {
+                total:0,
+                bannerTotal:0,
+                layout: '',
+                listLoading:false,
+                bannerLoading:false,
+                categoryQuery:{
+                    name: '',
+                    shopId:'',
+                    pageNum:1,
+                    pageSize:10
+                },
+                bannerQuery:{
+                    name: '',
+                    shopId:'',
+                    pageNum:1,
+                    pageSize:10
+                },
+                formTitle:'添加广告图',
+                bannerForm:{
+                    id: '',
+                    shopId:'',
+                    title:'',
+                    link:'',
+                    info:'',
+                    image:'',
+                },
+                categoryList:[
+                    {
+                        name:'耗材',
+                        number:10,
+                        sort:1,
+                        time:'2023-11-20 11:51:22',
+                    },
+                    {
+                        name:'玻尿酸',
+                        number:10,
+                        sort:2,
+                        time:'2023-11-20 11:51:22',
+                    },
+                ],
+                bannerList:[
+                    {
+                        name:'耗材',
+                        number:'https://www.caimei365.com/',
+                        sort:1,
+                        text:'阿三大蘇打颯颯大蘇打撒旦',
+                        time:'2023-11-20 11:51:22',
+                    },
+                    {
+                        name:'玻尿酸',
+                        number:'https://www.caimei365.com/',
+                        sort:2,
+                        text:'阿三大蘇打颯颯大蘇打撒旦',
+                        time:'2023-11-20 11:51:22',
+                    },
+                ]
+            }
+        },
+        computed: {
+
+        },
+        mounted () {
+
+        },
+        methods: {
+            //切换类别页码
+            handleCategoryChange(val){
+                this.categoryQuery.pageNum = val;
+                this.getCategoryList();
+            },
+            // 获取类别列表
+            getCategoryList() {
+                this.categoryQuery.pageNum = 1
+                this.categoryList=[]
+                this.getDisguiseCategory()
+            },
+            // 获取类别列表
+            getDisguiseCategory(){
+                const _self = this;
+                SupplierApi.dressUpList(this.categoryQuery, function (res) {
+                    if (res.code === 0) {
+                        console.log(res);
+                        if (res.data.length > 0) {
+                            _self.categoryList = res.data;
+                        }
+                    }
+                });
+            },
+            // 类别排序
+            handleCategorySort(row) {
+
+            },
+            // 编辑类别排
+            handleEditCategory(row) {
+                window.location.href='/supplier/category-edit.html?id='+row.id;
+            },
+            // 删除类别排
+            handleDelCategory(row){
+                const _this = this;
+                this.$confirm('确定要删除该类别吗?', '提示', {
+                    confirmButtonText: '确定',
+                    cancelButtonText: '取消',
+                    type: 'warning'
+                }).then(() => {
+                    this.deleteShopBanner(row.id)
+                })
+            },
+            //切换广告图页码
+            handleBannerChange(val){
+                this.bannerQuery.pageNum = val;
+                this.getBannerList();
+            },
+            // 获取广告图列表
+            getBannerList() {
+                this.bannerQuery.pageNum = 1
+                // this.bannerList=[]
+                // this.getDisguiseBanner()
+            },
+            // 获取广告图列表
+            getDisguiseBanner(){
+                const _self = this;
+                SupplierApi.dressUpList(this.bannerQuery, function (res) {
+                    if (res.code === 0) {
+                        console.log(res);
+                        if (res.data.length > 0) {
+                            _self.bannerList = res.data;
+                        }
+                    }
+                });
+            },
+            // 类别排序
+            handleBannerSort(row) {
+
+            },
+            // 添加广告图
+            handleAddBanner() {
+                this.formTitle = '添加广告图';
+                this.dialogVisible = true;
+                this.iconflag=true;
+                this.logoShow =false;
+            },
+            // 编辑广告图
+            handleEditBanner(row) {
+                this.formTitle = '编辑广告图';
+                this.bannerForm = {...this.bannerForm ,...row}
+                this.dialogVisible = true
+                this.iconflag=true;
+                this.logoShow = true;
+            },
+            // 删除广告图
+            handleDelBanner(row){
+                const _this = this;
+                this.$confirm('确定要删除该图片吗?', '提示', {
+                    confirmButtonText: '确定',
+                    cancelButtonText: '取消',
+                    type: 'warning'
+                }).then(() => {
+                    this.deleteShopBanner(row.id)
+                })
+            },
+            // 删除广告图
+            deleteShopBanner(id){
+                SupplierApi.deleteShopBanner({id: id}, function (res) {
+                    if (res.code === 0) {
+                        CAIMEI.dialog('删除成功');
+                        location.reload()
+                    }
+                })
+            },
+            handleCloseBanner() {
+                this.dialogVisible = false;
+                this.bannerForm.title = '';
+                this.bannerForm.link = '';
+                this.bannerForm.info = '';
+                this.bannerForm.image = '';
+            }
+        }
+    }
+}();
+

+ 1 - 1
src/main/resources/static/js/supplier/index.js

@@ -28,7 +28,7 @@ var supplierHome = new Vue({
                 },
                 {
                     type: 2,
-                    title: '供应商产品',
+                    title: '全部商品',
                     productList: this.productLists,
                     showEmpty: true
                 }

+ 12 - 6
src/main/resources/templates/index.html

@@ -40,6 +40,7 @@
     </div>
     <div class="mNavBox h5Only clear">
         <!--导航菜单-->
+        <a class="nav" href="/"><p>首页</p> </a>
         <a th:each="menu: ${topMenuList}" class="nav" th:href="${menu.link}">
             <img class="nav-icon" th:src="${menu.icon}" th:alt="${menu.name}">
             <p th:text="${menu.name}"></p>
@@ -48,18 +49,23 @@
     <div class="quickOperation" v-if="quickoperaList.length > 0 && !isPC" v-cloak>
         <van-swipe class="my-swipe" :autoplay="false">
             <van-swipe-item v-for="(item, index) in quickoperaList" :key="item">
-                <div class="carousel-list">
+                <div class="carousel-list clear">
                     <div class="list" v-for="(i, o) in item" :key="o" @click="goQuickOpera(i)">
                         <div class="list-content">
                             <div class="list-icon">
                                 <van-image style="width: 100%; height: 100%;" :src="i.icon" />
                             </div>
                             <div class="list-title">
-                                <div class="title-1">
-                                    <div class="title-1-item">{{i.name}}</div>
-                                    <div class="title-2-item">GO></div>
-                                </div>
-                                <div class="title-2">{{i.remark || ''}}</div>
+                                <template v-if="isPC">
+                                    <div class="title-1">
+                                        <div class="title-1-item"></div>
+                                        <div class="title-2-item">GO></div>
+                                    </div>
+                                    <div class="title-2">{{i.remark || ''}}</div>
+                                </template>
+                                <template v-else>
+                                    <p>{{i.name}}</p>
+                                </template>
                             </div>
                         </div>
                     </div>

+ 97 - 0
src/main/resources/templates/supplier-center/components/disguise-banner.html

@@ -0,0 +1,97 @@
+<div class="category-main">
+  <div class="head-top clear">
+    <div class="form-row low">
+      <span v-if="isPC">标题名称:</span>
+      <el-input v-model="bannerQuery.name"
+                class="state"
+                placeholder="请输入标题名称"
+                clearable
+                @keyup.enter.native="getBannerList"
+                @clear="getBannerList">
+      </el-input>
+    </div>
+    <div id="newBtn">
+      <el-button type="primary" @click="getBannerList">查询</el-button>
+      <el-button type="primary" @click="getBannerList">一键排序</el-button>
+      <el-button type="primary" @click="handleAddBanner">添加广告图</el-button>
+    </div>
+  </div>
+  <el-table
+          :data="bannerList"
+          v-loading="bannerLoading"
+          element-loading-text="Loading"
+          border
+          fit
+          height="500px"
+          highlight-current-row
+          :header-cell-style="{background:'#E1E1E1',color:'#606266'}"
+  >
+    <el-table-column label="标题" align="center" prop="name"></el-table-column>
+    <el-table-column label="链接" align="center" prop="number"></el-table-column>
+    <el-table-column label="排序" width="80" align="center">
+      <template slot-scope="{ row }">
+        <el-input v-model="row.sort" maxlength="4" minlength="1" @blur="handleBannerSort(row)"></el-input>
+      </template>
+    </el-table-column>
+    <el-table-column label="说明" align="center" prop="text">
+      <template slot-scope="{row}">
+        <span>{{  row.text }}</span>
+      </template>
+    </el-table-column>
+    <el-table-column label="创建时间" align="center" prop="time" width="100">
+      <template slot-scope="{row}">
+        <span>{{  row.time }}</span>
+      </template>
+    </el-table-column>
+    <el-table-column label="操作" align="center">
+      <template slot-scope="{row}">
+          <el-button type="primary" style="margin: 5px;" size="mini" plain  @click="handleEditBanner(row)">编辑</el-button>
+          <el-button type="primary" style="margin: 5px;" size="mini" plain  @click="handleDelBanner(row)">删除</el-button>
+      </template>
+    </el-table-column>
+  </el-table>
+</div>
+<div class="pagination">
+  <el-pagination
+          background
+          :small="false"
+          @current-change="handleBannerChange"
+          :current-page="bannerQuery.pageNum"
+          :page-size="bannerQuery.pageSize"
+          :layout="layout"
+          :total="bannerTotal"
+  >
+  </el-pagination>
+</div>
+<div class="bgFrom" :class="dialogVisible?'show':''" v-if="dialogVisible">
+  <div class="modalForm">
+    <div class="modal-header">
+      <span class="shou-address add-main-image" v-text="formTitle"></span>
+      <span class="icon mIcon close" @click="handleCloseBanner"></span>
+    </div>
+    <div class="modal-content">
+      <div class="modal-div">
+        <span>标题 :</span> <input type="text" name="title" v-model="bannerForm.title" class="modal-input-common keyword_filter">
+      </div>
+      <div class="modal-div">
+        <span> 链接 :</span>
+        <input type="text" v-model="bannerForm.link" placeholder="例如:http://www.caimei365.com"class="modal-input-common keyword_filter" name="link">
+      </div>
+      <div class="modal-div">
+        <span> 说明 :</span> <input type="text" v-model="bannerForm.info" class="modal-input-common keyword_filter" name="info">
+      </div>
+      <div class="upload-img">
+        <span class="red up">*</span><span class="up">图片:</span>
+        <div class="upimg">
+          <img class="center" :src="bannerForm.image" v-if="logoShow">
+          <i class="icon mIcon add" v-if="iconflag"></i>
+          <input type="file" ref="images" class="add-pic"  id="uploadfile" accept="image/*" @change="uploadlogo"/>
+        </div>
+        <div >
+          <p class="Note">注:仅支持<span class="colorstyle">jpg、gif、jpeg、png、emp</span>,文件小于<span class="colorstyle">5M</span></p>
+          <div class="saveBtn" @click="submit" >保存</div>
+        </div>
+      </div>
+    </div>
+  </div>
+</div>

+ 65 - 0
src/main/resources/templates/supplier-center/components/disguise-category.html

@@ -0,0 +1,65 @@
+<div class="category-main">
+  <div class="head-top clear">
+    <div class="form-row low">
+      <span v-if="isPC">类别名称:</span>
+      <el-input
+              v-model="categoryQuery.name"
+              class="state"
+              placeholder="请输入类别名称"
+              clearable
+              @keyup.enter.native="getCategoryList"
+              @clear="getCategoryList"
+      ></el-input>
+    </div>
+    <div id="newBtn">
+      <el-button type="primary" @click="getCategoryList">查询</el-button>
+      <el-button type="primary" @click="getCategoryList">一键排序</el-button>
+      <a href="/supplier/category-edit.html">
+        <el-button type="primary">
+          添加类别
+        </el-button>
+      </a>
+    </div>
+  </div>
+  <el-table
+          :data="categoryList"
+          v-loading="listLoading"
+          element-loading-text="Loading"
+          border
+          fit
+          height="500px"
+          highlight-current-row
+          :header-cell-style="{background:'#E1E1E1',color:'#606266'}"
+  >
+    <el-table-column label="类别名称" align="center" prop="name"></el-table-column>
+    <el-table-column label="商品数量" align="center" prop="number"></el-table-column>
+    <el-table-column label="排序" width="80" align="center">
+      <template slot-scope="{ row }">
+        <el-input v-model="row.sort" maxlength="4" minlength="1" @blur="handleCategorySort(row)"></el-input>
+      </template>
+    </el-table-column>
+    <el-table-column label="创建时间" align="center" prop="time" width="100">
+      <template slot-scope="{row}">
+        <span>{{  row.time }}</span>
+      </template>
+    </el-table-column>
+    <el-table-column label="操作" align="center">
+      <template slot-scope="{row}">
+          <el-button type="primary" style="margin: 5px;" size="mini" plain  @click="handleEditCategory">编辑</el-button>
+          <el-button type="primary" style="margin: 5px;" size="mini" plain  @click="handleDelCategory">删除</el-button>
+      </template>
+    </el-table-column>
+  </el-table>
+</div>
+<div class="pagination">
+  <el-pagination
+          background
+          :small="false"
+          @current-change="handleCategoryChange"
+          :current-page="categoryQuery.pageNum"
+          :page-size="categoryQuery.pageSize"
+          :layout="layout"
+          :total="total"
+  >
+  </el-pagination>
+</div>

+ 58 - 0
src/main/resources/templates/supplier-center/components/disguise-dialog.html

@@ -0,0 +1,58 @@
+<el-dialog
+        title="添加商品"
+        :visible.sync="dialogVisible"
+        width="900px"
+        :close-on-click-modal="false"
+        :show-close="false"
+>
+  <div class="filter-container">
+    <div class="filter-control">
+      <span>商品名称:</span>
+      <el-input
+              v-model="listQuery.shopName"
+              placeholder="商品名称"
+              clearable
+              style="width: 160px"
+              @keyup.enter.native="getList"
+              @clear="getList"></el-input>
+    </div>
+    <div class="filter-control">
+      <el-button type="primary" @click="getList"> 查询 </el-button>
+    </div>
+  </div>
+  <el-table
+          ref="table"
+          v-loading="isLoading"
+          :data="list"
+          height="400px"
+          border
+          @selection-change="handleSelectionChange"
+  >
+    <el-table-column type="selection" width="55" :selectable="selectable"></el-table-column>
+    <el-table-column label="供应商名称" prop="name" align="center"></el-table-column>
+    <el-table-column label="联系人" prop="linkMan" align="center"></el-table-column>
+    <el-table-column label="手机号" prop="contractMobile" align="center">
+      <template slot-scope="{ row }">
+        {{ row.contractMobile ? row.contractMobile : '---' }}
+      </template>
+    </el-table-column>
+    <el-table-column label="供应商状态" prop="status" align="center">
+      <template slot-scope="{ row }">
+        <el-tag v-if="row.status === 90" type="success" size="small">已上线</el-tag>
+      </template>
+    </el-table-column>
+  </el-table>
+  <!-- 页码 -->
+  <pagination
+          :total="total"
+          :page-sizes="[100, 200]"
+          :page-size="100"
+          :page.sync="listQuery.pageNum"
+          :limit.sync="listQuery.pageSize"
+          @pagination="getShopList"
+  ></pagination>
+  <div slot="footer">
+    <el-button @click="handleCanle"> 取 消 </el-button>
+    <el-button type="primary" :disabled="disabled" @click="handleConfirm"> 确 定 </el-button>
+  </div>
+</el-dialog>

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

@@ -14,7 +14,7 @@
         <span class="tab">我的店铺</span>
         <div class="con" style="display:none">
             <a :href="'/supplier-'+GLOBAL_SHOP_ID+'.html'">查看店铺</a>
-            <a href="/supplier/decoration.html">装扮主页</a>
+            <a href="/supplier/disguise.html">装扮主页</a>
             <a href="/supplier/release.html" v-if="isForbidTabs">发布商品</a>
             <a href="/supplier/goods.html">我的商品</a>
             <a href="/supplier/brand.html">品牌管理</a>

+ 86 - 0
src/main/resources/templates/supplier-center/shop/category-edit.html

@@ -0,0 +1,86 @@
+<!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/shop/category-edit.css(v=${version})}" rel="stylesheet" type="text/css">
+    <template th:replace="components/analysis"></template>
+</head>
+<body>
+<!-- 引用头部 -->
+<template th:replace="components/header"></template>
+
+<!-- 我的采美 -->
+<div id="decoration">
+    <div class="navLayout" v-cloak>
+        <div class="crumbs" v-if="isPC">
+            <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="disguise-content">
+                    <el-form ref="dataForm" :rules="rules" :model="disguiseForm" label-position="right" label-width="100px">
+                        <el-form-item label="类别名称:" prop="name" :rules="rules.name">
+                            <el-input v-model="disguiseForm.name" placeholder="请输入类别名称"></el-input>
+                        </el-form-item>
+                        <el-form-item label="类别排序:" prop="sort" :rules="rules.sort">
+                            <el-input v-model="disguiseForm.sort" placeholder="请输入类别排序"></el-input>
+                        </el-form-item>
+                        <el-form-item label="商品信息:" prop="products" :rules="rules.products">
+                            <template v-if="disguiseForm.products && disguiseForm.products.length === 0">
+                                <el-button type="primary" autofocussize="mini" size="mini" icon="el-icon-plus" @click="dialogVisible = true">添加商品</el-button>
+                                <el-checkbox-group v-show="false" v-model="disguiseForm.products"></el-checkbox-group>
+                            </template>
+                            <template v-else>
+                                <el-table :data="disguiseForm.products" border width="1000" height="500">
+                                    <el-table-column property="mainImage" label="商品图片" align="center" width="80">
+                                        <template slot-scope="{ row }">
+                                            <el-popover
+                                                    placement="top-start"
+                                                    title=""
+                                                    width="180"
+                                                    trigger="hover"
+                                            >
+                                                <img :src="row.mainImage" alt="" style="width:150px;height:150px;">
+                                                <img slot="reference" :src="row.mainImage" alt="" style="width:30px;height:30px;">
+                                            </el-popover>
+                                        </template>
+                                    </el-table-column>
+                                    <el-table-column prop="productName" label="商品名称" align="center" width="300"></el-table-column>
+                                    <el-table-column label="操作" align="center">
+                                        <template slot-scope="scope">
+                                            <el-button type="text" @click="handleDeletePros(scope.$index)">删除</el-button>
+                                        </template>
+                                    </el-table-column>
+                                </el-table>
+                            </template>
+                        </el-form-item>
+                        <el-form-item style="margin-bottom: 10px;">
+                            <el-button type="primary" style="margin: 5px;" plain  @click="">返回</el-button>
+                            <el-button type="primary" style="margin: 5px;" @click="">确定</el-button>
+                        </el-form-item>
+                    </el-form>
+                </div>
+                <template>
+                    <template th:replace="supplier-center/components/disguise-dialog"></template>
+                </template>
+            </div>
+        </div>
+    </div>
+</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/supplier.service.js(v=${version})}"></script>
+<script charset="utf-8" type="text/javascript" th:src="@{/js/supplier-center/shop/mixins/categoryMixins.js(v=${version})}"></script>
+<script charset="utf-8" type="text/javascript" th:src="@{/js/supplier-center/shop/category-edit.js(v=${version})}"></script>
+</body>
+</html>

+ 0 - 1
src/main/resources/templates/supplier-center/shop/decoration.html

@@ -83,7 +83,6 @@
                   </div>
              </template>
             </div>
-
         </div>
            <div class="bgFrom" :class="bgflag?'show':''" v-if="bgflag">
                 <div class="modalForm">

+ 54 - 0
src/main/resources/templates/supplier-center/shop/disguise.html

@@ -0,0 +1,54 @@
+<!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/shop/disguise.css(v=${version})}" rel="stylesheet" type="text/css">
+    <template th:replace="components/analysis"></template>
+</head>
+<body>
+<!-- 引用头部 -->
+<template th:replace="components/header"></template>
+
+<!-- 我的采美 -->
+<div id="decoration">
+    <div class="navLayout" v-cloak>
+        <div class="crumbs" v-if="isPC">
+            <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="disguise-content">
+                    <!-- 顶部操作区域 -->
+                    <el-tabs v-model="activeName" type="border-card" @tab-click="handleClick">
+                        <el-tab-pane label="主页类别配置" name="first"></el-tab-pane>
+                        <el-tab-pane label="banner广告图" name="second"></el-tab-pane>
+                        <!-- 列表 -->
+                        <template v-if="activeName === 'first'">
+                            <template th:replace="supplier-center/components/disguise-category"></template>
+                        </template>
+                        <template v-if="activeName === 'second'">
+                            <template th:replace="supplier-center/components/disguise-banner"></template>
+                        </template>
+                    </el-tabs>
+                </div>
+            </div>
+        </div>
+    </div>
+</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/supplier.service.js(v=${version})}"></script>
+<script charset="utf-8" type="text/javascript" th:src="@{/js/supplier-center/shop/mixins/disguiseMixins.js(v=${version})}"></script>
+<script charset="utf-8" type="text/javascript" th:src="@{/js/supplier-center/shop/disguise.js(v=${version})}"></script>
+</body>
+</html>

+ 0 - 1
src/main/resources/templates/supplier-center/shop/goods.html

@@ -293,7 +293,6 @@
                             </el-col>
                         </el-row>
                     </template>
-
                     <div slot="footer" class="dialog-footer">
                         <el-button @click="dialogFormVisible = false">取消</el-button>
                         <el-button type="primary" @click="handleConfirmShelf">确定</el-button>

+ 1 - 1
src/main/resources/templates/supplier/index.html

@@ -47,7 +47,7 @@
 
     <div class="supplierInfo">
         <div class="tabTit">
-            <span class="on">品展示</span>
+            <span class="on">品展示</span>
             <span>公司介绍</span>
             <a v-if="!isPC" class="showSearch" href="javascript:void(0);">商铺内搜索</a>
         </div>