Bladeren bron

更换账号登录方式

adu 3 jaren geleden
bovenliggende
commit
1459cc663b

+ 22 - 0
.idea/codeStyles/Project.xml

@@ -0,0 +1,22 @@
+<component name="ProjectCodeStyleConfiguration">
+  <code_scheme name="Project" version="173">
+    <JetCodeStyleSettings>
+      <option name="PACKAGES_TO_USE_STAR_IMPORTS">
+        <value>
+          <package name="java.util" alias="false" withSubpackages="false" />
+          <package name="kotlinx.android.synthetic" alias="false" withSubpackages="true" />
+          <package name="io.ktor" alias="false" withSubpackages="true" />
+        </value>
+      </option>
+      <option name="PACKAGES_IMPORT_LAYOUT">
+        <value>
+          <package name="" alias="false" withSubpackages="true" />
+          <package name="java" alias="false" withSubpackages="true" />
+          <package name="javax" alias="false" withSubpackages="true" />
+          <package name="kotlin" alias="false" withSubpackages="true" />
+          <package name="" alias="true" withSubpackages="true" />
+        </value>
+      </option>
+    </JetCodeStyleSettings>
+  </code_scheme>
+</component>

+ 36 - 0
.idea/inspectionProfiles/Project_Default.xml

@@ -0,0 +1,36 @@
+<component name="InspectionProjectProfileManager">
+  <profile version="1.0">
+    <option name="myName" value="Project Default" />
+    <inspection_tool class="JavaDoc" enabled="true" level="WARNING" enabled_by_default="true">
+      <option name="TOP_LEVEL_CLASS_OPTIONS">
+        <value>
+          <option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
+          <option name="REQUIRED_TAGS" value="" />
+        </value>
+      </option>
+      <option name="INNER_CLASS_OPTIONS">
+        <value>
+          <option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
+          <option name="REQUIRED_TAGS" value="" />
+        </value>
+      </option>
+      <option name="METHOD_OPTIONS">
+        <value>
+          <option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
+          <option name="REQUIRED_TAGS" value="@return@param@throws or @exception" />
+        </value>
+      </option>
+      <option name="FIELD_OPTIONS">
+        <value>
+          <option name="ACCESS_JAVADOC_REQUIRED_FOR" value="none" />
+          <option name="REQUIRED_TAGS" value="" />
+        </value>
+      </option>
+      <option name="IGNORE_DEPRECATED" value="false" />
+      <option name="IGNORE_JAVADOC_PERIOD" value="true" />
+      <option name="IGNORE_DUPLICATED_THROWS" value="false" />
+      <option name="IGNORE_POINT_TO_ITSELF" value="false" />
+      <option name="myAdditionalJavadocTags" value="date" />
+    </inspection_tool>
+  </profile>
+</component>

+ 101 - 85
src/main/java/com/picc/grab/controller/grab/GrabLoginController.java

@@ -1,87 +1,103 @@
-/*    */ package com.picc.grab.controller.grab;
-/*    */ import com.alibaba.fastjson.JSONObject;
-/*    */ import com.picc.grab.config.PiccGrabConfig;
-/*    */ import com.picc.grab.domain.Piccgrabaccount;
-/*    */ import com.picc.grab.entity.common.dto.piccLoginResult;
-/*    */ import com.picc.grab.entity.common.vo.ResultVO;
-/*    */ import com.picc.grab.service.IPiccgrabaccountService;
-/*    */ import com.picc.grab.util.GrabUtil;
-/*    */ import com.picc.grab.util.StringUtil;
-/*    */ import java.io.ByteArrayOutputStream;
-/*    */ import java.io.IOException;
-/*    */ import java.io.InputStream;
-/*    */ import java.io.UnsupportedEncodingException;
-/*    */ import java.util.HashMap;
-/*    */ import java.util.Map;
-/*    */ import javax.servlet.ServletOutputStream;
-/*    */ import javax.servlet.http.HttpServletResponse;
-/*    */ import org.springframework.beans.factory.annotation.Autowired;
-/*    */ import org.springframework.transaction.annotation.Transactional;
-/*    */ import org.springframework.web.bind.annotation.RequestMapping;
-/*    */ import org.springframework.web.bind.annotation.ResponseBody;
-/*    */ import org.springframework.web.bind.annotation.RestController;
-/*    */ 
-/*    */ @RestController
-/*    */ @RequestMapping({"/grabLogin"})
-/*    */ @Transactional
-/*    */ public class GrabLoginController {
-/*    */   @Autowired
-/*    */   private IPiccgrabaccountService piccgrabaccount;
-/*    */   
-/*    */   @RequestMapping({"/getCode"})
-/*    */   public void getCode(Integer id, HttpServletResponse httpServletResponse) throws IOException {
-/* 33 */     GrabUtil httpsGet = new GrabUtil();
-/* 34 */     InputStream input = httpsGet.getHttpsConn(this.piccGrabConfig.getImgurl() + System.currentTimeMillis(), "GET", null, null);
-/* 35 */     String cookieStore = httpsGet.cookieStore;
-/* 36 */     ByteArrayOutputStream bitstream = httpsGet.cloneInputStream(input);
-/* 37 */     byte[] img = bitstream.toByteArray();
-/* 38 */     httpServletResponse.setContentType("image/png");
-/* 39 */     ServletOutputStream servletOutputStream = httpServletResponse.getOutputStream();
-/* 40 */     Piccgrabaccount model = (Piccgrabaccount)this.piccgrabaccount.selectById(id);
-/* 41 */     model.setCookie(cookieStore);
-/* 42 */     this.piccgrabaccount.updateAllColumnById(model);
-/* 43 */     servletOutputStream.write(img);
-/* 44 */     servletOutputStream.flush();
-/* 45 */     servletOutputStream.close();
-/*    */   } @Autowired
-/*    */   private PiccGrabConfig piccGrabConfig;
-/*    */   @RequestMapping({"/getToken"})
-/*    */   @ResponseBody
-/*    */   public ResultVO getToken(String code, Integer id) throws UnsupportedEncodingException {
-/* 51 */     GrabUtil httpsUtil = new GrabUtil();
-/* 52 */     Piccgrabaccount model = (Piccgrabaccount)this.piccgrabaccount.selectById(id);
-/* 53 */     Map<String, String> param = new HashMap<>();
-/* 54 */     param.put("password", model.getPassword());
-/* 55 */     param.put("username", model.getAccount());
-/* 56 */     param.put("validCode", code);
-/* 57 */     String str = httpsUtil.getHttpsByCookieConn(this.piccGrabConfig.getLoginurl(), param, model.getCookie(), "");
-/* 58 */     piccLoginResult result = (piccLoginResult)JSONObject.parseObject(str, piccLoginResult.class);
-/* 59 */     if (result.getCode().equals("200") && StringUtil.isAllNotBlank(new CharSequence[] { result.getToken() })) {
-/* 60 */       model.setToken(result.getToken());
-/* 61 */       model.setYzm(code);
-/* 62 */       model.setLogIn(Integer.valueOf(1));
-/* 63 */       this.piccgrabaccount.updateAllColumnById(model);
-/* 64 */       return ResultVO.success();
-/*    */     } 
-/* 66 */     return ResultVO.error("登录失败");
-/*    */   }
-/*    */ 
-/*    */   
-/*    */   @RequestMapping({"/getList"})
-/*    */   public String getList(int id) {
-/* 72 */     return "";
-/*    */   }
-/*    */ 
-/*    */   
-/*    */   @RequestMapping({"/bidPrice"})
-/*    */   public String bidPrice(int id) {
-/* 78 */     this.piccgrabaccount.sendBidPrice(id);
-/* 79 */     return "";
-/*    */   }
-/*    */ }
+package com.picc.grab.controller.grab;
+import com.alibaba.fastjson.JSONObject;
+import com.picc.grab.config.PiccGrabConfig;
+import com.picc.grab.domain.Piccgrabaccount;
+import com.picc.grab.entity.common.dto.piccLoginResult;
+import com.picc.grab.entity.common.vo.ResultVO;
+import com.picc.grab.service.IPiccgrabaccountService;
+import com.picc.grab.util.GrabUtil;
+import com.picc.grab.util.StringUtil;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
+import java.util.HashMap;
+import java.util.Map;
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestController;
 
+@RestController
+@RequestMapping({"/grabLogin"})
+@Transactional
+public class GrabLoginController {
+ @Autowired
+ private IPiccgrabaccountService piccgrabaccount;
 
-/* Location:              C:\Users\Administrator\Desktop\ROOT\WEB-INF\classes\!\com\picc\grab\controller\grab\GrabLoginController.class
- * Java compiler version: 8 (52.0)
- * JD-Core Version:       1.1.3
- */
+ @RequestMapping({"/getCode"})
+ public void getCode(Integer id, HttpServletResponse httpServletResponse) throws IOException {
+    GrabUtil httpsGet = new GrabUtil();
+    InputStream input = httpsGet.getHttpsConn(this.piccGrabConfig.getImgurl() + System.currentTimeMillis(), "GET", null, null);
+    String cookieStore = httpsGet.cookieStore;
+    ByteArrayOutputStream bitstream = httpsGet.cloneInputStream(input);
+    byte[] img = bitstream.toByteArray();
+    httpServletResponse.setContentType("image/png");
+    ServletOutputStream servletOutputStream = httpServletResponse.getOutputStream();
+    Piccgrabaccount model = this.piccgrabaccount.selectById(id);
+    model.setCookie(cookieStore);
+    this.piccgrabaccount.updateAllColumnById(model);
+    servletOutputStream.write(img);
+    servletOutputStream.flush();
+    servletOutputStream.close();
+ }
+
+ @Autowired
+ private PiccGrabConfig piccGrabConfig;
+
+ @RequestMapping({"/getToken"})
+ @ResponseBody
+ public ResultVO getToken(String code, Integer id) {
+     GrabUtil httpsUtil = new GrabUtil();
+     Piccgrabaccount model = this.piccgrabaccount.selectById(id);
+     Map<String, String> param = new HashMap<>();
+     param.put("password", model.getPassword());
+     param.put("username", model.getAccount());
+     param.put("validCode", code);
+     String str = httpsUtil.getHttpsByCookieConn(this.piccGrabConfig.getLoginurl(), param, model.getCookie(), "");
+     piccLoginResult result = JSONObject.parseObject(str, piccLoginResult.class);
+     System.err.println(result.getCode());
+     System.err.println(result.getToken());
+     System.err.println(result.getMsg());
+     System.err.println(result.getState());
+     if (result.getCode().equals("200") && StringUtil.isAllNotBlank(new CharSequence[] { result.getToken() })) {
+       model.setToken(result.getToken());
+       model.setYzm(code);
+       model.setLogIn(Integer.valueOf(1));
+       this.piccgrabaccount.updateAllColumnById(model);
+       return ResultVO.success();
+     }
+     return ResultVO.error("登录失败,"+result.getMsg());
+ }
+
+    @RequestMapping({"/RBlogin"})
+    @ResponseBody
+    public ResultVO RBlogin(String cookie,String token, Integer id) {
+        Piccgrabaccount model = this.piccgrabaccount.selectById(id);
+        model.setCookie(cookie);
+        model.setToken(token);
+        model.setLogIn(Integer.valueOf(1));
+        boolean b = this.piccgrabaccount.updateAllColumnById(model);
+        if (b){
+            return ResultVO.success();
+        }else{
+            return ResultVO.error("登录失败");
+        }
+    }
+
+
+ @RequestMapping({"/getList"})
+ public String getList(int id) {
+ return "";
+ }
+
+
+ @RequestMapping({"/bidPrice"})
+ public String bidPrice(int id) {
+ this.piccgrabaccount.sendBidPrice(id);
+ return "";
+ }
+}

+ 20 - 3
src/main/java/com/picc/grab/entity/common/dto/piccLoginResult.java

@@ -1,10 +1,16 @@
-/*    */ package com.picc.grab.entity.common.dto;public class piccLoginResult {
+/*    */ package com.picc.grab.entity.common.dto;
+public class piccLoginResult {
 /*    */   private String code;
 /*    */   
 /*    */   public String getCode() {
 /*  5 */     return this.code;
 /*    */   }
-/*    */   private String msg; private String token;
+
+/*    */   private String msg;
+
+         private String token;
+
+
 /*    */   public void setCode(String code) {
 /*  9 */     this.code = code;
 /*    */   }
@@ -24,7 +30,18 @@
 /*    */   public void setToken(String token) {
 /* 25 */     this.token = token;
 /*    */   }
-/*    */ }
+
+            private String state;
+
+    public String getState() {
+        return state;
+    }
+
+    public void setState(String state) {
+        this.state = state;
+    }
+
+    /*    */ }
 
 
 /* Location:              C:\Users\Administrator\Desktop\ROOT\WEB-INF\classes\!\com\picc\grab\entity\common\dto\piccLoginResult.class

+ 2 - 0
src/main/java/com/picc/grab/mapper/ZbwtMapper.java

@@ -24,4 +24,6 @@ public interface ZbwtMapper extends BaseMapper<Zbwt> {
    * @return
    */
   List<ZbwtVo> findByTime();
+
+    void updateSF(@Param("carid") String carid);
 }

+ 1 - 30
src/main/java/com/picc/grab/task/SuccessfulTask.java

@@ -110,36 +110,7 @@ public class SuccessfulTask {
                 }
 
             }
-
-            /*for (OfferPlatformBean.BbpAuctionSelectVo car : platFromBean.getData().getBbpAuctionSelectVoList()) {
-                //查询车辆详情
-                try {
-                    BbpDetailBean detailBean = getBbpDetail(token, new BbpDetailBody(car.getId()));
-                    if (!Objects.isNull(detailBean)) {
-                        String zbgzstatus = "3";
-                        if (StringUtils.isNotBlank(detailBean.getData().getBbpWonBidVo().getBidCompanyName())
-                                && detailBean.getData().getBbpWonBidVo().getBidCompanyName().contains("湖北同凯拍卖有限公司")){
-                            zbgzstatus = "4";
-                        }
-                        List<Zbwt> zbwts = piccgrabaccountService.getZbwt(car.getCarNo());
-                        //修改车辆中标信息
-                        for (Zbwt zbwt : zbwts) {
-                            if (zbwt.getZbgzstatus() == 1 || zbwt.getZbgzstatus() == 3){
-                                zbwtMapper.updateZbwt(zbgzstatus,zbwt.getCarid()
-                                        ,detailBean.getData().getBbpWonBidVo().getBidCompanyName()
-                                        ,detailBean.getData().getBbpWonBidVo().getCreateTime()
-                                        ,detailBean.getData().getBbpWonBidVo().getBidPrice());
-                                log.info("定时任务--同步车辆中标信息,车辆id:"+zbwt.getCarid());
-                            }
-                        }
-                    }
-                }catch (Exception e){
-                    continue;
-                }
-            }*/
-
-            }
-
+        }
     }
 
 

BIN
src/main/resources/static/main/grab/course.png


+ 30 - 15
src/main/resources/static/main/grab/crm.js

@@ -33,25 +33,22 @@ function initTab(initTabId) {
         {"data": "account", "title": "登录账号", "sWidth": "5%", "className": "text-sxcenter"},
         {"data": "password", "title": "登录密码", "sWidth": "8%", "className": "text-sxcenter"},
         {
-            "data": "yzm", "title": "验证码", "sWidth": "8%", "className": "text-sxcenter",
+            "data": "logIn", "title": "cookie", "sWidth": "8%", "className": "text-sxcenter",
             "render": function (data, type, row, meta) {
-                var html = "";
-                if (row.logIn == 1) {
-                    html = row.yzm;
-                } else {
-                    var url = window.location.host + "/grabLogin/getCode?id=" + row.id;
-                    html = "<img src='http://" + url + "' style='cursor:pointer;'  onclick='reloadCode(this,"+row.id+")'/>"
+                var html = "********";
+                if (row.logIn != 1) {
+                    html = "<input type='text' id='cookie" + row.id + "' />"
                 }
                 return html;
             }
         },
         {
-            "data": "logIn", "title": "是否登录", "sWidth": "8%", "className": "text-sxcenter",
+            "data": "logIn", "title": "token", "sWidth": "8%", "className": "text-sxcenter",
             "render": function (data, type, row, meta) {
                 var html = "已登录";
                 if (row.logIn != 1) {
-                    var url = window.location.host + "/grabLogin/getCode?id=" + row.id;
-                    html = "<input type='text' id='yzm" + row.id + "' /><input type='button' onclick='Login(" + row.id + ",this)' value='登录''>  "
+                    html = "<input type='text' id='token" + row.id + "' />" +
+                        "<input type='button' id='log" + row.id + "' onclick='Login(" + row.id + ",this)' value='登录''>  "
                 }
                 return html;
             }
@@ -99,12 +96,18 @@ function initTab(initTabId) {
 }
 
 function Login(id, that) {
-    var yzmValue = $("#yzm" + id).val();
-    if (!yzmValue) {
-        Common.alert("请填写验证码", "验证码不能为空", 2);
+    var cookieValue = $("#cookie" + id).val();
+    if (cookieValue == "" || cookieValue == undefined) {
+        Common.alert("请填写cookie", "cookie不能为空", 2);
+        return false
+    }
+    var tokenValue = $("#token" + id).val();
+    if (tokenValue == "" || tokenValue == undefined) {
+        Common.alert("请填写token", "token不能为空", 2);
+        return false
     }
     $.ajax({
-        url: "/grabLogin/getToken?id=" + id + "&code=" + yzmValue,
+        url: "/grabLogin/RBlogin?id=" + id + "&cookie=" + cookieValue+ "&token="+tokenValue,
         type: "get",
         success: function (data) {
             Common.closeload();//去除加载层
@@ -114,6 +117,12 @@ function Login(id, that) {
                 $(that).hide();
                 Common.tabRefresh(tabid);//刷新
                 Common.alert("登录成功", "数据已保存", 1);
+
+                $("#cookie" + id).before("********")
+                $("#cookie" + id).remove()
+                $("#token" + id).remove()
+                $("#log" + id).before("已登录")
+
             } else {
                 Common.alert("登录失败", data.msg, 2);
             }
@@ -139,4 +148,10 @@ function getSearchParam(param) {
     param["fgsId"] = $("#toolbar .fgs").val() || "";
     return param;
 }
-   
+
+// 查看大图
+function showBigImgs( src, name){
+    $("#modalLabel").text(name);
+    $("#imgInModalID").attr("src", src);
+    $("#imgModal").modal('show');
+}

+ 146 - 0
src/main/resources/static/main/grab/crm.txt

@@ -0,0 +1,146 @@
+/**
+* 原先js文件
+/
+
+var cwtable = "cwtable";// 保证金提取 表格id
+var hytable = "hytable";// 会员 表格id
+var yjtable = "yjtable";//押金提取表格id
+var tqjltable = "tqjltable";//提取记录
+var modalId = "modelPage";// 模态框id
+$(function () {
+    var tablid = $(".nav-tabs .tabstiltlefont").eq(0).attr("id");
+    // 初始化列表
+    initTab(hytable);
+    $(".bjlist-search .swtfId,.bjlist-search .sfgsId").change(function () {
+        reloadTabsData();//刷新选项卡数据
+    });
+    if ($("#hytable").length != 0) initTab(hytable);
+    if ($("#cwtable").length != 0) initTab(cwtable);
+    if ($("#yjtable").length != 0) initTab(yjtable);
+    if ($("#yjtable").length != 0) initTab(tqjltable);
+    $(".nav-tabs .tabstiltlefont").eq(0).click();//选中第一个选项卡
+    // 模态框 关闭时  里面的 清除内容 (解决模态框只请求一次服务器页面,内容不好刷新)
+    Common.modalHideDelHtml(modalId);
+});
+
+
+/**
+ * 表格初始化
+ */
+function initTab(initTabId) {
+    url = "/grab/list";
+    var column = [
+        {
+            "data": "fgsmc", "title": "分公司", "sWidth": "5%", "className": "text-sxcenter"
+        },
+        {"data": "createName", "title": "所属录入员", "sWidth": "5%", "className": "text-sxcenter"},
+        {"data": "account", "title": "登录账号", "sWidth": "5%", "className": "text-sxcenter"},
+        {"data": "password", "title": "登录密码", "sWidth": "8%", "className": "text-sxcenter"},
+        {
+            "data": "yzm", "title": "验证码", "sWidth": "8%", "className": "text-sxcenter",
+            "render": function (data, type, row, meta) {
+                var html = "";
+                if (row.logIn == 1) {
+                    html = row.yzm;
+                } else {
+                    var url = window.location.host + "/grabLogin/getCode?id=" + row.id;
+                    html = "<img src='http://" + url + "' style='cursor:pointer;'  onclick='reloadCode(this,"+row.id+")'/>"
+                }
+                return html;
+            }
+        },
+        {
+            "data": "logIn", "title": "是否登录", "sWidth": "8%", "className": "text-sxcenter",
+            "render": function (data, type, row, meta) {
+                var html = "已登录";
+                if (row.logIn != 1) {
+                    var url = window.location.host + "/grabLogin/getCode?id=" + row.id;
+                    html = "<input type='text' id='yzm" + row.id + "' /><input type='button' onclick='Login(" + row.id + ",this)' value='登录''>  "
+                }
+                return html;
+            }
+        },
+    ]
+
+    var table = $('#' + initTabId).DataTable({
+        dom: '<"top">rt<"row"<"dom_l col-sm-2"l><"dom_i col-sm-4 col-sm-offset-1"i><"col-sm-5"p>>',
+        ajax: {
+            url: url,
+            type: "post",
+            contentType: "application/json;charset=utf-8",
+            cache: false,	//禁用缓存
+            data: function (d) {	//传入已封装的参数
+                // 添加额外的参数传给服务器
+                var data = {start: d.start, length: d.length};
+                getSearchParam(data);// 添加额外查询条件
+                return JSON.stringify(data);
+            }
+        },
+        lengthChange: true,
+        searching: false,
+        ordering: false,
+        processing: true,//表格 loading 加载层
+        info: true,
+        autoWidth: false,
+        pageLength: 20,
+        aLengthMenu: [10, 20, 50, 100], //更改显示记录数选项
+        serverSide: true,
+        paginate: true,
+        columnDefs: [{//表格默认属性
+            "defaultContent": "-",
+            "targets": "_all"
+        }],
+        language: {
+            url: "inspinia/js/plugins/dataTables/Chinese.lang"
+        },
+        columns: column,
+        "drawCallback": function (settings) {//表格每次重绘回调函数
+            // 更新选项卡标题数量
+        }
+    });
+    //初始化表格事件  入参表格id
+    Common.initTabEvent(initTabId);
+}
+
+function Login(id, that) {
+    var yzmValue = $("#yzm" + id).val();
+    if (!yzmValue) {
+        Common.alert("请填写验证码", "验证码不能为空", 2);
+    }
+    $.ajax({
+        url: "/grabLogin/getToken?id=" + id + "&code=" + yzmValue,
+        type: "get",
+        success: function (data) {
+            Common.closeload();//去除加载层
+            if (data.success) {
+                $("#" + modalId).modal('hide');
+                var tabid = $("#" + modalId).data("tabid");
+                $(that).hide();
+                Common.tabRefresh(tabid);//刷新
+                Common.alert("登录成功", "数据已保存", 1);
+            } else {
+                Common.alert("登录失败", data.msg, 2);
+            }
+        }
+    });
+}
+
+
+function reloadCode(that,id) {
+    var url ="http://"+ window.location.host + "/grabLogin/getCode?id=" + id + "&random=" +  Date.parse(new Date());
+    $(that).attr('src', url)
+}
+
+/**
+ * 获取查询条件
+ */
+function getSearchParam(param) {
+    param["shyxm"] = $("#toolbar .shyxm").val() || "";
+    param["ssjh"] = $("#toolbar .ssjh").val() || "";
+    param["srzstatus"] = $("#toolbar .srzstatus").val() || "";
+    param["shyid"] = $("#toolbar .shyid").val() || "";
+    param["qyrzstatus"] = $("#toolbar .qyrzstatus").val() || "";
+    param["fgsId"] = $("#toolbar .fgs").val() || "";
+    return param;
+}
+   

+ 18 - 0
src/main/resources/templates/main/grab/list.ftl

@@ -36,6 +36,8 @@
                     <div class="ibox float-e-margins">
                         <div class="ibox-title">
                             <h5>账号管理</h5>
+                            <a style="margin-left: 15px" href="https://baojia.epicc.com.cn/#/login" target="_blank">去登陆</a>
+                            <a style="font-weight: 700;text-decoration:underline;margin-left: 10px;color: #dc9d4f" href="javascript:void(0);" onclick="showBigImgs('main/grab/course.png','教程')">?</a>
                         </div>
                         <div class="ibox-content">
                             <div id="toolbar">
@@ -109,6 +111,22 @@
         </div>
     </div>
 </div>
+
+<#--大图-->
+<div class="modal fade bs-example-modal-lg text-center" id="imgModal" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" >
+    <div class="modal-dialog modal-lg" ><!-- style="display: inline-block; width: auto;" -->
+        <div class="modal-content">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+                    <span aria-hidden="true">×</span>
+                </button>
+                <h4 class="modal-title" id="modalLabel"></h4>
+            </div>
+            <img alt="暂无图片" id="imgInModalID" src="" width="90%" >
+        </div>
+    </div>
+</div>
+
 <!-- Mainly scripts -->
 <script src="inspinia/js/jquery-2.1.1.js"></script>
 <script src="inspinia/js/bootstrap.min.js"></script>

+ 140 - 0
src/main/resources/templates/main/grab/list.txt

@@ -0,0 +1,140 @@
+/**
+* 原先ftl文件
+/
+
+<!DOCTYPE html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>抓取账号管理</title>
+    <link href="inspinia/css/bootstrap.min.css" rel="stylesheet">
+    <link href="inspinia/font-awesome/css/font-awesome.css" rel="stylesheet">
+    <link href="inspinia/css/animate.css" rel="stylesheet">
+    <link href="inspinia/css/plugins/dataTables/datatables.min.css" rel="stylesheet">
+    <link href="inspinia/css/style.css" rel="stylesheet">
+    <!-- Sweet Alert -->
+    <link href="inspinia/css/plugins/sweetalert/sweetalert.css" rel="stylesheet">
+    <link href="inspinia/css/plugins/datapicker/datepicker3.css" rel="stylesheet">
+    <#--文件上传-->
+    <link href="inspinia/css/plugins/jasny/jasny-bootstrap.min.css" rel="stylesheet">
+    <#--select多选-->
+    <link href="inspinia/css/plugins/chosen/chosen.css" rel="stylesheet">
+    <link href="main/crm/crm.css?t=${(systemInfo.datel)!}" rel="stylesheet">
+    <link href="main/crm/modal.css?t=${(systemInfo.datel)!}" rel="stylesheet">
+    <#include "/common/link.ftl">
+</head>
+
+<body class="fixed-sidebar fixed-nav fixed-nav-basic  pace-done mini-navbar">
+
+<div id="wrapper">
+    <!--右侧 页面 开始-->
+    <div id="page-wrapper" class="gray-bg">
+        <!--右侧顶部 banner 开始-->
+        <#include "/common/top.ftl"><!--右侧顶部 banner 结束-->
+        <!--右侧 页面 内容 开始-->
+        <div class="wrapper wrapper-content animated fadeInRight">
+            <div class="row">
+                <div class="col-lg-12">
+                    <div class="ibox float-e-margins">
+                        <div class="ibox-title">
+                            <h5>账号管理</h5>
+                        </div>
+                        <div class="ibox-content">
+                            <div id="toolbar">
+                                <div class="row">
+                                    <div class="col-lg-3 col-md-3 col-sm-3 col-xs-3">
+                                        <div class="input-group">
+                                            <input type="text" class="form-control cph" name="cph" placeholder="请输入车牌号"
+                                                   autocomplete="off"/>
+                                            <span class="input-group-btn">
+                                        <button type="button" class="btn btn-primary" onclick="reloadTabsData()">
+                                            <i class="fa fa-search fa-lg"></i>
+                                        </button>
+                                         </span>
+                                        </div>
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="ibox-content carinfo-iboxcontent">
+                                <div class="tabs-container">
+                                    <ul class="nav nav-tabs">
+                                        <li class=""><a data-toggle="tab" data-tabid="hytable"
+                                                        class="leftbor tabstiltlefont" href="#tab-1">账号列表</a></li>
+                                    </ul>
+                                    <div class="tab-content">
+                                        <div id="tab-1" class="tab-pane">
+                                            <div class="panel-body">
+                                                <div id="toolbar">
+                                                </div>
+                                                <div class="table-responsive">
+                                                    <table id="hytable"
+                                                           class="table table-striped table-bordered table-hover dataTables-example"
+                                                           cellspacing="0" width="100%"></table>
+                                                </div>
+                                            </div>
+                                        </div><!--tab2 结束-->
+                                    </div>
+                                </div>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+        <!--右侧 页面 内容 结束-->
+
+
+        <!--页脚 开始-->
+        <#include "/common/bottom.ftl"><!--页脚 结束-->
+    </div><!--右侧 页面 结束-->
+</div>
+
+<!--模态框-->
+<div class="modal inmodal" id="modelPage" tabindex="-1" role="dialog" aria-hidden="true">
+    <div class="modal-dialog" style="width: 80%;">
+        <div class="modal-content">
+        </div>
+    </div>
+</div>
+<#--添加照片-->
+<div id="addImgDiv" class="popUp SHOW" style="display: none">
+    <input class="carimgfile" type="file" name="asd" accept="image/*"
+           onchange="javascrpit: if(this.files[0] && this.files[0].size > 0){relatedImgSave(this);}">
+</div>
+<#--查看图片-->
+<div id="showImg" class="displaynone">
+    <div class="showimgdiv">
+        <div class="imgceng">
+            <button type="button" title="关闭" onclick="closeBigImg()" class="btn btn-default fileinput-exists"><i
+                        class="fa fa-times"></i></button>
+            <img src="">
+        </div>
+    </div>
+</div>
+<!-- Mainly scripts -->
+<script src="inspinia/js/jquery-2.1.1.js"></script>
+<script src="inspinia/js/bootstrap.min.js"></script>
+<script src="inspinia/js/plugins/metisMenu/jquery.metisMenu.js"></script>
+<script src="inspinia/js/plugins/slimscroll/jquery.slimscroll.min.js"></script>
+<!-- Custom and plugin javascript -->
+<script src="inspinia/js/inspinia.js"></script>
+<script src="inspinia/js/plugins/pace/pace.min.js"></script>
+<!--datatables-->
+<script src="inspinia/js/plugins/dataTables/datatables.min.js"></script>
+<!-- 时间 -->
+<script src="inspinia/js/plugins/datetimepicker/moment-with-locales.min.js"></script>
+<script src="inspinia/js/plugins/datetimepicker/bootstrap-datetimepicker.min.js"></script>
+<!-- Jquery Validate -->
+<script src="inspinia/js/plugins/validate/jquery.validate.min.js"></script>
+<script src="inspinia/js/plugins/validate/messages_zh.js"></script>
+<#--select多选-->
+<script src="inspinia/js/plugins/chosen/chosen.jquery.js"></script>
+<#include "/common/js.ftl">
+<script src="main/grab/crm.js?t=${(systemInfo.datel)!}"></script>
+<script src="main/grab/uploadimg.js?t=${(systemInfo.datel)!}"></script>
+
+</body>
+
+</html>

+ 3 - 1
src/main/resources/xml/ZbwtMapper.xml

@@ -32,7 +32,9 @@
 		 where carid = #{carid}
 	</update>
 
-
+	<update id="updateSF">
+		update nj_mdb.md_carbjxx set sfcn = 0 where carid =  #{carid}
+	</update>
 
 
 </mapper>