From 3b4e776dfa939ae6f3206ab68fe038aabb14a5b3 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期四, 02 三月 2023 18:08:35 +0800
Subject: [PATCH] 优推管理,系统管理,投诉管理

---
 management/guns-admin/src/main/webapp/WEB-INF/view/system/tComplaint/tComplaintAudit.html                             |   24 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TComplaintMapper.xml                |   56 -
 management/guns-admin/src/main/webapp/WEB-INF/view/system/tComplaint/tComplaint_edit.html                             |   15 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TSystemConfigServiceImpl.java      |   20 
 management/guns-admin/src/main/webapp/static/modular/system/tSystemConfig/tSystemConfig.js                            |  143 ++++
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushMinistryOfTransportUtil.java           |    4 
 management/guns-admin/src/main/webapp/static/modular/system/tCoupon/tCoupon_info.js                                   |   10 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITComplaintService.java                 |   27 
 management/guns-admin/src/main/webapp/WEB-INF/view/system/tComplaint/tComplaint.html                                  |   56 +
 management/guns-admin/src/main/webapp/static/modular/system/tComplaint/tComplaint.js                                  |  263 +++-----
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TComplaintController.java    |  177 ++---
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/resp/TComplaintResp.java             |   43 +
 management/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemConfig/tSystemConfigCommissionShareRules.html        |   68 ++
 management/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemConfig/tSystemConfigDispatchRules.html               |   82 ++
 management/guns-admin/src/main/webapp/static/modular/system/tComplaint/tComplaint_info.js                             |   81 +-
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TSystemConfigMapper.java                    |   16 
 management/guns-admin/src/main/webapp/WEB-INF/view/system/tComplaint/tComplaint_add.html                              |   15 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TSystemConfig.java                        |   74 ++
 management/guns-admin/src/main/webapp/WEB-INF/view/system/tCoupon/tCoupon.html                                        |    3 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TCoupon.java                              |   12 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TSystemConfigMapper.xml             |   17 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITSystemConfigService.java              |   16 
 management/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemConfig/tSystemConfig_add.html                        |   28 
 management/guns-admin/src/main/webapp/static/modular/system/tSystemConfig/tSystemConfig_info.js                       |   95 +++
 management/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemConfig/tSystemConfig.html                            |   38 +
 management/guns-admin/src/main/webapp/WEB-INF/view/system/tCoupon/tCoupon_add.html                                    |   22 
 management/guns-admin/src/main/webapp/static/modular/system/tCoupon/tCoupon.js                                        |   20 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TSystemConfigController.java |  154 ++++
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/LoginController.java          |    2 
 management/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemConfig/tSystemConfig_edit.html                       |   28 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TComplaintMapper.java                       |   31 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TComplaint.java                           |  133 ++--
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TComplaintServiceImpl.java         |   28 
 management/guns-admin/src/main/webapp/WEB-INF/view/system/tYouTui/tYouTui_add.html                                    |   26 
 34 files changed, 1,310 insertions(+), 517 deletions(-)

diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TComplaintController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TComplaintController.java
index b5589db..850999c 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TComplaintController.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TComplaintController.java
@@ -1,15 +1,11 @@
 package com.stylefeng.guns.modular.system.controller.general;
 
-import com.baomidou.mybatisplus.plugins.Page;
 import com.stylefeng.guns.core.base.controller.BaseController;
-import com.stylefeng.guns.core.common.constant.factory.PageFactory;
+import com.stylefeng.guns.core.base.tips.SuccessTip;
 import com.stylefeng.guns.core.shiro.ShiroKit;
-import com.stylefeng.guns.core.util.SinataUtil;
-import com.stylefeng.guns.modular.system.model.TProblem;
-import com.stylefeng.guns.modular.system.model.TSystemNotice;
-import com.stylefeng.guns.modular.system.service.ITSystemNoticeService;
-import com.stylefeng.guns.modular.system.util.PushMinistryOfTransportUtil;
-import org.springframework.beans.factory.annotation.Value;
+import com.stylefeng.guns.core.shiro.ShiroUser;
+import com.stylefeng.guns.modular.system.model.TDriver;
+import org.apache.shiro.subject.Subject;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
@@ -21,16 +17,13 @@
 import com.stylefeng.guns.modular.system.model.TComplaint;
 import com.stylefeng.guns.modular.system.service.ITComplaintService;
 
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
 import java.util.Date;
-import java.util.Map;
 
 /**
- * 投诉列表控制器
+ * 控制器
  *
  * @author fengshuonan
- * @Date 2020-06-09 17:31:24
+ * @Date 2023-03-02 10:14:46
  */
 @Controller
 @RequestMapping("/tComplaint")
@@ -41,19 +34,8 @@
     @Autowired
     private ITComplaintService tComplaintService;
 
-    @Autowired
-    private ITSystemNoticeService tSystemNoticeService;
-
-    @Autowired
-    private PushMinistryOfTransportUtil pushMinistryOfTransportUtil;
-
-    @Value("${pushMinistryOfTransport}")
-    private boolean pushMinistryOfTransport;
-
-
-
     /**
-     * 跳转到投诉列表首页
+     * 跳转到首页
      */
     @RequestMapping("")
     public String index() {
@@ -61,112 +43,91 @@
     }
 
     /**
-     * 跳转到查看详情
+     * 跳转到添加
      */
-    @RequestMapping("/lookDetail/{id}/{type}")
-    public String lookDetail(@PathVariable Integer id, @PathVariable Integer type, Model model) {
-        TComplaint tComplaint = tComplaintService.selectById(id);
-        String str = "";
-        if (1 == type){
-            str = tComplaint.getReason();
-        }else if (2 == type){
-            str = tComplaint.getDescription();
-        }else if (3 == type){
-            str = tComplaint.getHandleResult();
-        }
-        model.addAttribute("str",str);
-        return "/system/tComplaint/lookDetail.html";
+    @RequestMapping("/tComplaint_add")
+    public String tComplaintAdd() {
+        return PREFIX + "tComplaint_add.html";
     }
 
     /**
-     * 跳转到立即处理页面
+     * 跳转到修改
      */
-    @RequestMapping("/tComplaint_immediately/{tComplaintId}")
+    @RequestMapping("/tComplaint_update/{tComplaintId}")
     public String tComplaintUpdate(@PathVariable Integer tComplaintId, Model model) {
+        TComplaint tComplaint = tComplaintService.selectById(tComplaintId);
+        model.addAttribute("item",tComplaint);
+        LogObjectHolder.me().set(tComplaint);
+        return PREFIX + "tComplaint_edit.html";
+    }
+    /**
+     * 跳转到投诉处理
+     */
+    @RequestMapping("/immediatelyAudit")
+    public String immediatelyAudit(Integer tComplaintId,Model model) {
         model.addAttribute("tComplaintId",tComplaintId);
-        return PREFIX + "tComplaint_immediately.html";
+        return PREFIX + "tComplaintAudit.html";
     }
 
     /**
-     * 跳转到查看详情
+     * 审核
      */
-    @RequestMapping("/lookDetail/{str}")
-    public String lookDetail(@PathVariable String str, Model model) {
-        System.out.println(str);
-        model.addAttribute("str",str);
-        return PREFIX + "lookDetail.html";
-    }
-
-    /**
-     * 获取投诉列表列表
-     */
-    @RequestMapping(value = "/list")
+    @RequestMapping(value = "/audit")
     @ResponseBody
-    public Object list(String insertTime,
-                       String userName,
-                       String userPhone,
-                       String driverPhone,
-                       Integer isHandle) {
-        String beginTime = null;
-        String endTime = null;
-        if (SinataUtil.isNotEmpty(insertTime)){
-            String[] timeArray = insertTime.split(" - ");
-            beginTime = timeArray[0];
-            endTime = timeArray[1];
-        }
-        Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
-        page.setRecords(tComplaintService.getComplaintList(page,ShiroKit.getUser().getRoleType(),ShiroKit.getUser().getObjectId(),beginTime,endTime,userName,userPhone,driverPhone,isHandle));
-        return super.packForBT(page);
-    }
-
-    /**
-     * 删除投诉列表
-     */
-    @RequestMapping(value = "/immediately")
-    @ResponseBody
-    public Object immediately(@RequestParam Integer id,@RequestParam String handleResult) {
-        TComplaint tComplaint = tComplaintService.selectById(id);
-        if(SinataUtil.isNotEmpty(tComplaint)){
-            tComplaint.setHandleResult(handleResult);
-            tComplaint.setHandleUserId(ShiroKit.getUser().getId());
-            tComplaint.setIsHandle(1);
-            tComplaint.setHandleTime(new Date());
-            tComplaintService.updateById(tComplaint);
-
-            //增加系统消息
-            TSystemNotice notice = new TSystemNotice();
-            notice.setType(2);
-            notice.setUserType(1);
-            notice.setContent("投诉处理结果:【"+handleResult+"】。");
-            notice.setUserId(tComplaint.getUserId());
-            notice.setInsertTime(new Date());
-            notice.setRead(1);
-            tSystemNoticeService.insert(notice);
-
-            new Thread(new Runnable() {
-                @Override
-                public void run() {
-                    if(pushMinistryOfTransport){//上传数据
-                        pushMinistryOfTransportUtil.ratedPassengerComplaint(tComplaint.getId());
-                    }
-                }
-            }).start();
-        }
+    public Object audit(Integer tComplaintId,String notes) {
+        TComplaint tComplaint = tComplaintService.selectById(tComplaintId);
+        tComplaint.setNotes(notes);
+        tComplaint.setState(2);
+        // 审核用户id
+        Subject subject = ShiroKit.getSubject();
+        ShiroUser shiroUser = (ShiroUser)subject.getPrincipal();
+        tComplaint.setAuditId(shiroUser.getId());
+        tComplaint.setAuditPersonName(shiroUser.getName());
+        tComplaint.setAuditTime(new Date());
+        tComplaintService.updateById(tComplaint);
         return SUCCESS_TIP;
     }
 
     /**
-     * 删除投诉
+     * 获取列表
+     */
+    @RequestMapping(value = "/list")
+    @ResponseBody
+    public Object list(String createTime,String userName,String userPhone,String driverPhone,Integer state) {
+        return tComplaintService.getPageList(createTime,userName,userPhone,driverPhone,state);
+    }
+
+    /**
+     * 获取列表
+     */
+    @RequestMapping(value = "/list-back")
+    @ResponseBody
+    public Object listBack(String condition) {
+        return tComplaintService.selectList(null);
+    }
+
+    /**
+     * 新增
+     */
+    @RequestMapping(value = "/add")
+    @ResponseBody
+    public Object add(TComplaint tComplaint) {
+        tComplaintService.insert(tComplaint);
+        return SUCCESS_TIP;
+    }
+
+    /**
+     * 删除
      */
     @RequestMapping(value = "/delete")
     @ResponseBody
-    public Object delete(Integer tComplaintId) {
+    public Object delete(@RequestParam Integer tComplaintId) {
         tComplaintService.deleteById(tComplaintId);
         return SUCCESS_TIP;
     }
 
     /**
-     * 修改投诉列表
+     * 修改
      */
     @RequestMapping(value = "/update")
     @ResponseBody
@@ -176,7 +137,7 @@
     }
 
     /**
-     * 投诉列表详情
+     * 详情
      */
     @RequestMapping(value = "/detail/{tComplaintId}")
     @ResponseBody
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TSystemConfigController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TSystemConfigController.java
new file mode 100644
index 0000000..fae454e
--- /dev/null
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TSystemConfigController.java
@@ -0,0 +1,154 @@
+package com.stylefeng.guns.modular.system.controller.general;
+
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.stylefeng.guns.core.base.controller.BaseController;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.beans.factory.annotation.Autowired;
+import com.stylefeng.guns.core.log.LogObjectHolder;
+import org.springframework.web.bind.annotation.RequestParam;
+import com.stylefeng.guns.modular.system.model.TSystemConfig;
+import com.stylefeng.guns.modular.system.service.ITSystemConfigService;
+
+/**
+ * 控制器
+ *
+ * @author fengshuonan
+ * @Date 2023-03-02 17:09:55
+ */
+@Controller
+@RequestMapping("/tSystemConfig")
+public class TSystemConfigController extends BaseController {
+
+    private String PREFIX = "/system/tSystemConfig/";
+
+    @Autowired
+    private ITSystemConfigService tSystemConfigService;
+
+    /**
+     * 跳转到首页
+     */
+    @RequestMapping("")
+    public String index() {
+        return PREFIX + "tSystemConfig.html";
+    }
+
+    /**
+     * 跳转到添加
+     */
+    @RequestMapping("/tSystemConfig_add")
+    public String tSystemConfigAdd() {
+        return PREFIX + "tSystemConfig_add.html";
+    }
+
+    /**
+     * 跳转到修改
+     */
+    @RequestMapping("/tSystemConfig_update/{tSystemConfigId}")
+    public String tSystemConfigUpdate(@PathVariable Integer tSystemConfigId, Model model) {
+        TSystemConfig tSystemConfig = tSystemConfigService.selectById(tSystemConfigId);
+        model.addAttribute("item",tSystemConfig);
+        LogObjectHolder.me().set(tSystemConfig);
+        return PREFIX + "tSystemConfig_edit.html";
+    }
+
+    /**
+     * 跳转到派单规则
+     */
+    @RequestMapping("/dispatchRules")
+    public String dispatchRules(Model model) {
+        TSystemConfig tSystemConfig = tSystemConfigService.selectOne(new EntityWrapper<TSystemConfig>().eq("type", 1)
+                .last("LIMIT 1"));
+        JSONObject jsonObject = JSONObject.parseObject(tSystemConfig.getContent());
+        model.addAttribute("num1",jsonObject.getInteger("num1"));
+        model.addAttribute("num2",jsonObject.getInteger("num2"));
+        model.addAttribute("num3",jsonObject.getInteger("num3"));
+        model.addAttribute("num4",jsonObject.getInteger("num4"));
+        model.addAttribute("num5",jsonObject.getInteger("num5"));
+        return PREFIX + "tSystemConfigDispatchRules.html";
+    }
+
+    /**
+     * 跳转到佣金分成规则
+     */
+    @RequestMapping("/commissionShareRules")
+    public String commissionShareRules(Model model) {
+        TSystemConfig tSystemConfig = tSystemConfigService.selectOne(new EntityWrapper<TSystemConfig>().eq("type", 2)
+                .last("LIMIT 1"));
+        JSONObject jsonObject = JSONObject.parseObject(tSystemConfig.getContent());
+        model.addAttribute("num1",jsonObject.getInteger("num1"));
+        model.addAttribute("num2",jsonObject.getInteger("num2"));
+        model.addAttribute("num3",jsonObject.getInteger("num3"));
+        model.addAttribute("num4",jsonObject.getInteger("num4"));
+        model.addAttribute("num5",jsonObject.getInteger("num5"));
+        model.addAttribute("num6",jsonObject.getInteger("num6"));
+        model.addAttribute("num7",jsonObject.getInteger("num7"));
+        return PREFIX + "tSystemConfigCommissionShareRules.html";
+    }
+
+    /**
+     * 获取列表
+     */
+    @RequestMapping(value = "/systemConfigSubmit")
+    @ResponseBody
+    public Object systemConfigSubmit(Integer type,String content) {
+
+        TSystemConfig tSystemConfig = tSystemConfigService.selectOne(new EntityWrapper<TSystemConfig>().eq("type", type)
+                .last("LIMIT 1"));
+
+        tSystemConfig.setContent(content);
+
+        return tSystemConfigService.updateById(tSystemConfig);
+    }
+    /**
+     * 获取列表
+     */
+    @RequestMapping(value = "/list")
+    @ResponseBody
+    public Object list(String condition) {
+        return tSystemConfigService.selectList(null);
+    }
+
+    /**
+     * 新增
+     */
+    @RequestMapping(value = "/add")
+    @ResponseBody
+    public Object add(TSystemConfig tSystemConfig) {
+        tSystemConfigService.insert(tSystemConfig);
+        return SUCCESS_TIP;
+    }
+
+    /**
+     * 删除
+     */
+    @RequestMapping(value = "/delete")
+    @ResponseBody
+    public Object delete(@RequestParam Integer tSystemConfigId) {
+        tSystemConfigService.deleteById(tSystemConfigId);
+        return SUCCESS_TIP;
+    }
+
+    /**
+     * 修改
+     */
+    @RequestMapping(value = "/update")
+    @ResponseBody
+    public Object update(TSystemConfig tSystemConfig) {
+        tSystemConfigService.updateById(tSystemConfig);
+        return SUCCESS_TIP;
+    }
+
+    /**
+     * 详情
+     */
+    @RequestMapping(value = "/detail/{tSystemConfigId}")
+    @ResponseBody
+    public Object detail(@PathVariable("tSystemConfigId") Integer tSystemConfigId) {
+        return tSystemConfigService.selectById(tSystemConfigId);
+    }
+}
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/resp/TComplaintResp.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/resp/TComplaintResp.java
new file mode 100644
index 0000000..f7d0c7d
--- /dev/null
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/resp/TComplaintResp.java
@@ -0,0 +1,43 @@
+package com.stylefeng.guns.modular.system.controller.resp;
+
+import com.stylefeng.guns.modular.system.model.TAgent;
+import com.stylefeng.guns.modular.system.model.TComplaint;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+
+public class TComplaintResp extends TComplaint {
+
+    @ApiModelProperty(value = "投诉人名称")
+    private String userName;
+
+    @ApiModelProperty(value = "投诉人电话")
+    private String userPhone;
+
+    @ApiModelProperty(value = "司机电话")
+    private String driverPhone;
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
+    public String getUserPhone() {
+        return userPhone;
+    }
+
+    public void setUserPhone(String userPhone) {
+        this.userPhone = userPhone;
+    }
+
+    public String getDriverPhone() {
+        return driverPhone;
+    }
+
+    public void setDriverPhone(String driverPhone) {
+        this.driverPhone = driverPhone;
+    }
+}
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/LoginController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/LoginController.java
index 5fcf581..1e4ac3a 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/LoginController.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/system/LoginController.java
@@ -54,7 +54,7 @@
 
     private Map<String, Integer> loginFailures = new HashMap<>();
 
-    private List<String> ips = Arrays.asList("127.0.0.1");
+    private List<String> ips = Arrays.asList("127.0.0.1","192.168.0.247");
 
 
 
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TComplaintMapper.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TComplaintMapper.java
index bca3029..bad622f 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TComplaintMapper.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TComplaintMapper.java
@@ -1,34 +1,35 @@
 package com.stylefeng.guns.modular.system.dao;
 
-import com.baomidou.mybatisplus.plugins.Page;
+import com.stylefeng.guns.modular.system.controller.resp.TComplaintResp;
 import com.stylefeng.guns.modular.system.model.TComplaint;
 import com.baomidou.mybatisplus.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
-import java.util.Map;
 
 /**
  * <p>
- * 投诉管理 Mapper 接口
+ * 投诉 Mapper 接口
  * </p>
  *
- * @author 吕雪
- * @since 2020-06-09
+ * @author stylefeng
+ * @since 2023-03-02
  */
+@Mapper
 public interface TComplaintMapper extends BaseMapper<TComplaint> {
 
     /**
-     * 根据条件查询投诉列表
+     *获取列表
+     * @param startTime
+     * @param endTime
+     * @param userName
+     * @param userPhone
+     * @param driverPhone
+     * @param state
      * @return
      */
-    List<Map<String,Object>> getComplaintList(@Param("page") Page<Map<String, Object>> page,
-                                              @Param("roleType") Integer roleType,
-                                              @Param("nowUserId") Integer nowUserId,
-                                              @Param("beginTime") String beginTime,
-                                              @Param("endTime") String endTime,
-                                              @Param("userName") String userName,
-                                              @Param("userPhone") String userPhone,
-                                              @Param("driverPhone") String driverPhone,
-                                              @Param("isHandle") Integer isHandle);
+    List<TComplaintResp> getPageList(@Param("startTime") String startTime,@Param("endTime") String endTime, @Param("userName")String userName,
+                                     @Param("userPhone")String userPhone, @Param("driverPhone")String driverPhone, @Param("state")Integer state);
+
 }
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TSystemConfigMapper.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TSystemConfigMapper.java
new file mode 100644
index 0000000..83a2146
--- /dev/null
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TSystemConfigMapper.java
@@ -0,0 +1,16 @@
+package com.stylefeng.guns.modular.system.dao;
+
+import com.stylefeng.guns.modular.system.model.TSystemConfig;
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 系统配置 Mapper 接口
+ * </p>
+ *
+ * @author stylefeng
+ * @since 2023-03-02
+ */
+public interface TSystemConfigMapper extends BaseMapper<TSystemConfig> {
+
+}
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TComplaintMapper.xml b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TComplaintMapper.xml
index 2c882fe..3baaa02 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TComplaintMapper.xml
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TComplaintMapper.xml
@@ -6,55 +6,45 @@
     <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.TComplaint">
         <id column="id" property="id" />
         <result column="userId" property="userId" />
-        <result column="reason" property="reason" />
         <result column="driverId" property="driverId" />
-        <result column="description" property="description" />
-        <result column="isHandle" property="isHandle" />
-        <result column="insert_time" property="insertTime" />
-        <result column="handleResult" property="handleResult" />
-        <result column="handleUserId" property="handleUserId" />
+        <result column="reason" property="reason" />
+        <result column="notes" property="notes" />
+        <result column="state" property="state" />
+        <result column="status" property="status" />
+        <result column="createTime" property="createTime" />
+        <result column="auditId" property="auditId" />
+        <result column="auditPersonName" property="auditPersonName" />
+        <result column="auditTime" property="auditTime" />
     </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        id, userId, reason, driverId, description, isHandle, insert_time, handleResult, handleUserId
+        id, userId, driverId, reason, notes, state, status, createTime,auditId,auditPersonName,auditTime
     </sql>
-
-    <!--根据条件查询投诉列表-->
-    <select id="getComplaintList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page">
-        SELECT * FROM (SELECT di.companyId,di.franchiseeId,ui.nickName as userName,ui.phone as userPhone,di.`name` as driverName,di.phone as driverPhone,si.`name` as handleUserName,cc.* FROM t_complaint as cc
-        LEFT JOIN (select * from t_user where flag != 3) as ui on ui.id = cc.userId
-        LEFT JOIN (select * from t_driver where flag != 3) as di on di.id = cc.driverId
-        LEFT JOIN sys_user as si on si.id = cc.handleUserId
-        ) as o
+    <select id="getPageList" resultType="com.stylefeng.guns.modular.system.controller.resp.TComplaintResp">
+        select c.id, c.userId, c.driverId, c.reason, c.notes, c.state, c.status, c.createTime,c.auditId,c.auditPersonName,c.auditTime,
+               au.nickname AS userName,au.phone AS userPhone,d.phone AS driverPhone
+        from t_complaint c
+        left join t_app_user au on c.userId = au.id
+        left join t_driver d on c.driverId = d.id
         <where>
-            1 = 1
-            <if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
-                AND (o.insert_time between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
+            <if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
+                AND c.createTime between #{startTime} and #{endTime}
             </if>
             <if test="userName != null and userName != ''">
-                and o.userName  LIKE CONCAT('%',#{userName},'%')
+                AND au.nickname LIKE concat('%',#{userName},'%')
             </if>
             <if test="userPhone != null and userPhone != ''">
-                and o.userPhone  LIKE CONCAT('%',#{userPhone},'%')
+                AND au.phone LIKE concat('%',#{userPhone},'%')
             </if>
             <if test="driverPhone != null and driverPhone != ''">
-                and o.driverPhone  LIKE CONCAT('%',#{driverPhone},'%')
+                AND d.phone LIKE concat('%',#{driverPhone},'%')
             </if>
-            <if test="isHandle != null and isHandle != '' and isHandle == 2">
-                and o.isHandle = 0
-            </if>
-            <if test="isHandle != null and isHandle != '' and isHandle == 1">
-                and o.isHandle = 1
-            </if>
-            <if test="roleType != null and roleType != '' and roleType == 2">
-                and o.companyId = #{nowUserId} and (o.franchiseeId = 0 or o.franchiseeId is null)
-            </if>
-            <if test="roleType != null and roleType != '' and roleType == 3">
-                and o.franchiseeId = #{nowUserId}
+            <if test="state != null">
+                AND c.state = #{state}
             </if>
         </where>
-        order by o.id desc
+        ORDER BY c.state
     </select>
 
 </mapper>
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TSystemConfigMapper.xml b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TSystemConfigMapper.xml
new file mode 100644
index 0000000..3bcdc97
--- /dev/null
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TSystemConfigMapper.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.stylefeng.guns.modular.system.dao.TSystemConfigMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.TSystemConfig">
+        <id column="id" property="id" />
+        <result column="type" property="type" />
+        <result column="content" property="content" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        id, type, content
+    </sql>
+
+</mapper>
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TComplaint.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TComplaint.java
index 12c78ec..e21402c 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TComplaint.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TComplaint.java
@@ -3,18 +3,17 @@
 import com.baomidou.mybatisplus.enums.IdType;
 import java.util.Date;
 import com.baomidou.mybatisplus.annotations.TableId;
-import com.baomidou.mybatisplus.annotations.TableField;
 import com.baomidou.mybatisplus.activerecord.Model;
 import com.baomidou.mybatisplus.annotations.TableName;
 import java.io.Serializable;
 
 /**
  * <p>
- * 投诉管理
+ * 投诉
  * </p>
  *
- * @author 吕雪
- * @since 2020-06-09
+ * @author stylefeng
+ * @since 2023-03-02
  */
 @TableName("t_complaint")
 public class TComplaint extends Model<TComplaint> {
@@ -27,49 +26,68 @@
     @TableId(value = "id", type = IdType.AUTO)
     private Integer id;
     /**
-     * 用户Id
+     * 用户id
      */
     private Integer userId;
+    /**
+     * 投诉司机id
+     */
+    private Integer driverId;
     /**
      * 投诉原因
      */
     private String reason;
     /**
-     * 被投诉人Id
+     * 注释
      */
-    private Long driverId;
+    private String notes;
     /**
-     * 描述
+     * 处理状态(1=待处理,2=已处理)
      */
-    private String description;
+    private Integer state;
     /**
-     * 是否处理(0:未处理,1:已处理)
+     * 状态(1=正常,2=冻结,3=删除)
      */
-    private Integer isHandle;
+    private Integer status;
     /**
-     * 投诉时间
+     * 添加时间
      */
-    @TableField("insert_time")
-    private Date insertTime;
-    /**
-     * 处理结果
-     */
-    private String handleResult;
+    private Date createTime;
     /**
      * 处理人id
      */
-    private Integer handleUserId;
+    private Integer auditId;
+    /**
+     * 处理人名称
+     */
+    private String auditPersonName;
     /**
      * 处理时间
      */
-    private Date handleTime;
+    private Date auditTime;
 
-    public Date getHandleTime() {
-        return handleTime;
+    public Date getAuditTime() {
+        return auditTime;
     }
 
-    public void setHandleTime(Date handleTime) {
-        this.handleTime = handleTime;
+    public void setAuditTime(Date auditTime) {
+        this.auditTime = auditTime;
+    }
+
+    public Integer getAuditId() {
+        return auditId;
+    }
+
+    public void setAuditId(Integer auditId) {
+        this.auditId = auditId;
+    }
+
+    public String getAuditPersonName() {
+        return auditPersonName;
+    }
+
+    public void setAuditPersonName(String auditPersonName) {
+        this.auditPersonName = auditPersonName;
     }
 
     public Integer getId() {
@@ -88,6 +106,14 @@
         this.userId = userId;
     }
 
+    public Integer getDriverId() {
+        return driverId;
+    }
+
+    public void setDriverId(Integer driverId) {
+        this.driverId = driverId;
+    }
+
     public String getReason() {
         return reason;
     }
@@ -96,52 +122,36 @@
         this.reason = reason;
     }
 
-    public Long getDriverId() {
-        return driverId;
+    public String getNotes() {
+        return notes;
     }
 
-    public void setDriverId(Long driverId) {
-        this.driverId = driverId;
+    public void setNotes(String notes) {
+        this.notes = notes;
     }
 
-    public String getDescription() {
-        return description;
+    public Integer getState() {
+        return state;
     }
 
-    public void setDescription(String description) {
-        this.description = description;
+    public void setState(Integer state) {
+        this.state = state;
     }
 
-    public Integer getIsHandle() {
-        return isHandle;
+    public Integer getStatus() {
+        return status;
     }
 
-    public void setIsHandle(Integer isHandle) {
-        this.isHandle = isHandle;
+    public void setStatus(Integer status) {
+        this.status = status;
     }
 
-    public Date getInsertTime() {
-        return insertTime;
+    public Date getCreateTime() {
+        return createTime;
     }
 
-    public void setInsertTime(Date insertTime) {
-        this.insertTime = insertTime;
-    }
-
-    public String getHandleResult() {
-        return handleResult;
-    }
-
-    public void setHandleResult(String handleResult) {
-        this.handleResult = handleResult;
-    }
-
-    public Integer getHandleUserId() {
-        return handleUserId;
-    }
-
-    public void setHandleUserId(Integer handleUserId) {
-        this.handleUserId = handleUserId;
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
     }
 
     @Override
@@ -154,13 +164,12 @@
         return "TComplaint{" +
         "id=" + id +
         ", userId=" + userId +
-        ", reason=" + reason +
         ", driverId=" + driverId +
-        ", description=" + description +
-        ", isHandle=" + isHandle +
-        ", insertTime=" + insertTime +
-        ", handleResult=" + handleResult +
-        ", handleUserId=" + handleUserId +
+        ", reason=" + reason +
+        ", notes=" + notes +
+        ", state=" + state +
+        ", status=" + status +
+        ", createTime=" + createTime +
         "}";
     }
 }
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TCoupon.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TCoupon.java
index 18c8ffc..bb4b822 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TCoupon.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TCoupon.java
@@ -93,6 +93,18 @@
     @TableField("coupon_count")
     private Integer couponCount;
 
+    @ApiModelProperty(value = "剩余数量")
+    @TableField("remaining_quantity")
+    private Integer remainingQuantity;
+
+    public Integer getRemainingQuantity() {
+        return remainingQuantity;
+    }
+
+    public void setRemainingQuantity(Integer remainingQuantity) {
+        this.remainingQuantity = remainingQuantity;
+    }
+
     public Integer getCouponCount() {
         return couponCount;
     }
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TSystemConfig.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TSystemConfig.java
new file mode 100644
index 0000000..ac50b8d
--- /dev/null
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TSystemConfig.java
@@ -0,0 +1,74 @@
+package com.stylefeng.guns.modular.system.model;
+
+import com.baomidou.mybatisplus.enums.IdType;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.activerecord.Model;
+import com.baomidou.mybatisplus.annotations.TableName;
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 系统配置
+ * </p>
+ *
+ * @author stylefeng
+ * @since 2023-03-02
+ */
+@TableName("t_system_config")
+public class TSystemConfig extends Model<TSystemConfig> {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+    /**
+     * 类型(1=派单规则,2=佣金分成规则,3=抽成规则,4=积分规则,5=价格规则,6=余额规则,7=客服管理)
+     */
+    private Integer type;
+    /**
+     * 内容
+     */
+    private String content;
+
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getType() {
+        return type;
+    }
+
+    public void setType(Integer type) {
+        this.type = type;
+    }
+
+    public String getContent() {
+        return content;
+    }
+
+    public void setContent(String content) {
+        this.content = content;
+    }
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+    @Override
+    public String toString() {
+        return "TSystemConfig{" +
+        "id=" + id +
+        ", type=" + type +
+        ", content=" + content +
+        "}";
+    }
+}
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITComplaintService.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITComplaintService.java
index 0f0a33c..c8f7335 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITComplaintService.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITComplaintService.java
@@ -1,34 +1,29 @@
 package com.stylefeng.guns.modular.system.service;
 
-import com.baomidou.mybatisplus.plugins.Page;
+import com.stylefeng.guns.modular.system.controller.resp.TComplaintResp;
 import com.stylefeng.guns.modular.system.model.TComplaint;
 import com.baomidou.mybatisplus.service.IService;
-import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
-import java.util.Map;
 
 /**
  * <p>
- * 投诉管理 服务类
+ * 投诉 服务类
  * </p>
  *
- * @author 吕雪
- * @since 2020-06-09
+ * @author stylefeng
+ * @since 2023-03-02
  */
 public interface ITComplaintService extends IService<TComplaint> {
 
     /**
-     * 根据条件查询投诉列表
+     * 获取列表
+     * @param createTime
+     * @param userName
+     * @param userPhone
+     * @param driverPhone
+     * @param state
      * @return
      */
-    List<Map<String,Object>> getComplaintList(@Param("page") Page<Map<String, Object>> page,
-                                              @Param("roleType") Integer roleType,
-                                              @Param("nowUserId") Integer nowUserId,
-                                              @Param("beginTime") String beginTime,
-                                              @Param("endTime") String endTime,
-                                              @Param("userName") String userName,
-                                              @Param("userPhone") String userPhone,
-                                              @Param("driverPhone") String driverPhone,
-                                              @Param("isHandle") Integer isHandle);
+    List<TComplaintResp> getPageList(String createTime, String userName, String userPhone, String driverPhone, Integer state);
 }
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITSystemConfigService.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITSystemConfigService.java
new file mode 100644
index 0000000..906697a
--- /dev/null
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITSystemConfigService.java
@@ -0,0 +1,16 @@
+package com.stylefeng.guns.modular.system.service;
+
+import com.stylefeng.guns.modular.system.model.TSystemConfig;
+import com.baomidou.mybatisplus.service.IService;
+
+/**
+ * <p>
+ * 系统配置 服务类
+ * </p>
+ *
+ * @author stylefeng
+ * @since 2023-03-02
+ */
+public interface ITSystemConfigService extends IService<TSystemConfig> {
+
+}
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TComplaintServiceImpl.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TComplaintServiceImpl.java
index 1574c0d..fca4d93 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TComplaintServiceImpl.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TComplaintServiceImpl.java
@@ -1,28 +1,42 @@
 package com.stylefeng.guns.modular.system.service.impl;
 
-import com.baomidou.mybatisplus.plugins.Page;
+import com.stylefeng.guns.modular.system.controller.resp.TComplaintResp;
+import com.stylefeng.guns.modular.system.dao.TAppUserMapper;
+import com.stylefeng.guns.modular.system.dao.TDriverMapper;
 import com.stylefeng.guns.modular.system.model.TComplaint;
 import com.stylefeng.guns.modular.system.dao.TComplaintMapper;
 import com.stylefeng.guns.modular.system.service.ITComplaintService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
 
 import java.util.List;
-import java.util.Map;
 
 /**
  * <p>
- * 投诉管理 服务实现类
+ * 投诉 服务实现类
  * </p>
  *
- * @author 吕雪
- * @since 2020-06-09
+ * @author stylefeng
+ * @since 2023-03-02
  */
 @Service
 public class TComplaintServiceImpl extends ServiceImpl<TComplaintMapper, TComplaint> implements ITComplaintService {
 
+    @Autowired
+    private TComplaintMapper tComplaintMapper;
+
     @Override
-    public List<Map<String, Object>> getComplaintList(Page<Map<String, Object>> page, Integer roleType, Integer nowUserId, String beginTime, String endTime, String userName, String userPhone, String driverPhone, Integer isHandle) {
-        return this.baseMapper.getComplaintList(page, roleType, nowUserId, beginTime, endTime, userName, userPhone, driverPhone, isHandle);
+    public List<TComplaintResp> getPageList(String createTime, String userName, String userPhone, String driverPhone, Integer state) {
+        String startTime = null;
+        String endTime = null;
+        // 开始,结束时间
+        if(StringUtils.hasLength(createTime)){
+            String[] split = createTime.split(" - ");
+            startTime = split[0];
+            endTime = split[1];
+        }
+        return tComplaintMapper.getPageList(startTime,endTime,userName,userPhone,driverPhone,state);
     }
 }
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TSystemConfigServiceImpl.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TSystemConfigServiceImpl.java
new file mode 100644
index 0000000..8ca8c7a
--- /dev/null
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TSystemConfigServiceImpl.java
@@ -0,0 +1,20 @@
+package com.stylefeng.guns.modular.system.service.impl;
+
+import com.stylefeng.guns.modular.system.model.TSystemConfig;
+import com.stylefeng.guns.modular.system.dao.TSystemConfigMapper;
+import com.stylefeng.guns.modular.system.service.ITSystemConfigService;
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 系统配置 服务实现类
+ * </p>
+ *
+ * @author stylefeng
+ * @since 2023-03-02
+ */
+@Service
+public class TSystemConfigServiceImpl extends ServiceImpl<TSystemConfigMapper, TSystemConfig> implements ITSystemConfigService {
+
+}
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushMinistryOfTransportUtil.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushMinistryOfTransportUtil.java
index d4da5aa..4a4ed3d 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushMinistryOfTransportUtil.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushMinistryOfTransportUtil.java
@@ -537,7 +537,7 @@
      * 乘客投诉信息
      * @param id
      */
-    public void ratedPassengerComplaint(Integer id){
+    /*public void ratedPassengerComplaint(Integer id){
         TComplaint tComplaint = complaintService.selectById(id);
         JSONObject jsonObject = new JSONObject();
         jsonObject.put("OrderId", "");//订单号
@@ -548,7 +548,7 @@
         map.put("ratedPassengerComplaint", jsonObject.toJSONString());
         String result = HttpRequestUtil.postRequest(PushURL.ministry_of_transport_data + "/ratedPassengerComplaint", map);
         System.out.println("乘客投诉信息:" + result);
-    }
+    }*/
 
 
     /**
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tComplaint/tComplaint.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tComplaint/tComplaint.html
index 2eebeb2..2ed53d8 100644
--- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tComplaint/tComplaint.html
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tComplaint/tComplaint.html
@@ -3,44 +3,53 @@
     <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">
                     <div class="col-sm-12">
                         <div class="row">
-                            <div class="col-sm-3">
-                                <#TimeCon id="insertTime" name="投诉时间" isTime="false"/>
+                            <div class="col-sm-2">
+                                <#TimeCon id="createTime" name="投诉时间" />
                             </div>
-                            <div class="col-sm-3">
+                            <div class="col-sm-2">
                                 <#NameCon id="userName" name="投诉人昵称" />
                             </div>
-                            <div class="col-sm-3">
-                                <#NameCon id="userPhone" name="投诉人电话" />
+                            <div class="col-sm-2">
+                                <#NameCon id="userPhone" name="投诉人手机号" />
                             </div>
-                            <div class="col-sm-3">
-                                <#NameCon id="driverPhone" name="投诉司机电话" />
+                            <div class="col-sm-2">
+                                <#NameCon id="driverPhone" name="司机手机号" />
                             </div>
-                            <div class="col-sm-3">
-                                <#SelectCon id="isHandle" name="状态" >
-                                    <option value="">全部</option>
-                                    <option value="2">未处理</option>
-                                    <option value="1">已处理</option>
-                                </#SelectCon>
+                            <div class="col-sm-2">
+                                <select class="input-group" id="state" style="width: 180px;height: 33px" name="state">
+                                    <option value="">选择状态</option>
+                                    <option value="1">待处理</option>
+                                    <option value="2">已处理</option>
+                                </select>
                             </div>
-                            <div class="col-sm-3">
+                            <div class="col-sm-2">
                                 <#button name="搜索" icon="fa-search" clickFun="TComplaint.search()"/>
                                 <#button name="重置" icon="fa-trash" clickFun="TComplaint.resetSearch()" space="true"/>
                             </div>
+                            <div class="col-sm-12">
+                                <#button name="立即处理" icon="" clickFun="TComplaint.immediatelyAudit()"/>
+                                @if(shiro.hasPermission("/tComplaint/delete")){
+                                <#button name="删除" icon="fa-remove" clickFun="TComplaint.delete()" space="true"/>
+                                @}
+                            </div>
                         </div>
-                        <div class="hidden-xs" id="TComplaintTableToolbar" role="group">
-                            @if(shiro.hasPermission("/tComplaint/immediately")){
-                                <#button name="立即处理" icon="fa-edit" clickFun="TComplaint.immediately()"/>
+                        <!--<div class="hidden-xs" id="TComplaintTableToolbar" role="group">
+                            @if(shiro.hasPermission("/tComplaint/add")){
+                                <#button name="添加" icon="fa-plus" clickFun="TComplaint.openAddTComplaint()"/>
+                            @}
+                            @if(shiro.hasPermission("/tComplaint/update")){
+                                <#button name="修改" icon="fa-edit" clickFun="TComplaint.openTComplaintDetail()" space="true"/>
                             @}
                             @if(shiro.hasPermission("/tComplaint/delete")){
-                                <#button name="删除记录" icon="fa-remove" clickFun="TComplaint.delete()" space="true"/>
+                                <#button name="删除" icon="fa-remove" clickFun="TComplaint.delete()" space="true"/>
                             @}
-                        </div>
+                        </div>-->
                         <#table id="TComplaintTable"/>
                     </div>
                 </div>
@@ -49,10 +58,11 @@
     </div>
 </div>
 <script src="${ctxPath}/static/modular/system/tComplaint/tComplaint.js"></script>
-<script>
+<script type="text/javascript">
     laydate.render({
-        elem: '#insertTime'
-        ,range: true
+        elem: '#createTime',
+        type: 'date',
+        range: true
     });
 </script>
 @}
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tComplaint/tComplaintAudit.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tComplaint/tComplaintAudit.html
new file mode 100644
index 0000000..2c2ae59
--- /dev/null
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tComplaint/tComplaintAudit.html
@@ -0,0 +1,24 @@
+@layout("/common/_container.html"){
+<div class="row">
+    <div class="col-sm-12">
+        <div class="ibox float-e-margins">
+            <div class="ibox-content">
+                <div class="row row-lg">
+                    <div class="col-sm-12">
+                        <input hidden id="tComplaintId" value="${tComplaintId}">
+                        <div class="col-lg-3">
+                                备注:<textarea id="notes" placeholder="请输入备注" style="width: 681px; height: 249px;"></textarea>
+                        </div>
+                        <div class="hidden-xs" id="TAppUserTableToolbar" role="group"  style="margin-left:300px">
+                            <#button name="取消" icon="fa-plus" clickFun="TComplaintInfoDlg.close()" />
+                            <#button name="提交" icon="fa-plus" clickFun="TComplaint.audit()"/>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<script src="${ctxPath}/static/modular/system/tComplaint/tComplaint.js"></script>
+<script src="${ctxPath}/static/modular/system/tComplaint/tComplaint_info.js"></script>
+@}
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tComplaint/tComplaint_add.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tComplaint/tComplaint_add.html
index 2b53ab9..923cd9f 100644
--- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tComplaint/tComplaint_add.html
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tComplaint/tComplaint_add.html
@@ -6,17 +6,16 @@
             <div class="row">
                 <div class="col-sm-6 b-r">
                             <#input id="id" name="主键" underline="true"/>
-                            <#input id="userId" name="用户Id" underline="true"/>
-                            <#input id="reason" name="投诉原因" underline="true"/>
-                            <#input id="driverId" name="被投诉人Id" underline="true"/>
-                            <#input id="description" name="描述"/>
+                            <#input id="userId" name="用户id" underline="true"/>
+                            <#input id="driverId" name="投诉司机id" underline="true"/>
+                            <#input id="reason" name="投诉原因"/>
                 </div>
 
                 <div class="col-sm-6">
-                            <#input id="isHandle" name="是否处理(0:未处理,1:已处理)" underline="true"/>
-                            <#input id="insertTime" name="投诉时间" underline="true"/>
-                            <#input id="handleResult" name="处理结果" underline="true"/>
-                            <#input id="handleUserId" name="处理人id" underline="true"/>
+                            <#input id="notes" name="注释" underline="true"/>
+                            <#input id="state" name="处理状态(1=待处理,2=已处理)" underline="true"/>
+                            <#input id="status" name="状态(1=正常,2=冻结,3=删除)" underline="true"/>
+                            <#input id="createTime" name="添加时间" underline="true"/>
                 </div>
             </div>
 
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tComplaint/tComplaint_edit.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tComplaint/tComplaint_edit.html
index 2affa4e..e766c4a 100644
--- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tComplaint/tComplaint_edit.html
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tComplaint/tComplaint_edit.html
@@ -6,17 +6,16 @@
             <div class="row">
                 <div class="col-sm-6 b-r">
                             <#input id="id" name="主键" value="${item.id}" underline="true"/>
-                            <#input id="userId" name="用户Id" value="${item.userId}" underline="true"/>
-                            <#input id="reason" name="投诉原因" value="${item.reason}" underline="true"/>
-                            <#input id="driverId" name="被投诉人Id" value="${item.driverId}" underline="true"/>
-                            <#input id="description" name="描述" value="${item.description}" />
+                            <#input id="userId" name="用户id" value="${item.userId}" underline="true"/>
+                            <#input id="driverId" name="投诉司机id" value="${item.driverId}" underline="true"/>
+                            <#input id="reason" name="投诉原因" value="${item.reason}" />
                 </div>
 
                 <div class="col-sm-6">
-                            <#input id="isHandle" name="是否处理(0:未处理,1:已处理)" value="${item.isHandle}" underline="true"/>
-                            <#input id="insertTime" name="投诉时间" value="${item.insertTime}" underline="true"/>
-                            <#input id="handleResult" name="处理结果" value="${item.handleResult}" underline="true"/>
-                            <#input id="handleUserId" name="处理人id" value="${item.handleUserId}" />
+                            <#input id="notes" name="注释" value="${item.notes}" underline="true"/>
+                            <#input id="state" name="处理状态(1=待处理,2=已处理)" value="${item.state}" underline="true"/>
+                            <#input id="status" name="状态(1=正常,2=冻结,3=删除)" value="${item.status}" underline="true"/>
+                            <#input id="createTime" name="添加时间" value="${item.createTime}" />
                 </div>
             </div>
 
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tCoupon/tCoupon.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tCoupon/tCoupon.html
index 66473de..7c10e66 100644
--- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tCoupon/tCoupon.html
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tCoupon/tCoupon.html
@@ -25,8 +25,9 @@
                                     <option value="1">通用券</option>
                                 </select>
                             </div>
-                            <div class="col-sm-1">
+                            <div class="col-sm-2">
                                 <#button name="搜索" icon="fa-search" clickFun="TCoupon.search()"/>
+                                <#button name="重置" icon="fa-trash" clickFun="TCoupon.resetSearch()" space="true"/>
                             </div>
                         </div>
                         <div class="hidden-xs" id="TCouponTableToolbar" role="group">
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tCoupon/tCoupon_add.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tCoupon/tCoupon_add.html
index f0d130d..7e47f7a 100644
--- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tCoupon/tCoupon_add.html
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tCoupon/tCoupon_add.html
@@ -39,9 +39,9 @@
 
                 <div class="col-sm-12">
                     <div class="form-group">
-                        <label class="col-sm-3 control-label">优惠券数量:</label>
+                        <label class="col-sm-3 control-label">优惠券限制数量:</label>
                         <div class="col-sm-6">
-                            <input class="form-control" id="couponCount" name="couponCount" type="text" required>
+                            <input class="form-control" id="couponCount" name="couponCount" type="number" required>
                         </div>
                     </div>
                     <div class="hr-line-dashed"></div>
@@ -51,7 +51,7 @@
                     <div class="form-group">
                         <label class="col-sm-3 control-label">条件金额:订单满</label>
                         <div class="col-sm-6">
-                            <input class="form-control" id="couponConditionalAmount" name="couponConditionalAmount" type="text" required>
+                            <input class="form-control" id="couponConditionalAmount" name="couponConditionalAmount" type="number" required>
                         </div>
                         <label class="col-sm-2 control-label">可使用</label>
                     </div>
@@ -62,7 +62,7 @@
                     <div class="form-group">
                         <label class="col-sm-3 control-label">优惠金额:</label>
                         <div class="col-sm-6">
-                            <input class="form-control" id="couponPreferentialAmount" name="couponPreferentialAmount" type="text" required>
+                            <input class="form-control" id="couponPreferentialAmount" name="couponPreferentialAmount" type="number" required>
                         </div>
                     </div>
                     <div class="hr-line-dashed"></div>
@@ -72,7 +72,7 @@
                     <div class="form-group">
                         <label class="col-sm-3 control-label">有效期:</label>
                         <div class="col-sm-6">
-                            <input class="form-control" id="couponValidity" name="couponValidity" type="text" required>
+                            <input class="form-control" id="couponValidity" name="couponValidity" type="number" required>
                         </div>
                         <label class="col-sm-1 control-label">天</label>
                     </div>
@@ -81,9 +81,19 @@
 
                 <div class="col-sm-12">
                     <div class="form-group">
+                        <label class="col-sm-3 control-label">优惠券总量:</label>
+                        <div class="col-sm-6">
+                            <input class="form-control" id="remainingQuantity" name="remainingQuantity" type="number" required>
+                        </div>
+                    </div>
+                    <div class="hr-line-dashed"></div>
+                </div>
+
+                <div class="col-sm-12">
+                    <div class="form-group">
                         <label class="col-sm-3 control-label">赠送数量:</label>
                         <div class="col-sm-6">
-                            <input class="form-control" id="couponSendQuantity" name="couponSendQuantity" type="text">
+                            <input class="form-control" id="couponSendQuantity" name="couponSendQuantity" type="number">
                         </div>
                         <label class="col-sm-1 control-label">张</label>
                     </div>
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemConfig/tSystemConfig.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemConfig/tSystemConfig.html
new file mode 100644
index 0000000..358f2b4
--- /dev/null
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemConfig/tSystemConfig.html
@@ -0,0 +1,38 @@
+@layout("/common/_container.html"){
+<div class="row">
+    <div class="col-sm-12">
+        <div class="ibox float-e-margins">
+            <div class="ibox-title">
+                <h5>管理</h5>
+            </div>
+            <div class="ibox-content">
+                <div class="row row-lg">
+                    <div class="col-sm-12">
+                        <div class="row">
+                            <div class="col-sm-3">
+                                <#NameCon id="condition" name="名称" />
+                            </div>
+                            <div class="col-sm-3">
+                                <#button name="搜索" icon="fa-search" clickFun="TSystemConfig.search()"/>
+                            </div>
+                        </div>
+                        <div class="hidden-xs" id="TSystemConfigTableToolbar" role="group">
+                            @if(shiro.hasPermission("/tSystemConfig/add")){
+                                <#button name="添加" icon="fa-plus" clickFun="TSystemConfig.openAddTSystemConfig()"/>
+                            @}
+                            @if(shiro.hasPermission("/tSystemConfig/update")){
+                                <#button name="修改" icon="fa-edit" clickFun="TSystemConfig.openTSystemConfigDetail()" space="true"/>
+                            @}
+                            @if(shiro.hasPermission("/tSystemConfig/delete")){
+                                <#button name="删除" icon="fa-remove" clickFun="TSystemConfig.delete()" space="true"/>
+                            @}
+                        </div>
+                        <#table id="TSystemConfigTable"/>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<script src="${ctxPath}/static/modular/system/tSystemConfig/tSystemConfig.js"></script>
+@}
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemConfig/tSystemConfigCommissionShareRules.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemConfig/tSystemConfigCommissionShareRules.html
new file mode 100644
index 0000000..992ac90
--- /dev/null
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemConfig/tSystemConfigCommissionShareRules.html
@@ -0,0 +1,68 @@
+@layout("/common/_container.html"){
+<div class="row">
+    <div class="col-sm-12">
+        <div class="ibox float-e-margins">
+            <div class="ibox-title">
+                <h5>佣金</h5>
+            </div>
+            <div class="ibox-content">
+                <div class="row row-lg">
+                    <div class="col-sm-12">
+
+                        <div class="initialLevel col-sm-12 control-label form-group"  >
+                            <div class="initialLevel col-sm-3 control-label form-group"  >
+                                <label class="control-label" >佣金分成规则:</label>
+                            </div>
+                        </div>
+
+                        <div class="initialLevel col-sm-12 control-label form-group" style="text-align: right" >
+                            <div class="initialLevel col-sm-3 control-label form-group"  >
+                                <label class="control-label" >司机邀请1名用户,下单后完成订单后获得</label>
+                                <input class="control-label" id="num1" name="num1" value="${num1}" type="number" style="height: 30px;width: 80px">
+                                <label class="control-label" >元/单</label>
+                            </div>
+                        </div>
+                        <div class="initialLevel col-sm-12 control-label form-group" style="text-align: right" >
+                            <div class="initialLevel col-sm-3 control-label form-group"  >
+                                <label class="control-label" >司机A邀请1名司机B,完成有效单后获得</label>
+                                <input class="control-label" id="num2" name="num2" value="${num2}" type="number" style="height: 30px;width: 80px">
+                                <label class="control-label" >元/单</label>
+                            </div>
+                        </div>
+                        <div class="initialLevel col-sm-12 control-label form-group" style="text-align: right" >
+                            <div class="initialLevel col-sm-4 control-label form-group"  >
+                                <label class="control-label" >司机B邀请1名司机C,完成有效单后B获得</label>
+                                <input class="control-label" id="num3" name="num3" value="${num3}" type="number" style="height: 30px;width: 80px">
+                                <label class="control-label" >元/单+'&nbsp;'+司机A获得</label>
+                                <input class="control-label" id="num4" name="num4" value="${num4}" type="number" style="height: 30px;width: 80px">
+                                <label class="control-label" >元/单</label>
+                            </div>
+                        </div>
+                        <div class="initialLevel col-sm-12 control-label form-group" style="text-align: right" >
+                            <div class="initialLevel col-sm-5 control-label form-group"  >
+                                <label class="control-label" >司机C邀请1名司机D,完成有效单后C获得</label>
+                                <input class="control-label" id="num5" name="num5" value="${num5}" type="number" style="height: 30px;width: 80px">
+                                <label class="control-label" >元/单+'&nbsp;'+司机B获得</label>
+                                <input class="control-label" id="num6" name="num6" value="${num6}" type="number" style="height: 30px;width: 80px">
+                                <label class="control-label" >元/单+'&nbsp;'+司机A获得</label>
+                                <input class="control-label" id="num7" name="num7" value="${num7}" type="number" style="height: 30px;width: 80px">
+                                <label class="control-label" >元/单</label>
+                            </div>
+                        </div>
+
+
+                        <div class="row btn-group-m-t">
+                            <div class="col-sm-10" style="text-align: center">
+                                <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TSystemConfig.commissionShareRules()"/>
+                            </div>
+                        </div>
+
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<script src="${ctxPath}/static/modular/system/tSystemConfig/tSystemConfig.js"></script>
+<script src="${ctxPath}/static/modular/system/tSystemConfig/tSystemConfig_info.js"></script>
+@}
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemConfig/tSystemConfigDispatchRules.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemConfig/tSystemConfigDispatchRules.html
new file mode 100644
index 0000000..3eddf96
--- /dev/null
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemConfig/tSystemConfigDispatchRules.html
@@ -0,0 +1,82 @@
+@layout("/common/_container.html"){
+<div class="row">
+    <div class="col-sm-12">
+        <div class="ibox float-e-margins">
+            <div class="ibox-title">
+                <h5>派单规则</h5>
+            </div>
+            <div class="ibox-content">
+                <div class="row row-lg">
+                    <div class="col-sm-12">
+
+                        <div class="initialLevel col-sm-12 control-label form-group"  >
+                            <div class="initialLevel col-sm-3 control-label form-group"  >
+                                <label class="control-label" >派单设置:</label>
+                            </div>
+                        </div>
+
+                        <div class="initialLevel col-sm-12 control-label form-group" style="text-align: right" >
+                            <div class="initialLevel col-sm-2 control-label form-group"  >
+                                <label class="control-label" >派单距离第一轮</label>
+                                <input class="control-label" id="num1" name="num1" value="${num1}" type="number" style="height: 30px;width: 80px">
+                                <label class="control-label" >米</label>
+                            </div>
+                        </div>
+                        <div class="initialLevel col-sm-12 control-label form-group" style="text-align: right" >
+                            <div class="initialLevel col-sm-2 control-label form-group"  >
+                                <label class="control-label" >派单距离第二轮</label>
+                                <input class="control-label" id="num2" name="num2" value="${num2}" type="number" style="height: 30px;width: 80px">
+                                <label class="control-label" >米</label>
+                            </div>
+                        </div>
+                        <div class="initialLevel col-sm-12 control-label form-group" style="text-align: right" >
+                            <div class="initialLevel col-sm-2 control-label form-group"  >
+                                <label class="control-label" >派单距离第三轮</label>
+                                <input class="control-label" id="num3" name="num3" value="${num3}" type="number" style="height: 30px;width: 80px">
+                                <label class="control-label" >米</label>
+                            </div>
+                        </div>
+
+                        <div class="initialLevel col-sm-12 control-label form-group"  >
+                            <div class="initialLevel col-sm-3 control-label form-group"  >
+                                <label class="control-label" >接单设置:</label>
+                            </div>
+                        </div>
+
+                        <div class="initialLevel col-sm-12 control-label form-group" style="text-align: right" >
+                            <div class="initialLevel col-sm-2 control-label form-group"  >
+                                <label class="control-label" >接单时间</label>
+                                <input class="control-label" id="num4" name="num4" value="${num4}" type="number" style="height: 30px;width: 80px">
+                                <label class="control-label" >秒</label>
+                            </div>
+                        </div>
+
+                        <div class="initialLevel col-sm-12 control-label form-group"  >
+                            <div class="initialLevel col-sm-3 control-label form-group"  >
+                                <label class="control-label" >改派设置:</label>
+                            </div>
+                        </div>
+
+                        <div class="initialLevel col-sm-12 control-label form-group" style="text-align: right" >
+                            <div class="initialLevel col-sm-2 control-label form-group"  >
+                                <label class="control-label" >改派后暂停接单</label>
+                                <input class="control-label" id="num5" name="num5" value="${num5}" type="number" style="height: 30px;width: 80px">
+                                <label class="control-label" >分钟</label>
+                            </div>
+                        </div>
+
+                        <div class="row btn-group-m-t">
+                            <div class="col-sm-10" style="text-align: center">
+                                <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TSystemConfig.dispatchRulesSubmit()"/>
+                            </div>
+                        </div>
+
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<script src="${ctxPath}/static/modular/system/tSystemConfig/tSystemConfig.js"></script>
+<script src="${ctxPath}/static/modular/system/tSystemConfig/tSystemConfig_info.js"></script>
+@}
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemConfig/tSystemConfig_add.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemConfig/tSystemConfig_add.html
new file mode 100644
index 0000000..fd409dc
--- /dev/null
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemConfig/tSystemConfig_add.html
@@ -0,0 +1,28 @@
+@layout("/common/_container.html"){
+<div class="ibox float-e-margins">
+    <div class="ibox-content">
+        <div class="form-horizontal">
+
+            <div class="row">
+                <div class="col-sm-6 b-r">
+                            <#input id="id" name="主键" underline="true"/>
+                            <#input id="type" name="类型(1=派单规则,2=佣金分成规则,3=抽成规则,4=积分规则,5=价格规则,6=余额规则,7=客服管理)"/>
+                </div>
+
+                <div class="col-sm-6">
+                            <#input id="content" name="内容" underline="true"/>
+                </div>
+            </div>
+
+            <div class="row btn-group-m-t">
+                <div class="col-sm-10">
+                    <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TSystemConfigInfoDlg.addSubmit()"/>
+                    <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TSystemConfigInfoDlg.close()"/>
+                </div>
+            </div>
+        </div>
+
+    </div>
+</div>
+<script src="${ctxPath}/static/modular/system/tSystemConfig/tSystemConfig_info.js"></script>
+@}
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemConfig/tSystemConfig_edit.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemConfig/tSystemConfig_edit.html
new file mode 100644
index 0000000..6c9f7b6
--- /dev/null
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tSystemConfig/tSystemConfig_edit.html
@@ -0,0 +1,28 @@
+@layout("/common/_container.html"){
+<div class="ibox float-e-margins">
+    <div class="ibox-content">
+        <div class="form-horizontal">
+
+            <div class="row">
+                <div class="col-sm-6 b-r">
+                            <#input id="id" name="主键" value="${item.id}" underline="true"/>
+                            <#input id="type" name="类型(1=派单规则,2=佣金分成规则,3=抽成规则,4=积分规则,5=价格规则,6=余额规则,7=客服管理)" value="${item.type}" />
+                </div>
+
+                <div class="col-sm-6">
+                            <#input id="content" name="内容" value="${item.content}" />
+                </div>
+            </div>
+
+            <div class="row btn-group-m-t">
+                <div class="col-sm-10">
+                    <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TSystemConfigInfoDlg.editSubmit()"/>
+                    <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TSystemConfigInfoDlg.close()"/>
+                </div>
+            </div>
+        </div>
+
+    </div>
+</div>
+<script src="${ctxPath}/static/modular/system/tSystemConfig/tSystemConfig_info.js"></script>
+@}
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tYouTui/tYouTui_add.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tYouTui/tYouTui_add.html
index 1179a3f..38cfa99 100644
--- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tYouTui/tYouTui_add.html
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tYouTui/tYouTui_add.html
@@ -3,18 +3,18 @@
     <div class="ibox-content">
         <div class="form-horizontal" id="youTuiInfoForm">
 
-            <div class="row" style="text-align: left">
-                <div class="col-sm-12">
+            <div class="row">
+                <div class="initialLevel col-sm-12 control-label form-group">
                     <input hidden id="areaId" value="areaId">
-                    <div class="initialLevel col-sm-12 control-label form-group" style="text-align: center">
-                        <div class="initialLevel col-sm-6 control-label form-group"  >
+                    <div class="initialLevel col-sm-12 control-label form-group">
+                        <div class="initialLevel col-sm-6"  >
                             <span style="color:red">*</span>
                             <label class="control-label" >优推名称:</label>
                             <input id="name" name="name" type="text" placeholder="最多20个字" maxlength="20" style="height: 30px" required>
                         </div>
                     </div>
-                    <div class="initialLevel col-sm-12 control-label form-group">
-                        <div class="initialLevel col-sm-6 control-label form-group" style="flex: auto" >
+                    <div class="initialLevel col-sm-12">
+                        <div class="initialLevel col-sm-6" style="width: 55%">
                             <span style="color:red">*</span>
                             <label class="control-label" >优推类型:</label>
                             <input id="number" name="number" type="number" placeholder="请输入0以上的数字" min="0" style="height: 30px" required>
@@ -26,8 +26,8 @@
                         </div>
                     </div>
 
-                    <div class="initialLevel col-sm-12 control-label form-group">
-                        <div class="initialLevel col-sm-6 control-label form-group"  >
+                    <div class="initialLevel col-sm-12">
+                        <div class="initialLevel col-sm-6" style="width: 51%"  >
                             <span style="color:red">*</span>
                             <label class="control-label" >兑换条件:</label>
                             <input id="integral" name="integral" type="number" max="9999" placeholder="最多4位数" style="height: 30px" required>
@@ -35,8 +35,8 @@
                         </div>
                     </div>
 
-                    <div class="initialLevel col-sm-12 control-label form-group">
-                        <div class="initialLevel col-sm-6 control-label form-group"  >
+                    <div class="initialLevel col-sm-12">
+                        <div class="initialLevel col-sm-6"  >
                             <span style="color:red">*</span>
                             <label class="control-label" >优推距离:</label>
                             <input id="distance" name="distance" type="number" placeholder="最多2000米" max="2000" style="height: 30px" required>
@@ -44,8 +44,8 @@
                         </div>
                     </div>
 
-                    <div class="initialLevel col-sm-12 control-label form-group">
-                        <div class="initialLevel col-sm-6 control-label form-group"  >
+                    <div class="initialLevel col-sm-12">
+                        <div class="initialLevel col-sm-6">
                             <span style="color:red">*</span>
                             <label class="control-label" >有效期:</label>
                             <input id="effectiveTime" name="effectiveTime" maxlength="4" placeholder="最多4位数" type="number" style="height: 30px" required>
@@ -54,7 +54,7 @@
                     </div>
 
                     <div class="initialLevel col-sm-12 control-label form-group">
-                        <div class="initialLevel col-sm-6 control-label form-group"  >
+                        <div class="initialLevel col-sm-6"  >
                             <span style="color:red">*</span>
                             <label class="control-label" >服务内容:</label>
                             <textarea id="serviceContent" name="serviceContent" placeholder="请输入" style="height: 80px" required></textarea>
diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tComplaint/tComplaint.js b/management/guns-admin/src/main/webapp/static/modular/system/tComplaint/tComplaint.js
index 863a177..d4119d6 100644
--- a/management/guns-admin/src/main/webapp/static/modular/system/tComplaint/tComplaint.js
+++ b/management/guns-admin/src/main/webapp/static/modular/system/tComplaint/tComplaint.js
@@ -1,5 +1,5 @@
 /**
- * 投诉列表管理初始化
+ * 管理初始化
  */
 var TComplaint = {
     id: "TComplaintTable",	//表格id
@@ -14,135 +14,28 @@
 TComplaint.initColumn = function () {
     return [
         {field: 'selectItem', radio: true},
-        {title: '主键ID', field: 'id', visible: false, align: 'center', valign: 'middle'},
-        {title: '投诉时间', field: 'insert_time', visible: true, align: 'center', valign: 'middle',width:'10%',
+            {title: '主键', field: 'id', visible: false, align: 'center', valign: 'middle'},
+            {title: '用户id', field: 'userId', visible: false, align: 'center', valign: 'middle'},
+            {title: '投诉司机id', field: 'driverId', visible: false, align: 'center', valign: 'middle'},
+        {title: '投诉时间', field: 'createTime', visible: true, align: 'center', valign: 'middle'},
+        {title: '投诉人昵称', field: 'userName', visible: true, align: 'center', valign: 'middle'},
+        {title: '投诉人电话', field: 'userPhone', visible: true, align: 'center', valign: 'middle'},
+        {title: '投诉原因', field: 'reason', visible: true, align: 'center', valign: 'middle'},
+        {title: '备注', field: 'notes', visible: true, align: 'center', valign: 'middle'},
+        {title: '处理状态', field: 'state', visible: true, align: 'center', valign: 'middle',
             formatter: function (value, row) {
-                var btn = "";
-                if(row.insert_time != '' && row.insert_time != null) {
-                    var time = row.insert_time.replace(" ",'<br>');
-                    btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.insert_time + '" onfocus="TUser.tooltip()">' + time + '</p>']
+                if (row.state === 1){
+                    return '<span>待处理</span>'
+                }else if (row.state === 2){
+                    return '<span>已处理</span>'
                 }
-                return btn;
             }
         },
-        {title: '投诉人昵称', field: 'userName', visible: true, align: 'center', valign: 'middle',
-            formatter: function (value, row) {
-                var btn = "";
-                if(row.userName != '' && row.userName != null) {
-                    btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.userName + '" onfocus="TUser.tooltip()">' + row.userName + '</p>']
-                }
-                return btn;
-            }
-        },
-        {title: '投诉人<br/>电话', field: 'userPhone', visible: true, align: 'center', valign: 'middle',
-            formatter: function (value, row) {
-                var btn = "";
-                if(row.userPhone != '' && row.userPhone != null) {
-                    btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.userPhone + '" onfocus="TUser.tooltip()">' + row.userPhone + '</p>']
-                }
-                return btn;
-            }
-        },
-        {title: '投诉司机<br/>电话', field: 'driverPhone', visible: true, align: 'center', valign: 'middle',
-            formatter: function (value, row) {
-                var btn = "";
-                if(row.driverPhone != '' && row.driverPhone != null) {
-                    btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.driverPhone + '" onfocus="TUser.tooltip()">' + row.driverPhone + '</p>']
-                }
-                return btn;
-            }
-        },
-        {title: '投诉<br/>原因', field: 'reason', visible: true, align: 'center', valign: 'middle',
-            formatter: function (value, row) {
-                var btn = "";
-                if(row.reason != '' && row.reason != null) {
-                    var str = row.reason;
-                    if (str.length > 20){
-                        str = str.substring(0,20)+'...<br><button class="btn btn-outline btn-primary" onclick="TComplaint.buttonClick(' +  row.id+','+ 1+ ')">查看更多</button>';
-                    }
-                    btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.reason + '" onfocus="TUser.tooltip()">' + str + '</p>']
-                }
-                return btn;
-            }
-        },
-        {title: '描述', field: 'description', visible: true, align: 'center', valign: 'middle',
-            formatter: function (value, row) {
-                var btn = "";
-                if(row.description != '' && row.description != null) {
-                    var str = row.description;
-                    if (str.length > 20){
-                        str = str.substring(0,20)+'...<br><button class="btn btn-outline btn-primary" onclick="TComplaint.buttonClick(' +  row.id+','+ 2+ ')">查看更多</button>';
-                    }
-                    btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.description + '" onfocus="TUser.tooltip()">' + str + '</p>']
-                }
-                return btn;
-            }
-        },
-        {title: '备注', field: 'handleResult', visible: true, align: 'center', valign: 'middle',
-            formatter: function (value, row) {
-                var btn = "";
-                if(row.handleResult != '' && row.handleResult != null) {
-                    var str = row.handleResult;
-                    if (str.length > 20){
-                        str = str.substring(0,20)+'...<br><button class="btn btn-outline btn-primary" onclick="TComplaint.buttonClick(' +  row.id+','+ 3+ ')">查看更多</button>';
-                    }
-                    btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.handleResult + '" onfocus="TUser.tooltip()">' + str + '</p>']
-                }
-                return btn;
-            }
-        },
-        {title: '状态', field: 'isHandle', visible: true, align: 'center', valign: 'middle',width:'10%',
-            formatter: function (value, row) {
-                var btn = "";
-                if(row.isHandle != '' && row.isHandle != null) {
-                    if (row.isHandle == 1){
-                        btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="已处理" onfocus="TUser.tooltip()">已处理</p>']
-                    }
-                }else{
-                    btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color: red;" title="未处理" onfocus="TUser.tooltip()">未处理</p>']
-                }
-                return btn;
-            }
-        },
-        {title: '处理时间', field: 'handleTime', visible: true, align: 'center', valign: 'middle',width:'10%',
-            formatter: function (value, row) {
-                var btn = "";
-                if(row.handleTime != '' && row.handleTime != null) {
-                    var time = row.handleTime.replace(" ",'<br>');
-                    btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.handleTime + '" onfocus="TUser.tooltip()">' + time + '</p>']
-                }
-                return btn;
-            }
-        },
-        {title: '处理人', field: 'handleUserName', visible: true, align: 'center', valign: 'middle',width:'10%',
-            formatter: function (value, row) {
-                var btn = "";
-                if(row.handleUserName != '' && row.handleUserName != null) {
-                    btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.handleUserName + '" onfocus="TUser.tooltip()">' + row.handleUserName + '</p>']
-                }
-                return btn;
-            }
-        }
+        {title: '处理时间', field: 'auditTime', visible: true, align: 'center', valign: 'middle'},
+        {title: '处理人', field: 'auditPersonName', visible: true, align: 'center', valign: 'middle'},
+        {title: '状态(1=正常,2=冻结,3=删除)', field: 'status', visible: false, align: 'center', valign: 'middle'}
     ];
 };
-
-/**
- * 查看更多按钮
- * @param con
- */
-TComplaint.buttonClick = function (id,type) {
-    var index = layer.open({
-        type: 2,
-        title: '查看详情',
-        area: ['800px', '420px'], //宽高
-        fix: false, //不固定
-        maxmin: true,
-        content: Feng.ctxPath + '/tComplaint/lookDetail/'+id+"/"+type
-    });
-    this.layerIndex = index;
-}
-
-
 
 /**
  * 检查是否选中
@@ -159,81 +52,119 @@
 };
 
 /**
- * 立即处理
+ * 点击添加
  */
-TComplaint.immediately = function(){
+TComplaint.openAddTComplaint = function () {
+    var index = layer.open({
+        type: 2,
+        title: '添加',
+        area: ['800px', '420px'], //宽高
+        fix: false, //不固定
+        maxmin: true,
+        content: Feng.ctxPath + '/tComplaint/tComplaint_add'
+    });
+    this.layerIndex = index;
+};
+
+/**
+ * 打开查看详情
+ */
+TComplaint.openTComplaintDetail = function () {
     if (this.check()) {
-        if (TComplaint.seItem.isHandle == 1) {
-            swal("处理失败", "【未处理】状态下才能执行此操作", "warning");
-            return;
-        }
         var index = layer.open({
             type: 2,
-            title: '立即处理',
+            title: '详情',
             area: ['800px', '420px'], //宽高
             fix: false, //不固定
             maxmin: true,
-            content: Feng.ctxPath + '/tComplaint/tComplaint_immediately/' + TComplaint.seItem.id
+            content: Feng.ctxPath + '/tComplaint/tComplaint_update/' + TComplaint.seItem.id
         });
         this.layerIndex = index;
     }
-}
+};
 
 /**
- * 删除投诉列表
+ * 删除
  */
 TComplaint.delete = function () {
     if (this.check()) {
-        if (TComplaint.seItem.isHandle != 1) {
-            swal("删除失败", "【已处理】状态下才能执行此操作", "warning");
-            return;
-        }
-        swal({
-            title: "您是否确认删除该投诉记录?",
-            text: "请谨慎操作,删除后数据无法恢复!",
-            type: "warning",
-            showCancelButton: true,
-            confirmButtonColor: "#DD6B55",
-            confirmButtonText: "删除",
-            closeOnConfirm: false
-        }, function () {
-            var ajax = new $ax(Feng.ctxPath + "/tComplaint/delete", function (data) {
-                swal("删除成功", "您已经删除了该投诉记录。", "success");
-                TComplaint.table.refresh();
-            }, function (data) {
-                swal("删除失败", data.responseJSON.message + "!", "warning");
-            });
-            ajax.set("tComplaintId", TComplaint.seItem.id);
-            ajax.start();
+        var ajax = new $ax(Feng.ctxPath + "/tComplaint/delete", function (data) {
+            Feng.success("删除成功!");
+            TComplaint.table.refresh();
+        }, function (data) {
+            Feng.error("删除失败!" + data.responseJSON.message + "!");
         });
+        ajax.set("tComplaintId",this.seItem.id);
+        ajax.start();
     }
 };
 
 /**
- * 查询投诉列表列表
+ * 立即处理页面跳转
+ */
+TComplaint.immediatelyAudit = function () {
+    if (this.check()) {
+        if(2 == TComplaint.seItem.state){
+            Feng.error("该数据已处理!");
+            return;
+        }
+
+        var index = layer.open({
+            type: 2,
+            title: '投诉处理',
+            area: ['800px', '420px'], //宽高
+            fix: false, //不固定
+            maxmin: true,
+            content: Feng.ctxPath + '/tComplaint/immediatelyAudit?tComplaintId=' + TComplaint.seItem.id
+        });
+        this.layerIndex = index;
+    }
+};
+
+/**
+ * 提交审核
+ */
+TComplaint.audit = function () {
+    var ajax = new $ax(Feng.ctxPath + "/tComplaint/audit", function (data) {
+        Feng.success("修改成功!");
+        TComplaintInfoDlg.close();
+        parent.TComplaint.table.refresh();
+    }, function (data) {
+        Feng.error("修改失败!" + data.responseJSON.message + "!");
+    });
+    ajax.set("tComplaintId",$("#tComplaintId").val());
+    ajax.set("notes",$("#notes").val());
+    ajax.start();
+};
+
+/**
+ * 查询列表
  */
 TComplaint.search = function () {
     var queryData = {};
-    queryData['insertTime'] = $("#insertTime").val();
+    queryData['createTime'] = $("#createTime").val();
     queryData['userName'] = $("#userName").val();
     queryData['userPhone'] = $("#userPhone").val();
     queryData['driverPhone'] = $("#driverPhone").val();
-    queryData['isHandle'] = $("#isHandle").val();
+    queryData['state'] = $("#state").val();
     TComplaint.table.refresh({query: queryData});
 };
 
-TComplaint.resetSearch = function () {
-    $("#insertTime").val("");
-    $("#userName").val("");
-    $("#userPhone").val("");
-    $("#driverPhone").val("");
-    $("#isHandle").val("");
+/**
+ * 重置
+ */
+TComplaint.resetSearch = function (){
+    $("#createTime").val('');
+    $("#userName").val('');
+    $("#userPhone").val('');
+    $("#driverPhone").val('');
+    $("#state").val('');
     TComplaint.search();
-};
+}
 
 $(function () {
     var defaultColunms = TComplaint.initColumn();
     var table = new BSTable(TComplaint.id, "/tComplaint/list", defaultColunms);
-    table.setPaginationType("server");
+    table.setPaginationType("client");
     TComplaint.table = table.init();
 });
diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tComplaint/tComplaint_info.js b/management/guns-admin/src/main/webapp/static/modular/system/tComplaint/tComplaint_info.js
index ff1c132..40a4722 100644
--- a/management/guns-admin/src/main/webapp/static/modular/system/tComplaint/tComplaint_info.js
+++ b/management/guns-admin/src/main/webapp/static/modular/system/tComplaint/tComplaint_info.js
@@ -1,30 +1,8 @@
 /**
- * 初始化投诉列表详情对话框
+ * 初始化详情对话框
  */
 var TComplaintInfoDlg = {
-    tComplaintInfoData : {},
-    validateFields: {
-        handleResult: {
-            validators: {
-                notEmpty: {
-                    message: '备注不能为空'
-                }/*,
-                regexp: {
-                    regexp: /^.{1,500}$/,
-                    message: '备注不能超过500个长度'
-                }*/
-            }
-        },
-    }
-};
-
-/**
- * 验证数据是否为空
- */
-TComplaintInfoDlg.validate = function () {
-    $('#complaintFormInfo').data("bootstrapValidator").resetForm();
-    $('#complaintFormInfo').bootstrapValidator('validate');
-    return $("#complaintFormInfo").data('bootstrapValidator').isValid();
+    tComplaintInfoData : {}
 };
 
 /**
@@ -69,43 +47,54 @@
     this
     .set('id')
     .set('userId')
-    .set('reason')
     .set('driverId')
-    .set('description')
-    .set('isHandle')
-    .set('insertTime')
-    .set('handleResult')
-    .set('handleUserId');
+    .set('reason')
+    .set('notes')
+    .set('state')
+    .set('status')
+    .set('createTime');
 }
 
 /**
- * 立即处理
+ * 提交添加
  */
-TComplaintInfoDlg.immediately = function() {
+TComplaintInfoDlg.addSubmit = function() {
 
     this.clearData();
     this.collectData();
-    if(!this.validate()){
-        return ;
-    }
-    var handleResult = $("#handleResult").val();
-    if (handleResult.length > 500){
-        Feng.info("备注不能超过500个字");
-        return;
-    }
+
     //提交信息
-    var ajax = new $ax(Feng.ctxPath + "/tComplaint/immediately", function(data){
-        Feng.success("处理成功!");
+    var ajax = new $ax(Feng.ctxPath + "/tComplaint/add", function(data){
+        Feng.success("添加成功!");
         window.parent.TComplaint.table.refresh();
         TComplaintInfoDlg.close();
     },function(data){
-        Feng.error("处理失败!" + data.responseJSON.message + "!");
+        Feng.error("添加失败!" + data.responseJSON.message + "!");
     });
-    ajax.set("id",$("#id").val());
-    ajax.set("handleResult",$("#handleResult").val());
+    ajax.set(this.tComplaintInfoData);
+    ajax.start();
+}
+
+/**
+ * 提交修改
+ */
+TComplaintInfoDlg.editSubmit = function() {
+
+    this.clearData();
+    this.collectData();
+
+    //提交信息
+    var ajax = new $ax(Feng.ctxPath + "/tComplaint/update", function(data){
+        Feng.success("修改成功!");
+        window.parent.TComplaint.table.refresh();
+        TComplaintInfoDlg.close();
+    },function(data){
+        Feng.error("修改失败!" + data.responseJSON.message + "!");
+    });
+    ajax.set(this.tComplaintInfoData);
     ajax.start();
 }
 
 $(function() {
-    Feng.initValidator("complaintFormInfo", TComplaintInfoDlg.validateFields);
+
 });
diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tCoupon/tCoupon.js b/management/guns-admin/src/main/webapp/static/modular/system/tCoupon/tCoupon.js
index 3b17e48..43c1631 100644
--- a/management/guns-admin/src/main/webapp/static/modular/system/tCoupon/tCoupon.js
+++ b/management/guns-admin/src/main/webapp/static/modular/system/tCoupon/tCoupon.js
@@ -49,7 +49,15 @@
             },
             {title: '条件金额', field: 'couponConditionalAmount', visible: true, align: 'center', valign: 'middle'},
             {title: '优惠金额', field: 'couponPreferentialAmount', visible: true, align: 'center', valign: 'middle'},
-        {title: '数量', field: 'couponCount', visible: true, align: 'center', valign: 'middle'},
+        {title: '数量', field: 'couponCount', visible: true, align: 'center', valign: 'middle',
+            formatter: function (value, row) {
+                if (row.couponCount === 0){
+                    return '<span>无限制</span>'
+                }else{
+                    return row.couponCount
+                }
+            }
+        },
         {title: '有效期', field: 'couponValidity', visible: true, align: 'center', valign: 'middle'},
             {title: '状态', field: 'couponState', visible: true, align: 'center', valign: 'middle',
                 formatter: function (value, row) {
@@ -164,6 +172,16 @@
     TCoupon.table.refresh({query: queryData});
 };
 
+/**
+ * 重置
+ */
+TCoupon.resetSearch = function (){
+    $("#couponType").val('');
+    $("#couponServiceType").val('');
+    $("#createTime").val('');
+    TCoupon.search();
+}
+
 $(function () {
     var defaultColunms = TCoupon.initColumn();
     var table = new BSTable(TCoupon.id, "/tCoupon/list", defaultColunms);
diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tCoupon/tCoupon_info.js b/management/guns-admin/src/main/webapp/static/modular/system/tCoupon/tCoupon_info.js
index 635bcba..7bab211 100644
--- a/management/guns-admin/src/main/webapp/static/modular/system/tCoupon/tCoupon_info.js
+++ b/management/guns-admin/src/main/webapp/static/modular/system/tCoupon/tCoupon_info.js
@@ -53,6 +53,13 @@
                 }
             }
         },
+        remainingQuantity: {
+            validators: {
+                notEmpty: {
+                    message: '优惠券总量不能为空'
+                }
+            }
+        },
     }
 };
 
@@ -106,7 +113,7 @@
 TCouponInfoDlg.collectData = function() {
     this
     .set('id')
-    .set('createtime')
+    .set('createTime')
     .set('couponType')
     .set('couponServiceType')
     .set('couponCount')
@@ -114,6 +121,7 @@
     .set('couponPreferentialAmount')
     .set('couponValidity')
     .set('couponSendQuantity')
+    .set('remainingQuantity')
     .set('couponName');
 }
 
diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tSystemConfig/tSystemConfig.js b/management/guns-admin/src/main/webapp/static/modular/system/tSystemConfig/tSystemConfig.js
new file mode 100644
index 0000000..50e2d17
--- /dev/null
+++ b/management/guns-admin/src/main/webapp/static/modular/system/tSystemConfig/tSystemConfig.js
@@ -0,0 +1,143 @@
+/**
+ * 管理初始化
+ */
+var TSystemConfig = {
+    id: "TSystemConfigTable",	//表格id
+    seItem: null,		//选中的条目
+    table: null,
+    layerIndex: -1
+};
+
+/**
+ * 初始化表格的列
+ */
+TSystemConfig.initColumn = function () {
+    return [
+        {field: 'selectItem', radio: true},
+            {title: '主键', field: 'id', visible: true, align: 'center', valign: 'middle'},
+            {title: '类型(1=派单规则,2=佣金分成规则,3=抽成规则,4=积分规则,5=价格规则,6=余额规则,7=客服管理)', field: 'type', visible: true, align: 'center', valign: 'middle'},
+            {title: '内容', field: 'content', visible: true, align: 'center', valign: 'middle'}
+    ];
+};
+
+/**
+ * 检查是否选中
+ */
+TSystemConfig.check = function () {
+    var selected = $('#' + this.id).bootstrapTable('getSelections');
+    if(selected.length == 0){
+        Feng.info("请先选中表格中的某一记录!");
+        return false;
+    }else{
+        TSystemConfig.seItem = selected[0];
+        return true;
+    }
+};
+
+/**
+ * 点击添加
+ */
+TSystemConfig.openAddTSystemConfig = function () {
+    var index = layer.open({
+        type: 2,
+        title: '添加',
+        area: ['800px', '420px'], //宽高
+        fix: false, //不固定
+        maxmin: true,
+        content: Feng.ctxPath + '/tSystemConfig/tSystemConfig_add'
+    });
+    this.layerIndex = index;
+};
+
+/**
+ * 打开查看详情
+ */
+TSystemConfig.openTSystemConfigDetail = function () {
+    if (this.check()) {
+        var index = layer.open({
+            type: 2,
+            title: '详情',
+            area: ['800px', '420px'], //宽高
+            fix: false, //不固定
+            maxmin: true,
+            content: Feng.ctxPath + '/tSystemConfig/tSystemConfig_update/' + TSystemConfig.seItem.id
+        });
+        this.layerIndex = index;
+    }
+};
+
+/**
+ * 删除
+ */
+TSystemConfig.delete = function () {
+    if (this.check()) {
+        var ajax = new $ax(Feng.ctxPath + "/tSystemConfig/delete", function (data) {
+            Feng.success("删除成功!");
+            TSystemConfig.table.refresh();
+        }, function (data) {
+            Feng.error("删除失败!" + data.responseJSON.message + "!");
+        });
+        ajax.set("tSystemConfigId",this.seItem.id);
+        ajax.start();
+    }
+};
+
+/**
+ * 派单规则
+ */
+TSystemConfig.dispatchRulesSubmit = function () {
+    var ajax = new $ax(Feng.ctxPath + "/tSystemConfig/systemConfigSubmit", function (data) {
+        Feng.success("保存成功!");
+        TSystemConfig.table.refresh();
+    }, function (data) {
+        Feng.error("保存失败!" + data.responseJSON.message + "!");
+    });
+    var reqData = {};
+    reqData['num1'] = Number($("#num1").val());
+    reqData['num2'] = Number($("#num2").val());
+    reqData['num3'] = Number($("#num3").val());
+    reqData['num4'] = Number($("#num4").val());
+    reqData['num5'] = Number($("#num5").val());
+    ajax.set("content",JSON.stringify(reqData));
+    ajax.set("type",1);
+    ajax.start();
+};
+
+/**
+ * 佣金分成规则
+ */
+TSystemConfig.commissionShareRules = function () {
+    var ajax = new $ax(Feng.ctxPath + "/tSystemConfig/systemConfigSubmit", function (data) {
+        Feng.success("保存成功!");
+        TSystemConfig.table.refresh();
+    }, function (data) {
+        Feng.error("保存失败!" + data.responseJSON.message + "!");
+    });
+    var reqData = {};
+    reqData['num1'] = Number($("#num1").val());
+    reqData['num2'] = Number($("#num2").val());
+    reqData['num3'] = Number($("#num3").val());
+    reqData['num4'] = Number($("#num4").val());
+    reqData['num5'] = Number($("#num5").val());
+    reqData['num6'] = Number($("#num6").val());
+    reqData['num7'] = Number($("#num7").val());
+    ajax.set("content",JSON.stringify(reqData));
+    ajax.set("type",1);
+    ajax.start();
+};
+
+/**
+ * 查询列表
+ */
+TSystemConfig.search = function () {
+    var queryData = {};
+    queryData['condition'] = $("#condition").val();
+    TSystemConfig.table.refresh({query: queryData});
+};
+
+$(function () {
+    var defaultColunms = TSystemConfig.initColumn();
+    var table = new BSTable(TSystemConfig.id, "/tSystemConfig/list", defaultColunms);
+    table.setPaginationType("client");
+    TSystemConfig.table = table.init();
+});
diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tSystemConfig/tSystemConfig_info.js b/management/guns-admin/src/main/webapp/static/modular/system/tSystemConfig/tSystemConfig_info.js
new file mode 100644
index 0000000..e4906c5
--- /dev/null
+++ b/management/guns-admin/src/main/webapp/static/modular/system/tSystemConfig/tSystemConfig_info.js
@@ -0,0 +1,95 @@
+/**
+ * 初始化详情对话框
+ */
+var TSystemConfigInfoDlg = {
+    tSystemConfigInfoData : {}
+};
+
+/**
+ * 清除数据
+ */
+TSystemConfigInfoDlg.clearData = function() {
+    this.tSystemConfigInfoData = {};
+}
+
+/**
+ * 设置对话框中的数据
+ *
+ * @param key 数据的名称
+ * @param val 数据的具体值
+ */
+TSystemConfigInfoDlg.set = function(key, val) {
+    this.tSystemConfigInfoData[key] = (typeof val == "undefined") ? $("#" + key).val() : val;
+    return this;
+}
+
+/**
+ * 设置对话框中的数据
+ *
+ * @param key 数据的名称
+ * @param val 数据的具体值
+ */
+TSystemConfigInfoDlg.get = function(key) {
+    return $("#" + key).val();
+}
+
+/**
+ * 关闭此对话框
+ */
+TSystemConfigInfoDlg.close = function() {
+    parent.layer.close(window.parent.TSystemConfig.layerIndex);
+}
+
+/**
+ * 收集数据
+ */
+TSystemConfigInfoDlg.collectData = function() {
+    this
+    .set('id')
+    .set('type')
+    .set('content');
+}
+
+/**
+ * 提交添加
+ */
+TSystemConfigInfoDlg.addSubmit = function() {
+
+    this.clearData();
+    this.collectData();
+
+    //提交信息
+    var ajax = new $ax(Feng.ctxPath + "/tSystemConfig/add", function(data){
+        Feng.success("添加成功!");
+        window.parent.TSystemConfig.table.refresh();
+        TSystemConfigInfoDlg.close();
+    },function(data){
+        Feng.error("添加失败!" + data.responseJSON.message + "!");
+    });
+    ajax.set(this.tSystemConfigInfoData);
+    ajax.start();
+}
+
+/**
+ * 提交修改
+ */
+TSystemConfigInfoDlg.editSubmit = function() {
+
+    this.clearData();
+    this.collectData();
+
+    //提交信息
+    var ajax = new $ax(Feng.ctxPath + "/tSystemConfig/update", function(data){
+        Feng.success("修改成功!");
+        window.parent.TSystemConfig.table.refresh();
+        TSystemConfigInfoDlg.close();
+    },function(data){
+        Feng.error("修改失败!" + data.responseJSON.message + "!");
+    });
+    ajax.set(this.tSystemConfigInfoData);
+    ajax.start();
+}
+
+$(function() {
+
+});

--
Gitblit v1.7.1