From 5011c035b9902637b1cb4d08112e00239ff99381 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Mon, 23 May 2022 12:05:36 +0800
Subject: [PATCH] 合并master
---
zq-erp/src/main/java/com/matrix/system/common/interceptor/HostInterceptor.java | 3
zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/impl/WxShopActivitiesSecKillServiceImpl.java | 4
zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml | 4
zq-erp/src/main/resources/mybatis/mapper/hive/SysVipInfoDao.xml | 67 +-
zq-erp/src/main/java/com/matrix/system/common/init/LocalCache.java | 185 ++++++-
zq-erp/pom.xml | 5
zq-erp/src/main/java/com/matrix/beauty/followup/entry/SysFollowup.java | 6
zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/servicceAddForm.html | 4
zq-erp/src/main/java/com/matrix/system/hive/dao/SysVipAlbumDao.java | 11
zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopActivitiesSeckillRecordDao.xml | 4
zq-erp/src/main/resources/config/prd/system.properties | 2
zq-erp/src/main/java/com/matrix/system/app/dto/CreateServiceOrderDto.java | 11
zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/updateServiceOrderTimeV2.html | 4
zq-erp/src/main/java/com/matrix/system/common/bean/SysCacheValue.java | 39 +
zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopProductCommentDao.xml | 5
zq-erp/src/main/java/com/matrix/system/app/dto/FreeBedDto.java | 43 +
zq-erp/src/main/java/com/matrix/system/hive/service/imp/ShoppingGoodsServiceImpl.java | 29 +
zq-erp/src/main/java/com/matrix/system/common/authority/strategy/AccountPasswordLogin.java | 1
zq-erp/src/main/resources/templates/views/admin/hive/products/goods-form.html | 4
zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignWriteoffDao.xml | 4
zq-erp/src/main/java/com/matrix/system/common/interceptor/ApiUserLoginInterceptor.java | 3
zq-erp/src/main/java/com/matrix/system/hive/action/FollowuController.java | 40 +
zq-erp/src/main/resources/mybatis/mapper/hive/ServicesFlowDao.xml | 14
zq-erp/src/main/resources/mybatis/mapper/hive/SysBeauticianStateDao.xml | 3
zq-erp/src/main/java/com/matrix/system/hive/service/SysVipInfoService.java | 7
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java | 7
zq-erp/src/main/java/com/matrix/system/hiveErp/action/ErpVipInfoController.java | 9
zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml | 12
zq-erp/src/main/resources/static/plugin/vue-treeselect/vue-treeselect.umd.min.js | 7
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysGoodsServiceImpl.java | 7
zq-erp/src/main/resources/templates/views/admin/hive-erp/vip/vipInfo-list.html | 2
zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/yyServiceAddForm.html | 4
zq-erp/src/main/resources/mybatis/mapper/hive/SysShopInfoDao.xml | 7
zq-erp/src/test/java/com/matrix/LocalCacheTest.java | 6
zq-erp/src/main/java/com/matrix/system/hive/dto/FollowuListDto.java | 36 +
zq-erp/src/main/resources/static/plugin/vue-treeselect/vue-treeselect.min.css | 5
zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignReceiveRecordDao.xml | 2
zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml | 2
zq-erp/src/main/java/com/matrix/system/hive/dao/SysShopInfoDao.java | 3
zq-erp/src/main/java/com/matrix/beauty/followup/dao/SysFollowupDao.java | 12
zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/YuyueAction.java | 8
zq-erp/src/main/java/com/matrix/system/hive/action/VipInfoController.java | 11
zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxUserAction.java | 28
zq-erp/src/main/resources/config/application.properties | 2
zq-erp/src/main/java/com/matrix/system/app/action/AppOccupancyController.java | 21
zq-erp/src/main/resources/mybatis/mapper/hive/MyBeauticianCountDao.xml | 2
zq-erp/src/main/java/com/matrix/system/common/service/impl/SysUsersServiceImpl.java | 3
zq-erp/src/main/java/com/matrix/beauty/followup/service/SysFollowupService.java | 89 +++
zq-erp/src/main/java/com/matrix/system/hive/action/ServiceRecordController.java | 2
zq-erp/src/main/resources/templates/views/admin/hive/vip/followu-list.html | 206 ++++++++
zq-erp/src/main/java/com/matrix/system/common/init/UserCacheManager.java | 6
zq-erp/src/main/resources/templates/views/admin/hive/products/shoppinggoods-zb-list.html | 20
zq-erp/src/main/java/com/matrix/system/app/authority/AppAuthorityManager.java | 11
zq-erp/src/main/resources/mybatis/mapper/hive/MoneyCardUseDao.xml | 13
zq-erp/src/test/java/com/matrix/BizUserToVipInfoTool.java | 2
zq-erp/src/main/java/com/matrix/system/common/dao/SysCacheValueDao.java | 14
zq-erp/src/main/resources/mybatis/mapper/hive/SysProjServicesDao.xml | 17
zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java | 2
zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjServicesServiceImpl.java | 26
zq-erp/src/main/resources/config/application-local.properties | 9
zq-erp/src/main/java/com/matrix/system/hive/action/ProjUseController.java | 17
zq-erp/src/main/resources/mybatis/mapper/common/OperstionLogDao.xml | 2
zq-erp/src/main/java/com/matrix/system/common/tools/LocationUtil.java | 9
zq-erp/src/main/resources/mybatis/mapper/hive/SysFollowupDao.xml | 32 +
zq-erp/src/main/java/com/matrix/system/common/authority/DefaultAuthorityManager.java | 15
zq-erp/src/main/java/com/matrix/system/hive/dao/SysVipInfoDao.java | 2
zq-erp/src/main/resources/templates/views/admin/hive/vip/vipInfo-list.html | 2
zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java | 5
zq-erp/src/main/java/com/matrix/system/hive/dao/MoneyCardUseDao.java | 3
zq-erp/src/test/java/com/matrix/JyyTests.java | 11
zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java | 1
zq-erp/src/main/resources/config/application-alpha.properties | 45 +
zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopActivitiesGroupJoinDao.xml | 8
zq-erp/src/main/java/com/matrix/system/app/action/ApiFollowupAction.java | 62 --
zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml | 32
75 files changed, 1,061 insertions(+), 300 deletions(-)
diff --git a/zq-erp/pom.xml b/zq-erp/pom.xml
index faef2a9..e080c3f 100644
--- a/zq-erp/pom.xml
+++ b/zq-erp/pom.xml
@@ -100,6 +100,11 @@
<artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
<dependency>
+ <groupId>com.sun.mail</groupId>
+ <artifactId>javax.mail</artifactId>
+ <version>1.6.2</version>
+ </dependency>
+ <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysFollowupDao.java b/zq-erp/src/main/java/com/matrix/beauty/followup/dao/SysFollowupDao.java
similarity index 84%
rename from zq-erp/src/main/java/com/matrix/system/hive/dao/SysFollowupDao.java
rename to zq-erp/src/main/java/com/matrix/beauty/followup/dao/SysFollowupDao.java
index 28fafcb..8da6244 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysFollowupDao.java
+++ b/zq-erp/src/main/java/com/matrix/beauty/followup/dao/SysFollowupDao.java
@@ -1,11 +1,13 @@
-package com.matrix.system.hive.dao;
+package com.matrix.beauty.followup.dao;
+import com.matrix.beauty.followup.entry.SysFollowup;
+import com.matrix.core.pojo.PaginationVO;
import com.matrix.system.app.dto.FollowupListDto;
+import com.matrix.system.hive.dto.FollowuListDto;
import org.apache.ibatis.annotations.Param;
+
import java.util.List;
import java.util.Map;
-import com.matrix.core.pojo.PaginationVO;
-import com.matrix.system.hive.bean.SysFollowup;
/**
* @description 跟进
@@ -15,7 +17,7 @@
public interface SysFollowupDao{
public int insert(@Param("item") SysFollowup sysFollowup);
-
+
public int batchInsert(@Param("list") List<SysFollowup> sysFollowupList);
public int updateByMap(Map<String, Object> modifyMap);
@@ -41,4 +43,6 @@
void updateZan(@Param("id")Long id, @Param("zans")String zans);
List<SysFollowup> selectByAppDto(FollowupListDto followupListDto);
+
+ List<SysFollowup> findVipFollowuByPage(FollowuListDto followuListDto);
}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/bean/SysFollowup.java b/zq-erp/src/main/java/com/matrix/beauty/followup/entry/SysFollowup.java
similarity index 96%
rename from zq-erp/src/main/java/com/matrix/system/hive/bean/SysFollowup.java
rename to zq-erp/src/main/java/com/matrix/beauty/followup/entry/SysFollowup.java
index 3085a5c..ffe568b 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/bean/SysFollowup.java
+++ b/zq-erp/src/main/java/com/matrix/beauty/followup/entry/SysFollowup.java
@@ -1,13 +1,13 @@
-package com.matrix.system.hive.bean;
+package com.matrix.beauty.followup.entry;
import com.fasterxml.jackson.annotation.JsonFormat;
-import com.matrix.core.pojo.EntityDTO;
import com.matrix.core.anotations.Extend;
import com.matrix.core.tools.DateUtil;
import com.matrix.system.common.bean.EntityDTOExt;
import com.matrix.system.common.bean.SysUsers;
+import com.matrix.system.hive.bean.SysFollowupComment;
+import com.matrix.system.hive.bean.SysVipAlbum;
import io.swagger.annotations.ApiModelProperty;
-import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import java.util.Date;
diff --git a/zq-erp/src/main/java/com/matrix/beauty/followup/service/SysFollowupService.java b/zq-erp/src/main/java/com/matrix/beauty/followup/service/SysFollowupService.java
new file mode 100644
index 0000000..118bea8
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/beauty/followup/service/SysFollowupService.java
@@ -0,0 +1,89 @@
+package com.matrix.beauty.followup.service;
+
+import com.matrix.beauty.followup.dao.SysFollowupDao;
+import com.matrix.beauty.followup.entry.SysFollowup;
+import com.matrix.core.constance.MatrixConstance;
+import com.matrix.core.tools.StringUtils;
+import com.matrix.core.tools.WebUtil;
+import com.matrix.system.common.bean.SysUsers;
+import com.matrix.system.hive.bean.SysBeauticianState;
+import com.matrix.system.hive.bean.SysOrderItem;
+import com.matrix.system.hive.bean.SysVipAlbum;
+import com.matrix.system.hive.dao.SysBeauticianStateDao;
+import com.matrix.system.hive.dao.SysOrderItemDao;
+import com.matrix.system.hive.dao.SysVipAlbumDao;
+import com.matrix.system.hive.dto.FollowuListDto;
+import com.matrix.system.hive.plugin.util.CollectionUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class SysFollowupService {
+ @Autowired
+ SysFollowupDao followupDao;
+
+ @Autowired
+ SysOrderItemDao orderItemDao;
+
+ @Autowired
+ private SysVipAlbumDao vipAlbumDao;
+
+ @Autowired
+ private SysBeauticianStateDao beauticianStateDao;
+
+ public void save(SysFollowup followup){
+ SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+ followup.setCreateBy(user.getSuName());
+ followup.setUpdateBy(user.getSuName());
+ followup.setStaffId(user.getSuId());
+ followup.setCompanyId(user.getCompanyId());
+ followup.setShopId(user.getShopId());
+ //处理订单摘要
+ if(followup.getOrderId()!=null){
+ List<SysOrderItem> sysOrderItems = orderItemDao.selectByOrderId(followup.getOrderId());
+ String abs="";
+ if(sysOrderItems.size()>1){
+ abs= sysOrderItems.get(0).getShoppingGoods().getName()+"等"+sysOrderItems.size()+"件商品";
+ }else{
+ abs= sysOrderItems.get(0).getShoppingGoods().getName();
+ }
+ followup.setOrderAbstract(abs);
+ }
+ //服务单摘要
+ if(followup.getServiceId()!=null){
+ List<SysBeauticianState> sysBeauticianStates = beauticianStateDao.selectBySerIds(followup.getServiceId());
+ String abs="";
+ if(sysBeauticianStates.size()>1){
+ abs= sysBeauticianStates.get(0).getProjInfo().getName()+"等"+sysBeauticianStates.size()+"项服务";
+ }else{
+ abs= sysBeauticianStates.get(0).getProjInfo().getName();
+ }
+ followup.setOrderAbstract(abs);
+ }
+
+ followupDao.insert(followup);
+ //插入图片
+ List<SysVipAlbum> albums=followup.getAlbums();
+ if(CollectionUtils.isNotEmpty(albums)){
+ for (SysVipAlbum vipAlbum:albums){
+ if(StringUtils.isNotBlank(vipAlbum.getImg())){
+ vipAlbum.setCreateBy(user.getSuName());
+ vipAlbum.setUpdateBy(user.getSuName());
+ vipAlbum.setSource(SysVipAlbum.SOURCE_FOLLOW);
+ vipAlbum.setVipId(followup.getVipId());
+ vipAlbum.setSourceId(followup.getId());
+ vipAlbumDao.insert(vipAlbum);
+ }
+ }
+ }
+
+ }
+
+ public List<SysFollowup> findVipFollowuByPage(FollowuListDto followuListDto) {
+ //todo 等订单改造版本合并后用验证工具加参数校验
+
+ return followupDao.findVipFollowuByPage(followuListDto);
+ }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java
index 1e8fb3b..76fdd77 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiCommonAction.java
@@ -2,6 +2,7 @@
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.TypeReference;
import com.matrix.component.tools.HttpCurlUtil;
import com.matrix.core.pojo.AjaxResult;
import com.matrix.core.tools.*;
@@ -194,7 +195,7 @@
return AjaxResult.buildFailInstance("该手机号不存在");
}
- String codeExist = LocalCache.get(smsCodeDto.getTelphone());
+ String codeExist = LocalCache.get(smsCodeDto.getTelphone(),new TypeReference<String>(){});
if (StringUtils.isNotBlank(codeExist)) {
return AjaxResult.buildFailInstance("请勿重复发送验证码");
}
@@ -215,7 +216,7 @@
return AjaxResult.buildFailInstance("该手机号不存在");
}
- String code = LocalCache.get(pwdResetDto.getTelphone());
+ String code = LocalCache.get(pwdResetDto.getTelphone(),new TypeReference<String>(){});
if (StringUtils.isBlank(code)) {
return AjaxResult.buildFailInstance("验证码已失效,请重新发送");
}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiFollowupAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiFollowupAction.java
index 25fa419..ba2e8b8 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/action/ApiFollowupAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiFollowupAction.java
@@ -1,5 +1,8 @@
package com.matrix.system.app.action;
+import com.matrix.beauty.followup.dao.SysFollowupDao;
+import com.matrix.beauty.followup.entry.SysFollowup;
+import com.matrix.beauty.followup.service.SysFollowupService;
import com.matrix.core.constance.MatrixConstance;
import com.matrix.core.pojo.AjaxResult;
import com.matrix.core.tools.StringUtils;
@@ -7,7 +10,6 @@
import com.matrix.system.app.dto.*;
import com.matrix.system.common.bean.SysUsers;
import com.matrix.system.common.tools.DataAuthUtil;
-import com.matrix.system.hive.action.util.QueryUtil;
import com.matrix.system.hive.bean.*;
import com.matrix.system.hive.dao.*;
import com.matrix.system.hive.plugin.util.CollectionUtils;
@@ -35,21 +37,11 @@
private SysFollowupDao followupDao;
@Autowired
- private SysVipAlbumDao vipAlbumDao;
-
- @Autowired
- private SysVipInfoDao vipInfoDao;
-
- @Autowired
private SysFollowupCommentDao followupCommentDao;
-
@Autowired
- private SysOrderItemDao orderItemDao;
-
- @Autowired
- private SysBeauticianStateDao beauticianStateDao;
+ private SysFollowupService followupService;
@ApiOperation(value = "新增跟进记录", notes = "新增跟进记录")
@@ -58,51 +50,7 @@
})
@PostMapping(value = "/addFollowup")
public AjaxResult addFollowup(@RequestBody @Validated SysFollowup followup) {
- SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
- followup.setCreateBy(user.getSuName());
- followup.setUpdateBy(user.getSuName());
- followup.setStaffId(user.getSuId());
- followup.setCompanyId(user.getCompanyId());
- followup.setShopId(user.getShopId());
- //处理订单摘要
- if(followup.getOrderId()!=null){
- List<SysOrderItem> sysOrderItems = orderItemDao.selectByOrderId(followup.getOrderId());
- String abs="";
- if(sysOrderItems.size()>1){
- abs= sysOrderItems.get(0).getShoppingGoods().getName()+"等"+sysOrderItems.size()+"件商品";
- }else{
- abs= sysOrderItems.get(0).getShoppingGoods().getName();
- }
- followup.setOrderAbstract(abs);
- }
- //服务单摘要
- if(followup.getServiceId()!=null){
- List<SysBeauticianState> sysBeauticianStates = beauticianStateDao.selectBySerIds(followup.getServiceId());
- String abs="";
- if(sysBeauticianStates.size()>1){
- abs= sysBeauticianStates.get(0).getProjInfo().getName()+"等"+sysBeauticianStates.size()+"项服务";
- }else{
- abs= sysBeauticianStates.get(0).getProjInfo().getName();
- }
- followup.setOrderAbstract(abs);
- }
-
- followupDao.insert(followup);
- //插入图片
- List<SysVipAlbum> albums=followup.getAlbums();
- if(CollectionUtils.isNotEmpty(albums)){
- for (SysVipAlbum vipAlbum:albums){
- if(StringUtils.isNotBlank(vipAlbum.getImg())){
- vipAlbum.setCreateBy(user.getSuName());
- vipAlbum.setUpdateBy(user.getSuName());
- vipAlbum.setSource(SysVipAlbum.SOURCE_FOLLOW);
- vipAlbum.setVipId(followup.getVipId());
- vipAlbum.setSourceId(followup.getId());
- vipAlbumDao.insert(vipAlbum);
- }
- }
- }
-
+ followupService.save(followup);
return AjaxResult.buildSuccessInstance("保存成功");
}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java b/zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java
index 6b1d335..c7eee3b 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/action/ApiServiceOrderAction.java
@@ -165,6 +165,7 @@
sysProjServices.setVipId(serviceOrderDto.getVipId());
sysProjServices.setYyTime(serviceOrderDto.getYyTime());
sysProjServices.setRemark(serviceOrderDto.getRemark());
+ sysProjServices.setBedId(serviceOrderDto.getBedId());
List<SysBeauticianState> sysBeauticianStates = new ArrayList<>();
serviceOrderDto.getProjItems().forEach(item ->{
diff --git a/zq-erp/src/main/java/com/matrix/system/app/action/AppOccupancyController.java b/zq-erp/src/main/java/com/matrix/system/app/action/AppOccupancyController.java
index c4a5942..11b6841 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/action/AppOccupancyController.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/action/AppOccupancyController.java
@@ -4,6 +4,7 @@
import com.matrix.core.pojo.AjaxResult;
import com.matrix.core.tools.DateUtil;
import com.matrix.core.tools.WebUtil;
+import com.matrix.system.app.dto.FreeBedDto;
import com.matrix.system.app.vo.StoreListVo;
import com.matrix.system.common.bean.SysUsers;
import com.matrix.system.common.service.SysUsersService;
@@ -11,9 +12,12 @@
import com.matrix.system.hive.action.BaseController;
import com.matrix.system.hive.action.OccupancyController;
import com.matrix.system.hive.bean.SysBeauticianState;
+import com.matrix.system.hive.bean.SysBedInfo;
+import com.matrix.system.hive.bean.SysProjServices;
import com.matrix.system.hive.bean.SysWorkBeatuistaff;
import com.matrix.system.hive.dao.SysBeauticianStateDao;
import com.matrix.system.hive.plugin.util.CollectionUtils;
+import com.matrix.system.hive.service.SysBedInfoService;
import com.matrix.system.hive.service.SysWorkBeatuistaffService;
import com.matrix.system.hive.service.SysWorktimeService;
import io.swagger.annotations.Api;
@@ -22,6 +26,7 @@
import io.swagger.annotations.ApiResponses;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
+import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -43,6 +48,9 @@
@Resource
private OccupancyController occupancyController;
+ @Autowired
+ private SysBedInfoService bedInfoService;
+
/**
* 获取员工预约情况
*/
@@ -57,4 +65,17 @@
return occupancyController.getCwzyList(timeStr,sysUsers.getShopId());
}
+ @ApiOperation(value = "获取床位信息", notes = "获取床位信息")
+ @PostMapping(value = "/showFreedBed")
+ public AjaxResult showFreedBed(@RequestBody @Validated FreeBedDto freeBedDto) {
+ SysProjServices sysProjServices = new SysProjServices();
+ sysProjServices.setStartTime(freeBedDto.getStartTime());
+ sysProjServices.setTotalTime(freeBedDto.getTotalTime());
+
+ SysUsers sysUsers = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+ sysProjServices.setShopId(sysUsers.getShopId());
+ List<SysBedInfo> beds = bedInfoService.findFreeBed(sysProjServices);
+ return new AjaxResult(AjaxResult.STATUS_SUCCESS, beds, 0);
+ }
+
}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/authority/AppAuthorityManager.java b/zq-erp/src/main/java/com/matrix/system/app/authority/AppAuthorityManager.java
index fb84dee..153a47d 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/authority/AppAuthorityManager.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/authority/AppAuthorityManager.java
@@ -1,6 +1,9 @@
package com.matrix.system.app.authority;
import cn.hutool.crypto.SecureUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.TypeReference;
import com.matrix.core.constance.MatrixConstance;
import com.matrix.core.pojo.AjaxResult;
import com.matrix.core.tools.StringUtils;
@@ -98,12 +101,10 @@
String redisKey = USER_POWER_REDISKEY_APP + SecureUtil.md5(user.getSuId()+"");
- Map<String, Object> cachePowerMap = LocalCache.get(redisKey);
+ Map<String, Object> cachePowerMap = LocalCache.get(redisKey,new TypeReference<Map<String,Object>>(){});
if (Objects.nonNull(cachePowerMap)) {
-
- userFunction = (Map<String, SysFunction>) cachePowerMap.get(USERFUNCTION);
-
- userUrlMapping = (List<String>) cachePowerMap.get(USER_URL_MAPPING);
+ userFunction = JSONObject.parseObject(JSON.toJSONString( cachePowerMap.get(USERFUNCTION)), new TypeReference<Map<String, SysFunction>>(){});
+ userUrlMapping =JSONObject.parseObject(JSON.toJSONString( cachePowerMap.get(USER_URL_MAPPING)) , new TypeReference<List<String>>(){});
} else {
// 获取用户所有权限
diff --git a/zq-erp/src/main/java/com/matrix/system/app/dto/CreateServiceOrderDto.java b/zq-erp/src/main/java/com/matrix/system/app/dto/CreateServiceOrderDto.java
index 30c0cfa..6a9b593 100644
--- a/zq-erp/src/main/java/com/matrix/system/app/dto/CreateServiceOrderDto.java
+++ b/zq-erp/src/main/java/com/matrix/system/app/dto/CreateServiceOrderDto.java
@@ -25,6 +25,9 @@
@ApiModelProperty(value = "美疗师ID")
private Long beautyId;
+ @ApiModelProperty(value = "床位ID")
+ private Long bedId;
+
@NotNull(message = "请选择预约时间")
@JsonFormat(pattern = DateUtil.DATE_FORMAT_MM, timezone = "GMT+8")
@ApiModelProperty(value = "预约时间")
@@ -42,6 +45,14 @@
@ApiModelProperty(value = "资金密码")
private String password;
+ public Long getBedId() {
+ return bedId;
+ }
+
+ public void setBedId(Long bedId) {
+ this.bedId = bedId;
+ }
+
public String getPassword() {
return password;
}
diff --git a/zq-erp/src/main/java/com/matrix/system/app/dto/FreeBedDto.java b/zq-erp/src/main/java/com/matrix/system/app/dto/FreeBedDto.java
new file mode 100644
index 0000000..36c0cb2
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/app/dto/FreeBedDto.java
@@ -0,0 +1,43 @@
+package com.matrix.system.app.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.matrix.core.tools.DateUtil;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.util.Date;
+
+/**
+ * @author wzy
+ * @date 2022-03-15
+ **/
+@ApiModel(value = "FreeBedDto", description = "获取床位信息接口接受参数类")
+public class FreeBedDto {
+
+ @NotNull(message = "选择预约时间")
+ @JsonFormat(pattern = DateUtil.DATE_FORMAT_MM, timezone = "GMT+8")
+ @ApiModelProperty(value = "预约开始时间")
+ private Date startTime;
+
+ @NotNull(message = "输入服务时长")
+ @ApiModelProperty(value = "服务时长")
+ private Integer totalTime;
+
+ public Date getStartTime() {
+ return startTime;
+ }
+
+ public void setStartTime(Date startTime) {
+ this.startTime = startTime;
+ }
+
+ public Integer getTotalTime() {
+ return totalTime;
+ }
+
+ public void setTotalTime(Integer totalTime) {
+ this.totalTime = totalTime;
+ }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/common/authority/DefaultAuthorityManager.java b/zq-erp/src/main/java/com/matrix/system/common/authority/DefaultAuthorityManager.java
index 381b643..de5d17c 100644
--- a/zq-erp/src/main/java/com/matrix/system/common/authority/DefaultAuthorityManager.java
+++ b/zq-erp/src/main/java/com/matrix/system/common/authority/DefaultAuthorityManager.java
@@ -1,6 +1,9 @@
package com.matrix.system.common.authority;
import cn.hutool.crypto.SecureUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.TypeReference;
import com.matrix.core.constance.MatrixConstance;
import com.matrix.core.pojo.AjaxResult;
import com.matrix.core.tools.StringUtils;
@@ -13,6 +16,7 @@
import com.matrix.system.common.init.LocalCache;
import com.matrix.system.common.service.SysFunctionService;
import org.apache.commons.collections.CollectionUtils;
+import org.apache.poi.ss.formula.functions.T;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -151,15 +155,12 @@
SysUsers sysUser = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
String redisKey = USER_POWER_REDISKEY_PC + SecureUtil.md5(sysUser.getSuId() + "");
- Map<String, Object> cachePowerMap = LocalCache.get(redisKey);
+ Map<String, Object> cachePowerMap = LocalCache.get(redisKey,new TypeReference<Map<String,Object>>(){});
if (Objects.nonNull(cachePowerMap)) {
-
- userFunction = (Map<String, SysFunction>) cachePowerMap.get(USERFUNCTION);
-
- menuFunction = (List<SysFunction>) cachePowerMap.get(MENUSFUNCTION);
-
- userUrlMapping = (List<String>) cachePowerMap.get(USER_URL_MAPPING);
+ userFunction = JSONObject.parseObject(JSON.toJSONString( cachePowerMap.get(USERFUNCTION)), new TypeReference<Map<String, SysFunction>>(){});
+ menuFunction = JSONObject.parseObject(JSON.toJSONString( cachePowerMap.get(MENUSFUNCTION)) ,new TypeReference<List<SysFunction>>(){});
+ userUrlMapping =JSONObject.parseObject(JSON.toJSONString( cachePowerMap.get(USER_URL_MAPPING)) , new TypeReference<List<String>>(){});
} else {
// 获取用户所有权限
diff --git a/zq-erp/src/main/java/com/matrix/system/common/authority/strategy/AccountPasswordLogin.java b/zq-erp/src/main/java/com/matrix/system/common/authority/strategy/AccountPasswordLogin.java
index 8aec82a..263c380 100644
--- a/zq-erp/src/main/java/com/matrix/system/common/authority/strategy/AccountPasswordLogin.java
+++ b/zq-erp/src/main/java/com/matrix/system/common/authority/strategy/AccountPasswordLogin.java
@@ -110,6 +110,7 @@
throw new GlobleException(AppMessageCode.User.ACCOUNT_IS_LOCK);
} else {
addErrorLoginRecord(loginUser, AppConstance.LOGIN_FAIL);
+ throw new GlobleException(AppMessageCode.User.ACCOUNT_PASSWORD_ERROR, sessionErrorTimes, sessionErrorTimes, 5);
}
diff --git a/zq-erp/src/main/java/com/matrix/system/common/bean/SysCacheValue.java b/zq-erp/src/main/java/com/matrix/system/common/bean/SysCacheValue.java
new file mode 100644
index 0000000..5a4e8cc
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/common/bean/SysCacheValue.java
@@ -0,0 +1,39 @@
+package com.matrix.system.common.bean;
+
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+
+
+/**
+ * 缓存对象
+ */
+@Data
+public class SysCacheValue {
+
+
+ @TableId(type= IdType.AUTO)
+ private Long id;
+ /**
+ * 缓存key
+ */
+ private String cacheKey;
+ /**
+ * 过期时间,0 表示不过期,单位毫秒
+ */
+ private Long timeOut ;
+ /**
+ * 缓存值
+ */
+ private String cacheValue;
+ /**
+ * 类型名称
+ */
+ private String className;
+
+ /**
+ * 缓存创建时间
+ */
+ private Long createTime;
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/common/dao/SysCacheValueDao.java b/zq-erp/src/main/java/com/matrix/system/common/dao/SysCacheValueDao.java
new file mode 100644
index 0000000..b6b4bbd
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/common/dao/SysCacheValueDao.java
@@ -0,0 +1,14 @@
+package com.matrix.system.common.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.matrix.system.common.bean.SysCacheValue;
+import com.matrix.system.fenxiao.entity.ShopSalemanSettlement;
+
+/**
+ * @description 缓存对象
+ * @author jyy
+ * @date 2021-03-10 15:22
+ */
+public interface SysCacheValueDao extends BaseMapper<SysCacheValue> {
+
+}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/common/init/LocalCache.java b/zq-erp/src/main/java/com/matrix/system/common/init/LocalCache.java
index ed624c2..454d95e 100644
--- a/zq-erp/src/main/java/com/matrix/system/common/init/LocalCache.java
+++ b/zq-erp/src/main/java/com/matrix/system/common/init/LocalCache.java
@@ -1,26 +1,64 @@
package com.matrix.system.common.init;
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.TypeReference;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
import com.matrix.core.tools.LogUtil;
import com.matrix.core.tools.StringUtils;
+import com.matrix.system.common.bean.SysCacheValue;
+import com.matrix.system.common.dao.SysCacheValueDao;
import lombok.Data;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.ApplicationArguments;
+import org.springframework.boot.ApplicationRunner;
+import org.springframework.stereotype.Component;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Set;
+import java.lang.reflect.Type;
+import java.util.*;
import java.util.concurrent.*;
-import java.util.concurrent.atomic.AtomicLong;
import java.util.stream.Collectors;
-public class LocalCache {
+@Component
+public class LocalCache implements ApplicationRunner {
/*
* 清理线程运行状态 0 未启动,1 已启动
*/
private static int CLEAR_THREAD_STATUS = 0;
- private static ConcurrentMap<String, Value> localCache = new ConcurrentHashMap(60);
+
+ private static ConcurrentMap<String, CacheValue> localCache = new ConcurrentHashMap(60);
+
+ private static ConcurrentLinkedQueue<Long> deadCache = new ConcurrentLinkedQueue<>();
+
+ @Autowired
+ private SysCacheValueDao sysCacheValueDao;
+
+ @Override
+ public void run(ApplicationArguments args) {
+ //初始化缓存
+ List<SysCacheValue> sysCacheValues = sysCacheValueDao.selectByMap(null);
+ if(CollUtil.isNotEmpty(sysCacheValues)){
+ LogUtil.debug("初始化缓存");
+ localCache.putAll(buildValues(sysCacheValues));
+ }
+ startClearThread();
+ startSaveStoreThread();
+ }
+
+ private Map<String,CacheValue> buildValues(List<SysCacheValue> sysCacheValues) {
+ Map<String,CacheValue> storeCache=new HashMap<>();
+ sysCacheValues.forEach(e->{
+ CacheValue cacheValue=new CacheValue();
+ BeanUtil.copyProperties(e,cacheValue);
+ storeCache.put(cacheValue.getCacheKey(),cacheValue);
+ });
+ return storeCache;
+ }
/**
* 根据key匹配多个缓存值
@@ -33,8 +71,8 @@
return localCache.entrySet().stream()
.filter(item -> StringUtils.isMatch(key, item.getKey()))
.map(Map.Entry::getValue)
- .filter(item -> Objects.nonNull(item.value))
- .collect(Collectors.toMap(Value::getKey, item -> (T) item.value));
+ .filter(item -> Objects.nonNull(item.cacheValue))
+ .collect(Collectors.toMap(CacheValue::getCacheKey, item -> JSONObject.parseObject(item.cacheValue, new TypeReference<T>(){})));
}
/**
@@ -43,11 +81,26 @@
* @param key
* @param <T>
* @return
- */
+ *//*
public static <T> T get(String key) {
- Value value = localCache.get(key);
+ CacheValue value = localCache.get(key);
if (Objects.nonNull(value)) {
- return (T) value.value;
+ return JSONObject.parseObject(value.cacheValue, new TypeReference<T>(){});
+ }
+ return null;
+ }
+*/
+ /**
+ * 获取本地缓存,如果需要转换为List,Map类型的具体泛型使用本方法
+ * @param key
+ * @param typeReference
+ * @param <T>
+ * @return
+ */
+ public static <T> T get(String key,TypeReference typeReference) {
+ CacheValue value = localCache.get(key);
+ if (Objects.nonNull(value)) {
+ return (T)JSONObject.parseObject(value.cacheValue, typeReference);
}
return null;
}
@@ -60,9 +113,10 @@
* @return
*/
public static <T> T remove(String key) {
- Value value = localCache.remove(key);
+ CacheValue value = localCache.get(key);
if (Objects.nonNull(value)) {
- return (T) value.value;
+ deadCache.add(value.getId());
+ return (T) value.cacheValue;
}
return null;
}
@@ -75,10 +129,10 @@
*/
public static int batchRemove(String key) {
int count = 0;
- Set<Map.Entry<String, Value>> entries = localCache.entrySet();
- Iterator<Map.Entry<String, Value>> iterator = entries.iterator();
+ Set<Map.Entry<String, CacheValue>> entries = localCache.entrySet();
+ Iterator<Map.Entry<String, CacheValue>> iterator = entries.iterator();
while (iterator.hasNext()) {
- Map.Entry<String, Value> next = iterator.next();
+ Map.Entry<String, CacheValue> next = iterator.next();
if (StringUtils.isMatch(key, next.getKey())) {
remove(next.getKey());
count++;
@@ -110,25 +164,26 @@
if (null != localCache.put(key, buildValue(key, value, timeOut))) {
LogUtil.debug("覆盖原有缓存{}", key);
}
- startClearThread();
+
}
/**
* 重置缓存失效时间
+ *
* @param key
*/
public static void resetExpire(String key) {
Objects.requireNonNull(key);
- Value value = localCache.get(key);
- if(Objects.nonNull(value)){
- value.getCreateTime().set(System.currentTimeMillis());
+ CacheValue value = localCache.get(key);
+ if (Objects.nonNull(value)) {
+ value.setCreateTime(System.currentTimeMillis());
}
}
/**
* 清理过期对象
*/
- private synchronized static void startClearThread() {
+ private synchronized void startClearThread() {
if (CLEAR_THREAD_STATUS == 0) {
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
.setNameFormat("demo-pool-%d").build();
@@ -139,10 +194,10 @@
CLEAR_THREAD_STATUS = 1;
while (true) {
try {
- Set<Map.Entry<String, Value>> entries = localCache.entrySet();
- Iterator<Map.Entry<String, Value>> iterator = entries.iterator();
+ Set<Map.Entry<String, CacheValue>> entries = localCache.entrySet();
+ Iterator<Map.Entry<String, CacheValue>> iterator = entries.iterator();
while (iterator.hasNext()) {
- Map.Entry<String, Value> next = iterator.next();
+ Map.Entry<String, CacheValue> next = iterator.next();
if (next.getValue().timeOut == 0) {
continue;
@@ -150,9 +205,14 @@
boolean isTimeOut = (System.currentTimeMillis() - next.getValue().getCreateTime().longValue()) > next.getValue().timeOut;
if (isTimeOut) {
- Value removed = localCache.remove(next.getKey());
- LogUtil.debug("清除过期对象:{}", removed.value);
+ CacheValue removed = remove(next.getKey());
+ LogUtil.debug("清除过期对象:{}", removed.cacheValue);
}
+ }
+ if(CollUtil.isNotEmpty(deadCache)){
+ LogUtil.debug("删除数据库中的缓存:{}",deadCache);
+ sysCacheValueDao.deleteBatchIds(deadCache);
+ deadCache.clear();
}
Thread.sleep(1000);
} catch (InterruptedException e) {
@@ -166,49 +226,94 @@
}
}
+ /**
+ * 缓存对象写入磁盘
+ */
+ private synchronized void startSaveStoreThread() {
- private static Value buildValue(String key, Object value) {
+ ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
+ .setNameFormat("startSaveStoreThread-pool-%d").build();
+ ExecutorService singleThreadPool = new ThreadPoolExecutor(1, 1,
+ 0L, TimeUnit.MILLISECONDS,
+ new LinkedBlockingQueue<Runnable>(1), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
+ singleThreadPool.execute(() -> {
+ try {
+ while (true){
+ Collection<CacheValue> values = localCache.values();
+ List<CacheValue> notSavedList = values.stream().filter(v -> !v.saved).collect(Collectors.toList());
+ if(CollUtil.isNotEmpty(notSavedList)){
+ List<String> collect = notSavedList.stream().map(e -> e.getCacheKey()).collect(Collectors.toList());
+ sysCacheValueDao.delete(new LambdaQueryWrapper<SysCacheValue>().in(SysCacheValue::getCacheKey,collect));
+ notSavedList.forEach(e->{
+ e.setSaved(true);
+ SysCacheValue sysCacheValue = buildSysCacheValue(e);
+ sysCacheValueDao.insert(sysCacheValue);
+ e.setId(sysCacheValue.getId());
+ LogUtil.debug("持久化缓存对象:{}",e.getCacheKey());
+ });
+ }
+ Thread.sleep(1000);
+ }
+ } catch (Exception e) {
+ LogUtil.error("存储缓存对象线程异常停止", e);
+ }
+ });
+
+
+ }
+
+ private SysCacheValue buildSysCacheValue(CacheValue e) {
+ SysCacheValue cacheValue=new SysCacheValue();
+ BeanUtil.copyProperties(e,cacheValue);
+ return cacheValue;
+ }
+
+
+ private static CacheValue buildValue(String key, Object value) {
return buildValue(key, value, 0);
}
- private static Value buildValue(String key, Object value, long timeOut) {
- Value instances = new Value();
- instances.createTime = new AtomicLong(System.currentTimeMillis());
- instances.key = key;
- instances.value = value;
+ private static CacheValue buildValue(String key, Object value, long timeOut) {
+ CacheValue instances = new CacheValue();
+ instances.createTime = System.currentTimeMillis();
+ instances.cacheKey = key;
+ instances.cacheValue = JSON.toJSONString(value);
instances.timeOut = timeOut;
return instances;
}
-
-
/**
* 缓存对象
*/
@Data
- static class Value {
+ static class CacheValue {
+
+ private Long id ;
/**
* 过期时间,0 表示不过期,单位毫秒
*/
- private long timeOut = 0;
+ private Long timeOut = 0L;
+
/**
* 缓存key
*/
- private String key;
+ private String cacheKey;
/**
* 缓存值
*/
- private Object value;
+ private String cacheValue;
/**
* 缓存创建时间
*/
- private AtomicLong createTime;
+ private Long createTime;
+ private boolean saved=false;
+ private boolean live=true;
}
diff --git a/zq-erp/src/main/java/com/matrix/system/common/init/UserCacheManager.java b/zq-erp/src/main/java/com/matrix/system/common/init/UserCacheManager.java
index 4db415f..18b0ae8 100644
--- a/zq-erp/src/main/java/com/matrix/system/common/init/UserCacheManager.java
+++ b/zq-erp/src/main/java/com/matrix/system/common/init/UserCacheManager.java
@@ -7,11 +7,13 @@
*/
package com.matrix.system.common.init;
+import com.alibaba.fastjson.TypeReference;
import com.matrix.core.constance.SystemErrorCode;
import com.matrix.core.exception.GlobleException;
import com.matrix.core.tools.StringUtils;
import com.matrix.core.tools.UUIDUtil;
import com.matrix.core.tools.WebUtil;
+import com.matrix.system.hive.bean.SysVipInfo;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@@ -44,7 +46,7 @@
public boolean isUserLogin() {
String token = getUserToken();
if (StringUtils.isNotBlank(token)) {
- return LocalCache.get(token) != null;
+ return LocalCache.get(token,new TypeReference<String>(){}) != null;
} else {
return false;
}
@@ -92,7 +94,7 @@
public <T> T getLoginUser() {
String userToken = getUserToken();
if (userToken != null) {
- T user = LocalCache.get(userToken);
+ T user = LocalCache.get(userToken,new TypeReference<SysVipInfo>(){});
if (Objects.nonNull(user)) {
//重新设置key过期时间
LocalCache.resetExpire(userToken);
diff --git a/zq-erp/src/main/java/com/matrix/system/common/interceptor/ApiUserLoginInterceptor.java b/zq-erp/src/main/java/com/matrix/system/common/interceptor/ApiUserLoginInterceptor.java
index cb284a7..6f0231d 100644
--- a/zq-erp/src/main/java/com/matrix/system/common/interceptor/ApiUserLoginInterceptor.java
+++ b/zq-erp/src/main/java/com/matrix/system/common/interceptor/ApiUserLoginInterceptor.java
@@ -1,6 +1,7 @@
package com.matrix.system.common.interceptor;
import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.matrix.core.constance.MatrixConstance;
import com.matrix.core.pojo.AjaxResult;
@@ -61,7 +62,7 @@
return false;
}
- SysUsers sysUsers = LocalCache.get(token);
+ SysUsers sysUsers = LocalCache.get(token,new TypeReference<SysUsers>(){});
if (Objects.isNull(sysUsers)) {
ajaxResult.setInfo("login time out");
response.getWriter().write(new ObjectMapper().writeValueAsString(ajaxResult));
diff --git a/zq-erp/src/main/java/com/matrix/system/common/interceptor/HostInterceptor.java b/zq-erp/src/main/java/com/matrix/system/common/interceptor/HostInterceptor.java
index 7effc67..c4694a2 100644
--- a/zq-erp/src/main/java/com/matrix/system/common/interceptor/HostInterceptor.java
+++ b/zq-erp/src/main/java/com/matrix/system/common/interceptor/HostInterceptor.java
@@ -1,5 +1,6 @@
package com.matrix.system.common.interceptor;
+import com.alibaba.fastjson.TypeReference;
import com.matrix.core.tools.LogUtil;
import com.matrix.core.tools.StringUtils;
import com.matrix.core.tools.WebUtil;
@@ -47,7 +48,7 @@
return false;
}
- Map<String, SysCompany> companyMap = LocalCache.get("companyMap");
+ Map<String, SysCompany> companyMap = LocalCache.get("companyMap",new TypeReference<Map<String, SysCompany>>(){});
SysCompany company=companyMap.get(host);
if(Objects.nonNull(company)){
// 查到公司后存到sesssion中
diff --git a/zq-erp/src/main/java/com/matrix/system/common/service/impl/SysUsersServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/common/service/impl/SysUsersServiceImpl.java
index 2d14f86..1e26967 100644
--- a/zq-erp/src/main/java/com/matrix/system/common/service/impl/SysUsersServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/common/service/impl/SysUsersServiceImpl.java
@@ -9,6 +9,7 @@
import com.matrix.core.tools.LogUtil;
import com.matrix.core.tools.ModelUtils;
import com.matrix.core.tools.WebUtil;
+import com.matrix.system.app.authority.AppAuthorityManager;
import com.matrix.system.common.authority.DefaultAuthorityManager;
import com.matrix.system.common.bean.SysUserLoginRecord;
import com.matrix.system.common.bean.SysUsers;
@@ -134,8 +135,10 @@
//删除用户权限缓存
String redisKey=DefaultAuthorityManager.USER_POWER_REDISKEY+ SecureUtil.md5(oldSysUsers.getSuId()+"");
String redisKeyPc=DefaultAuthorityManager.USER_POWER_REDISKEY_PC+ SecureUtil.md5(oldSysUsers.getSuId()+"");
+ String appRedisKey = AppAuthorityManager.USER_POWER_REDISKEY_APP + SecureUtil.md5(oldSysUsers.getSuId()+"");
LocalCache.remove(redisKey);
LocalCache.remove(redisKeyPc);
+ LocalCache.remove(appRedisKey);
return MatrixConstance.DML_SUCCESSS;
}
diff --git a/zq-erp/src/main/java/com/matrix/system/common/tools/LocationUtil.java b/zq-erp/src/main/java/com/matrix/system/common/tools/LocationUtil.java
index a741b00..c9b423e 100644
--- a/zq-erp/src/main/java/com/matrix/system/common/tools/LocationUtil.java
+++ b/zq-erp/src/main/java/com/matrix/system/common/tools/LocationUtil.java
@@ -1,5 +1,7 @@
package com.matrix.system.common.tools;
+import java.math.BigDecimal;
+
public class LocationUtil {
private static final double EARTH_RADIUS = 6378.137;
@@ -17,7 +19,7 @@
* shopX 店铺位置经度
* shopY 店铺位置纬度
*/
- public static double getDistance(double locX, double locY, double shopX, double shopY) {
+ public static BigDecimal getDistance(double locX, double locY, double shopX, double shopY) {
double a, b, d, sa2, sb2;
locY = rad(locY);
shopY = rad(shopY);
@@ -29,12 +31,13 @@
d = 2 * EARTH_RADIUS
* Math.asin(Math.sqrt(sa2 * sa2 + Math.cos(locY)
* Math.cos(shopY) * sb2 * sb2));
- return d;
+ return BigDecimal.valueOf(d);
}
public static void main(String[] args) {
// 112.886891,28.222562,114.061937,22.626003 -- 634093.3209722887
// 113.930692,22.939454 -- 597367.3546527711
- System.out.println(getDistance(112.886891d, 28.222562d, 113.930692, 22.939454));
+// System.out.println(getDistance(112.886891d, 28.222562d, 113.930692, 22.939454));
+ System.out.println(BigDecimal.ONE.compareTo(BigDecimal.ZERO)>0);
}
}
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/action/FollowuController.java b/zq-erp/src/main/java/com/matrix/system/hive/action/FollowuController.java
new file mode 100644
index 0000000..569cff6
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/hive/action/FollowuController.java
@@ -0,0 +1,40 @@
+package com.matrix.system.hive.action;
+
+import com.matrix.beauty.followup.entry.SysFollowup;
+import com.matrix.beauty.followup.service.SysFollowupService;
+import com.matrix.core.constance.MatrixConstance;
+import com.matrix.core.pojo.AjaxResult;
+import com.matrix.core.tools.WebUtil;
+import com.matrix.system.common.bean.SysUsers;
+import com.matrix.system.hive.dto.FollowuListDto;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * @description 跟进记录
+ */
+@RestController
+@RequestMapping(value = "admin/followu")
+public class FollowuController extends BaseController{
+
+
+ @Resource
+ private SysFollowupService followupService;
+
+ /**
+ * 显示所有的会员卡等级信息
+ */
+ @RequestMapping(value = "/showList")
+ public AjaxResult showList(@RequestBody @Validated FollowuListDto followuListDto) {
+ SysUsers users = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+ followuListDto.setCompanyId(users.getCompanyId());
+ followuListDto.setSelfStaff(users.getSuId());
+ List<SysFollowup> list= followupService.findVipFollowuByPage(followuListDto);
+ return AjaxResult.buildSuccessInstance(list);
+ }
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java b/zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java
index c02f6ee..cd34e93 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/action/OrderController.java
@@ -219,7 +219,7 @@
if (!DataAuthUtil.hasAllShopAuth()) {
sysOrder.setShopId(getMe().getShopId());
}
- QueryUtil.setQueryLimitCom(sysOrder);
+ sysOrder.setCompanyId(getMe().getCompanyId());
return new AjaxResult(AjaxResult.STATUS_SUCCESS, orderService.findInPage(sysOrder, pageVo),
orderService.findTotal(sysOrder));
}
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/action/ProjUseController.java b/zq-erp/src/main/java/com/matrix/system/hive/action/ProjUseController.java
index ab9b83e..6921eb5 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/action/ProjUseController.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/action/ProjUseController.java
@@ -1,5 +1,6 @@
package com.matrix.system.hive.action;
+import cn.hutool.core.util.StrUtil;
import com.matrix.core.constance.MatrixConstance;
import com.matrix.core.exception.GlobleException;
import com.matrix.core.pojo.AjaxResult;
@@ -19,6 +20,7 @@
import com.matrix.system.hive.service.MoneyCardUseService;
import com.matrix.system.hive.service.SysProjUseService;
import com.matrix.system.hive.service.SysProjuseFreezeService;
+import jodd.util.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
@@ -248,8 +250,15 @@
// String dirPath = "E:";
String dirPath = fileStoragePath;
- File saveFile = new File(dirPath + "/" + fileName);
- file.transferTo(saveFile);
+ File saveFile =new File (new File(dirPath).getAbsolutePath() + File.separator + fileName);
+ if (!saveFile.exists())
+ {
+ if (!saveFile.getParentFile().exists())
+ {
+ saveFile.getParentFile().mkdirs();
+ }
+ }
+ file.transferTo(saveFile.getAbsoluteFile());
SysUsers sysUsers = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
@@ -321,7 +330,7 @@
Object tel = objects.get(1);
if (tel != null) {
String telStr = tel.toString();
- SysVipInfo vipInfo = vipInfoDao.selectByPhone(telStr,sysUsers.getCompanyId());
+ SysVipInfo vipInfo = vipInfoDao.selectByPhone(StrUtil.trim(telStr),sysUsers.getCompanyId());
if (vipInfo == null) {
vipInfo = new SysVipInfo();
vipInfo.setShopId(sysUsers.getShopId());
@@ -378,7 +387,7 @@
Object tel = objects.get(1);
if (tel != null) {
String telStr = tel.toString();
- SysVipInfo vipInfo = vipInfoDao.selectByPhone(telStr,sysUsers.getCompanyId());
+ SysVipInfo vipInfo = vipInfoDao.selectByPhone(StrUtil.trim(telStr),sysUsers.getCompanyId());
if (vipInfo == null) {
vipInfo = new SysVipInfo();
vipInfo.setShopId(sysUsers.getShopId());
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/action/ServiceRecordController.java b/zq-erp/src/main/java/com/matrix/system/hive/action/ServiceRecordController.java
index 0e45975..0dd9357 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/action/ServiceRecordController.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/action/ServiceRecordController.java
@@ -32,7 +32,7 @@
@RequestMapping(value = "/showAllList")
public @ResponseBody
- AjaxResult showAllList(ServiceRecord serviceRecord, PaginationVO pageVo) {
+ AjaxResult showAllList(ServiceRecord serviceRecord, PaginationVO pageVo) {
if (!getMe().getShopRole().equals(Dictionary.FLAG_YES_Y)) {
serviceRecord.setShopId(getMe().getShopId());
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/action/VipInfoController.java b/zq-erp/src/main/java/com/matrix/system/hive/action/VipInfoController.java
index b4f5c12..b80eb06 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/action/VipInfoController.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/action/VipInfoController.java
@@ -7,6 +7,7 @@
import com.matrix.core.pojo.PaginationVO;
import com.matrix.core.tools.DateUtil;
import com.matrix.core.tools.LogUtil;
+import com.matrix.core.tools.StringUtils;
import com.matrix.core.tools.WebUtil;
import com.matrix.core.tools.excl.ExcelSheetPO;
import com.matrix.core.tools.excl.ExcelUtil;
@@ -336,8 +337,14 @@
@RequestMapping(value = "/del")
public @ResponseBody
AjaxResult del(String keys) {
-
- return remove(vipInfoService, keys);
+ List<Long> ids = StringUtils.strToCollToLong(keys, ",");
+ int i = vipInfoService.removeLogic(ids);
+ if (i > 0) {
+ return new AjaxResult(AjaxResult.STATUS_SUCCESS, "成功删除" + i + "条数据");
+ } else {
+ return new AjaxResult(AjaxResult.STATUS_FAIL, "删除失败");
+ }
+// return remove(vipInfoService, keys);
}
/**
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dao/MoneyCardUseDao.java b/zq-erp/src/main/java/com/matrix/system/hive/dao/MoneyCardUseDao.java
index 4f422ae..1d690b9 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/dao/MoneyCardUseDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/dao/MoneyCardUseDao.java
@@ -1,5 +1,6 @@
package com.matrix.system.hive.dao;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.matrix.core.pojo.PaginationVO;
import com.matrix.system.hive.bean.MoneyCardUse;
@@ -88,4 +89,6 @@
int updateInvalidMoneyCardUse();
void updateId(@Param("id")Long id, @Param("newId")Long i);
+
+ int saveInTimeReceiptWare(@Param("storeReceiptWares") List<JSONObject> storeReceiptWares);
}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysShopInfoDao.java b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysShopInfoDao.java
index f2e7153..448fab0 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysShopInfoDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysShopInfoDao.java
@@ -30,7 +30,8 @@
public int selectTotalRecord(@Param("record") SysShopInfo sysShopInfo);
public SysShopInfo selectById(Long id);
-
+
+
public SysShopInfo selectByShopName(@Param("shopName") String shopName);
public List<SysShopInfo> selectShopInfo(Long companyId);
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysVipAlbumDao.java b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysVipAlbumDao.java
index 70f2950..b59cb55 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysVipAlbumDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysVipAlbumDao.java
@@ -1,10 +1,13 @@
package com.matrix.system.hive.dao;
-import org.apache.ibatis.annotations.Param;
-import java.util.List;
-import java.util.Map;
+import com.matrix.beauty.followup.entry.SysFollowup;
import com.matrix.core.pojo.PaginationVO;
import com.matrix.system.hive.bean.SysVipAlbum;
+import com.matrix.system.hive.dto.FollowuListDto;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
/**
* @description 客户相册
@@ -38,5 +41,5 @@
public SysVipAlbum selectById(Long id);
public SysVipAlbum selectForUpdate(Long id);
-
+
}
\ No newline at end of file
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysVipInfoDao.java b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysVipInfoDao.java
index 0d1055a..c35abba 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/dao/SysVipInfoDao.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/dao/SysVipInfoDao.java
@@ -27,6 +27,8 @@
public int deleteByIds(@Param("list") List<Long> list);
+ public int deleteLogicByIds(@Param("list") List<Long> list);
+
public int deleteById(Long id);
public List<SysVipInfo> selectInPage(@Param("record") SysVipInfo sysVipInfo, @Param("pageVo") PaginationVO pageVo);
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/dto/FollowuListDto.java b/zq-erp/src/main/java/com/matrix/system/hive/dto/FollowuListDto.java
new file mode 100644
index 0000000..93c4ff3
--- /dev/null
+++ b/zq-erp/src/main/java/com/matrix/system/hive/dto/FollowuListDto.java
@@ -0,0 +1,36 @@
+package com.matrix.system.hive.dto;
+
+import com.matrix.core.pojo.PaginationDto;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+/** 查询客户跟进记录
+ * @author jyy
+ * @date 2021-01-27
+ **/
+@Data
+public class FollowuListDto extends PaginationDto {
+
+ /**
+ * 客户id
+ */
+ @NotNull
+ private Long vipId;
+
+ /**
+ * 员工id
+ */
+ private Long staffId;
+ /**
+ * 当前查询人
+ */
+ private Long selfStaff;
+
+ /**
+ * 公司id
+ */
+ private Long companyId;
+
+
+}
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/SysVipInfoService.java b/zq-erp/src/main/java/com/matrix/system/hive/service/SysVipInfoService.java
index ae8f69e..8ad76b3 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/SysVipInfoService.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/SysVipInfoService.java
@@ -49,6 +49,13 @@
*/
public int remove(List<Long> list);
+
+ /**
+ * 批量删除SysVipInfo
+ *
+ */
+ public int removeLogic(List<Long> list);
+
/**
* 根据id删除SysVipInfo
*
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/ShoppingGoodsServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/ShoppingGoodsServiceImpl.java
index 287a6a9..57ce97f 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/ShoppingGoodsServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/ShoppingGoodsServiceImpl.java
@@ -1,5 +1,6 @@
package com.matrix.system.hive.service.imp;
+import cn.hutool.core.collection.CollUtil;
import com.matrix.core.constance.MatrixConstance;
import com.matrix.core.exception.GlobleException;
import com.matrix.core.pojo.PaginationVO;
@@ -31,6 +32,8 @@
import java.util.Arrays;
import java.util.Date;
import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
/**
@@ -102,7 +105,6 @@
Arrays.asList(SysOrderItemDto::getCount, SysOrderItemDto::getGoodsId));
}
-
@Override
@Transactional(rollbackFor = Exception.class)
public int add(ShoppingGoods shoppingGoods) {
@@ -110,17 +112,21 @@
SysShopInfo shopInfo = shopInfoDao.selectById(sysUsers.getShopId());
- if (shopInfo.getShopType() == SysShopInfo.SHOP_TYPE_ZONGBU) {
+ if(shopInfo.getShopType() == SysShopInfo.SHOP_TYPE_ZONGBU){
shoppingGoods.setHeadquarters(1);
} else {
shoppingGoods.setHeadquarters(2);
}
shoppingGoods.setShopId(sysUsers.getShopId());
- // 校验去重
- if (serviceUtil.addCheckRepeatTowColumn("shopping_goods",
- "code", shoppingGoods.getCode(),
- "company_id", shoppingGoods.getCompanyId())) {
+
+ //去重查询
+ ShoppingGoods queryGoods=new ShoppingGoods();
+ queryGoods.setCompanyId(shoppingGoods.getCompanyId());
+ queryGoods.setCode(shoppingGoods.getCode());
+ queryGoods.setIsDel(ShoppingGoods.NORMAL);
+ List<ShoppingGoods> oldGoods=shoppingGoodsDao.selectByModel(queryGoods);
+ if(CollUtil.isNotEmpty(oldGoods)){
throw new GlobleException("编号" + shoppingGoods.getCode() + "重复");
}
@@ -280,6 +286,17 @@
@Override
@Transactional(rollbackFor = Exception.class)
public int remove(List<Long> list) {
+ SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+ SysShopInfo zbShop = shopInfoDao.selectZbShop(user.getCompanyId());
+ //非总部员工只能删除自己门店的产品
+ if(user.getShopId()!=zbShop.getId()){
+ //校验是否可以删除
+ List<ShoppingGoods> dataList = shoppingGoodsDao.selectByIds(list);
+ List<ShoppingGoods> collect = dataList.stream().filter(goods -> !Objects.equals(user.getShopId(), goods.getShopId())).collect(Collectors.toList());
+ if(CollUtil.isNotEmpty(collect)){
+ throw new GlobleException("非总部员工只能删除自己门店的产品");
+ }
+ }
return shoppingGoodsDao.deleteByIds(list);
}
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysGoodsServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysGoodsServiceImpl.java
index dd985aa..04e4ce3 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysGoodsServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysGoodsServiceImpl.java
@@ -1,8 +1,5 @@
package com.matrix.system.hive.service.imp;
-import java.util.ArrayList;
-import java.util.List;
-
import com.matrix.core.constance.MatrixConstance;
import com.matrix.core.exception.GlobleException;
import com.matrix.core.pojo.PaginationVO;
@@ -10,8 +7,8 @@
import com.matrix.system.common.bean.SysUsers;
import com.matrix.system.common.dao.UtilDao;
import com.matrix.system.common.tools.ServiceUtil;
+import com.matrix.system.constance.Dictionary;
import com.matrix.system.constance.TableMapping;
-
import com.matrix.system.hive.bean.SysGoods;
import com.matrix.system.hive.dao.SysGoodsDao;
import com.matrix.system.hive.service.SysGoodsService;
@@ -19,7 +16,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-import com.matrix.system.constance.Dictionary;
+import java.util.List;
/**
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjServicesServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjServicesServiceImpl.java
index d643db5..52188d8 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjServicesServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysProjServicesServiceImpl.java
@@ -254,9 +254,13 @@
sysProjServices.setTotalTime(totalTime);
sysProjServices.setMoney(new BigDecimal(hkPrice).setScale(2, BigDecimal.ROUND_HALF_DOWN).doubleValue());
sysProjServicesDao.update(sysProjServices);
-
+ //jyytodo 小程序订单没有操作人
+ Long userId=0L;
+ if(user!=null){
+ userId= user.getSuId();
+ }
//保存单据日志
- operationLogService.saveOperation(sysProjServices.getCompanyId(), sysProjServices.getShopId(),user.getSuId(),
+ operationLogService.saveOperation(sysProjServices.getCompanyId(), sysProjServices.getShopId(),userId,
OperationFunctionEnum.SERVICE_ORDER,
OperationButtonEnum.CREATE,
sysProjServices.getId(),
@@ -652,9 +656,9 @@
taocanProjUse.setStatus(Dictionary.MONEYCARD_STATUS_YX);
taocanProjUse.setBalance(MoneyUtil.add(taocanProjUse.getBalance(), backBlance.doubleValue()));
// if (Dictionary.FLAG_YES_Y.equals(taocanProjUse.getIsCourse())) {
- if (StringUtils.isBlank(taocanProjUse.getIsInfinite()) || Dictionary.FLAG_NO_N.equals(taocanProjUse.getIsInfinite())) {
- taocanProjUse.setSurplusCount(taocanProjUse.getSurplusCount() + beauticianState.getCount());
- }
+ if (StringUtils.isBlank(taocanProjUse.getIsInfinite()) || Dictionary.FLAG_NO_N.equals(taocanProjUse.getIsInfinite())) {
+ taocanProjUse.setSurplusCount(taocanProjUse.getSurplusCount() + beauticianState.getCount());
+ }
// }
sysProjUseDao.update(taocanProjUse);
}
@@ -794,15 +798,15 @@
BusParameterSettings principalConsumption = busParameterSettingsDao.selectCompanyParamByCode(ScoreSettingConstant.PRINCIPAL_CONSUMPTION, vipInfo.getCompanyId());
//本金消耗
if (principalPrice > 0
- && StringUtils.isNotBlank(principalConsumption.getParamValue())) {
+ && StringUtils.isNotBlank(principalConsumption.getParamValue()) && Double.parseDouble(principalConsumption.getParamValue()) > 0 ) {
principalConsumScore[0] = (int) (principalPrice / Double.parseDouble(principalConsumption.getParamValue()));
- if (StringUtils.isNotBlank(principalConsumption.getParamValue1())) {
+ if (StringUtils.isNotBlank(principalConsumption.getParamValue1()) && Double.parseDouble(principalConsumption.getParamValue1()) > 0 ) {
principalConsumScore[1] = (int) (principalPrice / Double.parseDouble(principalConsumption.getParamValue1()));
}
- if (StringUtils.isNotBlank(principalConsumption.getParamValue2())) {
+ if (StringUtils.isNotBlank(principalConsumption.getParamValue2()) && Double.parseDouble(principalConsumption.getParamValue2()) > 0 ) {
principalConsumScore[2] = (int) (principalPrice / Double.parseDouble(principalConsumption.getParamValue2()));
}
}
@@ -811,15 +815,15 @@
BusParameterSettings giveConsumption = busParameterSettingsDao.selectCompanyParamByCode(ScoreSettingConstant.GIVE_CONSUMPTION, vipInfo.getCompanyId());
//本金消耗
if (giftPrice > 0
- && StringUtils.isNotBlank(giveConsumption.getParamValue())) {
+ && StringUtils.isNotBlank(giveConsumption.getParamValue()) && Double.parseDouble(giveConsumption.getParamValue())>0) {
giveConsumScore[0] = (int) (giftPrice / Double.parseDouble(giveConsumption.getParamValue()));
- if (StringUtils.isNotBlank(giveConsumption.getParamValue1())) {
+ if (StringUtils.isNotBlank(giveConsumption.getParamValue1()) && Double.parseDouble(giveConsumption.getParamValue1())>0) {
giveConsumScore[1] = (int) (giftPrice / Double.parseDouble(giveConsumption.getParamValue1()));
}
- if (StringUtils.isNotBlank(giveConsumption.getParamValue2())) {
+ if (StringUtils.isNotBlank(giveConsumption.getParamValue2()) && Double.parseDouble(giveConsumption.getParamValue2())>0 ) {
giveConsumScore[2] = (int) (giftPrice / Double.parseDouble(giveConsumption.getParamValue2()));
}
}
diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java
index 59e8f34..d496984 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysVipInfoServiceImpl.java
@@ -188,6 +188,13 @@
}
@Override
+ public int removeLogic(List<Long> list) {
+
+ return sysVipInfoDao.deleteLogicByIds(list);
+
+ }
+
+ @Override
public int removeById(Long id) {
return sysVipInfoDao.deleteById(id);
diff --git a/zq-erp/src/main/java/com/matrix/system/hiveErp/action/ErpVipInfoController.java b/zq-erp/src/main/java/com/matrix/system/hiveErp/action/ErpVipInfoController.java
index 20c9780..b2b2653 100644
--- a/zq-erp/src/main/java/com/matrix/system/hiveErp/action/ErpVipInfoController.java
+++ b/zq-erp/src/main/java/com/matrix/system/hiveErp/action/ErpVipInfoController.java
@@ -185,8 +185,15 @@
@RequestMapping(value = "/del")
public @ResponseBody
AjaxResult del(String keys) {
+ List<Long> ids = StringUtils.strToCollToLong(keys, ",");
+ int i = vipInfoService.removeLogic(ids);
+ if (i > 0) {
+ return new AjaxResult(AjaxResult.STATUS_SUCCESS, "成功删除" + i + "条数据");
+ } else {
+ return new AjaxResult(AjaxResult.STATUS_FAIL, "删除失败");
+ }
- return remove(vipInfoService, keys);
+// return remove(vipInfoService, keys);
}
/**
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxUserAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxUserAction.java
index 8916a52..4691ceb 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxUserAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxUserAction.java
@@ -158,6 +158,7 @@
@RequestMapping(value = "/findUserInfo")
public @ResponseBody
AjaxResult findUserInfo() {
+ AjaxResult res = new AjaxResult();
SysVipInfo loginUser = userCacheManager.getLoginUser();
SysVipInfo sysVipInfo = sysVipInfoService.findById(loginUser.getId());
@@ -169,20 +170,19 @@
sysVipInfo.setBalance(0D);
sysVipInfo.setPointAll(0);
}
- }
- AjaxResult res = new AjaxResult();
- res.putInMap("couponCount", shopCouponRecordDao.countUnuseCouponRecord(loginUser.getId()));
- res.putInMap("prizeCount", activitySignReceiveRecordDao.getSignAwardReceiveCount(loginUser.getId(), loginUser.getCompanyId()));
- res.putInMap("userInfo", sysVipInfo);
- //查询会员等级
- if (sysVipInfo.getSalesmanGrade() != null) {
- ShopSalesmanGrade shopSalesmanGrade = shopSalesmanGradeDao.selectById(sysVipInfo.getSalesmanGrade());
- res.putInMap("vipLevel", shopSalesmanGrade.getName());
- } else if (sysVipInfo.getVipLevel() != null) {
- res.putInMap("vipLevel", sysVipInfo.getVipLevel().getLevelName());
- } else {
- res.putInMap("vipLevel", "初级会员");
+ res.putInMap("couponCount", shopCouponRecordDao.countUnuseCouponRecord(loginUser.getId()));
+ res.putInMap("prizeCount", activitySignReceiveRecordDao.getSignAwardReceiveCount(loginUser.getId(), loginUser.getCompanyId()));
+ res.putInMap("userInfo", sysVipInfo);
+ //查询会员等级
+ if (sysVipInfo.getSalesmanGrade() != null) {
+ ShopSalesmanGrade shopSalesmanGrade = shopSalesmanGradeDao.selectById(sysVipInfo.getSalesmanGrade());
+ res.putInMap("vipLevel", shopSalesmanGrade.getName());
+ } else if (sysVipInfo.getVipLevel() != null) {
+ res.putInMap("vipLevel", sysVipInfo.getVipLevel().getLevelName());
+ } else {
+ res.putInMap("vipLevel", "初级会员");
+ }
}
res.setStatus(AjaxResult.STATUS_SUCCESS);
return res;
@@ -238,7 +238,7 @@
if ((loginUser.getIsSales() == null || loginUser.getIsSales() == 2)
&& StringUtils.isNotBlank(sysVipInfo.getNickName())) {//目前还不是分销员
BusParameterSettings fxSwith = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_SWITCH, HostInterceptor.getCompanyId());
- if (fxSwith!=null && fxSwith.getParamValue().equals("1")) {//开启分销
+ if (fxSwith!=null && "1".equals(fxSwith.getParamValue())) {//开启分销
BusParameterSettings applyWay = busParameterSettingsDao.selectCompanyParamByCode(FenxiaoSettingConstant.FX_APPLY_WAY, loginUser.getCompanyId());
if (applyWay.getParamValue().equals(FenxiaoSettingConstant.FX_APPLY_WAY_AUTO)) {//自动成为分销员
QueryWrapper<ShopSalesmanApply> queryWrapper = new QueryWrapper<>();
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/YuyueAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/YuyueAction.java
index 19fc17f..47420ba 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/YuyueAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/YuyueAction.java
@@ -122,7 +122,7 @@
return new AjaxResult(AjaxResult.STATUS_SUCCESS, shopList);
}
- Double distance = null;
+ BigDecimal distance = null;
SysShopInfo nearestShop = null;
AjaxResult ajaxResult = new AjaxResult("200", shopList);
@@ -130,9 +130,9 @@
for (SysShopInfo shopInfo : shopList) {
Double shopX = Double.parseDouble(shopInfo.getLongitude());
Double shopY = Double.parseDouble(shopInfo.getLatitude());
- Double disResult = LocationUtil.getDistance(Double.parseDouble(locX), Double.parseDouble(locY), shopX, shopY);
- shopInfo.setDistance(new BigDecimal(disResult).setScale(1, BigDecimal.ROUND_HALF_UP));
- if (distance == null || distance > disResult) {
+ BigDecimal disResult = LocationUtil.getDistance(Double.parseDouble(locX), Double.parseDouble(locY), shopX, shopY);
+ shopInfo.setDistance(disResult);
+ if (distance == null || distance.compareTo(disResult)>0) {
distance = disResult;
nearestShop = shopInfo;
}
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/impl/WxShopActivitiesSecKillServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/impl/WxShopActivitiesSecKillServiceImpl.java
index b7f8f78..3efb015 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/impl/WxShopActivitiesSecKillServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/impl/WxShopActivitiesSecKillServiceImpl.java
@@ -23,6 +23,7 @@
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.ArrayList;
@@ -60,6 +61,7 @@
private ShopActivitiesSeckillRecordDao shopActivitiesSeckillRecordDao;
@Override
+ @Transactional(rollbackFor = Exception.class)
public AjaxResult createSecKillOrder(CreateSecKillDTO secKillDTO) throws Exception {
SysVipInfo sysVipInfo = userCacheManager.getLoginUser();
ShopActivitiesSeckillInfo seckillInfo = shopActivitiesSeckillInfoDao.selectById(secKillDTO.getId());
@@ -173,7 +175,7 @@
//TODO 更新库存和销量 更新库存和销量[考虑和erp库存联动]
wxShopOrderUtil.updateProductAndSkuInfo(details);
- shopOrder.setUserId(secKillDTO.getId());
+ shopOrder.setUserId(sysVipInfo.getId());
shopOrder.setCreateBy("微信小程序生成");
shopOrder.setUpdateBy("微信小程序生成");
shopOrder.setCommodityPrice(secKillDTO.getPrice());
diff --git a/zq-erp/src/main/resources/config/application-alpha.properties b/zq-erp/src/main/resources/config/application-alpha.properties
index 9ebe364..89d9d11 100644
--- a/zq-erp/src/main/resources/config/application-alpha.properties
+++ b/zq-erp/src/main/resources/config/application-alpha.properties
@@ -3,9 +3,9 @@
#线上测试环境
-spring.datasource.username=ct_test
-spring.datasource.password=123456
-spring.datasource.url=jdbc:mysql://120.27.238.55:3306/hive_test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&allowMultiQueries=true&transformedBitIsBoolean=true&serverTimezone=GMT%2B8
+spring.datasource.username=db_alpha
+spring.datasource.password=Alpha!qaz@wsx
+spring.datasource.url=jdbc:mysql://124.70.222.34/db_alpha?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&allowMultiQueries=true&transformedBitIsBoolean=true&serverTimezone=GMT%2B8
@@ -37,10 +37,11 @@
#rabbitMQ配置
-rabbitmq.host=120.27.238.55
+rabbitmq.host=47.111.134.136
rabbitmq.port=5672
-rabbitmq.username=ct_rabbit
-rabbitmq.password=123456
+rabbitmq.username=hivequeue
+rabbitmq.password=hivequeueadmin
+useRabbit=true
server.session.timeout=120
@@ -61,7 +62,7 @@
#是否启用debug模式
debug=false
# 日志文件保存地址
-log_path=/home/javaweb/hive/log
+log_path=/mnt/hive/log
# 系统语言环境 zh中文,us英文
system_language=zh
@@ -72,9 +73,9 @@
default_password=123
#nginx静态资源访问地址
-static_resource_url=http://120.27.238.55:8000/hive/static/uploadeFile/
+static_resource_url=https://hive.file.csxuncong.com/uploadeFile/alpha/
#文件保存地址
-file_storage_path=/home/javaweb/webresource/hive/static/uploadeFile/
+file_storage_path=/mnt/hive/static/uploadeFile/alpha/
#文件上传大小字节为单位 10MB
maxUploadSize=10485760
@@ -119,6 +120,8 @@
wechar_login_url =https://api.weixin.qq.com/sns/jscode2session?appid=%s&secret=%s&js_code=%s&grant_type=authorization_code
xcx_appid =wx3836ab3c1490ff29
xcx_secret =39a3687ec5b2666ed68e7c8b83b26b47
+xcx_manager_appid=wx0d5655a6443807d3
+xcx_manager_secret=b04e675224437c4f17c3068b6c2377b6
#微信支付调试开关
wx_pay_debug_onoff = false
@@ -165,3 +168,27 @@
gzh_appid=wx57e6335559bdbda6
gzh_secret=ecb408af170e3890e6544290cad33760
+
+
+
+#百度编辑器,覆盖默认配置
+ueditor.imageUrlPrefix=https://hive.file.csxuncong.com/uploadeFile/alpha
+ueditor.imagePathFormat=/image/{yyyy}{mm}{dd}/{time}{rand:6}
+
+ueditor.scrawlPathFormat=/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}
+ueditor.scrawlUrlPrefix=https://hive.file.csxuncong.com/uploadeFile/alpha
+
+ueditor.snapscreenPathFormat=/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}
+ueditor.snapscreenUrlPrefix=https://hive.file.csxuncong.com/uploadeFile/alpha
+
+ueditor.catcherPathFormat=/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}
+ueditor.catcherUrlPrefix=https://hive.file.csxuncong.com/uploadeFile/alpha
+
+ueditor.videoPathFormat=/ueditor/jsp/upload/video/{yyyy}{mm}{dd}/{time}{rand:6}
+ueditor.videoUrlPrefix=http://127.0.0.1:1088/uploadeFile/
+
+ueditor.filePathFormat=/ueditor/jsp/upload/file/{yyyy}{mm}{dd}/{time}{rand:6}
+ueditor.fileUrlPrefix=http://127.0.0.1:1088/uploadeFile/
+
+ueditor.imageManagerListPath=http://127.0.0.1:1088/uploadeFile/
+ueditor.fileManagerListPath=http://127.0.0.1:1088/uploadeFile/
\ No newline at end of file
diff --git a/zq-erp/src/main/resources/config/application-local.properties b/zq-erp/src/main/resources/config/application-local.properties
index 20398bb..79bc8fe 100644
--- a/zq-erp/src/main/resources/config/application-local.properties
+++ b/zq-erp/src/main/resources/config/application-local.properties
@@ -1,8 +1,8 @@
#数据库链接
-spring.datasource.username=ct_test
-spring.datasource.password=123456
-spring.datasource.url=jdbc:mysql://120.27.238.55:3306/hive_test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&allowMultiQueries=true&transformedBitIsBoolean=true&serverTimezone=GMT%2B8
+spring.datasource.username=root
+spring.datasource.password=root
+spring.datasource.url=jdbc:mysql://127.0.0.1:3306/md_test_local?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&allowMultiQueries=true&transformedBitIsBoolean=true&serverTimezone=GMT%2B8
#是否启用debug模式
@@ -15,6 +15,9 @@
#文件保存地址
file_storage_path= D:\\webresources\\uploadeFile\\
+local.cache.path= D:\\webresources\\uploadeFile\\
+
+
#微信支付调试开关
wx_pay_debug_onoff = false
diff --git a/zq-erp/src/main/resources/config/application.properties b/zq-erp/src/main/resources/config/application.properties
index ddb6608..6b3f12e 100644
--- a/zq-erp/src/main/resources/config/application.properties
+++ b/zq-erp/src/main/resources/config/application.properties
@@ -1,5 +1,5 @@
-spring.profiles.active=test
+spring.profiles.active=alpha
evn=dev
server.port=8080
diff --git a/zq-erp/src/main/resources/config/prd/system.properties b/zq-erp/src/main/resources/config/prd/system.properties
index 475b515..e78a495 100644
--- a/zq-erp/src/main/resources/config/prd/system.properties
+++ b/zq-erp/src/main/resources/config/prd/system.properties
@@ -95,7 +95,7 @@
platform_verity_url = http://stg1-xcerp-ca.xc.jyymatrix.cc/platform/getUserInfo
#微信支付回调地址
-pay_notify_url = https://xcxhive2.jyymatrix.cc/wxCommon/wxpayCallback
+pay_notify_url=https://xcxhive2.jyymatrix.cc/wxCommon/wxpayCallback
qrcodeBackgroundImgPath=/mnt/xcshop/webresource/static/xcxresource/bj1.png
diff --git a/zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignReceiveRecordDao.xml b/zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignReceiveRecordDao.xml
index d15125a..0d96af4 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignReceiveRecordDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignReceiveRecordDao.xml
@@ -25,7 +25,7 @@
LEFT JOIN shop_activities d ON a.award_id = d.id
<where>
a.company_id = #{record.companyId}
- and a.activity_id = #{record.actId}
+ and a.activity_id = #{record.actId} and (b.IS_DELETE is null or b.IS_DELETE = '')
<if test="record.yhmc != null and record.yhmc != ''">
and b.nick_name like concat('%',#{record.yhmc},'%')
</if>
diff --git a/zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignWriteoffDao.xml b/zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignWriteoffDao.xml
index 748d06f..69f5751 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignWriteoffDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/activity/ActivitySignWriteoffDao.xml
@@ -69,7 +69,7 @@
left join activity_sign_receive_record e on a.receive_id= e.id
left join shop_delivery_info f on a.logistics_id= f.id
<where>
- a.company_id = #{record.companyId}
+ a.company_id = #{record.companyId} and (b.IS_DELETE is null or b.IS_DELETE = '')
<if test="record.zjzxm != null and record.zjzxm != ''">
and b.nick_name like concat('%',#{record.zjzxm},'%')
</if>
@@ -90,7 +90,7 @@
FROM
activity_sign_receive_record a
left join sys_vip_info b on a.user_id= b.id
- where a.user_id = #{userId} and a.award_id = #{receiveId}
+ where a.user_id = #{userId} and a.award_id = #{receiveId} and (b.IS_DELETE is null or b.IS_DELETE = '')
</select>
<select id="selectShopDeliveryInfoByLogisticsId" resultType="com.matrix.system.shopXcx.bean.ShopDeliveryInfo">
diff --git a/zq-erp/src/main/resources/mybatis/mapper/common/OperstionLogDao.xml b/zq-erp/src/main/resources/mybatis/mapper/common/OperstionLogDao.xml
index 3fe7b82..d1018b6 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/common/OperstionLogDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/common/OperstionLogDao.xml
@@ -24,7 +24,7 @@
LEFT JOIN sys_vip_info c ON a.vip_id = c.id
LEFT JOIN sys_shop_info d ON a.shop_id = d.id
<where>
- a.company_id=#{param.companyId}
+ a.company_id=#{param.companyId} and (c.IS_DELETE is null or c.IS_DELETE = '')
<if test="param.shopId != null and param.shopId != 0 ">
and a.shop_id=#{param.shopId}
</if>
diff --git a/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml b/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml
index 1d001af..65dc27b 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/fenxiao/ShopSalesmanApplyDao.xml
@@ -55,7 +55,7 @@
sys_vip_info a
WHERE
a.recommend_id = #{userId}
- AND a.is_sales = #{isSales}
+ AND a.is_sales = #{isSales} and (a.IS_DELETE is null or a.IS_DELETE = '')
</select>
<select id="findShopSalesmanApplyList" resultType="com.matrix.system.fenxiao.vo.ShopSalesmanApplyVo">
@@ -68,9 +68,9 @@
WHERE s.id = a.parent_user_id ) parentUser,
c.nick_name parentUserNow,
( SELECT COUNT(*) FROM sys_vip_info
- WHERE recommend_id = a.user_id AND is_sales != 1 ) lowerLevelNum,
+ WHERE recommend_id = a.user_id AND is_sales != 1 and (IS_DELETE is null or IS_DELETE = '')) lowerLevelNum,
( SELECT COUNT(*) FROM sys_vip_info
- WHERE recommend_id = a.user_id AND is_sales = 1 ) invitedNum,
+ WHERE recommend_id = a.user_id AND is_sales = 1 and (IS_DELETE is null or IS_DELETE = '')) invitedNum,
( SELECT IFNULL(sum(IFNULL(amount, 0)), 0) FROM shop_salesman_order
WHERE order_status = 2 AND sales_user_id = a.user_id ) totalRevenue,
( SELECT IFNULL(sum(IFNULL(amount, 0)), 0) FROM shop_salesman_order
@@ -85,7 +85,7 @@
LEFT JOIN shop_salesman_grade g ON a.grade_id = g.id
LEFT JOIN sys_vip_info c ON c.id = b.recommend_id
<where>
- a.company_id=#{record.companyId}
+ a.company_id=#{record.companyId} and (b.IS_DELETE is null or b.IS_DELETE = '')
<if test="record.shenheState != null and record.shenheState != ''">
and a.apply_status=#{record.shenheState}
</if>
@@ -110,7 +110,7 @@
LEFT JOIN sys_vip_info b ON a.user_id = b.id
<where>
a.company_id = #{record.companyId}
- and a.apply_status = #{record.applyStatus}
+ and a.apply_status = #{record.applyStatus} and (b.IS_DELETE is null or b.IS_DELETE = '')
<if test="record.nickName != null and record.nickName != ''">
and b.nick_name like concat('%',#{record.nickName},'%')
</if>
@@ -132,6 +132,7 @@
<where>
a.company_id = #{record.companyId}
and a.is_sales != 1
+ and (a.IS_DELETE is null or a.IS_DELETE = '')
<if test="record.nickName != null and record.nickName != ''">
and a.nick_name like concat('%',#{record.nickName},'%')
</if>
@@ -185,10 +186,12 @@
( SELECT count( * ) FROM shop_salesman_order c WHERE c.sales_user_id = #{openId} and revenue_type =1 ) AS salesorderCount,
( SELECT count( * ) FROM shop_salesman_order c WHERE c.sales_user_id = #{openId} and revenue_type =2 ) AS invitationOrderCount,
- (select count(*) from sys_vip_info where recommend_id=#{openId} and is_sales=1) as invitationCount,
- (select count(*) from sys_vip_info where recommend_id=#{openId} and is_sales=2) as customerCount
+ (select count(*) from sys_vip_info where recommend_id=#{openId} and is_sales=1
+ and (IS_DELETE is null or IS_DELETE = '')) as invitationCount,
+ (select count(*) from sys_vip_info where recommend_id=#{openId} and is_sales=2
+ and (IS_DELETE is null or IS_DELETE = '')) as customerCount
from sys_vip_info a where
- a.id=#{id}
+ a.id=#{id} and (a.IS_DELETE is null or a.IS_DELETE = '')
</select>
@@ -202,9 +205,11 @@
(SELECT s.nick_name FROM sys_vip_info s
WHERE s.id = a.parent_user_id ) parentUser,
( SELECT COUNT(*) FROM sys_vip_info
- WHERE recommend_id = a.user_id AND is_sales != 1 ) lowerLevelNum,
+ WHERE recommend_id = a.user_id AND is_sales != 1
+ and (IS_DELETE is null or IS_DELETE = '')) lowerLevelNum,
( SELECT COUNT(*) FROM sys_vip_info
- WHERE recommend_id = a.user_id AND is_sales = 1 ) invitedNum,
+ WHERE recommend_id = a.user_id AND is_sales = 1
+ and (IS_DELETE is null or IS_DELETE = '')) invitedNum,
( SELECT IFNULL(sum(IFNULL(amount, 0)), 0) FROM shop_salesman_order
WHERE order_status = 2 AND sales_user_id = a.user_id ) totalRevenue,
( SELECT IFNULL(sum(IFNULL(amount, 0)), 0) FROM shop_salesman_order
@@ -216,7 +221,7 @@
shop_salesman_apply a
LEFT JOIN sys_vip_info b ON a.user_id = b.id
LEFT JOIN shop_salesman_grade g ON a.grade_id = g.id
- where a.id = #{applyId}
+ where a.id = #{applyId} and (b.IS_DELETE is null or b.IS_DELETE = '')
</select>
<select id="findCustomDetail" resultType="com.matrix.system.fenxiao.vo.ShopCustomDetailVo">
@@ -230,7 +235,7 @@
<where>
b.company_id = #{record.companyId}
AND b.is_sales != 1
- and b.recommend_id = #{record.userId}
+ and b.recommend_id = #{record.userId} and (b.IS_DELETE is null or b.IS_DELETE = '')
<if test="record.userName != null and record.userName != ''">
and b.nick_name like concat('%',#{record.userName},'%')
</if>
@@ -254,6 +259,7 @@
a.company_id = #{record.companyId}
AND b.is_sales = 1
and b.recommend_id = #{record.userId}
+ and (b.IS_DELETE is null or b.IS_DELETE = '')
and a.apply_status = 2
<if test="record.userName != null and record.userName != ''">
and b.nick_name like concat('%',#{record.userName},'%')
@@ -283,7 +289,7 @@
left join shop_order c on a.order_id=c.id
LEFT JOIN sys_shop_info f on f.id = c.store_id
<where>
- a.sales_user_id = #{record.userId}
+ a.sales_user_id = #{record.userId} and (b.IS_DELETE is null or b.IS_DELETE = '')
<if test="record.orderType != null and record.orderType != ''">
and a.order_status = #{record.orderType}
</if>
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml
index 0e05a28..2ced513 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/AchieveNewDao.xml
@@ -165,6 +165,7 @@
LEFT JOIN shopping_goods_category i ON e.cate_id = i.id
left join sys_proj_services l on a.service_order_id=l.id
<where>
+ and (c.IS_DELETE is null or c.IS_DELETE = '')
<if test="record!=null">
<if
test="(record.shopId!=null and record.shopId!='') or (record.shopId!='' and record.shopId==0) ">
@@ -266,6 +267,7 @@
LEFT JOIN shopping_goods_category j ON i.parent_id = j.id
left join sys_proj_services l on a.service_order_id=l.id
<where>
+ and (c.IS_DELETE is null or c.IS_DELETE = '')
<if test="record!=null">
<if
test="(record.shopId!=null and record.shopId!='') or (record.shopId!='' and record.shopId==0) ">
@@ -889,7 +891,7 @@
left join sys_users b on a.BEATUY_ID=b.su_id
inner join sys_shop_info c on c.id=a.SHOP_ID
<where>
-
+ and (a.IS_DELETE is null or a.IS_DELETE = '')
<if test="record.vipName != null and record.vipName !=''">
and (a.vip_name like CONCAT(CONCAT('%', #{record.vipName}), '%') or a.vip_no=#{record.vipName} or a.phone = #{record.vipName})
</if>
@@ -921,7 +923,7 @@
left join sys_users b on a.BEATUY_ID=b.su_id
inner join sys_shop_info c on c.id=a.SHOP_ID
<where>
-
+ and (a.IS_DELETE is null or a.IS_DELETE = '')
<if test="record.vipName != null and record.vipName !=''">
and (a.vip_name like CONCAT(CONCAT('%', #{record.vipName}), '%') or a.vip_no=#{record.vipName} or a.phone = #{record.vipName})
</if>
@@ -1156,7 +1158,7 @@
left join sys_order_item j on a.order_item_id=j.ID
left join achieve_rule u on u.id=e.achieve_rule_id
<where>
- and a.company_id = #{record.companyId}
+ and a.company_id = #{record.companyId} and (c.IS_DELETE is null or c.IS_DELETE = '')
<if test="record.shopId != null">
and a.shop_id = #{record.shopId}
</if>
@@ -1292,7 +1294,7 @@
from sys_users a
left join achieve_new b on a.su_id=b.beault_id
left join sys_vip_info c on b.vip_id=c.ID
- where 1=1
+ where 1=1 and (c.IS_DELETE is null or c.IS_DELETE = '')
<if test="record.companyId != null">
and a.company_id=#{record.companyId}
</if>
@@ -1338,7 +1340,7 @@
from sys_users a
left join achieve_new b on a.su_id=b.beault_id
left join sys_vip_info c on b.vip_id=c.ID
- where 1=1
+ where 1=1 and (c.IS_DELETE is null or c.IS_DELETE = '')
<if test="record.companyId != null">
and a.company_id=#{record.companyId}
</if>
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/MoneyCardUseDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/MoneyCardUseDao.xml
index e8fc10b..d828613 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/MoneyCardUseDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/MoneyCardUseDao.xml
@@ -632,4 +632,17 @@
update money_card_use set STATUS='无效'
where date_format(now(), '%Y-%m-%d') > date_format(FAIL_TIME, '%Y-%m-%d') and STATUS='有效'
</update>
+
+ <update id="saveInTimeReceiptWare">
+ <foreach collection="storeReceiptWares" item="wares" separator=";">
+ UPDATE money_card_use
+ <set>
+ <if test="wares.containsKey('createBy')">
+ order_item_id = if(#{wares.createBy}='',NULL,#{wares.createBy}),
+ </if>
+
+ </set>
+ WHERE id = #{wares.id}
+ </foreach>
+ </update>
</mapper>
\ No newline at end of file
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/MyBeauticianCountDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/MyBeauticianCountDao.xml
index b55a131..6819621 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/MyBeauticianCountDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/MyBeauticianCountDao.xml
@@ -32,7 +32,7 @@
LEFT JOIN sys_proj_services b ON a.SERVICES_ID = b.ID
LEFT JOIN sys_vip_info c ON b.VIP_ID = c.ID
LEFT JOIN sys_users d on d.su_id=a.STAFF_ID
- WHERE b.state='服务单结束'
+ WHERE b.state='服务单结束' and (c.IS_DELETE is null or c.IS_DELETE = '')
) t
GROUP BY
t.VIP_ID,
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/ServicesFlowDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/ServicesFlowDao.xml
index 4782953..0403365 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/ServicesFlowDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/ServicesFlowDao.xml
@@ -108,7 +108,7 @@
LEFT JOIN sys_proj_services b on a.service_id=b.ID
LEFT JOIN sys_vip_info c on b.VIP_ID=c.ID
LEFT JOIN sys_users e on e.su_id=a.operation_id
- where 1=1
+ where 1=1 and (c.IS_DELETE is null or c.IS_DELETE = '')
<if test="record!=null">
<if test="record.beginTime != null ">
@@ -158,7 +158,7 @@
LEFT JOIN sys_proj_services b on a.service_id=b.ID
LEFT JOIN sys_vip_info c on b.VIP_ID=c.ID
LEFT JOIN sys_users e on e.su_id=a.operation_id
- where 1=1
+ where 1=1 and (c.IS_DELETE is null or c.IS_DELETE = '')
<if test="record!=null">
<if test="record.beginTime != null ">
@@ -171,7 +171,7 @@
and a.operation_id = #{record.operationId}
</if>
<if test="record.shopId != null and record.shopId !='' ">
- AND b.VIP_ID IN (SELECT t.ID FROM sys_vip_info t WHERE t.shop_id = #{record.shopId})
+ AND b.VIP_ID IN (SELECT t.ID FROM sys_vip_info t WHERE t.shop_id = #{record.shopId} and (t.IS_DELETE is null or t.IS_DELETE = ''))
</if>
<if test="record.shopId != null and record.shopId !='' ">
AND b.shop_id = #{record.shopId}
@@ -202,7 +202,7 @@
LEFT JOIN sys_proj_services b on a.service_id=b.ID
LEFT JOIN sys_vip_info c on b.VIP_ID=c.ID
LEFT JOIN sys_users e on e.su_id=a.operation_id
- where 1=1
+ where 1=1 and (c.IS_DELETE is null or c.IS_DELETE = '')
<if test="record!=null">
<if test="record.beginTime != null ">
@@ -244,7 +244,7 @@
LEFT JOIN sys_proj_services b on a.service_id=b.ID
LEFT JOIN sys_vip_info c on b.VIP_ID=c.ID
LEFT JOIN sys_users e on e.su_id=a.operation_id
- where 1=1
+ where 1=1 and (c.IS_DELETE is null or c.IS_DELETE = '')
<if test="record!=null">
<if test="record.beginTime != null ">
@@ -257,7 +257,7 @@
and a.operation_id = #{record.operationId}
</if>
<if test="record.shopId != null and record.shopId !='' ">
- AND b.VIP_ID IN (SELECT t.ID FROM sys_vip_info t WHERE t.shop_id = #{record.shopId})
+ AND b.VIP_ID IN (SELECT t.ID FROM sys_vip_info t WHERE t.shop_id = #{record.shopId} and (t.IS_DELETE is null or t.IS_DELETE = ''))
</if>
<if test="record.searchShop != null and record.searchShop !=''">
AND b.shop_id = #{record.searchShop}
@@ -302,7 +302,7 @@
LEFT JOIN sys_proj_services b on a.service_id=b.ID
LEFT JOIN sys_vip_info c on b.VIP_ID=c.ID
LEFT JOIN sys_users e on e.su_id=a.operation_id
- where 1=1
+ where 1=1 and (c.IS_DELETE is null or c.IS_DELETE = '')
<if test="record!=null">
<if test="record.beginTime != null ">
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml
index 06992bf..e7c85c5 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/ShoppingGoodsDao.xml
@@ -897,7 +897,7 @@
t.id=cate_id)
cate_name
from shopping_goods a
- where code=#{code}
+ where a.code=#{code} and a.is_del=1
</select>
<!-- 根据id查询 -->
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/SysBeauticianStateDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/SysBeauticianStateDao.xml
index 709e6c9..977ec03 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysBeauticianStateDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysBeauticianStateDao.xml
@@ -333,7 +333,8 @@
and a.STAFF_ID = #{suId} ]]>
and a.STATE !='预约取消'
and a.STATE !='待确认'
- and a.STATE !='待预约'
+ and a.STATE !='服务单结束'
+ and a.STATE !='待预约' and (c.IS_DELETE is null or c.IS_DELETE = '')
order by a.BEGIN_TIME asc
</select>
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/SysFollowupDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/SysFollowupDao.xml
index 408922a..986be92 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysFollowupDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysFollowupDao.xml
@@ -2,9 +2,9 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.matrix.system.hive.dao.SysFollowupDao" >
+<mapper namespace="com.matrix.beauty.followup.dao.SysFollowupDao" >
<!-- 定义SysFollowup 的复杂关联map -->
- <resultMap type="com.matrix.system.hive.bean.SysFollowup" id="SysFollowupMap">
+ <resultMap type="com.matrix.beauty.followup.entry.SysFollowup" id="SysFollowupMap">
<id property="id" column="id" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
@@ -40,7 +40,7 @@
</select>
<!-- 定义SysFollowup 的简单map ,本map不添加其他的关联属性 -->
- <resultMap type="com.matrix.system.hive.bean.SysFollowup" id="SysFollowupSimpleMap">
+ <resultMap type="com.matrix.beauty.followup.entry.SysFollowup" id="SysFollowupSimpleMap">
<id property="id" column="id" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
@@ -142,9 +142,9 @@
</if>
</sql>
-
+
<!-- 插入方法 -->
- <insert id="insert" parameterType="com.matrix.system.hive.bean.SysFollowup"
+ <insert id="insert" parameterType="com.matrix.beauty.followup.entry.SysFollowup"
useGeneratedKeys="true" keyProperty="item.id">
INSERT INTO sys_followup (
<include refid="columns"></include>
@@ -275,7 +275,7 @@
</delete>
<!-- 根据对象删除-->
- <delete id="deleteByModel" parameterType="com.matrix.system.hive.bean.SysFollowup">
+ <delete id="deleteByModel" parameterType="com.matrix.beauty.followup.entry.SysFollowup">
DELETE FROM sys_followup
<where>
<include refid="where_sql" ></include>
@@ -354,7 +354,7 @@
left join sys_vip_info c on a.vip_id=c.id
<where>
and a.company_id=#{companyId}
-
+ and (c.IS_DELETE is null or c.IS_DELETE = '')
<if test="shopId != null ">
and a.shop_id=#{shopId}
</if>
@@ -401,5 +401,23 @@
limit ${offset},${limit}
</select>
+<select id="findVipFollowuByPage" resultMap="SysFollowupMap">
+ select a.*,
+ b.su_photo as staffPhoto,
+ b.su_name as staffName,
+ c.vip_name as vipName
+ from sys_followup a
+ left join sys_users b on a.staff_id= b.su_id
+ left join sys_vip_info c on a.vip_id=c.id
+ <where>
+ and a.company_id=#{companyId}
+ and (visible=1 or ( visible!=1 and a.staff_id=#{selfStaff}))
+ <if test="vipId!=null">
+ and a.vip_id = #{vipId}
+ </if>
+ </where>
+ order by a.create_time desc
+ limit ${offset},${limit}
+ </select>
</mapper>
\ No newline at end of file
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml
index bd66336..d977ac3 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysOrderDao.xml
@@ -187,7 +187,7 @@
left JOIN sys_users c on c.su_id=a.STAFF_ID
left JOIN sys_users e on e.su_id=a.cashier_id
left JOIN sys_shop_info d on d.ID=a.SHOP_ID
- where 1=1
+ where 1=1 and (b.IS_DELETE is null or b.IS_DELETE = '')
<if test="record!=null">
<if test="record.keyWordVo != null and record.keyWordVo!='' ">
and (b.PHONE like concat('%',#{record.keyWordVo},'%')
@@ -275,7 +275,7 @@
LEFT JOIN sys_vip_info b on b.ID=a.VIP_ID
left JOIN sys_users c on c.su_id=a.STAFF_ID
left JOIN sys_shop_info d on d.ID=a.SHOP_ID
- where 1=1
+ where 1=1 and (b.IS_DELETE is null or b.IS_DELETE = '')
<if test="record!=null">
<if test="record.keyWordVo != null and record.keyWordVo!='' ">
and (b.PHONE like concat('%',#{record.keyWordVo},'%')
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjServicesDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjServicesDao.xml
index e37c0d0..d1c42c5 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjServicesDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysProjServicesDao.xml
@@ -311,7 +311,7 @@
FROM sys_proj_services a
LEFT JOIN sys_vip_info b on b.ID=a.VIP_ID
left join sys_beautician_state c on a.id=c.SERVICES_ID
- WHERE 1 = 1
+ WHERE 1 = 1 and (b.IS_DELETE is null or b.IS_DELETE = '')
<if test="record!=null">
<if test="record.queryKey != null and record.queryKey != ''">
and (instr(c.vip_name, #{record.queryKey}) or instr(c.phone, #{record.queryKey}) or instr(a.order_no, #{record.queryKey}))
@@ -381,7 +381,7 @@
FROM sys_proj_services a
LEFT JOIN sys_vip_info b on b.ID=a.VIP_ID
left join sys_beautician_state c on a.id=c.SERVICES_ID
- WHERE 1 = 1
+ WHERE 1 = 1 and (b.IS_DELETE is null or b.IS_DELETE = '')
<if test="record!=null">
<if test="record.queryKey != null and record.queryKey != ''">
and (instr(c.vip_name, #{record.queryKey}) or instr(c.phone, #{record.queryKey}) or instr(a.order_no, #{record.queryKey}))
@@ -453,7 +453,7 @@
FROM sys_proj_services a
LEFT JOIN sys_vip_info b on b.ID=a.VIP_ID
left join sys_beautician_state c on a.id=c.SERVICES_ID
- where a.ID=#{id}
+ where a.ID=#{id} and (b.IS_DELETE is null or b.IS_DELETE = '')
</select>
<select id="selectNeedNoticeService" resultMap="SysProjServicesMap">
@@ -465,7 +465,7 @@
LEFT JOIN sys_vip_info b on b.ID=a.VIP_ID
where a.YY_TIME > now()
and DATE_ADD(now(),INTERVAL 1 HOUR) > a.YY_TIME
- and overtime_notice is null
+ and overtime_notice is null and (b.IS_DELETE is null or b.IS_DELETE = '')
</select>
@@ -486,7 +486,7 @@
FROM sys_proj_services a
LEFT JOIN sys_vip_info b on b.ID=a.VIP_ID
left join sys_beautician_state c on a.id=c.SERVICES_ID
- WHERE 1 = 1
+ WHERE 1 = 1 and (b.IS_DELETE is null or b.IS_DELETE = '')
<if test="record!=null">
<if test="record.queryStaffId != null and record.queryStaffId !='' ">
and (a.CREATE_STAFF_ID = #{record.queryStaffId} or c.STAFF_ID=#{record.queryStaffId} )
@@ -580,7 +580,7 @@
left join sys_proj_use g on b.puse_id=g.ID
left join sys_shop_info h on a.SHOP_ID=h.ID
<where>
- and a.company_id=#{record.companyId}
+ and a.company_id=#{record.companyId} and (e.IS_DELETE is null or e.IS_DELETE = '')
<if test="record.queryKey != null and record.queryKey != ''">
and (instr(a.SERVICE_NO, #{record.queryKey}) or instr(e.phone, #{record.queryKey}) or instr(e.vip_name, #{record.queryKey}) )
</if>
@@ -617,7 +617,7 @@
left join sys_users f on f.su_id=b.STAFF_ID
left join sys_proj_use g on b.puse_id=g.ID
<where>
- and a.company_id=#{record.companyId}
+ and a.company_id=#{record.companyId} and (e.IS_DELETE is null or e.IS_DELETE = '')
<if test="record.queryKey != null and record.queryKey != ''">
and (instr(a.SERVICE_NO, #{record.queryKey}) or instr(e.phone, #{record.queryKey}) or instr(e.vip_name, #{record.queryKey}) )
</if>
@@ -676,6 +676,7 @@
left join sys_shop_info h on a.SHOP_ID=h.ID
left join shopping_goods m on g.proj_id=m.id
<where>
+ and (e.IS_DELETE is null or e.IS_DELETE = '')
<if test="queryKey != null and queryKey != ''">
and instr(a.SERVICE_NO, #{queryKey})
</if>
@@ -727,7 +728,7 @@
left join sys_proj_use g on b.puse_id=g.ID
left join sys_shop_info h on a.SHOP_ID=h.ID
left join shopping_goods m on g.proj_id=m.id
- where a.id=#{id}
+ where a.id=#{id} and (e.IS_DELETE is null or e.IS_DELETE = '')
</select>
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/SysShopInfoDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/SysShopInfoDao.xml
index a5cb67d..3cf87c3 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysShopInfoDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysShopInfoDao.xml
@@ -310,5 +310,12 @@
<select id="selectZbShop" resultMap="SysShopInfoMap">
select * from sys_shop_info where shop_type=1 and company_id=#{companyId}
</select>
+ <select id="selectByIds" resultType="com.matrix.system.hive.bean.SysShopInfo">
+ select * from sys_shop_info where ID in
+ <foreach collection="list" index="index" item="item" open="("
+ separator="," close=")">
+ #{item}
+ </foreach>
+ </select>
</mapper>
\ No newline at end of file
diff --git a/zq-erp/src/main/resources/mybatis/mapper/hive/SysVipInfoDao.xml b/zq-erp/src/main/resources/mybatis/mapper/hive/SysVipInfoDao.xml
index efbcb82..4b6fcb8 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/hive/SysVipInfoDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/hive/SysVipInfoDao.xml
@@ -144,7 +144,7 @@
COMMISSION_ALL,IN_DATE,STAFF_ID,SHOP_ID,IS_DELETE,REMARK,PASSWORD,
EMAIL,CREATE_TIME,UUID,BALANCE,blood,sfCard,link,marry,vocation,handleTime from
sys_vip_info
- WHERE company_id=#{companyId}
+ WHERE company_id=#{companyId} and (IS_DELETE is null or IS_DELETE = '')
and (STAFF_ID = #{staffId} or BEATUY_ID = #{staffId})
AND datediff(date_add(concat(
date_format(BIRTHDAY1, "%Y"),
@@ -170,7 +170,7 @@
select count(*) from
sys_vip_info
WHERE
- company_id=#{companyId}
+ company_id=#{companyId} and (IS_DELETE is null or IS_DELETE = '')
AND (STAFF_ID = #{staffId} or BEATUY_ID = #{staffId})
AND datediff(date_add(concat(
date_format(BIRTHDAY1, "%Y"),
@@ -189,7 +189,7 @@
sys_vip_info a
LEFT JOIN service_record b ON a.ID
= b.vip_id
- WHERE company_id=#{companyId}
+ WHERE company_id=#{companyId} and (a.IS_DELETE is null or a.IS_DELETE = '')
and (a.STAFF_ID = #{staffId} or a.BEATUY_ID = #{staffId})
AND b.follow_time BETWEEN curdate()
AND
@@ -212,7 +212,7 @@
LEFT JOIN service_record b ON a.ID
= b.vip_id
WHERE
- company_id=#{companyId}
+ company_id=#{companyId} and (a.IS_DELETE is null or a.IS_DELETE = '')
and
(a.STAFF_ID = #{staffId} or a.BEATUY_ID = #{staffId})
AND b.follow_time BETWEEN curdate()
@@ -226,7 +226,7 @@
sys_vip_info a
LEFT JOIN sys_proj_services b ON a.ID = b.VIP_ID
WHERE
- company_id=#{companyId}
+ company_id=#{companyId} and (a.IS_DELETE is null or a.IS_DELETE = '')
and
(a.STAFF_ID = #{staffId} or a.BEATUY_ID = #{staffId})
AND b.YY_TIME BETWEEN curdate()
@@ -250,7 +250,7 @@
LEFT JOIN sys_proj_services b ON a.ID = b.VIP_ID
WHERE
- company_id=#{companyId}
+ company_id=#{companyId} and (a.IS_DELETE is null or a.IS_DELETE = '')
and
(a.STAFF_ID = #{staffId} or a.BEATUY_ID = #{staffId})
AND b.YY_TIME BETWEEN curdate()
@@ -568,6 +568,14 @@
</foreach>
</delete>
+ <update id="deleteLogicByIds" parameterType="java.util.List">
+ UPDATE sys_vip_info set IS_DELETE = '已删除' where ID in
+ <foreach collection="list" index="index" item="item" open="("
+ separator="," close=")">
+ #{item}
+ </foreach>
+ </update>
+
<!-- 根据id删除 -->
<delete id="deleteById">
DELETE FROM sys_vip_info
@@ -616,7 +624,7 @@
<select id="findByOpenId" resultMap="SysVipInfoMap">
select *
- from sys_vip_info where openid=#{openId}
+ from sys_vip_info where openid=#{openId} and (IS_DELETE is null or IS_DELETE = '')
</select>
<!-- 根据手机和密码查询 -->
@@ -628,7 +636,7 @@
<!-- 判断是否为唯一 -->
<select id="selectTotalByField" resultType="java.lang.Integer">
select count(*) from
- sys_vip_info where ${field} = #{value}
+ sys_vip_info where ${field} = #{value} and (IS_DELETE is null or IS_DELETE = '')
</select>
<!-- 根据对象查询 -->
@@ -708,7 +716,7 @@
COMMISSION_ALL,IN_DATE,STAFF_ID,SHOP_ID,IS_DELETE,REMARK,PASSWORD,
EMAIL,CREATE_TIME,UUID,BALANCE
from sys_vip_info where
- company_id=#{companyId}
+ company_id=#{companyId} and (IS_DELETE is null or IS_DELETE = '')
and PHONE like concat('%',#{keyWord},'%') limit 0,10
</select>
@@ -721,7 +729,7 @@
COMMISSION_ALL,IN_DATE,STAFF_ID,SHOP_ID,IS_DELETE,REMARK,PASSWORD,
EMAIL,CREATE_TIME,UUID,BALANCE,blood,sfCard,link,marry,vocation
from sys_vip_info
- where company_id=#{companyId}
+ where company_id=#{companyId} and (IS_DELETE is null or IS_DELETE = '')
and (instr(PHONE,#{keyWord})
or instr(VIP_NAME ,#{keyWord})
or instr(zjm ,#{keyWord})
@@ -762,6 +770,7 @@
<sql id="whereVo">
<where>
+ and (a.IS_DELETE is null or a.IS_DELETE = '')
<if test="record!=null">
<if test="record.keyWord != null and record.keyWord !='' ">
and (a.VIP_NO like CONCAT('%',#{record.keyWord},'%') or
@@ -792,7 +801,7 @@
</sql>
<sql id="where">
- where 1=1
+ where 1=1 and (a.IS_DELETE is null or a.IS_DELETE = '')
<if test="record!=null">
<if test="record.id != null and record.id !='' ">
and a.ID = #{record.id}
@@ -1076,7 +1085,7 @@
(select a.id from sys_vip_info a
- where 1=1
+ where 1=1 and (a.IS_DELETE is null or a.IS_DELETE = '')
<if test="record.parentId != null and record.parentId !='' ">
and a.parent_id = #{record.parentId}
</if>
@@ -1089,7 +1098,7 @@
f.vip_name as name
from sys_vip_info d
LEFT JOIN sys_vip_info f on d.parent_id = f.id
- where 1=1
+ where 1=1 and (d.IS_DELETE is null or d.IS_DELETE = '')
<if test="record.parentId != null and record.parentId !='' ">
and d.parent_id = #{record.parentId}
</if>
@@ -1117,7 +1126,7 @@
(select a.id from sys_vip_info a
- where 1=1
+ where 1=1 and (a.IS_DELETE is null or a.IS_DELETE = '')
<if test="record.parentId != null and record.parentId !='' ">
and a.parent_id = #{record.parentId}
</if>
@@ -1130,7 +1139,7 @@
f.vip_name as name
from sys_vip_info d
LEFT JOIN sys_vip_info f on d.parent_id = f.id
- where 1=1
+ where 1=1 and (d.IS_DELETE is null or d.IS_DELETE = '')
<if test="record.parentId != null and record.parentId !='' ">
and d.parent_id = #{record.parentId}
</if>)k
@@ -1143,7 +1152,7 @@
f.vip_name as name
from sys_vip_info d
LEFT JOIN sys_vip_info f on d.parent_id = f.id
- where 1=1
+ where 1=1 and (d.IS_DELETE is null or d.IS_DELETE = '')
<if test="record.parentId != null and record.parentId !='' ">
and d.parent_id = #{record.parentId}
</if>
@@ -1165,7 +1174,7 @@
count(*)
from sys_vip_info d
LEFT JOIN sys_vip_info f on d.parent_id = f.id
- where 1=1
+ where 1=1 and (d.IS_DELETE is null or d.IS_DELETE = '')
<if test="record.parentId != null and record.parentId !='' ">
and d.parent_id = #{record.parentId}
</if>
@@ -1181,7 +1190,7 @@
(select a.id from sys_vip_info a
- where 1=1
+ where 1=1 and (a.IS_DELETE is null or a.IS_DELETE = '')
<if test="record.parentId != null and record.parentId !='' ">
and a.parent_id = #{record.parentId}
</if>
@@ -1207,7 +1216,7 @@
(select a.id from sys_vip_info a
- where 1=1
+ where 1=1 and (a.IS_DELETE is null or a.IS_DELETE = '')
<if test="record.parentId != null and record.parentId !='' ">
and a.parent_id = #{record.parentId}
</if>
@@ -1217,13 +1226,13 @@
<select id="selectByPhone" resultMap="SysVipInfoMapSimple">
- select * from sys_vip_info where PHONE = #{phone} and company_id=#{companyId}
+ select * from sys_vip_info where PHONE = #{phone} and company_id=#{companyId} and (IS_DELETE is null or IS_DELETE = '')
</select>
<select id="selectVipTelphoneByIds" resultType="java.lang.String">
select phone from sys_vip_info
- where phone is not null and id in
+ where phone is not null and (IS_DELETE is null or IS_DELETE = '') and id in
<foreach collection="list" index="index" item="item" open="("
separator="," close=")">
#{item}
@@ -1233,18 +1242,18 @@
<select id="selectAllVipPhone" resultType="java.lang.String">
select phone from sys_vip_info
where
- company_id=#{companyId}
+ company_id=#{companyId} and (IS_DELETE is null or IS_DELETE = '')
and phone is not null
</select>
<select id="selectVipPhoneWithShop" resultType="java.lang.String">
select phone from sys_vip_info
- where phone is not null and shop_id=#{shopId}
+ where phone is not null and shop_id=#{shopId} and (IS_DELETE is null or IS_DELETE = '')
</select>
<select id="selectOldUserByTelphone" resultMap="SysVipInfoMap">
- select * from sys_vip_info where phone=#{telphone} and is_deal=1
+ select * from sys_vip_info where phone=#{telphone} and is_deal=1 and (IS_DELETE is null or IS_DELETE = '')
</select>
@@ -1363,7 +1372,7 @@
</insert>
<select id="selectVipInfoByVipNo" resultMap="SysVipInfoMapSimple">
- select * from sys_vip_info where company_id=#{companyId} and vip_no=#{vipNo}
+ select * from sys_vip_info where company_id=#{companyId} and vip_no=#{vipNo} and (IS_DELETE is null or IS_DELETE = '')
</select>
<select id="selectVipAddressBookByList" resultType="com.matrix.system.app.vo.VipInfoListVo">
@@ -1420,7 +1429,7 @@
</if>
left join sys_shop_info g on a.shop_id = g.id
left join sys_vip_level h on a.level_id=h.id
- where 1=1
+ where 1=1 and (a.IS_DELETE is null or a.IS_DELETE = '')
<if test="record.queryKey != null and record.queryKey != ''">
and (instr(PHONE,#{record.queryKey})
or instr(VIP_NAME ,#{record.queryKey})
@@ -1477,7 +1486,7 @@
left join money_card_use b on a.ID = b.vip_id and b.status='有效'
left join sys_vip_level c on a.LEVEL_ID = c.ID
left join sys_shop_info e on a.SHOP_ID=e.ID
- where a.ID=#{id}
+ where a.ID=#{id} and (a.IS_DELETE is null or a.IS_DELETE = '')
</select>
@@ -1494,7 +1503,7 @@
inner join sys_order b on a.ID=b.VIP_ID
inner join sys_shop_info c on a.SHOP_ID=c.ID
left join sys_users d on a.STAFF_ID=d.su_id
- where b.STATU='欠款' and b.arrears!=0
+ where b.STATU='欠款' and b.arrears!=0 and (a.IS_DELETE is null or a.IS_DELETE = '')
<if test="record.companyId!=null">
and a.company_id=#{record.companyId}
</if>
@@ -1531,7 +1540,7 @@
inner join sys_order b on a.ID=b.VIP_ID
inner join sys_shop_info c on a.SHOP_ID=c.ID
left join sys_users d on a.STAFF_ID=d.su_id
- where b.STATU='欠款' and b.arrears!=0
+ where b.STATU='欠款' and b.arrears!=0 and (a.IS_DELETE is null or a.IS_DELETE = '')
<if test="record.companyId!=null">
and a.company_id=#{record.companyId}
</if>
diff --git a/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopActivitiesGroupJoinDao.xml b/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopActivitiesGroupJoinDao.xml
index 2e74316..cb7b22f 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopActivitiesGroupJoinDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopActivitiesGroupJoinDao.xml
@@ -248,7 +248,7 @@
from shop_activities_group_join t1
inner join shop_activities_group_price t2 on t1.gp_id=t2.id
inner join sys_vip_info t3 on t1.gj_head_id=t3.id
- where t1.act_id = #{record.actId}
+ where t1.act_id = #{record.actId} and (t3.IS_DELETE is null or t3.IS_DELETE = '')
<if test="pageVo !=null"><!-- 判断pageVo对象是否为空 -->
<if test="pageVo.sort !=null and pageVo.order !=null">
order by
@@ -311,7 +311,7 @@
from shop_activities_group_join t1
inner join shop_activities_group_join_user t2 on t1.id=t2.gj_id and t2.is_has_cancel=2 and t2.is_has_pay=1
left join sys_vip_info t3 on t2.user_id=t3.id
- where t1.id=#{gjId}
+ where t1.id=#{gjId} and (t3.IS_DELETE is null or t3.IS_DELETE = '')
</select>
<select id="selectOwnerGroupJoinInfoWithNoPay" resultMap="ShopActivitiesGroupJoinMap">
@@ -328,7 +328,7 @@
from shop_activities_group_join t1
inner join shop_activities_group_join_user t2 on t1.id=t2.gj_id and t2.is_has_cancel=2
left join sys_vip_info t3 on t2.user_id=t3.id
- where t1.id=#{gjId}
+ where t1.id=#{gjId} and (t3.IS_DELETE is null or t3.IS_DELETE = '')
</select>
<select id="selectIsExistGroupInfoByUserId" resultMap="ShopActivitiesGroupJoinMap">
@@ -351,7 +351,7 @@
from shop_activities_group_join t1
inner join shop_activities_group_price t2 on t1.gp_id=t2.id
left join sys_vip_info t3 on t1.gj_head_id=t3.id
- where t1.act_id=#{actId} and t1.gj_status=3
+ where t1.act_id=#{actId} and t1.gj_status=3 and (t3.IS_DELETE is null or t3.IS_DELETE = '')
</select>
<select id="selectGroupAndPriceById" resultMap="ShopActivitiesGroupJoinMap">
diff --git a/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopActivitiesSeckillRecordDao.xml b/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopActivitiesSeckillRecordDao.xml
index 0a420e7..aa69d97 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopActivitiesSeckillRecordDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopActivitiesSeckillRecordDao.xml
@@ -188,7 +188,7 @@
left join sys_shop_info t4 on t3.store_id=t4.id
left join sys_vip_info t5 on t1.user_id=t5.id
left join shop_product t6 on t2.goods_id=t6.id
- where t2.act_id=#{record.actId}
+ where t2.act_id=#{record.actId} and (t5.IS_DELETE is null or t5.IS_DELETE = '')
<if test="pageVo !=null"><!-- 判断pageVo对象是否为空 -->
<if test="pageVo.sort !=null and pageVo.order !=null">
order by
@@ -210,7 +210,7 @@
left join sys_shop_info t4 on t3.store_id=t4.id
left join sys_vip_info t5 on t1.user_id=t5.id
left join shop_product t6 on t2.goods_id=t6.id
- where t2.act_id=#{record.actId}
+ where t2.act_id=#{record.actId} and (t5.IS_DELETE is null or t5.IS_DELETE = '')
</select>
<!-- 根据id查询-->
diff --git a/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopProductCommentDao.xml b/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopProductCommentDao.xml
index 3c85b34..6977ef4 100644
--- a/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopProductCommentDao.xml
+++ b/zq-erp/src/main/resources/mybatis/mapper/xcxShop/ShopProductCommentDao.xml
@@ -88,7 +88,6 @@
<!-- where sql -->
<sql id="where_sql">
-
<if test="record!=null">
<if test="(record.comId!=null and record.comId!='') or (record.comId!='' and record.comId==0) ">
and com_id = #{record.comId}
@@ -381,6 +380,8 @@
LEFT JOIN shop_order o ON c.order_id = o.id
LEFT JOIN sys_vip_info b ON c.user_id = b.id
<where>
+ and (b.IS_DELETE is null or b.IS_DELETE = '')
+
<if test="record!=null">
<if test="(record.userId!=null and record.userId!='') or (record.userId!='' and record.userId==0) ">
and c.user_id = #{record.userId}
@@ -431,7 +432,7 @@
AND p.del_flag = 2
AND o.del_flag = 2
AND c.del_flag = 2
- AND c.com_audit_status = 1
+ AND c.com_audit_status = 1 and (b.IS_DELETE is null or b.IS_DELETE = '')
</where>
order by c.create_time desc
<if test="record.offset >=0 and record.limit >0">
diff --git a/zq-erp/src/main/resources/static/plugin/vue-treeselect/vue-treeselect.min.css b/zq-erp/src/main/resources/static/plugin/vue-treeselect/vue-treeselect.min.css
new file mode 100644
index 0000000..caceb47
--- /dev/null
+++ b/zq-erp/src/main/resources/static/plugin/vue-treeselect/vue-treeselect.min.css
@@ -0,0 +1,5 @@
+/*!
+ * vue-treeselect v0.4.0 | (c) 2017-2019 Riophae Lee
+ * Released under the MIT License.
+ * https://vue-treeselect.js.org/
+ */.vue-treeselect-helper-hide{display:none}.vue-treeselect-helper-zoom-effect-off{-ms-transform:none!important;transform:none!important}@keyframes vue-treeselect-animation-fade-in{0%{opacity:0}}@keyframes vue-treeselect-animation-bounce{0%,to{transform:scale(0)}50%{transform:scale(1)}}@keyframes vue-treeselect-animation-rotate{to{transform:rotate(1turn)}}.vue-treeselect__multi-value-item--transition-enter-active,.vue-treeselect__multi-value-item--transition-leave-active{transition-duration:.2s;transition-property:transform,opacity}.vue-treeselect__multi-value-item--transition-enter-active{transition-timing-function:cubic-bezier(.075,.82,.165,1)}.vue-treeselect__multi-value-item--transition-leave-active{transition-timing-function:cubic-bezier(.215,.61,.355,1);position:absolute}.vue-treeselect__multi-value-item--transition-enter,.vue-treeselect__multi-value-item--transition-leave-to{-ms-transform:scale(.7);transform:scale(.7);opacity:0}.vue-treeselect__multi-value-item--transition-move{transition:transform .2s cubic-bezier(.165,.84,.44,1)}.vue-treeselect{position:relative;text-align:left}[dir=rtl] .vue-treeselect{text-align:right}.vue-treeselect div,.vue-treeselect span{box-sizing:border-box}.vue-treeselect svg{fill:currentColor}.vue-treeselect__control{padding-left:5px;padding-right:5px;display:table;table-layout:fixed;width:100%;height:36px;border:1px solid #ddd;border-radius:5px;background:#fff;transition-duration:.2s;transition-property:border-color,box-shadow,width,height,background-color,opacity;transition-timing-function:cubic-bezier(.215,.61,.355,1)}.vue-treeselect:not(.vue-treeselect--disabled):not(.vue-treeselect--focused) .vue-treeselect__control:hover{border-color:#cfcfcf}.vue-treeselect--focused:not(.vue-treeselect--open) .vue-treeselect__control{border-color:#039be5;box-shadow:0 0 0 3px rgba(3,155,229,.1)}.vue-treeselect--disabled .vue-treeselect__control{background-color:#f9f9f9}.vue-treeselect--open .vue-treeselect__control{border-color:#cfcfcf}.vue-treeselect--open.vue-treeselect--open-below .vue-treeselect__control{border-bottom-left-radius:0;border-bottom-right-radius:0}.vue-treeselect--open.vue-treeselect--open-above .vue-treeselect__control{border-top-left-radius:0;border-top-right-radius:0}.vue-treeselect__multi-value,.vue-treeselect__value-container{width:100%;vertical-align:middle}.vue-treeselect__value-container{display:table-cell;position:relative}.vue-treeselect--searchable:not(.vue-treeselect--disabled) .vue-treeselect__value-container{cursor:text}.vue-treeselect__multi-value{display:inline-block}.vue-treeselect--has-value .vue-treeselect__multi-value{margin-bottom:5px}.vue-treeselect__placeholder,.vue-treeselect__single-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:5px;padding-right:5px;position:absolute;top:0;right:0;bottom:0;left:0;line-height:34px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}.vue-treeselect__placeholder{color:#bdbdbd}.vue-treeselect__single-value{color:#333}.vue-treeselect--focused.vue-treeselect--searchable .vue-treeselect__single-value{color:#bdbdbd}.vue-treeselect--disabled .vue-treeselect__single-value{position:static}.vue-treeselect__multi-value-item-container{display:inline-block;padding-top:5px;padding-right:5px;vertical-align:top}[dir=rtl] .vue-treeselect__multi-value-item-container{padding-right:0;padding-left:5px}.vue-treeselect__multi-value-item{display:inline-table;padding:2px 0;border:1px solid rgba(0,0,0,0);border-radius:2px;font-size:12px;vertical-align:top}.vue-treeselect:not(.vue-treeselect--disabled) .vue-treeselect__multi-value-item:not(.vue-treeselect__multi-value-item-disabled):hover .vue-treeselect__multi-value-item:not(.vue-treeselect__multi-value-item-new) .vue-treeselect__multi-value-item:not(.vue-treeselect__multi-value-item-new):hover,.vue-treeselect__multi-value-item{cursor:pointer;background:#e3f2fd;color:#039be5}.vue-treeselect__multi-value-item.vue-treeselect__multi-value-item-disabled{cursor:default;background:#f5f5f5;color:#757575}.vue-treeselect--disabled .vue-treeselect__multi-value-item{cursor:default;background:#fff;border-color:#e5e5e5;color:#555}.vue-treeselect__multi-value-item.vue-treeselect__multi-value-item-new,.vue-treeselect__multi-value-item.vue-treeselect__multi-value-item-new:hover{background:#e8f5e9}.vue-treeselect__multi-value-label,.vue-treeselect__value-remove{display:table-cell;padding:0 5px;vertical-align:middle}.vue-treeselect__value-remove{color:#039be5;padding-left:5px;border-left:1px solid #fff;line-height:0}[dir=rtl] .vue-treeselect__value-remove{border-left:0;border-right:1px solid #fff}.vue-treeselect__multi-value-item:hover .vue-treeselect__value-remove{color:#e53935}.vue-treeselect--disabled .vue-treeselect__value-remove,.vue-treeselect__multi-value-item-disabled .vue-treeselect__value-remove{display:none}.vue-treeselect__value-remove>svg{width:6px;height:6px}.vue-treeselect__multi-value-label{padding-right:5px;white-space:pre-line;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vue-treeselect__limit-tip{display:inline-block;padding-top:5px;padding-right:5px;vertical-align:top}[dir=rtl] .vue-treeselect__limit-tip{padding-right:0;padding-left:5px}.vue-treeselect__limit-tip-text{cursor:default;display:block;margin:2px 0;padding:1px 0;color:#bdbdbd;font-size:12px;font-weight:600}.vue-treeselect__input-container{display:block;max-width:100%;outline:none}.vue-treeselect--single .vue-treeselect__input-container{font-size:inherit;height:100%}.vue-treeselect--multi .vue-treeselect__input-container{display:inline-block;font-size:12px;vertical-align:top}.vue-treeselect--searchable .vue-treeselect__input-container{padding-left:5px;padding-right:5px}.vue-treeselect--searchable.vue-treeselect--multi.vue-treeselect--has-value .vue-treeselect__input-container{padding-top:5px;padding-left:0}[dir=rtl] .vue-treeselect--searchable.vue-treeselect--multi.vue-treeselect--has-value .vue-treeselect__input-container{padding-left:5px;padding-right:0}.vue-treeselect--disabled .vue-treeselect__input-container{display:none}.vue-treeselect__input,.vue-treeselect__sizer{margin:0;line-height:inherit;font-family:inherit;font-size:inherit}.vue-treeselect__input{max-width:100%;margin:0;padding:0;border:0;outline:none;box-sizing:content-box;box-shadow:none;background:none rgba(0,0,0,0);line-height:1;vertical-align:middle}.vue-treeselect__input::-ms-clear{display:none}.vue-treeselect--single .vue-treeselect__input{width:100%;height:100%}.vue-treeselect--multi .vue-treeselect__input{padding-top:3px;padding-bottom:3px}.vue-treeselect--has-value .vue-treeselect__input{line-height:inherit;vertical-align:top}.vue-treeselect__sizer{position:absolute;top:0;left:0;visibility:hidden;height:0;overflow:scroll;white-space:pre}.vue-treeselect__x-container{display:table-cell;vertical-align:middle;width:20px;text-align:center;line-height:0;cursor:pointer;color:#ccc;animation:vue-treeselect-animation-fade-in .2s cubic-bezier(.075,.82,.165,1)}.vue-treeselect__x-container:hover{color:#e53935}.vue-treeselect__x{width:8px;height:8px}.vue-treeselect__control-arrow-container{display:table-cell;vertical-align:middle;width:20px;text-align:center;line-height:0;cursor:pointer}.vue-treeselect--disabled .vue-treeselect__control-arrow-container{cursor:default}.vue-treeselect__control-arrow{width:9px;height:9px;color:#ccc}.vue-treeselect:not(.vue-treeselect--disabled) .vue-treeselect__control-arrow-container:hover .vue-treeselect__control-arrow{color:#616161}.vue-treeselect--disabled .vue-treeselect__control-arrow{opacity:.35}.vue-treeselect__control-arrow--rotated{-ms-transform:rotate(180deg);transform:rotate(180deg)}.vue-treeselect__menu-container{position:absolute;left:0;width:100%;overflow:visible;transition:0s}.vue-treeselect--open-below:not(.vue-treeselect--append-to-body) .vue-treeselect__menu-container{top:100%}.vue-treeselect--open-above:not(.vue-treeselect--append-to-body) .vue-treeselect__menu-container{bottom:100%}.vue-treeselect__menu{cursor:default;padding-top:5px;padding-bottom:5px;display:block;position:absolute;overflow-x:hidden;overflow-y:auto;width:auto;border:1px solid #cfcfcf;background:#fff;line-height:180%;-webkit-overflow-scrolling:touch}.vue-treeselect--open-below .vue-treeselect__menu{border-bottom-left-radius:5px;border-bottom-right-radius:5px;top:0;margin-top:-1px;border-top-color:#f2f2f2;box-shadow:0 1px 0 rgba(0,0,0,.06)}.vue-treeselect--open-above .vue-treeselect__menu{border-top-left-radius:5px;border-top-right-radius:5px;bottom:0;margin-bottom:-1px;border-bottom-color:#f2f2f2}.vue-treeselect__indent-level-0 .vue-treeselect__option{padding-left:5px}[dir=rtl] .vue-treeselect__indent-level-0 .vue-treeselect__option{padding-left:5px;padding-right:5px}.vue-treeselect__indent-level-0 .vue-treeselect__tip{padding-left:25px}[dir=rtl] .vue-treeselect__indent-level-0 .vue-treeselect__tip{padding-left:5px;padding-right:25px}.vue-treeselect__indent-level-1 .vue-treeselect__option{padding-left:25px}[dir=rtl] .vue-treeselect__indent-level-1 .vue-treeselect__option{padding-left:5px;padding-right:25px}.vue-treeselect__indent-level-1 .vue-treeselect__tip{padding-left:45px}[dir=rtl] .vue-treeselect__indent-level-1 .vue-treeselect__tip{padding-left:5px;padding-right:45px}.vue-treeselect__indent-level-2 .vue-treeselect__option{padding-left:45px}[dir=rtl] .vue-treeselect__indent-level-2 .vue-treeselect__option{padding-left:5px;padding-right:45px}.vue-treeselect__indent-level-2 .vue-treeselect__tip{padding-left:65px}[dir=rtl] .vue-treeselect__indent-level-2 .vue-treeselect__tip{padding-left:5px;padding-right:65px}.vue-treeselect__indent-level-3 .vue-treeselect__option{padding-left:65px}[dir=rtl] .vue-treeselect__indent-level-3 .vue-treeselect__option{padding-left:5px;padding-right:65px}.vue-treeselect__indent-level-3 .vue-treeselect__tip{padding-left:85px}[dir=rtl] .vue-treeselect__indent-level-3 .vue-treeselect__tip{padding-left:5px;padding-right:85px}.vue-treeselect__indent-level-4 .vue-treeselect__option{padding-left:85px}[dir=rtl] .vue-treeselect__indent-level-4 .vue-treeselect__option{padding-left:5px;padding-right:85px}.vue-treeselect__indent-level-4 .vue-treeselect__tip{padding-left:105px}[dir=rtl] .vue-treeselect__indent-level-4 .vue-treeselect__tip{padding-left:5px;padding-right:105px}.vue-treeselect__indent-level-5 .vue-treeselect__option{padding-left:105px}[dir=rtl] .vue-treeselect__indent-level-5 .vue-treeselect__option{padding-left:5px;padding-right:105px}.vue-treeselect__indent-level-5 .vue-treeselect__tip{padding-left:125px}[dir=rtl] .vue-treeselect__indent-level-5 .vue-treeselect__tip{padding-left:5px;padding-right:125px}.vue-treeselect__indent-level-6 .vue-treeselect__option{padding-left:125px}[dir=rtl] .vue-treeselect__indent-level-6 .vue-treeselect__option{padding-left:5px;padding-right:125px}.vue-treeselect__indent-level-6 .vue-treeselect__tip{padding-left:145px}[dir=rtl] .vue-treeselect__indent-level-6 .vue-treeselect__tip{padding-left:5px;padding-right:145px}.vue-treeselect__indent-level-7 .vue-treeselect__option{padding-left:145px}[dir=rtl] .vue-treeselect__indent-level-7 .vue-treeselect__option{padding-left:5px;padding-right:145px}.vue-treeselect__indent-level-7 .vue-treeselect__tip{padding-left:165px}[dir=rtl] .vue-treeselect__indent-level-7 .vue-treeselect__tip{padding-left:5px;padding-right:165px}.vue-treeselect__indent-level-8 .vue-treeselect__option{padding-left:165px}[dir=rtl] .vue-treeselect__indent-level-8 .vue-treeselect__option{padding-left:5px;padding-right:165px}.vue-treeselect__indent-level-8 .vue-treeselect__tip{padding-left:185px}[dir=rtl] .vue-treeselect__indent-level-8 .vue-treeselect__tip{padding-left:5px;padding-right:185px}.vue-treeselect__option{padding-left:5px;padding-right:5px;display:table;table-layout:fixed;width:100%}.vue-treeselect__option--highlight{background:#f5f5f5}.vue-treeselect--single .vue-treeselect__option--selected{background:#e3f2fd;font-weight:600}.vue-treeselect--single .vue-treeselect__option--selected:hover{background:#e3f2fd}.vue-treeselect__option--hide{display:none}.vue-treeselect__option-arrow-container,.vue-treeselect__option-arrow-placeholder{display:table-cell;vertical-align:middle;width:20px;text-align:center;line-height:0}.vue-treeselect__option-arrow-container{cursor:pointer}.vue-treeselect__option-arrow{display:inline-block;width:9px;height:9px;color:#ccc;vertical-align:middle;transition:transform .2s cubic-bezier(.19,1,.22,1);-ms-transform:rotate(-90deg);transform:rotate(-90deg)}[dir=rtl] .vue-treeselect__option-arrow{-ms-transform:rotate(90deg);transform:rotate(90deg)}.vue-treeselect--branch-nodes-disabled .vue-treeselect__option:hover .vue-treeselect__option-arrow,.vue-treeselect__option-arrow-container:hover .vue-treeselect__option-arrow{color:#616161}.vue-treeselect__option-arrow--rotated,[dir=rtl] .vue-treeselect__option-arrow--rotated{-ms-transform:rotate(0);transform:rotate(0)}.vue-treeselect__option-arrow--rotated.vue-treeselect__option-arrow--prepare-enter{-ms-transform:rotate(-90deg)!important;transform:rotate(-90deg)!important}[dir=rtl] .vue-treeselect__option-arrow--rotated.vue-treeselect__option-arrow--prepare-enter{-ms-transform:rotate(90deg)!important;transform:rotate(90deg)!important}.vue-treeselect__label-container{display:table-cell;vertical-align:middle;cursor:pointer;display:table;width:100%;table-layout:fixed;color:inherit}.vue-treeselect__option--disabled .vue-treeselect__label-container{cursor:not-allowed;color:rgba(0,0,0,.25)}.vue-treeselect__checkbox-container{display:table-cell;width:20px;min-width:20px;height:100%;text-align:center;vertical-align:middle}.vue-treeselect__checkbox{display:block;margin:auto;width:12px;height:12px;border-width:1px;border-style:solid;border-radius:2px;position:relative;transition:all .2s cubic-bezier(.075,.82,.165,1)}.vue-treeselect__check-mark,.vue-treeselect__minus-mark{display:block;position:absolute;left:1px;top:1px;background-repeat:no-repeat;opacity:0;transition:all .2s ease}.vue-treeselect__minus-mark{width:8px;height:8px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIAgMAAAC5YVYYAAAACVBMVEUAAAD///////9zeKVjAAAAAnRSTlMAuLMp9oYAAAAPSURBVAjXY4CDrJUgBAMAGaECJ9dz3BAAAAAASUVORK5CYII=);background-size:8px 8px}@media (-webkit-min-device-pixel-ratio:1.5),(min-resolution:1.5dppx){.vue-treeselect__minus-mark{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAgMAAABinRfyAAAADFBMVEUAAAD///////////84wDuoAAAAA3RSTlMAyTzPIdReAAAAGUlEQVQI12PAD+b///+Nof7//79gAsLFCwAx/w4blADeeQAAAABJRU5ErkJggg==)}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.vue-treeselect__minus-mark{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAgMAAABinRfyAAAADFBMVEUAAAD///////////84wDuoAAAAA3RSTlMAyTzPIdReAAAAGUlEQVQI12PAD+b///+Nof7//79gAsLFCwAx/w4blADeeQAAAABJRU5ErkJggg==)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:288dpi){.vue-treeselect__minus-mark{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYBAMAAAASWSDLAAAAD1BMVEUAAAD///////////////+PQt5oAAAABHRSTlMAy2EFIuWxUgAAACRJREFUGNNjGBBgJOICBY7KDCoucODEAJSAS6FwUJShGjAQAADBPRGrK2/FhgAAAABJRU5ErkJggg==)}}.vue-treeselect__checkbox--indeterminate>.vue-treeselect__minus-mark{opacity:1}.vue-treeselect__checkbox--disabled .vue-treeselect__minus-mark{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAIAgMAAAC5YVYYAAAACVBMVEUAAADi4uLh4eHOxeSRAAAAAnRSTlMAuLMp9oYAAAAPSURBVAjXY4CDrJUgBAMAGaECJ9dz3BAAAAAASUVORK5CYII=)}@media (-webkit-min-device-pixel-ratio:1.5),(min-resolution:1.5dppx){.vue-treeselect__checkbox--disabled .vue-treeselect__minus-mark{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAgMAAABinRfyAAAADFBMVEUAAADi4uLi4uLh4eE5RQaIAAAAA3RSTlMAyTzPIdReAAAAGUlEQVQI12PAD+b///+Nof7//79gAsLFCwAx/w4blADeeQAAAABJRU5ErkJggg==)}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.vue-treeselect__checkbox--disabled .vue-treeselect__minus-mark{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAgMAAABinRfyAAAADFBMVEUAAADi4uLi4uLh4eE5RQaIAAAAA3RSTlMAyTzPIdReAAAAGUlEQVQI12PAD+b///+Nof7//79gAsLFCwAx/w4blADeeQAAAABJRU5ErkJggg==)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:288dpi){.vue-treeselect__checkbox--disabled .vue-treeselect__minus-mark{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYBAMAAAASWSDLAAAAD1BMVEUAAADh4eHg4ODNzc3h4eEYfw2wAAAABHRSTlMAy2EFIuWxUgAAACRJREFUGNNjGBBgJOICBY7KDCoucODEAJSAS6FwUJShGjAQAADBPRGrK2/FhgAAAABJRU5ErkJggg==)}}.vue-treeselect__check-mark{width:8px;height:8px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAQlBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////8IX9KGAAAAFXRSTlMA8u24NxILB+Tawb6jiH1zRz0xIQIIP3GUAAAAMklEQVQI1y3FtQEAMQDDQD+EGbz/qkEVOpyEOP6PudKjZNSXn4Jm2CKRdBKzSLsFWl8fMG0Bl6Jk1rMAAAAASUVORK5CYII=);background-size:8px 8px;-ms-transform:scaleY(.125);transform:scaleY(.125)}@media (-webkit-min-device-pixel-ratio:1.5),(min-resolution:1.5dppx){.vue-treeselect__check-mark{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAYFBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////98JRy6AAAAH3RSTlMAzu4sDenl38fBvo1OMyIdEQrj1cSihX5hYFpHNycIcQOASAAAAF9JREFUGNN9zEcOgDAMRFHTS0LvNfe/JRmHKAIJ/mqeLJn+k9uDtaeUeFnFziGsBucUTirrprfe81RqZ3Bb6hPWeuZwDFOHyf+ig9CCzQ7INBn7bG5kF+QSt13BHNJnF7AaCT4Y+CW7AAAAAElFTkSuQmCC)}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.vue-treeselect__check-mark{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAYFBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////98JRy6AAAAH3RSTlMAzu4sDenl38fBvo1OMyIdEQrj1cSihX5hYFpHNycIcQOASAAAAF9JREFUGNN9zEcOgDAMRFHTS0LvNfe/JRmHKAIJ/mqeLJn+k9uDtaeUeFnFziGsBucUTirrprfe81RqZ3Bb6hPWeuZwDFOHyf+ig9CCzQ7INBn7bG5kF+QSt13BHNJnF7AaCT4Y+CW7AAAAAElFTkSuQmCC)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:288dpi){.vue-treeselect__check-mark{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAAWlBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////9ZMre9AAAAHXRSTlMA/PiJhGNI9XlEHJB/b2ldV08+Oibk49vPp6QhAYgGBuwAAACCSURBVCjPrdHdDoIwDAXgTWAqCigo/+f9X5OwnoUwtis4V92XNWladUl+rzQPeQJAN2EHxoOnsPn7/oYk8fxBv08Rr/deOH/aZ2Nm8ZJ+s573QGfWKnNuZGzWm3+lv2V3pcU1XQ385/yjmBoM3Z+dXvlbYLLD3ujhTaOM3KaIXvNkFkuSEvYy1LqOAAAAAElFTkSuQmCC)}}.vue-treeselect__checkbox--checked>.vue-treeselect__check-mark{opacity:1;-ms-transform:scaleY(1);transform:scaleY(1)}.vue-treeselect__checkbox--disabled .vue-treeselect__check-mark{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAP1BMVEUAAADj4+Pf39/h4eHh4eHh4eHk5OTh4eHg4ODi4uLh4eHh4eHg4ODh4eHh4eHg4ODh4eHh4eHp6en////h4eFqcyvUAAAAFHRSTlMAOQfy7bgS5NrBvqOIfXNHMSELAgQ/iFsAAAA2SURBVAjXY4AANjYIzcjMAaVFuBkY+RkEWERYmRjYRXjANAOfiIgIFxNIAa8IpxBEi6AwiAQAK2MBd7xY8csAAAAASUVORK5CYII=)}@media (-webkit-min-device-pixel-ratio:1.5),(min-resolution:1.5dppx){.vue-treeselect__checkbox--disabled .vue-treeselect__check-mark{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAXVBMVEUAAADh4eHh4eHh4eHi4uLb29vh4eHh4eHh4eHh4eHh4eHh4eHh4eHi4uLi4uLj4+Pi4uLk5OTo6Ojh4eHh4eHi4uLg4ODg4ODh4eHg4ODh4eHf39/g4OD////h4eEzIk+wAAAAHnRSTlMAzu6/LA3p5eLZx8ONTjYiHRIKooV+YWBaRzEnCANnm5rnAAAAZElEQVQY033P2wqAIAyA4VWaaWrnc/n+j5mbhBjUf7WPoTD47TJb4i5zTr/sRDRHuyFaoWX7uK/RlbctlPEuyI1f4WY9yQINEkf6rzzo8YIzmUFoCs7J1EjeIaa9bXIEmzl8dgOZEAj/+2IvzAAAAABJRU5ErkJggg==)}}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.vue-treeselect__checkbox--disabled .vue-treeselect__check-mark{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAXVBMVEUAAADh4eHh4eHh4eHi4uLb29vh4eHh4eHh4eHh4eHh4eHh4eHh4eHi4uLi4uLj4+Pi4uLk5OTo6Ojh4eHh4eHi4uLg4ODg4ODh4eHg4ODh4eHf39/g4OD////h4eEzIk+wAAAAHnRSTlMAzu6/LA3p5eLZx8ONTjYiHRIKooV+YWBaRzEnCANnm5rnAAAAZElEQVQY033P2wqAIAyA4VWaaWrnc/n+j5mbhBjUf7WPoTD47TJb4i5zTr/sRDRHuyFaoWX7uK/RlbctlPEuyI1f4WY9yQINEkf6rzzo8YIzmUFoCs7J1EjeIaa9bXIEmzl8dgOZEAj/+2IvzAAAAABJRU5ErkJggg==)}}@media (-webkit-min-device-pixel-ratio:3),(min-resolution:288dpi){.vue-treeselect__checkbox--disabled .vue-treeselect__check-mark{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAAUVBMVEUAAADh4eHh4eHh4eHh4eHi4uLi4uLh4eHh4eHh4eHf39/j4+Ph4eHh4eHh4eHg4ODi4uLh4eHh4eHi4uLh4eHh4eHh4eHh4eHh4eH////h4eF3FMFTAAAAGnRSTlMA+/eJhGhfSHE9JBzz5KaQf3pXT0Xbz0I5AYDw8F0AAAB+SURBVCjPrdHbDoMgEEVRKAii1dZe9fz/hxplTiKIT7qfYCWTEEZdUvOwbckNAD2WHeh3brHW5f5EzGQ+iN+b1Gt6KPvtv16Dn6JX9M9ya3/A1yfu5dlyduL6Hec7mXY6ddXLPP2lpABGZ8PWXfYLTJxZekVhhl7eTX24zZPNKXoRC7zQLjUAAAAASUVORK5CYII=)}}.vue-treeselect__checkbox--unchecked{border-color:#e0e0e0;background:#fff}.vue-treeselect__label-container:hover .vue-treeselect__checkbox--unchecked{border-color:#039be5;background:#fff}.vue-treeselect__checkbox--checked,.vue-treeselect__checkbox--indeterminate,.vue-treeselect__label-container:hover .vue-treeselect__checkbox--checked,.vue-treeselect__label-container:hover .vue-treeselect__checkbox--indeterminate{border-color:#039be5;background:#039be5}.vue-treeselect__checkbox--disabled,.vue-treeselect__label-container:hover .vue-treeselect__checkbox--disabled{border-color:#e0e0e0;background-color:#f7f7f7}.vue-treeselect__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:table-cell;padding-left:5px;max-width:100%;vertical-align:middle;cursor:inherit}[dir=rtl] .vue-treeselect__label{padding-left:0;padding-right:5px}.vue-treeselect__count{margin-left:5px;font-weight:400;opacity:.6}[dir=rtl] .vue-treeselect__count{margin-left:0;margin-right:5px}.vue-treeselect__tip{padding-left:5px;padding-right:5px;display:table;table-layout:fixed;width:100%;color:#757575}.vue-treeselect__tip-text{display:table-cell;vertical-align:middle;padding-left:5px;padding-right:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:12px}.vue-treeselect__error-tip .vue-treeselect__retry{cursor:pointer;margin-left:5px;font-style:normal;font-weight:600;text-decoration:none;color:#039be5}[dir=rtl] .vue-treeselect__error-tip .vue-treeselect__retry{margin-left:0;margin-right:5px}.vue-treeselect__icon-container{display:table-cell;vertical-align:middle;width:20px;text-align:center;line-height:0}.vue-treeselect--single .vue-treeselect__icon-container{padding-left:5px}[dir=rtl] .vue-treeselect--single .vue-treeselect__icon-container{padding-left:0;padding-right:5px}.vue-treeselect__icon-warning{display:block;margin:auto;border-radius:50%;position:relative;width:12px;height:12px;background:#fb8c00}.vue-treeselect__icon-warning:after{display:block;position:absolute;content:"";left:5px;top:2.5px;width:2px;height:1px;border-color:#fff;border-style:solid;border-width:5px 0 1px}.vue-treeselect__icon-error{display:block;margin:auto;border-radius:50%;position:relative;width:12px;height:12px;background:#e53935}.vue-treeselect__icon-error:after,.vue-treeselect__icon-error:before{display:block;position:absolute;content:"";background:#fff;-ms-transform:rotate(45deg);transform:rotate(45deg)}.vue-treeselect__icon-error:before{width:6px;height:2px;left:3px;top:5px}.vue-treeselect__icon-error:after{width:2px;height:6px;left:5px;top:3px}.vue-treeselect__icon-loader{display:block;margin:auto;position:relative;width:12px;height:12px;text-align:center;animation:vue-treeselect-animation-rotate 1.6s linear infinite}.vue-treeselect__icon-loader:after,.vue-treeselect__icon-loader:before{border-radius:50%;position:absolute;content:"";left:0;top:0;display:block;width:100%;height:100%;opacity:.6;animation:vue-treeselect-animation-bounce 1.6s ease-in-out infinite}.vue-treeselect__icon-loader:before{background:#039be5}.vue-treeselect__icon-loader:after{background:#b3e5fc;animation-delay:-.8s}.vue-treeselect__menu-placeholder{display:none}.vue-treeselect__portal-target{position:absolute;display:block;left:0;top:0;height:0;width:0;padding:0;margin:0;border:0;overflow:visible;box-sizing:border-box}
\ No newline at end of file
diff --git a/zq-erp/src/main/resources/static/plugin/vue-treeselect/vue-treeselect.umd.min.js b/zq-erp/src/main/resources/static/plugin/vue-treeselect/vue-treeselect.umd.min.js
new file mode 100644
index 0000000..1d83181
--- /dev/null
+++ b/zq-erp/src/main/resources/static/plugin/vue-treeselect/vue-treeselect.umd.min.js
@@ -0,0 +1,7 @@
+/*!
+ * vue-treeselect v0.4.0 | (c) 2017-2019 Riophae Lee
+ * Released under the MIT License.
+ * https://vue-treeselect.js.org/
+ */
+!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("Vue")):"function"==typeof define&&define.amd?define(["Vue"],t):"object"==typeof exports?exports.VueTreeselect=t(require("Vue")):e.VueTreeselect=t(e.Vue)}(window,(function(e){return function(e){var t={};function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{}};return e[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(i,r,function(t){return e[t]}.bind(null,r));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=36)}([function(e,t){e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},function(e,t){var n=/^(attrs|props|on|nativeOn|class|style|hook)$/;function i(e,t){return function(){e&&e.apply(this,arguments),t&&t.apply(this,arguments)}}e.exports=function(e){return e.reduce((function(e,t){var r,o,s,a,l;for(s in t)if(r=e[s],o=t[s],r&&n.test(s))if("class"===s&&("string"==typeof r&&(l=r,e[s]=r={},r[l]=!0),"string"==typeof o&&(l=o,t[s]=o={},o[l]=!0)),"on"===s||"nativeOn"===s||"hook"===s)for(a in o)r[a]=i(r[a],o[a]);else if(Array.isArray(r))e[s]=r.concat(o);else if(Array.isArray(o))e[s]=[r].concat(o);else for(a in o)r[a]=o[a];else e[s]=t[s];return e}),{})}},function(e,t,n){var i=n(21),r=n(22),o=n(23);e.exports=function(e){return i(e)||r(e)||o()}},function(e,t){e.exports=function(){}},function(e,t,n){var i=n(5),r=n(24),o=n(7),s="Expected a function",a=Math.max,l=Math.min;e.exports=function(e,t,n){var c,u,d,h,f,p,v=0,m=!1,g=!1,y=!0;if("function"!=typeof e)throw new TypeError(s);function S(t){var n=c,i=u;return c=u=void 0,v=t,h=e.apply(i,n)}function O(e){var n=e-p;return void 0===p||n>=t||n<0||g&&e-v>=d}function b(){var e=r();if(O(e))return _(e);f=setTimeout(b,function(e){var n=t-(e-p);return g?l(n,d-(e-v)):n}(e))}function _(e){return f=void 0,y&&c?S(e):(c=u=void 0,h)}function E(){var e=r(),n=O(e);if(c=arguments,u=this,p=e,n){if(void 0===f)return function(e){return v=e,f=setTimeout(b,t),m?S(e):h}(p);if(g)return clearTimeout(f),f=setTimeout(b,t),S(p)}return void 0===f&&(f=setTimeout(b,t)),h}return t=o(t)||0,i(n)&&(m=!!n.leading,d=(g="maxWait"in n)?a(o(n.maxWait)||0,t):d,y="trailing"in n?!!n.trailing:y),E.cancel=function(){void 0!==f&&clearTimeout(f),v=0,c=p=u=f=void 0},E.flush=function(){return void 0===f?h:_(r())},E}},function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},function(e,t,n){var i=n(25),r="object"==typeof self&&self&&self.Object===Object&&self,o=i||r||Function("return this")();e.exports=o},function(e,t,n){var i=n(5),r=n(27),o=NaN,s=/^\s+|\s+$/g,a=/^[-+]0x[0-9a-f]+$/i,l=/^0b[01]+$/i,c=/^0o[0-7]+$/i,u=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(r(e))return o;if(i(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=i(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(s,"");var n=l.test(e);return n||c.test(e)?u(e.slice(2),n?2:8):a.test(e)?o:+e}},function(e,t,n){var i=n(6).Symbol;e.exports=i},function(e,t){e.exports=function(e){return!!e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then}},function(e,t,n){var i=n(32);e.exports=function(e){return i(2,e)}},function(e,t){e.exports=function(e){return e}},function(e,t){e.exports=function(e){return function(){return e}}},function(e,t){e.exports=function(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}},function(e,t,n){var i=n(18),r=n(19),o=n(20);e.exports=function(e,t){return i(e)||r(e,t)||o()}},function(e,t,n){"use strict";e.exports=function(e,t){var n=t.length,i=e.length;if(i>n)return!1;if(i===n)return e===t;e:for(var r=0,o=0;r<i;r++){for(var s=e.charCodeAt(r);o<n;)if(t.charCodeAt(o++)===s)continue e;return!1}return!0}},function(e,t){function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function i(t){return"function"==typeof Symbol&&"symbol"===n(Symbol.iterator)?e.exports=i=function(e){return n(e)}:e.exports=i=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":n(e)},i(t)}e.exports=i},function(t,n){t.exports=e},function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},function(e,t){e.exports=function(e,t){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var n=[],i=!0,r=!1,o=void 0;try{for(var s,a=e[Symbol.iterator]();!(i=(s=a.next()).done)&&(n.push(s.value),!t||n.length!==t);i=!0);}catch(e){r=!0,o=e}finally{try{i||null==a.return||a.return()}finally{if(r)throw o}}return n}}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}},function(e,t){e.exports=function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}},function(e,t){e.exports=function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}},function(e,t,n){var i=n(6);e.exports=function(){return i.Date.now()}},function(e,t,n){(function(t){var n="object"==typeof t&&t&&t.Object===Object&&t;e.exports=n}).call(this,n(26))},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){var i=n(28),r=n(31),o="[object Symbol]";e.exports=function(e){return"symbol"==typeof e||r(e)&&i(e)==o}},function(e,t,n){var i=n(8),r=n(29),o=n(30),s="[object Null]",a="[object Undefined]",l=i?i.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?a:s:l&&l in Object(e)?r(e):o(e)}},function(e,t,n){var i=n(8),r=Object.prototype,o=r.hasOwnProperty,s=r.toString,a=i?i.toStringTag:void 0;e.exports=function(e){var t=o.call(e,a),n=e[a];try{e[a]=void 0;var i=!0}catch(e){}var r=s.call(e);return i&&(t?e[a]=n:delete e[a]),r}},function(e,t){var n=Object.prototype.toString;e.exports=function(e){return n.call(e)}},function(e,t){e.exports=function(e){return null!=e&&"object"==typeof e}},function(e,t,n){var i=n(33),r="Expected a function";e.exports=function(e,t){var n;if("function"!=typeof t)throw new TypeError(r);return e=i(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=void 0),n}}},function(e,t,n){var i=n(34);e.exports=function(e){var t=i(e),n=t%1;return t==t?n?t-n:t:0}},function(e,t,n){var i=n(7),r=1/0,o=17976931348623157e292;e.exports=function(e){return e?(e=i(e))===r||e===-r?(e<0?-1:1)*o:e==e?e:0:0===e?e:0}},function(e,t,n){},function(e,t,n){"use strict";n.r(t);var i=n(14),r=n.n(i),o=n(2),s=n.n(o),a=n(0),l=n.n(a),c=n(15),u=n.n(c),d=n(3),h=n.n(d).a;function f(e){return function(t){if("mousedown"===t.type&&0===t.button){for(var n=arguments.length,i=new Array(n>1?n-1:0),r=1;r<n;r++)i[r-1]=arguments[r];e.call.apply(e,[this,t].concat(i))}}}function p(e,t){var n=e.getBoundingClientRect(),i=t.getBoundingClientRect(),r=t.offsetHeight/3;i.bottom+r>n.bottom?e.scrollTop=Math.min(t.offsetTop+t.clientHeight-e.offsetHeight+r,e.scrollHeight):i.top-r<n.top&&(e.scrollTop=Math.max(t.offsetTop-r,0))}var v,m=n(4),g=n.n(m),y=function(e,t){var n=document.createElement("_"),i=n.appendChild(document.createElement("_")),r=n.appendChild(document.createElement("_")),o=i.appendChild(document.createElement("_")),s=void 0,a=void 0;return i.style.cssText=n.style.cssText="height:100%;left:0;opacity:0;overflow:hidden;pointer-events:none;position:absolute;top:0;transition:0s;width:100%;z-index:-1",o.style.cssText=r.style.cssText="display:block;height:100%;transition:0s;width:100%",o.style.width=o.style.height="200%",e.appendChild(n),l(),function(){c(),e.removeChild(n)};function l(){c();var o=e.offsetWidth,u=e.offsetHeight;o===s&&u===a||(s=o,a=u,r.style.width=2*o+"px",r.style.height=2*u+"px",n.scrollLeft=n.scrollWidth,n.scrollTop=n.scrollHeight,i.scrollLeft=i.scrollWidth,i.scrollTop=i.scrollHeight,t({width:o,height:u})),i.addEventListener("scroll",l),n.addEventListener("scroll",l)}function c(){i.removeEventListener("scroll",l),n.removeEventListener("scroll",l)}};function S(e,t){var n=e.indexOf(t);-1!==n&&e.splice(n,1)}var O=[],b=100;function _(e){var t=e.$el,n=e.listener,i=e.lastWidth,r=e.lastHeight,o=t.offsetWidth,s=t.offsetHeight;i===o&&r===s||(e.lastWidth=o,e.lastHeight=s,n({width:o,height:s}))}function E(e,t){var n={$el:e,listener:t,lastWidth:null,lastHeight:null};return O.push(n),_(n),v=setInterval((function(){O.forEach(_)}),b),function(){S(O,n),O.length||(clearInterval(v),v=null)}}function N(e,t){var n=9===document.documentMode,i=!0,r=(n?E:y)(e,(function(){return i||t.apply(void 0,arguments)}));return i=!1,r}function L(e){var t=getComputedStyle(e),n=t.overflow,i=t.overflowX,r=t.overflowY;return/(auto|scroll|overlay)/.test(n+r+i)}function x(e,t){var n=function(e){for(var t=[],n=e.parentNode;n&&"BODY"!==n.nodeName&&n.nodeType===document.ELEMENT_NODE;)L(n)&&t.push(n),n=n.parentNode;return t.push(window),t}(e);return window.addEventListener("resize",t,{passive:!0}),n.forEach((function(e){e.addEventListener("scroll",t,{passive:!0})})),function(){window.removeEventListener("resize",t,{passive:!0}),n.forEach((function(e){e.removeEventListener("scroll",t,{passive:!0})}))}}function w(e){return e!=e}var C=n(9),D=n.n(C),I=n(10),M=n.n(I),A=n(11),T=n.n(A),R=n(12),$=n.n(R),B=function(){return Object.create(null)},z=n(16),V=n.n(z);function k(e){return null!=e&&"object"===V()(e)&&Object.getPrototypeOf(e)===Object.prototype}function F(e,t){if(k(t))for(var n=Object.keys(t),i=0,r=n.length;i<r;i++)o=e,s=n[i],k(a=t[n[i]])?(o[s]||(o[s]={}),F(o[s],a)):o[s]=a;var o,s,a;return e}var j=n(13),P=n.n(j);function H(e,t){return-1!==e.indexOf(t)}function W(e,t,n){for(var i=0,r=e.length;i<r;i++)if(t.call(n,e[i],i,e))return e[i]}function Q(e,t){if(e.length!==t.length)return!0;for(var n=0;n<e.length;n++)if(e[n]!==t[n])return!0;return!1}var Y=8,q=13,K=27,X=35,U=36,J=37,G=38,Z=39,ee=40,te=46;function ne(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function ie(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ne(n,!0).forEach((function(t){l()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ne(n).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function re(e,t){for(var n=0;;){if(e.level<n)return-1;if(t.level<n)return 1;if(e.index[n]!==t.index[n])return e.index[n]-t.index[n];n++}}function oe(e,t,n){return e?u()(t,n):H(n,t)}function se(e){return e.message||String(e)}var ae=0,le={provide:function(){return{instance:this}},props:{allowClearingDisabled:{type:Boolean,default:!1},allowSelectingDisabledDescendants:{type:Boolean,default:!1},alwaysOpen:{type:Boolean,default:!1},appendToBody:{type:Boolean,default:!1},async:{type:Boolean,default:!1},autoFocus:{type:Boolean,default:!1},autoLoadRootOptions:{type:Boolean,default:!0},autoDeselectAncestors:{type:Boolean,default:!1},autoDeselectDescendants:{type:Boolean,default:!1},autoSelectAncestors:{type:Boolean,default:!1},autoSelectDescendants:{type:Boolean,default:!1},backspaceRemoves:{type:Boolean,default:!0},beforeClearAll:{type:Function,default:$()(!0)},branchNodesFirst:{type:Boolean,default:!1},cacheOptions:{type:Boolean,default:!0},clearable:{type:Boolean,default:!0},clearAllText:{type:String,default:"Clear all"},clearOnSelect:{type:Boolean,default:!1},clearValueText:{type:String,default:"Clear value"},closeOnSelect:{type:Boolean,default:!0},defaultExpandLevel:{type:Number,default:0},defaultOptions:{default:!1},deleteRemoves:{type:Boolean,default:!0},delimiter:{type:String,default:","},flattenSearchResults:{type:Boolean,default:!1},disableBranchNodes:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},disableFuzzyMatching:{type:Boolean,default:!1},flat:{type:Boolean,default:!1},instanceId:{default:function(){return"".concat(ae++,"$$")},type:[String,Number]},joinValues:{type:Boolean,default:!1},limit:{type:Number,default:1/0},limitText:{type:Function,default:function(e){return"and ".concat(e," more")}},loadingText:{type:String,default:"Loading..."},loadOptions:{type:Function},matchKeys:{type:Array,default:$()(["label"])},maxHeight:{type:Number,default:300},multiple:{type:Boolean,default:!1},name:{type:String},noChildrenText:{type:String,default:"No sub-options."},noOptionsText:{type:String,default:"No options available."},noResultsText:{type:String,default:"No results found..."},normalizer:{type:Function,default:T.a},openDirection:{type:String,default:"auto",validator:function(e){return H(["auto","top","bottom","above","below"],e)}},openOnClick:{type:Boolean,default:!0},openOnFocus:{type:Boolean,default:!1},options:{type:Array},placeholder:{type:String,default:"Select..."},required:{type:Boolean,default:!1},retryText:{type:String,default:"Retry?"},retryTitle:{type:String,default:"Click to retry"},searchable:{type:Boolean,default:!0},searchNested:{type:Boolean,default:!1},searchPromptText:{type:String,default:"Type to search..."},showCount:{type:Boolean,default:!1},showCountOf:{type:String,default:"ALL_CHILDREN",validator:function(e){return H(["ALL_CHILDREN","ALL_DESCENDANTS","LEAF_CHILDREN","LEAF_DESCENDANTS"],e)}},showCountOnSearch:null,sortValueBy:{type:String,default:"ORDER_SELECTED",validator:function(e){return H(["ORDER_SELECTED","LEVEL","INDEX"],e)}},tabIndex:{type:Number,default:0},value:null,valueConsistsOf:{type:String,default:"BRANCH_PRIORITY",validator:function(e){return H(["ALL","BRANCH_PRIORITY","LEAF_PRIORITY","ALL_WITH_INDETERMINATE"],e)}},valueFormat:{type:String,default:"id"},zIndex:{type:[Number,String],default:999}},data:function(){return{trigger:{isFocused:!1,searchQuery:""},menu:{isOpen:!1,current:null,lastScrollPosition:0,placement:"bottom"},forest:{normalizedOptions:[],nodeMap:B(),checkedStateMap:B(),selectedNodeIds:this.extractCheckedNodeIdsFromValue(),selectedNodeMap:B()},rootOptionsStates:{isLoaded:!1,isLoading:!1,loadingError:""},localSearch:{active:!1,noResults:!0,countMap:B()},remoteSearch:B()}},computed:{selectedNodes:function(){return this.forest.selectedNodeIds.map(this.getNode)},internalValue:function(){var e,t=this;if(this.single||this.flat||this.disableBranchNodes||"ALL"===this.valueConsistsOf)e=this.forest.selectedNodeIds.slice();else if("BRANCH_PRIORITY"===this.valueConsistsOf)e=this.forest.selectedNodeIds.filter((function(e){var n=t.getNode(e);return!!n.isRootNode||!t.isSelected(n.parentNode)}));else if("LEAF_PRIORITY"===this.valueConsistsOf)e=this.forest.selectedNodeIds.filter((function(e){var n=t.getNode(e);return!!n.isLeaf||0===n.children.length}));else if("ALL_WITH_INDETERMINATE"===this.valueConsistsOf){var n,i=[];e=this.forest.selectedNodeIds.slice(),this.selectedNodes.forEach((function(t){t.ancestors.forEach((function(t){H(i,t.id)||H(e,t.id)||i.push(t.id)}))})),(n=e).push.apply(n,i)}return"LEVEL"===this.sortValueBy?e.sort((function(e,n){return function(e,t){return e.level===t.level?re(e,t):e.level-t.level}(t.getNode(e),t.getNode(n))})):"INDEX"===this.sortValueBy&&e.sort((function(e,n){return re(t.getNode(e),t.getNode(n))})),e},hasValue:function(){return this.internalValue.length>0},single:function(){return!this.multiple},visibleOptionIds:function(){var e=this,t=[];return this.traverseAllNodesByIndex((function(n){if(e.localSearch.active&&!e.shouldOptionBeIncludedInSearchResult(n)||t.push(n.id),n.isBranch&&!e.shouldExpand(n))return!1})),t},hasVisibleOptions:function(){return 0!==this.visibleOptionIds.length},showCountOnSearchComputed:function(){return"boolean"==typeof this.showCountOnSearch?this.showCountOnSearch:this.showCount},hasBranchNodes:function(){return this.forest.normalizedOptions.some((function(e){return e.isBranch}))},shouldFlattenOptions:function(){return this.localSearch.active&&this.flattenSearchResults}},watch:{alwaysOpen:function(e){e?this.openMenu():this.closeMenu()},branchNodesFirst:function(){this.initialize()},disabled:function(e){e&&this.menu.isOpen?this.closeMenu():e||this.menu.isOpen||!this.alwaysOpen||this.openMenu()},flat:function(){this.initialize()},internalValue:function(e,t){Q(e,t)&&this.$emit("input",this.getValue(),this.getInstanceId())},matchKeys:function(){this.initialize()},multiple:function(e){e&&this.buildForestState()},options:{handler:function(){this.async||(this.initialize(),this.rootOptionsStates.isLoaded=Array.isArray(this.options))},deep:!0,immediate:!0},"trigger.searchQuery":function(){this.async?this.handleRemoteSearch():this.handleLocalSearch(),this.$emit("search-change",this.trigger.searchQuery,this.getInstanceId())},value:function(){var e=this.extractCheckedNodeIdsFromValue();Q(e,this.internalValue)&&this.fixSelectedNodeIds(e)}},methods:{verifyProps:function(){var e=this;if(h((function(){return!e.async||e.searchable}),(function(){return'For async search mode, the value of "searchable" prop must be true.'})),null!=this.options||this.loadOptions||h((function(){return!1}),(function(){return'Are you meant to dynamically load options? You need to use "loadOptions" prop.'})),this.flat&&h((function(){return e.multiple}),(function(){return'You are using flat mode. But you forgot to add "multiple=true"?'})),!this.flat){["autoSelectAncestors","autoSelectDescendants","autoDeselectAncestors","autoDeselectDescendants"].forEach((function(t){h((function(){return!e[t]}),(function(){return'"'.concat(t,'" only applies to flat mode.')}))}))}},resetFlags:function(){this._blurOnSelect=!1},initialize:function(){var e=this.async?this.getRemoteSearchEntry().options:this.options;if(Array.isArray(e)){var t=this.forest.nodeMap;this.forest.nodeMap=B(),this.keepDataOfSelectedNodes(t),this.forest.normalizedOptions=this.normalize(null,e,t),this.fixSelectedNodeIds(this.internalValue)}else this.forest.normalizedOptions=[]},getInstanceId:function(){return null==this.instanceId?this.id:this.instanceId},getValue:function(){var e=this;if("id"===this.valueFormat)return this.multiple?this.internalValue.slice():this.internalValue[0];var t=this.internalValue.map((function(t){return e.getNode(t).raw}));return this.multiple?t:t[0]},getNode:function(e){return h((function(){return null!=e}),(function(){return"Invalid node id: ".concat(e)})),null==e?null:e in this.forest.nodeMap?this.forest.nodeMap[e]:this.createFallbackNode(e)},createFallbackNode:function(e){var t=this.extractNodeFromValue(e),n={id:e,label:this.enhancedNormalizer(t).label||"".concat(e," (unknown)"),ancestors:[],parentNode:null,isFallbackNode:!0,isRootNode:!0,isLeaf:!0,isBranch:!1,isDisabled:!1,isNew:!1,index:[-1],level:0,raw:t};return this.$set(this.forest.nodeMap,e,n)},extractCheckedNodeIdsFromValue:function(){var e=this;return null==this.value?[]:"id"===this.valueFormat?this.multiple?this.value.slice():[this.value]:(this.multiple?this.value:[this.value]).map((function(t){return e.enhancedNormalizer(t)})).map((function(e){return e.id}))},extractNodeFromValue:function(e){var t=this,n={id:e};return"id"===this.valueFormat?n:W(this.multiple?Array.isArray(this.value)?this.value:[]:this.value?[this.value]:[],(function(n){return n&&t.enhancedNormalizer(n).id===e}))||n},fixSelectedNodeIds:function(e){var t=this,n=[];if(this.single||this.flat||this.disableBranchNodes||"ALL"===this.valueConsistsOf)n=e;else if("BRANCH_PRIORITY"===this.valueConsistsOf)e.forEach((function(e){n.push(e);var i=t.getNode(e);i.isBranch&&t.traverseDescendantsBFS(i,(function(e){n.push(e.id)}))}));else if("LEAF_PRIORITY"===this.valueConsistsOf)for(var i=B(),r=e.slice();r.length;){var o=r.shift(),s=this.getNode(o);n.push(o),s.isRootNode||(s.parentNode.id in i||(i[s.parentNode.id]=s.parentNode.children.length),0==--i[s.parentNode.id]&&r.push(s.parentNode.id))}else if("ALL_WITH_INDETERMINATE"===this.valueConsistsOf)for(var a=B(),l=e.filter((function(e){var n=t.getNode(e);return n.isLeaf||0===n.children.length}));l.length;){var c=l.shift(),u=this.getNode(c);n.push(c),u.isRootNode||(u.parentNode.id in a||(a[u.parentNode.id]=u.parentNode.children.length),0==--a[u.parentNode.id]&&l.push(u.parentNode.id))}Q(this.forest.selectedNodeIds,n)&&(this.forest.selectedNodeIds=n),this.buildForestState()},keepDataOfSelectedNodes:function(e){var t=this;this.forest.selectedNodeIds.forEach((function(n){if(e[n]){var i=ie({},e[n],{isFallbackNode:!0});t.$set(t.forest.nodeMap,n,i)}}))},isSelected:function(e){return!0===this.forest.selectedNodeMap[e.id]},traverseDescendantsBFS:function(e,t){if(e.isBranch)for(var n=e.children.slice();n.length;){var i=n[0];i.isBranch&&n.push.apply(n,s()(i.children)),t(i),n.shift()}},traverseDescendantsDFS:function(e,t){var n=this;e.isBranch&&e.children.forEach((function(e){n.traverseDescendantsDFS(e,t),t(e)}))},traverseAllNodesDFS:function(e){var t=this;this.forest.normalizedOptions.forEach((function(n){t.traverseDescendantsDFS(n,e),e(n)}))},traverseAllNodesByIndex:function(e){!function t(n){n.children.forEach((function(n){!1!==e(n)&&n.isBranch&&t(n)}))}({children:this.forest.normalizedOptions})},toggleClickOutsideEvent:function(e){e?document.addEventListener("mousedown",this.handleClickOutside,!1):document.removeEventListener("mousedown",this.handleClickOutside,!1)},getValueContainer:function(){return this.$refs.control.$refs["value-container"]},getInput:function(){return this.getValueContainer().$refs.input},focusInput:function(){this.getInput().focus()},blurInput:function(){this.getInput().blur()},handleMouseDown:f((function(e){(e.preventDefault(),e.stopPropagation(),this.disabled)||(this.getValueContainer().$el.contains(e.target)&&!this.menu.isOpen&&(this.openOnClick||this.trigger.isFocused)&&this.openMenu(),this._blurOnSelect?this.blurInput():this.focusInput(),this.resetFlags())})),handleClickOutside:function(e){this.$refs.wrapper&&!this.$refs.wrapper.contains(e.target)&&(this.blurInput(),this.closeMenu())},handleLocalSearch:function(){var e=this,t=this.trigger.searchQuery,n=function(){return e.resetHighlightedOptionWhenNecessary(!0)};if(!t)return this.localSearch.active=!1,n();this.localSearch.active=!0,this.localSearch.noResults=!0,this.traverseAllNodesDFS((function(t){var n;t.isBranch&&(t.isExpandedOnSearch=!1,t.showAllChildrenOnSearch=!1,t.isMatched=!1,t.hasMatchedDescendants=!1,e.$set(e.localSearch.countMap,t.id,(n={},l()(n,"ALL_CHILDREN",0),l()(n,"ALL_DESCENDANTS",0),l()(n,"LEAF_CHILDREN",0),l()(n,"LEAF_DESCENDANTS",0),n)))}));var i=t.trim().toLocaleLowerCase(),r=i.replace(/\s+/g," ").split(" ");this.traverseAllNodesDFS((function(t){e.searchNested&&r.length>1?t.isMatched=r.every((function(e){return oe(!1,e,t.nestedSearchLabel)})):t.isMatched=e.matchKeys.some((function(n){return oe(!e.disableFuzzyMatching,i,t.lowerCased[n])})),t.isMatched&&(e.localSearch.noResults=!1,t.ancestors.forEach((function(t){return e.localSearch.countMap[t.id].ALL_DESCENDANTS++})),t.isLeaf&&t.ancestors.forEach((function(t){return e.localSearch.countMap[t.id].LEAF_DESCENDANTS++})),null!==t.parentNode&&(e.localSearch.countMap[t.parentNode.id].ALL_CHILDREN+=1,t.isLeaf&&(e.localSearch.countMap[t.parentNode.id].LEAF_CHILDREN+=1))),(t.isMatched||t.isBranch&&t.isExpandedOnSearch)&&null!==t.parentNode&&(t.parentNode.isExpandedOnSearch=!0,t.parentNode.hasMatchedDescendants=!0)})),n()},handleRemoteSearch:function(){var e=this,t=this.trigger.searchQuery,n=this.getRemoteSearchEntry(),i=function(){e.initialize(),e.resetHighlightedOptionWhenNecessary(!0)};if((""===t||this.cacheOptions)&&n.isLoaded)return i();this.callLoadOptionsProp({action:"ASYNC_SEARCH",args:{searchQuery:t},isPending:function(){return n.isLoading},start:function(){n.isLoading=!0,n.isLoaded=!1,n.loadingError=""},succeed:function(r){n.isLoaded=!0,n.options=r,e.trigger.searchQuery===t&&i()},fail:function(e){n.loadingError=se(e)},end:function(){n.isLoading=!1}})},getRemoteSearchEntry:function(){var e=this,t=this.trigger.searchQuery,n=this.remoteSearch[t]||ie({},{isLoaded:!1,isLoading:!1,loadingError:""},{options:[]});if(this.$watch((function(){return n.options}),(function(){e.trigger.searchQuery===t&&e.initialize()}),{deep:!0}),""===t){if(Array.isArray(this.defaultOptions))return n.options=this.defaultOptions,n.isLoaded=!0,n;if(!0!==this.defaultOptions)return n.isLoaded=!0,n}return this.remoteSearch[t]||this.$set(this.remoteSearch,t,n),n},shouldExpand:function(e){return this.localSearch.active?e.isExpandedOnSearch:e.isExpanded},shouldOptionBeIncludedInSearchResult:function(e){return!!e.isMatched||(!(!e.isBranch||!e.hasMatchedDescendants||this.flattenSearchResults)||!(e.isRootNode||!e.parentNode.showAllChildrenOnSearch))},shouldShowOptionInMenu:function(e){return!(this.localSearch.active&&!this.shouldOptionBeIncludedInSearchResult(e))},getControl:function(){return this.$refs.control.$el},getMenu:function(){var e=(this.appendToBody?this.$refs.portal.portalTarget:this).$refs.menu.$refs.menu;return e&&"#comment"!==e.nodeName?e:null},setCurrentHighlightedOption:function(e){var t=this,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this.menu.current;if(null!=i&&i in this.forest.nodeMap&&(this.forest.nodeMap[i].isHighlighted=!1),this.menu.current=e.id,e.isHighlighted=!0,this.menu.isOpen&&n){var r=function(){var n=t.getMenu(),i=n.querySelector('.vue-treeselect__option[data-id="'.concat(e.id,'"]'));i&&p(n,i)};this.getMenu()?r():this.$nextTick(r)}},resetHighlightedOptionWhenNecessary:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.menu.current;!e&&null!=t&&t in this.forest.nodeMap&&this.shouldShowOptionInMenu(this.getNode(t))||this.highlightFirstOption()},highlightFirstOption:function(){if(this.hasVisibleOptions){var e=this.visibleOptionIds[0];this.setCurrentHighlightedOption(this.getNode(e))}},highlightPrevOption:function(){if(this.hasVisibleOptions){var e=this.visibleOptionIds.indexOf(this.menu.current)-1;if(-1===e)return this.highlightLastOption();this.setCurrentHighlightedOption(this.getNode(this.visibleOptionIds[e]))}},highlightNextOption:function(){if(this.hasVisibleOptions){var e=this.visibleOptionIds.indexOf(this.menu.current)+1;if(e===this.visibleOptionIds.length)return this.highlightFirstOption();this.setCurrentHighlightedOption(this.getNode(this.visibleOptionIds[e]))}},highlightLastOption:function(){if(this.hasVisibleOptions){var e=P()(this.visibleOptionIds);this.setCurrentHighlightedOption(this.getNode(e))}},resetSearchQuery:function(){this.trigger.searchQuery=""},closeMenu:function(){!this.menu.isOpen||!this.disabled&&this.alwaysOpen||(this.saveMenuScrollPosition(),this.menu.isOpen=!1,this.toggleClickOutsideEvent(!1),this.resetSearchQuery(),this.$emit("close",this.getValue(),this.getInstanceId()))},openMenu:function(){this.disabled||this.menu.isOpen||(this.menu.isOpen=!0,this.$nextTick(this.resetHighlightedOptionWhenNecessary),this.$nextTick(this.restoreMenuScrollPosition),this.options||this.async||this.loadRootOptions(),this.toggleClickOutsideEvent(!0),this.$emit("open",this.getInstanceId()))},toggleMenu:function(){this.menu.isOpen?this.closeMenu():this.openMenu()},toggleExpanded:function(e){var t;this.localSearch.active?(t=e.isExpandedOnSearch=!e.isExpandedOnSearch)&&(e.showAllChildrenOnSearch=!0):t=e.isExpanded=!e.isExpanded,t&&!e.childrenStates.isLoaded&&this.loadChildrenOptions(e)},buildForestState:function(){var e=this,t=B();this.forest.selectedNodeIds.forEach((function(e){t[e]=!0})),this.forest.selectedNodeMap=t;var n=B();this.multiple&&(this.traverseAllNodesByIndex((function(e){n[e.id]=0})),this.selectedNodes.forEach((function(t){n[t.id]=2,e.flat||e.disableBranchNodes||t.ancestors.forEach((function(t){e.isSelected(t)||(n[t.id]=1)}))}))),this.forest.checkedStateMap=n},enhancedNormalizer:function(e){return ie({},e,{},this.normalizer(e,this.getInstanceId()))},normalize:function(e,t,n){var i=this,o=t.map((function(e){return[i.enhancedNormalizer(e),e]})).map((function(t,o){var s=r()(t,2),a=s[0],c=s[1];i.checkDuplication(a),i.verifyNodeShape(a);var u=a.id,d=a.label,f=a.children,p=a.isDefaultExpanded,v=null===e,m=v?0:e.level+1,g=Array.isArray(f)||null===f,y=!g,S=!!a.isDisabled||!i.flat&&!v&&e.isDisabled,O=!!a.isNew,b=i.matchKeys.reduce((function(e,t){return ie({},e,l()({},t,(n=a[t],"string"==typeof n?n:"number"!=typeof n||w(n)?"":n+"").toLocaleLowerCase()));var n}),{}),_=v?b.label:e.nestedSearchLabel+" "+b.label,E=i.$set(i.forest.nodeMap,u,B());if(i.$set(E,"id",u),i.$set(E,"label",d),i.$set(E,"level",m),i.$set(E,"ancestors",v?[]:[e].concat(e.ancestors)),i.$set(E,"index",(v?[]:e.index).concat(o)),i.$set(E,"parentNode",e),i.$set(E,"lowerCased",b),i.$set(E,"nestedSearchLabel",_),i.$set(E,"isDisabled",S),i.$set(E,"isNew",O),i.$set(E,"isMatched",!1),i.$set(E,"isHighlighted",!1),i.$set(E,"isBranch",g),i.$set(E,"isLeaf",y),i.$set(E,"isRootNode",v),i.$set(E,"raw",c),g){var N,L=Array.isArray(f);i.$set(E,"childrenStates",ie({},{isLoaded:!1,isLoading:!1,loadingError:""},{isLoaded:L})),i.$set(E,"isExpanded","boolean"==typeof p?p:m<i.defaultExpandLevel),i.$set(E,"hasMatchedDescendants",!1),i.$set(E,"hasDisabledDescendants",!1),i.$set(E,"isExpandedOnSearch",!1),i.$set(E,"showAllChildrenOnSearch",!1),i.$set(E,"count",(N={},l()(N,"ALL_CHILDREN",0),l()(N,"ALL_DESCENDANTS",0),l()(N,"LEAF_CHILDREN",0),l()(N,"LEAF_DESCENDANTS",0),N)),i.$set(E,"children",L?i.normalize(E,f,n):[]),!0===p&&E.ancestors.forEach((function(e){e.isExpanded=!0})),L||"function"==typeof i.loadOptions?!L&&E.isExpanded&&i.loadChildrenOptions(E):h((function(){return!1}),(function(){return'Unloaded branch node detected. "loadOptions" prop is required to load its children.'}))}if(E.ancestors.forEach((function(e){return e.count.ALL_DESCENDANTS++})),y&&E.ancestors.forEach((function(e){return e.count.LEAF_DESCENDANTS++})),v||(e.count.ALL_CHILDREN+=1,y&&(e.count.LEAF_CHILDREN+=1),S&&(e.hasDisabledDescendants=!0)),n&&n[u]){var x=n[u];E.isMatched=x.isMatched,E.showAllChildrenOnSearch=x.showAllChildrenOnSearch,E.isHighlighted=x.isHighlighted,x.isBranch&&E.isBranch&&(E.isExpanded=x.isExpanded,E.isExpandedOnSearch=x.isExpandedOnSearch,x.childrenStates.isLoaded&&!E.childrenStates.isLoaded?E.isExpanded=!1:E.childrenStates=ie({},x.childrenStates))}return E}));if(this.branchNodesFirst){var s=o.filter((function(e){return e.isBranch})),a=o.filter((function(e){return e.isLeaf}));o=s.concat(a)}return o},loadRootOptions:function(){var e=this;this.callLoadOptionsProp({action:"LOAD_ROOT_OPTIONS",isPending:function(){return e.rootOptionsStates.isLoading},start:function(){e.rootOptionsStates.isLoading=!0,e.rootOptionsStates.loadingError=""},succeed:function(){e.rootOptionsStates.isLoaded=!0,e.$nextTick((function(){e.resetHighlightedOptionWhenNecessary(!0)}))},fail:function(t){e.rootOptionsStates.loadingError=se(t)},end:function(){e.rootOptionsStates.isLoading=!1}})},loadChildrenOptions:function(e){var t=this,n=e.id,i=e.raw;this.callLoadOptionsProp({action:"LOAD_CHILDREN_OPTIONS",args:{parentNode:i},isPending:function(){return t.getNode(n).childrenStates.isLoading},start:function(){t.getNode(n).childrenStates.isLoading=!0,t.getNode(n).childrenStates.loadingError=""},succeed:function(){t.getNode(n).childrenStates.isLoaded=!0},fail:function(e){t.getNode(n).childrenStates.loadingError=se(e)},end:function(){t.getNode(n).childrenStates.isLoading=!1}})},callLoadOptionsProp:function(e){var t=e.action,n=e.args,i=e.isPending,r=e.start,o=e.succeed,s=e.fail,a=e.end;if(this.loadOptions&&!i()){r();var l=M()((function(e,t){e?s(e):o(t),a()})),c=this.loadOptions(ie({id:this.getInstanceId(),instanceId:this.getInstanceId(),action:t},n,{callback:l}));D()(c)&&c.then((function(){l()}),(function(e){l(e)})).catch((function(e){console.error(e)}))}},checkDuplication:function(e){var t=this;h((function(){return!(e.id in t.forest.nodeMap&&!t.forest.nodeMap[e.id].isFallbackNode)}),(function(){return"Detected duplicate presence of node id ".concat(JSON.stringify(e.id),". ")+'Their labels are "'.concat(t.forest.nodeMap[e.id].label,'" and "').concat(e.label,'" respectively.')}))},verifyNodeShape:function(e){h((function(){return!(void 0===e.children&&!0===e.isBranch)}),(function(){return"Are you meant to declare an unloaded branch node? `isBranch: true` is no longer supported, please use `children: null` instead."}))},select:function(e){if(!this.disabled&&!e.isDisabled){this.single&&this.clear();var t=this.multiple&&!this.flat?0===this.forest.checkedStateMap[e.id]:!this.isSelected(e);t?this._selectNode(e):this._deselectNode(e),this.buildForestState(),t?this.$emit("select",e.raw,this.getInstanceId()):this.$emit("deselect",e.raw,this.getInstanceId()),this.localSearch.active&&t&&(this.single||this.clearOnSelect)&&this.resetSearchQuery(),this.single&&this.closeOnSelect&&(this.closeMenu(),this.searchable&&(this._blurOnSelect=!0))}},clear:function(){var e=this;this.hasValue&&(this.single||this.allowClearingDisabled?this.forest.selectedNodeIds=[]:this.forest.selectedNodeIds=this.forest.selectedNodeIds.filter((function(t){return e.getNode(t).isDisabled})),this.buildForestState())},_selectNode:function(e){var t=this;if(this.single||this.disableBranchNodes)return this.addValue(e);if(this.flat)return this.addValue(e),void(this.autoSelectAncestors?e.ancestors.forEach((function(e){t.isSelected(e)||e.isDisabled||t.addValue(e)})):this.autoSelectDescendants&&this.traverseDescendantsBFS(e,(function(e){t.isSelected(e)||e.isDisabled||t.addValue(e)})));var n=e.isLeaf||!e.hasDisabledDescendants||this.allowSelectingDisabledDescendants;if(n&&this.addValue(e),e.isBranch&&this.traverseDescendantsBFS(e,(function(e){e.isDisabled&&!t.allowSelectingDisabledDescendants||t.addValue(e)})),n)for(var i=e;null!==(i=i.parentNode)&&i.children.every(this.isSelected);)this.addValue(i)},_deselectNode:function(e){var t=this;if(this.disableBranchNodes)return this.removeValue(e);if(this.flat)return this.removeValue(e),void(this.autoDeselectAncestors?e.ancestors.forEach((function(e){t.isSelected(e)&&!e.isDisabled&&t.removeValue(e)})):this.autoDeselectDescendants&&this.traverseDescendantsBFS(e,(function(e){t.isSelected(e)&&!e.isDisabled&&t.removeValue(e)})));var n=!1;if(e.isBranch&&this.traverseDescendantsDFS(e,(function(e){e.isDisabled&&!t.allowSelectingDisabledDescendants||(t.removeValue(e),n=!0)})),e.isLeaf||n||0===e.children.length){this.removeValue(e);for(var i=e;null!==(i=i.parentNode)&&this.isSelected(i);)this.removeValue(i)}},addValue:function(e){this.forest.selectedNodeIds.push(e.id),this.forest.selectedNodeMap[e.id]=!0},removeValue:function(e){S(this.forest.selectedNodeIds,e.id),delete this.forest.selectedNodeMap[e.id]},removeLastValue:function(){if(this.hasValue){if(this.single)return this.clear();var e=P()(this.internalValue),t=this.getNode(e);this.select(t)}},saveMenuScrollPosition:function(){var e=this.getMenu();e&&(this.menu.lastScrollPosition=e.scrollTop)},restoreMenuScrollPosition:function(){var e=this.getMenu();e&&(e.scrollTop=this.menu.lastScrollPosition)}},created:function(){this.verifyProps(),this.resetFlags()},mounted:function(){this.autoFocus&&this.focusInput(),this.options||this.async||!this.autoLoadRootOptions||this.loadRootOptions(),this.alwaysOpen&&this.openMenu(),this.async&&this.defaultOptions&&this.handleRemoteSearch()},destroyed:function(){this.toggleClickOutsideEvent(!1)}};function ce(e){return"string"==typeof e?e:null==e||w(e)?"":JSON.stringify(e)}function ue(e,t,n,i,r,o,s,a){var l,c="function"==typeof e?e.options:e;if(t&&(c.render=t,c.staticRenderFns=n,c._compiled=!0),i&&(c.functional=!0),o&&(c._scopeId="data-v-"+o),s?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},c._ssrRegister=l):r&&(l=a?function(){r.call(this,this.$root.$options.shadowRoot)}:r),l)if(c.functional){c._injectStyles=l;var u=c.render;c.render=function(e,t){return l.call(t),u(e,t)}}else{var d=c.beforeCreate;c.beforeCreate=d?[].concat(d,l):[l]}return{exports:e,options:c}}var de=ue({name:"vue-treeselect--hidden-fields",inject:["instance"],functional:!0,render:function(e,t){var n=arguments[0],i=t.injections.instance;if(!i.name||i.disabled||!i.hasValue)return null;var r=i.internalValue.map(ce);return i.multiple&&i.joinValues&&(r=[r.join(i.delimiter)]),r.map((function(e,t){return n("input",{attrs:{type:"hidden",name:i.name},domProps:{value:e},key:"hidden-field-"+t})}))}},void 0,void 0,!1,null,null,null);de.options.__file="src/components/HiddenFields.vue";var he=de.exports,fe=n(1),pe=n.n(fe),ve=[q,X,U,J,G,Z,ee],me=ue({name:"vue-treeselect--input",inject:["instance"],data:function(){return{inputWidth:5,value:""}},computed:{needAutoSize:function(){var e=this.instance;return e.searchable&&!e.disabled&&e.multiple},inputStyle:function(){return{width:this.needAutoSize?"".concat(this.inputWidth,"px"):null}}},watch:{"instance.trigger.searchQuery":function(e){this.value=e},value:function(){this.needAutoSize&&this.$nextTick(this.updateInputWidth)}},created:function(){this.debouncedCallback=g()(this.updateSearchQuery,200,{leading:!0,trailing:!0})},methods:{clear:function(){this.onInput({target:{value:""}})},focus:function(){this.instance.disabled||this.$refs.input&&this.$refs.input.focus()},blur:function(){this.$refs.input&&this.$refs.input.blur()},onFocus:function(){var e=this.instance;e.trigger.isFocused=!0,e.openOnFocus&&e.openMenu()},onBlur:function(){var e=this.instance,t=e.getMenu();if(t&&document.activeElement===t)return this.focus();e.trigger.isFocused=!1,e.closeMenu()},onInput:function(e){var t=e.target.value;this.value=t,t?this.debouncedCallback():(this.debouncedCallback.cancel(),this.updateSearchQuery())},onKeyDown:function(e){var t=this.instance,n="which"in e?e.which:e.keyCode;if(!(e.ctrlKey||e.shiftKey||e.altKey||e.metaKey)){if(!t.menu.isOpen&&H(ve,n))return e.preventDefault(),t.openMenu();switch(n){case Y:t.backspaceRemoves&&!this.value.length&&t.removeLastValue();break;case q:if(e.preventDefault(),null===t.menu.current)return;var i=t.getNode(t.menu.current);if(i.isBranch&&t.disableBranchNodes)return;t.select(i);break;case K:this.value.length?this.clear():t.menu.isOpen&&t.closeMenu();break;case X:e.preventDefault(),t.highlightLastOption();break;case U:e.preventDefault(),t.highlightFirstOption();break;case J:var r=t.getNode(t.menu.current);r.isBranch&&t.shouldExpand(r)?(e.preventDefault(),t.toggleExpanded(r)):!r.isRootNode&&(r.isLeaf||r.isBranch&&!t.shouldExpand(r))&&(e.preventDefault(),t.setCurrentHighlightedOption(r.parentNode));break;case G:e.preventDefault(),t.highlightPrevOption();break;case Z:var o=t.getNode(t.menu.current);o.isBranch&&!t.shouldExpand(o)&&(e.preventDefault(),t.toggleExpanded(o));break;case ee:e.preventDefault(),t.highlightNextOption();break;case te:t.deleteRemoves&&!this.value.length&&t.removeLastValue();break;default:t.openMenu()}}},onMouseDown:function(e){this.value.length&&e.stopPropagation()},renderInputContainer:function(){var e=this.$createElement,t=this.instance,n={},i=[];return t.searchable&&!t.disabled&&(i.push(this.renderInput()),this.needAutoSize&&i.push(this.renderSizer())),t.searchable||F(n,{on:{focus:this.onFocus,blur:this.onBlur,keydown:this.onKeyDown},ref:"input"}),t.searchable||t.disabled||F(n,{attrs:{tabIndex:t.tabIndex}}),e("div",pe()([{class:"vue-treeselect__input-container"},n]),[i])},renderInput:function(){var e=this.$createElement,t=this.instance;return e("input",{ref:"input",class:"vue-treeselect__input",attrs:{type:"text",autocomplete:"off",tabIndex:t.tabIndex,required:t.required&&!t.hasValue},domProps:{value:this.value},style:this.inputStyle,on:{focus:this.onFocus,input:this.onInput,blur:this.onBlur,keydown:this.onKeyDown,mousedown:this.onMouseDown}})},renderSizer:function(){return(0,this.$createElement)("div",{ref:"sizer",class:"vue-treeselect__sizer"},[this.value])},updateInputWidth:function(){this.inputWidth=Math.max(5,this.$refs.sizer.scrollWidth+15)},updateSearchQuery:function(){this.instance.trigger.searchQuery=this.value}},render:function(){return this.renderInputContainer()}},void 0,void 0,!1,null,null,null);me.options.__file="src/components/Input.vue";var ge=me.exports,ye=ue({name:"vue-treeselect--placeholder",inject:["instance"],render:function(){var e=arguments[0],t=this.instance,n={"vue-treeselect__placeholder":!0,"vue-treeselect-helper-zoom-effect-off":!0,"vue-treeselect-helper-hide":t.hasValue||t.trigger.searchQuery};return e("div",{class:n},[t.placeholder])}},void 0,void 0,!1,null,null,null);ye.options.__file="src/components/Placeholder.vue";var Se=ye.exports,Oe=ue({name:"vue-treeselect--single-value",inject:["instance"],methods:{renderSingleValueLabel:function(){var e=this.instance,t=e.selectedNodes[0],n=e.$scopedSlots["value-label"];return n?n({node:t}):t.label}},render:function(){var e=arguments[0],t=this.instance,n=this.$parent.renderValueContainer,i=t.hasValue&&!t.trigger.searchQuery;return n([i&&e("div",{class:"vue-treeselect__single-value"},[this.renderSingleValueLabel()]),e(Se),e(ge,{ref:"input"})])}},void 0,void 0,!1,null,null,null);Oe.options.__file="src/components/SingleValue.vue";var be=Oe.exports,_e=function(){var e=this.$createElement,t=this._self._c||e;return t("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 348.333 348.333"}},[t("path",{attrs:{d:"M336.559 68.611L231.016 174.165l105.543 105.549c15.699 15.705 15.699 41.145 0 56.85-7.844 7.844-18.128 11.769-28.407 11.769-10.296 0-20.581-3.919-28.419-11.769L174.167 231.003 68.609 336.563c-7.843 7.844-18.128 11.769-28.416 11.769-10.285 0-20.563-3.919-28.413-11.769-15.699-15.698-15.699-41.139 0-56.85l105.54-105.549L11.774 68.611c-15.699-15.699-15.699-41.145 0-56.844 15.696-15.687 41.127-15.687 56.829 0l105.563 105.554L279.721 11.767c15.705-15.687 41.139-15.687 56.832 0 15.705 15.699 15.705 41.145.006 56.844z"}})])};_e._withStripped=!0;var Ee=ue({name:"vue-treeselect--x"},_e,[],!1,null,null,null);Ee.options.__file="src/components/icons/Delete.vue";var Ne=Ee.exports,Le=ue({name:"vue-treeselect--multi-value-item",inject:["instance"],props:{node:{type:Object,required:!0}},methods:{handleMouseDown:f((function(){var e=this.instance,t=this.node;e.select(t)}))},render:function(){var e=arguments[0],t=this.instance,n=this.node,i={"vue-treeselect__multi-value-item":!0,"vue-treeselect__multi-value-item-disabled":n.isDisabled,"vue-treeselect__multi-value-item-new":n.isNew},r=t.$scopedSlots["value-label"],o=r?r({node:n}):n.label;return e("div",{class:"vue-treeselect__multi-value-item-container"},[e("div",{class:i,on:{mousedown:this.handleMouseDown}},[e("span",{class:"vue-treeselect__multi-value-label"},[o]),e("span",{class:"vue-treeselect__icon vue-treeselect__value-remove"},[e(Ne)])])])}},void 0,void 0,!1,null,null,null);Le.options.__file="src/components/MultiValueItem.vue";var xe=Le.exports,we=ue({name:"vue-treeselect--multi-value",inject:["instance"],methods:{renderMultiValueItems:function(){var e=this.$createElement,t=this.instance;return t.internalValue.slice(0,t.limit).map(t.getNode).map((function(t){return e(xe,{key:"multi-value-item-".concat(t.id),attrs:{node:t}})}))},renderExceedLimitTip:function(){var e=this.$createElement,t=this.instance,n=t.internalValue.length-t.limit;return n<=0?null:e("div",{class:"vue-treeselect__limit-tip vue-treeselect-helper-zoom-effect-off",key:"exceed-limit-tip"},[e("span",{class:"vue-treeselect__limit-tip-text"},[t.limitText(n)])])}},render:function(){var e=arguments[0],t=this.$parent.renderValueContainer,n={props:{tag:"div",name:"vue-treeselect__multi-value-item--transition",appear:!0}};return t(e("transition-group",pe()([{class:"vue-treeselect__multi-value"},n]),[this.renderMultiValueItems(),this.renderExceedLimitTip(),e(Se,{key:"placeholder"}),e(ge,{ref:"input",key:"input"})]))}},void 0,void 0,!1,null,null,null);we.options.__file="src/components/MultiValue.vue";var Ce=we.exports,De=function(){var e=this.$createElement,t=this._self._c||e;return t("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 292.362 292.362"}},[t("path",{attrs:{d:"M286.935 69.377c-3.614-3.617-7.898-5.424-12.848-5.424H18.274c-4.952 0-9.233 1.807-12.85 5.424C1.807 72.998 0 77.279 0 82.228c0 4.948 1.807 9.229 5.424 12.847l127.907 127.907c3.621 3.617 7.902 5.428 12.85 5.428s9.233-1.811 12.847-5.428L286.935 95.074c3.613-3.617 5.427-7.898 5.427-12.847 0-4.948-1.814-9.229-5.427-12.85z"}})])};De._withStripped=!0;var Ie=ue({name:"vue-treeselect--arrow"},De,[],!1,null,null,null);Ie.options.__file="src/components/icons/Arrow.vue";var Me=Ie.exports,Ae=ue({name:"vue-treeselect--control",inject:["instance"],computed:{shouldShowX:function(){var e=this.instance;return e.clearable&&!e.disabled&&e.hasValue&&(this.hasUndisabledValue||e.allowClearingDisabled)},shouldShowArrow:function(){var e=this.instance;return!e.alwaysOpen||!e.menu.isOpen},hasUndisabledValue:function(){var e=this.instance;return e.hasValue&&e.internalValue.some((function(t){return!e.getNode(t).isDisabled}))}},methods:{renderX:function(){var e=this.$createElement,t=this.instance,n=t.multiple?t.clearAllText:t.clearValueText;return this.shouldShowX?e("div",{class:"vue-treeselect__x-container",attrs:{title:n},on:{mousedown:this.handleMouseDownOnX}},[e(Ne,{class:"vue-treeselect__x"})]):null},renderArrow:function(){var e=this.$createElement,t={"vue-treeselect__control-arrow":!0,"vue-treeselect__control-arrow--rotated":this.instance.menu.isOpen};return this.shouldShowArrow?e("div",{class:"vue-treeselect__control-arrow-container",on:{mousedown:this.handleMouseDownOnArrow}},[e(Me,{class:t})]):null},handleMouseDownOnX:f((function(e){e.stopPropagation(),e.preventDefault();var t=this.instance,n=t.beforeClearAll(),i=function(e){e&&t.clear()};D()(n)?n.then(i):setTimeout((function(){return i(n)}),0)})),handleMouseDownOnArrow:f((function(e){e.preventDefault(),e.stopPropagation();var t=this.instance;t.focusInput(),t.toggleMenu()})),renderValueContainer:function(e){return(0,this.$createElement)("div",{class:"vue-treeselect__value-container"},[e])}},render:function(){var e=arguments[0],t=this.instance,n=t.single?be:Ce;return e("div",{class:"vue-treeselect__control",on:{mousedown:t.handleMouseDown}},[e(n,{ref:"value-container"}),this.renderX(),this.renderArrow()])}},void 0,void 0,!1,null,null,null);Ae.options.__file="src/components/Control.vue";var Te=Ae.exports,Re=ue({name:"vue-treeselect--tip",functional:!0,props:{type:{type:String,required:!0},icon:{type:String,required:!0}},render:function(e,t){var n=arguments[0],i=t.props,r=t.children;return n("div",{class:"vue-treeselect__tip vue-treeselect__".concat(i.type,"-tip")},[n("div",{class:"vue-treeselect__icon-container"},[n("span",{class:"vue-treeselect__icon-".concat(i.icon)})]),n("span",{class:"vue-treeselect__tip-text vue-treeselect__".concat(i.type,"-tip-text")},[r])])}},void 0,void 0,!1,null,null,null);Re.options.__file="src/components/Tip.vue";var $e,Be,ze,Ve=Re.exports,ke={name:"vue-treeselect--option",inject:["instance"],props:{node:{type:Object,required:!0}},computed:{shouldExpand:function(){var e=this.instance,t=this.node;return t.isBranch&&e.shouldExpand(t)},shouldShow:function(){var e=this.instance,t=this.node;return e.shouldShowOptionInMenu(t)}},methods:{renderOption:function(){var e=this.$createElement,t=this.instance,n=this.node;return e("div",{class:{"vue-treeselect__option":!0,"vue-treeselect__option--disabled":n.isDisabled,"vue-treeselect__option--selected":t.isSelected(n),"vue-treeselect__option--highlight":n.isHighlighted,"vue-treeselect__option--matched":t.localSearch.active&&n.isMatched,"vue-treeselect__option--hide":!this.shouldShow},on:{mouseenter:this.handleMouseEnterOption},attrs:{"data-id":n.id}},[this.renderArrow(),this.renderLabelContainer([this.renderCheckboxContainer([this.renderCheckbox()]),this.renderLabel()])])},renderSubOptionsList:function(){var e=this.$createElement;return this.shouldExpand?e("div",{class:"vue-treeselect__list"},[this.renderSubOptions(),this.renderNoChildrenTip(),this.renderLoadingChildrenTip(),this.renderLoadingChildrenErrorTip()]):null},renderArrow:function(){var e=this.$createElement,t=this.instance,n=this.node;if(t.shouldFlattenOptions&&this.shouldShow)return null;if(n.isBranch){var i={"vue-treeselect__option-arrow":!0,"vue-treeselect__option-arrow--rotated":this.shouldExpand};return e("div",{class:"vue-treeselect__option-arrow-container",on:{mousedown:this.handleMouseDownOnArrow}},[e("transition",{props:{name:"vue-treeselect__option-arrow--prepare",appear:!0}},[e(Me,{class:i})])])}return t.hasBranchNodes?($e||($e=e("div",{class:"vue-treeselect__option-arrow-placeholder"},[" "])),$e):null},renderLabelContainer:function(e){return(0,this.$createElement)("div",{class:"vue-treeselect__label-container",on:{mousedown:this.handleMouseDownOnLabelContainer}},[e])},renderCheckboxContainer:function(e){var t=this.$createElement,n=this.instance,i=this.node;return n.single?null:n.disableBranchNodes&&i.isBranch?null:t("div",{class:"vue-treeselect__checkbox-container"},[e])},renderCheckbox:function(){var e=this.$createElement,t=this.instance,n=this.node,i=t.forest.checkedStateMap[n.id],r={"vue-treeselect__checkbox":!0,"vue-treeselect__checkbox--checked":2===i,"vue-treeselect__checkbox--indeterminate":1===i,"vue-treeselect__checkbox--unchecked":0===i,"vue-treeselect__checkbox--disabled":n.isDisabled};return Be||(Be=e("span",{class:"vue-treeselect__check-mark"})),ze||(ze=e("span",{class:"vue-treeselect__minus-mark"})),e("span",{class:r},[Be,ze])},renderLabel:function(){var e=this.$createElement,t=this.instance,n=this.node,i=n.isBranch&&(t.localSearch.active?t.showCountOnSearchComputed:t.showCount),r=i?t.localSearch.active?t.localSearch.countMap[n.id][t.showCountOf]:n.count[t.showCountOf]:NaN,o=t.$scopedSlots["option-label"];return o?o({node:n,shouldShowCount:i,count:r,labelClassName:"vue-treeselect__label",countClassName:"vue-treeselect__count"}):e("label",{class:"vue-treeselect__label"},[n.label,i&&e("span",{class:"vue-treeselect__count"},["(",r,")"])])},renderSubOptions:function(){var e=this.$createElement,t=this.node;return t.childrenStates.isLoaded?t.children.map((function(t){return e(ke,{attrs:{node:t},key:t.id})})):null},renderNoChildrenTip:function(){var e=this.$createElement,t=this.instance,n=this.node;return!n.childrenStates.isLoaded||n.children.length?null:e(Ve,{attrs:{type:"no-children",icon:"warning"}},[t.noChildrenText])},renderLoadingChildrenTip:function(){var e=this.$createElement,t=this.instance;return this.node.childrenStates.isLoading?e(Ve,{attrs:{type:"loading",icon:"loader"}},[t.loadingText]):null},renderLoadingChildrenErrorTip:function(){var e=this.$createElement,t=this.instance,n=this.node;return n.childrenStates.loadingError?e(Ve,{attrs:{type:"error",icon:"error"}},[n.childrenStates.loadingError,e("a",{class:"vue-treeselect__retry",attrs:{title:t.retryTitle},on:{mousedown:this.handleMouseDownOnRetry}},[t.retryText])]):null},handleMouseEnterOption:function(e){var t=this.instance,n=this.node;e.target===e.currentTarget&&t.setCurrentHighlightedOption(n,!1)},handleMouseDownOnArrow:f((function(){var e=this.instance,t=this.node;e.toggleExpanded(t)})),handleMouseDownOnLabelContainer:f((function(){var e=this.instance,t=this.node;t.isBranch&&e.disableBranchNodes?e.toggleExpanded(t):e.select(t)})),handleMouseDownOnRetry:f((function(){var e=this.instance,t=this.node;e.loadChildrenOptions(t)}))},render:function(){var e=arguments[0],t=this.node,n=this.instance.shouldFlattenOptions?0:t.level,i=l()({"vue-treeselect__list-item":!0},"vue-treeselect__indent-level-".concat(n),!0),r={props:{name:"vue-treeselect__list--transition"}};return e("div",{class:i},[this.renderOption(),t.isBranch&&e("transition",r,[this.renderSubOptionsList()])])}},Fe=ue(ke,void 0,void 0,!1,null,null,null);Fe.options.__file="src/components/Option.vue";var je=Fe.exports,Pe={top:"top",bottom:"bottom",above:"top",below:"bottom"},He=ue({name:"vue-treeselect--menu",inject:["instance"],computed:{menuStyle:function(){return{maxHeight:this.instance.maxHeight+"px"}},menuContainerStyle:function(){var e=this.instance;return{zIndex:e.appendToBody?null:e.zIndex}}},watch:{"instance.menu.isOpen":function(e){e?this.$nextTick(this.onMenuOpen):this.onMenuClose()}},created:function(){this.menuSizeWatcher=null,this.menuResizeAndScrollEventListeners=null},mounted:function(){this.instance.menu.isOpen&&this.$nextTick(this.onMenuOpen)},destroyed:function(){this.onMenuClose()},methods:{renderMenu:function(){var e=this.$createElement,t=this.instance;return t.menu.isOpen?e("div",{ref:"menu",class:"vue-treeselect__menu",on:{mousedown:t.handleMouseDown},style:this.menuStyle},[this.renderBeforeList(),t.async?this.renderAsyncSearchMenuInner():t.localSearch.active?this.renderLocalSearchMenuInner():this.renderNormalMenuInner(),this.renderAfterList()]):null},renderBeforeList:function(){var e=this.instance.$scopedSlots["before-list"];return e?e():null},renderAfterList:function(){var e=this.instance.$scopedSlots["after-list"];return e?e():null},renderNormalMenuInner:function(){var e=this.instance;return e.rootOptionsStates.isLoading?this.renderLoadingOptionsTip():e.rootOptionsStates.loadingError?this.renderLoadingRootOptionsErrorTip():e.rootOptionsStates.isLoaded&&0===e.forest.normalizedOptions.length?this.renderNoAvailableOptionsTip():this.renderOptionList()},renderLocalSearchMenuInner:function(){var e=this.instance;return e.rootOptionsStates.isLoading?this.renderLoadingOptionsTip():e.rootOptionsStates.loadingError?this.renderLoadingRootOptionsErrorTip():e.rootOptionsStates.isLoaded&&0===e.forest.normalizedOptions.length?this.renderNoAvailableOptionsTip():e.localSearch.noResults?this.renderNoResultsTip():this.renderOptionList()},renderAsyncSearchMenuInner:function(){var e=this.instance,t=e.getRemoteSearchEntry(),n=""===e.trigger.searchQuery&&!e.defaultOptions,i=!n&&(t.isLoaded&&0===t.options.length);return n?this.renderSearchPromptTip():t.isLoading?this.renderLoadingOptionsTip():t.loadingError?this.renderAsyncSearchLoadingErrorTip():i?this.renderNoResultsTip():this.renderOptionList()},renderOptionList:function(){var e=this.$createElement,t=this.instance;return e("div",{class:"vue-treeselect__list"},[t.forest.normalizedOptions.map((function(t){return e(je,{attrs:{node:t},key:t.id})}))])},renderSearchPromptTip:function(){var e=this.$createElement,t=this.instance;return e(Ve,{attrs:{type:"search-prompt",icon:"warning"}},[t.searchPromptText])},renderLoadingOptionsTip:function(){var e=this.$createElement,t=this.instance;return e(Ve,{attrs:{type:"loading",icon:"loader"}},[t.loadingText])},renderLoadingRootOptionsErrorTip:function(){var e=this.$createElement,t=this.instance;return e(Ve,{attrs:{type:"error",icon:"error"}},[t.rootOptionsStates.loadingError,e("a",{class:"vue-treeselect__retry",on:{click:t.loadRootOptions},attrs:{title:t.retryTitle}},[t.retryText])])},renderAsyncSearchLoadingErrorTip:function(){var e=this.$createElement,t=this.instance,n=t.getRemoteSearchEntry();return e(Ve,{attrs:{type:"error",icon:"error"}},[n.loadingError,e("a",{class:"vue-treeselect__retry",on:{click:t.handleRemoteSearch},attrs:{title:t.retryTitle}},[t.retryText])])},renderNoAvailableOptionsTip:function(){var e=this.$createElement,t=this.instance;return e(Ve,{attrs:{type:"no-options",icon:"warning"}},[t.noOptionsText])},renderNoResultsTip:function(){var e=this.$createElement,t=this.instance;return e(Ve,{attrs:{type:"no-results",icon:"warning"}},[t.noResultsText])},onMenuOpen:function(){this.adjustMenuOpenDirection(),this.setupMenuSizeWatcher(),this.setupMenuResizeAndScrollEventListeners()},onMenuClose:function(){this.removeMenuSizeWatcher(),this.removeMenuResizeAndScrollEventListeners()},adjustMenuOpenDirection:function(){var e=this.instance;if(e.menu.isOpen){var t=e.getMenu(),n=e.getControl(),i=t.getBoundingClientRect(),r=n.getBoundingClientRect(),o=i.height,s=window.innerHeight,a=r.top,l=window.innerHeight-r.bottom>o+40,c=a>o+40;r.top>=0&&r.top<=s||r.top<0&&r.bottom>0?"auto"!==e.openDirection?e.menu.placement=Pe[e.openDirection]:e.menu.placement=l||!c?"bottom":"top":e.closeMenu()}},setupMenuSizeWatcher:function(){var e=this.instance.getMenu();this.menuSizeWatcher||(this.menuSizeWatcher={remove:N(e,this.adjustMenuOpenDirection)})},setupMenuResizeAndScrollEventListeners:function(){var e=this.instance.getControl();this.menuResizeAndScrollEventListeners||(this.menuResizeAndScrollEventListeners={remove:x(e,this.adjustMenuOpenDirection)})},removeMenuSizeWatcher:function(){this.menuSizeWatcher&&(this.menuSizeWatcher.remove(),this.menuSizeWatcher=null)},removeMenuResizeAndScrollEventListeners:function(){this.menuResizeAndScrollEventListeners&&(this.menuResizeAndScrollEventListeners.remove(),this.menuResizeAndScrollEventListeners=null)}},render:function(){var e=arguments[0];return e("div",{ref:"menu-container",class:"vue-treeselect__menu-container",style:this.menuContainerStyle},[e("transition",{attrs:{name:"vue-treeselect__menu--transition"}},[this.renderMenu()])])}},void 0,void 0,!1,null,null,null);He.options.__file="src/components/Menu.vue";var We=He.exports,Qe=n(17),Ye=n.n(Qe);function qe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}var Ke,Xe={name:"vue-treeselect--portal-target",inject:["instance"],watch:{"instance.menu.isOpen":function(e){e?this.setupHandlers():this.removeHandlers()},"instance.menu.placement":function(){this.updateMenuContainerOffset()}},created:function(){this.controlResizeAndScrollEventListeners=null,this.controlSizeWatcher=null},mounted:function(){this.instance.menu.isOpen&&this.setupHandlers()},methods:{setupHandlers:function(){this.updateWidth(),this.updateMenuContainerOffset(),this.setupControlResizeAndScrollEventListeners(),this.setupControlSizeWatcher()},removeHandlers:function(){this.removeControlResizeAndScrollEventListeners(),this.removeControlSizeWatcher()},setupControlResizeAndScrollEventListeners:function(){var e=this.instance.getControl();this.controlResizeAndScrollEventListeners||(this.controlResizeAndScrollEventListeners={remove:x(e,this.updateMenuContainerOffset)})},setupControlSizeWatcher:function(){var e=this,t=this.instance.getControl();this.controlSizeWatcher||(this.controlSizeWatcher={remove:N(t,(function(){e.updateWidth(),e.updateMenuContainerOffset()}))})},removeControlResizeAndScrollEventListeners:function(){this.controlResizeAndScrollEventListeners&&(this.controlResizeAndScrollEventListeners.remove(),this.controlResizeAndScrollEventListeners=null)},removeControlSizeWatcher:function(){this.controlSizeWatcher&&(this.controlSizeWatcher.remove(),this.controlSizeWatcher=null)},updateWidth:function(){var e=this.instance,t=this.$el,n=e.getControl().getBoundingClientRect();t.style.width=n.width+"px"},updateMenuContainerOffset:function(){var e=this.instance,t=e.getControl(),n=this.$el,i=t.getBoundingClientRect(),r=n.getBoundingClientRect(),o="bottom"===e.menu.placement?i.height:0,s=Math.round(i.left-r.left)+"px",a=Math.round(i.top-r.top+o)+"px";this.$refs.menu.$refs["menu-container"].style[W(["transform","webkitTransform","MozTransform","msTransform"],(function(e){return e in document.body.style}))]="translate(".concat(s,", ").concat(a,")")}},render:function(){var e=arguments[0],t=this.instance,n=["vue-treeselect__portal-target",t.wrapperClass],i={zIndex:t.zIndex};return e("div",{class:n,style:i,attrs:{"data-instance-id":t.getInstanceId()}},[e(We,{ref:"menu"})])},destroyed:function(){this.removeHandlers()}},Ue=ue({name:"vue-treeselect--menu-portal",created:function(){this.portalTarget=null},mounted:function(){this.setup()},destroyed:function(){this.teardown()},methods:{setup:function(){var e=document.createElement("div");document.body.appendChild(e),this.portalTarget=new Ye.a(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?qe(n,!0).forEach((function(t){l()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):qe(n).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({el:e,parent:this},Xe))},teardown:function(){document.body.removeChild(this.portalTarget.$el),this.portalTarget.$el.innerHTML="",this.portalTarget.$destroy(),this.portalTarget=null}},render:function(){var e=arguments[0];return Ke||(Ke=e("div",{class:"vue-treeselect__menu-placeholder"})),Ke}},void 0,void 0,!1,null,null,null);Ue.options.__file="src/components/MenuPortal.vue";var Je=Ue.exports,Ge=ue({name:"vue-treeselect",mixins:[le],computed:{wrapperClass:function(){return{"vue-treeselect":!0,"vue-treeselect--single":this.single,"vue-treeselect--multi":this.multiple,"vue-treeselect--searchable":this.searchable,"vue-treeselect--disabled":this.disabled,"vue-treeselect--focused":this.trigger.isFocused,"vue-treeselect--has-value":this.hasValue,"vue-treeselect--open":this.menu.isOpen,"vue-treeselect--open-above":"top"===this.menu.placement,"vue-treeselect--open-below":"bottom"===this.menu.placement,"vue-treeselect--branch-nodes-disabled":this.disableBranchNodes,"vue-treeselect--append-to-body":this.appendToBody}}},render:function(){var e=arguments[0];return e("div",{ref:"wrapper",class:this.wrapperClass},[e(he),e(Te,{ref:"control"}),this.appendToBody?e(Je,{ref:"portal"}):e(We,{ref:"menu"})])}},void 0,void 0,!1,null,null,null);Ge.options.__file="src/components/Treeselect.vue";var Ze=Ge.exports;n(35);n.d(t,"VERSION",(function(){return et})),n.d(t,"Treeselect",(function(){return Ze})),n.d(t,"treeselectMixin",(function(){return le})),n.d(t,"LOAD_ROOT_OPTIONS",(function(){return"LOAD_ROOT_OPTIONS"})),n.d(t,"LOAD_CHILDREN_OPTIONS",(function(){return"LOAD_CHILDREN_OPTIONS"})),n.d(t,"ASYNC_SEARCH",(function(){return"ASYNC_SEARCH"}));t.default=Ze;var et="0.4.0"}])}));
+//# sourceMappingURL=vue-treeselect.umd.min.js.map
\ No newline at end of file
diff --git a/zq-erp/src/main/resources/templates/views/admin/hive-erp/vip/vipInfo-list.html b/zq-erp/src/main/resources/templates/views/admin/hive-erp/vip/vipInfo-list.html
index c26f320..cde4cab 100644
--- a/zq-erp/src/main/resources/templates/views/admin/hive-erp/vip/vipInfo-list.html
+++ b/zq-erp/src/main/resources/templates/views/admin/hive-erp/vip/vipInfo-list.html
@@ -193,7 +193,7 @@
title : "会员跟进记录",
area : MUI.SIZE_M,
maxmin : true,
- content : [ basePath+'/admin/serviceRecord/toServicefollowListForZd?id=' + id ]
+ content : [ basePath+'/admin/redirect/hive/vip/followu-list?vipId=' + id ]
});
}
diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/servicceAddForm.html b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/servicceAddForm.html
index 07bfb1c..54c081e 100644
--- a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/servicceAddForm.html
+++ b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/servicceAddForm.html
@@ -219,8 +219,8 @@
<script type="text/javascript" th:src="@{/js/systools/AjaxProxyVue.js}"></script>
<script type="text/javascript" th:src="@{/js/plugin/vue.js}"></script>
<script type="text/javascript" th:src="@{/plugin/element-ui/index.js}"></script>
-<script src="https://cdn.jsdelivr.net/npm/@riophae/vue-treeselect@^0.4.0/dist/vue-treeselect.umd.min.js"></script>
-<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@riophae/vue-treeselect@^0.4.0/dist/vue-treeselect.min.css">
+<script th:src="@{/plugin/vue-treeselect/vue-treeselect.umd.min.js}"></script>
+<link rel="stylesheet" th:href="@{/plugin/vue-treeselect/vue-treeselect.min.css}">
<script>
diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/updateServiceOrderTimeV2.html b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/updateServiceOrderTimeV2.html
index 5f36762..1b71f64 100644
--- a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/updateServiceOrderTimeV2.html
+++ b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/updateServiceOrderTimeV2.html
@@ -47,8 +47,8 @@
<script type="text/javascript" th:src="@{/js/systools/AjaxProxyVue.js}"></script>
<script type="text/javascript" th:src="@{/js/plugin/vue.js}"></script>
<script type="text/javascript" th:src="@{/plugin/element-ui/index.js}"></script>
-<script src="https://cdn.jsdelivr.net/npm/@riophae/vue-treeselect@^0.4.0/dist/vue-treeselect.umd.min.js"></script>
-<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@riophae/vue-treeselect@^0.4.0/dist/vue-treeselect.min.css">
+<script th:src="@{/plugin/vue-treeselect/vue-treeselect.umd.min.js}"></script>
+<link rel="stylesheet" th:href="@{/plugin/vue-treeselect/vue-treeselect.min.css}">
<script>
diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/yyServiceAddForm.html b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/yyServiceAddForm.html
index 7259054..be4b541 100644
--- a/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/yyServiceAddForm.html
+++ b/zq-erp/src/main/resources/templates/views/admin/hive/beautySalon/yyServiceAddForm.html
@@ -207,8 +207,8 @@
<script type="text/javascript" th:src="@{/js/systools/AjaxProxyVue.js}"></script>
<script type="text/javascript" th:src="@{/js/plugin/vue.js}"></script>
<script type="text/javascript" th:src="@{/plugin/element-ui/index.js}"></script>
-<script src="https://cdn.jsdelivr.net/npm/@riophae/vue-treeselect@^0.4.0/dist/vue-treeselect.umd.min.js"></script>
-<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@riophae/vue-treeselect@^0.4.0/dist/vue-treeselect.min.css">
+<script th:src="@{/plugin/vue-treeselect/vue-treeselect.umd.min.js}"></script>
+<link rel="stylesheet" th:href="@{/plugin/vue-treeselect/vue-treeselect.min.css}">
<script>
diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/products/goods-form.html b/zq-erp/src/main/resources/templates/views/admin/hive/products/goods-form.html
index e748a60..1e8f66d 100644
--- a/zq-erp/src/main/resources/templates/views/admin/hive/products/goods-form.html
+++ b/zq-erp/src/main/resources/templates/views/admin/hive/products/goods-form.html
@@ -1022,8 +1022,8 @@
<script type="text/javascript" th:src="@{/js/systools/AjaxProxyVue.js}"></script>
<script type="text/javascript" th:src="@{/js/plugin/vue.js}"></script>
<script type="text/javascript" th:src="@{/plugin/element-ui/index.js}"></script>
-<script src="https://cdn.jsdelivr.net/npm/@riophae/vue-treeselect@^0.4.0/dist/vue-treeselect.umd.min.js"></script>
-<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@riophae/vue-treeselect@^0.4.0/dist/vue-treeselect.min.css">
+<script th:src="@{/plugin/vue-treeselect/vue-treeselect.umd.min.js}"></script>
+<link rel="stylesheet" th:href="@{/plugin/vue-treeselect/vue-treeselect.min.css}">
<script>
diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/products/shoppinggoods-zb-list.html b/zq-erp/src/main/resources/templates/views/admin/hive/products/shoppinggoods-zb-list.html
index 3283eb6..75b6b27 100644
--- a/zq-erp/src/main/resources/templates/views/admin/hive/products/shoppinggoods-zb-list.html
+++ b/zq-erp/src/main/resources/templates/views/admin/hive/products/shoppinggoods-zb-list.html
@@ -17,17 +17,11 @@
<body class=" container-fluid">
<div class="pd-10">
- <div class="row" >
- <a th:href="@{/admin/redirect/hive/products/shoppinggoods-zb-list}" class="btn btn-info " type="button"></i>总部产品</a>
- <a th:href="@{/admin/redirect/hive/products/shoppinggoods-md-list}" class="btn btn-default " type="button"></i>本店产品</a>
-
- </div>
<!-- 搜索框部分start -->
<div class="row form-head">
<form class="form-inline" id="serchform">
<input autocomplete="off" type="hidden" name="salePlatform" value="线下">
- <input autocomplete="off" type="hidden" name="headquarters" value="1">
<div class="form-group mr-20">
<label for="name">商品名称</label>
<input class="form-control " name="name" id="name">
@@ -81,6 +75,15 @@
</select>
</div>
+ <div class="form-group mr-20">
+ <label for=" ">是否总部产品</label>
+ <select class="form-control" name="headquarters" id=" ">
+ <option value=''>--请选择--</option>
+ <option value='1'>是</option>
+ <option value='2'>否</option>
+ </select>
+ </div>
+
<div class="form-group mr-20">
<label>商品创建日期</label>
@@ -101,6 +104,9 @@
<div class="row mt-10">
<div id="option-bar">
<button matrix:btn="shoppinggoods1-add" onclick="openEdit()" type="button" class="btn btn-info btn-sm"><i class="fa fa-eye" ></i> 查看</button>
+ <button matrix:btn="shoppinggoods1-add" onclick="openAdd()" type="button" class="btn btn-info btn-sm"><i class="fa fa-plus" ></i> 新增</button>
+ <button matrix:btn="shoppinggoods1-edit" onclick="openEdit()" type="button" class="btn btn-info btn-sm"><i class="fa fa-edit" ></i> 编辑</button>
+ <button matrix:btn="shoppinggoods1-dels" onclick="myGrid.delItems()" type="button" class="btn btn-danger btn-sm"><i class="fa fa-trash" ></i>批量删除</button>
<button matrix:btn="shoppinggoods1-add" onclick="exportExcel()" type="button" class="btn btn-default btn-sm"><i class="fa fa-download"></i>导出 </button>
</div>
<!-- 数据表格部分 -->
@@ -118,7 +124,7 @@
<th data-field="isPresent">是否赠送</th>
<th data-field="goodType" data-sortable="true">类型</th>
<th data-field="cateName" >分类</th>
- <th data-field="achieveRuleName" >业绩规则</th>
+ <th data-field="shopName" >创建门店</th>
<th data-field="createTime" data-sortable="true" data-formatter="MGrid.getTime">创建时间</th>
</tr>
</thead>
diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/vip/followu-list.html b/zq-erp/src/main/resources/templates/views/admin/hive/vip/followu-list.html
new file mode 100644
index 0000000..54985fd
--- /dev/null
+++ b/zq-erp/src/main/resources/templates/views/admin/hive/vip/followu-list.html
@@ -0,0 +1,206 @@
+<!DOCTYPE HTML>
+<html xmlns:th="http://www.thymeleaf.org" xmlns:matrix="http://www.w3.org/1999/xhtml">
+<head>
+ <meta charset="utf-8">
+ <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
+ <meta name="renderer" content="webkit|ie-comp|ie-stand">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+ <meta name="viewport"
+ content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
+ <meta http-equiv="Cache-Control" content="no-siteapp"/>
+ <LINK rel="Bookmark" href="../images/favicon.ico">
+ <!-- 本框架基本脚本和样式 -->
+ <script type="text/javascript" th:src="@{/js/systools/MBaseVue.js}"></script>
+ <link rel="stylesheet" th:href="@{/plugin/element-ui/index.css}">
+ <link th:href="@{/css/styleOne/style.min.css}" rel="stylesheet" type="text/css"/>
+ <title></title>
+ <style>
+ .panel-body{
+ overflow: hidden;
+ }
+ .buttonPanel{
+ background: #ffffff;
+ padding: 10px 10px ;
+ margin: 0px 0px 10px 0px;
+ }
+ .rowPanel{
+ background: #ffffff;
+ padding: 0px 10px ;
+ padding-top: 10px;
+ margin: 0px 0px 10px 0px;
+ }
+ .paginationStyle{
+ background: #ffffff;
+ padding: 10px 10px;
+ margin: 0px 0px 10px 0px;
+ text-align: right;
+ }
+ </style>
+</head>
+<body>
+<div class="panel-body" id="app">
+
+ <el-row class="table-style" >
+
+ <el-table id="proj" :data="table.rows" :height="height" stripe @sort-change="sortChange">
+ <el-table-column
+ prop="vipName"
+ label="客户名称"
+ width="180">
+ </el-table-column>
+ <el-table-column
+ prop="staffName"
+ label="员工名称">
+ </el-table-column>
+ <el-table-column
+ prop="orderAbstract"
+ label="订单摘要信息"
+ show-overflow-tooltip
+ width="240">
+ </el-table-column>
+ <el-table-column
+ prop="content"
+ label="跟进内容"
+ show-overflow-tooltip
+ width="340">
+ </el-table-column>
+ <el-table-column
+ prop="createTime"
+ label="填写时间"
+ width="180">
+ </el-table-column>
+
+ <el-table-column
+ prop="nextNotifyTime"
+ label="下次跟进时间">
+ </el-table-column>
+ <el-table-column label="效果图片">
+ <template slot-scope="scope">
+ <el-image
+ style="width: 100px; height: 100px"
+ :src="scope.row.showImg"
+ :preview-src-list="scope.row.imgList">
+ </el-image>
+
+ </template>
+ </el-table-column>
+ </el-table>
+ </el-row>
+ <el-row class="paginationStyle" >
+ <el-pagination background
+ @size-change="changePageSize"
+ @current-change="changeCurrentPage"
+ :current-page="table.currentPage"
+ :page-sizes="[10, 20, 30, 50]"
+ :page-size="table.pageSize"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="table.total">
+ </el-pagination>
+ </el-row>
+
+</div>
+</body>
+<script type="text/javascript" th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script>
+<script type="text/javascript" th:src="@{/js/plugin/jquery.query.js}"></script>
+<script type="text/javascript" th:src="@{/plugin/layer/layer.js}"></script>
+<script type="text/javascript" th:src="@{/js/systools/AjaxProxyVue.js}"></script>
+<script type="text/javascript" th:src="@{/js/plugin/vue.js}"></script>
+<script type="text/javascript" th:src="@{/plugin/element-ui/index.js}"></script>
+<script type="text/javascript" th:src="@{/plugin/moment.min.js}"></script>
+<script type="text/javascript" th:inline="javascript">
+
+ var vipId = $.query.get('vipId');
+
+ var vue = new Vue({
+ el: '#app',
+ data: {
+ table:{
+ rows:[],
+ total:0,
+ pageSize:10,
+ currentPage:1,
+ },
+ form:{
+ vipId:vipId,
+ order:'',
+ sort:''
+ },
+ height:'calc(100vh - 240px)',
+ },
+ created: function () {
+
+ let _this=this;
+ this.loadData();
+ window.addEventListener("keydown", this.keydown);
+
+ },
+ methods: {
+ changePageSize(val) {
+ this.table.pageSize = val;
+ this.loadData();
+ },
+ changeCurrentPage(val) {
+ this.table.currentPage = val;
+ this.loadData();
+ },
+ resetForm(formName) {
+ this.$refs[formName].resetFields();
+ },
+ sortChange:function (column){
+ if(column.order){
+ if(column.order.indexOf("desc")){
+ this.form.order="desc";
+ }else{
+ this.form.order="asc";
+ }
+ this.form.sort=column.prop;
+ this.loadData();
+ }
+ },
+ loadData:function(){
+ let _this = this;
+ let data=_this.getRequestParam();
+ data.limit=_this.table.pageSize;
+ data.offset=_this.table.pageSize*(_this.table.currentPage-1);
+ AjaxProxy.requst({
+ app: _this,
+ data:data,
+ url: basePath + '/admin/followu/showList',
+ callback: function (data) {
+ data.rows.forEach(e=>{
+ e.showImg= e.albums[0].img;
+ e.imgList=[];
+ e.albums.forEach(album=>{
+ e.imgList.push(album.img);
+ })
+ })
+ _this.table.rows = data.rows;
+ _this.table.total=data.total;
+ }
+ });
+ },
+ getRequestParam(){
+ let _this = this;
+ return {
+ vipId:_this.form.vipId,
+ order:_this.form.order,
+ sort:_this.form.sort
+
+ }
+ },
+ search:function(){
+ this.table.currentPage=1;
+ this.loadData();
+ },
+ keydown(evt){
+ if(evt.keyCode==13) {
+ this.search();
+ }
+ },
+ }
+ });
+
+
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/zq-erp/src/main/resources/templates/views/admin/hive/vip/vipInfo-list.html b/zq-erp/src/main/resources/templates/views/admin/hive/vip/vipInfo-list.html
index 9d86ad6..f6d43a4 100644
--- a/zq-erp/src/main/resources/templates/views/admin/hive/vip/vipInfo-list.html
+++ b/zq-erp/src/main/resources/templates/views/admin/hive/vip/vipInfo-list.html
@@ -315,7 +315,7 @@
title : "会员跟进记录",
area : MUI.SIZE_M,
maxmin : true,
- content : [ basePath+'/admin/serviceRecord/toServicefollowList?id=' + id ]
+ content : [ basePath+'/admin/redirect/hive/vip/followu-list?vipId=' + id ]
});
}
function createDateDictionary() {
diff --git a/zq-erp/src/test/java/com/matrix/BizUserToVipInfoTool.java b/zq-erp/src/test/java/com/matrix/BizUserToVipInfoTool.java
index a6b4830..3072c1d 100644
--- a/zq-erp/src/test/java/com/matrix/BizUserToVipInfoTool.java
+++ b/zq-erp/src/test/java/com/matrix/BizUserToVipInfoTool.java
@@ -17,6 +17,8 @@
import com.matrix.system.fenxiao.dao.BizUserDao;
import com.matrix.system.fenxiao.entity.BizUser;
import com.matrix.system.hive.bean.*;
+import com.matrix.system.hive.bean.MoneyCardUse;
+import com.matrix.system.hive.bean.SysVipInfo;
import com.matrix.system.hive.dao.SysBedInfoDao;
import com.matrix.system.hive.dao.SysOrderItemDao;
import com.matrix.system.hive.dao.SysShopInfoDao;
diff --git a/zq-erp/src/test/java/com/matrix/JyyTests.java b/zq-erp/src/test/java/com/matrix/JyyTests.java
index 7173527..0d4d794 100644
--- a/zq-erp/src/test/java/com/matrix/JyyTests.java
+++ b/zq-erp/src/test/java/com/matrix/JyyTests.java
@@ -1,5 +1,6 @@
package com.matrix;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.matrix.core.pojo.AjaxResult;
import com.matrix.system.constance.Dictionary;
@@ -22,6 +23,7 @@
import javax.annotation.Resource;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.List;
/**
@@ -98,12 +100,19 @@
}
+
+
@Test
@Rollback
public void testNoticeTask() throws IOException {
// orderDingDingNoticeTask.handle("",new Delivery(null,null,"1295".getBytes()));
+ List<JSONObject> storeReceiptWares =new ArrayList<>();
+ JSONObject o=new JSONObject();
+ o.put("id",12);
+ o.put("createBy","");
-
+ storeReceiptWares.add(o);
+ moneyCardUseDao.saveInTimeReceiptWare(storeReceiptWares);
}
diff --git a/zq-erp/src/test/java/com/matrix/LocalCacheTest.java b/zq-erp/src/test/java/com/matrix/LocalCacheTest.java
index df54f35..b91395a 100644
--- a/zq-erp/src/test/java/com/matrix/LocalCacheTest.java
+++ b/zq-erp/src/test/java/com/matrix/LocalCacheTest.java
@@ -7,6 +7,8 @@
*/
package com.matrix;
+import com.alibaba.fastjson.TypeReference;
+import com.matrix.system.common.bean.SysUsers;
import com.matrix.system.common.init.LocalCache;
import org.junit.Assert;
import org.junit.Test;
@@ -27,9 +29,9 @@
public void testNoticeTask() throws IOException, InterruptedException {
LocalCache.save("name","jyy",1000*3);
System.out.println("放入对象");
- Assert.assertNotNull(LocalCache.get("name"));
+ Assert.assertNotNull(LocalCache.get("name",new TypeReference<SysUsers>(){}));
Thread.sleep(1000*5);
- Assert.assertNull(LocalCache.get("name"));
+ Assert.assertNull(LocalCache.get("name",new TypeReference<SysUsers>(){}));
}
}
\ No newline at end of file
--
Gitblit v1.9.1