From 764f045c785959117db3d27d744e63d2dad6240c Mon Sep 17 00:00:00 2001
From: 44323 <443237572@qq.com>
Date: 星期一, 13 十一月 2023 09:04:41 +0800
Subject: [PATCH] 后台bug修改

---
 cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/yuyue.html                                     |    1 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/UserMgrController.java      |  173 +++++++++----
 cloud-server-management/src/main/webapp/static/modular/system/tShop/tShopOtherOne.js                            |    6 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/IUserService.java                     |    3 
 cloud-server-competition/src/main/resources/mapper/ParticipantMapper.xml                                        |    7 
 cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetitionUser.js                  |    6 
 cloud-server-management/src/main/webapp/static/modular/system/user/user.js                                      |  138 +++-------
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/UserServiceImpl.java             |    7 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java          |   12 
 cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java                            |   20 +
 cloud-server-course/src/main/resources/mapper/TCoursePackageMapper.xml                                          |    2 
 cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_edit_one.html                           |    7 
 cloud-server-management/src/main/resources/mapper/UserMapper.xml                                                |   30 ++
 cloud-server-management/src/main/webapp/static/modular/system/coursePackage/coursePackage.js                    |    1 
 cloud-server-management/src/main/webapp/WEB-INF/view/system/user/user_add.html                                  |   26 +
 cloud-server-management/src/main/webapp/WEB-INF/view/system/user/user_edit.html                                 |   11 
 cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java                           |    5 
 cloud-server-management/src/main/webapp/WEB-INF/view/system/user/user.html                                      |   31 ++
 cloud-server-management/src/main/java/com/dsh/course/mapper/UserMapper.java                                     |    5 
 cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue.js                                     |   18 +
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/UserListVO.java                         |   32 ++
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/UserQuery.java                          |   23 +
 cloud-server-management/src/main/webapp/static/modular/system/tShop/tShopOtherTwo.js                            |    7 
 cloud-server-account/src/main/resources/mapper/TAppUserMapper.xml                                               |    3 
 cloud-server-management/src/main/webapp/static/modular/system/user/user_info.js                                 |  101 ++++++-
 cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoupon/TCouponAdd.html                             |    7 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCoursePackageController.java |    3 
 cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetition/TCompetitionUser.html                  |    2 
 cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_pay.html                              |    2 
 cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TCouponInfo.js                            |    5 
 cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TGoodsController.java         |    2 
 cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_add_one.html                            |    7 
 32 files changed, 492 insertions(+), 211 deletions(-)

diff --git a/cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java b/cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java
index 155b96b..7c7e566 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/controller/AppUserController.java
@@ -119,11 +119,29 @@
     @RequestMapping("/base/appUser/listAll")
     public List<QueryAppUserVO> listAll(@RequestBody QueryAppUser query){
         List<QueryAppUserVO> queryAppUserVOS = appUserService.listAll(query);
+        ArrayList<QueryAppUserVO> res = new ArrayList<>();
+
         if (query.getUserIds()!=null && query.getUserIds().size()!=0){
             List<QueryAppUserVO> queryAppUserVOS1 = appUserService.listAll1(query);
             queryAppUserVOS.addAll(queryAppUserVOS1);
         }
-        return queryAppUserVOS.stream().distinct().collect(Collectors.toList());
+        List<QueryAppUserVO> collect = queryAppUserVOS.stream().distinct().collect(Collectors.toList());
+        for (QueryAppUserVO vo : collect) {
+            // 会员到期时间小于当前时间或者会员到期时间为null 则会员过期
+            if (vo.getVipEndTime()!=null && vo.getVipEndTime().after(new Date())){
+                vo.setIsVip(1);
+            }else{
+                vo.setIsVip(0);
+            }
+            if (query.getIsVip() != null && (!query.getIsVip().equals("")) ){
+                if (vo.getIsVip() == query.getIsVip()){
+                    res.add(vo);
+                }
+            }else{
+                res.add(vo);
+            }
+        }
+        return res;
     }
 
     /**
diff --git a/cloud-server-account/src/main/resources/mapper/TAppUserMapper.xml b/cloud-server-account/src/main/resources/mapper/TAppUserMapper.xml
index 0dfafd5..67c9d60 100644
--- a/cloud-server-account/src/main/resources/mapper/TAppUserMapper.xml
+++ b/cloud-server-account/src/main/resources/mapper/TAppUserMapper.xml
@@ -63,9 +63,6 @@
             <if test="query.phone!=null and query.phone!= ''">
                 and t1.phone LIKE concat('%',#{query.phone},'%')
             </if>
-            <if test="query.isVip!=null and query.isVip!= ''">
-                and t1.isVip = #{query.isVip}
-            </if>
             <if test="query.salesmanUser!=null and query.salesmanUser!= ''">
                 and t1.salesmanUserId = #{query.salesmanUser}
             </if>
diff --git a/cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java b/cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java
index 2f50270..533c5d4 100644
--- a/cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java
+++ b/cloud-server-activity/src/main/java/com/dsh/activity/controller/CouponController.java
@@ -578,10 +578,7 @@
                     case 1:
                         coupon.setIntegral(BigDecimal.valueOf(dataVo.getRequiredPoints()));
                         break;
-                    case 2:
-                        coupon.setCash(dataVo.getRequiredCash());
-                        coupon.setIntegral(BigDecimal.valueOf(dataVo.getRequiredPoints()));
-                        break;
+
                     case 3:
                         coupon.setCash(dataVo.getRequiredCash());
                         break;
diff --git a/cloud-server-competition/src/main/resources/mapper/ParticipantMapper.xml b/cloud-server-competition/src/main/resources/mapper/ParticipantMapper.xml
index 5c7d873..e38cfa4 100644
--- a/cloud-server-competition/src/main/resources/mapper/ParticipantMapper.xml
+++ b/cloud-server-competition/src/main/resources/mapper/ParticipantMapper.xml
@@ -2,7 +2,9 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.dsh.competition.mapper.ParticipantMapper">
     <select id="getPeopleFromId" resultType="com.dsh.competition.feignclient.model.CompetitionUser">
-        select t2.name,t2.gender sex,t2.phone ,t2.idcard idCard ,t3.payStatus state  from t_user_competition t1 left join t_participant t2 on t1.participantId = t2.id left join t_payment_competition t3 on t1.paymentCompetitionId = t3.id
+        select t2.id, t2.name,t2.gender sex,t2.phone ,t2.idcard idCard ,t3.payStatus state
+         from t_user_competition t1 left join t_participant t2 on t1.participantId = t2.id
+          left join t_payment_competition t3 on t1.paymentCompetitionId = t3.id
         where t1.competitionId =#{id} and t2.id is not null and t3.id is not null
         <if test="state !=null and state !='' and state ==1">
             and t3.payStatus in (1,2)
@@ -10,8 +12,5 @@
         <if test="state !=null and state !='' and state ==3">
             and t3.payStatus =3
         </if>
-
-
-
     </select>
 </mapper>
\ No newline at end of file
diff --git a/cloud-server-course/src/main/resources/mapper/TCoursePackageMapper.xml b/cloud-server-course/src/main/resources/mapper/TCoursePackageMapper.xml
index d15825e..80d6765 100644
--- a/cloud-server-course/src/main/resources/mapper/TCoursePackageMapper.xml
+++ b/cloud-server-course/src/main/resources/mapper/TCoursePackageMapper.xml
@@ -86,7 +86,7 @@
             </foreach>
         </if>
         <if test="null != item.name and '' != item.name">
-            and a.name line CONCAT('%', #{item.name}, '%')
+            and a.name like CONCAT('%', #{item.name}, '%')
         </if>
         <if test="null != item.status">
             and a.status = #{item.status}
diff --git a/cloud-server-management/src/main/java/com/dsh/course/mapper/UserMapper.java b/cloud-server-management/src/main/java/com/dsh/course/mapper/UserMapper.java
index d9130f7..9383906 100644
--- a/cloud-server-management/src/main/java/com/dsh/course/mapper/UserMapper.java
+++ b/cloud-server-management/src/main/java/com/dsh/course/mapper/UserMapper.java
@@ -4,6 +4,8 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.dsh.guns.core.dataScope.DataScope;
 import com.dsh.guns.modular.system.model.User;
+import com.dsh.guns.modular.system.model.UserListVO;
+import com.dsh.guns.modular.system.model.UserQuery;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -61,4 +63,7 @@
                                              @Param("deptid") Integer deptid,
                                              @Param("objectType") Integer objectType,
                                              @Param("objectId") Integer objectId);
+
+    List<UserListVO> searchUsers(@Param("query") UserQuery userQuery);
+
 }
\ No newline at end of file
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCoursePackageController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCoursePackageController.java
index f2c32b3..81fb0cd 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCoursePackageController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TCoursePackageController.java
@@ -865,7 +865,8 @@
         if(objectType == 3) {// 门店
             storeIds.add(objectId);
         }
-        Page<Map<String, Object>> mapPage = coursePackageService.queryCoursePackageLists(provinceCode, cityCode, coursePackageTypeId, storeIds, name, status, state);
+        Page<Map<String, Object>> mapPage = coursePackageService.queryCoursePackageLists(provinceCode,
+                cityCode, coursePackageTypeId, storeIds, name, status, state);
         return super.packForBT(mapPage);
     }
 
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TGoodsController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TGoodsController.java
index 2deb31a..0dfcc25 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TGoodsController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TGoodsController.java
@@ -649,6 +649,8 @@
     public String payOfDetails(@PathVariable(value = "id") Integer id,Model model) {
         System.out.println(id);
         model.addAttribute("id",id);
+        Coupon coupon = client.queryCouponById(id);
+        model.addAttribute("type",coupon.getType());
         return PREFIX + "TGoods_pay.html";
     }
     /**
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java
index 9092db9..7d52885 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/code/TShopController.java
@@ -547,8 +547,6 @@
             String result = HttpRequestUtil.postRequest("https://try.daowepark.com/v7/user_api/general/addSpace", map1);
             System.out.println(result);
 
-
-
             for (String s : tStore.getIds().split(",")) {
                 HashMap<String, String> map = new HashMap<>();
                 map.put("sign","0DB011836143EEE2C2E072967C9F4E4B");
@@ -969,13 +967,14 @@
     }
     @RequestMapping(value = "/addConfig")
     @ResponseBody
-    public Object addConfig(String name,Integer id) {
+    public Object addConfig(String name,Integer id,Integer sort) {
         try {
             List<TStoreOtherConfig> list = storeOtherConfigService.list();
             if(list.size()>0){
                 TStoreOther tStoreOther = new TStoreOther();
                 tStoreOther.setName(name);
                 tStoreOther.setStoreId(id);
+                tStoreOther.setSort(sort);
                 storeOtherService.save(tStoreOther);
 
                 // 找出temp表数据
@@ -1000,12 +999,11 @@
     }
     @RequestMapping(value = "/addConfig1")
     @ResponseBody
-    public Object addConfig1(String name,Integer id) {
+    public Object addConfig1(String name,Integer id,Integer sort) {
         try {
             TStoreOther byId = storeOtherService.getById(id);
-            byId.setName(
-                    name
-            );
+            byId.setName(name);
+            byId.setSort(sort);
             storeOtherService.updateById(byId);
 
 
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/UserMgrController.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/UserMgrController.java
index 0664128..bf7ce4a 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/UserMgrController.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/controller/system/UserMgrController.java
@@ -2,6 +2,7 @@
 
 import cn.hutool.crypto.SecureUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.dsh.course.mapper.UserMapper;
 import com.dsh.guns.config.UserExt;
@@ -22,11 +23,13 @@
 import com.dsh.guns.core.util.SinataUtil;
 import com.dsh.guns.modular.system.controller.util.MD5;
 import com.dsh.guns.modular.system.factory.UserFactory;
-import com.dsh.guns.modular.system.model.Role;
-import com.dsh.guns.modular.system.model.User;
+import com.dsh.guns.modular.system.model.*;
+import com.dsh.guns.modular.system.service.IDeptService;
 import com.dsh.guns.modular.system.service.IRoleService;
+import com.dsh.guns.modular.system.service.IStoreService;
 import com.dsh.guns.modular.system.service.IUserService;
 import com.dsh.guns.modular.system.transfer.UserDto;
+import com.dsh.guns.modular.system.util.OBSUploadUtil;
 import com.dsh.guns.modular.system.util.OssUploadUtil;
 import com.dsh.guns.modular.system.util.ResultUtil;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -40,6 +43,7 @@
 import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * 系统管理员控制器
@@ -61,7 +65,8 @@
 
     @Autowired
     private IRoleService roleService;
-
+    @Autowired
+    private IDeptService deptService;
 
 
     /**
@@ -78,6 +83,7 @@
      */
     @RequestMapping("/user_add")
     public String addView(Model model) {
+        model.addAttribute("role",UserExt.getUser().getObjectType());
         model.addAttribute("language",UserExt.getLanguage());
         LambdaQueryWrapper<Role> roleLambdaQueryWrapper = new LambdaQueryWrapper<>();
         if(UserExt.getUser().getObjectType()!=1){
@@ -86,6 +92,9 @@
         roleLambdaQueryWrapper.eq(Role::getObjType,UserExt.getUser().getObjectType());
         List<Role> list = roleService.list(roleLambdaQueryWrapper);
         model.addAttribute("list",list);
+        // 部门列表
+        List<Dept> depts = deptService.list(new QueryWrapper<>());
+        model.addAttribute("depts",depts);
         return PREFIX + "user_add.html";
     }
 
@@ -106,11 +115,12 @@
     }
 
     /**
-     * 跳转到编辑管理员页面
+     * 跳转到编辑管理员页面 type=1编辑 type=2 查看详情
      */
     @Permission
-    @RequestMapping("/user_edit/{userId}")
-    public String userEdit(@PathVariable Integer userId, Model model) {
+    @RequestMapping("/user_edit/{userId}/{type}")
+    public String userEdit(@PathVariable Integer userId,@PathVariable Integer type, Model model) {
+        model.addAttribute("role",UserExt.getUser().getObjectType());
         if (Objects.isNull(userId)) {
             throw new GunsException(BizExceptionEnum.REQUEST_NULL);
         }
@@ -128,6 +138,10 @@
         List<Role> list = roleService.list(roleLambdaQueryWrapper);
         model.addAttribute("list",list);
         model.addAttribute("language",UserExt.getLanguage());
+        // 部门列表
+        List<Dept> depts = deptService.list(new QueryWrapper<>());
+        model.addAttribute("depts",depts);
+        model.addAttribute("type",type);
         return PREFIX + "user_edit.html";
     }
 
@@ -178,32 +192,68 @@
         }
     }
 
+    @Autowired
+    private IStoreService storeService;
     /**
      * 查询管理员列表
      */
     @RequestMapping("/list")
     @Permission
     @ResponseBody
-    public Object list(@RequestParam(required = false) String name, @RequestParam(required = false) String createTime, @RequestParam(required = false) Integer deptid) {
-        //创建日期
-        String beginTime = null;
-        String endTime = null;
-        if (SinataUtil.isNotEmpty(createTime)){
-            String[] timeArray = createTime.split(" - ");
-            beginTime = timeArray[0];
-            endTime = timeArray[1];
+    public List<UserListVO> list(String name, String phone, String idCard, Integer isSales, Integer state) {
+        UserQuery userQuery = new UserQuery();
+        userQuery.setName(name);
+        userQuery.setPhone(phone);
+        userQuery.setIdCard(idCard);
+        userQuery.setIsSales(isSales);
+        userQuery.setStatus(state);
+
+        // 根据当前登陆人类型来查询员工列表
+        Integer objectType = UserExt.getUser().getObjectType();
+        Integer objectId = UserExt.getUser().getObjectId();
+        switch (objectType){
+            case 1:
+                // 平台查询所有
+                List<UserListVO> res= userService.searchUsers(userQuery);
+                return res;
+            case 2:
+                // 运营商查询运营商账号的员工和属于该运营商门店的员工
+                userQuery.setObjectType(2);
+                userQuery.setObjectId(objectId);
+                // 获取属于这个运营商的门店的店长ids
+                List<Integer> storeStaffIds = storeService.list(new QueryWrapper<TStore>().eq("operatorId", objectId)
+                        .ne("state", 3)).stream().map(TStore::getStoreStaffId).collect(Collectors.toList());
+                userQuery.setStoreIds(storeStaffIds);
+                List<UserListVO> res1= userService.searchUsers(userQuery);
+                return res1;
+            case 3:
+                // 门店只查询门店员工
+                TStore store = storeService.getById(objectId);
+                List<Integer> storeIds = userQuery.getStoreIds();
+                storeIds.add(store.getStoreStaffId());
+                List<UserListVO> res2= userService.searchUsers(userQuery);
+                return res2;
         }
-        User user = UserExt.getUser();
-        Role role = roleService.getBaseMapper().selectById(user.getRoleid());
-        if ("administrator".equals(role.getTips())) {
-            Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
-            page.setRecords(userService.getUserListPage(page,null, name, beginTime, endTime, deptid));
-            return super.packForBT(page);
-        } else {
-            Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
-            page.setRecords(userService.getUserListPage(page,null, name, beginTime, endTime, deptid));
-            return super.packForBT(page);
-        }
+        return new ArrayList<>();
+//        //创建日期
+//        String beginTime = null;
+//        String endTime = null;
+//        if (SinataUtil.isNotEmpty(createTime)){
+//            String[] timeArray = createTime.split(" - ");
+//            beginTime = timeArray[0];
+//            endTime = timeArray[1];
+//        }
+//        User user = UserExt.getUser();
+//        Role role = roleService.getBaseMapper().selectById(user.getRoleid());
+//        if ("administrator".equals(role.getTips())) {
+//            Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
+//            page.setRecords(userService.getUserListPage(page,null, name, beginTime, endTime, deptid));
+//            return super.packForBT(page);
+//        } else {
+//            Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
+//            page.setRecords(userService.getUserListPage(page,null, name, beginTime, endTime, deptid));
+//            return super.packForBT(page);
+//        }
     }
 
     /**
@@ -213,39 +263,51 @@
     @BussinessLog(value = "添加管理员", key = "account", dict = UserDict.class)
     @Permission(Const.ADMIN_NAME)
     @ResponseBody
-    public Tip add(@Valid UserDto user, BindingResult result) {
+    public Object add(@Valid UserDto user, BindingResult result) {
         if (result.hasErrors()) {
             throw new GunsException(BizExceptionEnum.REQUEST_NULL);
         }
 
         // 判断账号是否重复
-        //Check if the account is duplicated
         User theUser = new User();
-        if (user.getAccount()!=""){
-         theUser = userService.getByAccount(user.getAccount());
-
+        if (user.getPhone()!=""){
+         theUser = userService.getByAccount(user.getPhone());
         }
-        System.out.println("=====theUser======="+theUser);
-        if (theUser != null&&user.getAccount()!="") {
-            throw new GunsException(BizExceptionEnum.USER_ALREADY_REG);
+        if (theUser != null){
+            return 5001;
         }
 
         // 完善账号信息
-        // Complete account information
         user.setPassword(SecureUtil.md5(user.getPassword()));
         user.setStatus(ManagerStatus.OK.getCode());
         user.setCreatetime(new Date());
-
         User objectUser = UserFactory.createUser(user);
-        objectUser.setObjectType(UserExt.getUser().getObjectType());
+        objectUser.setObjectType(Integer.valueOf(user.getRoleid()));
         objectUser.setObjectId(UserExt.getUser().getObjectId());
         objectUser.setRoleid(user.getRoleid());
         objectUser.setAccount(user.getPhone());
+        objectUser.setName(user.getName());
+        objectUser.setPhone(user.getPhone());
+        objectUser.setBirthday(user.getBirthday());
+        objectUser.setDeptid(user.getDeptid());
+        objectUser.setIdCard(user.getIdCard());
+        objectUser.setSex(user.getSex());
+        objectUser.setStatus(1);
         objectUser.setPassword(SecureUtil.md5("a123456"));
-        //查找平台所属公司
-        //Search for the company that owns the platform.
+        objectUser.setCreatetime(new Date());
+        // 运营商添加员工
+        if (UserExt.getUser().getObjectType() == 2){
+            objectUser.setObjectType(UserExt.getUser().getObjectType());
+            objectUser.setRoleid("2");
+            objectUser.setObjectId(UserExt.getUser().getObjectId());
+        }
+        // 门店添加员工
+        if (UserExt.getUser().getObjectType() == 3){
+            objectUser.setObjectType(UserExt.getUser().getObjectType());
+            objectUser.setRoleid("3");
+            objectUser.setObjectId(UserExt.getUser().getObjectId());
+        }
         this.userService.save(objectUser);
-
         return SUCCESS_TIP;
     }
 
@@ -257,27 +319,30 @@
     @RequestMapping("/edit")
     @BussinessLog(value = "修改管理员", key = "account", dict = UserDict.class)
     @ResponseBody
-    public Tip edit(@Valid UserDto user, BindingResult result) throws NoPermissionException {
+    public Object edit(@Valid UserDto user, BindingResult result) throws NoPermissionException {
         if (result.hasErrors()) {
             throw new GunsException(BizExceptionEnum.REQUEST_NULL);
         }
-
-
         User oldUser = userService.getById(user.getId());
-//        UserExt.hasRole(Const.ADMIN_NAME)
-        if (false) {
-            this.userService.updateById(UserFactory.editUser(user, oldUser));
-            return SUCCESS_TIP;
-        } else {
-            assertAuth(user.getId());
-            User shiroUser = UserExt.getUser();
-            if (shiroUser.getId().equals(user.getId()) || shiroUser.getId()==1) {
-                this.userService.updateById(UserFactory.editUser(user, oldUser));
-                return SUCCESS_TIP;
-            } else {
-                throw new GunsException(BizExceptionEnum.NO_PERMITION);
+        // 判断是否更改电话
+        if (!oldUser.getPhone().equals(user.getPhone())){
+            User phone = userService.getOne(new QueryWrapper<User>().eq("phone", user.getPhone()));
+            if (phone == null){
+                oldUser.setPhone(user.getPhone());
+            }else{
+                return 5001;
             }
         }
+        oldUser.setName(user.getName());
+        oldUser.setBirthday(user.getBirthday());
+        oldUser.setRoleid(user.getRoleid());
+        oldUser.setDeptid(user.getDeptid());
+        oldUser.setIdCard(user.getIdCard());
+        oldUser.setSex(user.getSex());
+        if (user.getAvatar()!=null && (!user.getAvatar().equals("")))
+        oldUser.setAvatar(user.getAvatar());
+        this.userService.updateById(oldUser);
+        return SUCCESS_TIP;
     }
 
     /**
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/UserListVO.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/UserListVO.java
new file mode 100644
index 0000000..74f110c
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/UserListVO.java
@@ -0,0 +1,32 @@
+package com.dsh.guns.modular.system.model;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 员工管理查询返回VO
+ */
+@Data
+public class UserListVO {
+    // 用户id
+    private Integer id;
+    // 员工姓名
+    private String name;
+    // 联系电话
+    private String phone;
+    // 头像
+    private String avatar;
+    // 生日
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date birthday;
+    // 性别 1男2女
+    private Integer sex;
+    // 身份证号
+    private String idCard;
+    // 所在部门
+    private String deptName;
+    // 状态 1=正常 2=冻结
+    private Integer status;
+}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/UserQuery.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/UserQuery.java
new file mode 100644
index 0000000..40bffdc
--- /dev/null
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/model/UserQuery.java
@@ -0,0 +1,23 @@
+package com.dsh.guns.modular.system.model;
+
+import lombok.Data;
+import org.omg.CORBA.PRIVATE_MEMBER;
+
+import java.util.List;
+
+/**
+ * 员工管理查询Query
+ */
+@Data
+public class UserQuery {
+    private String name;
+    private String phone;
+    private String idCard;
+    private Integer isSales;
+    private Integer status;
+    // 以下为运营商、门店权限筛选条件
+    private Integer objectType;
+    private Integer objectId;
+    // 门店员工ids
+    private List<Integer> storeIds;
+}
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/IUserService.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/IUserService.java
index 20c7e2b..ded8fc6 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/IUserService.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/IUserService.java
@@ -4,6 +4,8 @@
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.dsh.guns.core.dataScope.DataScope;
 import com.dsh.guns.modular.system.model.User;
+import com.dsh.guns.modular.system.model.UserListVO;
+import com.dsh.guns.modular.system.model.UserQuery;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -59,4 +61,5 @@
                                              @Param("deptid") Integer deptid);
 
 
+    List<UserListVO> searchUsers(UserQuery userQuery);
 }
diff --git a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/UserServiceImpl.java b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/UserServiceImpl.java
index 332132f..2871004 100644
--- a/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/UserServiceImpl.java
+++ b/cloud-server-management/src/main/java/com/dsh/guns/modular/system/service/impl/UserServiceImpl.java
@@ -9,6 +9,8 @@
 import com.dsh.course.mapper.UserMapper;
 import com.dsh.guns.config.UserExt;
 import com.dsh.guns.core.dataScope.DataScope;
+import com.dsh.guns.modular.system.model.UserListVO;
+import com.dsh.guns.modular.system.model.UserQuery;
 import org.springframework.stereotype.Service;
 
 import com.dsh.guns.modular.system.model.User;
@@ -60,4 +62,9 @@
         List<Map<String, Object>> userListPage = this.baseMapper.getUserListPage(page, dataScope, name, beginTime, endTime, deptid,objectType,objectId);
         return userListPage;
     }
+
+    @Override
+    public List<UserListVO> searchUsers(UserQuery userQuery) {
+       return this.baseMapper.searchUsers(userQuery);
+    }
 }
diff --git a/cloud-server-management/src/main/resources/mapper/UserMapper.xml b/cloud-server-management/src/main/resources/mapper/UserMapper.xml
index a42cc57..71b8210 100644
--- a/cloud-server-management/src/main/resources/mapper/UserMapper.xml
+++ b/cloud-server-management/src/main/resources/mapper/UserMapper.xml
@@ -115,5 +115,35 @@
 		</where>
 		order by o.id desc
 	</select>
+    <select id="searchUsers" resultType="com.dsh.guns.modular.system.model.UserListVO">
+		select t1.id,t1.name ,t1.phone ,t1.avatar,t1.birthday,t1.sex,t1.idCard,t1.status
+		 ,t2.simplename as deptName from sys_user t1
+		 left join sys_dept t2 on t1.deptid = t2.id
+		<where>
+			<if test="query.name != null and query.name != ''">
+				and t1.name like CONCAT('%',#{query.name},'%')
+			</if>
+			<if test="query.phone != null and query.phone != ''">
+				and t1.phone like CONCAT('%',#{query.phone},'%')
+			</if>
+			<if test="query.idCard != null and query.idCard != ''">
+				and t1.idCard like CONCAT('%',#{query.idCard},'%')
+			</if>
+			<if test="query.isSales == 1">
+				and (t2.simplename like CONCAT('%','销售','%')
+				or t2.fullname like CONCAT('%','销售','%'))
+			</if>
+			<if test="query.status != null and query.status != ''">
+				and t1.status = #{query.status}
+			</if>
+			<if test="query.storeIds != null and query.storeIds.size()>0">
+				AND t1.id IN
+				<foreach collection="query.storeIds" separator="," item="id" open="(" close=")">
+					#{id}
+				</foreach>
+			</if>
+			and t1.status != 3
+		</where>
+	</select>
 
 </mapper>
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/yuyue.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/yuyue.html
index c2d1727..83c6a9d 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/yuyue.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/ball/yuyue.html
@@ -95,6 +95,7 @@
 
                             <div class="col-sm-3">
                                 <#button name="搜索" icon="fa-search" clickFun="TStudent.search()"/>
+                                <#button name="重置" icon="fa-trash" clickFun="TStudent.resetSearch()" space="true"/>
                             </div>
                         </div>
                         <div class="hidden-xs" id="TStudentTableToolbar" role="group">
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetition/TCompetitionUser.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetition/TCompetitionUser.html
index 8b4156e..4edceb0 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetition/TCompetitionUser.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCompetition/TCompetitionUser.html
@@ -23,7 +23,7 @@
                     </div>
                 </div>
                 <div class="hidden-xs" id="TCompetitionTableToolbar" role="group">
-                    <#button name="导出" icon="fa-plus" clickFun="TCompetition.export()"/>
+                    <#button name="导出" icon="fa-plus" clickFun="TCompetition.ouTCompetition()"/>
                 </div>
                 <#table id="TCompetitionTable"/>
             </div>
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoupon/TCouponAdd.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoupon/TCouponAdd.html
index d39364a..1d187d3 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoupon/TCouponAdd.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tCoupon/TCouponAdd.html
@@ -128,13 +128,12 @@
                     <div class="form-group">
                         <div class="initialLevel col-sm-12 control-label form-group">
                             <label class="col-sm-3 control-label">*兑换方式: </label>
+                            <input class="col-sm-1 control-label" name="exchangeMethod" checked   onclick="exchangeMethod2()" type="radio"
+                                   value="2"  style="margin-left: 5%;margin-top: 10px;width: 13px;height: 13px"/>
+                            <label class="col-sm-1" style="width: 20%;margin-top: 7px">现金+积分</label>
                             <input class="col-sm-1 control-label"  onclick="exchangeMethod1()" name="exchangeMethod" type="radio"
                                    value="1"  style="margin-top: 10px"/>
                             <label class="col-sm-1" style="margin-left: -15px;width: 16%;margin-top: 7px">积分</label>
-                            <input class="col-sm-1 control-label" name="exchangeMethod"   onclick="exchangeMethod2()" type="radio"
-                                   value="2"  style="margin-left: 5%;margin-top: 10px;width: 13px;height: 13px"/>
-                            <label class="col-sm-1" style="width: 20%;margin-top: 7px">现金+积分</label>
-
                         </div>
                     </div>
                     
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_pay.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_pay.html
index 0f1e6ef..05b322e 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_pay.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tGoods/TGoods_pay.html
@@ -26,9 +26,11 @@
                             <#button name="重置" icon="fa-trash" clickFun="TPayInfo.resetSearch()" space="true"/>
                         </div>
                     </div>
+                    @if(type==1){
                     <div class="hidden-xs" id="TPayInfoTableToolbar" role="group">
                         <#button name="核销" icon="fa-plus" clickFun="TPayInfo.WriteOff()"/>
                     </div>
+                    @}
                     <#table id="TPayInfoTable"/>
 
                     <div style="margin-left: 40%">
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_add_one.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_add_one.html
index 87fa3b5..6471b4a 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_add_one.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_add_one.html
@@ -7,7 +7,12 @@
                 <label class="col-sm-3 control-label">板块名称:</label>
                 <div class="col-sm-9">
                     <input class="form-control" id="name" name="name" type="text" style="width: 400px;">
-
+                </div>
+            </div>
+            <div class="form-group" style="margin-left:-410px">
+                <label class="col-sm-3 control-label">排序:</label>
+                <div class="col-sm-9">
+                    <input class="form-control" id="sort" name="name" type="text" style="width: 400px;">
                 </div>
             </div>
             <div class="form-group" style="margin-left:-410px">
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_edit_one.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_edit_one.html
index e8ea2a9..881641a 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_edit_one.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/tShop/TShop_edit_one.html
@@ -7,7 +7,12 @@
                 <label class="col-sm-3 control-label">板块名称:</label>
                 <div class="col-sm-9">
                     <input class="form-control" id="name" name="name" type="text" style="width: 400px;" value="${item.name}">
-
+                </div>
+            </div>
+            <div class="form-group" style="margin-left:-410px">
+                <label class="col-sm-3 control-label">排序:</label>
+                <div class="col-sm-9">
+                    <input class="form-control" id="sort" name="name" type="text" value="${item.sort}" style="width: 400px;">
                 </div>
             </div>
             <div class="form-group" style="margin-left:-410px">
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/user/user.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/user/user.html
index 73b723f..dc53d53 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/user/user.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/user/user.html
@@ -4,7 +4,7 @@
 	<div class="col-sm-12">
 		<div class="ibox float-e-margins">
 			<div class="ibox-title">
-				<h5>用户管理</h5>
+				<h5>员工管理</h5>
 			</div>
 			<div class="ibox-content">
 				<div class="row row-lg">
@@ -13,7 +13,26 @@
 							<div class="col-lg-10 col-sm-9">
 								<div class="row">
 									<div class="col-lg-4 col-sm-12">
-										<#NameCon id="name" name="搜索" placeholder="帐号/姓名/手机号"/>
+										<#NameCon id="name" name="员工姓名" placeholder="请输入"/>
+									</div>
+									<div class="col-lg-4 col-sm-12">
+										<#NameCon id="phone" name="联系电话" placeholder="请输入"/>
+									</div>
+									<div class="col-lg-4 col-sm-12">
+										<#NameCon id="idCard" name="身份证号" placeholder="请输入"/>
+									</div>
+									<div class="col-lg-4 col-sm-12">
+										<#SelectCon id="isSales" name="销售人员" >
+										<option value="">全部</option>
+										<option value="1">是</option>
+									</#SelectCon>
+									</div>
+									<div class="col-lg-4 col-sm-12">
+										<#SelectCon id="status" name="状态" >
+										<option value="">全部</option>
+										<option value="1">正常</option>
+										<option value="2">冻结</option>
+									</#SelectCon>
 									</div>
 								</div>
 							</div>
@@ -36,8 +55,8 @@
 							@if(shiro.hasPermission("/mgr/delete")){
 							<#button name="删除" icon="fa-remove" clickFun="MgrUser.delMgrUser()" space="true"/>
 							@}
-							@if(shiro.hasPermission("/mgr/reset")){
-							<#button name="重置密码" icon="fa-refresh" clickFun="MgrUser.resetPwd()" space="true"/>
+							@if(shiro.hasPermission("/mgr/delete")){
+							<#button name="查看详情" icon="fa-remove" clickFun="MgrUser.openChangeUser1()" space="true"/>
 							@}
 							@if(shiro.hasPermission("/mgr/freeze")){
 							<#button name="冻结" icon="fa-warning" clickFun="MgrUser.freezeAccount()" space="true"/>
@@ -45,6 +64,10 @@
 							@if(shiro.hasPermission("/mgr/unfreeze")){
 							<#button name="解冻" icon="fa-check-circle" clickFun="MgrUser.unfreeze()" space="true"/>
 							@}
+							@if(shiro.hasPermission("/mgr/reset")){
+							<#button name="重置密码" icon="fa-refresh" clickFun="MgrUser.resetPwd()" space="true"/>
+							@}
+
 							@if(shiro.hasPermission("/mgr/kanbanPermissions")){
 							<#button name="看板权限设置" icon="fa-user-secret" clickFun="MgrUser.kanbanPermissions()" space="true"/>
 							@}
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/user/user_add.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/user/user_add.html
index d070658..4591282 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/user/user_add.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/user/user_add.html
@@ -3,24 +3,34 @@
     <div class="ibox-content">
         <div class="form-horizontal" id="userInfoForm">
             <input type="hidden" id="id" value="">
+            <input type="hidden" id="role" value="role">
             <div class="row">
                 <div class="col-sm-6">
                     <div id="driverInfoContent">
-                        <#input id="name" name="员工姓名" underline="true"/>
-                        <#input id="phone" name="联系电话" underline="true"/>
-                        <#avatar id="avatar" name="照片" underline="true"/>
-                        <#input id="birthday" name="生日" underline="true" type="text"/>
-                        <#select id="sex" name="性别" underline="true" >
+                        <#input id="name" name="*员工姓名" underline="true"/>
+                        <#input id="phone" name="*联系电话" underline="true"/>
+                        <#avatar id="avatar" name="*照片" underline="true"/>
+                        <#input id="birthday" name="*生日" underline="true" type="text"/>
+                        <#select id="sex" name="*性别" underline="true" >
                         <option value="1" selected>男</option>
                         <option value="2">女</option>
                     </#select>
-                    <#input id="idCard" name="身份证号" type="text" underline="true"/>
-                    <#select id="roleid" name="角色" underline="true" >
+                    <#input id="idCard" name="*身份证号" type="text" underline="true"/>
+                    <#select id="deptid" name="*所在部门" underline="true" >
+                    <option value="">请选择</option>
+                    @for(l in depts){
+                    <option value="${l.id}">${l.fullname}</option>
+                    @}
+                </#select>
+                @if(role == 1){
+                    <#select id="roleid" name="*所属角色" underline="true" >
+                <option value="">请选择</option>
                     @for(l in list){
                     <option value="${l.id}">${l.name}</option>
                     @}
-
                 </#select>
+            @}
+
             </div>
         </div>
     </div>
diff --git a/cloud-server-management/src/main/webapp/WEB-INF/view/system/user/user_edit.html b/cloud-server-management/src/main/webapp/WEB-INF/view/system/user/user_edit.html
index 572e1f9..16cbe7d 100644
--- a/cloud-server-management/src/main/webapp/WEB-INF/view/system/user/user_edit.html
+++ b/cloud-server-management/src/main/webapp/WEB-INF/view/system/user/user_edit.html
@@ -19,9 +19,16 @@
 					<#input id="idCard" name="身份证号" type="text" underline="true" value="${user.idCard}"/>
 					<#select id="roleid" name="角色" underline="true" >
 					@for(l in list){
-					    <option value="${l.id}" ${l.id == user.roleid ? 'selected=selected' : ''}>${l.name}</option>
+					<option value="${l.id}" ${l.id == user.roleid ? 'selected=selected' : ''}>${l.name}</option>
+					@}
+				</#select>
+					@if(role == 1){
+					<#select id="deptid" name="角色" underline="true" >
+					@for(l in depts){
+					    <option value="${l.id}" ${l.id == user.deptid ? 'selected=selected' : ''}>${l.fullname}</option>
 					@}
 					</#select>
+				@}
 			</div>
 		</div>
 	</div>
@@ -33,7 +40,9 @@
 
 	<div class="row btn-group-m-t">
 		<div class="col-sm-10">
+			@if(type == 1){
 			<#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="UserInfoDlg.editSubmit()"/>
+			@}
 			<#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="UserInfoDlg.close()"/>
 		</div>
 	</div>
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue.js b/cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue.js
index abd3a9f..147586b 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/ball/yuyue.js
@@ -284,12 +284,22 @@
     queryData['date'] = $("#date").val();
     queryData['payMethod'] = $("#payMethod").val();
     queryData['state'] = $("#state").val();
-
-
-
     TStudent.table.refresh({query: queryData});
 };
-
+/**
+ * 重置
+ */
+TStudent.resetSearch = function () {
+    $("#pCode").val("");
+    $("#cCode").val("");
+    $("#store").val("");
+    $("#peopleName").val("");
+    $("#phone").val("");
+    $("#date").val("");
+    $("#payMethod").val("");
+    $("#state").val("");
+    TStudent.search();
+};
 $(function () {
     var defaultColunms = TStudent.initColumn();
     var table = new BSTable(TStudent.id, "/ball/yuyuelist", defaultColunms);
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/coursePackage.js b/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/coursePackage.js
index b016738..da6d6f5 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/coursePackage.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/coursePackage/coursePackage.js
@@ -305,7 +305,6 @@
     queryData['cityCode'] = $("#cityCode").val();
     queryData['coursePackageTypeId'] = $("#coursePackageTypeId").val();
     queryData['name'] = $("#name").val();
-    queryData['status'] = $("#status").val();
     queryData['state'] = $("#state").val();
     CoursePackage.table.refresh({query: queryData});
 }
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetitionUser.js b/cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetitionUser.js
index 3ec4e13..0062cf7 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetitionUser.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tCompetition/tCompetitionUser.js
@@ -17,7 +17,11 @@
         {title: '序号', field: 'id', visible: true, align: 'center', valign: 'middle'},
         {title: '姓名', field: 'name', visible: true, align: 'center', valign: 'middle',width:'8%',
         },
-        {title: '性别', field: 'sex', visible: true, align: 'center', valign: 'middle'},
+        {title: '性别', field: 'sex', visible: true, align: 'center', valign: 'middle',
+            formatter:function (data) {
+                return {1:"男",2:"女"}[data]
+            }
+        },
         {title: '联系电话', field: 'phone', visible: true, align: 'center', valign: 'middle',width:'8%',
         },
         {title:  '身份证号', field: 'idCard', visible: true, align: 'center', valign: 'middle',width:'8%',
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TCouponInfo.js b/cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TCouponInfo.js
index 14d18da..5935920 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TCouponInfo.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tCoupon/TCouponInfo.js
@@ -457,12 +457,17 @@
         stores = this.storeIds.join(',');
         console.log('stores--===--',stores)
     }
+
+    var ensure = document.getElementById("ensure");
+    ensure.disabled = true;
     //提交信息
     var ajax = new $ax(Feng.ctxPath + "/tCouponManage/commitData", function (data) {
+        ensure.disabled = false;
         Feng.success("添加成功!");
         window.parent.TCoupon.table.refresh();
         couponInfoDlg.close();
     }, function (data) {
+        ensure.disabled = false;
         Feng.error("添加失败!" + data.responseJSON.message + "!");
     });
     ajax.set("userType",$('#userType').val());
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShopOtherOne.js b/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShopOtherOne.js
index dc29b38..6a4c19b 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShopOtherOne.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShopOtherOne.js
@@ -737,9 +737,14 @@
 
 
     let name = $("#name").val()
+    let sort = $("#sort").val()
 
     if(name=='' || name ==null){
         Feng.info("请填写板块名称")
+        return;
+    }
+    if(sort=='' || sort ==null){
+        Feng.info("请填写排序")
         return;
     }
 
@@ -758,6 +763,7 @@
     });
     ajax.set("name",name);
     ajax.set("id",$("#id").val());
+    ajax.set("sort",$("#sort").val());
     ajax.start();
 }
 
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShopOtherTwo.js b/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShopOtherTwo.js
index ac30f9f..f357f36 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShopOtherTwo.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/tShop/tShopOtherTwo.js
@@ -828,7 +828,11 @@
         Feng.info("请填写板块名称")
         return;
     }
-
+    let sort = $("#sort").val()
+    if(sort=='' || sort ==null){
+        Feng.info("请填写排序")
+        return;
+    }
     //提交信息
     var ajax = new $ax(Feng.ctxPath + "/tShop/addConfig1", function(data){
         if(data.code == 200){
@@ -844,6 +848,7 @@
     });
     ajax.set("name",name);
     ajax.set("id",$("#id").val());
+    ajax.set("sort",$("#sort").val());
     ajax.start();
 }
 TCompetition.close = function() {
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/user/user.js b/cloud-server-management/src/main/webapp/static/modular/system/user/user.js
index d0c1fc7..da1d9f2 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/user/user.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/user/user.js
@@ -23,92 +23,36 @@
                 return "";
             }
         },
-        {title: '序号', field: 'id', visible: true, align: 'center', valign: 'middle'},
-        {title:  language==1?'账号':(language==2?'Account number':'Nomor akun'), field: 'account', align: 'center', valign: 'middle', sortable: true},
-        {title:  language==1?'姓名':(language==2?'name':'Nama Lengkap'), field: 'name', align: 'center', valign: 'middle', sortable: true},
+        {title: '序号', field: 'id', visible: false, align: 'center', valign: 'middle'},
+        {title:  '姓名', field: 'name', align: 'center', valign: 'middle', sortable: true},
+        {title:  '电话', field: 'phone', align: 'center', valign: 'middle', sortable: true},
+        {title:  '头像', field: 'avatar', align: 'center', valign: 'middle',
+            formatter: function (value, row, index) {
+                value = typeof value == "undefined" || value == '' ? '/static/img/NoPIC.png' : value;
+                return '<img src="' + value + '" style="height: 100px;"/>'
+            },
+            sortable: true},
+        {title:  '生日', field: 'birthday', align: 'center', valign: 'middle', sortable: true},
         {title: language==1?'性别':(language==2?'Gender':'Jenis kelamin'), field: 'sexName', align: 'center', valign: 'middle', sortable: true,
             formatter:function (data) {
-                if(language==1){
                     if(data==1){
                         return '男'
                     }else {
                         return '女'
                     }
-                }else if(language==2){
+            }
+        },
+        {title:  '身份证号', field: 'idCard', align: 'center', valign: 'middle', sortable: true},
+        {title:  '所在部门', field: 'deptName', align: 'center', valign: 'middle', sortable: true},
+        {title:  '状态', field: 'status', align: 'center', valign: 'middle', sortable: true,
+            formatter:function (data) {
                     if(data==1){
-                        return 'man'
+                        return '正常'
                     }else {
-                        return 'woman'
+                        return '冻结'
                     }
-                }else {
-                    if(data==1){
-                        return 'laki-laki'
-                    }else {
-                        return 'wanita'
-                    }
-                }
-
             }
         },
-        {title: language==1?'角色':(language==2?'role':'peran'), field: 'roleName', visible: true, align: 'center', valign: 'middle', sortable: true,
-            formatter: function (value, row) {
-                var btn = "";
-                if(row.roleName != '' && row.roleName != null) {
-                    var labelStr = "";
-                    var labelStrs = "";
-                    var labelArray = row.roleName.split(",");
-                    for(var i=0;i<labelArray.length;i++){
-                        labelStr += labelArray[i] +"<br>";
-                        labelStrs += labelArray[i] + "&#10;";
-                    }
-                    labelStr = labelStr.substring(0,labelStr.length-4);
-                    labelStrs = labelStrs.substring(0,labelStrs.length-5);
-                    btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + labelStrs + '" onfocus="AppCar.tooltip()">' + labelStr + '</p>']
-                }
-                return btn;
-            }
-        },
-        {title: language==1?'部门':(language==2?'department':'departemen'), field: 'deptName', align: 'center', valign: 'middle', sortable: true},
-        {title: language==1?'邮箱':(language==2?'email':'email'), field: 'email', align: 'center', valign: 'middle', sortable: true},
-        {title: language==1?'电话':(language==2?'phone':'Telepon'), field: 'phone', align: 'center', valign: 'middle', sortable: true},
-        {title:language==1?'创建时间':(language==2?'Creation time':'Waktu penciptaan'), field: 'createtime', visible: true, align: 'center', valign: 'middle', sortable: true,
-            formatter: function (value, row) {
-                var btn = "";
-                if(row.createtime1 != '' && row.createtime1 != null) {
-                    var time = row.createtime1.replace(" ",'<br>');
-                    btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.createtime1 + '" onfocus="AppCar.tooltip()">' + time + '</p>']
-                }
-                return btn;
-            }
-        },
-        {title: language==1?'状态':(language==2?'State':'Status'), field: 'statusName', visible: true, align: 'center', valign: 'middle',
-            formatter: function (value, row) {
-                var btn = "";
-                if(row.statusName != '' && row.statusName != null) {
-                    if(language==1){
-                        if (row.statusName == "2"){
-                            btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color: red;" title="' + `冻结` + '" onfocus="AppUserInfo.tooltip()">' + `冻结` + '</p>']
-                        }else{
-                            btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + `启用` + '" onfocus="AppUserInfo.tooltip()">' + `启用` + '</p>']
-                        }
-                    }else if(language==2){
-                        if (row.statusName == "2"){
-                            btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color: red;" title="' + `freeze` + '" onfocus="AppUserInfo.tooltip()">' + `freeze` + '</p>']
-                        }else{
-                            btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + `enable` + '" onfocus="AppUserInfo.tooltip()">' + `enable` + '</p>']
-                        }
-                    }else {
-                        if (row.statusName == "2"){
-                            btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color: red;" title="' + `Membekukan` + '" onfocus="AppUserInfo.tooltip()">' + 'Membekukan' + '</p>']
-                        }else{
-                            btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + `aktifkan` + '" onfocus="AppUserInfo.tooltip()">' + 'aktifkan' + '</p>']
-                        }
-                    }
-
-                }
-                return btn;
-            }
-        }
         ];
     return columns;
 };
@@ -154,7 +98,24 @@
             area: ['800px', '450px'], //宽高
             fix: false, //不固定
             maxmin: true,
-            content: Feng.ctxPath + '/mgr/user_edit/' + this.seItem.id
+            content: Feng.ctxPath + '/mgr/user_edit/' + this.seItem.id+"/1"
+        });
+        this.layerIndex = index;
+    }
+};
+/**
+ * 点击查看详情按钮时
+ * @param userId 管理员id
+ */
+MgrUser.openChangeUser1 = function () {
+    if (this.check()) {
+        var index = layer.open({
+            type: 2,
+            title: language==1?'编辑':(language==2?'Edit':'Edit'),
+            area: ['800px', '450px'], //宽高
+            fix: false, //不固定
+            maxmin: true,
+            content: Feng.ctxPath + '/mgr/user_edit/' + this.seItem.id+"/2"
         });
         this.layerIndex = index;
     }
@@ -207,15 +168,7 @@
             ajax.set("userId", userId);
             ajax.start();
         };
-
-        if(language==1){
-            Feng.confirm("是否删除用户" + MgrUser.seItem.account + "?",operation);
-        }else if(language==2){
-            Feng.confirm("Whether to delete a user" + MgrUser.seItem.account + "?",operation);
-        }else {
-            Feng.confirm("Apakah menghapus pengguna" + MgrUser.seItem.account + "?",operation);
-        }
-
+        Feng.confirm("是否删除员工:       " + MgrUser.seItem.name + "?",operation);
     }
 };
 
@@ -288,7 +241,7 @@
     if (this.check()) {
         var userId = this.seItem.id;
         if(language==1){
-            parent.layer.confirm('是否重置密码为a123456?', {
+            parent.layer.confirm('是否重置密码为<span style="color: red;">a123456</span>?', {
                 btn: ['确定', '取消'],
                 shade: false //不显示遮罩
             }, function () {
@@ -333,18 +286,21 @@
 
 MgrUser.resetSearch = function () {
     $("#name").val("");
-    $("#createTime").val("");
+    $("#phone").val("");
+    $("#idCard").val("");
+    $("#isSales").val("");
+    $("#status").val("");
 
     MgrUser.search();
 }
 
 MgrUser.search = function () {
     var queryData = {};
-
-    queryData['deptid'] = MgrUser.deptid;
     queryData['name'] = $("#name").val();
-    queryData['createTime'] = $("#createTime").val();
-
+    queryData['phone'] = $("#phone").val();
+    queryData['idCard'] = $("#idCard").val();
+    queryData['isSales'] = $("#isSales").val();
+    queryData['state'] = $("#status").val();
     MgrUser.table.refresh({query: queryData});
 }
 
@@ -357,7 +313,7 @@
     var defaultColunms = MgrUser.initColumn();
     var table = new BSTable(MgrUser.id, "/mgr/list", defaultColunms);
     // 设置物理分页server(逻辑分页client)
-    table.setPaginationType("server");
+    table.setPaginationType("client");
     // 表单提交参数
     var queryData = {};
     queryData['deptid'] = MgrUser.deptid;
diff --git a/cloud-server-management/src/main/webapp/static/modular/system/user/user_info.js b/cloud-server-management/src/main/webapp/static/modular/system/user/user_info.js
index 4ccc0dd..372195a 100644
--- a/cloud-server-management/src/main/webapp/static/modular/system/user/user_info.js
+++ b/cloud-server-management/src/main/webapp/static/modular/system/user/user_info.js
@@ -160,7 +160,7 @@
  * 收集数据
  */
 UserInfoDlg.collectData = function () {
-    this.set('id').set('account').set('sex').set('password').set('avatar')
+    this.set('id').set('account').set('sex').set('password').set('avatar').set("deptid")
         .set('email').set('name').set('birthday').set('rePassword').set('roleid').set('phone').set('idCard');
 };
 
@@ -197,9 +197,23 @@
     if (!this.validate()) {
         return;
     }
-
-
-
+    if($("#name").val()==''){
+        Feng.info("请输入员工姓名")
+        return;
+    }
+    var phonePattern = /^1[3-9]\d{9}$/;
+    if (!phonePattern.test($("#phone").val())) {
+        Feng.info("请输入合法手机号")
+        return ;
+    }
+    if($("#phone").val()==''){
+        Feng.info("请输入员工电话")
+        return;
+    }
+    if($("#birthday").val()==''){
+        Feng.info("请选择员工生日")
+        return;
+    }
     var avatar = $("#avatar").val();
     if(avatar==''){
         Feng.info("请上传照片")
@@ -210,20 +224,33 @@
         Feng.info("请选择性别")
         return;
     }
-    var roleid = $("#roleid").val();
-    if(roleid==''){
-        Feng.info("请选择角色")
+    // 当前登陆人类型 如果不是平台 不校验角色选择
+    var role = $("#role").val();
+    if (role==1){
+        var roleid = $("#roleid").val();
+        if(roleid==''){
+            Feng.info("请选择角色")
+            return;
+        }
+    }
+    var dept = $("#deptid").val();
+    if(dept==''){
+        Feng.info("请选择部门")
         return;
     }
     console.log(this.userInfoData)
     //提交信息
     var ajax = new $ax(Feng.ctxPath + "/mgr/add", function (data) {
-          Feng.success("添加成功!");
-        window.parent.MgrUser.table.refresh();
-        UserInfoDlg.close();
-        $(".img-circle").each(function () {
-            $(this).attr("src",Feng.ctxPath+$("#avatar").val());
-        })
+        if (data==5001){
+            Feng.error("该手机号已存在!");
+        }else{
+            Feng.success("添加成功!");
+            window.parent.MgrUser.table.refresh();
+            UserInfoDlg.close();
+            $(".img-circle").each(function () {
+                $(this).attr("src",Feng.ctxPath+$("#avatar").val());
+            })
+        }
     }, function (data) {
         Feng.error("添加失败!" + data.responseJSON.message + "!");
     });
@@ -244,17 +271,55 @@
     }
     console.log(this.userInfoData)
 
+    if($("#name").val()==''){
+        Feng.info("请输入员工姓名")
+        return;
+    }
+    var phonePattern = /^1[3-9]\d{9}$/;
+    if (!phonePattern.test($("#phone").val())) {
+        Feng.info("请输入合法手机号")
+        return ;
+    }
+    if($("#phone").val()==''){
+        Feng.info("请输入员工电话")
+        return;
+    }
+    if($("#birthday").val()==''){
+        Feng.info("请选择员工生日")
+        return;
+    }
 
+    var sex = $("#sex").val();
+    if(sex==''){
+        Feng.info("请选择性别")
+        return;
+    }
+    // 当前登陆人类型 如果不是平台 不校验角色选择
+    var role = $("#role").val();
+    if (role==1){
+        var roleid = $("#roleid").val();
+        if(roleid==''){
+            Feng.info("请选择角色")
+            return;
+        }
+    }
+    var dept = $("#deptid").val();
+    if(dept==''){
+        Feng.info("请选择部门")
+        return;
+    }
     //提交信息
     var ajax = new $ax(Feng.ctxPath + "/mgr/edit", function (data) {
-        Feng.success("修改成功!");
-        if (window.parent.MgrUser != undefined) {
+        if (data==5001){
+            Feng.error("该手机号已存在!");
+        }else{
+            Feng.success("修改成功!");
             window.parent.MgrUser.table.refresh();
             UserInfoDlg.close();
+            $(".img-circle").each(function () {
+                $(this).attr("src",Feng.ctxPath+$("#avatar").val());
+            })
         }
-        window.parent.$(".img-circle").each(function () {
-            $(this).attr("src",$("#avatar").val());
-        })
 
         window.parent.$("#userNameTab").text($("#name").val());
     }, function (data) {

--
Gitblit v1.7.1