drew 5 éve
szülő
commit
8194bc1f05

+ 7 - 0
src/main/java/com/izouma/awesomeAdmin/service/DistrictService.java

@@ -1,11 +1,14 @@
 package com.izouma.awesomeAdmin.service;
 
 import com.izouma.awesomeAdmin.domain.District;
+import com.izouma.awesomeAdmin.dto.PageQuery;
 import com.izouma.awesomeAdmin.repo.DistrictRepo;
+import com.izouma.awesomeAdmin.utils.JpaUtils;
 import com.izouma.awesomeAdmin.utils.qqmap.DistrictResponse;
 import com.izouma.awesomeAdmin.utils.qqmap.QQMapUtil;
 import lombok.AllArgsConstructor;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.data.domain.Page;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -16,6 +19,10 @@ public class DistrictService {
 
     private DistrictRepo districtRepo;
 
+    public Page<District> all(PageQuery pageQuery) {
+        return districtRepo.findAll(JpaUtils.toSpecification(pageQuery, District.class), JpaUtils.toPageRequest(pageQuery));
+    }
+
     public void sync() {
         List<List<DistrictResponse.District>> res = QQMapUtil.queryDistrict().getResult();
         for (int i = 0; i < 3; i++) {

+ 7 - 0
src/main/java/com/izouma/awesomeAdmin/service/SysConfigService.java

@@ -1,9 +1,12 @@
 package com.izouma.awesomeAdmin.service;
 
 import com.izouma.awesomeAdmin.domain.SysConfig;
+import com.izouma.awesomeAdmin.dto.PageQuery;
 import com.izouma.awesomeAdmin.exception.BusinessException;
 import com.izouma.awesomeAdmin.repo.SysConfigRepo;
+import com.izouma.awesomeAdmin.utils.JpaUtils;
 import lombok.AllArgsConstructor;
+import org.springframework.data.domain.Page;
 import org.springframework.stereotype.Service;
 import springfox.documentation.annotations.Cacheable;
 
@@ -16,6 +19,10 @@ import java.time.format.DateTimeFormatter;
 public class SysConfigService {
     private SysConfigRepo sysConfigRepo;
 
+    public Page<SysConfig> all(PageQuery pageQuery) {
+        return sysConfigRepo.findAll(JpaUtils.toSpecification(pageQuery, SysConfig.class), JpaUtils.toPageRequest(pageQuery));
+    }
+
     @Cacheable("SysConfigServiceGetBigDecimal")
     public BigDecimal getBigDecimal(String name) {
         return sysConfigRepo.findByName(name).map(sysConfig -> new BigDecimal(sysConfig.getValue()))

+ 7 - 0
src/main/java/com/izouma/awesomeAdmin/service/UserService.java

@@ -5,6 +5,7 @@ import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
 import cn.binarywang.wx.miniapp.bean.WxMaUserInfo;
 import com.izouma.awesomeAdmin.config.Constants;
 import com.izouma.awesomeAdmin.domain.User;
+import com.izouma.awesomeAdmin.dto.PageQuery;
 import com.izouma.awesomeAdmin.exception.BusinessException;
 import com.izouma.awesomeAdmin.repo.UserRepo;
 import com.izouma.awesomeAdmin.security.Authority;
@@ -12,6 +13,7 @@ import com.izouma.awesomeAdmin.security.JwtTokenUtil;
 import com.izouma.awesomeAdmin.security.JwtUserFactory;
 import com.izouma.awesomeAdmin.service.sms.SmsService;
 import com.izouma.awesomeAdmin.service.storage.StorageService;
+import com.izouma.awesomeAdmin.utils.JpaUtils;
 import lombok.AllArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import me.chanjar.weixin.common.error.WxErrorException;
@@ -19,6 +21,7 @@ import me.chanjar.weixin.mp.api.WxMpService;
 import me.chanjar.weixin.mp.bean.result.WxMpOAuth2AccessToken;
 import me.chanjar.weixin.mp.bean.result.WxMpUser;
 import org.apache.commons.lang3.RandomStringUtils;
+import org.springframework.data.domain.Page;
 import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 import org.springframework.stereotype.Service;
 
@@ -36,6 +39,10 @@ public class UserService {
     private StorageService storageService;
     private JwtTokenUtil   jwtTokenUtil;
 
+    public Page<User> all(PageQuery pageQuery) {
+        return userRepo.findAll(JpaUtils.toSpecification(pageQuery, User.class), JpaUtils.toPageRequest(pageQuery));
+    }
+
     public User loginByPhone(String phone) {
         return userRepo.findByPhone(phone);
     }

+ 177 - 0
src/main/java/com/izouma/awesomeAdmin/utils/JpaUtils.java

@@ -0,0 +1,177 @@
+package com.izouma.awesomeAdmin.utils;
+
+import com.izouma.awesomeAdmin.annotations.Searchable;
+import com.izouma.awesomeAdmin.dto.PageQuery;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.jpa.domain.Specification;
+
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
+import java.lang.reflect.Field;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.regex.Pattern;
+
+@Slf4j
+@SuppressWarnings("ALL")
+public class JpaUtils {
+    public static PageRequest toPageRequest(PageQuery pageQuery) {
+        PageRequest pageRequest;
+        if (StringUtils.isNotEmpty(pageQuery.getSort())) {
+            List<Sort.Order> orders = new ArrayList<>();
+            for (String sortStr : pageQuery.getSort().split(";")) {
+                String direction = "asc";
+                String prop = sortStr;
+                if (sortStr.contains(",asc") || sortStr.contains(",desc")) {
+                    prop = sortStr.split(",")[0];
+                    direction = sortStr.split(",")[1];
+                }
+                orders.add("asc".equals(direction) ? Sort.Order.asc(prop) : Sort.Order.desc(prop));
+            }
+            pageRequest = PageRequest.of(pageQuery.getPage(), pageQuery.getSize(), Sort.by(orders));
+        } else {
+            pageRequest = PageRequest.of(pageQuery.getPage(), pageQuery.getSize());
+        }
+        return pageRequest;
+    }
+
+    public static <T> Specification<T> toSpecification(PageQuery pageQuery, Class<?> queryClass) {
+        return (Specification<T>) (root, criteriaQuery, criteriaBuilder) -> {
+            List<Predicate> and = toPredicates(pageQuery, queryClass, root, criteriaQuery, criteriaBuilder);
+            return criteriaBuilder.and(and.toArray(new Predicate[0]));
+        };
+    }
+
+    public static <T> List<Predicate> toPredicates(PageQuery pageQuery, Class<?> queryClass, Root<T> root,
+                                                   CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) {
+        List<Predicate> and = new ArrayList<>();
+        pageQuery.getQuery().forEach((property, value) -> {
+            if (value == null) {
+                return;
+            }
+            if (String.class.equals(value.getClass())) {
+                if (StringUtils.isEmpty((String) value)) {
+                    return;
+                }
+            }
+            Field field = getDeclaredField(queryClass, property);
+            if (field == null) return;
+
+            Class fieldType = field.getType();
+            if (Enum.class.isAssignableFrom(fieldType)) {
+                if (value instanceof Collection) {
+                    if (!((Collection) value).isEmpty()) {
+                        List list = new ArrayList();
+                        for (Object o : ((Collection) value)) {
+                            list.add(Enum.valueOf(fieldType, String.valueOf(o)));
+                        }
+                        and.add(root.get(property).in(list));
+                    }
+                } else if (value instanceof String && StringUtils.isNotEmpty((String) value)) {
+                    if (((String) value).contains(",")) {
+                        String[] arr = ((String) value).split(",");
+                        List list = new ArrayList();
+                        for (String s : arr) {
+                            list.add(Enum.valueOf(fieldType, s));
+                        }
+                        and.add(root.get(property).in(list));
+                    } else {
+                        and.add(criteriaBuilder.and(criteriaBuilder
+                                .equal(root.get(property), Enum.valueOf(fieldType, String.valueOf(value)))));
+                    }
+                }
+            } else if (LocalDateTime.class == fieldType) {
+                if (value instanceof List) {
+                    List list = (List) value;
+                    if (list.size() == 1) {
+                        LocalDateTime start = DateTimeUtils
+                                .toLocalDateTime((String) list.get(0), "yyyy-MM-dd HH:mm:ss");
+                        and.add(criteriaBuilder.greaterThanOrEqualTo(root.get(property), start));
+                    } else if (list.size() == 2) {
+                        LocalDateTime end = DateTimeUtils
+                                .toLocalDateTime((String) list.get(1), "yyyy-MM-dd HH:mm:ss");
+                        and.add(criteriaBuilder.lessThanOrEqualTo(root.get(property), end));
+                    }
+                } else if (value instanceof String && Pattern
+                        .matches("^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2},\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$", (String) value)) {
+                    String[] arr = ((String) value).split(",");
+                    LocalDateTime start = DateTimeUtils.toLocalDateTime(arr[0], "yyyy-MM-dd HH:mm:ss");
+                    and.add(criteriaBuilder.greaterThanOrEqualTo(root.get(property), start));
+                    LocalDateTime end = DateTimeUtils.toLocalDateTime(arr[1], "yyyy-MM-dd HH:mm:ss");
+                    and.add(criteriaBuilder.lessThanOrEqualTo(root.get(property), end));
+                } else {
+                    and.add(criteriaBuilder.and(criteriaBuilder.equal(root.get(property), DateTimeUtils
+                            .toLocalDateTime((String) value, "yyyy-MM-dd HH:mm:ss"))));
+                }
+            } else if (LocalDate.class == fieldType) {
+                if (value instanceof List) {
+                    List list = (List) value;
+                    if (list.size() == 1) {
+                        LocalDate start = DateTimeUtils
+                                .toLocalDate((String) list.get(0), "yyyy-MM-dd");
+                        and.add(criteriaBuilder.greaterThanOrEqualTo(root.get(property), start));
+                    } else if (list.size() == 2) {
+                        LocalDate end = DateTimeUtils
+                                .toLocalDate((String) list.get(1), "yyyy-MM-dd");
+                        and.add(criteriaBuilder.lessThanOrEqualTo(root.get(property), end));
+                    }
+                } else if (value instanceof String && Pattern
+                        .matches("^\\d{4}-\\d{2}-\\d{2},\\d{4}-\\d{2}-\\d{2}$", (String) value)) {
+                    String[] arr = ((String) value).split(",");
+                    LocalDate start = DateTimeUtils.toLocalDate(arr[0], "yyyy-MM-dd");
+                    and.add(criteriaBuilder.greaterThanOrEqualTo(root.get(property), start));
+                    LocalDate end = DateTimeUtils.toLocalDate(arr[1], "yyyy-MM-dd");
+                    and.add(criteriaBuilder.lessThanOrEqualTo(root.get(property), end));
+                } else {
+                    and.add(criteriaBuilder.and(criteriaBuilder.equal(root.get(property), DateTimeUtils
+                            .toLocalDateTime((String) value, "yyyy-MM-dd"))));
+                }
+            } else {
+                and.add(criteriaBuilder.and(criteriaBuilder.equal(root.get(property), value)));
+            }
+        });
+        if (StringUtils.isNotEmpty(pageQuery.getSearch())) {
+            Field[] fields = queryClass.getDeclaredFields();
+            List<Predicate> or = new ArrayList<>();
+            try {
+                if (StringUtils.isNumeric(pageQuery.getSearch())) {
+                    or.add(criteriaBuilder.equal(root.get("id"), Long.parseLong(pageQuery.getSearch())));
+                }
+            } catch (Exception ignored) {
+            }
+            for (Field field : fields) {
+                Searchable annotation = field.getAnnotation(Searchable.class);
+                if (annotation == null) {
+                    continue;
+                }
+                if (!annotation.value()) {
+                    continue;
+                }
+                or.add(criteriaBuilder.like(root.get(field.getName()), "%" + pageQuery.getSearch() + "%"));
+            }
+            and.add(criteriaBuilder.or(or.toArray(new Predicate[0])));
+        }
+        return and;
+    }
+
+    private static Field getDeclaredField(Class<?> clazz, String property) {
+        String className = clazz.getName();
+        while (clazz != null && clazz != Object.class) {
+            try {
+                return clazz.getDeclaredField(property);
+            } catch (NoSuchFieldException ignored) {
+            }
+            clazz = clazz.getSuperclass();
+        }
+        log.error("no such field [{}] in class [{}]", property, className);
+        return null;
+    }
+}

+ 0 - 163
src/main/java/com/izouma/awesomeAdmin/web/BaseController.java

@@ -1,170 +1,7 @@
 package com.izouma.awesomeAdmin.web;
 
-import com.izouma.awesomeAdmin.annotations.Searchable;
-import com.izouma.awesomeAdmin.dto.PageQuery;
-import com.izouma.awesomeAdmin.utils.DateTimeUtils;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.data.domain.PageRequest;
-import org.springframework.data.domain.Sort;
-import org.springframework.data.jpa.domain.Specification;
 
-import javax.annotation.Nonnull;
-import javax.persistence.criteria.Predicate;
-import java.lang.reflect.Field;
-import java.time.LocalDate;
-import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import java.util.regex.Pattern;
-
-@SuppressWarnings("ALL")
 @Slf4j
 public class BaseController {
-    public PageRequest toPageRequest(PageQuery pageQuery) {
-        PageRequest pageRequest;
-        if (StringUtils.isNotEmpty(pageQuery.getSort())) {
-            List<Sort.Order> orders = new ArrayList<>();
-            for (String sortStr : pageQuery.getSort().split(";")) {
-                String direction = "asc";
-                String prop = sortStr;
-                if (sortStr.contains(",asc") || sortStr.contains(",desc")) {
-                    prop = sortStr.split(",")[0];
-                    direction = sortStr.split(",")[1];
-                }
-                orders.add("asc".equals(direction) ? Sort.Order.asc(prop) : Sort.Order.desc(prop));
-            }
-            pageRequest = PageRequest.of(pageQuery.getPage(), pageQuery.getSize(), Sort.by(orders));
-        } else {
-            pageRequest = PageRequest.of(pageQuery.getPage(), pageQuery.getSize());
-        }
-        return pageRequest;
-    }
-
-    public <T> Specification<T> toSpecification(PageQuery pageQuery, Class<?> queryClass) {
-        return (Specification<T>) (root, criteriaQuery, criteriaBuilder) -> {
-            List<Predicate> and = new ArrayList<>();
-            pageQuery.getQuery().forEach((property, value) -> {
-                if (value == null) {
-                    return;
-                }
-                if (String.class.equals(value.getClass())) {
-                    if (StringUtils.isEmpty((String) value)) {
-                        return;
-                    }
-                }
-                Field field = getDeclaredField(queryClass, property);
-                if (field == null) return;
-
-                Class fieldType = field.getType();
-                if (Enum.class.isAssignableFrom(fieldType)) {
-                    if (value instanceof Collection) {
-                        if (!((Collection) value).isEmpty()) {
-                            List list = new ArrayList();
-                            for (Object o : ((Collection) value)) {
-                                list.add(Enum.valueOf(fieldType, String.valueOf(o)));
-                            }
-                            and.add(root.get(property).in(list));
-                        }
-                    } else if (value instanceof String && StringUtils.isNotEmpty((String) value)) {
-                        if (((String) value).contains(",")) {
-                            String[] arr = ((String) value).split(",");
-                            List list = new ArrayList();
-                            for (String s : arr) {
-                                list.add(Enum.valueOf(fieldType, s));
-                            }
-                            and.add(root.get(property).in(list));
-                        } else {
-                            and.add(criteriaBuilder.and(criteriaBuilder
-                                    .equal(root.get(property), Enum.valueOf(fieldType, String.valueOf(value)))));
-                        }
-                    }
-                } else if (LocalDateTime.class == fieldType) {
-                    if (value instanceof List) {
-                        List list = (List) value;
-                        if (list.size() == 1) {
-                            LocalDateTime start = DateTimeUtils
-                                    .toLocalDateTime((String) list.get(0), "yyyy-MM-dd HH:mm:ss");
-                            and.add(criteriaBuilder.greaterThanOrEqualTo(root.get(property), start));
-                        } else if (list.size() == 2) {
-                            LocalDateTime end = DateTimeUtils
-                                    .toLocalDateTime((String) list.get(1), "yyyy-MM-dd HH:mm:ss");
-                            and.add(criteriaBuilder.lessThanOrEqualTo(root.get(property), end));
-                        }
-                    } else if (value instanceof String && Pattern
-                            .matches("^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2},\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$", (String) value)) {
-                        String[] arr = ((String) value).split(",");
-                        LocalDateTime start = DateTimeUtils.toLocalDateTime(arr[0], "yyyy-MM-dd HH:mm:ss");
-                        and.add(criteriaBuilder.greaterThanOrEqualTo(root.get(property), start));
-                        LocalDateTime end = DateTimeUtils.toLocalDateTime(arr[1], "yyyy-MM-dd HH:mm:ss");
-                        and.add(criteriaBuilder.lessThanOrEqualTo(root.get(property), end));
-                    } else {
-                        and.add(criteriaBuilder.and(criteriaBuilder.equal(root.get(property), DateTimeUtils
-                                .toLocalDateTime((String) value, "yyyy-MM-dd HH:mm:ss"))));
-                    }
-                } else if (LocalDate.class == fieldType) {
-                    if (value instanceof List) {
-                        List list = (List) value;
-                        if (list.size() == 1) {
-                            LocalDate start = DateTimeUtils
-                                    .toLocalDate((String) list.get(0), "yyyy-MM-dd");
-                            and.add(criteriaBuilder.greaterThanOrEqualTo(root.get(property), start));
-                        } else if (list.size() == 2) {
-                            LocalDate end = DateTimeUtils
-                                    .toLocalDate((String) list.get(1), "yyyy-MM-dd");
-                            and.add(criteriaBuilder.lessThanOrEqualTo(root.get(property), end));
-                        }
-                    } else if (value instanceof String && Pattern
-                            .matches("^\\d{4}-\\d{2}-\\d{2},\\d{4}-\\d{2}-\\d{2}$", (String) value)) {
-                        String[] arr = ((String) value).split(",");
-                        LocalDate start = DateTimeUtils.toLocalDate(arr[0], "yyyy-MM-dd");
-                        and.add(criteriaBuilder.greaterThanOrEqualTo(root.get(property), start));
-                        LocalDate end = DateTimeUtils.toLocalDate(arr[1], "yyyy-MM-dd");
-                        and.add(criteriaBuilder.lessThanOrEqualTo(root.get(property), end));
-                    } else {
-                        and.add(criteriaBuilder.and(criteriaBuilder.equal(root.get(property), DateTimeUtils
-                                .toLocalDateTime((String) value, "yyyy-MM-dd"))));
-                    }
-                } else {
-                    and.add(criteriaBuilder.and(criteriaBuilder.equal(root.get(property), value)));
-                }
-            });
-            if (StringUtils.isNotEmpty(pageQuery.getSearch())) {
-                Field[] fields = queryClass.getDeclaredFields();
-                List<Predicate> or = new ArrayList<>();
-                try {
-                    if (StringUtils.isNumeric(pageQuery.getSearch())) {
-                        or.add(criteriaBuilder.equal(root.get("id"), Long.parseLong(pageQuery.getSearch())));
-                    }
-                } catch (Exception ignored) {
-                }
-                for (Field field : fields) {
-                    Searchable annotation = field.getAnnotation(Searchable.class);
-                    if (annotation == null) {
-                        continue;
-                    }
-                    if (!annotation.value()) {
-                        continue;
-                    }
-                    or.add(criteriaBuilder.like(root.get(field.getName()), "%" + pageQuery.getSearch() + "%"));
-                }
-                and.add(criteriaBuilder.or(or.toArray(new Predicate[0])));
-            }
-            return criteriaBuilder.and(and.toArray(new Predicate[0]));
-        };
-    }
-
-    private Field getDeclaredField(Class<?> clazz, String property) {
-        String className = clazz.getName();
-        while (clazz != null && clazz != Object.class) {
-            try {
-                return clazz.getDeclaredField(property);
-            } catch (NoSuchFieldException ignored) {
-            }
-            clazz = clazz.getSuperclass();
-        }
-        log.error("no such field [{}] in class [{}]", property, className);
-        return null;
-    }
 }

+ 1 - 1
src/main/java/com/izouma/awesomeAdmin/web/DistrictController.java

@@ -37,7 +37,7 @@ public class DistrictController extends BaseController {
     //@PreAuthorize("hasRole('ADMIN')")
     @GetMapping("/all")
     public Page<District> all(PageQuery pageQuery) {
-        return districtRepo.findAll(toSpecification(pageQuery,District.class), toPageRequest(pageQuery));
+        return districtService.all(pageQuery);
     }
 
     @GetMapping("/get/{id}")

+ 1 - 1
src/main/java/com/izouma/awesomeAdmin/web/SysConfigController.java

@@ -33,7 +33,7 @@ public class SysConfigController extends BaseController {
 
     @GetMapping("/all")
     public Page<SysConfig> all(PageQuery pageQuery) {
-        return sysConfigRepo.findAll(toSpecification(pageQuery, SysConfig.class), toPageRequest(pageQuery));
+        return sysConfigService.all(pageQuery);
     }
 
     @GetMapping("/get/{id}")

+ 1 - 1
src/main/java/com/izouma/awesomeAdmin/web/UserController.java

@@ -65,7 +65,7 @@ public class UserController extends BaseController {
     @PreAuthorize("hasRole('ADMIN')")
     @GetMapping("/all")
     public Page<User> all(PageQuery pageQuery) {
-        return userRepo.findAll(toSpecification(pageQuery, User.class), toPageRequest(pageQuery));
+        return userService.all(pageQuery);
     }
 
     @PreAuthorize("hasRole('ADMIN')")

+ 1 - 1
src/main/resources/templates/ControllerTemplate.ftl

@@ -46,7 +46,7 @@ public class ${model.className}Controller extends BaseController {
     //@PreAuthorize("hasRole('ADMIN')")
     @GetMapping("/all")
     public Page<${model.className}> all(PageQuery pageQuery) {
-        return ${model.className?uncap_first}Repo.findAll(toSpecification(pageQuery,${model.className}.class), toPageRequest(pageQuery));
+        return ${model.className?uncap_first}Service.all(pageQuery);
     }
 
     @GetMapping("/get/{id}")

+ 6 - 0
src/main/resources/templates/ServiceTemplate.ftl

@@ -1,8 +1,11 @@
 package ${model.basePackage}.service<#if model.genPackage??>.${model.genPackage}</#if>;
 
 import ${model.basePackage}.domain.<#if model.genPackage??>${model.genPackage}.</#if>${model.className};
+import ${model.basePackage}.dto.PageQuery;
 import ${model.basePackage}.repo.<#if model.genPackage??>${model.genPackage}.</#if>${model.className}Repo;
+import ${model.basePackage}.utils.JpaUtils;
 import lombok.AllArgsConstructor;
+import org.springframework.data.domain.Page;
 import org.springframework.stereotype.Service;
 
 @Service
@@ -11,4 +14,7 @@ public class ${model.className}Service {
 
     private ${model.className}Repo ${model.className?uncap_first}Repo;
 
+    public Page${r'<SysConfig>'} all(PageQuery pageQuery) {
+        return ${model.className?uncap_first}Repo.findAll(JpaUtils.toSpecification(pageQuery, ${model.className}.class), JpaUtils.toPageRequest(pageQuery));
+    }
 }

+ 56 - 56
src/main/vue/src/components/DistrictChoose.vue

@@ -4,63 +4,63 @@
     </div>
 </template>
 <script>
-    export default {
-        props: {
-            value: {
-                type: Array
-            },
-            checkStrictly: {
-                type: Boolean,
-                default: false
-            }
+export default {
+    props: {
+        value: {
+            type: Array
         },
-        data() {
-            return {
-                show: true,
-                chooseValue: [],
-                props: {
-                    lazy: true,
-                    lazyLoad: (node, resolve) => {
-                        const { level } = node;
-                        let params = { size: 10000, query: { level: level } };
-                        if (level !== 0) {
-                            params.query.parent = node.data.id;
-                        }
-                        this.$http.get('/district/all', params).then(res => {
-                            resolve(res.content);
-                        });
-                    },
-                    value: 'id',
-                    label: 'fullName',
-                    leaf: 'leaf',
-                    checkStrictly: this.checkStrictly
+        checkStrictly: {
+            type: Boolean,
+            default: false
+        }
+    },
+    data() {
+        return {
+            show: true,
+            chooseValue: [],
+            props: {
+                lazy: true,
+                lazyLoad: (node, resolve) => {
+                    const { level } = node;
+                    let params = { size: 10000, query: { level: level } };
+                    if (level !== 0) {
+                        params.query.parent = node.data.id;
+                    }
+                    this.$http.get('/district/all', params).then(res => {
+                        resolve(res.content);
+                    });
                 },
-                emiting: false
-            };
-        },
-        created() {
-            if (this.value) {
-                this.chooseValue = this.value;
-            }
-        },
-        methods: {
-            onChange(e) {
-                this.emiting = true;
-                this.$emit('input', [...e]);
-                this.$nextTick(() => {
-                    this.emiting = false;
-                });
-            }
-        },
-        watch: {
-            value(val) {
-                if (this.emiting) return;
-                this.show = false;
-                this.$nextTick(() => {
-                    this.chooseValue = val;
-                    this.show = true;
-                });
-            }
+                value: 'id',
+                label: 'fullName',
+                leaf: 'leaf',
+                checkStrictly: this.checkStrictly
+            },
+            emiting: false
+        };
+    },
+    created() {
+        if (this.value) {
+            this.chooseValue = this.value;
+        }
+    },
+    methods: {
+        onChange(e) {
+            this.emiting = true;
+            this.$emit('input', [...e]);
+            this.$nextTick(() => {
+                this.emiting = false;
+            });
+        }
+    },
+    watch: {
+        value(val) {
+            if (this.emiting) return;
+            this.show = false;
+            this.$nextTick(() => {
+                this.chooseValue = val;
+                this.show = true;
+            });
         }
-    };
+    }
+};
 </script>