From 3a5e49666af1da441633b0a9bae4c3c2b18974b3 Mon Sep 17 00:00:00 2001
From: sgj <1442489573@qq.com>
Date: 星期二, 14 四月 2026 16:05:41 +0800
Subject: [PATCH] 质押合同添加业务经理绑定,H5相关逻辑完善

---
 fzzy-igdss-web/src/main/resources/templates/wx/warn-list.html                  |   13 +
 fzzy-igdss-core/src/main/java/com/fzzy/igds/service/CoreDeptService.java       |   46 ++--
 fzzy-igdss-view/src/main/java/com/fzzy/igds/PledgeContractPR.java              |   16 +
 fzzy-igdss-view/src/main/java/models/core.model.xml                            |   12 +
 fzzy-igdss-web/src/main/java/com/fzzy/appwx/manager/WeChatManager.java         |  112 +++++++---
 fzzy-igdss-view/src/main/java/com/fzzy/igds/PledgeContract.view.xml            |   37 +++
 fzzy-igdss-web/src/main/resources/templates/wx/bind.html                       |  105 +++------
 fzzy-igdss-core/src/main/java/com/fzzy/igds/service/SysUserService.java        |   11 +
 fzzy-igdss-web/src/main/java/com/fzzy/appwx/controller/WeChatController.java   |   70 ++++--
 fzzy-igdss-web/src/main/resources/templates/wx/warn-detail.html                |   12 +
 fzzy-igdss-core/src/main/java/com/fzzy/igds/service/PledgeContractService.java |   13 +
 fzzy-igdss-core/src/main/java/com/fzzy/igds/service/SnapReplyService.java      |   30 ++
 fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/PledgeContract.java         |    4 
 fzzy-igdss-web/src/main/resources/templates/wx/home.html                       |    7 
 fzzy-igdss-web/src/main/resources/templates/wx/unbind.html                     |  109 +++-------
 15 files changed, 372 insertions(+), 225 deletions(-)

diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/PledgeContract.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/PledgeContract.java
index 39b63d1..c5cbfb5 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/PledgeContract.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/PledgeContract.java
@@ -57,6 +57,10 @@
     @TableField("pledge_bank")
     private String pledgeBank;
 
+    @Column(name = "pledge_bank_user", columnDefinition = "varchar(40) COMMENT '璐ㄦ娂閾惰涓氬姟鍛�'")
+    @TableField("pledge_bank_user")
+    private String pledgeBankUser;
+
     //璐ㄦ娂鍏徃
     @Column(name = "pledge_company", columnDefinition = "varchar(40) COMMENT '璐ㄦ娂鍏徃'")
     @TableField("pledge_company")
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/CoreDeptService.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/CoreDeptService.java
index 388987c..d693658 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/CoreDeptService.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/CoreDeptService.java
@@ -10,6 +10,7 @@
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.utils.StringUtils;
 import org.springframework.stereotype.Service;
+
 import javax.annotation.Resource;
 import java.util.Date;
 import java.util.List;
@@ -42,26 +43,31 @@
         //鑾峰彇褰撳墠鐧诲綍浜�
         SysUser user = ContextUtil.getLoginUser();
 
-        if (Constant.USER_TYPE_10.equals(user.getUserType())) {
-            //鐩戠鐢ㄦ埛锛岀洿鎺ユ煡璇㈢粍缁囦笅鎵�鏈夊簱鍖�
-            return this.listDept(null,user.getCompanyId(),null);
-        }
-        if (Constant.USER_TYPE_20.equals(user.getUserType())) {
-            //閾惰鐢ㄦ埛锛屾牴鎹悎鍚屾煡璇㈤摱琛屼笅鎵�鏈夊簱鍖�
-            return this.getDeptByBank(user.getUserData());
-        }
-        if (Constant.USER_TYPE_30.equals(user.getUserType())) {
-            //搴撳尯鐢ㄦ埛
-            String deptId = user.getDeptId() + "";
-            if(ContextUtil.isDepotUser(deptId)){
-                //鏌ヨ鐢ㄦ埛鎵�灞炲簱鍖�
-                return this.listDept(deptId,null,null);
-            }else {
-                //鏌ヨ鐢ㄦ埛鎵�灞炲叕鍙镐笅鎵�鏈夊簱鍖�
-                return this.listDept(null,null, deptId);
-            }
-        }
-        return this.listDept(null,user.getCompanyId(),null);
+       if(null != user){
+           if (Constant.USER_TYPE_10.equals(user.getUserType())) {
+               //鐩戠鐢ㄦ埛锛岀洿鎺ユ煡璇㈢粍缁囦笅鎵�鏈夊簱鍖�
+               return this.listDept(null,user.getCompanyId(),null);
+           }
+           if (Constant.USER_TYPE_20.equals(user.getUserType())) {
+               //閾惰鐢ㄦ埛锛屾牴鎹悎鍚屾煡璇㈤摱琛屼笅鎵�鏈夊簱鍖�
+               return this.getDeptByBank(user.getUserData());
+           }
+           if (Constant.USER_TYPE_30.equals(user.getUserType())) {
+               //搴撳尯鐢ㄦ埛
+               String deptId = user.getDeptId() + "";
+               if(ContextUtil.isDepotUser(deptId)){
+                   //鏌ヨ鐢ㄦ埛鎵�灞炲簱鍖�
+                   return this.listDept(deptId,null,null);
+               }else {
+                   //鏌ヨ鐢ㄦ埛鎵�灞炲叕鍙镐笅鎵�鏈夊簱鍖�
+                   return this.listDept(null,null, deptId);
+               }
+           }
+           return this.listDept(null,user.getCompanyId(),null);
+
+       }
+        return this.listDept(null,ContextUtil.getCompanyId(),null);
+
     }
 
 
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/PledgeContractService.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/PledgeContractService.java
index 350b2a6..9b84d36 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/PledgeContractService.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/PledgeContractService.java
@@ -12,6 +12,7 @@
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
@@ -51,6 +52,18 @@
         return pledgeContractMapper.selectList(queryWrapper);
     }
 
+
+    public List<PledgeContract> getDateByUser(String userId) {
+        if(StringUtils.isBlank(userId)){
+            return new ArrayList<PledgeContract>();
+        }
+        QueryWrapper<PledgeContract> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("company_id", ContextUtil.getCompanyId());
+        queryWrapper.eq("pledge_bank_user", userId);
+        return pledgeContractMapper.selectList(queryWrapper);
+
+    }
+
     /**
      * 鏍规嵁鏉′欢鏌ヨ
      * @param id
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/SnapReplyService.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/SnapReplyService.java
index 5c92215..bea91cd 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/SnapReplyService.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/SnapReplyService.java
@@ -32,8 +32,9 @@
      */
     public void listPage(Page<SnapReply> page, IgdsBaseParam param) {
         QueryWrapper<SnapReply> queryWrapper = new QueryWrapper<>();
-
-        param.setCompanyId(ContextUtil.getCompanyId());
+        if (StringUtils.isBlank(param.getCompanyId())) {
+            param.setCompanyId(ContextUtil.getCompanyId());
+        }
         queryWrapper.eq("company_id", param.getCompanyId());
 
         //搴撳尯妫�绱�
@@ -51,6 +52,31 @@
         snapReplyMapper.selectPage(page, queryWrapper);
     }
 
+    public void listPageByListDept(Page<SnapReply> page, IgdsBaseParam param, List<String> listDept) {
+        if( listDept == null || listDept.isEmpty()){
+            return;
+        }
+
+        QueryWrapper<SnapReply> queryWrapper = new QueryWrapper<>();
+        if (StringUtils.isBlank(param.getCompanyId())) {
+            param.setCompanyId(ContextUtil.getCompanyId());
+        }
+        queryWrapper.eq("company_id", param.getCompanyId());
+
+        //搴撳尯妫�绱�
+        if (!listDept.isEmpty()) {
+            queryWrapper.in("dept_id", listDept);
+        }
+        //鏄惁澶勭悊妫�绱�
+        if (StringUtils.isNotBlank(param.getKey())) {
+            queryWrapper.eq("is_handle", param.getKey());
+        }
+
+        queryWrapper.orderByDesc("create_time");
+        queryWrapper.orderByDesc("id");
+        snapReplyMapper.selectPage(page, queryWrapper);
+    }
+
     /**
      * 鏌ヨ鎵�鏈夋暟鎹�
      *
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/SysUserService.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/SysUserService.java
index 17ffd9d..67afd7f 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/SysUserService.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/SysUserService.java
@@ -75,4 +75,15 @@
 
         return userMapper.selectUserList(param);
     }
+
+
+    public  List<SysUser> getBindBankUserList(String bankId) {
+    	SysUser param = new SysUser();
+        param.setCompanyId(ContextUtil.getCompanyId());
+        param.setUserType(Constant.USER_TYPE_20);
+        if( StringUtils.isNotBlank(bankId)){
+            param.setUserData(bankId);
+        }
+    	return userMapper.selectUserList(param);
+    }
 }
diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/igds/PledgeContract.view.xml b/fzzy-igdss-view/src/main/java/com/fzzy/igds/PledgeContract.view.xml
index 964740d..a0257ac 100644
--- a/fzzy-igdss-view/src/main/java/com/fzzy/igds/PledgeContract.view.xml
+++ b/fzzy-igdss-view/src/main/java/com/fzzy/igds/PledgeContract.view.xml
@@ -38,6 +38,12 @@
       <Property name="dataType">[dtPledgeContractDepot]</Property>
       <Property name="loadMode">manual</Property>
     </DataSet>
+    <DataSet id="dsBankUser">
+      <Property name="dataProvider">pledgeContractPR#getBankUserList</Property>
+      <Property name="userData">涓氬姟缁忕悊涓嬫媺鍒楄〃</Property>
+      <Property name="loadMode">manual</Property>
+      <Property name="dataType">[dtSysUser]</Property>
+    </DataSet>
     <Container>
       <Property name="className">c-param</Property>
       <AutoForm>
@@ -305,6 +311,12 @@
               <Editor/>
             </AutoFormElement>
             <AutoFormElement>
+              <Property name="name">pledgeBankUser</Property>
+              <Property name="property">pledgeBankUser</Property>
+              <Property name="trigger">dsBankUserDropDown</Property>
+              <Editor/>
+            </AutoFormElement>
+            <AutoFormElement>
               <Property name="name">pledgeCompany</Property>
               <Property name="property">pledgeCompany</Property>
               <Editor/>
@@ -475,5 +487,30 @@
       </Children>
       <Tools/>
     </Dialog>
+    <DataSetDropDown id="dsBankUserDropDown">
+      <ClientEvent name="onOpen">&#xD;
+var entity = view.get(&quot;#dsMain.data:#&quot;);&#xD;
+if(!entity){&#xD;
+  $alert(&quot;璇峰厛閫夋嫨鎵�灞炲簱鍖�&quot;);&#xD;
+}else{&#xD;
+  var pledgeBank = entity.get(&quot;pledgeBank&quot;);&#xD;
+  if(!pledgeBank){&#xD;
+     $alert(&quot;璇峰厛閫夋嫨璐ㄦ娂閾惰&quot;);&#xD;
+  }else{&#xD;
+     view.get(&quot;#dsBankUser&quot;).set(&quot;parameter&quot;,entity.get(&quot;pledgeBank&quot;)).flushAsync();&#xD;
+  }
+}</ClientEvent>
+      <Property name="dataSet">dsBankUser</Property>
+      <Property name="height">450</Property>
+      <Property name="autoOpen">true</Property>
+      <Property name="assignmentMap">pledgeBankUser=userId</Property>
+      <Property name="width">400</Property>
+      <DataColumn>
+        <Property name="align">center</Property>
+        <Property name="name">userName</Property>
+        <Property name="property">userName</Property>
+        <Editor/>
+      </DataColumn>
+    </DataSetDropDown>
   </View>
 </ViewConfig>
diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/igds/PledgeContractPR.java b/fzzy-igdss-view/src/main/java/com/fzzy/igds/PledgeContractPR.java
index fd55294..d9be1fa 100644
--- a/fzzy-igdss-view/src/main/java/com/fzzy/igds/PledgeContractPR.java
+++ b/fzzy-igdss-view/src/main/java/com/fzzy/igds/PledgeContractPR.java
@@ -13,6 +13,7 @@
 import com.fzzy.igds.service.DepotService;
 import com.fzzy.igds.service.PledgeContractDepotService;
 import com.fzzy.igds.service.PledgeContractService;
+import com.fzzy.igds.service.SysUserService;
 import com.fzzy.igds.utils.ContextUtil;
 import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.core.domain.entity.SysDictData;
@@ -35,6 +36,8 @@
     @Resource
     private PledgeContractDepotService pledgeContractDepotService;
 
+    @Resource
+    private SysUserService sysUserService;
 
     @Resource
     private DepotService depotService;
@@ -186,4 +189,17 @@
         }
         return result;
     }
+
+    /** 鑾峰彇璐ㄦ娂閾惰涓氬姟缁忕悊鏁版嵁
+     * pledgeContractPR#getBankUserList
+     *
+     * @return
+     */
+    @DataProvider
+    public List<SysUser> getBankUserList(String parentId) {
+        if (com.ruoyi.common.utils.StringUtils.isNotEmpty(parentId)) {
+            return sysUserService.getBindBankUserList(parentId);
+        }
+        return sysUserService.getBindBankUserList(null);
+    }
 }
diff --git a/fzzy-igdss-view/src/main/java/models/core.model.xml b/fzzy-igdss-view/src/main/java/models/core.model.xml
index f1e741b..4e7abac 100644
--- a/fzzy-igdss-view/src/main/java/models/core.model.xml
+++ b/fzzy-igdss-view/src/main/java/models/core.model.xml
@@ -1100,6 +1100,14 @@
         <Property name="valueProperty">name</Property>
       </Property>
     </PropertyDef>
+    <PropertyDef name="pledgeBankUser">
+      <Property name="label">閾惰涓氬姟缁忕悊</Property>
+      <Property name="mapping">
+        <Property name="mapValues">${dorado.getDataProvider(&quot;pledgeContractPR#getBankUserList&quot;).getResult()}</Property>
+        <Property name="keyProperty">userId</Property>
+        <Property name="valueProperty">userName</Property>
+      </Property>
+    </PropertyDef>
     <PropertyDef name="pledgeCompany">
       <Property></Property>
       <Property name="label">璐ㄦ娂鍏徃</Property>
@@ -2091,9 +2099,13 @@
     </PropertyDef>
     <PropertyDef name="userName">
       <Property></Property>
+      <Property name="label">鐢ㄦ埛鍚嶇О</Property>
     </PropertyDef>
     <PropertyDef name="userType">
       <Property></Property>
     </PropertyDef>
+    <PropertyDef name="userData">
+      <Property name="label">鎵�灞為摱琛�</Property>
+    </PropertyDef>
   </DataType>
 </Model>
diff --git a/fzzy-igdss-web/src/main/java/com/fzzy/appwx/controller/WeChatController.java b/fzzy-igdss-web/src/main/java/com/fzzy/appwx/controller/WeChatController.java
index aaa0ede..aa3ea9f 100644
--- a/fzzy-igdss-web/src/main/java/com/fzzy/appwx/controller/WeChatController.java
+++ b/fzzy-igdss-web/src/main/java/com/fzzy/appwx/controller/WeChatController.java
@@ -5,8 +5,10 @@
 import com.fzzy.appwx.constant.WeChatConst;
 import com.fzzy.appwx.manager.WeChatManager;
 import com.fzzy.appwx.param.WeChatBaseParam;
+import com.fzzy.group.manager.GroupManager;
 import com.fzzy.igds.data.ConfigData;
 import com.fzzy.igds.data.PageResponse;
+import com.fzzy.igds.domain.Dept;
 import com.fzzy.igds.domain.SnapReply;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import lombok.extern.slf4j.Slf4j;
@@ -16,7 +18,8 @@
 import org.springframework.web.servlet.ModelAndView;
 
 import javax.annotation.Resource;
-import java.net.URLEncoder;
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
 
 @Slf4j
 @Controller
@@ -27,6 +30,8 @@
     private ConfigData configData;
     @Resource
     private WeChatManager weChatManager;
+    @Resource
+    private GroupManager groupManager;
 
 
     /**
@@ -46,13 +51,13 @@
             tag = "home";
         }
 
-        String newUrl = WeChatConst.USER_AUTH_UPR
-                .replace("APPID", configData.getWxAppId())
-                .replace("REDIRECT_URI", URLEncoder.encode(url, "UTF-8"))
-                .replace("STATE", tag);
-
-        return "redirect:" + newUrl;
-//        return "redirect:" + url + "?state=" + tag;
+//        String newUrl = WeChatConst.USER_AUTH_UPR
+//                .replace("APPID", configData.getWxAppId())
+//                .replace("REDIRECT_URI", URLEncoder.encode(url, "UTF-8"))
+//                .replace("STATE", tag);
+//
+//        return "redirect:" + newUrl;
+        return "redirect:" + url + "?state=" + tag;
     }
 
 
@@ -100,21 +105,31 @@
             mv.addObject("userName", userName);
         }
         mv.setViewName("/wx/" + state);
+        //楠岃瘉鐮佺被鍨�
+        if("bind".equals( state) || "unbind".equals( state)){
+            mv.addObject("captchaType", "math");
+        }
 
-////        //娴嬭瘯浠g爜寮�鍚�
-//        String openid = "testOpenId";
-//        mv.addObject("openid", openid);
-//        SysUser user = weChatManager.getUser(openid);
-//        if (StringUtils.isEmpty(userName)) {
-//            if (user != null) {
-//                userName = user.getUserName();
-//            }
-//        }
-//
-//        if (StringUtils.isNotEmpty(userName)) {
-//            mv.addObject("userName", userName);
-//        }
-////        //娴嬭瘯浠g爜缁撴潫
+
+        //鏌ヨ搴撳尯淇℃伅
+        List<Dept> deptList = groupManager.getDeptList();
+        mv.addObject("deptList", deptList);
+
+
+//        //娴嬭瘯浠g爜寮�鍚�
+        String openid = "testOpenId";
+        mv.addObject("openid", openid);
+        SysUser user = weChatManager.getUser(openid);
+        if (StringUtils.isEmpty(userName)) {
+            if (user != null) {
+                userName = user.getUserName();
+            }
+        }
+
+        if (StringUtils.isNotEmpty(userName)) {
+            mv.addObject("userName", userName);
+        }
+//        //娴嬭瘯浠g爜缁撴潫
 
         return mv;
     }
@@ -143,8 +158,8 @@
      */
     @PostMapping(value = "/bandOpenId")
     @ResponseBody
-    public PageResponse<String> bandOpenId(  @RequestBody WeChatBaseParam param) {
-        return weChatManager.bandOpenId(param);
+    public PageResponse<String> bandOpenId(HttpServletRequest httpRequest,  @RequestBody WeChatBaseParam param) {
+        return weChatManager.bandOpenId(httpRequest,param);
     }
 
     /**
@@ -156,11 +171,14 @@
      */
     @PostMapping(value = "/unBandOpenId")
     @ResponseBody
-    public PageResponse<String> unBandOpenId(  @RequestBody WeChatBaseParam param) {
-        return weChatManager.unBandOpenId(param);
+    public PageResponse<String> unBandOpenId( HttpServletRequest httpRequest, @RequestBody WeChatBaseParam param) {
+        //鍦ㄨ繖閲岃皟鐢ㄩ獙璇佺爜鏍¢獙
+
+        return weChatManager.unBandOpenId(httpRequest,param);
     }
 
 
+
     /**
      * 鑾峰彇鍑哄叆搴撳憡璀︽壒澶嶅垎椤垫暟鎹�
      *
diff --git a/fzzy-igdss-web/src/main/java/com/fzzy/appwx/manager/WeChatManager.java b/fzzy-igdss-web/src/main/java/com/fzzy/appwx/manager/WeChatManager.java
index 4eb73be..27322c9 100644
--- a/fzzy-igdss-web/src/main/java/com/fzzy/appwx/manager/WeChatManager.java
+++ b/fzzy-igdss-web/src/main/java/com/fzzy/appwx/manager/WeChatManager.java
@@ -7,26 +7,42 @@
 import com.fzzy.igds.constant.RespCodeEnum;
 import com.fzzy.igds.data.IgdsBaseParam;
 import com.fzzy.igds.data.PageResponse;
+import com.fzzy.igds.domain.PledgeContract;
+import com.fzzy.igds.domain.PledgeContractDepot;
 import com.fzzy.igds.domain.SnapReply;
+import com.fzzy.igds.service.PledgeContractDepotService;
+import com.fzzy.igds.service.PledgeContractService;
 import com.fzzy.igds.service.SnapReplyService;
+import com.google.code.kaptcha.Constants;
 import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.utils.ShiroUtils;
 import com.ruoyi.system.service.ISysUserService;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import java.util.ArrayList;
 import java.util.Date;
+import java.util.List;
+import java.util.stream.Collectors;
 
 @Component
 public class WeChatManager {
 
-    @Autowired
+    @Resource
     private WeChatUtil weChatUtil;
     @Autowired
     private ISysUserService sysUserService;
     @Resource
     private SnapReplyService snapReplyService;
+
+    @Resource
+    private PledgeContractService pledgeContractService;
+
+    @Resource
+    private PledgeContractDepotService pledgeContractDepotService;
 
 
     public String getOpenid(String code) {
@@ -69,8 +85,25 @@
         return new PageResponse(RespCodeEnum.CODE_0000.getCode(), "鏌ヨ鎴愬姛", user);
     }
 
+    //鏍¢獙楠岃瘉鐮�
+    public boolean validateResponse(HttpServletRequest request, String validateCode) {
+        // 鈶� 浠嶴ession鑾峰彇鐢熸垚鐨勯獙璇佺爜
+        Object obj = ShiroUtils.getSession().getAttribute(Constants.KAPTCHA_SESSION_KEY);
+        String code = String.valueOf(obj != null ? obj : "");
+
+        // 鈶� 绔嬪嵆娓呴櫎Session涓殑楠岃瘉鐮侊紙闃叉閲嶅浣跨敤锛�
+        request.getSession().removeAttribute(Constants.KAPTCHA_SESSION_KEY);
+
+        // 鈶� 姣斿鐢ㄦ埛杈撳叆鍜屾纭瓟妗堬紙蹇界暐澶у皬鍐欙級
+        if (StringUtils.isEmpty(validateCode) || !validateCode.equalsIgnoreCase(code)) {
+            return false;
+
+        }
+        return true;
+    }
+
     //缁戝畾openId
-    public PageResponse<String> bandOpenId(WeChatBaseParam param) {
+    public PageResponse<String> bandOpenId(HttpServletRequest httpRequest,WeChatBaseParam param) {
 
         //鍒ゆ柇鍙傛暟
         if (null == param || StringUtils.isEmpty(param.getOpenid())) {
@@ -81,22 +114,15 @@
             return new PageResponse<String>(RespCodeEnum.CODE_1007.getCode(), "鎵嬫満鍙蜂负绌猴紝璇峰~鍐�");
 
         }
-//        if (StringUtils.isEmpty(param.getMsgCode())) {
-//            return new PageResponse<String>(RespCodeEnum.CODE_1007.getCode(), "楠岃瘉鐮佷笉鑳戒负绌�");
-//
-//        }
-//
-//        String code = (String) redisService.getCacheObject(WeChatConst.WX_MOBILE_CODE + param.getMobile());
-//        if(StringUtils.isEmpty(code)){
-//            res.put("code","1007");
-//            res.put("msg","楠岃瘉鐮佸凡澶辨晥锛岃閲嶆柊鑾峰彇");
-//            return res;
-//        }
-//        if(! code.equals(param.getMsgCode())){
-//            res.put("code","1007");
-//            res.put("msg","楠岃瘉鐮侀敊璇�");
-//            return res;
-//        }
+        if (StringUtils.isEmpty(param.getMsgCode())) {
+            return new PageResponse<String>(RespCodeEnum.CODE_1007.getCode(), "楠岃瘉鐮佷笉鑳戒负绌�");
+
+        }
+        //楠岃瘉鐮侀獙璇�
+        boolean validateResponse = validateResponse(httpRequest, param.getMsgCode());
+        if (!validateResponse) {
+            return new PageResponse<String>(RespCodeEnum.CODE_1007.getCode(), "楠岃瘉鐮侀敊璇�");
+        }
 
         //鏍规嵁鎵嬫満鍙锋煡鐪嬬敤鎴锋槸鍚︽槸绯荤粺鐢ㄦ埛
         SysUser user = sysUserService.selectUserByPhoneNumber(param.getMobile());
@@ -110,13 +136,13 @@
 
 //        redisService.deleteObject(WeChatConst.WX_MOBILE_CODE + param.getMobile());
 
-        return new PageResponse<String>(RespCodeEnum.CODE_0000.getCode(), "璇锋眰鎴愬姛");
+        return new PageResponse<String>(RespCodeEnum.CODE_0000.getCode(), "缁戝畾鎴愬姛");
 
     }
 
 
     //瑙g粦openId
-    public PageResponse<String> unBandOpenId(WeChatBaseParam param) {
+    public PageResponse<String> unBandOpenId(HttpServletRequest httpRequest,WeChatBaseParam param) {
 
         //鍒ゆ柇鍙傛暟
         if (null == param || StringUtils.isEmpty(param.getOpenid())) {
@@ -130,20 +156,11 @@
             return new PageResponse<String>(RespCodeEnum.CODE_1007.getCode(), "楠岃瘉鐮佷笉鑳戒负绌�");
 
         }
-
-//        String code = (String) redisService.getCacheObject(WeChatConst.WX_MOBILE_CODE + param.getMobile());
-//        if(StringUtils.isEmpty(code)){
-//            res.put("code","1007");
-//            res.put("msg","楠岃瘉鐮佸凡澶辨晥锛岃閲嶆柊鑾峰彇");
-//            return res;
-//
-//        }
-//        if(! code.equals(param.getMsgCode())){
-//            res.put("code","1007");
-//            res.put("msg","楠岃瘉鐮侀敊璇�");
-//            return res;
-//        }
-
+        //楠岃瘉鐮侀獙璇�
+        boolean validateResponse = validateResponse(httpRequest, param.getMsgCode());
+        if (!validateResponse) {
+            return new PageResponse<String>(RespCodeEnum.CODE_1007.getCode(), "楠岃瘉鐮侀敊璇�");
+        }
         //鏍规嵁鎵嬫満鍙锋煡璇㈢敤鎴锋槸鍚﹀凡缁忕粦瀹�
         SysUser user = sysUserService.selectUserByPhoneNumber(param.getMobile());
         if (user == null || StringUtils.isEmpty(user.getPhonenumber())) {
@@ -153,8 +170,6 @@
 
         user.setOpenId("");
         sysUserService.updateUserInfo(user);
-
-//        redisService.deleteObject(WeChatConst.WX_MOBILE_CODE + param.getMobile());
 
         return new PageResponse<String>(RespCodeEnum.CODE_0000.getCode(), "璇锋眰鎴愬姛");
 
@@ -179,14 +194,35 @@
             return new PageResponse<Page<SnapReply>>(RespCodeEnum.CODE_1006.getCode(), "灏氭湭缁戝畾鏈嶅姟锛岃鍏堢粦瀹氾紒");
 
         }
+        //鑾峰彇涓氬姟缁忕悊缁戝畾鐨勮川鎶煎悎鍚�
+        List<PledgeContract> dateByUser = pledgeContractService.getDateByUser(String.valueOf(user.getUserId()));
+        if (dateByUser == null || dateByUser.isEmpty()) {
+            //杩斿洖绌烘暟鎹�
+            return new PageResponse<Page<SnapReply>>(RespCodeEnum.CODE_0000.getCode(), "璇锋眰鎴愬姛", new Page<>(param.getPageNo(), param.getPageSize()));
+        }
+        List<PledgeContractDepot> pledgeContractDepots = new ArrayList<>() ;
+        for (PledgeContract pledgeContract : dateByUser) {
+            String id = pledgeContract.getId();
+            IgdsBaseParam depotPParam = new IgdsBaseParam();
+            depotPParam.setParentId(id);
+            List<PledgeContractDepot> pledgeContractDepots1 = pledgeContractDepotService.listAll(depotPParam);
+            pledgeContractDepots.addAll(pledgeContractDepots1);
+        }
+        if(pledgeContractDepots.isEmpty()){
+            //杩斿洖绌烘暟鎹�
+            return new PageResponse<Page<SnapReply>>(RespCodeEnum.CODE_0000.getCode(), "璇锋眰鎴愬姛", new Page<>(param.getPageNo(), param.getPageSize()));
+        }
+
+        // 鑾峰彇pledgeContractDepots涓幓閲嶅悗鐨勫簱鍖篒DList
+        List<String> deptIdList = pledgeContractDepots.stream().map(PledgeContractDepot::getPledgeDept).distinct().collect(Collectors.toList());
+
         //鍒嗛〉鎷兼帴
         Page<SnapReply> page = new Page<>(param.getPageNo(), param.getPageSize());
         //鏌ヨ鍙傛暟缁勮
         IgdsBaseParam queryParam = new IgdsBaseParam();
-        queryParam.setDeptId(String.valueOf(user.getDeptId()));
         queryParam.setCompanyId(user.getCompanyId());
         queryParam.setKey(Constant.YN_N);
-        snapReplyService.listPage(page, queryParam);
+        snapReplyService.listPageByListDept(page, queryParam,deptIdList);
         return new PageResponse<Page<SnapReply>>(RespCodeEnum.CODE_0000.getCode(), "璇锋眰鎴愬姛", page);
     }
 
diff --git a/fzzy-igdss-web/src/main/resources/templates/wx/bind.html b/fzzy-igdss-web/src/main/resources/templates/wx/bind.html
index 65571f8..8c728eb 100644
--- a/fzzy-igdss-web/src/main/resources/templates/wx/bind.html
+++ b/fzzy-igdss-web/src/main/resources/templates/wx/bind.html
@@ -10,35 +10,43 @@
         .mui-content {
             margin: 0 6px;
         }
+
         .mui-content-padded {
             margin: 10px;
             width: 96%;
             margin: auto;
             margin-top: 8px;
         }
+
         .mui-radio {
             float: left;
         }
+
         .mui-radio.mui-left input[type=radio] {
             left: 1px;
         }
+
         .mui-checkbox.mui-left label, .mui-radio.mui-left label {
             padding-right: 20px;
             padding-left: 35px;
         }
+
         .mui-btn-block {
             width: 96%;
             margin: auto;
             margin-top: 10px;
             padding: 8px 0;
         }
+
         .mui-input-row label ~ input {
             float: left;
             width: 50%;
         }
+
         .mui-input-row label {
             width: 27%;
         }
+
         .btn {
             margin-top: 4px;
             margin-right: 2px;
@@ -47,8 +55,14 @@
             color: #fff;
             padding: 5px 5px;
         }
+
         .ts {
             margin-top: 10px;
+        }
+
+        .login-yzm-btn {
+            width: 80px;
+            height: 38px;
         }
     </style>
 </head>
@@ -62,10 +76,14 @@
             </div>
             <div class="mui-input-row">
                 <label>楠岃瘉鐮�</label>
-                <input id="code" style="width: 45%;" type="text" class="mui-input-clear" placeholder="5鍒嗛挓鍐呮湁鏁�">
-                <div id="count">
-                    <button type="button" class="btn" onclick="getCheck()">鑾峰彇楠岃瘉鐮�</button>
-                </div>
+                <input id="code" style="width: 45%;" type="text" class="mui-input-clear" placeholder="鍦ㄦ杈撳叆楠岃瘉鐮�">
+            </div>
+            <div class="mui-input-row" style="height: 60px">
+                <label >鐐瑰嚮鏇存崲楠岃瘉鐮�</label>
+                <a href="javascript:void(0);" title="鐐瑰嚮鏇存崲楠岃瘉鐮�" class="login-yzm-btn">
+                    <img class="imgcode"
+                         th:src="@{/captcha/captchaImage(type=${captchaType})}"/>
+                </a>
             </div>
         </form>
     </div>
@@ -75,96 +93,51 @@
 <script th:src="@{/wx/wx-common.js}"></script>
 <script th:src="@{/ajax/libs/mui/js/mui.js}"></script>
 <script th:inline="javascript">
-
     var openid = [[${openid}]];  //鐢ㄦ埛鐨刼penid
-    var c = 60; //鑾峰彇楠岃瘉鐮佸悗鐨勫�掕鏃�
+    var captchaType = [[${captchaType}]];  //楠岃瘉鐮佺被鍨�
     mui.init();
 
-    //鑾峰彇楠岃瘉鐮�
-    function getCheck() {
-        var phone = document.getElementById("phone").value;
-        if (phone == null || phone.trim() == '') {
-            mui.alert("鎵嬫満鍙蜂笉鑳戒负绌猴紒", '鎻愮ず', ["纭畾"], function() {}, "div");
-            return;
-        }
-        var flag = /^[1][3,4,5,6,7,8,9][0-9]{9}$/.test(phone);
-        if (!flag) {
-            mui.alert("鎵嬫満鍙锋牸寮忎笉姝g‘锛�", '鎻愮ず', ["纭畾"], function() {}, "div");
-            return;
-        }
-        //璇锋眰鍙傛暟
-        var data = JSON.stringify({
-            "data": {
-                "openid": openid,
-                "mobile": phone
-            }
-        });
 
-        $.ajax({
-            type: "POST",
-            url: "../wx/gateway",
-            dataType: "json",
-            contentType: "application/json;charset=UTF-8",
-            data: data,
-            success: function (result) {
-                if (result.code == "0000") {
-                    mui.toast("鏍¢獙鐮佸凡鍙戦�侊紒");
-                    //鍊掕鏃惰鏁�
-                    count();
-                } else {
-                    mui.alert(result.msg, '鎻愮ず', ["纭畾"], function() {}, "div");
-                }
-            }
-        });
-    }
-
-    function count() {
-        $("#count").html('');
-        $("#count").addClass("ts");
-        var interval = setInterval(function () {//瀹氫箟瀹氭椂鍣�
-            if (c == 0) {
-                clearInterval(interval);//娓呴櫎瀹氭椂鍣�
-                $("#count").removeClass("ts");
-                $("#count").html('<button type="button" class="btn" onclick="getCheck()">鑾峰彇楠岃瘉鐮�</button>');
-                c = 60;
-            } else {
-                $("#count").html(c + 's鍚庨噸璇�');
-                c--;
-            }
-        }, 1000);
-    }
+    $('.imgcode').click(function () {
+        var url = "../captcha/captchaImage?type=" + captchaType + "&s=" + Math.random();
+        $(".imgcode").attr("src", url);
+    });
 
     //缁戝畾鎻愪氦
     function binding() {
         var phone = document.getElementById("phone").value;
         if (phone == null || phone.trim() == '') {
-            mui.alert("鎵嬫満鍙蜂笉鑳戒负绌猴紒", '鎻愮ず', ["纭畾"], function() {}, "div");
+            mui.alert("鎵嬫満鍙蜂笉鑳戒负绌猴紒", '鎻愮ず', ["纭畾"], function () {
+            }, "div");
             return;
         }
         var flag = /^[1][3,4,5,6,7,8,9][0-9]{9}$/.test(phone);
         if (!flag) {
-            mui.alert("鎵嬫満鍙锋牸寮忎笉姝g‘锛�", '鎻愮ず', ["纭畾"], function() {}, "div");
+            mui.alert("鎵嬫満鍙锋牸寮忎笉姝g‘锛�", '鎻愮ず', ["纭畾"], function () {
+            }, "div");
             return;
         }
         var code = document.getElementById("code").value;
-        // if (code == null || code.trim() == '') {
-        //     mui.alert("楠岃瘉鐮佷笉鑳戒负绌猴紒", '鎻愮ず', ["纭畾"], function() {}, "div");
-        //     return;
-        // }
+        if (code == null || code.trim() == '') {
+            mui.alert("楠岃瘉鐮佷笉鑳戒负绌猴紒", '鎻愮ず', ["纭畾"], function() {}, "div");
+            return;
+        }
 
         var data = {
             "openid": openid,
             "mobile": phone,
             "msgCode": code
         };
-        wxCommon.postJson("../wx/bandOpenId", data,function (result) {
+        wxCommon.postJson("../wx/bandOpenId", data, function (result) {
             if (result.code == "0000") {
                 mui.toast("缁戝畾鎴愬姛锛�");
             } else {
-                mui.alert(result.msg, '鎻愮ず', ["纭畾"], function() {}, "div");
+                mui.alert(result.msg, '鎻愮ず', ["纭畾"], function () {
+                }, "div");
             }
         });
     }
+
 </script>
 </body>
 </html>
diff --git a/fzzy-igdss-web/src/main/resources/templates/wx/home.html b/fzzy-igdss-web/src/main/resources/templates/wx/home.html
index e638e63..2c2a269 100644
--- a/fzzy-igdss-web/src/main/resources/templates/wx/home.html
+++ b/fzzy-igdss-web/src/main/resources/templates/wx/home.html
@@ -171,6 +171,13 @@
 
 
     $(function () {
+        window.addEventListener('pageshow', function(event) {
+            // 濡傛灉椤甸潰鏄粠缂撳瓨涓仮澶嶇殑锛堝寘鎷悗閫�锛夛紝鍒欓噸鏂板姞杞�
+            if (event.persisted || performance.getEntriesByType('navigation')[0]?.type === 'back_forward') {
+                location.reload();
+            }
+        });
+
         if (loginType == "WECHAT") {
             $("#bind").css("display", "");
             $("#unbind").css("display", "");
diff --git a/fzzy-igdss-web/src/main/resources/templates/wx/unbind.html b/fzzy-igdss-web/src/main/resources/templates/wx/unbind.html
index eb535c2..10c7cf8 100644
--- a/fzzy-igdss-web/src/main/resources/templates/wx/unbind.html
+++ b/fzzy-igdss-web/src/main/resources/templates/wx/unbind.html
@@ -10,32 +10,39 @@
         .mui-content {
             margin: 0 6px;
         }
+
         .mui-content-padded {
             margin: 10px;
             width: 96%;
             margin: auto;
             margin-top: 8px;
         }
+
         .mui-radio.mui-left input[type=radio] {
             left: 1px;
         }
+
         .mui-checkbox.mui-left label, .mui-radio.mui-left label {
             padding-right: 20px;
             padding-left: 35px;
         }
+
         .mui-btn-block {
             width: 96%;
             margin: auto;
             margin-top: 10px;
             padding: 8px 0;
         }
+
         .mui-input-row label ~ input {
             float: left;
             width: 50%;
         }
+
         .mui-input-row label {
             width: 27%;
         }
+
         .btn {
             margin-top: 4px;
             margin-right: 2px;
@@ -44,8 +51,14 @@
             color: #fff;
             padding: 5px 5px;
         }
+
         .ts {
             margin-top: 10px;
+        }
+
+        .login-yzm-btn {
+            width: 80px;
+            height: 38px;
         }
     </style>
 </head>
@@ -59,10 +72,14 @@
             </div>
             <div class="mui-input-row">
                 <label>楠岃瘉鐮�</label>
-                <input id="code" style="width: 45%;" type="text" class="mui-input-clear" placeholder="5鍒嗛挓鍐呮湁鏁�">
-                <div id="count">
-                    <button type="button" class="btn" onclick="getCheck()">鑾峰彇楠岃瘉鐮�</button>
-                </div>
+                <input id="code" style="width: 45%;" type="text" class="mui-input-clear" placeholder="鍦ㄦ杈撳叆楠岃瘉鐮�">
+            </div>
+            <div class="mui-input-row" style="height: 60px">
+                <label>鐐瑰嚮鏇存崲楠岃瘉鐮�</label>
+                <a href="javascript:void(0);" title="鐐瑰嚮鏇存崲楠岃瘉鐮�" class="login-yzm-btn">
+                    <img class="imgcode"
+                         th:src="@{/captcha/captchaImage(type=${captchaType})}"/>
+                </a>
             </div>
         </form>
     </div>
@@ -74,97 +91,49 @@
 <script th:inline="javascript">
 
     var openid = [[${openid}]];  //鐢ㄦ埛鐨刼penid
-    var c = 60; //鑾峰彇楠岃瘉鐮佸悗鐨勫�掕鏃�
+    var captchaType = [[${captchaType}]];  //楠岃瘉鐮佺被鍨�
+
     mui.init();
 
     //鑾峰彇楠岃瘉鐮�
-    function getCheck() {
-        var phone = document.getElementById("phone").value;
-        if (phone == null || phone.trim() == '') {
-            mui.alert("鎵嬫満鍙蜂笉鑳戒负绌�", '鎻愮ず', ["纭畾"], function() {}, "div");
-            return;
-        }
-        var flag = /^[1][3,4,5,6,7,8,9][0-9]{9}$/.test(phone);
-        if (!flag) {
-            mui.alert("鎵嬫満鍙锋牸寮忎笉姝g‘", '鎻愮ず', ["纭畾"], function() {}, "div");
-            return;
-        }
+    $('.imgcode').click(function () {
+        var url = "../captcha/captchaImage?type=" + captchaType + "&s=" + Math.random();
+        $(".imgcode").attr("src", url);
+    });
 
-        //璇锋眰鍙傛暟
-        var data = JSON.stringify({
-            "interfaceId": "app_1004",
-            "sign": "01",
-            "outId": "01-01",
-            "reqDateTime": new Date(),
-            "data": {
-                "openid": openid,
-                "mobile": phone
-            }
-        });
-
-        $.ajax({
-            type: "POST",
-            url: "../wx/gateway",
-            dataType: "json",
-            contentType: "application/json;charset=UTF-8",
-            data: data,
-            success: function (result) {
-                if (result.code == "0000") {
-                    mui.toast("鏍¢獙鐮佸凡鍙戦��");
-                    //鍊掕鏃惰鏁�
-                    count();
-                } else {
-                    mui.alert(result.msg, '鎻愮ず', ["纭畾"], function() {}, "div");
-                }
-            }
-        });
-    }
-
-    //鍊掕鏃惰鏁�
-    function count() {
-        $("#count").html('');
-        $("#count").addClass("ts");
-        var interval = setInterval(function () {//瀹氫箟瀹氭椂鍣�
-            if (c == 0) {
-                clearInterval(interval);//娓呴櫎瀹氭椂鍣�
-                $("#count").removeClass("ts");
-                $("#count").html('<button type="button" class="btn" onclick="getCheck()">鑾峰彇楠岃瘉鐮�</button>');
-                c = 60;
-            } else {
-                $("#count").html(c + 's鍚庨噸璇�');
-                c--;
-            }
-        }, 1000);
-    }
 
     //缁戝畾鎻愪氦
     function unBinding() {
         var phone = document.getElementById("phone").value;
         if (phone == null || phone.trim() == '') {
-            mui.alert("鎵嬫満鍙蜂笉鑳戒负绌猴紒", '鎻愮ず', ["纭畾"], function() {}, "div");
+            mui.alert("鎵嬫満鍙蜂笉鑳戒负绌猴紒", '鎻愮ず', ["纭畾"], function () {
+            }, "div");
             return;
         }
         var flag = /^[1][3,4,5,6,7,8,9][0-9]{9}$/.test(phone);
         if (!flag) {
-            mui.alert("鎵嬫満鍙锋牸寮忎笉姝g‘锛�", '鎻愮ず', ["纭畾"], function() {}, "div");
+            mui.alert("鎵嬫満鍙锋牸寮忎笉姝g‘锛�", '鎻愮ず', ["纭畾"], function () {
+            }, "div");
             return;
         }
         var code = document.getElementById("code").value;
-        // if (code == null || code.trim() == '') {
-        //     mui.alert("楠岃瘉鐮佷笉鑳戒负绌猴紒", '鎻愮ず', ["纭畾"], function() {}, "div");
-        //     return;
-        // }
+        if (code == null || code.trim() == '') {
+            mui.alert("楠岃瘉鐮佷笉鑳戒负绌猴紒", '鎻愮ず', ["纭畾"], function () {
+            }, "div");
+            return;
+        }
 
         var data = {
             "openid": openid,
             "mobile": phone,
             "msgCode": code
         };
-        wxCommon.postJson("../wx/unBandOpenId", data,function (result) {
+        wxCommon.postJson("../wx/unBandOpenId", data, function (result) {
             if (result.code == "0000") {
                 mui.toast("瑙g粦鎴愬姛锛�");
             } else {
-                mui.alert(result.msg, '鎻愮ず', ["纭畾"], function() {}, "div");
+                mui.alert(result.msg, '鎻愮ず', ["纭畾"], function () {
+                }, "div");
             }
         });
     }
diff --git a/fzzy-igdss-web/src/main/resources/templates/wx/warn-detail.html b/fzzy-igdss-web/src/main/resources/templates/wx/warn-detail.html
index 8bafb29..6fc3a57 100644
--- a/fzzy-igdss-web/src/main/resources/templates/wx/warn-detail.html
+++ b/fzzy-igdss-web/src/main/resources/templates/wx/warn-detail.html
@@ -127,9 +127,17 @@
 <script th:inline="javascript">
     var warnId = [[${id}]];  //璁惧id
     var companyId = [[${companyId}]];  //缁勭粐缂栫爜
+    var deptList = [[${deptList}]];
     var userName = [[${userName}]];    //褰撳墠鎿嶄綔浜鸿处鍙�
     var loginType = [[${loginType}]];  //鐧诲綍鏂瑰紡
+    var deptListMap = {};
     $(function () {
+        //鎵�鏈夊簱鍖�
+        if (deptList) {
+            for (var i = 0; i < deptList.length; i++) {
+                deptListMap[deptList[i].id] = deptList[i];
+            }
+        }
         mui.init();
         try {
             getDeviceList();
@@ -158,11 +166,11 @@
 
     //鍒濆鍖栭〉闈㈡暟鎹�
     function initData(data) {
+        var deptName = deptListMap[data.deptId] ? deptListMap[data.deptId].kqmc : data.deptId;
 
         var html1 = '';
         var html2 = '';
-        html1 += '<h4 class="mui-ellipsis">' + data.id;
-        html1 += '<span class="first">' + data.deptId + '</span></h4>';
+        html1 += '<h4 class="mui-ellipsis">' +deptName;
         html1 += '<h5 class="mui-ellipsis">' + data.createTime + '</h5>';
         html1 += '<p>' + data.content + '</p>';
 
diff --git a/fzzy-igdss-web/src/main/resources/templates/wx/warn-list.html b/fzzy-igdss-web/src/main/resources/templates/wx/warn-list.html
index b151cde..f116b6e 100644
--- a/fzzy-igdss-web/src/main/resources/templates/wx/warn-list.html
+++ b/fzzy-igdss-web/src/main/resources/templates/wx/warn-list.html
@@ -73,6 +73,7 @@
 <script th:src="@{/ajax/libs/mui/js/mui.js}"></script>
 <script th:inline="javascript">
     var loginType = [[${loginType}]];  //鐧诲綍鏂瑰紡
+    var deptList = [[${deptList}]];
     var userName = [[${userName}]];
     openid = [[${openid}]];  //鐢ㄦ埛鐨刼penid
     SERVE_URL = location.href.split("/wx/")[0];  //鏈嶅姟鍩熷悕
@@ -81,7 +82,15 @@
     var total;
     var pageCount;  //鎬婚〉鐮佹暟
     var warnList;  //姣忛〉鏁版嵁
+    var deptListMap = {};
     $(function () {
+        //鎵�鏈夊簱鍖�
+        if (deptList) {
+            for (var i = 0; i < deptList.length; i++) {
+                deptListMap[deptList[i].id] = deptList[i];
+            }
+        }
+
         // 鐩戝惉椤甸潰鏄剧ず浜嬩欢锛堝井淇� H5 鐜锛�
         window.addEventListener('pageshow', function() {
             if (localStorage.getItem('needRefresh') === 'true') {
@@ -139,12 +148,14 @@
         mui('#pullrefresh').pullRefresh().endPullupToRefresh((pageNo>=pageCount));
         var table = document.body.querySelector('.mui-table-view');
         for (var i = 0; i < warnList.length; i++) {
+            var deptName = deptListMap[warnList[i].deptId] ? deptListMap[warnList[i].deptId].kqmc : warnList[i].deptId;
+            console.log(deptListMap);
             var li = document.createElement('li');
             li.className = 'mui-table-view-cell';
             var html = '';
             html += '<div onclick="toWarnDetail(\'' + warnList[i].id +'\',\'' + warnList[i].companyId + '\')" class="mui-table">';
             html += '<div class="mui-table-cell mui-col-xs-10"><h4 class="mui-ellipsis">' + warnList[i].id;
-            html += '</span></h4><h5>鎵�灞炲簱鍖猴細<span>' + warnList[i].deptId;
+            html += '</span></h4><h5>鎵�灞炲簱鍖猴細<span>' + deptName;
             html += '</span></h5><h5>璀﹀憡鏃堕棿锛�<span>' + warnList[i].createTime;
             html += '</span></h5><p class="mui-h6 mui-ellipsis">璀﹀憡璇存槑锛�' +warnList[i].content;
             li.innerHTML = html;

--
Gitblit v1.9.3