From 957a8e8f5a01de49baa837e30492de511bf407e3 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期一, 27 三月 2023 18:10:06 +0800
Subject: [PATCH] 权限配置,基础信息管理

---
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TBillMapper.xml                   |   30 +
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TComplaintMapper.xml              |    6 
 management/guns-admin/src/main/webapp/WEB-INF/view/system/tHtml/agreementExplain.html                               |  124 ++++++
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TCommercial.java                        |   13 
 management/guns-admin/src/main/webapp/WEB-INF/view/system/tComplaint/tComplaint.html                                |    4 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCommercialController.java |   39 ++
 management/guns-admin/src/main/webapp/static/modular/system/tCommercial/tCommercial.js                              |  152 ++++++-
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TCommercialMapper.java                    |    2 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/enums/HtmlTypeEnum.java                       |    2 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TBillServiceImpl.java            |   23 +
 management/guns-admin/src/main/webapp/static/modular/system/tCommercial/tCommercial_info.js                         |   90 ++++
 management/guns-admin/src/main/webapp/WEB-INF/view/system/tCommercial/tCommercial.html                              |    4 
 management/guns-admin/src/main/webapp/WEB-INF/view/system/tRechargeRecord/tRechargeRecordUser.html                  |    6 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TCommercialServiceImpl.java      |   33 +
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TRechargeRecordServiceImpl.java  |   12 
 management/guns-admin/src/main/webapp/WEB-INF/view/system/tBranchOffice/tBranchOffice.html                          |    4 
 management/guns-admin/src/main/webapp/WEB-INF/view/system/tAgent/tAgent.html                                        |    6 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/resp/TBillResp.java                |   12 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITBillService.java                    |   13 
 management/guns-admin/src/main/webapp/static/modular/system/tHtml/tHtml.js                                          |   16 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TBillController.java       |    5 
 management/guns-admin/src/main/webapp/WEB-INF/view/system/tCommercial/tCommercial_edit.html                         |  176 +++++++-
 management/guns-admin/src/main/webapp/WEB-INF/view/system/tEvaluate/tEvaluate.html                                  |    6 
 management/guns-admin/src/main/webapp/WEB-INF/view/system/tAppUser/tAppUserException.html                           |    4 
 management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrder/tOrder.html                                        |   18 
 management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriverCommission.html                            |    6 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITCommercialService.java              |    9 
 management/guns-admin/src/main/webapp/WEB-INF/view/system/tBroadcast/tBroadcast_add.html                            |   27 -
 management/guns-admin/src/main/webapp/WEB-INF/view/system/tCommercial/tCommercial_add.html                          |  164 +++++++-
 management/guns-admin/src/main/webapp/WEB-INF/view/system/tBill/tBill.html                                          |    6 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/THtmlController.java       |   25 +
 management/guns-admin/src/main/webapp/WEB-INF/view/system/tRechargeRecord/tRechargeRecordAgent.html                 |    6 
 management/guns-admin/src/main/webapp/WEB-INF/view/system/tRevenue/tRevenue.html                                    |    6 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TBillMapper.java                          |   21 +
 management/guns-admin/src/main/webapp/WEB-INF/view/system/tAppUser/tAppUser.html                                    |   14 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TComplaintMapper.java                     |    3 
 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TComplaintServiceImpl.java       |    6 
 management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver.html                                      |   24 
 38 files changed, 939 insertions(+), 178 deletions(-)

diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TBillController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TBillController.java
index 2f349fb..6c00995 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TBillController.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TBillController.java
@@ -84,8 +84,9 @@
     @RequestMapping(value = "/list")
     @ResponseBody
     public Object list(String createTime,String addresseePhone,Integer state,Integer billType,Integer billHeaderType) {
-        EntityWrapper<TBill> wrapper = tBillService.getPageListWrapper(createTime,addresseePhone,state,billType,billHeaderType);
-        return tBillService.selectList(wrapper);
+//        EntityWrapper<TBill> wrapper = tBillService.getPageListWrapper(createTime,addresseePhone,state,billType,billHeaderType);
+//        return tBillService.selectList(wrapper);
+        return tBillService.getPageList(createTime,addresseePhone,state,billType,billHeaderType);
     }
 
     /**
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCommercialController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCommercialController.java
index 85fa9f5..684eb4a 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCommercialController.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCommercialController.java
@@ -1,6 +1,8 @@
 package com.stylefeng.guns.modular.system.controller.general;
 
 import com.stylefeng.guns.core.base.controller.BaseController;
+import com.stylefeng.guns.core.base.tips.SuccessTip;
+import com.stylefeng.guns.modular.system.controller.util.LabelReplaceUtil;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
@@ -11,6 +13,8 @@
 import org.springframework.web.bind.annotation.RequestParam;
 import com.stylefeng.guns.modular.system.model.TCommercial;
 import com.stylefeng.guns.modular.system.service.ITCommercialService;
+
+import java.util.Date;
 
 /**
  * 控制器
@@ -69,6 +73,8 @@
     @RequestMapping(value = "/add")
     @ResponseBody
     public Object add(TCommercial tCommercial) {
+        tCommercial.setHtml(LabelReplaceUtil.replace(tCommercial.getHtml()));
+        tCommercial.setCreateTime(new Date());
         tCommercialService.insert(tCommercial);
         return SUCCESS_TIP;
     }
@@ -84,11 +90,44 @@
     }
 
     /**
+     * 上线
+     */
+    @RequestMapping(value = "/onLine")
+    @ResponseBody
+    public Object onLine(@RequestParam Integer tCommercialId) {
+        TCommercial tCommercial = tCommercialService.selectById(tCommercialId);
+        Boolean exit = tCommercialService.isExit(tCommercialId, 1);
+        if(exit){
+            return new SuccessTip(500,"最多可上架4个弹窗广告!");
+        }
+        tCommercial.setOnOffLine(1);
+        tCommercialService.updateById(tCommercial);
+        return SUCCESS_TIP;
+    }
+
+    /**
+     * 下线
+     */
+    @RequestMapping(value = "/offLine")
+    @ResponseBody
+    public Object offLine(@RequestParam Integer tCommercialId) {
+        TCommercial tCommercial = tCommercialService.selectById(tCommercialId);
+        tCommercial.setOnOffLine(2);
+        tCommercialService.updateById(tCommercial);
+        return SUCCESS_TIP;
+    }
+
+    /**
      * 修改
      */
     @RequestMapping(value = "/update")
     @ResponseBody
     public Object update(TCommercial tCommercial) {
+        if(0 == tCommercial.getIsJump()){
+            tCommercial.setJumpType(0);
+            tCommercial.setJumpUrl("");
+        }
+        tCommercial.setHtml(LabelReplaceUtil.replace(tCommercial.getHtml()));
         tCommercialService.updateById(tCommercial);
         return SUCCESS_TIP;
     }
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/THtmlController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/THtmlController.java
index cc3c68e..b63bf88 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/THtmlController.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/THtmlController.java
@@ -15,6 +15,8 @@
 import com.stylefeng.guns.modular.system.model.THtml;
 import com.stylefeng.guns.modular.system.service.ITHtmlService;
 
+import java.util.Objects;
+
 /**
  * 控制器
  *
@@ -128,6 +130,29 @@
     }
 
     /**
+     * 跳转到代驾服务协议与隐私政策保护,法律条款,个人信息处理规则
+     */
+    @RequestMapping("/agreementExplain")
+    public String agentDrivingServiceExplain(Integer type,Model model) {
+        THtml one = queryHtmlByType(HtmlTypeEnum.AGENT_DRIVING_SERVICE_EXPLAIN.getCode());
+        model.addAttribute("one",one);
+        THtml two = queryHtmlByType(HtmlTypeEnum.CLAUSE.getCode());
+        model.addAttribute("two",two);
+        THtml three = queryHtmlByType(HtmlTypeEnum.PERSONAL_INFORMATION_RULES.getCode());
+        model.addAttribute("three",three);
+        return PREFIX + "agreementExplain.html";
+    }
+
+    /**
+     * 跳转到代驾服务协议与隐私政策保护,法律条款,个人信息处理规则
+     */
+    @RequestMapping("/agreement")
+    @ResponseBody
+    public Object agreement(Integer type) {
+        return queryHtmlByType(type);
+    }
+
+    /**
      * 获取列表
      */
     @RequestMapping(value = "/list")
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/resp/TBillResp.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/resp/TBillResp.java
new file mode 100644
index 0000000..3761291
--- /dev/null
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/resp/TBillResp.java
@@ -0,0 +1,12 @@
+package com.stylefeng.guns.modular.system.controller.resp;
+
+import com.stylefeng.guns.modular.system.model.TAgent;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+
+public class TBillResp extends TAgent {
+
+
+
+}
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TBillMapper.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TBillMapper.java
index 87bc846..ebc1780 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TBillMapper.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TBillMapper.java
@@ -2,6 +2,10 @@
 
 import com.stylefeng.guns.modular.system.model.TBill;
 import com.baomidou.mybatisplus.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * <p>
@@ -11,6 +15,23 @@
  * @author stylefeng
  * @since 2023-03-14
  */
+@Mapper
 public interface TBillMapper extends BaseMapper<TBill> {
 
+    /**
+     * 获取列表
+     * @param startTime
+     * @param endTime
+     * @param addresseePhone
+     * @param state
+     * @param billType
+     * @param billHeaderType
+     * @param roleType
+     * @param objectId
+     * @return
+     */
+    List<TBill> getPageList(@Param("startTime") String startTime, @Param("endTime")String endTime, @Param("addresseePhone")String addresseePhone,
+                            @Param("state")Integer state, @Param("billType")Integer billType, @Param("billHeaderType")Integer billHeaderType,
+                            @Param("roleType")Integer roleType, @Param("objectId")Integer objectId);
+
 }
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TCommercialMapper.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TCommercialMapper.java
index 7d3b3d0..c085f52 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TCommercialMapper.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TCommercialMapper.java
@@ -2,6 +2,7 @@
 
 import com.stylefeng.guns.modular.system.model.TCommercial;
 import com.baomidou.mybatisplus.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
 
 /**
  * <p>
@@ -11,6 +12,7 @@
  * @author stylefeng
  * @since 2023-03-16
  */
+@Mapper
 public interface TCommercialMapper extends BaseMapper<TCommercial> {
 
 }
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 bad622f..b09a599 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
@@ -30,6 +30,7 @@
      * @return
      */
     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);
+                                     @Param("userPhone")String userPhone, @Param("driverPhone")String driverPhone, @Param("state")Integer state,
+                                     @Param("roleType")Integer roleType,@Param("objectId")Integer objectId);
 
 }
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TBillMapper.xml b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TBillMapper.xml
index 66bba2d..ef6f6e9 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TBillMapper.xml
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TBillMapper.xml
@@ -24,5 +24,35 @@
     <sql id="Base_Column_List">
         id, orderId, billType, billHeaderType, companyName, companyTaxNumber, billContent, moreContent, billAmount, addresseeName, addresseePhone, addresseeEmail, state, createTime
     </sql>
+    <select id="getPageList" resultType="com.stylefeng.guns.modular.system.model.TBill">
+        SELECT b.id, b.orderId, b.billType, b.billHeaderType, b.companyName, b.companyTaxNumber, b.billContent, b.moreContent, b.billAmount, b.addresseeName, b.addresseePhone,
+        b.addresseeEmail, b.state, b.createTime
+        FROM t_bill b
+        LEFT JOIN t_order o ON b.orderId = o.id
+        <where>
+            <if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
+                AND b.createTime BETWEEN #{startTime} AND #{endTime}
+            </if>
+            <if test="addresseePhone != null and addresseePhone != ''">
+                AND b.addresseePhone LIKE concat('%',#{addresseePhone},'%')
+            </if>
+            <if test="state != null">
+                AND b.state = #{state}
+            </if>
+            <if test="billType != null">
+                AND b.billType = #{billType}
+            </if>
+            <if test="billHeaderType != null">
+                AND b.billHeaderType = #{addresseePhone}
+            </if>
+            <if test="roleType != null and roleType == 2">
+                AND o.branchOfficeId = #{objectId}
+            </if>
+            <if test="roleType != null and roleType == 3">
+                AND o.agentId = #{objectId}
+            </if>
+        </where>
+        ORDER BY b.createTime DESC
+    </select>
 
 </mapper>
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 3baaa02..d31d259 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
@@ -43,6 +43,12 @@
             <if test="state != null">
                 AND c.state = #{state}
             </if>
+            <if test="roleType != null and roleType == 2">
+                AND d.branchOfficeId = #{objectId}
+            </if>
+            <if test="roleType != null and roleType == 3">
+                AND d.agentId = #{objectId}
+            </if>
         </where>
         ORDER BY c.state
     </select>
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/enums/HtmlTypeEnum.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/enums/HtmlTypeEnum.java
index 0285c97..9656da2 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/enums/HtmlTypeEnum.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/enums/HtmlTypeEnum.java
@@ -18,7 +18,7 @@
     COMMISSION_RULE_EXPLAIN(5, "佣金规则说明"),
     TRIP_RECORDING_EXPLAIN(6, "行程录音说明"),
     ESTIMATED_PRICE_EXPLAIN(7,"预估价格说明"),
-    BASIC_REQUIREMENTS_JOINING(8, "加盟基本要求"),
+    basic_requirements_joining(8, "加盟基本要求"),
     JOINING_PROCESS(9, "加盟流程"),
     SPECIFICATION_STARTING_PRICE(10, "起步价说明"),
     CANCELLATION_AGREEMENT(11,"注销协议"),
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TCommercial.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TCommercial.java
index b294cd7..7208b1a 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TCommercial.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TCommercial.java
@@ -83,6 +83,19 @@
     private Integer updateUserId;
 
 
+    /**
+     * 上下线 1上线 2下线
+     */
+    private Integer onOffLine;
+
+    public Integer getOnOffLine() {
+        return onOffLine;
+    }
+
+    public void setOnOffLine(Integer onOffLine) {
+        this.onOffLine = onOffLine;
+    }
+
     public Integer getId() {
         return id;
     }
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITBillService.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITBillService.java
index 67359ac..162452a 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITBillService.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITBillService.java
@@ -4,6 +4,8 @@
 import com.stylefeng.guns.modular.system.model.TBill;
 import com.baomidou.mybatisplus.service.IService;
 
+import java.util.List;
+
 /**
  * <p>
  * 发票管理 服务类
@@ -25,4 +27,15 @@
      */
     EntityWrapper<TBill> getPageListWrapper(String createTime, String addresseePhone, Integer state, Integer billType, Integer billHeaderType);
 
+    /**
+     * 获取列表
+     * @param createTime
+     * @param addresseePhone
+     * @param state
+     * @param billType
+     * @param billHeaderType
+     * @return
+     */
+    List<TBill> getPageList(String createTime, String addresseePhone, Integer state, Integer billType, Integer billHeaderType);
+
 }
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITCommercialService.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITCommercialService.java
index a1d208d..c1354e4 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITCommercialService.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITCommercialService.java
@@ -1,7 +1,7 @@
 package com.stylefeng.guns.modular.system.service;
 
-import com.stylefeng.guns.modular.system.model.TCommercial;
 import com.baomidou.mybatisplus.service.IService;
+import com.stylefeng.guns.modular.system.model.TCommercial;
 
 /**
  * <p>
@@ -13,4 +13,11 @@
  */
 public interface ITCommercialService extends IService<TCommercial> {
 
+    /**
+     * 判断存在多少个弹窗广告
+     *
+     * @return
+     */
+    Boolean isExit(Integer id, Integer onOffLine);
+
 }
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TBillServiceImpl.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TBillServiceImpl.java
index 239d2a4..c1ebb08 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TBillServiceImpl.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TBillServiceImpl.java
@@ -1,16 +1,21 @@
 package com.stylefeng.guns.modular.system.service.impl;
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.stylefeng.guns.core.shiro.ShiroKit;
 import com.stylefeng.guns.core.util.DateUtil;
+import com.stylefeng.guns.modular.system.controller.resp.TRechargeRecordUserResp;
 import com.stylefeng.guns.modular.system.model.TBill;
 import com.stylefeng.guns.modular.system.dao.TBillMapper;
 import com.stylefeng.guns.modular.system.service.ITBillService;
 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.Date;
+import java.util.List;
 import java.util.Objects;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -22,6 +27,9 @@
  */
 @Service
 public class TBillServiceImpl extends ServiceImpl<TBillMapper, TBill> implements ITBillService {
+
+    @Autowired
+    private TBillMapper tBillMapper;
 
     @Override
     public EntityWrapper<TBill> getPageListWrapper(String createTime, String addresseePhone, Integer state, Integer billType, Integer billHeaderType) {
@@ -47,4 +55,19 @@
         }
         return wrapper;
     }
+
+    @Override
+    public List<TBill> getPageList(String createTime, String addresseePhone, Integer state, Integer billType, Integer billHeaderType) {
+        String startTime = null;
+        String endTime = null;
+        // 开始,结束时间
+        if(StringUtils.hasLength(createTime)){
+            String[] split = createTime.split(" - ");
+            startTime = split[0];
+            endTime = split[1];
+        }
+        Integer roleType = Objects.requireNonNull(ShiroKit.getUser()).getRoleType();
+        Integer objectId = Objects.requireNonNull(ShiroKit.getUser()).getObjectId();
+        return tBillMapper.getPageList(startTime, endTime, addresseePhone,state,billType,billHeaderType,roleType,objectId);
+    }
 }
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TCommercialServiceImpl.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TCommercialServiceImpl.java
index 5d4afae..f4257f0 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TCommercialServiceImpl.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TCommercialServiceImpl.java
@@ -1,10 +1,20 @@
 package com.stylefeng.guns.modular.system.service.impl;
 
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.stylefeng.guns.modular.system.dao.TBroadcastMapper;
+import com.stylefeng.guns.modular.system.enums.StatusEnum;
+import com.stylefeng.guns.modular.system.model.TBroadcast;
 import com.stylefeng.guns.modular.system.model.TCommercial;
 import com.stylefeng.guns.modular.system.dao.TCommercialMapper;
 import com.stylefeng.guns.modular.system.service.ITCommercialService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -17,4 +27,27 @@
 @Service
 public class TCommercialServiceImpl extends ServiceImpl<TCommercialMapper, TCommercial> implements ITCommercialService {
 
+    @Autowired
+    private TCommercialMapper tCommercialMapper;
+
+    @Override
+    public Boolean isExit(Integer id,Integer onOffLine) {
+        List<TCommercial> list = tCommercialMapper.selectList(new EntityWrapper<TCommercial>()
+                .eq("type", 1)
+                .eq("onOffLine", onOffLine)
+                .ne("status", StatusEnum.DELETE.getCode()));
+        if (Objects.nonNull(id)) {
+            if(!CollectionUtils.isEmpty(list)){
+                List<Integer> ids = list.stream().map(TCommercial::getId).collect(Collectors.toList());
+                // 修改
+                TCommercial tCommercial = tCommercialMapper.selectById(id);
+                return Objects.nonNull(tCommercial) && !ids.contains(id) && list.size() > 3;
+            }else {
+                return false;
+            }
+        } else {
+            // 新增
+            return list.size() > 3;
+        }
+    }
 }
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 fca4d93..a5a56be 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,5 +1,6 @@
 package com.stylefeng.guns.modular.system.service.impl;
 
+import com.stylefeng.guns.core.shiro.ShiroKit;
 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;
@@ -12,6 +13,7 @@
 import org.springframework.util.StringUtils;
 
 import java.util.List;
+import java.util.Objects;
 
 /**
  * <p>
@@ -37,6 +39,8 @@
             startTime = split[0];
             endTime = split[1];
         }
-        return tComplaintMapper.getPageList(startTime,endTime,userName,userPhone,driverPhone,state);
+        Integer roleType = Objects.requireNonNull(ShiroKit.getUser()).getRoleType();
+        Integer objectId = Objects.requireNonNull(ShiroKit.getUser()).getObjectId();
+        return tComplaintMapper.getPageList(startTime,endTime,userName,userPhone,driverPhone,state,roleType,objectId);
     }
 }
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TRechargeRecordServiceImpl.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TRechargeRecordServiceImpl.java
index 09aff6d..c839d3c 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TRechargeRecordServiceImpl.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TRechargeRecordServiceImpl.java
@@ -13,6 +13,7 @@
 
 import java.util.List;
 import java.util.Objects;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -38,7 +39,16 @@
             startTime = split[0];
             endTime = split[1];
         }
-        return tRechargeRecordMapper.userRecharge(startTime,endTime,userName,userPhone,code);
+        Integer roleType = Objects.requireNonNull(ShiroKit.getUser()).getRoleType();
+        Integer objectId = Objects.requireNonNull(ShiroKit.getUser()).getObjectId();
+        List<TRechargeRecordUserResp> userRecharge = tRechargeRecordMapper.userRecharge(startTime, endTime, userName, userPhone, code);
+        if(3 == roleType){
+            userRecharge = userRecharge.stream().filter(recharge -> recharge.getAgentId().equals(objectId)).collect(Collectors.toList());
+        }
+//        if(2 == roleType){
+//            userRecharge = userRecharge.stream().filter(recharge -> recharge.getBranchOfficeId().equals(objectId)).collect(Collectors.toList());
+//        }
+        return userRecharge;
     }
 
     @Override
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tAgent/tAgent.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tAgent/tAgent.html
index ba18273..c2690a2 100644
--- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tAgent/tAgent.html
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tAgent/tAgent.html
@@ -31,9 +31,9 @@
                                 <#button name="重置" icon="fa-trash" clickFun="TAgent.resetSearch()" space="true"/>
                             </div>
                             <div class="col-sm-3">
-                                <button type="button" class="btn btn-primary " onclick="TAgent.export()" id="export">
-                                    <i class="fa "></i>&nbsp;导出
-                                </button>
+                                @if(shiro.hasPermission("/tAgent/export")){
+                                <#button name="导出" icon="" clickFun="TAgent.export()"/>
+                                @}
                                 @if(shiro.hasPermission("/tAgent/add")){
                                 <#button name="添加" icon="fa-plus" clickFun="TAgent.openAddTAgent()"/>
                                 @}
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tAppUser/tAppUser.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tAppUser/tAppUser.html
index 05ae027..8b60e4a 100644
--- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tAppUser/tAppUser.html
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tAppUser/tAppUser.html
@@ -33,13 +33,15 @@
                                 <#button name="重置" icon="fa-trash" clickFun="TAppUser.resetSearch()" space="true"/>
                             </div>
                             <div class="col-sm-3">
-                                <button type="button" class="btn btn-primary " onclick="TAppUser.export()" id="export">
-                                    <i class="fa "></i>&nbsp;导出
-                                </button>
+                                @if(shiro.hasPermission("/tAppUser/export-userInfo")){
+                                <#button name="导出" icon="" clickFun="TAppUser.export()"/>
+                                @}
+                                @if(shiro.hasPermission("/tAppUser/add")){
                                 <#button name="异常" icon="" clickFun="TAppUserException.tAppUserException()"/>
-                                <button type="button" class="btn btn-primary " onclick="TAppUser.searchCoupon()" id="">
-                                    <i class="fa "></i>&nbsp;赠送优惠劵
-                                </button>
+                                @}
+                                @if(shiro.hasPermission("/tAppUser/sendCoupon")){
+                                <#button name="赠送优惠劵" icon="" clickFun="TAppUser.searchCoupon()"/>
+                                @}
                             </div>
                         </div>
                         <!--<div class="hidden-xs" id="TAppUserTableToolbar" role="group">
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tAppUser/tAppUserException.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tAppUser/tAppUserException.html
index e18d0cc..a1e6517 100644
--- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tAppUser/tAppUserException.html
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tAppUser/tAppUserException.html
@@ -39,7 +39,7 @@
                                 </button>
                             </div>
                         </div>
-                        <div class="hidden-xs" id="TAppUserTableToolbar" role="group">
+                        <!--<div class="hidden-xs" id="TAppUserTableToolbar" role="group">
                             @if(shiro.hasPermission("/tAppUser/add")){
                                 <#button name="添加" icon="fa-plus" clickFun="TAppUser.openAddTAppUser()"/>
                             @}
@@ -49,7 +49,7 @@
                             @if(shiro.hasPermission("/tAppUser/delete")){
                                 <#button name="删除" icon="fa-remove" clickFun="TAppUser.delete()" space="true"/>
                             @}
-                        </div>
+                        </div>-->
                         <#table id="TAppUserExceptionTable"/>
                     </div>
                 </div>
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tBill/tBill.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tBill/tBill.html
index bc0ead3..7a2ad09 100644
--- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tBill/tBill.html
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tBill/tBill.html
@@ -41,9 +41,9 @@
                                 <#button name="重置" icon="fa-trash" clickFun="TBill.resetSearch()" space="true"/>
                             </div>
                             <div class="col-sm-12">
-                                <button type="button" class="btn btn-primary " onclick="TBill.export()" id="export">
-                                    <i class="fa "></i>&nbsp;导出
-                                </button>
+                                @if(shiro.hasPermission("/tBill/export")){
+                                <#button name="导出" icon="" clickFun="TBill.export()"/>
+                                @}
                             </div>
                         </div>
                         <div class="hidden-xs" id="TBillTableToolbar" role="group">
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tBranchOffice/tBranchOffice.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tBranchOffice/tBranchOffice.html
index 944fcb5..9d4f6ff 100644
--- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tBranchOffice/tBranchOffice.html
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tBranchOffice/tBranchOffice.html
@@ -48,8 +48,12 @@
                                 @if(shiro.hasPermission("/tBranchOffice/update")){
                                 <#button name="编辑" icon="fa-edit" clickFun="TBranchOffice.openTBranchOfficeDetail()" space="true"/>
                                 @}
+                                @if(shiro.hasPermission("/tBranchOffice/stop")){
                                 <#button name="冻结" icon="fa-edit" clickFun="TBranchOffice.stop()" space="true"/>
+                                @}
+                                @if(shiro.hasPermission("/tBranchOffice/start")){
                                 <#button name="启动" icon="fa-edit" clickFun="TBranchOffice.start()" space="true"/>
+                                @}
                             </div>
                         </div>
                         <!--<div class="hidden-xs" id="TBranchOfficeTableToolbar" role="group">
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tBroadcast/tBroadcast_add.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tBroadcast/tBroadcast_add.html
index be25cfa..dd6f32b 100644
--- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tBroadcast/tBroadcast_add.html
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tBroadcast/tBroadcast_add.html
@@ -58,32 +58,5 @@
         </div>
     </div>
 </div>
-<!--<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="content" name="消息内容" underline="true"/>
-                            <#input id="sort" name="排序"/>
-                </div>
-
-                <div class="col-sm-6">
-                            <#input id="status" name="状态(1=正常,2=冻结,3=删除)" underline="true"/>
-                            <#input id="createTime" 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="TBroadcastInfoDlg.addSubmit()"/>
-                    <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TBroadcastInfoDlg.close()"/>
-                </div>
-            </div>
-        </div>
-
-    </div>
-</div>-->
 <script src="${ctxPath}/static/modular/system/tBroadcast/tBroadcast_info.js"></script>
 @}
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tCommercial/tCommercial.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tCommercial/tCommercial.html
index 32072cb..9843abe 100644
--- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tCommercial/tCommercial.html
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tCommercial/tCommercial.html
@@ -8,14 +8,14 @@
             <div class="ibox-content">
                 <div class="row row-lg">
                     <div class="col-sm-12">
-                        <div class="row">
+                        <!--<div class="row">
                             <div class="col-sm-3">
                                 <#NameCon id="condition" name="名称" />
                             </div>
                             <div class="col-sm-3">
                                 <#button name="搜索" icon="fa-search" clickFun="TCommercial.search()"/>
                             </div>
-                        </div>
+                        </div>-->
                         <div class="hidden-xs" id="TCommercialTableToolbar" role="group">
                             @if(shiro.hasPermission("/tCommercial/add")){
                                 <#button name="添加" icon="fa-plus" clickFun="TCommercial.openAddTCommercial()"/>
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tCommercial/tCommercial_add.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tCommercial/tCommercial_add.html
index 4012ef4..3fbd7c3 100644
--- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tCommercial/tCommercial_add.html
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tCommercial/tCommercial_add.html
@@ -1,40 +1,144 @@
 @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=底部广告)" underline="true"/>
-                            <#input id="name" name="名称" underline="true"/>
-                            <#input id="url" name="广告地址" underline="true"/>
-                            <#input id="device" name="设备(1=小程序,2=司机端)" underline="true"/>
-                            <#input id="isJump" name="是否跳转(0=否,1=是)" underline="true"/>
-                            <#input id="jumpType" name="跳转类型(1=内部跳转,2=外部跳转)" underline="true"/>
-                            <#input id="jumpUrl" name="跳转连接"/>
-                </div>
-
-                <div class="col-sm-6">
-                            <#input id="html" name="富文本" underline="true"/>
-                            <#input id="sort" name="排序" underline="true"/>
-                            <#input id="status" name="状态(1=正常,2=冻结,3=删除)" underline="true"/>
-                            <#input id="createTime" name="添加时间" underline="true"/>
-                            <#input id="createUserId" name="添加人员id" underline="true"/>
-                            <#input id="updateTime" name="更新时间" underline="true"/>
-                            <#input id="updateUserId" name="更新人员id" underline="true"/>
-                </div>
+<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" id="commercialInfoForm">
+                <div class="row row-lg">
+                    <div class="col-sm-12">
 
-            <div class="row btn-group-m-t">
-                <div class="col-sm-10">
-                    <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TCommercialInfoDlg.addSubmit()"/>
-                    <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TCommercialInfoDlg.close()"/>
+                        <div class="col-sm-12" style="cursor: pointer;text-align: left;">
+
+                            <div class="initialLevel col-sm-12 control-label form-group"  >
+                                <div class="initialLevel col-sm-3 control-label form-group"  >
+                                    <span style="color:red">*</span>
+                                    <label class="control-label" >广告图名称:</label>
+                                    <input id="name" name="name" type="text" maxlength="40" placeholder="请输入广告图名称" style="height: 30px" required="required">
+                                </div>
+                            </div>
+
+                            <div class="initialLevel col-sm-12 control-label form-group" >
+                                <div class="initialLevel col-sm-3 control-label form-group"  >
+                                    <span style="color:red">*</span>
+                                    <label class="control-label" >广告图图片:</label>
+                                    <#uploadImg id="url" />
+                                </div>
+                            </div>
+
+                            <div class="initialLevel col-sm-12 control-label form-group"  >
+                                <div class="initialLevel col-sm-3 control-label form-group"  >
+                                    <span style="color:red">*</span>
+                                    <label class="control-label" >端&emsp;&emsp;口:&emsp;</label>
+                                    <select  id="device" style="width: 180px;height: 30px" name="device">
+                                        <option value="">选择端口</option>
+                                        <option value="2">司机端</option>
+                                        <option value="1">小程序端</option>
+                                    </select>
+                                </div>
+                            </div>
+
+                            <div class="initialLevel col-sm-12 control-label form-group"  >
+                                <div class="initialLevel col-sm-3 control-label form-group"  >
+                                    <span style="color:red">*</span>
+                                    <label class="control-label" >广告类型:&emsp;</label>
+                                    <select  id="type" style="width: 180px;height: 30px" name="type">
+                                        <option value="">选择广告类型</option>
+                                        <option value="1">弹窗广告</option>
+                                        <option value="2" id="homePageBanner">首页底部广告</option>
+                                    </select>
+                                </div>
+                            </div>
+
+                            <div class="initialLevel col-sm-12 control-label form-group"  >
+                                <div class="initialLevel col-sm-3 control-label form-group"  >
+                                    <span style="color:red">*</span>
+                                    <label class="control-label" >是否跳转:&emsp;</label>
+                                    <select  id="isJump" style="width: 180px;height: 30px" name="isJump">
+                                        <option value="">选择是否跳转</option>
+                                        <option value="1">是</option>
+                                        <option value="0">否</option>
+                                    </select>
+                                </div>
+                            </div>
+
+                            <div class="initialLevel col-sm-12 control-label form-group" id="jumpTypeIsShow" >
+                                <div class="initialLevel col-sm-3 control-label form-group"  >
+                                    <span style="color:red">*</span>
+                                    <label class="control-label" >跳转类型:&emsp;</label>
+                                    <select  id="jumpType" style="width: 180px;height: 30px" name="jumpType">
+                                        <option value="">选择跳转类型</option>
+                                        <option value="1">内部跳转</option>
+                                        <option value="2">外部跳转</option>
+                                    </select>
+                                </div>
+                            </div>
+
+                            <div class="initialLevel col-sm-12 control-label form-group" id="jumpUrlIsShow" >
+                                <div class="initialLevel col-sm-3 control-label form-group"  >
+                                    <span style="color:red">*</span>
+                                    <label class="control-label" >跳转链接:&emsp;</label>
+                                    <input id="jumpUrl" name="jumpUrl" type="number" style="height: 30px" maxlength="200"  placeholder="请输入跳转链接" required="required">
+                                </div>
+                            </div>
+
+                            <div class="initialLevel col-sm-12 control-label form-group"  >
+                                <div class="initialLevel col-sm-3 control-label form-group"  >
+                                    <span style="color:red">*</span>
+                                    <label class="control-label" >排&emsp;&emsp;序:&emsp;</label>
+                                    <input id="sort" name="sort" type="number" style="height: 30px" maxlength="4"  placeholder="请输入排序" required="required">
+                                </div>
+                            </div>
+                            <div class="initialLevel col-sm-12 control-label form-group"  >
+                                <div class="initialLevel col-sm-6 control-label form-group"  >
+                                    <span style="color:red">*</span>
+                                    <label class="control-label" >详情内容:&emsp;</label>
+                                    <textarea type="text/plain" id="html" style="width:100%;height:350px;"></textarea>
+                                </div>
+                            </div>
+
+                        </div>
+
+                    </div>
+                </div>
+
+                <div class="row btn-group-m-t">
+                    <div class="col-sm-10" style="text-align: center">
+                        <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TCommercialInfoDlg.close()"/>
+                        <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TCommercialInfoDlg.addSubmit()"/>
+                    </div>
                 </div>
             </div>
         </div>
-
     </div>
 </div>
 <script src="${ctxPath}/static/modular/system/tCommercial/tCommercial_info.js"></script>
+<script type="text/javascript">
+    $(function () {
+        var idCardPositive = new $WebUpload("url");
+        idCardPositive.setUploadBarId("progressBar");
+        idCardPositive.init();
+    });
+    //监听下拉菜单的变动操作
+    $("#isJump").change(function(){
+        if(this.value == 1){
+            $("#jumpTypeIsShow").show()
+            $("#jumpUrlIsShow").show()
+        }
+        if(this.value == 0){
+            $("#jumpTypeIsShow").hide()
+            $("#jumpUrlIsShow").hide()
+        }
+    })
+    //监听下拉菜单的变动操作
+    $("#device").change(function(){
+        if(this.value == 1){
+            $("#homePageBanner").show()
+        }
+        if(this.value == 2){
+            $("#homePageBanner").hide()
+        }
+    })
+</script>
 @}
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tCommercial/tCommercial_edit.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tCommercial/tCommercial_edit.html
index 3382f17..bd552cb 100644
--- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tCommercial/tCommercial_edit.html
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tCommercial/tCommercial_edit.html
@@ -1,40 +1,156 @@
 @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=底部广告)" value="${item.type}" underline="true"/>
-                            <#input id="name" name="名称" value="${item.name}" underline="true"/>
-                            <#input id="url" name="广告地址" value="${item.url}" underline="true"/>
-                            <#input id="device" name="设备(1=小程序,2=司机端)" value="${item.device}" underline="true"/>
-                            <#input id="isJump" name="是否跳转(0=否,1=是)" value="${item.isJump}" underline="true"/>
-                            <#input id="jumpType" name="跳转类型(1=内部跳转,2=外部跳转)" value="${item.jumpType}" underline="true"/>
-                            <#input id="jumpUrl" name="跳转连接" value="${item.jumpUrl}" />
-                </div>
-
-                <div class="col-sm-6">
-                            <#input id="html" name="富文本" value="${item.html}" underline="true"/>
-                            <#input id="sort" name="排序" value="${item.sort}" underline="true"/>
-                            <#input id="status" name="状态(1=正常,2=冻结,3=删除)" value="${item.status}" underline="true"/>
-                            <#input id="createTime" name="添加时间" value="${item.createTime}" underline="true"/>
-                            <#input id="createUserId" name="添加人员id" value="${item.createUserId}" underline="true"/>
-                            <#input id="updateTime" name="更新时间" value="${item.updateTime}" underline="true"/>
-                            <#input id="updateUserId" name="更新人员id" value="${item.updateUserId}" />
-                </div>
+<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" id="commercialInfoForm">
+                <div class="row row-lg">
+                    <div class="col-sm-12">
 
-            <div class="row btn-group-m-t">
-                <div class="col-sm-10">
-                    <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TCommercialInfoDlg.editSubmit()"/>
-                    <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TCommercialInfoDlg.close()"/>
+                        <input hidden id="id" value="${item.id}">
+                        <div class="col-sm-12" style="cursor: pointer;text-align: left;">
+
+                            <div class="initialLevel col-sm-12 control-label form-group"  >
+                                <div class="initialLevel col-sm-3 control-label form-group"  >
+                                    <span style="color:red">*</span>
+                                    <label class="control-label" >广告图名称:</label>
+                                    <input id="name" value="${item.name}" type="text" maxlength="40" placeholder="请输入广告图名称" style="height: 30px" required="required">
+                                </div>
+                            </div>
+
+                            <div class="initialLevel col-sm-12 control-label form-group" >
+                                <div class="initialLevel col-sm-3 control-label form-group"  >
+                                    <span style="color:red">*</span>
+                                    <label class="control-label" >广告图图片:</label>
+                                    <#uploadImg id="url" fileImg="${item.url}"/>
+                                </div>
+                            </div>
+
+                            <div class="initialLevel col-sm-12 control-label form-group"  >
+                                <div class="initialLevel col-sm-3 control-label form-group"  >
+                                    <span style="color:red">*</span>
+                                    <label class="control-label" >端&emsp;&emsp;口:&emsp;</label>
+                                    <select  id="device" style="width: 180px;height: 30px" name="device">
+                                        <option value="2"${item.device == 2 ? 'selected=selected' : ''}>司机端</option>
+                                        <option value="1"${item.device == 1 ? 'selected=selected' : ''}>小程序端</option>
+                                    </select>
+                                </div>
+                            </div>
+
+                            <div class="initialLevel col-sm-12 control-label form-group"  >
+                                <div class="initialLevel col-sm-3 control-label form-group"  >
+                                    <span style="color:red">*</span>
+                                    <label class="control-label" >广告类型:&emsp;</label>
+                                    <select  id="type" style="width: 180px;height: 30px" name="type">
+                                        <option value="1"${item.type == 1 ? 'selected=selected' : ''}>弹窗广告</option>
+                                        <option id="homePageBanner" value="2"${item.type == 2 ? 'selected=selected' : ''}>首页底部广告</option>
+                                    </select>
+                                </div>
+                            </div>
+
+                            <div class="initialLevel col-sm-12 control-label form-group"  >
+                                <div class="initialLevel col-sm-3 control-label form-group"  >
+                                    <span style="color:red">*</span>
+                                    <label class="control-label" >是否跳转:&emsp;</label>
+                                    <select  id="isJump" style="width: 180px;height: 30px" name="isJump">
+                                        <option value="1"${item.isJump == 1 ? 'selected=selected' : ''}>是</option>
+                                        <option value="0"${item.isJump == 0 ? 'selected=selected' : ''}>否</option>
+                                    </select>
+                                </div>
+                            </div>
+
+                            <div class="initialLevel col-sm-12 control-label form-group" id="jumpTypeIsShow" >
+                                <div class="initialLevel col-sm-3 control-label form-group"  >
+                                    <span style="color:red">*</span>
+                                    <label class="control-label" >跳转类型:&emsp;</label>
+                                    <select  id="jumpType" style="width: 180px;height: 30px" name="jumpType">
+                                        <option value="1"${item.jumpType == 1 ? 'selected=selected' : ''}>内部跳转</option>
+                                        <option value="2"${item.jumpType == 2 ? 'selected=selected' : ''}>外部跳转</option>
+                                    </select>
+                                </div>
+                            </div>
+
+                            <div class="initialLevel col-sm-12 control-label form-group" id="jumpUrlIsShow" >
+                                <div class="initialLevel col-sm-3 control-label form-group"  >
+                                    <span style="color:red">*</span>
+                                    <label class="control-label" >跳转链接:&emsp;</label>
+                                    <input id="jumpUrl" value="${item.jumpUrl}" type="text" style="height: 30px" maxlength="200"  placeholder="请输入跳转链接" required="required">
+                                </div>
+                            </div>
+
+                            <div class="initialLevel col-sm-12 control-label form-group"  >
+                                <div class="initialLevel col-sm-3 control-label form-group"  >
+                                    <span style="color:red">*</span>
+                                    <label class="control-label" >排&emsp;&emsp;序:&emsp;</label>
+                                    <input id="sort" value="${item.sort}" type="number" style="height: 30px" maxlength="4"  placeholder="请输入排序" required="required">
+                                </div>
+                            </div>
+                            <div class="initialLevel col-sm-12 control-label form-group"  >
+                                <div class="initialLevel col-sm-6 control-label form-group"  >
+                                    <span style="color:red">*</span>
+                                    <label class="control-label" >详情内容:&emsp;</label>
+                                    <textarea type="text/plain" id="html" style="width:100%;height:350px;">${item.html}</textarea>
+                                </div>
+                            </div>
+
+                        </div>
+
+                    </div>
+                </div>
+
+                <div class="row btn-group-m-t">
+                    <div class="col-sm-10" style="text-align: center">
+                        <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TCommercialInfoDlg.close()"/>
+                        <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TCommercialInfoDlg.editSubmit()"/>
+                    </div>
                 </div>
             </div>
         </div>
-
     </div>
 </div>
 <script src="${ctxPath}/static/modular/system/tCommercial/tCommercial_info.js"></script>
+<script type="text/javascript">
+    $(function () {
+        var idCardPositive = new $WebUpload("url");
+        idCardPositive.setUploadBarId("progressBar");
+        idCardPositive.init();
+
+        if(1 == $("#isJump").val()){
+            $("#jumpTypeIsShow").show()
+            $("#jumpUrlIsShow").show()
+        }else {
+            $("#jumpTypeIsShow").hide()
+            $("#jumpUrlIsShow").hide()
+        }
+
+        if(1 == $("#device").val()){
+            $("#homePageBanner").show()
+        }else {
+            $("#homePageBanner").hide()
+        }
+
+    });
+    //监听下拉菜单的变动操作
+    $("#isJump").change(function(){
+        if(this.value == 1){
+            $("#jumpTypeIsShow").show()
+            $("#jumpUrlIsShow").show()
+        }
+        if(this.value == 0){
+            $("#jumpTypeIsShow").hide()
+            $("#jumpUrlIsShow").hide()
+        }
+    })
+    //监听下拉菜单的变动操作
+    $("#device").change(function(){
+        if(this.value == 1){
+            $("#homePageBanner").show()
+        }
+        if(this.value == 2){
+            $("#homePageBanner").hide()
+        }
+    })
+</script>
 @}
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 2ed53d8..06db201 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
@@ -33,7 +33,9 @@
                                 <#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/immediatelyAudit")){
+                                <#button name="立即处理" icon="fa-edit" clickFun="TComplaint.immediatelyAudit()"/>
+                                @}
                                 @if(shiro.hasPermission("/tComplaint/delete")){
                                 <#button name="删除" icon="fa-remove" clickFun="TComplaint.delete()" space="true"/>
                                 @}
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver.html
index 3e78867..e63bedd 100644
--- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver.html
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver.html
@@ -27,18 +27,18 @@
                                 <#button name="重置" icon="fa-trash" clickFun="TDriver.resetSearch()" space="true"/>
                             </div>
                             <div class="col-sm-12">
-                                <button type="button" class="btn btn-primary " onclick="TDriver.auditPage()" id="audit">
-                                    <i class="fa "></i>&nbsp;立即审核
-                                </button>
-                                <button type="button" class="btn btn-primary " onclick="TDriver.export()" id="export">
-                                    <i class="fa "></i>&nbsp;导出
-                                </button>
-                                <button type="button" class="btn btn-primary " onclick="TDriverException.tDriverException()" id="driverException">
-                                    <i class="fa "></i>&nbsp;异常
-                                </button>
-                                <button type="button" class="btn btn-primary " onclick="TDriver.rechargeBalancePage()" id="recharge">
-                                    <i class="fa "></i>&nbsp;充值
-                                </button>
+                                @if(shiro.hasPermission("/tDriver/auditPage")){
+                                <#button name="立即审核" icon="fa-edit" clickFun="TDriver.auditPage()"/>
+                                @}
+                                @if(shiro.hasPermission("/tDriver/export")){
+                                <#button name="导出" icon="" clickFun="TDriver.export()"/>
+                                @}
+                                @if(shiro.hasPermission("/tDriver/tDriver_exception")){
+                                <#button name="异常" icon="" clickFun="TDriverException.tDriverException()"/>
+                                @}
+                                @if(shiro.hasPermission("/tDriver/rechargeBalancePage")){
+                                <#button name="充值" icon="fa-edit" clickFun="TDriver.rechargeBalancePage()"/>
+                                @}
                                 @if(shiro.hasPermission("/tAgent/add")){
                                 <#button name="添加" icon="fa-plus" clickFun="TDriver.openAddTDriver()"/>
                                 @}
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriverCommission.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriverCommission.html
index 5fb163e..57ed60d 100644
--- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriverCommission.html
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriverCommission.html
@@ -27,9 +27,9 @@
                                 <#button name="重置" icon="fa-trash" clickFun="TDriverCommission.resetSearch()" space="true"/>
                             </div>
                             <div class="col-sm-3">
-                                <button type="button" class="btn btn-primary " onclick="TDriverCommission.export()" id="export">
-                                    <i class="fa "></i>&nbsp;导出
-                                </button>
+                                @if(shiro.hasPermission("/tDriver/export-commission")){
+                                <#button name="导出" icon="" clickFun="TDriverCommission.export()"/>
+                                @}
                             </div>
                         </div>
                         <!--<div class="hidden-xs" id="TDriverTableToolbar" role="group">
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tEvaluate/tEvaluate.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tEvaluate/tEvaluate.html
index 47aaa96..5cc6243 100644
--- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tEvaluate/tEvaluate.html
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tEvaluate/tEvaluate.html
@@ -38,9 +38,9 @@
                                 <#button name="重置" icon="fa-trash" clickFun="TEvaluate.resetSearch()" space="true"/>
                             </div>
                             <div class="col-sm-12">
-                                <button type="button" class="btn btn-primary " onclick="TEvaluate.export()" id="export">
-                                    <i class="fa "></i>&nbsp;导出
-                                </button>
+                                @if(shiro.hasPermission("/tEvaluate/export")){
+                                <#button name="导出" icon="" clickFun="TEvaluate.export()"/>
+                                @}
                             </div>
                         </div>
                         <div class="hidden-xs" id="TEvaluateTableToolbar" role="group">
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tHtml/agreementExplain.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tHtml/agreementExplain.html
new file mode 100644
index 0000000..d6fb3ef
--- /dev/null
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tHtml/agreementExplain.html
@@ -0,0 +1,124 @@
+@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="tabs-container">
+                            <ul class="nav nav-tabs">
+                                <li class="active"><a data-toggle="tab" href="#tab-1" aria-expanded="true">代驾服务协议与隐私政策保护</a></li>
+                                <li class=""><a data-toggle="tab" href="#tab-2" aria-expanded="false">法律条款</a></li>
+                                <li class=""><a data-toggle="tab" href="#tab-3" aria-expanded="false">个人信息处理规则</a></li>
+                            </ul>
+                            <div class="tab-content">
+                                <div id="tab-1" class="tab-pane active">
+                                    <div class="panel-body">
+                                        <textarea id="editor_1" type="text/plain" style="width:1200px;height:400px;">${one.html}</textarea>
+                                        <div class="row btn-group-m-t">
+                                            <div class="col-sm-10 col-sm-offset-5">
+                                                <#button btnCss="info" name="保存" id="ensure" icon="fa-check" clickFun="update_1(${one.id});"/>
+                                            </div>
+                                        </div>
+                                    </div>
+                                </div>
+                                <div id="tab-2" class="tab-pane">
+                                    <div class="panel-body">
+                                        <textarea type="text/plain" id="editor_2" style="width:1200px;height:400px;">${two.html}</textarea>
+                                        <div class="row btn-group-m-t">
+                                            <div class="col-sm-10 col-sm-offset-5">
+                                                <#button btnCss="info" name="保存" id="ensure" icon="fa-check" clickFun="update_2(${two.id});"/>
+                                            </div>
+                                        </div>
+                                    </div>
+                                </div>
+                                <div id="tab-3" class="tab-pane">
+                                    <div class="panel-body">
+                                        <textarea type="text/plain" id="editor_3" style="width:1200px;height:400px;">${three.html}</textarea>
+                                        <div class="row btn-group-m-t">
+                                            <div class="col-sm-10 col-sm-offset-5">
+                                                <#button btnCss="info" name="保存" id="ensure" icon="fa-check" clickFun="update_3(${three.id});"/>
+                                            </div>
+                                        </div>
+                                    </div>
+                                </div>
+
+                            </div>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<script src="${ctxPath}/static/modular/system/tHtml/tHtml_info.js"></script>
+<script src="${ctxPath}/static/modular/system/tHtml/tHtml.js"></script>
+<style type="text/css">
+    .agentDriver{
+        height: 30px;
+        width: 200px;
+        background-color: white;
+        border-radius: 6px;
+    }
+    .clause{
+        height: 30px;
+        width: 80px;
+        background-color: white;
+        border-radius: 6px;
+    }
+    .personalRules{
+        height: 30px;
+        width: 180px;
+        background-color: white;
+        border-radius: 6px;
+    }
+</style>
+<script type="text/javascript">
+    var editor_1 = null;
+    var editor_2 = null;
+    var editor_3 = null;
+    $(function () {
+        //初始化编辑器
+        editor_1 = UE.getEditor('editor_1');
+        editor_2 = UE.getEditor('editor_2');
+        editor_3 = UE.getEditor('editor_3');
+    });
+
+    function update_1(id){
+        if (editor_1.getContentTxt() == ""){
+            Feng.error("内容不能为空!");
+            return;
+        }
+        submitData(editor_1.getContent(),id);
+    }
+    function update_2(id){
+        if (editor_2.getContentTxt() == ""){
+            Feng.error("内容不能为空!");
+            return;
+        }
+        submitData(editor_2.getContent(),id);
+    }
+    function update_3(id){
+        if (editor_3.getContentTxt() == ""){
+            Feng.error("内容不能为空!");
+            return;
+        }
+        submitData(editor_3.getContent(),id);
+    }
+
+    function submitData(content,id) {
+        //提交信息
+        var ajax = new $ax(Feng.ctxPath + "/tHtml/update", function(data){
+            Feng.success("编辑成功!");
+        },function(data){
+            Feng.error("编辑失败!" + data.responseJSON.message + "!");
+        });
+        ajax.set("html", content);
+        ajax.set("id", id);
+        ajax.start();
+    }
+</script>
+@}
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrder/tOrder.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrder/tOrder.html
index 9f0fd9b..81e2201 100644
--- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrder/tOrder.html
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrder/tOrder.html
@@ -54,15 +54,15 @@
                             <#button name="重置" icon="fa-trash" clickFun="TOrder.resetSearch()" space="true"/>
                         </div>
                         <div class="col-sm-12">
-                            <button type="button" class="btn btn-primary " onclick="TOrder.cancelOrder()" id="cancelOrder">
-                                <i class="fa "></i>&nbsp;取消订单
-                            </button>
-                            <button type="button" class="btn btn-primary " onclick="TOrder.tOrderException()" id="orderException">
-                                <i class="fa "></i>&nbsp;异常
-                            </button>
-                            <button type="button" class="btn btn-primary " onclick="TOrder.export()" id="export">
-                                <i class="fa "></i>&nbsp;导出
-                            </button>
+                            @if(shiro.hasPermission("/tOrder/cancelOrder")){
+                            <#button name="取消订单" icon="" clickFun="TOrder.cancelOrder()"/>
+                            @}
+                            @if(shiro.hasPermission("/tOrder/tOrder-exception")){
+                            <#button name="异常" icon="" clickFun="TOrder.tOrderException()"/>
+                            @}
+                            @if(shiro.hasPermission("/tOrder/export")){
+                            <#button name="导出" icon="" clickFun="TOrder.export()"/>
+                            @}
                         </div>
                         <div class="hidden-xs" id="TOrderTableToolbar" role="group">
                             @if(shiro.hasPermission("/tOrder/add")){
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tRechargeRecord/tRechargeRecordAgent.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tRechargeRecord/tRechargeRecordAgent.html
index 20a852f..ccf2591 100644
--- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tRechargeRecord/tRechargeRecordAgent.html
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tRechargeRecord/tRechargeRecordAgent.html
@@ -23,9 +23,9 @@
                                 <#button name="重置" icon="fa-trash" clickFun="TRechargeRecordAgent.resetSearch()" space="true"/>
                             </div>
                             <div class="col-sm-12">
-                                <button type="button" class="btn btn-primary " onclick="TRechargeRecordAgent.export()" id="export">
-                                    <i class="fa "></i>&nbsp;导出
-                                </button>
+                                @if(shiro.hasPermission("/tRechargeRecord/exportAgentRecharge")){
+                                <#button name="导出" icon="" clickFun="TRechargeRecordAgent.export()"/>
+                                @}
                             </div>
                         </div>
                         <!--<div class="hidden-xs" id="TRechargeRecordTableToolbar" role="group">
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tRechargeRecord/tRechargeRecordUser.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tRechargeRecord/tRechargeRecordUser.html
index b438d4d..b6fdb69 100644
--- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tRechargeRecord/tRechargeRecordUser.html
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tRechargeRecord/tRechargeRecordUser.html
@@ -26,9 +26,9 @@
                                 <#button name="重置" icon="fa-trash" clickFun="TRechargeRecordUser.resetSearch()" space="true"/>
                             </div>
                             <div class="col-sm-12">
-                                <button type="button" class="btn btn-primary " onclick="TRechargeRecordUser.export()" id="export">
-                                    <i class="fa "></i>&nbsp;导出
-                                </button>
+                                @if(shiro.hasPermission("/tRechargeRecord/exportUserRecharge")){
+                                <#button name="导出" icon="" clickFun="TRechargeRecordUser.export()"/>
+                                @}
                             </div>
                         </div>
                         <div class="hidden-xs" id="TRechargeRecordTableToolbar" role="group">
diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tRevenue/tRevenue.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tRevenue/tRevenue.html
index e13daed..8fca86a 100644
--- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tRevenue/tRevenue.html
+++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tRevenue/tRevenue.html
@@ -39,9 +39,9 @@
                                 <#button name="重置" icon="fa-trash" clickFun="TRevenue.resetSearch()" space="true"/>
                             </div>
                             <div class="col-sm-12">
-                                <button type="button" class="btn btn-primary " onclick="TRevenue.export()" id="export">
-                                    <i class="fa "></i>&nbsp;导出
-                                </button>
+                                @if(shiro.hasPermission("/tRevenue/export")){
+                                <#button name="导出" icon="" clickFun="TRevenue.export()"/>
+                                @}
                             </div>
                         </div>
                         <div class="hidden-xs" id="TRevenueTableToolbar" role="group">
diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tCommercial/tCommercial.js b/management/guns-admin/src/main/webapp/static/modular/system/tCommercial/tCommercial.js
index 8209a62..2c5dda3 100644
--- a/management/guns-admin/src/main/webapp/static/modular/system/tCommercial/tCommercial.js
+++ b/management/guns-admin/src/main/webapp/static/modular/system/tCommercial/tCommercial.js
@@ -14,21 +14,73 @@
 TCommercial.initColumn = function () {
     return [
         {field: 'selectItem', radio: true},
-            {title: '主键', field: 'id', visible: true, align: 'center', valign: 'middle'},
-            {title: '类型(1=弹窗广告,2=底部广告)', field: 'type', visible: true, align: 'center', valign: 'middle'},
-            {title: '名称', field: 'name', visible: true, align: 'center', valign: 'middle'},
-            {title: '广告地址', field: 'url', visible: true, align: 'center', valign: 'middle'},
-            {title: '设备(1=小程序,2=司机端)', field: 'device', visible: true, align: 'center', valign: 'middle'},
-            {title: '是否跳转(0=否,1=是)', field: 'isJump', visible: true, align: 'center', valign: 'middle'},
-            {title: '跳转类型(1=内部跳转,2=外部跳转)', field: 'jumpType', visible: true, align: 'center', valign: 'middle'},
-            {title: '跳转连接', field: 'jumpUrl', visible: true, align: 'center', valign: 'middle'},
-            {title: '富文本', field: 'html', visible: true, align: 'center', valign: 'middle'},
-            {title: '排序', field: 'sort', visible: true, align: 'center', valign: 'middle'},
-            {title: '状态(1=正常,2=冻结,3=删除)', field: 'status', visible: true, align: 'center', valign: 'middle'},
-            {title: '添加时间', field: 'createTime', visible: true, align: 'center', valign: 'middle'},
-            {title: '添加人员id', field: 'createUserId', visible: true, align: 'center', valign: 'middle'},
-            {title: '更新时间', field: 'updateTime', visible: true, align: 'center', valign: 'middle'},
-            {title: '更新人员id', field: 'updateUserId', visible: true, align: 'center', valign: 'middle'}
+            {title: '主键', field: 'id', visible: false, align: 'center', valign: 'middle'},
+        {title: '添加时间', field: 'createTime', visible: true, align: 'center', valign: 'middle'},
+        {title: '广告图名称', field: 'name', visible: true, align: 'center', valign: 'middle'},
+        {title: '广告类型', field: 'type', visible: true, align: 'center', valign: 'middle',
+            formatter: function (value, row) {
+                if (row.type === 1){
+                    return '<span>弹窗广告</span>'
+                }else if(row.type === 2){
+                    return '<span>底部广告</span>'
+                }
+            }
+        },
+        {title: '广告图图片', field: 'url', visible: true, align: 'center', valign: 'middle'},
+        {title: '端口(设备)', field: 'device', visible: true, align: 'center', valign: 'middle',
+                formatter: function (value, row) {
+                    if (row.device === 1){
+                        return '<span>小程序</span>'
+                    }else if(row.device === 2){
+                        return '<span>司机端</span>'
+                    }
+                }
+            },
+        {title: '是否跳转', field: 'isJump', visible: true, align: 'center', valign: 'middle',
+                formatter: function (value, row) {
+                    if (row.isJump === 0){
+                        return '<span>否</span>'
+                    }else if(row.isJump === 1){
+                        return '<span>是</span>'
+                    }
+                }
+            },
+        {title: '跳转类型', field: 'jumpType', visible: true, align: 'center', valign: 'middle',
+                formatter: function (value, row) {
+                    if (row.jumpType === 1){
+                        return '<span>内部跳转</span>'
+                    }else if(row.jumpType === 2){
+                        return '<span>外部跳转</span>'
+                    }
+                }
+            },
+        {title: '跳转内容', field: 'jumpUrl', visible: true, align: 'center', valign: 'middle'},
+        {title: '状态', field: 'onOffLine', visible: true, align: 'center', valign: 'middle',
+            formatter: function (value, row) {
+                if (row.onOffLine === 1){
+                    return '<span>已上线</span>'
+                }else if(row.onOffLine === 2){
+                    return '<span>已下线</span>'
+                }
+            }
+        },
+        {title: '富文本', field: 'html', visible: false, align: 'center', valign: 'middle'},
+        {title: '排序', field: 'sort', visible: false, align: 'center', valign: 'middle'},
+        {title: '状态(1=正常,2=冻结,3=删除)', field: 'status', visible: false, align: 'center', valign: 'middle'},
+            {title: '添加人员id', field: 'createUserId', visible: false, align: 'center', valign: 'middle'},
+            {title: '更新时间', field: 'updateTime', visible: false, align: 'center', valign: 'middle'},
+            {title: '更新人员id', field: 'updateUserId', visible: false, align: 'center', valign: 'middle'},
+        {title: '操作', visible: true, align: 'center', valign: 'middle',width:150,
+            formatter: function (value, row) {
+                if (row.onOffLine === 1){
+                    return '<a href="#" onclick="TCommercial.offLineState('+row.id+')" style="color:red">下线</a>' +'&nbsp;' +
+                        '<a href="#" onclick="TCommercial.delete('+row.id+','+row.onOffLine+')" style="color:red">删除</a>'
+                }else if(row.onOffLine === 2){
+                    return '<a href="#" onclick="TCommercial.onLineState('+row.id+')" style="color:blue">上线</a>' +'&nbsp;' +
+                        '<a href="#" onclick="TCommercial.delete('+row.id+','+row.onOffLine+')" style="color:red">删除</a>'
+                }
+            }
+        }
     ];
 };
 
@@ -53,7 +105,7 @@
     var index = layer.open({
         type: 2,
         title: '添加',
-        area: ['800px', '420px'], //宽高
+        area: ['100%', '100%'], //宽高
         fix: false, //不固定
         maxmin: true,
         content: Feng.ctxPath + '/tCommercial/tCommercial_add'
@@ -64,12 +116,12 @@
 /**
  * 打开查看详情
  */
-TCommercial.openTCommercialDetail = function () {
-    if (this.check()) {
+TCommercial.openTCommercialDetail = function (id) {
+    if(this.check()){
         var index = layer.open({
             type: 2,
             title: '详情',
-            area: ['800px', '420px'], //宽高
+            area: ['100%', '100%'], //宽高
             fix: false, //不固定
             maxmin: true,
             content: Feng.ctxPath + '/tCommercial/tCommercial_update/' + TCommercial.seItem.id
@@ -81,19 +133,61 @@
 /**
  * 删除
  */
-TCommercial.delete = function () {
-    if (this.check()) {
-        var ajax = new $ax(Feng.ctxPath + "/tCommercial/delete", function (data) {
-            Feng.success("删除成功!");
-            TCommercial.table.refresh();
-        }, function (data) {
-            Feng.error("删除失败!" + data.responseJSON.message + "!");
-        });
-        ajax.set("tCommercialId",this.seItem.id);
-        ajax.start();
+TCommercial.delete = function (id,onOffLine) {
+    if(1 == onOffLine){
+        Feng.error("已上线广告不可删除!");
+        return;
     }
+    var ajax = new $ax(Feng.ctxPath + "/tCommercial/delete", function (data) {
+        Feng.success("删除成功!");
+        TCommercial.table.refresh();
+    }, function (data) {
+        Feng.error("删除失败!" + data.responseJSON.message + "!");
+    });
+    ajax.set("tCommercialId",id);
+    ajax.start();
 };
 
+
+/**
+ * 上线
+ */
+TCommercial.onLineState = function (id) {
+    var ajax = new $ax(Feng.ctxPath + "/tCommercial/onLine", function (data) {
+        if(500 == data.code){
+            Feng.error(data.message)
+            return;
+        }else {
+            Feng.success("上线成功!");
+            TCommercial.table.refresh();
+        }
+    }, function (data) {
+        Feng.error("上线失败!" + data.responseJSON.message + "!");
+    });
+    ajax.set("tCommercialId",id);
+    ajax.start();
+};
+
+/**
+ * 下线
+ */
+TCommercial.offLineState = function (id) {
+    var ajax = new $ax(Feng.ctxPath + "/tCommercial/offLine", function (data) {
+        if(500 == data.code){
+            Feng.error(data.message)
+            return;
+        }else {
+            Feng.success("下线成功!");
+            TCommercial.table.refresh();
+        }
+    }, function (data) {
+        Feng.error("下线失败!" + data.responseJSON.message + "!");
+    });
+    ajax.set("tCommercialId",id);
+    ajax.start();
+};
+
+
 /**
  * 查询列表
  */
diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tCommercial/tCommercial_info.js b/management/guns-admin/src/main/webapp/static/modular/system/tCommercial/tCommercial_info.js
index 6b62b9a..90a2add 100644
--- a/management/guns-admin/src/main/webapp/static/modular/system/tCommercial/tCommercial_info.js
+++ b/management/guns-admin/src/main/webapp/static/modular/system/tCommercial/tCommercial_info.js
@@ -2,7 +2,74 @@
  * 初始化详情对话框
  */
 var TCommercialInfoDlg = {
-    tCommercialInfoData : {}
+    tCommercialInfoData : {},
+    validateFields: {
+        name: {
+            validators: {
+                notEmpty: {
+                    message: '广告图名称不能为空'
+                }
+            }
+        },
+        device: {
+            validators: {
+                notEmpty: {
+                    message: '请选择端口'
+                }
+            }
+        },
+        type: {
+            validators: {
+                notEmpty: {
+                    message: '请选择广告类型'
+                }
+            }
+        },
+        isJump: {
+            validators: {
+                notEmpty: {
+                    message: '请选择是否跳转'
+                }
+            }
+        },
+        jumpType: {
+            validators: {
+                notEmpty: {
+                    message: '请选择跳转类型'
+                }
+            }
+        },
+        jumpUrl: {
+            validators: {
+                notEmpty: {
+                    message: '跳转链接不能为空'
+                }
+            }
+        },
+        sort: {
+            validators: {
+                notEmpty: {
+                    message: '排序不能为空'
+                }
+            }
+        },
+        html: {
+            validators: {
+                notEmpty: {
+                    message: '详情内容不能为空'
+                }
+            }
+        },
+    }
+};
+
+/**
+ * 验证数据是否为空
+ */
+TCommercialInfoDlg.validate = function () {
+    $('#commercialInfoForm').data("bootstrapValidator").resetForm();
+    $('#commercialInfoForm').bootstrapValidator('validate');
+    return $("#commercialInfoForm").data('bootstrapValidator').isValid();
 };
 
 /**
@@ -44,6 +111,9 @@
  * 收集数据
  */
 TCommercialInfoDlg.collectData = function() {
+    if(UE.getEditor('html').hasContents()){
+        $('#html').val(UE.getEditor('html').getContent());
+    }
     this
     .set('id')
     .set('type')
@@ -56,6 +126,7 @@
     .set('html')
     .set('sort')
     .set('status')
+    .set('onOffLine')
     .set('createTime')
     .set('createUserId')
     .set('updateTime')
@@ -69,6 +140,16 @@
 
     this.clearData();
     this.collectData();
+
+    if(!this.validate()){
+        return ;
+    }
+
+    var url = $("#url").val();
+    if ("" == url){
+        Feng.info("请上传广告图图片");
+        return;
+    }
 
     //提交信息
     var ajax = new $ax(Feng.ctxPath + "/tCommercial/add", function(data){
@@ -90,6 +171,10 @@
     this.clearData();
     this.collectData();
 
+    if(!this.validate()){
+        return ;
+    }
+
     //提交信息
     var ajax = new $ax(Feng.ctxPath + "/tCommercial/update", function(data){
         Feng.success("修改成功!");
@@ -103,5 +188,6 @@
 }
 
 $(function() {
-
+    TCommercialInfoDlg.editor = UE.getEditor('html');
+    Feng.initValidator("commercialInfoForm", TCommercialInfoDlg.validateFields);
 });
diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tHtml/tHtml.js b/management/guns-admin/src/main/webapp/static/modular/system/tHtml/tHtml.js
index 70a45df..ed9e982 100644
--- a/management/guns-admin/src/main/webapp/static/modular/system/tHtml/tHtml.js
+++ b/management/guns-admin/src/main/webapp/static/modular/system/tHtml/tHtml.js
@@ -84,6 +84,22 @@
 };
 
 /**
+ * 查询html
+ */
+THtml.queryHtml = function (type) {
+    var ajax = new $ax(Feng.ctxPath + "/tHtml/agreement", function (data) {
+        console.log(data)
+        var html = document.getElementById("html");
+        html.innerHTML = data.html
+        THtml.table.refresh();
+    }, function (data) {
+        Feng.error("失败!" + data.responseJSON.message + "!");
+    });
+    ajax.set("type",type);
+    ajax.start();
+};
+
+/**
  * 查询列表
  */
 THtml.search = function () {

--
Gitblit v1.7.1