Browse Source

商品类型页面优化和修复bug

zhh 3 năm trước cách đây
mục cha
commit
7b4a7e30bb

+ 3 - 2
kmall-admin/src/main/java/com/kmall/admin/controller/CategoryController.java

@@ -63,13 +63,13 @@ public class CategoryController {
 
         List<CategoryEntity> categoryList = categoryService.queryList(query);
 
-        // 获取id
+        // 获取当前一级节点的id
         List<Integer> parentIdList = new ArrayList<>();
          for (CategoryEntity c : categoryList) {
              parentIdList.add(c.getId());
         }
 
-        // 获取对应的所有子节点
+        // 查询所有一级节点的子节点
         List<CategoryEntity> categoryChildList = categoryService.queryListByParentId(parentIdList);
         categoryList.addAll(categoryChildList);
 
@@ -148,6 +148,7 @@ public class CategoryController {
     /**
      * 查看所有列表
      */
+    @Deprecated
     @RequestMapping("/queryAll")
     public R queryAll(@RequestParam Map<String, Object> params) {
 

+ 1 - 0
kmall-admin/src/main/java/com/kmall/admin/dao/CategoryDao.java

@@ -44,6 +44,7 @@ public interface CategoryDao extends BaseDao<CategoryEntity> {
     /**
      * 根据名称和级别查询是否存在对象
      *
+     * @author zhuhh
      * @param name
      * @param level
      * @return

+ 10 - 8
kmall-admin/src/main/java/com/kmall/admin/service/impl/CategoryServiceImpl.java

@@ -58,7 +58,7 @@ public class CategoryServiceImpl implements CategoryService {
 
     @Override
     public int save(CategoryEntity category) {
-        if (Dict.Level.item_L1.getItem().equals(category.getLevel())) {
+        if (Dict.Level.item_L1.getItem().equalsIgnoreCase(category.getLevel())) {
             category.setParentId(0);
         } else {
             if (category.getParentId() == null) {
@@ -66,7 +66,7 @@ public class CategoryServiceImpl implements CategoryService {
             }
         }
 
-        Map<String, Object> valideDate = MapBeanUtil.fromObject(category);
+        // Map<String, Object> valideDate = MapBeanUtil.fromObject(category);
 //        ImmutableBiMap.Builder builder = new ImmutableBiMap.Builder();
 //        builder.put("merchSn", "商户");
 //        if("2".equals(category.getShare())){
@@ -76,9 +76,6 @@ public class CategoryServiceImpl implements CategoryService {
 //        if (Integer.valueOf(r.get("code").toString()) != 0) {
 //            throw new RRException(r.get("msg").toString());
 //        }
-        if(category.getLevel().equalsIgnoreCase("L1")){
-            category.setParentId(0);
-        }
 
         return categoryDao.save(category);
     }
@@ -94,8 +91,15 @@ public class CategoryServiceImpl implements CategoryService {
 //        if (Integer.valueOf(r.get("code").toString()) != 0) {
 //            throw new RRException(r.get("msg").toString());
 //        }
-        if(category.getLevel().equalsIgnoreCase("L1")){
+        if (category.getLevel().equalsIgnoreCase(Dict.Level.item_L1.getItem())){
             category.setParentId(0);
+        } else {
+            List<Integer> parentId = new ArrayList<>();
+            parentId.add(category.getId());
+            List<CategoryEntity> list = categoryDao.queryListByParentId(parentId);
+            if (list != null && list.size() > 0) {
+                throw new RRException("该L1分类存在子分类,不允许变更分类级别!");
+            }
         }
 
         return categoryDao.update(category);
@@ -327,8 +331,6 @@ public class CategoryServiceImpl implements CategoryService {
             String level = categoryDto.getLevel();
             // 父节点
             String parentName = categoryDto.getParentName();
-            // 类型
-            Integer type = categoryDto.getType();
 
             // 校验
             if (!ValidateUtils.validateSpecialAllowChinese(name)) {

+ 0 - 1
kmall-admin/src/main/resources/XmlTemplate/CategoryDtoList.xml

@@ -12,7 +12,6 @@
                 <mapping row="1" col="4">categoryDto.isShow</mapping>
                 <mapping row="1" col="5">categoryDto.level</mapping>
                 <mapping row="1" col="6">categoryDto.parentName</mapping>
-                <mapping row="1" col="7">categoryDto.type</mapping>
             </section>
             <loopbreakcondition>
                 <rowcheck offset="0">

+ 55 - 55
kmall-admin/src/main/webapp/WEB-INF/page/shop/category.html

@@ -98,12 +98,12 @@
                 </i-select>
             </Form-item>
             <Form-item label="排序" prop="sortOrder">
-                <Input-number :min="0" :step="1" v-model="category.sortOrder" placeholder="排序" style="width: 188px;"/>
-            </Form-item>
-            <Form-item label="首页展示排序" prop="showIndex">
-                <Input-number :min="0" :step="1" v-model="category.showIndex" placeholder="首页展示排序"
-                              style="width: 188px;"/>
+                <Input-Number :min="0" :max="999" :step="1" v-model="category.sortOrder" placeholder="排序" style="width: 188px;"/>
             </Form-item>
+<!--            <Form-item label="首页展示排序" prop="showIndex">-->
+<!--                <Input-number :min="0" :step="1" v-model="category.showIndex" placeholder="首页展示排序"-->
+<!--                              style="width: 188px;"/>-->
+<!--            </Form-item>-->
             <Form-item label="显示" prop="isShow">
                 <Radio-group v-model="category.isShow">
                     <Radio label="1">
@@ -142,29 +142,29 @@
                     <!--<span style="margin-left: 100px;color: red;font-size: 12px;">* 尺寸建议320*105像素以内,大小2M以下</span>-->
                 <!--</i-col>-->
             <!--</Row>-->
-            <Row>
-                <i-col span="16">
-                    <Form-item label="首页icon" prop="iconUrl">
-                        <i-input v-model="category.iconUrl" placeholder="尺寸建议90*90像素以内,大小100K以下" readonly/>
-                    </Form-item>
-                </i-col>
-                <i-col span="4">
-                    <Form-item :label-width="1">
-                        <Upload style="width: 300px;" action="../sys/oss/upload" :format="['jpg','jpeg','png']"
-                                max-size="100"
-                                :on-success="handleSuccessIconUrl" :on-format-error="handleFormatError"
-                                :show-upload-list="false"
-                                :on-exceeded-size="handleMaxSize">
-                            <i-button icon="ios-cloud-upload-outline">上传图片</i-button>
-                        </Upload>
-                    </Form-item>
-                </i-col>
-                <i-col span="4">
-                    <Form-item :label-width="1">
-                        <i-button icon="eye" @click="eyeImageIconUrl">预览图片</i-button>
-                    </Form-item>
-                </i-col>
-            </Row>
+<!--            <Row>-->
+<!--                <i-col span="16">-->
+<!--                    <Form-item label="首页icon" prop="iconUrl">-->
+<!--                        <i-input v-model="category.iconUrl" placeholder="尺寸建议90*90像素以内,大小100K以下" readonly/>-->
+<!--                    </Form-item>-->
+<!--                </i-col>-->
+<!--                <i-col span="4">-->
+<!--                    <Form-item :label-width="1">-->
+<!--                        <Upload style="width: 300px;" action="../sys/oss/upload" :format="['jpg','jpeg','png']"-->
+<!--                                max-size="100"-->
+<!--                                :on-success="handleSuccessIconUrl" :on-format-error="handleFormatError"-->
+<!--                                :show-upload-list="false"-->
+<!--                                :on-exceeded-size="handleMaxSize">-->
+<!--                            <i-button icon="ios-cloud-upload-outline">上传图片</i-button>-->
+<!--                        </Upload>-->
+<!--                    </Form-item>-->
+<!--                </i-col>-->
+<!--                <i-col span="4">-->
+<!--                    <Form-item :label-width="1">-->
+<!--                        <i-button icon="eye" @click="eyeImageIconUrl">预览图片</i-button>-->
+<!--                    </Form-item>-->
+<!--                </i-col>-->
+<!--            </Row>-->
             <!--<Row>
                 <i-col span="16" style="margin-top: -30px;">
                     <span style="margin-left: 100px;color: red;font-size: 12px;">* 尺寸建议90*90像素以内,大小100K以下</span>
@@ -198,31 +198,31 @@
                     <!--<span style="margin-left: 100px;color: red;font-size: 12px;">* 尺寸建议320*105像素以内,大小2M以下</span>-->
                 <!--</i-col>-->
             <!--</Row>-->
-            <Row>
-                <i-col span="16">
-                    <Form-item label="分类banner" prop="wapBannerUrl">
-                        <i-input v-model="category.wapBannerUrl" placeholder="一级分类图片尺寸建议720*246像素以内,二级分类图片尺寸建议250*250像素以内,大小100K以下" readonly/>
-                    </Form-item>
-                </i-col>
-                <i-col span="4">
-                    <Form-item :label-width="1">
-                        <Upload style="width: 300px;" action="../sys/oss/upload" :format="['jpg','jpeg','png']"
-                                max-size="100"
-                                :on-success="handleSuccessWapBannerUrl" :on-format-error="handleFormatError"
-                                :show-upload-list="false"
-                                :on-exceeded-size="handleMaxSize"
+<!--            <Row>-->
+<!--                <i-col span="16">-->
+<!--                    <Form-item label="分类banner" prop="wapBannerUrl">-->
+<!--                        <i-input v-model="category.wapBannerUrl" placeholder="一级分类图片尺寸建议720*246像素以内,二级分类图片尺寸建议250*250像素以内,大小100K以下" readonly/>-->
+<!--                    </Form-item>-->
+<!--                </i-col>-->
+<!--                <i-col span="4">-->
+<!--                    <Form-item :label-width="1">-->
+<!--                        <Upload style="width: 300px;" action="../sys/oss/upload" :format="['jpg','jpeg','png']"-->
+<!--                                max-size="100"-->
+<!--                                :on-success="handleSuccessWapBannerUrl" :on-format-error="handleFormatError"-->
+<!--                                :show-upload-list="false"-->
+<!--                                :on-exceeded-size="handleMaxSize"-->
 
-                        >
-                            <i-button icon="ios-cloud-upload-outline">上传图片</i-button>
-                        </Upload>
-                    </Form-item>
-                </i-col>
-                <i-col span="4">
-                    <Form-item :label-width="1">
-                        <i-button icon="eye" @click="eyeImageWapBannerUrl">预览图片</i-button>
-                    </Form-item>
-                </i-col>
-            </Row>
+<!--                        >-->
+<!--                            <i-button icon="ios-cloud-upload-outline">上传图片</i-button>-->
+<!--                        </Upload>-->
+<!--                    </Form-item>-->
+<!--                </i-col>-->
+<!--                <i-col span="4">-->
+<!--                    <Form-item :label-width="1">-->
+<!--                        <i-button icon="eye" @click="eyeImageWapBannerUrl">预览图片</i-button>-->
+<!--                    </Form-item>-->
+<!--                </i-col>-->
+<!--            </Row>-->
             <!--<Row>
                 <i-col span="16" style="margin-top: -30px;">
                     <span style="margin-left: 100px;color: red;font-size: 12px;">* 一级分类图片尺寸建议720*246像素以内,二级分类图片尺寸建议250*250像素以内,大小100K以下</span>
@@ -238,9 +238,9 @@
             <!--</Radio>-->
             <!--</Radio-group>-->
             <!--</Form-item>-->
-            <Form-item label="frontName" prop="frontName">
-                <i-input type="textarea" v-model="category.frontName" placeholder="frontName"/>
-            </Form-item>
+<!--            <Form-item label="frontName" prop="frontName">-->
+<!--                <i-input type="textarea" v-model="category.frontName" placeholder="frontName"/>-->
+<!--            </Form-item>-->
             <Form-item>
                 <i-button type="primary" @click="handleSubmit('formValidate')">提交</i-button>
                 <i-button type="warning" @click="reload" style="margin-left: 8px"/>

+ 16 - 9
kmall-admin/src/main/webapp/js/shop/category.js

@@ -51,7 +51,7 @@ TreeGrid.initColumn = function () {
         // {title: '所属商户', field: 'merchName',  width: '100px', align: 'center'},
         // {title: '所属门店', field: 'storeName', width: '80px', align: 'center'},
         {title: '描述', field: 'frontDesc', align: 'center', valign: 'middle', width: '150px'},
-        {title: '首页排序', field: 'sortOrder', align: 'center', valign: 'middle', width: '50px'},
+        {title: '排序', field: 'sortOrder', align: 'center', valign: 'middle', width: '50px'},
         {
             title: '显示',
             field: 'isShow',
@@ -84,23 +84,28 @@ var vm = new Vue({
         category: {isShow: 1, type: 0, level: 'L1', bannerUrl: '', iconUrl: '', imgUrl: '', wapBannerUrl: ''},
         ruleValidate: {
             name: [
-                {required: true, message: '分类名称不能为空', trigger: 'blur'}
+                {required: true, message: '分类名称不能为空', trigger: 'blur'},
+                {max: 32, message: '分类名称长度不能超过32', trigger: 'blur'}
+            ],
+            keywords: [
+                {max: 20, message: '关键字长度不能超过20', trigger: 'blur'}
             ],
             frontDesc: [
-                {required: true, message: '描述不能为空', trigger: 'blur'}
+                {required: true, message: '描述不能为空', trigger: 'blur'},
+                {max: 128, message: '描述长度不能超过128', trigger: 'blur'}
             ],
             // bannerUrl: [
             //     {required: true, message: 'banner图片不能为空', trigger: 'blur'}
             // ],
-            iconUrl: [
-                {required: true, message: '首页icon不能为空', trigger: 'blur'}
-            ],
+            // iconUrl: [
+            //     {required: true, message: '首页icon不能为空', trigger: 'blur'}
+            // ],
             // imgUrl: [
             //     {required: true, message: '图片不能为空', trigger: 'blur'}
             // ],
-            wapBannerUrl: [
-                {required: true, message: '分类banner不能为空', trigger: 'blur'}
-            ]
+            // wapBannerUrl: [
+            //     {required: true, message: '分类banner不能为空', trigger: 'blur'}
+            // ]
             // frontName: [
             //     {required: true, message: 'frontName不能为空', trigger: 'blur'}
             // ]
@@ -326,6 +331,8 @@ var vm = new Vue({
             // TreeGrid.table.refresh();
             initialPage();
             getGrid();
+            // 清除验证信息
+            vm.handleReset('formValidate');
         },
         handleSubmit: function (name) {
             handleSubmitValidate(this, name, function () {

+ 1 - 2
kmall-admin/src/main/webapp/login.html

@@ -24,7 +24,7 @@
     <!--<div class="row" style="background: rgba(109, 109, 109, 0.23);border: 0px solid #dddee1;padding:72px 2px">-->
     <div class="row" style="background: rgba(109, 109, 109, 0.45);border-radius: 20px;border: 0px solid #6d6d6d;padding:13px 22px 35px 22px;">
         <div class="row" style="border: 0px solid #6d6d6d">
-            <p style="font-size: 45px;font-family: 微软雅黑;color: #ffffff;text-shadow: 5px 5px 5px #000;margin-bottom: 10px" align="center"><b>跨 境 电 商 &nbsp;&nbsp;新零售</b></p>
+            <p style="font-size: 45px;font-family: 微软雅黑;color: #ffffff;text-shadow: 5px 5px 5px #000;margin-bottom: 10px" align="center"><b>珠 免 展 销 店</b></p>
             <hr/>
         </div>
         <!--<div class="col-md-7">
@@ -53,7 +53,6 @@
         </div>-->
         <div class="col-md-7" >
             <p style="font-size: 35px;font-family: 微软雅黑;color: #3bc8ff;text-shadow: 2px 2px 5px #000;padding-right: 10px;margin: 45px 0 0;" align="center">
-                <span >CW大药房</span>
                 <br/>
                 <span style="font-size: 45px">管 理 后 台</span>
                 <br/>

BIN
kmall-admin/src/main/webapp/statics/file/category_yyyy_mm_dd_v1.0.0.xls


+ 5 - 6
kmall-admin/src/main/webapp/userLogin.html

@@ -25,12 +25,11 @@
 <div class="loginscreen animated fadeInDown signinpanel" id="loginBox" v-cloak>
     <div class="row" style="background: rgba(109, 109, 109, 0.45);border-radius: 20px;border: 0px solid #6d6d6d;padding:13px 22px 35px 22px;">
         <div class="row" style="border: 0px solid #6d6d6d">
-            <p style="font-size: 45px;font-family: 微软雅黑;color: #ffffff;text-shadow: 5px 5px 5px #000;margin-bottom: 10px" align="center"><b>跨 境 电 商 &nbsp;&nbsp;新零售</b></p>
+            <p style="font-size: 45px;font-family: 微软雅黑;color: #ffffff;text-shadow: 5px 5px 5px #000;margin-bottom: 10px" align="center"><b>珠 免 线 下 店</b></p>
             <hr/>
         </div>
         <div class="col-md-7" >
             <p style="font-size: 35px;font-family: 微软雅黑;color: #3bc8ff;text-shadow: 2px 2px 5px #000;padding-right: 10px;margin: 45px 0 0;" align="center">
-                <span >CW大药房</span>
                 <br/>
                 <span style="font-size: 45px">收 银 系 统</span>
                 <br/>
@@ -133,10 +132,10 @@
                 // var data = "username=" + vm.username + "&password=" + vm.password + "&captcha=" + vm.captcha + "&machineCode=0z4kBPFEve0=&loginType=2"; //TODO  新增加一个机器码;
                 sessionStorage.removeItem("permsSet");
                 var code = sessionStorage.getItem("machineCode");
-                if(!code){
-                    alert("正在获取机器码,请稍后登录,大约5s");
-                    return;
-                }
+                // if(!code){
+                //     alert("正在获取机器码,请稍后登录,大约5s");
+                //     return;
+                // }
                 $.ajax({
                     type: "POST",
                     url: "sys/login",