瀏覽代碼

Merge branch 'master' of http://git.iamberry.com/hexiugang/iamberry-common-parent

wangxiaoming 7 年之前
父節點
當前提交
072a8466c7

+ 27 - 7
watero-rst-core/src/main/java/com.iamberry.rst.core/cm/Visit.java

@@ -13,10 +13,14 @@ public class Visit implements Serializable {
 
     //客诉基本信息主键
     private Integer customerId;
-    //提醒人
+    //提醒人Id
     private Integer adminId;
-    //指定人
-    private Integer designated_admin_id;
+    //提醒人
+    private String adminName;
+    //指定人Id
+    private Integer designatedAdminId;
+    //指定人名称
+    private String designatedAdminName;
     //回访人姓名
     private String visitName;
     //回访人手机号码
@@ -171,11 +175,27 @@ public class Visit implements Serializable {
         this.visitTimeSelect = visitTimeSelect;
     }
 
-    public Integer getDesignated_admin_id() {
-        return designated_admin_id;
+    public Integer getDesignatedAdminId() {
+        return designatedAdminId;
+    }
+
+    public void setDesignatedAdminId(Integer designatedAdminId) {
+        this.designatedAdminId = designatedAdminId;
+    }
+
+    public String getDesignatedAdminName() {
+        return designatedAdminName;
+    }
+
+    public void setDesignatedAdminName(String designatedAdminName) {
+        this.designatedAdminName = designatedAdminName;
+    }
+
+    public String getAdminName() {
+        return adminName;
     }
 
-    public void setDesignated_admin_id(Integer designated_admin_id) {
-        this.designated_admin_id = designated_admin_id;
+    public void setAdminName(String adminName) {
+        this.adminName = adminName;
     }
 }

+ 16 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/salesOrderMapper.xml

@@ -191,6 +191,22 @@
     </foreach>
   </insert>
 
+  <!-- 根据条件查询订单数量 -->
+  <select id="getOrderInfoCount" resultType="Integer" parameterType="SalesOrder" >
+    select
+      count(sales_id)
+    from
+    tb_rst_sales_order_info
+    <where>
+      <if test="salesDealCode != null">
+        sales_deal_code = #{salesDealCode}
+      </if>
+      <if test="salesOrderId != null">
+        and sales_orderId = #{salesOrderId}
+      </if>
+    </where>
+  </select>
+
   <!-- 修改订单信息 -->
   <update id="updateSalesOrder" parameterType="SalesOrder" >
     update tb_rst_sales_order_info

+ 6 - 2
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/visitMapper.xml

@@ -32,9 +32,13 @@
   <!-- 查询回访列表 -->
   <select id="listVisit" parameterType="Visit" resultType="Visit">
     SELECT
-      *
+      v.*,
+      a.admin_name designatedAdminName,
+      sa.admin_name adminName
     FROM
-      tb_rst_visit
+      tb_rst_visit v
+    LEFT JOIN tb_rst_sys_admin a ON v.designated_admin_id = a.admin_id
+    LEFT JOIN tb_rst_sys_admin sa ON v.admin_id = sa.admin_id
     <where>
       customer_id = #{customerId}
     </where>

+ 99 - 0
watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminCustomerController.java

@@ -364,6 +364,31 @@ public class AdminCustomerController {
     }
 
     /**
+     * 进入添加回访页面
+     *
+     * @param request
+     * @return
+     * @throws Exception
+     */
+    @RequiresPermissions("customer:select:customer")
+    @RequestMapping("/_add_visit")
+    public ModelAndView toAddVisit(HttpServletRequest request) throws Exception {
+        ModelAndView mv = new ModelAndView("cm/customer/add_visit");
+        String customerId = request.getParameter("customerId");
+
+        //查询跟进客服集合
+        Admin admin = new Admin();
+        admin.setAdminStatus(1);
+        List<Admin> adminList = sysService.listSelectAdmin(admin);
+        //获取登录人id
+        Integer loginAdminId = AdminUtils.getLoginAdminId();
+        mv.addObject("loginAdminId",loginAdminId);
+        mv.addObject("customerId", customerId);
+        mv.addObject("adminList", adminList);
+        return mv;
+    }
+
+    /**
      * 添加回访信息
      *
      * @param request
@@ -625,6 +650,20 @@ public class AdminCustomerController {
         }
     }
 
+    /**
+     * 进入回访信息详情
+     * @param request
+     * @return
+     * @throws Exception
+     */
+    @RequiresPermissions("customer:get:visit")
+    @RequestMapping("/_update_visit_info")
+    public ModelAndView toUpdateVisitFinish(HttpServletRequest request) throws Exception {
+        ModelAndView mv = new ModelAndView("cm/customer/visit_finish");
+        String customerId = request.getParameter("customerId");
+        mv.addObject("customerId", customerId);
+        return mv;
+    }
 
     /**
      * 添加回访完成内容
@@ -653,6 +692,21 @@ public class AdminCustomerController {
     }
 
     /**
+     * 进入回访信息详情
+     * @param request
+     * @return
+     * @throws Exception
+     */
+    @RequiresPermissions("customer:get:visit")
+    @RequestMapping("/_visit_info")
+    public ModelAndView toVisitInfo(HttpServletRequest request) throws Exception {
+        ModelAndView mv = new ModelAndView("cm/customer/visit_detail");
+        String customerId = request.getParameter("customerId");
+        mv.addObject("customerId", customerId);
+        return mv;
+    }
+
+    /**
      * 获取回访信息详情
      *
      * @param request
@@ -680,6 +734,21 @@ public class AdminCustomerController {
     }
 
     /**
+     * 进入问题描述页面
+     * @param request
+     * @return
+     * @throws Exception
+     */
+    @RequiresPermissions("customer:get:describe")
+    @RequestMapping("/_question_describe")
+    public ModelAndView toQuestionDescribe(HttpServletRequest request) throws Exception {
+        ModelAndView mv = new ModelAndView("cm/customer/describe_detail");
+        String customerId = request.getParameter("customerId");
+        mv.addObject("customerId", customerId);
+        return mv;
+    }
+
+    /**
      * 获取问题描述信息
      *
      * @param request
@@ -707,6 +776,21 @@ public class AdminCustomerController {
     }
 
     /**
+     * 进入修改换新页面
+     * @param request
+     * @return
+     * @throws Exception
+     */
+    @RequiresPermissions("customer:update:renewed")
+    @RequestMapping("/_update_renewed")
+    public ModelAndView toUpdateRenewed(HttpServletRequest request) throws Exception {
+        ModelAndView mv = new ModelAndView("cm/customer/update_renewed");
+        String customerId = request.getParameter("customerId");
+        mv.addObject("customerId", customerId);
+        return mv;
+    }
+
+    /**
      * 获取换新详情
      *
      * @param request
@@ -762,6 +846,21 @@ public class AdminCustomerController {
     }
 
     /**
+     * 进入修改换新页面
+     * @param request
+     * @return
+     * @throws Exception
+     */
+    @RequiresPermissions("customer:update:repair")
+    @RequestMapping("/_to_update_repair")
+    public ModelAndView toUpdateRepair(HttpServletRequest request) throws Exception {
+        ModelAndView mv = new ModelAndView("cm/customer/update_repair");
+        String customerId = request.getParameter("customerId");
+        mv.addObject("customerId", customerId);
+        return mv;
+    }
+
+    /**
      * 进入修改维修页面
      *
      * @param request

+ 208 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/add_visit.ftl

@@ -0,0 +1,208 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+    <meta charset="utf-8">
+    <meta name="renderer" content="webkit|ie-comp|ie-stand">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
+    <meta http-equiv="Cache-Control" content="no-siteapp" />
+<#include "/base/add_base.ftl">
+    <link href="${path}/common/static/h-ui/css/H-ui.min.css" rel="stylesheet" type="text/css" />
+    <link href="${path}/common/static/h-ui.admin/css/H-ui.admin.css" rel="stylesheet" type="text/css" />
+    <link href="${path}/common/lib/icheck/icheck.css" rel="stylesheet" type="text/css" />
+    <link href="${path}/common/lib/Hui-iconfont/1.0.8/iconfont.css" rel="stylesheet" type="text/css" />
+    <!--<link href="lib/webuploader/0.1.5/webuploader.css" rel="stylesheet" type="text/css" />-->
+    <title></title>
+    <style>
+        .btn-primary{background-color: #32a3d8;padding: 3px 30px;}
+        .select-box{background: url(${path}/common/images/pts/select-1.png) right center no-repeat;background-size: auto 100%;}
+        .select-box select{-webkit-appearance:none !important;background-color: transparent; appearance:none;padding-right: 25px;}
+    </style>
+</head>
+<body>
+<article class="cl pd-20">
+    <form action="" method="post" class="form form-horizontal" id="form-admin-visit" name="form-admin-visit">
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2 text-r">
+                <strong>客户信息</strong>
+            </div>
+            <div class="formControls col-5 col-sm-5">
+                <input type="hidden" id="customerId" name="customerId" value="${customerId}">
+                <input type="text" id="visitName" name="visitName" class="input-text" placeholder="客户姓名" value=""/>
+            </div>
+            <div class="formControls col-5 col-sm-5">
+                <input type="text" id="visitTel" name="visitTel" class="input-text" placeholder="客户电话" value=""/>
+            </div>
+        </div>
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2 text-r">
+                <strong>回访日期</strong>
+            </div>
+            <div class="formControls col-10 col-sm-10">
+                <input type="text" id="visitDate" name="visitDate" class="input-text" placeholder="" onClick="WdatePicker({ dateFmt:'yyyy-MM-dd',skin:'whyGreen' })" value="" readonly="readonly"/>
+            </div>
+        </div>
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2 text-r">
+                <strong>回访时间</strong>
+            </div>
+            <div class="formControls col-10 col-sm-10 skin-minimal">
+                <div class="radio-box">
+                    <input type="radio" name="visitTimeSelect" value="1" checked="checked">
+                    <label for="time-1">09:00-12:00</label>
+                </div>
+                <div class="radio-box">
+                    <input type="radio" name="visitTimeSelect" value="2">
+                    <label for="time-2">12:00-14:00</label>
+                </div>
+                <div class="radio-box">
+                    <input type="radio" name="visitTimeSelect" value="3">
+                    <label for="time-3">14:00-18:00</label>
+                </div>
+            </div>
+        </div>
+
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2 text-r">
+                <strong>回访客服</strong>
+            </div>
+            <div class="formControls col-10 col-sm-10">
+				<span class="select-box">
+				<select class="select" name="visitAdminId" id="visitAdminId">
+                    <#if adminList?? &&  (adminList?size > 0) >
+                        <#list adminList as admin>
+                            <option value ="${admin.adminId!}" <#if loginAdminId??><#if admin.adminId == loginAdminId >selected="selected"</#if></#if> >${admin.adminName!}</option>
+                        </#list>
+                    </#if>
+				</select>
+			</span>
+            </div>
+        </div>
+        <div class="row cl">
+            <div class="formControls col-12 col-sm-12">
+                您将为<span id="visit-admin" class="c-red">自己</span>指定一个回访任务
+                <br />
+                提示原则:<br />
+                1、上午的回访 系统将在16日晚上22点、17日早晨9:30提醒您<br />
+                2、中午的回访 系统将在本日12点提醒您<br />
+                3、下午的回访 系统将在本日14:00提醒您<br />
+                如果没有在指定时间完成,系统将于第二天开始推送
+            </div>
+        </div>
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2">
+
+            </div>
+            <div class="formControls col-6 col-sm-6 text-c">
+                <button onClick="addVisitInfo();" class="btn btn-primary" type="button">确认</button>
+            </div>
+        </div>
+    </form>
+    </div>
+</article>
+<script type="text/javascript" src="${path}/common/lib/jquery/1.9.1/jquery.min.js"></script>
+<script type="text/javascript" src="${path}/common/lib/layer/2.4/layer.js"></script>
+<script type="text/javascript" src="${path}/common/lib/My97DatePicker/4.8/WdatePicker.js"></script>
+<script type="text/javascript" src="${path}/common/lib/icheck/jquery.icheck.min.js"></script>
+<script type="text/javascript" src="${path}/common/static/h-ui/js/H-ui.js"></script>
+<script type="text/javascript" src="${path}/common/static/h-ui.admin/js/H-ui.admin.js"></script>
+<script type="text/javascript">
+
+    var loginAdminId = ${loginAdminId!''};
+    var flag = true;
+    var msg = '';
+    var mobile= /^1(3|4|5|7|8)\d{9}$/; //手机号码
+    var uname = /^[\u4e00-\u9fa5a-zA-Z]{1,12}$/; //中文英文
+
+    $(function(){
+        $('.skin-minimal input').iCheck({
+            checkboxClass: 'icheckbox-blue',
+            radioClass: 'iradio-blue',
+            increaseArea: '20%'
+        });
+        $('.skin-minimal input').iCheck({
+            checkboxClass: 'icheckbox-blue',
+            radioClass: 'iradio-blue',
+            increaseArea: '20%'
+        });
+    });
+
+    function checkValue() {
+        flag = true;
+        msg = '';
+        var visitTimeSelect = $('input[name="visitTimeSelect"]:checked').val();
+        var visitAdminId = $("#visitAdminId option:selected").val();
+        if (!uname.test($('#visitName').val().trim())) {
+            msg = '回访人姓名格式不正确,请重新填写!';
+            flag = false;
+            return;
+        }
+        if (!mobile.test($('#visitTel').val().trim())) {
+            msg = '手机号码格式不正确,请重新填写!';
+            flag = false;
+            return;
+        }
+        if ($('#visitDate').val().trim() == null || $('#visitDate').val().trim() == '') {
+            msg = '请选择回访日期!';
+            flag = false;
+            return;
+        }
+        if (visitTimeSelect == null || visitTimeSelect == '') {
+            msg = '请选择回访时间点!';
+            flag = false;
+            return;
+        }
+        if (visitAdminId == null || visitAdminId == '') {
+            msg = '请选择回访客服!';
+            flag = false;
+            return;
+        }
+    }
+
+    /**
+     * 添加回访信息
+     */
+    function addVisitInfo() {
+        checkValue();
+        if (flag) {
+            $.ajax({
+                cache: true,
+                type: "POST",
+                data: $('#form-admin-visit').serialize(),
+                url: "${path}/admin/customer/add_visit_info",
+                async: false,
+                success: function(data){
+                    if (data.returnCode == 200) {
+                        window.parent.custome_result(data.resultMsg,1);
+                        parent.location.reload();
+                        var index = parent.layer.getFrameIndex(window.name);
+                        parent.$('.btn-refresh').click();
+                        parent.layer.close(index);
+                    } else {
+                        window.parent.custome_result(data.resultMsg,5);
+                    }
+                },
+                error: function(XmlHttpRequest, textStatus, errorThrown){
+                    window.parent.admin_result("修改失败!",5);
+                    var index = parent.layer.getFrameIndex(window.name);
+                    parent.$('.btn-refresh').click();
+                    parent.layer.close(index);
+                }
+            });
+        } else {
+            layer.msg(msg, {icon: 5, time: 1000});
+        }
+    }
+
+    $('#visitAdminId').change(function() {
+        var name = $('#visitAdminId option:selected').html();
+        var adminId = $('#visitAdminId option:selected').val();
+        if (adminId == loginAdminId) {
+            $('#visit-admin').html('自己');
+        } else {
+            $('#visit-admin').html(name);
+        }
+    })
+</script>
+</body>
+</html>

+ 91 - 67
watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/custome_detail.ftl

@@ -104,67 +104,70 @@
             <div class="formControls col-10 col-sm-10">
             </div>
         </div>
-        <div class="row cl">
-            <label class="form-label col-1 col-sm-1"></label>
-            <div class="formControls col-10 col-sm-10">
-                <ul class="time-line-list">
-                    <!--<li id="li-1"><span class="arrow"></span><div id="number-1" class="number">1</div><div id="txt-1">录入客诉</div></li>
-                    <li id="li-2"><span class="arrow"></span><div id="number-2" class="number">2</div><div id="txt-2">督促用户寄回</div></li>
-                    <li id="li-3"><span class="arrow"></span><div id="number-3" class="number">3</div><div id="txt-3">录入快递单号</div></li>
-                    <li id="li-4"><span class="arrow"></span><div id="number-4" class="number">4</div><div id="txt-4">仓库收货</div></li>
-                    <li id="li-5"><span class="arrow"></span><div id="number-5" class="number">5</div><div id="txt-5">换新发货</div></li>
-                    <li id="li-6"><span class="arrow"></span><div id="number-6" class="number">6</div><div id="txt-6">发货通知用户</div></li>
-                    <li id="li-7"><span class="arrow"></span><div id="number-7" class="number">7</div><div id="txt-7">收货后回访</div></li>-->
-                </ul>
+        <div id="div_costomer" style="display: none;">
+            <div class="row cl">
+                <label class="form-label col-1 col-sm-1"></label>
+                <div class="formControls col-10 col-sm-10">
+                    <ul class="time-line-list">
+                        <!--<li id="li-1"><span class="arrow"></span><div id="number-1" class="number">1</div><div id="txt-1">录入客诉</div></li>
+                        <li id="li-2"><span class="arrow"></span><div id="number-2" class="number">2</div><div id="txt-2">督促用户寄回</div></li>
+                        <li id="li-3"><span class="arrow"></span><div id="number-3" class="number">3</div><div id="txt-3">录入快递单号</div></li>
+                        <li id="li-4"><span class="arrow"></span><div id="number-4" class="number">4</div><div id="txt-4">仓库收货</div></li>
+                        <li id="li-5"><span class="arrow"></span><div id="number-5" class="number">5</div><div id="txt-5">换新发货</div></li>
+                        <li id="li-6"><span class="arrow"></span><div id="number-6" class="number">6</div><div id="txt-6">发货通知用户</div></li>
+                        <li id="li-7"><span class="arrow"></span><div id="number-7" class="number">7</div><div id="txt-7">收货后回访</div></li>-->
+                    </ul>
+                </div>
             </div>
-        </div>
-        <div class="row cl">
-            <label class="form-label col-1 col-sm-1">订单信息</label>
-            <div class="formControls col-7 col-sm-7 text-c">
-                <table class="table table-border table-bg table-bordered">
-                    <tr>
-                        <th>销售</th>
-                        <th>订单号</th>
-                        <th>姓名</th>
-                        <th>电话</th>
-                        <th>订单金额</th>
-                        <th>购买产品</th>
-                        <th>购买日期</th>
-                    </tr>
-                    <tr>
-                        <td id="companyName"></td>
-                        <td id="salesOrderId"></td>
-                        <td id="salesAddressName"></td>
-                        <td id="salesAddressTel"></td>
-                        <td id="salesPayMoney"></td>
-                        <td id="salesItem"></td>
-                        <td id="salesPayTime"></td>
-                    </tr>
-                </table>
-            </div>
-        </div>
-        <div class="row cl" id="divCloseProdcue">
-            <label class="form-label col-1 col-sm-1">寄回产品:</label>
-            <div class="formControls col-5 col-sm-5">
-                <label id="closeprodcue"></label>
-                <!--TDS收集-->
-                <label id="customerTDS"></label>
+            <div class="row cl">
+                <label class="form-label col-1 col-sm-1">订单信息</label>
+                <div class="formControls col-7 col-sm-7 text-c">
+                    <table class="table table-border table-bg table-bordered">
+                        <tr>
+                            <th>销售</th>
+                            <th>订单号</th>
+                            <th>姓名</th>
+                            <th>电话</th>
+                            <th>订单金额</th>
+                            <th>购买产品</th>
+                            <th>购买日期</th>
+                        </tr>
+                        <tr>
+                            <td id="companyName"></td>
+                            <td id="salesOrderId"></td>
+                            <td id="salesAddressName"></td>
+                            <td id="salesAddressTel"></td>
+                            <td id="salesPayMoney"></td>
+                            <td id="salesItem"></td>
+                            <td id="salesPayTime"></td>
+                        </tr>
+                    </table>
+                </div>
             </div>
+            <div class="row cl" id="divCloseProdcue">
+                <label class="form-label col-1 col-sm-1">寄回产品:</label>
+                <div class="formControls col-5 col-sm-5">
+                    <label id="closeprodcue"></label>
+                    <!--TDS收集-->
+                    <label id="customerTDS"></label>
+                </div>
 
-        </div>
-        <div class="row cl">
-            <label class="form-label col-1 col-sm-1">收货地址:</label>
-            <div class="formControls col-5 col-sm-5">
-                <label id="relationSendMergeAddress"></label>
             </div>
+            <div class="row cl">
+                <label class="form-label col-1 col-sm-1">收货地址:</label>
+                <div class="formControls col-5 col-sm-5">
+                    <label id="relationSendMergeAddress"></label>
+                </div>
 
-        </div>
-        <div class="row cl" id="divSendProdcue">
-            <label class="form-label col-1 col-sm-1">寄送产品:</label>
-            <div class="formControls col-10 col-sm-10">
-                <label id="sendprodcue"></label>
+            </div>
+            <div class="row cl" id="divSendProdcue">
+                <label class="form-label col-1 col-sm-1">寄送产品:</label>
+                <div class="formControls col-10 col-sm-10">
+                    <label id="sendprodcue"></label>
+                </div>
             </div>
         </div>
+
         <div class="row cl">
             <label class="form-label col-1 col-sm-1">处理描述:</label>
             <div class="formControls col-5 col-sm-5">
@@ -214,6 +217,11 @@
         getCustomerInfo();
     });
 
+    var sendprodcue = '';
+    var sendprodcueshow = false;    //寄送产品
+    var closeprodcue = '';
+    var closeprodcueshow = false;   //寄回产品
+
     /**
      * 查询客诉基本信息
      */
@@ -230,6 +238,7 @@
                     var customer = data.returnMsg.customer;
                     var customerCommon = data.returnMsg.customerCommon;
                     var salesOrder = data.returnMsg.salesOrder;
+
                     if (customer.customerIsSolve != 1 && customer.customerIsSolve != 2) {
                         resultshow(customer.customerIsSolve, customerCommon.relationBackStatus,customerCommon.relationSendStatus,
                                 customerCommon.maintenanceIsRepair,customerCommon.detectState);
@@ -279,30 +288,23 @@
                     $('#salesPayTime').html(salesOrder.salesPayTime);
                     $('#relationSendMergeAddress').html(customerCommon.relationSendMergeAddress+"-"+customerCommon.relationSendAddress);
                     $('#describeHandleDesc').val(customer.describeHandleDesc);
-                    var sendprodcue = '';
-                    var sendprodcueshow = false;
-                    var closeprodcue = '';
-                    var closeprodcueshow = false;
+
                     if (customerCommon.sendProdcues != null && customerCommon.sendProdcues.length > 0) {
-                        sendprodcueshow = true;
                         $.each(customerCommon.sendProdcues,function(index,item){
                             sendprodcue += this.sendProduceName + '*' + this.sendProdcueNumber
                         })
                     }
                     if (customerCommon.sendFittings != null && customerCommon.sendFittings.length > 0) {
-                        sendprodcueshow = true;
                         $.each(customerCommon.sendFittings,function(index,item){
                             sendprodcue += this.sendProductName + '*' + this.sendFittingNumber
                         })
                     }
                     if (customerCommon.closedProdcues != null && customerCommon.closedProdcues.length > 0) {
-                        closeprodcueshow = true;
                         $.each(customerCommon.closedProdcues,function(index,item){
                             closeprodcue += this.closedProductName + '*' + this.closedProdcueNumber
                         })
                     }
                     if (customerCommon.closedFittings != null && customerCommon.closedFittings.length > 0) {
-                        closeprodcueshow = true;
                         $.each(customerCommon.closedFittings,function(index,item){
                             closeprodcue += this.fittingName + '*' + this.closedFittingNumber
                         })
@@ -363,11 +365,33 @@
         switch (customerIsSolve) {
             case 1:result = isSolve.solved;break;
             case 2:result = isSolve.noSolved;break;
-            case 3:result = isSolve.renewed;break;
-            case 4:result = isSolve.maintain;break;
-            case 5:result = isSolve.reissue;break;
-            case 6:result = isSolve.backGoods;break;
-            case 7:result = isSolve.noReasonBack;break;
+            case 3:
+                result = isSolve.renewed;
+                $('#div_costomer').show();
+                sendprodcueshow = true;
+                closeprodcueshow = true;
+                break;
+            case 4:
+                result = isSolve.maintain;
+                $('#div_costomer').show();
+                sendprodcueshow = true;
+                closeprodcueshow = true;
+                break;
+            case 5:
+                result = isSolve.reissue;
+                $('#div_costomer').show();
+                sendprodcueshow = true;
+                break;
+            case 6:
+                result = isSolve.backGoods;
+                $('#div_costomer').show();
+                closeprodcueshow = true;
+                break;
+            case 7:
+                result = isSolve.noReasonBack;
+                $('#div_costomer').show();
+                closeprodcueshow = true;
+                break;
         }
         for(var i = 0;i < result.length;i++){
             var html = statusHtml.replace("status_index",i+1);

File diff suppressed because it is too large
+ 34 - 1007
watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/custome_list.ftl


+ 76 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/describe_detail.ftl

@@ -0,0 +1,76 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+    <meta charset="utf-8">
+    <meta name="renderer" content="webkit|ie-comp|ie-stand">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
+    <meta http-equiv="Cache-Control" content="no-siteapp" />
+<#include "/base/add_base.ftl">
+    <link href="${path}/common/static/h-ui/css/H-ui.min.css" rel="stylesheet" type="text/css" />
+    <link href="${path}/common/static/h-ui.admin/css/H-ui.admin.css" rel="stylesheet" type="text/css" />
+    <!--<link href="lib/icheck/icheck.css" rel="stylesheet" type="text/css" />-->
+    <link href="${path}/common/lib/Hui-iconfont/1.0.8/iconfont.css" rel="stylesheet" type="text/css" />
+    <!--<link href="lib/webuploader/0.1.5/webuploader.css" rel="stylesheet" type="text/css" />-->
+    <title></title>
+</head>
+<body>
+<article class="cl pd-20">
+    <form action="" method="post" class="form form-horizontal" id="form-article-add">
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2 text-r">
+                <strong>问题简述:</strong>
+            </div>
+            <div class="formControls col-10 col-sm-10" id="txtDescribeTitle">
+
+            </div>
+
+        </div>
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2 text-r">
+                <strong>问题详情:</strong>
+            </div>
+            <div class="formControls col-10 col-sm-10" id="txtDescribeContent">
+
+            </div>
+        </div>
+        <#--<div class="row cl">
+            <div class="formControls col-2 col-sm-2">
+
+            </div>
+            <div class="formControls col-10 col-sm-10">
+                <img src="images/image-1.jpg" />
+            </div>
+        </div>-->
+    </form>
+    </div>
+</article>
+<script type="text/javascript" src="${path}/common/lib/jquery/1.9.1/jquery.min.js"></script>
+<script type="text/javascript" src="${path}/common/lib/layer/2.4/layer.js"></script>
+<script type="text/javascript" src="${path}/common/static/h-ui/js/H-ui.js"></script>
+<script type="text/javascript" src="${path}/common/static/h-ui.admin/js/H-ui.admin.js"></script>
+<script type="text/javascript">
+
+    var customerId = ${customerId!''};
+
+    $(function(){
+        $.ajax({
+            cache: true,
+            type: "POST",
+            data: {"customerId":customerId},
+            url: "${path}/admin/customer/get_describe_info",
+            async: false,
+            success: function(data){
+                if (data.returnCode == 200) {
+                    var describe = data.returnMsg.describe;
+                    $('#txtDescribeTitle').html(describe.describeTitle);
+                    $('#txtDescribeContent').html(describe.describeContent);
+                }
+            },
+            error: function(XmlHttpRequest, textStatus, errorThrown){
+            }
+        })
+    });
+</script>
+</body>
+</html>

+ 628 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/update_renewed.ftl

@@ -0,0 +1,628 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+    <meta charset="utf-8">
+    <meta name="renderer" content="webkit|ie-comp|ie-stand">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
+    <meta http-equiv="Cache-Control" content="no-siteapp" />
+<#include "/base/add_base.ftl">
+    <link href="${path}/common/static/h-ui/css/H-ui.min.css" rel="stylesheet" type="text/css" />
+    <link href="${path}/common/static/h-ui.admin/css/H-ui.admin.css" rel="stylesheet" type="text/css" />
+    <link href="${path}/common/lib/icheck/icheck.css" rel="stylesheet" type="text/css" />
+    <link href="${path}/common/lib/Hui-iconfont/1.0.8/iconfont.css" rel="stylesheet" type="text/css" />
+    <#--<link href="lib/webuploader/0.1.5/webuploader.css" rel="stylesheet" type="text/css" />-->
+    <style>
+        #province select{margin-right:10px; width:100px;height: 31px;-webkit-appearance:none !important;appearance:none;background: url(images/select-1.png) right center no-repeat;background-size: auto 100%;padding-left:3px;padding-right: 25px;}
+        .select-box{background: url(${path}/common/images/pts/select-1.png) right center no-repeat;background-size: auto 100%;}
+        .select-box select{-webkit-appearance:none !important;background-color: transparent; appearance:none;padding-right: 25px;}
+        .table-bg th{background-color: #e2f6ff;}
+        .update-parts>span{margin-right: 10px;padding: 3px 4px;background-color: #effaff;border: 1px solid #32a3d8;}
+    </style>
+    <title></title>
+</head>
+<body>
+<article class="cl pd-20">
+    <form action="" method="post" class="form form-horizontal" id="form-update-renewed" name="form-update-renewed">
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2 text-r">
+                <strong>当前进度</strong>
+            </div>
+            <div class="formControls col-10 col-sm-10">
+                <input type="hidden" id="renewedId" name="renewedId" />
+                <span id="renewedSchedule" class="c-red"></span>
+            </div>
+        </div>
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2 text-r">
+                <strong>产品寄回</strong>
+            </div>
+            <div class="formControls col-10 col-sm-10 skin-minimal">
+                <div class="radio-box">
+                    <input type="radio" name="renewedBackStatus" value="1">
+                    <label for="tel-3">未寄回</label>
+                </div>
+                <div class="radio-box">
+                    <input type="radio" name="renewedBackStatus" value="2">
+                    <label for="tel-4">已寄回</label>
+                </div>
+                <div class="radio-box">
+                    <input type="radio" name="renewedBackStatus" value="3">
+                    <label for="tel-4">已收货</label>
+                </div>
+            </div>
+        </div>
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2 text-r">
+                <strong>寄回信息</strong>
+            </div>
+            <div class="formControls col-10 col-sm-10">
+                <div style="width: 100px;display: inline-block;margin-right: 10px;">
+			<span class="select-box">
+				<select name="renewedBackLogisticsCompany" id="renewedBackLogisticsCompany" class="select">
+					<option value="sto">申通快递</option>
+                    <option value="yto">圆通快递</option>
+                    <option value="sf">顺丰快递</option>
+                    <option value="ems">邮政EMS</option>
+                    <option value="zto">中通快递</option>
+                    <option value="zjs">宅急送</option>
+                    <option value="yunda">韵达快递</option>
+                    <option value="cces">cces快递</option>
+                    <option value="pick">上门提货</option>
+                    <option value="htky">汇通快递</option>
+                    <option value="ttkdex">天天快递</option>
+                    <option value="stars">星晨急便</option>
+                    <option value="jd">京东快递</option>
+                    <option value="01">其他</option>
+                    <option value="02">上门送货</option>
+				</select>
+			</span>
+                </div>
+                <input style="width: 120px;margin-right: 10px;" type="text" class="input-text text-c" value="" placeholder="请输入快递单号" id="renewedBackLogisticsNo" name="renewedBackLogisticsNo">
+                <input style="width: 120px;margin-right: 10px;" type="text" class="input-text text-c" value="" placeholder="寄回邮费" id="renewedBackPostage" name="renewedBackPostage">
+                <input style="width: 120px;margin-right: 10px;" type="text" class="input-text text-c" value="" placeholder="用户支付宝账户" id="" name="">
+            </div>
+        </div>
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2 text-r">
+                <strong>邮费处理</strong>
+            </div>
+            <div class="formControls col-10 col-sm-10 skin-minimal">
+                <div class="radio-box">
+                    <input type="radio" checked="checked" id="tel-6" name="tel">
+                    <label for="tel-6">不需要转账</label>
+                </div>
+                <div class="radio-box">
+                    <input type="radio" id="tel-7" name="tel">
+                    <label for="tel-7">已转账</label>
+                </div>
+                <div class="radio-box">
+                    <input type="radio" id="tel-8" name="tel">
+                    <label for="tel-8">代转账</label>
+                </div>
+            </div>
+        </div>
+        <div class="row cl" style="position: relative;">
+            <div class="formControls col-2 col-sm-2 text-r">
+                <strong>寄件信息</strong>
+            </div>
+            <div class="formControls col-5 col-sm-5">
+                <input type="text" class="input-text text-c" value="" placeholder="寄件人姓名" id="renewedBackName" name="renewedBackName">
+            </div>
+            <div class="formControls col-5 col-sm-5">
+                <input type="text" class="input-text text-c" value="" placeholder="寄件人电话" id="renewedBackTel" name="renewedBackTel">
+            </div>
+        </div>
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2 text-r">
+                <strong>寄回产品</strong>
+            </div>
+            <div class="formControls col-10 col-sm-10">
+                <div class="update-parts" id="renewedProduct"></div>
+            </div>
+        </div>
+
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2 text-r">
+                <strong>是否寄出</strong>
+            </div>
+            <div class="formControls col-10 col-sm-10 skin-minimal">
+                <div class="radio-box">
+                    <input type="radio" name="renewedSendStatus" value="1">
+                    <label for="tel-9">未寄出</label>
+                </div>
+                <div class="radio-box">
+                    <input type="radio" name="renewedSendStatus" value="2">
+                    <label for="tel-10">已寄出</label>
+                </div>
+                <div class="radio-box">
+                    <input type="radio" name="renewedSendStatus" value="3">
+                    <label for="tel-10">已收货</label>
+                </div>
+                Efast订单号<input style="width: 200px;margin:0 10px;" type="text" class="input-text text-c" value="" placeholder="Efast订单号" id="renewedBackEfastOrderId" name="renewedBackEfastOrderId">
+            </div>
+        </div>
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2 text-r">
+                <strong>用户信息</strong>
+            </div>
+            <div class="formControls col-2 col-sm-2">
+                <input type="text" class="input-text" placeholder="填写收件人姓名" id="renewedSendName" name="renewedSendName">
+            </div>
+            <div class="formControls col-2 col-sm-2">
+                <input type="text" class="input-text" placeholder="填写收件人手机号" id="renewedSendTel" name="renewedSendTel">
+            </div>
+        </div>
+        <div class="row cl">
+            <label class="form-label col-2 col-sm-2"></label>
+            <div class="formControls col-4 col-sm-10">
+                <div style="width: 100px;display: inline-block;margin-right: 10px;">
+                    <span class="select-box">
+                        <select name="provinceNumber" id="provinceNumber" class="select"></select>
+                    </span>
+                </div>
+                <div style="width: 100px;display: inline-block;margin-right: 10px;">
+                    <span class="select-box">
+                        <select name="cityNumber" id="cityNumber" class="select"></select>
+                    </span>
+                </div>
+                <div style="width: 100px;display: inline-block;margin-right: 10px;">
+                    <span class="select-box">
+                        <select name="areaNumber" id="areaNumber" class="select"></select>
+                    </span>
+                </div>
+            </div>
+        </div>
+        <div class="row cl">
+            <label class="form-label col-2 col-sm-2"></label>
+            <div class="formControls col-5 col-sm-5">
+                <input type="text" class="input-text" placeholder="请填写详细地址" id="renewedSendAddress" name="renewedSendAddress">
+            </div>
+        </div>
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2 text-r">
+                <strong>寄出信息</strong>
+            </div>
+            <div class="formControls col-10 col-sm-10">
+                <div style="width: 100px;display: inline-block;margin-right: 10px;">
+			<span class="select-box">
+				<select name="renewedSendLogisticsCompany" id="renewedSendLogisticsCompany" class="select">
+					<option value="sto">申通快递</option>
+                    <option value="yto">圆通快递</option>
+                    <option value="sf">顺丰快递</option>
+                    <option value="ems">邮政EMS</option>
+                    <option value="zto">中通快递</option>
+                    <option value="zjs">宅急送</option>
+                    <option value="yunda">韵达快递</option>
+                    <option value="cces">cces快递</option>
+                    <option value="pick">上门提货</option>
+                    <option value="htky">汇通快递</option>
+                    <option value="ttkdex">天天快递</option>
+                    <option value="stars">星晨急便</option>
+                    <option value="jd">京东快递</option>
+                    <option value="01">其他</option>
+                    <option value="02">上门送货</option>
+				</select>
+			</span>
+                </div>
+                <input style="width: 120px;margin-right: 10px;" type="text" class="input-text text-c" value="" placeholder="快递单号" id="renewedSendLogisticsNo" name="renewedSendLogisticsNo">
+            </div>
+        </div>
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2 text-r">
+                <strong>寄出备注</strong>
+            </div>
+            <div class="formControls col-10 col-sm-10">
+                <input type="text" class="input-text" placeholder="寄出备注" id="renewedDesc" name="renewedDesc">
+            </div>
+        </div>
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2 text-r">
+                <strong>寄出产品</strong>
+            </div>
+            <div class="formControls col-10 col-sm-10">
+                <div class="update-parts"><span>红色净水机(wx-1)x 1台</span><span>水箱 x 1件</span><span>t1 x 1件</span><span>t2 x 1件</span></div>
+            </div>
+        </div>
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2">
+            </div>
+            <div class="formControls col-10 col-sm-10">
+                (如需修改,在Efast系统作废订单,重新生成订单,并与此处修改Efast重新生成的订单号!)
+            </div>
+        </div>
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2">
+                <strong>QC进度</strong>
+            </div>
+            <div class="formControls col-10 col-sm-10">
+                <table class="table table-border table-bg table-bordered">
+                    <tbody class="text-c"><tr>
+                        <th>工厂检测现象</th><th>故障分类</th><th>故障原因</th><th>判定结果</th><th>故障指向</th><th>原因分析</th><th>生产维修</th>
+                    </tr>
+                    <tr>
+                        <td id="detectPhenomenon"></td>
+                        <td id="detectFailureClassification"></td>
+                        <td id="detectFailureCause"></td>
+                        <td id="detectResults"></td>
+                        <td id="detectPoint"></td>
+                        <td id="detectAnalysis"></td>
+                        <td id="detectRevolutionProduced"></td>
+                    </tr>
+                    </tbody></table>
+            </div>
+        </div>
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2">
+                <strong>返修进度</strong>
+            </div>
+            <div class="formControls col-10 col-sm-10">
+                <table class="table table-border table-bg table-bordered">
+                    <tbody class="text-c"><tr>
+                        <th>是否可返修</th><th>返修内容</th><th>返修日期</th>
+                    </tr>
+                    <tr>
+                        <td id="maintenanceIdRepair"></td>
+                        <td id="maintenanceContent"></td>
+                        <td id="maintenanceContentDate"></td>
+                    </tr>
+                    </tbody></table>
+            </div>
+        </div>
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2">
+            </div>
+            <div class="formControls col-10 col-sm-10">
+                寄送产品将自动推送Efast,系统自动获取物流信息,并更新。如果在Efast作废订单等操作后,无法获取物流信息,请手动填写物流信息。
+            </div>
+        </div>
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2">
+            </div>
+            <div class="formControls col-8 col-sm-8 text-c">
+                <button onClick="update_renewed_info();" class="btn btn-primary" type="button">确认修改</button>
+            </div>
+        </div>
+    </form>
+    </div>
+</article>
+<script type="text/javascript" src="${path}/common/lib/jquery/1.9.1/jquery.min.js"></script>
+<script type="text/javascript" src="${path}/common/lib/layer/2.4/layer.js"></script>
+<script type="text/javascript" src="${path}/common/lib/My97DatePicker/4.8/WdatePicker.js"></script>
+<script type="text/javascript" src="${path}/common/lib/icheck/jquery.icheck.min.js"></script>
+<#--<script type="text/javascript" src="lib/Validform/5.3.2/Validform.min.js"></script>
+<script type="text/javascript" src="lib/webuploader/0.1.5/webuploader.min.js"></script>-->
+<script type="text/javascript" src="${path}/common/static/h-ui/js/H-ui.js"></script>
+<script type="text/javascript" src="${path}/common/static/h-ui.admin/js/H-ui.admin.js"></script>
+<#--<script type="text/javascript" src="lib/provincesData.js"></script>
+<script type="text/javascript" src="lib/dimensions.js"></script>
+<script type="text/javascript" src="lib/suggest.js"></script>-->
+<script type="text/javascript">
+
+    var mobile= /^1(3|4|5|7|8)\d{9}$/; //手机号码
+    var uname = /^[\u4e00-\u9fa5a-zA-Z]{1,12}$/; //中文英文
+    var money = /^(([1-9][0-9]*)|(([0]\.\d{1,2}|[1-9][0-9]*\.\d{1,2})))$/;//金额
+
+    $(function(){
+        $('.skin-minimal input').iCheck({
+            checkboxClass: 'icheckbox-blue',
+            radioClass: 'iradio-blue',
+            increaseArea: '20%'
+        });
+        /*$("#province").ProvinceCity();
+        $('.skin-minimal input').iCheck({
+            checkboxClass: 'icheckbox-blue',
+            radioClass: 'iradio-blue',
+            increaseArea: '20%'
+        });
+        $("#arrcity").suggest(citys,{hot_list:commoncitys,dataContainer:'#arrcity_3word',onSelect:function(result){
+            console.log($(this)[0].value);
+//		$("#city2").click()
+        },
+            attachObject:'#suggest'
+        });*/
+        get_renewed_info();
+//$("#city2").suggest(citys,{hot_list:commoncitys,attachObject:"#suggest2"})
+    });
+
+    /*获取换新信息*/
+    function get_renewed_info() {
+        $.ajax({
+            cache: true,
+            type: "POST",
+            data: {"customerId":${customerId}},
+            url: "${path}/admin/customer/get_renewed_info",
+            async: false,
+            success: function(data){
+                if (data.returnCode == 200) {
+                    var renewed = data.returnMsg.renewed;
+                    console.log(renewed);
+                    getProvince('provinceNumber');
+                    getCity('cityNumber',renewed.provinceNumber);
+                    getDistrict('areaNumber',renewed.cityNumber);
+                    var renewedSchedule = '';
+                    switch (renewed.renewedBackStatus) {
+                        case 1:renewedSchedule += '未寄回,';break;
+                        case 2:renewedSchedule += '已寄回,';break;
+                        case 3:renewedSchedule += '已收货,';break;
+                    }
+                    switch (renewed.renewedSendStatus) {
+                        case 1:renewedSchedule += '未寄出,';break;
+                        case 2:renewedSchedule += '已寄出,';break;
+                        case 3:renewedSchedule += '已收货,';break;
+                    }
+                    switch (renewed.detectState) {
+                        case 1:renewedSchedule += '待仓库转入';break;
+                        case 2:renewedSchedule += '正在检查';break;
+                        case 3:renewedSchedule += '检查通过';break;
+                        case 4:renewedSchedule += '检查未通过';break;
+                    }
+                    var renewedProduct = '';
+                    if (renewed.closedProdcues != null && renewed.closedProdcues.length > 0) {
+                        $.each(backGoods.closedProdcues,function(index,element){
+                            renewedProduct += '<span>'+ this.closedProductName + '*' + this.closedProdcueNumber + '</span>';
+                        })
+                    }
+                    if (renewed.closedFittings != null && renewed.closedFittings.length > 0) {
+                        $.each(renewed.closedFittings,function(index,element){
+                            renewedProduct += '<span>'+ this.fittingName + '*' + this.closedFittingNumber + '</span>';
+                        })
+                    }
+                    $('#renewedId').val(renewed.renewedId);
+                    $('input[name="renewedBackStatus"]').each(function(){
+                        if (this.value == renewed.renewedBackStatus) {
+                            $(this).iCheck('check');
+                        }
+                    });
+                    $('input[name="renewedSendStatus"]').each(function(){
+                        if (this.value == renewed.renewedSendStatus) {
+                            $(this).iCheck('check');
+                        }
+                    });
+                    $('#renewedSchedule').html(renewedSchedule);
+                    $('#renewedProduct').val(renewedProduct);
+                    $("#renewedBackLogisticsCompany option[value='" + renewed.renewedBackLogisticsCompany + "']").attr("selected","true");
+                    $("#renewedSendLogisticsCompany option[value='" + renewed.renewedSendLogisticsCompany + "']").attr("selected","true");
+
+                    $("#provinceNumber option[value='" + renewed.provinceNumber + "']").attr("selected","true");
+                    $("#cityNumber option[value='" + renewed.cityNumber + "']").attr("selected","true");
+                    $("#areaNumber option[value='" + renewed.areaNumber + "']").attr("selected","true");
+                    $('#renewedBackLogisticsNo').val(renewed.renewedBackLogisticsNo);
+                    $('#renewedBackPostage').val(renewed.renewedBackPostage/100);
+                    $('#renewedBackName').val(renewed.renewedBackName);
+                    $('#renewedBackTel').val(renewed.renewedBackTel);
+                    //$('#renewedBackMachineNo').val(renewed.renewedBackMachineNo);
+                    $('#renewedBackEfastOrderId').val(renewed.renewedBackEfastOrderId);
+                    $('#renewedSendName').val(renewed.renewedSendName);
+                    $('#renewedSendTel').val(renewed.renewedSendTel);
+                    $('#renewedSendAddress').val(renewed.renewedSendAddress);
+                    $('#renewedSendLogisticsNo').val(renewed.renewedSendLogisticsNo);
+                    $('#renewedDesc').val(renewed.renewedDesc);
+                    $('#detectPhenomenon').val(renewed.detectPhenomenon);
+                    $('#detectFailureClassification').val(renewed.detectFailureClassification);
+                    $('#detectFailureCause').val(renewed.detectFailureCause);
+                    $('#detectResults').val(renewed.detectResults);
+                    $('#detectPoint').val(renewed.detectPoint);
+                    $('#detectAnalysis').val(renewed.detectAnalysis);
+                    $('#detectRevolutionProduced').val(renewed.detectRevolutionProduced);
+                    $('#maintenanceIdRepair').val(renewed.maintenanceIdRepair);
+                    $('#maintenanceContent').val(renewed.maintenanceContent);
+                    $('#maintenanceContentDate').val(renewed.maintenanceContentDate);
+                }
+            },
+            error: function(XmlHttpRequest, textStatus, errorThrown){
+            }
+        })
+    }
+
+    /*修改换新信息*/
+    function update_renewed_info() {
+        var renewed_flag = checkRenewed();
+        if (renewed_flag) {
+            $.ajax({
+                cache: true,
+                type: "POST",
+                data: $('#form-update-renewed').serialize(),
+                url: "${path}/admin/customer/update_renewed_info",
+                async: false,
+                success: function(data){
+                    if (data.returnCode == 200) {
+                        window.parent.custome_result(data.resultMsg,1);
+                        parent.location.reload();
+                        var index = parent.layer.getFrameIndex(window.name);
+                        parent.layer.close(index);
+                    } else {
+                        window.parent.custome_result(data.resultMsg,5);
+                    }
+                },
+                error: function(XmlHttpRequest, textStatus, errorThrown){
+                    window.parent.admin_result("修改失败!",5);
+                    var index = parent.layer.getFrameIndex(window.name);
+                    parent.layer.close(index);
+                }
+            })
+        }
+    }
+
+    /*校验换新填写信息*/
+    function checkRenewed() {
+        var renewed_flag = true;
+        var renewedBackStatus = $('input[name="renewedBackStatus"]:checked').val();//寄回状态
+        var renewedBackLogisticsNo = $('#renewedBackLogisticsNo').val().trim();//物流单号
+        var renewedBackPostage = $('#renewedBackPostage').val().trim();//寄回邮费
+        var renewedBackLogisticsCompany = $("#renewedBackLogisticsCompany option:selected").val();//寄回物流公司
+        var renewedBackName = $('#renewedBackName').val();
+        var renewedBackTel = $('#renewedBackTel').val();
+        //var renewedBackMachineNo = $('#renewedBackMachineNo').val();
+        if (renewedBackStatus == 1) {
+            if (renewedBackLogisticsNo != null && renewedBackLogisticsNo != '') {
+                alert("产品未寄回,不能有物流信息!");
+                renewed_flag = false;
+                return renewed_flag;
+            }
+            if (renewedBackPostage != null && renewedBackPostage != '') {
+                alert("产品未寄回,不能有邮费!");
+                renewed_flag = false;
+                return renewed_flag;
+            }
+            if (renewedBackLogisticsCompany != null && renewedBackLogisticsCompany != '') {
+                alert("产品未寄回,不能选择物流公司!");
+                renewed_flag = false;
+                return renewed_flag;
+            }
+            if (renewedBackName != null && renewedBackName != '') {
+                alert("产品未寄回,不能填写寄回人信息!");
+                renewed_flag = false;
+                return renewed_flag;
+            }
+            if (renewedBackTel != null && renewedBackTel != '') {
+                alert("产品未寄回,不能填写寄回人电话号码!");
+                renewed_flag = false;
+                return renewed_flag;
+            }
+            /*if (renewedBackMachineNo != null && renewedBackMachineNo != '') {
+                alert("产品未寄回,不能填写机器编号!");
+                renewed_flag = false;
+                return renewed_flag;
+            }*/
+        } else if (renewedBackStatus == 2 || renewedBackStatus == 3) {
+            if (renewedBackLogisticsNo == null || renewedBackLogisticsNo == '') {
+                alert("物流信息不能为空!");
+                renewed_flag = false;
+                return renewed_flag;
+            }
+            if (!money.test(renewedBackPostage)) {
+                alert("邮费格式不正确,请重新输入!");
+                renewed_flag = false;
+                return renewed_flag;
+            }
+            if (renewedBackLogisticsCompany == null || renewedBackLogisticsCompany == '') {
+                alert("请选择物流公司!");
+                renewed_flag = false;
+                return renewed_flag;
+            }
+            if (!uname.test(renewedBackName)) {
+                alert("寄回人信息格式不正确,请重新输入!");
+                renewed_flag = false;
+                return renewed_flag;
+            }
+            if (!mobile.test(renewedBackTel)) {
+                alert("寄回人电话号码格式不正确,请重新输入!");
+                renewed_flag = false;
+                return renewed_flag;
+            }
+            /*if (renewedBackMachineNo == null || renewedBackMachineNo == '') {
+                alert("机器编号不能为空!");
+                renewed_flag = false;
+                return renewed_flag;
+            }*/
+        }
+        var renewedSendName = $('#renewedSendName').val();
+        if (!uname.test(renewedSendName)) {
+            alert("寄回人信息格式不正确,请重新输入!");
+            renewed_flag = false;
+            return renewed_flag;
+        }
+        var renewedSendTel = $('#renewedSendTel').val();
+        if (!mobile.test(renewedSendTel)) {
+            alert("寄回人电话号码格式不正确,请重新输入!");
+            renewed_flag = false;
+            return renewed_flag;
+        }
+        var renewedSendAddress = $('#renewedSendAddress').val();
+        if (renewedSendAddress == null || renewedSendAddress == '') {
+            alert("寄出地址不能为空!");
+            renewed_flag = false;
+            return renewed_flag;
+        }
+        var renewedSendStatus = $('input[name="renewedSendStatus"]:checked').val();//寄回状态
+        var renewedSendLogisticsCompany = $('#renewedSendLogisticsCompany').val();//寄出物流公司
+        var renewedSendLogisticsNo = $('#renewedSendLogisticsNo').val();//寄出物流单号
+        if (renewedSendLogisticsCompany == 1) {
+            if (renewedSendLogisticsCompany != null && renewedSendLogisticsCompany != '') {
+                alert("产品未寄送,不能选择物流公司!");
+                renewed_flag = false;
+                return renewed_flag;
+            }
+            if (renewedSendLogisticsNo != null && renewedSendLogisticsNo != '') {
+                alert("产品未寄送,不能填写物流单号!");
+                renewed_flag = false;
+                return renewed_flag;
+            }
+        } else if (renewedSendLogisticsCompany == 2 || renewedSendLogisticsCompany == 3) {
+            if (renewedSendLogisticsCompany == null || renewedSendLogisticsCompany == '') {
+                alert("请选择寄回物流公司!");
+                renewed_flag = false;
+                return renewed_flag;
+            }
+            if (renewedSendLogisticsNo == null || renewedSendLogisticsNo == '') {
+                alert("请填写物流单号!");
+                renewed_flag = false;
+                return renewed_flag;
+            }
+        }
+        return renewed_flag;
+    }
+
+    /**
+     * 获取省
+     */
+    function getProvince(provinceNum) {
+        var province = listProvince();
+        if(province!=null){
+            var provinceHtml = '';
+            for(var i=0;i<province.length;i++){
+                provinceHtml += '<option value="'+ province[i].provinceId +'">'+ province[i].province +'</option>';
+            }
+            $('#'+provinceNum).append(provinceHtml);
+        }
+    }
+
+    /**
+     * 获取市
+     */
+    function getCity(cityNum,provineceId) {
+        var city = listCity(provineceId,'');
+        if(city!=null){
+            var cityHtml = '';
+            for(var i=0;i<city.length;i++){
+                cityHtml += '<option value="'+ city[i].cityId +'">'+ city[i].city +'</option>';
+            }
+            $('#'+cityNum).append(cityHtml);
+        }
+    }
+
+    /**
+     * 获取区
+     */
+    function getDistrict(districtNum,cityId) {
+        var district = listDistrict(cityId,'');
+        if(district!=null){
+            var districtHtml = '';
+            for(var i=0;i<district.length;i++){
+                districtHtml += '<option value="'+ district[i].districtId +'">'+ district[i].district +'</option>';
+            }
+            $('#'+districtNum).append(districtHtml);
+        }
+    }
+
+    /*监听市选择事件*/
+    $(document).on('change', '#cityNumber', function() {
+        var city = $("#cityNumber").val();
+        $('#areaNumber option').remove();
+        getDistrict('areaNumber',city);
+    });
+
+    /*监听省选择事件*/
+    $(document).on('change', '#repairProvinceNumber', function() {
+        var proId = $("#repairProvinceNumber").val();
+        $('#repairCityNumber option').remove();
+        getCity('repairCityNumber',proId);
+        var cityId = $("#cityNumber").val();
+        $('#repairAreaNumber option').remove();
+        getDistrict('repairAreaNumber',cityId);
+    });
+
+</script>
+</body>
+</html>

+ 629 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/update_repair.ftl

@@ -0,0 +1,629 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+    <meta charset="utf-8">
+    <meta name="renderer" content="webkit|ie-comp|ie-stand">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
+    <meta http-equiv="Cache-Control" content="no-siteapp" />
+<#include "/base/add_base.ftl">
+    <link href="${path}/common/static/h-ui/css/H-ui.min.css" rel="stylesheet" type="text/css" />
+    <link href="${path}/common/static/h-ui.admin/css/H-ui.admin.css" rel="stylesheet" type="text/css" />
+    <link href="${path}/common/lib/icheck/icheck.css" rel="stylesheet" type="text/css" />
+    <link href="${path}/common/lib/Hui-iconfont/1.0.8/iconfont.css" rel="stylesheet" type="text/css" />
+<#--<link href="lib/webuploader/0.1.5/webuploader.css" rel="stylesheet" type="text/css" />-->
+    <style>
+        #province select{margin-right:10px; width:100px;height: 31px;-webkit-appearance:none !important;appearance:none;background: url(images/select-1.png) right center no-repeat;background-size: auto 100%;padding-left:3px;padding-right: 25px;}
+        .select-box{background: url(${path}/common/images/pts/select-1.png) right center no-repeat;background-size: auto 100%;}
+        .select-box select{-webkit-appearance:none !important;background-color: transparent; appearance:none;padding-right: 25px;}
+        .table-bg th{background-color: #e2f6ff;}
+        .update-parts>span{margin-right: 10px;padding: 3px 4px;background-color: #effaff;border: 1px solid #32a3d8;}
+    </style>
+    <title></title>
+</head>
+<body>
+<article class="cl pd-20">
+    <form action="" method="post" class="form form-horizontal" id="form-update-repair" name="form-update-repair">
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2 text-r">
+                <strong>当前进度</strong>
+            </div>
+            <div class="formControls col-10 col-sm-10">
+                <input type="hidden" id="repairId" name="repairId" />
+                <span id="repairSchedule" class="c-red"></span>
+            </div>
+        </div>
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2 text-r">
+                <strong>产品寄回</strong>
+            </div>
+            <div class="formControls col-10 col-sm-10 skin-minimal">
+                <div class="radio-box">
+                    <input type="radio" name="repairBackStatus" value="1">
+                    <label for="tel-3">未寄回</label>
+                </div>
+                <div class="radio-box">
+                    <input type="radio" name="repairBackStatus" value="2">
+                    <label for="tel-4">已寄回</label>
+                </div>
+                <div class="radio-box">
+                    <input type="radio" name="repairBackStatus" value="3">
+                    <label for="tel-4">已收货</label>
+                </div>
+            </div>
+        </div>
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2 text-r">
+                <strong>寄回信息</strong>
+            </div>
+            <div class="formControls col-10 col-sm-10">
+                <div style="width: 100px;display: inline-block;margin-right: 10px;">
+			<span class="select-box">
+				<select name="repairBackLogisticsCompany" id="repairBackLogisticsCompany" class="select">
+					<option value="sto">申通快递</option>
+                    <option value="yto">圆通快递</option>
+                    <option value="sf">顺丰快递</option>
+                    <option value="ems">邮政EMS</option>
+                    <option value="zto">中通快递</option>
+                    <option value="zjs">宅急送</option>
+                    <option value="yunda">韵达快递</option>
+                    <option value="cces">cces快递</option>
+                    <option value="pick">上门提货</option>
+                    <option value="htky">汇通快递</option>
+                    <option value="ttkdex">天天快递</option>
+                    <option value="stars">星晨急便</option>
+                    <option value="jd">京东快递</option>
+                    <option value="01">其他</option>
+                    <option value="02">上门送货</option>
+				</select>
+			</span>
+                </div>
+                <input style="width: 120px;margin-right: 10px;" type="text" class="input-text text-c" value="" placeholder="请输入快递单号" id="repairBackLogisticsNo" name="repairBackLogisticsNo">
+                <input style="width: 120px;margin-right: 10px;" type="text" class="input-text text-c" value="" placeholder="寄回邮费" id="repairBackPostage" name="repairBackPostage">
+                <input style="width: 120px;margin-right: 10px;" type="text" class="input-text text-c" value="" placeholder="用户支付宝账户" id="" name="">
+            </div>
+        </div>
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2 text-r">
+                <strong>邮费处理</strong>
+            </div>
+            <div class="formControls col-10 col-sm-10 skin-minimal">
+                <div class="radio-box">
+                    <input type="radio" checked="checked" id="tel-6" name="tel">
+                    <label for="tel-6">不需要转账</label>
+                </div>
+                <div class="radio-box">
+                    <input type="radio" id="tel-7" name="tel">
+                    <label for="tel-7">已转账</label>
+                </div>
+                <div class="radio-box">
+                    <input type="radio" id="tel-8" name="tel">
+                    <label for="tel-8">代转账</label>
+                </div>
+            </div>
+        </div>
+        <div class="row cl" style="position: relative;">
+            <div class="formControls col-2 col-sm-2 text-r">
+                <strong>寄件信息</strong>
+            </div>
+            <div class="formControls col-5 col-sm-5">
+                <input type="text" class="input-text text-c" value="" placeholder="寄件人姓名" id="repairBackName" name="repairBackName">
+            </div>
+            <div class="formControls col-5 col-sm-5">
+                <input type="text" class="input-text text-c" value="" placeholder="寄件人电话" id="repairBackTel" name="repairBackTel">
+            </div>
+        </div>
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2 text-r">
+                <strong>寄回产品</strong>
+            </div>
+            <div class="formControls col-10 col-sm-10">
+                <div class="update-parts" id="repairProduct"></div>
+            </div>
+        </div>
+
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2 text-r">
+                <strong>是否寄出</strong>
+            </div>
+            <div class="formControls col-10 col-sm-10 skin-minimal">
+                <div class="radio-box">
+                    <input type="radio" name="repairSendStatus" value="1">
+                    <label for="tel-9">未寄出</label>
+                </div>
+                <div class="radio-box">
+                    <input type="radio" name="repairSendStatus" value="2">
+                    <label for="tel-10">已寄出</label>
+                </div>
+                <div class="radio-box">
+                    <input type="radio" name="repairSendStatus" value="3">
+                    <label for="tel-10">已收货</label>
+                </div>
+                Efast订单号<input style="width: 200px;margin:0 10px;" type="text" class="input-text text-c" value="" placeholder="Efast订单号" id="repairBackEfastOrderId" name="repairBackEfastOrderId">
+            </div>
+        </div>
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2 text-r">
+                <strong>用户信息</strong>
+            </div>
+            <div class="formControls col-2 col-sm-2">
+                <input type="text" class="input-text" placeholder="填写收件人姓名" id="repairSendName" name="repairSendName">
+            </div>
+            <div class="formControls col-2 col-sm-2">
+                <input type="text" class="input-text" placeholder="填写收件人手机号" id="repairSendTel" name="repairSendTel">
+            </div>
+        </div>
+        <div class="row cl">
+            <label class="form-label col-2 col-sm-2"></label>
+            <div class="formControls col-4 col-sm-10">
+                <div style="width: 100px;display: inline-block;margin-right: 10px;">
+                    <span class="select-box">
+                        <select name="repairProvinceNumber" id="repairProvinceNumber" class="select"></select>
+                    </span>
+                </div>
+                <div style="width: 100px;display: inline-block;margin-right: 10px;">
+                    <span class="select-box">
+                        <select name="repairCityNumber" id="repairCityNumber" class="select"></select>
+                    </span>
+                </div>
+                <div style="width: 100px;display: inline-block;margin-right: 10px;">
+                    <span class="select-box">
+                        <select name="repairAreaNumber" id="repairAreaNumber" class="select"></select>
+                    </span>
+                </div>
+            </div>
+        </div>
+        <div class="row cl">
+            <label class="form-label col-2 col-sm-2"></label>
+            <div class="formControls col-5 col-sm-5">
+                <input type="text" class="input-text" placeholder="请填写详细地址" id="repairSendAddress" name="repairSendAddress">
+            </div>
+        </div>
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2 text-r">
+                <strong>寄出信息</strong>
+            </div>
+            <div class="formControls col-10 col-sm-10">
+                <div style="width: 100px;display: inline-block;margin-right: 10px;">
+			<span class="select-box">
+				<select name="repairSendLogisticsCompany" id="repairSendLogisticsCompany" class="select">
+					<option value="sto">申通快递</option>
+                    <option value="yto">圆通快递</option>
+                    <option value="sf">顺丰快递</option>
+                    <option value="ems">邮政EMS</option>
+                    <option value="zto">中通快递</option>
+                    <option value="zjs">宅急送</option>
+                    <option value="yunda">韵达快递</option>
+                    <option value="cces">cces快递</option>
+                    <option value="pick">上门提货</option>
+                    <option value="htky">汇通快递</option>
+                    <option value="ttkdex">天天快递</option>
+                    <option value="stars">星晨急便</option>
+                    <option value="jd">京东快递</option>
+                    <option value="01">其他</option>
+                    <option value="02">上门送货</option>
+				</select>
+			</span>
+                </div>
+                <input style="width: 120px;margin-right: 10px;" type="text" class="input-text text-c" value="" placeholder="快递单号" id="repairSendLogisticsNo" name="repairSendLogisticsNo">
+            </div>
+        </div>
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2 text-r">
+                <strong>寄出备注</strong>
+            </div>
+            <div class="formControls col-10 col-sm-10">
+                <input type="text" class="input-text" placeholder="寄出备注" id="repairDesc" name="repairDesc">
+            </div>
+        </div>
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2 text-r">
+                <strong>寄出产品</strong>
+            </div>
+            <div class="formControls col-10 col-sm-10">
+                <div class="update-parts"><span>红色净水机(wx-1)x 1台</span><span>水箱 x 1件</span><span>t1 x 1件</span><span>t2 x 1件</span></div>
+            </div>
+        </div>
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2">
+            </div>
+            <div class="formControls col-10 col-sm-10">
+                (如需修改,在Efast系统作废订单,重新生成订单,并与此处修改Efast重新生成的订单号!)
+            </div>
+        </div>
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2">
+                <strong>QC进度</strong>
+            </div>
+            <div class="formControls col-10 col-sm-10">
+                <table class="table table-border table-bg table-bordered">
+                    <tbody class="text-c"><tr>
+                        <th>工厂检测现象</th><th>故障分类</th><th>故障原因</th><th>判定结果</th><th>故障指向</th><th>原因分析</th><th>生产维修</th>
+                    </tr>
+                    <tr>
+                        <td id="repairDetectPhenomenon"></td>
+                        <td id="repairDetectFailureClassification"></td>
+                        <td id="repairDetectFailureCause"></td>
+                        <td id="repairDetectResults"></td>
+                        <td id="repairDetectPoint"></td>
+                        <td id="repairDetectAnalysis"></td>
+                        <td id="repairDetectRevolutionProduced"></td>
+                    </tr>
+                    </tbody></table>
+            </div>
+        </div>
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2">
+                <strong>返修进度</strong>
+            </div>
+            <div class="formControls col-10 col-sm-10">
+                <table class="table table-border table-bg table-bordered">
+                    <tbody class="text-c"><tr>
+                        <th>是否可返修</th><th>返修内容</th><th>返修日期</th>
+                    </tr>
+                    <tr>
+                        <td id="repairMaintenanceIdRepair"></td>
+                        <td id="repairMaintenanceContent"></td>
+                        <td id="repairMaintenanceContentDate"></td>
+                    </tr>
+                    </tbody></table>
+            </div>
+        </div>
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2">
+            </div>
+            <div class="formControls col-10 col-sm-10">
+                寄送产品将自动推送Efast,系统自动获取物流信息,并更新。如果在Efast作废订单等操作后,无法获取物流信息,请手动填写物流信息。
+            </div>
+        </div>
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2">
+            </div>
+            <div class="formControls col-8 col-sm-8 text-c">
+                <button onClick="update_repair_info();" class="btn btn-primary" type="button">确认修改</button>
+            </div>
+        </div>
+    </form>
+    </div>
+</article>
+<script type="text/javascript" src="${path}/common/lib/jquery/1.9.1/jquery.min.js"></script>
+<script type="text/javascript" src="${path}/common/lib/layer/2.4/layer.js"></script>
+<script type="text/javascript" src="${path}/common/lib/My97DatePicker/4.8/WdatePicker.js"></script>
+<script type="text/javascript" src="${path}/common/lib/icheck/jquery.icheck.min.js"></script>
+<#--<script type="text/javascript" src="lib/Validform/5.3.2/Validform.min.js"></script>
+<script type="text/javascript" src="lib/webuploader/0.1.5/webuploader.min.js"></script>-->
+<script type="text/javascript" src="${path}/common/static/h-ui/js/H-ui.js"></script>
+<script type="text/javascript" src="${path}/common/static/h-ui.admin/js/H-ui.admin.js"></script>
+<#--<script type="text/javascript" src="lib/provincesData.js"></script>
+<script type="text/javascript" src="lib/dimensions.js"></script>
+<script type="text/javascript" src="lib/suggest.js"></script>-->
+<script type="text/javascript">
+
+    var mobile= /^1(3|4|5|7|8)\d{9}$/; //手机号码
+    var uname = /^[\u4e00-\u9fa5a-zA-Z]{1,12}$/; //中文英文
+    var money = /^(([1-9][0-9]*)|(([0]\.\d{1,2}|[1-9][0-9]*\.\d{1,2})))$/;//金额
+
+    $(function(){
+        $('.skin-minimal input').iCheck({
+            checkboxClass: 'icheckbox-blue',
+            radioClass: 'iradio-blue',
+            increaseArea: '20%'
+        });
+        /*$("#province").ProvinceCity();
+        $('.skin-minimal input').iCheck({
+            checkboxClass: 'icheckbox-blue',
+            radioClass: 'iradio-blue',
+            increaseArea: '20%'
+        });
+        $("#arrcity").suggest(citys,{hot_list:commoncitys,dataContainer:'#arrcity_3word',onSelect:function(result){
+            console.log($(this)[0].value);
+//		$("#city2").click()
+        },
+            attachObject:'#suggest'
+        });*/
+        get_repair_info();
+//$("#city2").suggest(citys,{hot_list:commoncitys,attachObject:"#suggest2"})
+    });
+
+    /*获取维修信息*/
+    function get_repair_info() {
+        $.ajax({
+            cache: true,
+            type: "POST",
+            data: {"customerId":${customerId}},
+            url: "${path}/admin/customer/_update_repair",
+            async: false,
+            success: function(data){
+                if (data.returnCode == 200) {
+                    var repair = data.returnMsg.repair;
+                    getProvince('repairProvinceNumber');
+                    getCity('repairCityNumber',repair.provinceNumber);
+                    getDistrict('repairAreaNumber',repair.cityNumber);
+                    console.log(repair);
+                    var repairSchedule = '';
+                    switch (repair.repairBackStatus) {
+                        case 1:repairSchedule += '待寄回,';break;
+                        case 2:repairSchedule += '已寄回,';break;
+                        case 3:repairSchedule += '已收货,';break;
+                    }
+                    switch (repair.repairSendStatus) {
+                        case 1:repairSchedule += '未寄出,';break;
+                        case 2:repairSchedule += '已寄出,';break;
+                        case 3:repairSchedule += '已收货,';break;
+                    }
+                    switch (repair.detectState) {
+                        case 1:repairSchedule += '待仓库转入';break;
+                        case 2:repairSchedule += '正在检查';break;
+                        case 3:repairSchedule += '检查通过';break;
+                        case 4:repairSchedule += '检查未通过';break;
+                    }
+                    var repairProduct = '';
+                    if (repair.closedProdcues != null && repair.closedProdcues.length > 0) {
+                        $.each(repair.closedProdcues,function(index,element){
+                            repairProduct += '<span>'+ this.closedProductName + '*' + this.closedProdcueNumber + '</span>';
+                        })
+                    }
+                    if (repair.closedFittings != null && repair.closedFittings.length > 0) {
+                        $.each(repair.closedFittings,function(index,element){
+                            repairProduct += '<span>'+ this.fittingName + '*' + this.closedFittingNumber + '</span>';
+                        })
+                    }
+                    $('#repairId').val(repair.repairId);
+                    $('input[name="repairBackStatus"]').each(function(){
+                        if (this.value == repair.repairBackStatus) {
+                            $(this).iCheck('check');
+                        }
+                    });
+                    $('input[name="repairSendStatus"]').each(function(){
+                        if (this.value == repair.repairSendStatus) {
+                            $(this).iCheck('check');
+                        }
+                    });
+                    $('#repairSchedule').html(repairSchedule);
+                    $('#repairProduct').html(repairProduct);
+                    $("#repairBackLogisticsCompany option[value='" + repair.repairBackLogisticsCompany + "']").attr("selected","true");
+                    $("#repairSendLogisticsCompany option[value='" + repair.repairSendLogisticsCompany + "']").attr("selected","true");
+
+                    $("#repairProvinceNumber option[value='" + repair.provinceNumber + "']").attr("selected","true");
+                    $("#repairCityNumber option[value='" + repair.cityNumber + "']").attr("selected","true");
+                    $("#repairAreaNumber option[value='" + repair.areaNumber + "']").attr("selected","true");
+                    $('#repairBackLogisticsNo').val(repair.repairBackLogisticsNo);
+                    $('#repairBackPostage').val(repair.repairBackPostage/100);
+                    $('#repairBackName').val(repair.repairBackName);
+                    $('#repairBackTel').val(repair.repairBackTel);
+                    //$('#repairBackMachineNo').val(repair.repairBackMachineNo);
+                    $('#repairBackEfastOrderId').html(repair.repairBackEfastOrderId);
+                    $('#repairSendName').val(repair.repairSendName);
+                    $('#repairSendTel').val(repair.repairSendTel);
+                    $('#repairSendAddress').val(repair.repairSendAddress);
+                    $('#repairSendLogisticsNo').val(repair.repairSendLogisticsNo);
+                    $('#repairDesc').val(repair.repairDesc);
+                    $('#detectPhenomenon').val(repair.detectPhenomenon);
+                    $('#detectFailureClassification').val(repair.detectFailureClassification);
+                    $('#detectFailureCause').val(repair.detectFailureCause);
+                    $('#detectResults').val(repair.detectResults);
+                    $('#detectPoint').val(repair.detectPoint);
+                    $('#detectAnalysis').val(repair.detectAnalysis);
+                    $('#detectRevolutionProduced').val(repair.detectRevolutionProduced);
+                    $('#maintenanceIdRepair').val(repair.maintenanceIdRepair);
+                    $('#maintenanceContent').val(repair.maintenanceContent);
+                    $('#maintenanceContentDate').val(repair.maintenanceContentDate);
+                }
+            },
+            error: function(XmlHttpRequest, textStatus, errorThrown){
+            }
+        })
+    }
+
+    /*修改维修信息*/
+    function update_repair_info() {
+        var repair_flag = checkRepair();
+        if (repair_flag) {
+            $.ajax({
+                cache: true,
+                type: "POST",
+                data: $('#form-update-repair').serialize(),
+                url: "${path}/admin/customer/update_repair_info",
+                async: false,
+                success: function(data){
+                    if (data.returnCode == 200) {
+                        window.parent.custome_result(data.resultMsg,1);
+                        parent.location.reload();
+                        var index = parent.layer.getFrameIndex(window.name);
+                        parent.layer.close(index);
+                    } else {
+                        window.parent.custome_result(data.resultMsg,5);
+                    }
+                    $('#update-repair-info').hide();
+                },
+                error: function(XmlHttpRequest, textStatus, errorThrown){
+                    window.parent.admin_result("修改失败!",5);
+                    var index = parent.layer.getFrameIndex(window.name);
+                    parent.layer.close(index);
+                }
+            })
+        }
+    }
+
+    /*校验维修填写信息*/
+    function checkRepair() {
+        var repair_flag = true;
+        var repairBackStatus = $('input[name="repairBackStatus"]:checked').val();//寄回状态
+        var repairBackLogisticsNo = $('#repairBackLogisticsNo').val().trim();//物流单号
+        var repairBackPostage = $('#repairBackPostage').val().trim();//寄回邮费
+        var repairBackLogisticsCompany = $("#repairBackLogisticsCompany option:selected").val();//寄回物流公司
+        var repairBackName = $('#repairBackName').val();
+        var repairBackTel = $('#repairBackTel').val();
+        //var repairBackMachineNo = $('#repairBackMachineNo').val();
+        if (repairBackStatus == 1) {
+            if (repairBackLogisticsNo != null && repairBackLogisticsNo != '') {
+                alert("产品未寄回,不能有物流信息!");
+                repair_flag = false;
+                return repair_flag;
+            }
+            if (repairBackPostage != null && repairBackPostage != '') {
+                alert("产品未寄回,不能有邮费!");
+                repair_flag = false;
+                return repair_flag;
+            }
+            if (repairBackLogisticsCompany != null && repairBackLogisticsCompany != '') {
+                alert("产品未寄回,不能选择物流公司!");
+                repair_flag = false;
+                return repair_flag;
+            }
+            if (repairBackName != null && repairBackName != '') {
+                alert("产品未寄回,不能填写寄回人信息!");
+                repair_flag = false;
+                return repair_flag;
+            }
+            if (repairBackTel != null && repairBackTel != '') {
+                alert("产品未寄回,不能填写寄回人电话号码!");
+                repair_flag = false;
+                return repair_flag;
+            }
+            /*if (repairBackMachineNo != null && repairBackMachineNo != '') {
+                alert("产品未寄回,不能填写机器编号!");
+                repair_flag = false;
+                return repair_flag;
+            }*/
+        } else if (repairBackStatus == 2 || repairBackStatus == 3) {
+            if (repairBackLogisticsNo == null || repairBackLogisticsNo == '') {
+                alert("物流信息不能为空!");
+                repair_flag = false;
+                return repair_flag;
+            }
+            if (!money.test(repairBackPostage)) {
+                alert("邮费格式不正确,请重新输入!");
+                repair_flag = false;
+                return repair_flag;
+            }
+            if (repairBackLogisticsCompany == null || repairBackLogisticsCompany == '') {
+                alert("请选择物流公司!");
+                repair_flag = false;
+                return repair_flag;
+            }
+            if (!uname.test(repairBackName)) {
+                alert("寄回人信息格式不正确,请重新输入!");
+                repair_flag = false;
+                return repair_flag;
+            }
+            if (!mobile.test(repairBackTel)) {
+                alert("寄回人电话号码格式不正确,请重新输入!");
+                repair_flag = false;
+                return repair_flag;
+            }
+            /*if (repairBackMachineNo == null || repairBackMachineNo == '') {
+                alert("机器编号不能为空!");
+                repair_flag = false;
+                return repair_flag;
+            }*/
+        }
+        var repairSendName = $('#repairSendName').val();
+        if (!uname.test(repairSendName)) {
+            alert("寄回人信息格式不正确,请重新输入!");
+            repair_flag = false;
+            return repair_flag;
+        }
+        var repairSendTel = $('#repairSendTel').val();
+        if (!mobile.test(repairSendTel)) {
+            alert("寄回人电话号码格式不正确,请重新输入!");
+            repair_flag = false;
+            return repair_flag;
+        }
+        var repairSendAddress = $('#repairSendAddress').val();
+        if (repairSendAddress == null || repairSendAddress == '') {
+            alert("寄出地址不能为空!");
+            repair_flag = false;
+            return repair_flag;
+        }
+        var repairSendStatus = $('input[name="repairSendStatus"]:checked').val();//寄回状态
+        var repairSendLogisticsCompany = $('#repairSendLogisticsCompany').val();//寄出物流公司
+        var repairSendLogisticsNo = $('#repairSendLogisticsNo').val();//寄出物流单号
+        if (repairSendLogisticsCompany == 1) {
+            if (repairSendLogisticsCompany != null && repairSendLogisticsCompany != '') {
+                alert("产品未寄送,不能选择物流公司!");
+                repair_flag = false;
+                return repair_flag;
+            }
+            if (repairSendLogisticsNo != null && repairSendLogisticsNo != '') {
+                alert("产品未寄送,不能填写物流单号!");
+                repair_flag = false;
+                return repair_flag;
+            }
+        } else if (repairSendLogisticsCompany == 2 || repairSendLogisticsCompany == 3) {
+            if (repairSendLogisticsCompany == null || repairSendLogisticsCompany == '') {
+                alert("请选择寄回物流公司!");
+                repair_flag = false;
+                return repair_flag;
+            }
+            if (repairSendLogisticsNo == null || repairSendLogisticsNo == '') {
+                alert("请填写物流单号!");
+                repair_flag = false;
+                return repair_flag;
+            }
+        }
+        return repair_flag;
+    }
+
+    /**
+     * 获取省
+     */
+    function getProvince(provinceNum) {
+        var province = listProvince();
+        if(province!=null){
+            var provinceHtml = '';
+            for(var i=0;i<province.length;i++){
+                provinceHtml += '<option value="'+ province[i].provinceId +'">'+ province[i].province +'</option>';
+            }
+            $('#'+provinceNum).append(provinceHtml);
+        }
+    }
+
+    /**
+     * 获取市
+     */
+    function getCity(cityNum,provineceId) {
+        var city = listCity(provineceId,'');
+        if(city!=null){
+            var cityHtml = '';
+            for(var i=0;i<city.length;i++){
+                cityHtml += '<option value="'+ city[i].cityId +'">'+ city[i].city +'</option>';
+            }
+            $('#'+cityNum).append(cityHtml);
+        }
+    }
+
+    /**
+     * 获取区
+     */
+    function getDistrict(districtNum,cityId) {
+        var district = listDistrict(cityId,'');
+        if(district!=null){
+            var districtHtml = '';
+            for(var i=0;i<district.length;i++){
+                districtHtml += '<option value="'+ district[i].districtId +'">'+ district[i].district +'</option>';
+            }
+            $('#'+districtNum).append(districtHtml);
+        }
+    }
+
+    /*监听市选择事件*/
+    $(document).on('change', '#repairCityNumber', function() {
+        var city = $("#repairCityNumber").val();
+        $('#repairAreaNumber option').remove();
+        getDistrict('repairAreaNumber',city);
+    });
+
+    /*监听省选择事件*/
+    $(document).on('change', '#repairProvinceNumber', function() {
+        var proId = $("#repairProvinceNumber").val();
+        $('#repairCityNumber option').remove();
+        getCity('repairCityNumber',proId);
+        var cityId = $("#cityNumber").val();
+        $('#repairAreaNumber option').remove();
+        getDistrict('repairAreaNumber',cityId);
+    });
+
+</script>
+</body>
+</html>

+ 98 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/visit_detail.ftl

@@ -0,0 +1,98 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+    <meta charset="utf-8">
+    <meta name="renderer" content="webkit|ie-comp|ie-stand">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
+    <meta http-equiv="Cache-Control" content="no-siteapp" />
+<#include "/base/add_base.ftl">
+    <link href="${path}/common/static/h-ui/css/H-ui.min.css" rel="stylesheet" type="text/css" />
+    <link href="${path}/common/static/h-ui.admin/css/H-ui.admin.css" rel="stylesheet" type="text/css" />
+    <!--<link href="lib/icheck/icheck.css" rel="stylesheet" type="text/css" />-->
+    <link href="${path}/common/lib/Hui-iconfont/1.0.8/iconfont.css" rel="stylesheet" type="text/css" />
+    <!--<link href="lib/webuploader/0.1.5/webuploader.css" rel="stylesheet" type="text/css" />-->
+    <title></title>
+</head>
+<body>
+<article class="cl pd-20">
+    <form action="" method="post" class="form form-horizontal" id="form-article-add">
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2 text-r">
+                <strong>回访客服:</strong>
+            </div>
+            <div class="formControls col-10 col-sm-10" id="adminName">
+
+            </div>
+        </div>
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2 text-r">
+                <strong>回访日期:</strong>
+            </div>
+            <div class="formControls col-10 col-sm-10" id="txtVisitCompleteDate">
+
+            </div>
+        </div>
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2 text-r">
+                <strong>回访客户:</strong>
+            </div>
+            <div class="formControls col-10 col-sm-10" id="txtVisitCompleteName">
+
+            </div>
+        </div>
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2 text-r">
+                <strong>客户电话:</strong>
+            </div>
+            <div class="formControls col-10 col-sm-10" id="txtVisitCompleteTel">
+
+            </div>
+        </div>
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2 text-r">
+                <strong>回访备注:</strong>
+            </div>
+            <div class="formControls col-10 col-sm-10" id="txtVisitCompleteRemark">
+
+            </div>
+        </div>
+    </form>
+    </div>
+</article>
+<script type="text/javascript" src="${path}/common/lib/jquery/1.9.1/jquery.min.js"></script>
+<script type="text/javascript" src="${path}/common/lib/layer/2.4/layer.js"></script>
+<script type="text/javascript" src="${path}/common/static/h-ui/js/H-ui.js"></script>
+<script type="text/javascript" src="${path}/common/static/h-ui.admin/js/H-ui.admin.js"></script>
+<script type="text/javascript">
+
+    var customerId = ${customerId!''};
+
+    $(function(){
+        $.ajax({
+            cache: true,
+            type: "POST",
+            data: {"customerId":customerId},
+            url: "${path}/admin/customer/get_visit_info",
+            async: false,
+            success: function(data){
+                if (data.returnCode == 200) {
+                    var visit = data.returnMsg.visit;
+                    if (visit.adminId == visit.designatedAdminId) {
+                        $('#adminName').html(visit.adminName+"(自己指定)");
+                    } else {
+                        $('#adminName').html(visit.adminName+"("+visit.designatedAdminName+"指定)");
+                    }
+                    $('#txtVisitCompleteDate').html(visit.visitCompleteDate);
+                    $('#txtVisitCompleteName').html(visit.visitCompleteName);
+                    $('#txtVisitCompleteTel').html(visit.visitCompleteTel);
+                    $('#txtVisitCompleteRemark').html(visit.visitCompleteRemark);
+                }
+            },
+            error: function(XmlHttpRequest, textStatus, errorThrown){
+            }
+        })
+    });
+</script>
+</body>
+</html>

+ 154 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/visit_finish.ftl

@@ -0,0 +1,154 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+    <meta charset="utf-8">
+    <meta name="renderer" content="webkit|ie-comp|ie-stand">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
+    <meta http-equiv="Cache-Control" content="no-siteapp" />
+<#include "/base/add_base.ftl">
+    <link href="${path}/common/static/h-ui/css/H-ui.min.css" rel="stylesheet" type="text/css" />
+    <link href="${path}/common/static/h-ui.admin/css/H-ui.admin.css" rel="stylesheet" type="text/css" />
+    <link href="${path}/common/lib/icheck/icheck.css" rel="stylesheet" type="text/css" />
+    <link href="${path}/common/lib/Hui-iconfont/1.0.8/iconfont.css" rel="stylesheet" type="text/css" />
+    <!--<link href="lib/webuploader/0.1.5/webuploader.css" rel="stylesheet" type="text/css" />-->
+    <title></title>
+    <style>
+        .btn-primary{background-color: #32a3d8;padding: 3px 30px;}
+    </style>
+</head>
+<body>
+<article class="cl pd-20">
+    <form action="" method="post" class="form form-horizontal" id="form-visit-finish" name="form-visit-finish">
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2 text-r">
+                <strong>回访日期</strong>
+            </div>
+            <div class="formControls col-10 col-sm-10">
+                <input type="hidden" name="finish_customerId" value="${customerId!''}" />
+                <input type="text" name="visitCompleteDate" id="visitCompleteDate" class="input-text" placeholder="" onClick="WdatePicker({ dateFmt:'yyyy-MM-dd',skin:'whyGreen' })" value="" readonly="readonly" />
+            </div>
+        </div>
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2 text-r">
+                <strong>客户性别</strong>
+            </div>
+            <div class="formControls col-10 col-sm-10 skin-minimal">
+                <div class="radio-box">
+                    <input type="radio" name="visitCompleteSex" value="1" checked="checked">
+                    <label for="tel-3">男</label>
+                </div>
+                <div class="radio-box">
+                    <input type="radio" name="visitCompleteSex" value="2">
+                    <label for="tel-4">女</label>
+                </div>
+            </div>
+        </div>
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2 text-r">
+                <strong>回访客户</strong>
+            </div>
+            <div class="formControls col-10 col-sm-10">
+                <input type="text" id="visitCompleteName" name="visitCompleteName" class="input-text" placeholder="" value=""/>
+            </div>
+        </div>
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2 text-r">
+                <strong>客户电话</strong>
+            </div>
+            <div class="formControls col-10 col-sm-10">
+                <input type="text" id="visitCompleteTel" name="visitCompleteTel" class="input-text" placeholder="" value=""/>
+            </div>
+        </div>
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2 text-r">
+                <strong>回访备注</strong>
+            </div>
+            <div class="formControls col-10 col-sm-10">
+                <textarea name="visitCompleteRemark" id="visitCompleteRemark" cols="" rows="2" class="textarea" placeholder="说点什么..."></textarea>
+            </div>
+        </div>
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2">
+
+            </div>
+            <div class="formControls col-6 col-sm-6 text-c">
+                <button onClick="updateVisitInfo();" class="btn btn-primary" type="button">确认</button>
+            </div>
+        </div>
+    </form>
+    </div>
+</article>
+<script type="text/javascript" src="${path}/common/lib/jquery/1.9.1/jquery.min.js"></script>
+<script type="text/javascript" src="${path}/common/lib/layer/2.4/layer.js"></script>
+<script type="text/javascript" src="${path}/common/lib/My97DatePicker/4.8/WdatePicker.js"></script>
+<script type="text/javascript" src="${path}/common/lib/icheck/jquery.icheck.min.js"></script>
+<script type="text/javascript" src="${path}/common/static/h-ui/js/H-ui.js"></script>
+<script type="text/javascript" src="${path}/common/static/h-ui.admin/js/H-ui.admin.js"></script>
+<script type="text/javascript">
+
+    var mobile= /^1(3|4|5|7|8)\d{9}$/; //手机号码
+    var uname = /^[\u4e00-\u9fa5a-zA-Z]{1,12}$/; //中文英文
+
+    $(function(){
+        $('.skin-minimal input').iCheck({
+            checkboxClass: 'icheckbox-blue',
+            radioClass: 'iradio-blue',
+            increaseArea: '20%'
+        });
+        $('.skin-minimal input').iCheck({
+            checkboxClass: 'icheckbox-blue',
+            radioClass: 'iradio-blue',
+            increaseArea: '20%'
+        });
+    });
+
+    /**
+     * 添加回访完成信息
+     */
+    function updateVisitInfo() {
+        var visitCompleteSex = $('input[name="visitCompleteSex"]:checked').val();
+        if (!uname.test($('#visitCompleteName').val().trim())) {
+            layer.msg("回访人姓名格式不正确,请重新填写!", {icon: 5, time: 3000});
+            return;
+        }
+        if (!mobile.test($('#visitCompleteTel').val().trim())) {
+            layer.msg("手机号码格式不正确,请重新填写!", {icon: 5, time: 3000});
+            return;
+        }
+        if ($('#visitCompleteDate').val().trim() == null || $('#visitCompleteDate').val().trim() == '') {
+            layer.msg("请选择回访日期!", {icon: 5, time: 3000});
+            return;
+        }
+        if (visitCompleteSex == null || visitCompleteSex == '') {
+            layer.msg("请选择客诉性别!", {icon: 5, time: 3000});
+            return;
+        }
+        $.ajax({
+            cache: true,
+            type: "POST",
+            data: $('#form-visit-finish').serialize(),
+            url: "${path}/admin/customer/update_visit_finish",
+            async: false,
+            success: function(data){
+                if (data.returnCode == 200) {
+                    window.parent.custome_result(data.resultMsg,1);
+                    parent.location.reload();
+                    var index = parent.layer.getFrameIndex(window.name);
+                    parent.$('.btn-refresh').click();
+                    parent.layer.close(index);
+                } else {
+                    window.parent.custome_result(data.resultMsg,5);
+                }
+            },
+            error: function(XmlHttpRequest, textStatus, errorThrown){
+                window.parent.admin_result("修改失败!",5);
+                var index = parent.layer.getFrameIndex(window.name);
+                parent.$('.btn-refresh').click();
+                parent.layer.close(index);
+            }
+        });
+    }
+</script>
+</body>
+</html>