Browse Source

寄回信息功能修改

liujiankang 6 years ago
parent
commit
1b586212e0

+ 23 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/cm/SendbackInfo.java

@@ -1,5 +1,8 @@
 package com.iamberry.rst.core.cm;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+
 import java.io.Serializable;
 import java.util.Date;
 import java.util.List;
@@ -18,8 +21,12 @@ public class SendbackInfo implements Serializable {
     private Integer sendbackStatus;//寄回状态 1.未配送2.配送中3.已签收
     private Date sendbackCreateTime;//创建时间
     private Date sendbackUpdateTime;//创建时间
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
     private Date sendbackSignTime;//签收时间
+    private String sendbackLogisticsName;//物流公司名称
     private List<SendbackItem> listSendbackItem;
+    private String sendProdcues;//寄回产品json
 
     public Integer getSendbackId() {
         return sendbackId;
@@ -108,4 +115,20 @@ public class SendbackInfo implements Serializable {
     public void setSendbackSignTime(Date sendbackSignTime) {
         this.sendbackSignTime = sendbackSignTime;
     }
+
+    public String getSendbackLogisticsName() {
+        return sendbackLogisticsName;
+    }
+
+    public void setSendbackLogisticsName(String sendbackLogisticsName) {
+        this.sendbackLogisticsName = sendbackLogisticsName;
+    }
+
+    public String getSendProdcues() {
+        return sendProdcues;
+    }
+
+    public void setSendProdcues(String sendProdcues) {
+        this.sendProdcues = sendProdcues;
+    }
 }

+ 1 - 1
watero-rst-core/src/main/java/com.iamberry.rst.core/cm/SendbackItem.java

@@ -12,7 +12,7 @@ public class SendbackItem implements Serializable {
     private Integer sendbackProductId;//寄回产品id
     private Integer sendbackColorId;//寄回产品颜色id
     private Integer sendbackProdcueNumber;//数量
-    private String sendbackProductName;//寄回产品id
+    private String sendbackProductName;//寄回产品名称
     private String sendbackColorName;//寄回产品颜色名称
 
     public Integer getSendbackItemId() {

+ 12 - 2
watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/CustomerService.java

@@ -273,7 +273,7 @@ public interface CustomerService {
     /**
      * 添加寄回信息
      */
-    Integer addSendbackInfo(SendbackInfo sendbackInfo);
+    SendbackInfo addSendbackInfo(SendbackInfo sendbackInfo);
 
     /**
      * 添加寄回信息项集合
@@ -298,7 +298,12 @@ public interface CustomerService {
     /**
      * 修改寄回信息
      */
-    Integer updateSendbackInfo(SendbackInfo sendbackInfo);
+    SendbackInfo updateSendbackInfo(SendbackInfo sendbackInfo);
+
+    /**
+     * 修改寄回状态
+     */
+    Integer updateSendbackStatus(SendbackInfo sendbackInfo) ;
 
     /**
      * 修改寄回信息项
@@ -319,4 +324,9 @@ public interface CustomerService {
      * 根据寄回信息主键删除所有寄回信息项
      */
     Integer deleteSendbackItemBySendbackId(Integer sendbackId);
+
+    /**
+     * 查询寄回产品集合
+     */
+    List<ClosedProdcue> listclosedProdcue(ClosedProdcue closedProdcue);
 }

+ 66 - 12
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/CustomerServiceImpl.java

@@ -17,6 +17,8 @@ import com.iamberry.rst.service.fm.mapper.ComplaintSignclosedProductInfoMapper;
 import com.iamberry.rst.service.product.mapper.ProductMapper;
 import com.iamberry.rst.util.CustomerCommonUtil;
 import com.iamberry.rst.util.PageUtil;
+import com.iamberry.wechat.tools.ResponseJson;
+import net.sf.json.JSONArray;
 import net.sf.json.JSONObject;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -1631,52 +1633,104 @@ public class CustomerServiceImpl implements CustomerService {
     }
 
     @Override
-    public Integer addSendbackInfo(SendbackInfo sendbackInfo) {
-        return customerService.addSendbackInfo(sendbackInfo);
+    @Transactional
+    public SendbackInfo addSendbackInfo(SendbackInfo sendbackInfo) {
+        JSONArray jsonArray;
+        List<SendbackItem> sendbackItemList;
+        Integer msg = customerInfoMapper.addSendbackInfo(sendbackInfo);
+        jsonArray = JSONArray.fromObject(sendbackInfo.getSendProdcues());
+        sendbackItemList = (List) JSONArray.toCollection(jsonArray, SendbackItem.class);
+        if(msg < 1){
+            return null;
+        }
+        List<SendbackItem> sendbackItemLists = new ArrayList<>();
+        for (SendbackItem info : sendbackItemList){
+            info.setSendbackId(sendbackInfo.getSendbackId());
+            if(info.getSendbackProdcueNumber() > 0){
+                sendbackItemLists.add(info);
+            }
+        }
+        Integer msgs = customerService.addSendbackItemList(sendbackItemLists);
+        if(msgs < 1){
+            throw new RuntimeException("添加寄回产品项信息失败");
+        }
+        return sendbackInfo;
     }
 
     @Override
     public Integer addSendbackItemList(List<SendbackItem> list) {
-        return customerService.addSendbackItemList(list);
+        return customerInfoMapper.addSendbackItemList(list);
     }
 
     @Override
     public SendbackInfo getSendbackInfo(Integer sendbackId) {
-        return customerService.getSendbackInfo(sendbackId);
+        return customerInfoMapper.getSendbackInfo(sendbackId);
     }
 
     @Override
     public List<SendbackInfo> listSendbackInfo(Integer relationId) {
-        return customerService.listSendbackInfo(relationId);
+        return customerInfoMapper.listSendbackInfo(relationId);
     }
 
     @Override
     public List<SendbackItem> sendbackItemList(Integer sendbackId) {
-        return customerService.sendbackItemList(sendbackId);
+        return customerInfoMapper.sendbackItemList(sendbackId);
     }
 
     @Override
-    public Integer updateSendbackInfo(SendbackInfo sendbackInfo) {
-        return customerService.updateSendbackInfo(sendbackInfo);
+    public SendbackInfo updateSendbackInfo(SendbackInfo sendbackInfo) {
+        JSONArray jsonArray;
+        List<SendbackItem> sendbackItemList;
+        Integer msg = customerInfoMapper.updateSendbackInfo(sendbackInfo);
+        jsonArray = JSONArray.fromObject(sendbackInfo.getSendProdcues());
+        sendbackItemList = (List) JSONArray.toCollection(jsonArray, SendbackItem.class);
+        if(msg < 1){
+            return null;
+        }
+        //删除原寄回产品项
+        if(customerInfoMapper.deleteSendbackItemBySendbackId(sendbackInfo.getSendbackId()) < 1){
+            throw new RuntimeException("删除寄回产品项信息失败");
+        }
+        List<SendbackItem> sendbackItemLists = new ArrayList<>();
+        for (SendbackItem info : sendbackItemList){
+            info.setSendbackId(sendbackInfo.getSendbackId());
+            if(info.getSendbackProdcueNumber() > 0){
+                sendbackItemLists.add(info);
+            }
+        }
+        Integer msgs = customerService.addSendbackItemList(sendbackItemLists);
+        if(msgs < 1){
+            throw new RuntimeException("修改寄回产品项信息失败");
+        }
+        return sendbackInfo;
     }
 
     @Override
+    public Integer updateSendbackStatus(SendbackInfo sendbackInfo) {
+        return customerInfoMapper.updateSendbackInfo(sendbackInfo);
+    }
+    @Override
     public Integer updateSendbackItem(SendbackItem sendbackItem) {
-        return customerService.updateSendbackItem(sendbackItem);
+        return customerInfoMapper.updateSendbackItem(sendbackItem);
     }
 
     @Override
     public Integer deleteSendbackInfo(Integer sendbackId) {
-        return customerService.deleteSendbackInfo(sendbackId);
+        return customerInfoMapper.deleteSendbackInfo(sendbackId);
     }
 
     @Override
     public Integer deleteSendbackItemById(Integer sendbackItemId) {
-        return customerService.deleteSendbackItemById(sendbackItemId);
+        return customerInfoMapper.deleteSendbackItemById(sendbackItemId);
     }
 
     @Override
     public Integer deleteSendbackItemBySendbackId(Integer sendbackId) {
-        return customerService.deleteSendbackItemBySendbackId(sendbackId);
+        return customerInfoMapper.deleteSendbackItemBySendbackId(sendbackId);
+    }
+
+    @Override
+    public List<ClosedProdcue> listclosedProdcue(ClosedProdcue closedProdcue) {
+        return closedProdcueMapper.listclosedProdcue(closedProdcue);
     }
 }

+ 27 - 7
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/customerInfoMapper.xml

@@ -1144,6 +1144,7 @@ LEFT JOIN tb_rst_cm_proc_type cpt ON cpt.proc_type_id = cpm.proc_type_id
     <result column="sendback_sign_time" property="sendbackSignTime"/>
     <result column="sendback_create_time" property="sendbackCreateTime"/>
     <result column="sendback_update_time" property="sendbackUpdateTime"/>
+    <result column="logistics_name" property="sendbackLogisticsName"/>
     <collection property="listSendbackItem" column="sendback_id" ofType="SendbackItem" select="sendbackItemList"/>
   </resultMap>
 
@@ -1158,8 +1159,11 @@ LEFT JOIN tb_rst_cm_proc_type cpt ON cpt.proc_type_id = cpm.proc_type_id
       sendback_status,
       sendback_sign_time,
       sendback_create_time,
-      sendback_update_time
-     from tb_rst_cm_sendback_info WHERE sendback_id = #{sendbackId}
+      sendback_update_time,
+      tb_rst_logistics_info.logistics_name
+     from tb_rst_cm_sendback_info
+     LEFT JOIN tb_rst_logistics_info on tb_rst_cm_sendback_info.sendback_logistics_company = tb_rst_logistics_info.logistics_rst_code
+     WHERE sendback_id = #{sendbackId}
   </select>
 
   <select id="listSendbackInfo" parameterType="Integer" resultMap="sendbackMap">
@@ -1171,14 +1175,24 @@ LEFT JOIN tb_rst_cm_proc_type cpt ON cpt.proc_type_id = cpm.proc_type_id
       sendback_name,
       sendback_tel,
       sendback_status,
-      sendbackSignTime,
+      sendback_sign_time,
       sendback_create_time,
-      sendback_update_time
-     from tb_rst_cm_sendback_info WHERE relation_id = #{relationId}
+      sendback_update_time,
+      tb_rst_logistics_info.logistics_name
+     from tb_rst_cm_sendback_info
+     LEFT JOIN tb_rst_logistics_info on tb_rst_cm_sendback_info.sendback_logistics_company = tb_rst_logistics_info.logistics_rst_code
+     WHERE relation_id = #{relationId}
   </select>
 
   <select id="sendbackItemList" parameterType="Integer" resultType="SendbackItem">
-      select * from tb_rst_cm_sendback_item where sendback_id = #{sendbackId};
+      select
+      *,
+      tb_rst_product_info.product_name AS sendbackProductName,
+      tb_rst_product_color.color_name AS sendbackColorName
+       from tb_rst_cm_sendback_item
+      LEFT JOIN tb_rst_product_info on tb_rst_cm_sendback_item.sendback_product_id = tb_rst_product_info.product_id
+      LEFT JOIN tb_rst_product_color on tb_rst_cm_sendback_item.sendback_color_id = tb_rst_product_color.color_id
+      where sendback_id = #{sendbackId};
   </select>
 
   <update id="updateSendbackInfo" parameterType="SendbackInfo">
@@ -1197,7 +1211,13 @@ LEFT JOIN tb_rst_cm_proc_type cpt ON cpt.proc_type_id = cpm.proc_type_id
         sendback_sign_time = #{sendbackSignTime},
       </if>
       <if test="sendbackTel != null and sendbackTel != ''">
-        sendback_tel = #{sendbackTel}
+        sendback_tel = #{sendbackTel},
+      </if>
+      <if test="sendbackStatus != null and sendbackStatus != ''">
+        sendback_status = #{sendbackStatus},
+      </if>
+      <if test="sendbackSignTime != null and sendbackSignTime != ''">
+        sendback_sign_time = #{sendbackSignTime}
       </if>
     </set>
     WHERE sendback_id = #{sendbackId}

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

@@ -1180,6 +1180,13 @@ public class AdminCustomerController {
         ProcMethod procMethod = customerService.getProcMethod(cmRelation.getProcMethodId());
         List<LogisticsInfo>logisticsInfoList =  logisticsInfoService.getLogisticsInfoList(new LogisticsInfo());
         List<PostageInfo> listPostageInfo = customerService.listPostageInfo(cmRelation.getRelationId());
+        List<SendbackInfo> listSendbackInfo = customerService.listSendbackInfo(cmRelation.getRelationId());
+        //查询寄回产品
+        ClosedProdcue record = new ClosedProdcue();
+        record.setRelationId(cmRelation.getRelationId());
+        List <ClosedProdcue> listClosedProdcue = customerService.listclosedProdcue(record);
+        mv.addObject("listClosedProdcue",listClosedProdcue);
+        mv.addObject("listSendbackInfo",listSendbackInfo);
         mv.addObject("logisticsInfoList",logisticsInfoList);
         mv.addObject("listPostageInfo", listPostageInfo);
         mv.addObject("procMethod", procMethod);
@@ -2035,6 +2042,109 @@ public class AdminCustomerController {
         return rj;
     }
 
+
+    /**
+     * 获取寄回信息
+     * @param request
+     * @param sendbackId
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping("/get_SendbackInfo")
+    public ResponseJson getSendbackInfo(HttpServletRequest request,Integer sendbackId){
+        ResponseJson rj = new ResponseJson(200, "查询成功", 200);
+        if(sendbackId == null){
+            return new ResponseJson(500, "查询失败!", 500);
+        }
+        SendbackInfo sendbackInfo = customerService.getSendbackInfo(sendbackId);
+        rj.addResponseKeyValue("sendbackInfo",sendbackInfo);
+        return rj;
+    }
+
+    /**
+     * 添加寄回信息
+     * @param request
+     * @param sendbackInfo
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping("/add_SendbackInfo")
+    public ResponseJson addSendbackInfo(HttpServletRequest request,SendbackInfo sendbackInfo){
+        ResponseJson rj = new ResponseJson(200, "添加成功", 200);
+        if(sendbackInfo == null){
+            return new ResponseJson(500, "添加失败,请检查参数!", 500);
+        }
+        /*signTime*/
+        SendbackInfo info = customerService.addSendbackInfo(sendbackInfo);
+        if(info == null){
+            return new ResponseJson(500, "添加失败", 500);
+        }
+        SendbackInfo info1 = customerService.getSendbackInfo(sendbackInfo.getSendbackId());
+        rj.addResponseKeyValue("sendbackInfo",info1);
+        return rj;
+    }
+
+    /**
+     * 修改寄回信息
+     * @param request
+     * @param sendbackInfo
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping("/update_SendbackInfo")
+    public ResponseJson updateSendbackInfo(HttpServletRequest request,SendbackInfo sendbackInfo){
+        ResponseJson rj = new ResponseJson(200, "修改成功", 200);
+        if(sendbackInfo == null){
+            return new ResponseJson(500, "修改失败,请检查参数!", 500);
+        }
+        SendbackInfo info = customerService.updateSendbackInfo(sendbackInfo);
+        if(info == null){
+            return new ResponseJson(500, "修改失败", 500);
+        }
+        SendbackInfo info1 = customerService.getSendbackInfo(sendbackInfo.getSendbackId());
+        rj.addResponseKeyValue("sendbackInfo",info1);
+        return rj;
+    }
+    /**
+     * 修改寄回状态为已签收
+     * @param request
+     * @param sendbackInfo
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping("/update_SendbackStatus")
+    public ResponseJson updateSendbackStatus(HttpServletRequest request,SendbackInfo sendbackInfo){
+        ResponseJson rj = new ResponseJson(200, "修改成功", 200);
+        if(sendbackInfo == null){
+            return new ResponseJson(500, "修改失败,请检查参数!", 500);
+        }
+        if(customerService.updateSendbackStatus(sendbackInfo) < 1){
+            return new ResponseJson(500, "修改失败", 500);
+        }
+        SendbackInfo info1 = customerService.getSendbackInfo(sendbackInfo.getSendbackId());
+        rj.addResponseKeyValue("sendbackInfo",info1);
+        return rj;
+    }
+
+    /**
+     * 删除单个寄回信息
+     * @param request
+     * @param sendbackId
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping("/delete_SendbackInfo")
+    public ResponseJson deleteSendbackInfo(HttpServletRequest request,Integer sendbackId){
+        ResponseJson rj = new ResponseJson(200, "删除成功", 200);
+        if(sendbackId == null){
+            return new ResponseJson(500, "删除失败,请检查参数!", 500);
+        }
+        Integer msg = customerService.deleteSendbackInfo(sendbackId);
+        if(msg < 1){
+            return new ResponseJson(500, "删除失败", 500);
+        }
+        return rj;
+    }
     /**
      * 同步邮费信息
      * @param request

+ 525 - 20
watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/update_relation.ftl

@@ -58,35 +58,83 @@
         <div <#if procMethod.procMethodIsBack == 1>class="tabCon"</#if> style="display: none;">
             <div class="row cl">
                 <div class="formControls col-2 col-sm-2 text-r">
-                    <strong>产品寄回</strong>
+                    <strong>寄回信息</strong>
                 </div>
-                <div class="formControls col-8 col-sm-8 skin-minimal">
-                    <div class="radio-box">
-                        <input type="radio" id="tel-3" name="relationBackStatus" value="1" seleType="send">
-                        <label for="tel-3">未寄回</label>
-                    </div>
+                <div class="formControls col-10 col-sm-10">
+                    <table class="table table-border table-bg table-bordered" >
+                        <thead>
+                        <tr>
+                            <th>物流公司</th>
+                            <th>物流单号</th>
+                            <th>寄回人信息</th>
+                            <th>状态</th>
+                            <th>产品</th>
+                            <th>操作</th>
+                        </tr>
+                        </thead>
+                        <tbody id="SendbackbodyId">
+                        <#if listSendbackInfo?? &&  (listSendbackInfo?size > 0) >
+                            <#list listSendbackInfo as sendbackInfo>
+                            <tr id="deleteSendbackId${(sendbackInfo.sendbackId)!''}">
+                                <td>${(sendbackInfo.sendbackLogisticsName)!''}</td>
+                                <td>${(sendbackInfo.sendbackLogisticsNo)!''}</td>
+                                <td>${(sendbackInfo.sendbackName)!''}<br>${(sendbackInfo.sendbackTel)!''}</td>
+                                <td>
+                                    <#if sendbackInfo.sendbackStatus == 1>未配送</#if>
+                                    <#if sendbackInfo.sendbackStatus == 2>配送中</#if>
+                                    <#if sendbackInfo.sendbackStatus == 3>已签收</#if>
+                                </td>
+                                <td>
+                                    <#if sendbackInfo.listSendbackItem?? &&  (sendbackInfo.listSendbackItem?size > 0) >
+                                        <#list sendbackInfo.listSendbackItem as sendbackItem>
+                                            ${sendbackItem.sendbackProductName}(${sendbackItem.sendbackColorName})* ${sendbackItem.sendbackProdcueNumber}<br>
+                                        </#list>
+                                    </#if>
+                                </td>
+                                <td><a onclick="deleteSendbackInfo(${(sendbackInfo.sendbackId)!});">删除</a>&nbsp;&nbsp;<a onclick="getSendbackInfo(${(sendbackInfo.sendbackId)!});">修改</a>&nbsp;&nbsp;<#if sendbackInfo.sendbackStatus == 2><a onclick="updateSendbackStatus(${(sendbackInfo.sendbackId)!});">签收</a></#if></td>
+                            </tr>
+                            </#list>
+                        <#else>
+                            <tr id="colspanSendbackId"><td colspan="7" class="td-manage text-c" >暂时没有寄回信息,请添加!</td></tr>
+                        </#if>
+                        </tbody>
+                    </table>
+                    <button type="button" class="btn btn-primary" style="background: #32a3d8;color: #fff;" id="" name="" onclick="showSendbackDiv();">增加寄回物流</button>
+                </div>
+            </div>
+
+            <div class="row cl" id="addSendBackDiv" style="display:none;">
+                <div class="formControls col-2 col-sm-2 text-r">
+                    <strong></strong>
+                </div>
+            <div class="formControls col-10 col-sm-10">
+            <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="radio-box">
-                        <input type="radio" id="tel-4" name="relationBackStatus" value="2" seleType="send">
-                        <label for="tel-4">已寄回</label>
+                        <input type="radio" id="tel-b1" name="sendbackStatus" value="1">
+                        <label for="tel-b1">未寄回</label>
                     </div>
                     <div class="radio-box">
-                        <input type="radio" id="tel-5" name="relationBackStatus" value="4" seleType="send">
-                        <label for="tel-5">签收待确认</label>
+                        <input type="radio" id="tel-b2" name="sendbackStatus" value="2">
+                        <label for="tel-b2">已寄回</label>
                     </div>
                     <div class="radio-box">
-                        <input type="radio" id="tel-6" name="relationBackStatus" value="3" seleType="send">
-                        <label for="tel-6">已收货</label>
+                        <input type="radio" id="tel-b3" name="sendbackStatus" value="3">
+                        <label for="tel-b3">已签收</label>
                     </div>
                 </div>
             </div>
             <div class="row cl" id="backLogisticsInfo">
                 <div class="formControls col-2 col-sm-2 text-r">
-                    <strong>寄回信息</strong>
+                    <strong>物流信息</strong>
                 </div>
                 <div class="formControls col-4 col-sm-4">
                     <div style="width: 100%;display: inline-block;margin-right: 10px;">
                         <span class="select-box">
-                                <select name="relationBackLogisticsCompany" id="relationBackLogisticsCompany" class="select" seleType="send">
+                                <select name="sendbackLogisticsCompany" id="sendbackLogisticsCompany" class="select" seleType="send">
                                     <option value="">请选择物流公司</option>
                                     <#if logisticsInfoList?? &&  (logisticsInfoList?size > 0) >
                                         <#list logisticsInfoList as logisticsInfo>
@@ -99,7 +147,7 @@
                 </div>
 
                 <div class="formControls col-4 col-sm-4">
-                    <input style="margin-right: 10px;" type="text" class="input-text" value="" placeholder="请输入快递单号" id="relationBackLogisticsNo" name="relationBackLogisticsNo" seleType="send">
+                    <input style="margin-right: 10px;" type="text" class="input-text" value="" placeholder="请输入快递单号" id="sendbackLogisticsNo" name="sendbackLogisticsNo">
                     <#--<input style="width: 150px;margin-right: 10px;" type="text" class="input-text" value="" placeholder="寄回邮费" id="renewedBackPostage" name="renewedBackPostage">
                     <input style="width: 150px;" type="text" class="input-text" value="" placeholder="用户支付宝账户" id="renewedAlipay" name="renewedAlipay">-->
                 </div>
@@ -107,30 +155,173 @@
 
             <div class="row cl" style="position: relative;" id="backUserInfo">
                 <div class="formControls col-2 col-sm-2 text-r">
-                    <strong>寄件信息</strong>
+                    <strong>寄件</strong>
                 </div>
                 <div class="formControls col-4 col-sm-4">
-                    <input type="text" class="input-text" value="" placeholder="寄件人姓名" id="relationBackName" name="relationBackName" seleType="send">
+                    <input type="text" class="input-text" value="" placeholder="寄件人姓名" id="sendbackName" name="sendbackName">
                 </div>
                 <div class="formControls col-4 col-sm-4">
-                    <input type="text" class="input-text" value="" placeholder="寄件人电话" id="relationBackTel" name="relationBackTel" seleType="send">
+                    <input type="text" class="input-text" value="" placeholder="寄件人电话" id="sendbackTel" name="sendbackTel">
                 </div>
             </div>
+                <div class="row cl" style="position: relative;" id="backUserInfo">
+                    <div class="formControls col-2 col-sm-2 text-r">
+                        <strong>寄回产品</strong>
+                    </div>
+                    <div class="formControls col-8 col-sm-8">
+                        <table class="table table-border table-bg table-bordered" >
+                            <thead>
+                            <tr>
+                                <th>产品</th>
+                                <th>颜色</th>
+                                <th>数量</th>
+                            </tr>
+                            </thead>
+                            <tbody id="productbodyId">
+                            <#if listClosedProdcue?? &&  (listClosedProdcue?size > 0) >
+                                <#list listClosedProdcue as prodcue>
+                                <tr>
+                                    <td>${(prodcue.closedProductName)!''}</td>
+                                    <td>${(prodcue.closedColorName)!''}</td>
+                                    <td><input type="text" class="input-text input-prodcueNumber-id" value="${(prodcue.closedProdcueNumber)!''}"></td>
+                                    <input type="hidden" class="input-produce-id" value="${(prodcue.productId)!''}">
+                                    <input type="hidden" class="input-color-id" value="${(prodcue.colorId)!''}">
+                                </tr>
+                                </#list>
+                            <#else>
+                            <tr id="colspanId"><td colspan="3" class="td-manage text-c" >没有产品信息!</td></tr>
+                            </#if>
+                            </tbody>
+                        </table>
+                        <input type="hidden" id="sendProdcues" value="">
+                    </div>
+                </div>
                 <div class="row cl" style="position: relative;/*display: none;*/">
                     <div class="formControls col-2 col-sm-2 text-r">
                         <strong>仓库签收时间</strong>
                     </div>
                     <div class="formControls col-4 col-sm-4">
-                        <input type="text" placeholder="请选择仓库签收时间" id="relationBackReceiptDate"  name="relationBackReceiptDate" datatype="*" class="input-text Wdate" onclick="WdatePicker({skin:'whyGreen',maxDate:'%y-%M-%d'})"  readonly="readonly" seleType="send">
+                        <input type="text" placeholder="请选择仓库签收时间" id="sendbackSignTime"  name="sendbackSignTime" datatype="*" class="input-text Wdate" onclick="WdatePicker({skin:'whyGreen',maxDate:'%y-%M-%d'})"  readonly="readonly" seleType="send">
                     </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_relation_info(1);" class="btn btn-primary" type="button">确认修改</button>
+                        <button onClick="addSendbackInfo();" class="btn btn-primary" type="button">确认添加寄回信息</button>
                     </div>
                 </div>
+              </div>
+            </div>
+            <div class="row cl" id="updateSendBackDiv" style="display:none;">
+                <input type="hidden" value="" id="sendbackIds">
+                <div class="formControls col-2 col-sm-2 text-r">
+                    <strong></strong>
+                </div>
+            <div class="formControls col-10 col-sm-10">
+            <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="radio-box">
+                        <input type="radio" id="tel-c1" name="sendbackStatuss" value="1">
+                        <label for="tel-c1">未寄回</label>
+                    </div>
+                    <div class="radio-box">
+                        <input type="radio" id="tel-c2" name="sendbackStatuss" value="2">
+                        <label for="tel-c2">已寄回</label>
+                    </div>
+                    <div class="radio-box">
+                        <input type="radio" id="tel-c3" name="sendbackStatuss" value="3">
+                        <label for="tel-c3">已签收</label>
+                    </div>
+                </div>
+            </div>
+            <div class="row cl" id="backLogisticsInfos">
+                <div class="formControls col-2 col-sm-2 text-r">
+                    <strong>物流信息</strong>
+                </div>
+                <div class="formControls col-4 col-sm-4">
+                    <div style="width: 100%;display: inline-block;margin-right: 10px;">
+                        <span class="select-box">
+                                <select name="sendbackLogisticsCompanys" id="sendbackLogisticsCompanys" class="select" seleType="send">
+                                    <option value="">请选择物流公司</option>
+                                    <#if logisticsInfoList?? &&  (logisticsInfoList?size > 0) >
+                                        <#list logisticsInfoList as logisticsInfo>
+                                            <option value="${logisticsInfo.logisticsRstCode!''}" >${logisticsInfo.logisticsName!''}(${logisticsInfo.logisticsRstCode!''})</option>
+                                        </#list>
+                                    </#if>
+                                </select>
+                        </span>
+                    </div>
+                </div>
+
+                <div class="formControls col-4 col-sm-4">
+                    <input style="margin-right: 10px;" type="text" class="input-text" value="" placeholder="请输入快递单号" id="sendbackLogisticsNos" name="sendbackLogisticsNos">
+                </div>
+            </div>
+
+            <div class="row cl" style="position: relative;" id="backUserInfo">
+                <div class="formControls col-2 col-sm-2 text-r">
+                    <strong>寄件人</strong>
+                </div>
+                <div class="formControls col-4 col-sm-4">
+                    <input type="text" class="input-text" value="" placeholder="寄件人姓名" id="sendbackNames" name="sendbackNames">
+                </div>
+                <div class="formControls col-4 col-sm-4">
+                    <input type="text" class="input-text" value="" placeholder="寄件人电话" id="sendbackTels" name="sendbackTels">
+                </div>
+            </div>
+                <div class="row cl" style="position: relative;" id="backUserInfos">
+                    <div class="formControls col-2 col-sm-2 text-r">
+                        <strong>寄回产品</strong>
+                    </div>
+                    <div class="formControls col-8 col-sm-8">
+                        <table class="table table-border table-bg table-bordered" >
+                            <thead>
+                            <tr>
+                                <th>产品</th>
+                                <th>颜色</th>
+                                <th>数量</th>
+                            </tr>
+                            </thead>
+                            <tbody id="productbodyIds">
+                            <#if listClosedProdcue?? &&  (listClosedProdcue?size > 0) >
+                                <#list listClosedProdcue as prodcue>
+                                <tr>
+                                    <td>${(prodcue.closedProductName)!''}</td>
+                                    <td>${(prodcue.closedColorName)!''}</td>
+                                    <td><input type="text" class="input-text input-prodcueNumber-ids" value="${(prodcue.closedProdcueNumber)!''}"></td>
+                                    <input type="hidden" class="input-produce-ids" value="${(prodcue.productId)!''}">
+                                    <input type="hidden" class="input-color-ids" value="${(prodcue.colorId)!''}">
+                                </tr>
+                                </#list>
+                            <#else>
+                            <tr id="productcolspanIds"><td colspan="3" class="td-manage text-c" >没有产品信息!</td></tr>
+                            </#if>
+                            </tbody>
+                        </table>
+                        <input type="hidden" id="sendProdcuess" value="">
+                    </div>
+                </div>
+                <div class="row cl" style="position: relative;/*display: none;*/">
+                    <div class="formControls col-2 col-sm-2 text-r">
+                        <strong>仓库签收时间</strong>
+                    </div>
+                    <div class="formControls col-4 col-sm-4">
+                        <input type="text" placeholder="请选择仓库签收时间" id="sendbackSignTimes"  name="sendbackSignTimes" datatype="*" class="input-text Wdate" onclick="WdatePicker({skin:'whyGreen',maxDate:'%y-%M-%d'})"  readonly="readonly">
+                    </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="updateSendbackInfo();" class="btn btn-primary" type="button">确认修改寄回信息</button>
+                    </div>
+                </div>
+              </div>
+            </div>
         </div>
         <div <#if procMethod.procMethodIsBack == 1>class="tabCon"</#if> style="display: none;">
             <div class="row cl" id="backTransferInfo">
@@ -489,6 +680,13 @@
     var uname = /^[\u4e00-\u9fa5a-zA-Z]{1,12}$/; //中文英文
     var money = /^(0{1}|([1-9][0-9]*)|(([0]\.\d{1,2}|[1-9][0-9]*\.\d{1,2})))$/;//金额
 
+
+    //添加寄回信息按钮
+    function showSendbackDiv() {
+        $("#updateSendBackDiv").hide();
+        $("#addSendBackDiv").show();
+    }
+    //添加邮费信息按钮
     function showPostageDiv() {
         $("#updatePostageId").hide();
         $("#addPostageId").show();
@@ -504,6 +702,313 @@
         }
     }
 
+    /*查询寄回信息*/
+    function getSendbackInfo(sendbackId) {
+        var info;
+        $.ajax({
+            cache: true,
+            type: "POST",
+            data: {"sendbackId" : sendbackId},
+            url: "${path}/admin/customer/get_SendbackInfo",
+            async: false,
+            success: function(data){
+                if (data.returnCode == 200) {
+                    $("#addSendBackDiv").hide();
+                    $("#updateSendBackDiv").show();
+                    info = data.returnMsg.sendbackInfo;
+                    $("#sendbackIds").val(info.sendbackId);
+                    $("input[type=radio][name=sendbackStatuss][value='"+info.sendbackStatus+"']").prop("checked",true);
+                    $("#sendbackLogisticsCompanys").val(info.sendbackLogisticsCompany);
+                    $("#sendbackLogisticsNos").val(info.sendbackLogisticsNo);
+                    $("#sendbackNames").val(info.sendbackName);
+                    $("#sendbackTels").val(info.sendbackTel);
+                    $("#sendbackSignTimes").val(info.sendbackSignTime);
+                    $("#productbodyIds").find(".input-prodcueNumber-ids").each(function () {
+                        for(var i=0;i<info.listSendbackItem.length;i++){
+                           if(info.listSendbackItem[i].sendbackProductId == $(this).parents("tr").find(".input-produce-ids").eq(0).val()
+                           && info.listSendbackItem[i].sendbackColorId == $(this).parents("tr").find(".input-color-ids").eq(0).val()) {
+                               $(this).val(info.listSendbackItem[i].sendbackProdcueNumber);
+                           }
+                        }
+                    });
+                } else {
+                    layer.msg("修改失败!",{icon: 5,time:1000});
+                }
+            },
+            error: function(XmlHttpRequest, textStatus, errorThrown){
+                window.parent.admin_result("修改失败!",5);
+            }
+        })
+    }
+
+
+    /*添加寄回信息*/
+    function addSendbackInfo() {
+            var relationId = $("#relationId").val();
+            var sendbackStatus = parseInt($("input[name='sendbackStatus']:checked").val());
+            var sendbackLogisticsCompany = $("#sendbackLogisticsCompany").val();
+            var sendbackLogisticsNo = $("#sendbackLogisticsNo").val();
+            var sendbackName = $("#sendbackName").val();
+            var sendbackTel = $("#sendbackTel").val();
+            var sendbackSignTime = $("#sendbackSignTime").val();
+            var sendProdcues = new Array();  //寄出产品表
+
+            $("#productbodyId").find(".input-prodcueNumber-id").each(function () {
+                var product = new Object();
+                product.sendbackProdcueNumber = $(this).val();
+                product.sendbackProductId = $(this).parents("tr").find(".input-produce-id").eq(0).val();    //产品id
+                product.sendbackColorId = $(this).parents("tr").find(".input-color-id").eq(0).val();    //颜色id
+                sendProdcues.push(product);
+            });
+            $("#sendProdcues").val(JSON.stringify(sendProdcues));
+            var SendProdcues = $("#sendProdcues").val();
+            if(sendbackStatus == null || sendbackStatus == ""){
+                layer.msg("请选择寄回状态!",{icon: 5,time:1000});
+                return;
+            }
+            if(sendbackLogisticsCompany == null || sendbackLogisticsCompany == ""){
+                layer.msg("请输入物流公司!",{icon: 5,time:1000});
+                return;
+            }
+            if(sendbackLogisticsNo == null || sendbackLogisticsNo == ""){
+                layer.msg("请输入物流单号!",{icon: 5,time:1000});
+                return;
+            }
+            if(sendbackName == null || sendbackName == ""){
+                layer.msg("请输入寄回人姓名!",{icon: 5,time:1000});
+                return;
+            }
+            if(sendbackTel == null || sendbackTel == ""){
+                layer.msg("请输入寄回人电话!",{icon: 5,time:1000});
+                return;
+            }
+            if(sendbackSignTime == null || postageAlipayName == ""){
+                layer.msg("请输入签收时间!",{icon: 5,time:1000});
+                return;
+            }
+            $.ajax({
+                cache: true,
+                type: "POST",
+                data: {"relationId" : relationId,
+                    "sendbackStatus" : sendbackStatus,
+                    "sendbackLogisticsCompany" : sendbackLogisticsCompany,
+                    "sendbackLogisticsNo" : sendbackLogisticsNo,
+                    "sendbackName" : sendbackName,
+                    "sendbackTel" : sendbackTel,
+                    "sendbackSignTime" : sendbackSignTime,
+                    "sendProdcues" : SendProdcues
+                },
+                url: "${path}/admin/customer/add_SendbackInfo",
+                async: false,
+                success: function(data){
+                        if (data.returnCode == 200) {
+                            $("#colspanSendbackId").remove();
+                            sendbackInfo = data.returnMsg.sendbackInfo;
+                            var sendbackStatus;
+                            var htmls = '<a onclick="deleteSendbackInfo('+sendbackInfo.sendbackId+');">删除</a>&nbsp&nbsp<a onclick="getSendbackInfo('+sendbackInfo.sendbackId+');">修改</a>&nbsp&nbsp<a onclick="updateSendbackStatus('+sendbackInfo.sendbackId+');">签收</a>';
+                            if(sendbackInfo.sendbackStatus == 1){
+                                sendbackStatus = "未配送";
+                            }
+                            if(sendbackInfo.sendbackStatus == 2){
+                                sendbackStatus = "配送中";
+                                htmls = '<a onclick="deleteSendbackInfo('+sendbackInfo.sendbackId+');">删除</a>&nbsp&nbsp<a onclick="getSendbackInfo('+sendbackInfo.sendbackId+');">修改</a>';
+                            }
+                            if(sendbackInfo.sendbackStatus == 3){
+                                sendbackStatus = "已签收";
+                            }
+                            var html = "";
+                            for(var i=0;i<sendbackInfo.listSendbackItem.length;i++){
+                                var sendbackItem = sendbackInfo.listSendbackItem[i]
+                                html += sendbackItem.sendbackProductName+'('+sendbackItem.sendbackColorName+')*'+ sendbackItem.sendbackProdcueNumber+ '<br>';
+                            };
+                            $("#SendbackbodyId").append('<tr id="deleteSendbackId'+sendbackInfo.sendbackId+'">' +
+                                    '<td>'+sendbackInfo.sendbackLogisticsName+'</td>' +
+                                    '<td>'+sendbackInfo.sendbackLogisticsNo+'</td>' +
+                                    '<td>'+sendbackInfo.sendbackName+'<br>'+sendbackInfo.sendbackTel+'</td>' +
+                                    '<td>'+sendbackStatus+'</td>' +
+                                    '<td>'+html+'</td>' +
+                                    '<td>'+htmls+'</td></tr>');
+                            layer.msg("添加成功!",{icon: 1,time:1000});
+
+                    } else {
+                        layer.msg("添加失败!",{icon: 5,time:1000});
+                    }
+                },
+                error: function(XmlHttpRequest, textStatus, errorThrown){
+                    window.parent.admin_result("修改失败!",5);
+                }
+                })
+    }
+
+    /*修改寄回信息*/
+    function updateSendbackInfo() {
+        var sendbackIds = $("#sendbackIds").val();
+        var sendbackStatus = parseInt($("input[name='sendbackStatuss']:checked").val());
+        var sendbackLogisticsCompany = $("#sendbackLogisticsCompanys").val();
+        var sendbackLogisticsNo = $("#sendbackLogisticsNos").val();
+        var sendbackName = $("#sendbackNames").val();
+        var sendbackTel = $("#sendbackTels").val();
+        var sendbackSignTime = $("#sendbackSignTimes").val();
+        var sendProdcues = new Array();  //寄出产品表
+
+        $("#productbodyIds").find(".input-prodcueNumber-ids").each(function () {
+            var product = new Object();
+            product.sendbackProdcueNumber = $(this).val();
+            product.sendbackProductId = $(this).parents("tr").find(".input-produce-ids").eq(0).val();    //产品id
+            product.sendbackColorId = $(this).parents("tr").find(".input-color-ids").eq(0).val();    //颜色id
+            product.sendbackItemId = $(this).parents("tr").find(".input-item-ids").eq(0).val();    //寄回项主键
+            sendProdcues.push(product);
+        });
+        $("#sendProdcues").val(JSON.stringify(sendProdcues));
+        var SendProdcues = $("#sendProdcues").val();
+        if(sendbackStatus == null || sendbackStatus == ""){
+            layer.msg("请选择寄回状态!",{icon: 5,time:1000});
+            return;
+        }
+        if(sendbackLogisticsCompany == null || sendbackLogisticsCompany == ""){
+            layer.msg("请输入物流公司!",{icon: 5,time:1000});
+            return;
+        }
+        if(sendbackLogisticsNo == null || sendbackLogisticsNo == ""){
+            layer.msg("请输入物流单号!",{icon: 5,time:1000});
+            return;
+        }
+        if(sendbackName == null || sendbackName == ""){
+            layer.msg("请输入寄回人姓名!",{icon: 5,time:1000});
+            return;
+        }
+        if(sendbackTel == null || sendbackTel == ""){
+            layer.msg("请输入寄回人电话!",{icon: 5,time:1000});
+            return;
+        }
+        if(sendbackSignTime == null || postageAlipayName == ""){
+            layer.msg("请输入签收时间!",{icon: 5,time:1000});
+            return;
+        }
+        $.ajax({
+            cache: true,
+            type: "POST",
+            data: {"sendbackId" : sendbackIds,
+                "sendbackStatus" : sendbackStatus,
+                "sendbackLogisticsCompany" : sendbackLogisticsCompany,
+                "sendbackLogisticsNo" : sendbackLogisticsNo,
+                "sendbackName" : sendbackName,
+                "sendbackTel" : sendbackTel,
+                "sendbackSignTime" : sendbackSignTime,
+                "sendProdcues" : SendProdcues
+            },
+            url: "${path}/admin/customer/update_SendbackInfo",
+            async: false,
+            success: function(data){
+                if (data.returnCode == 200) {
+                    $("#deleteSendbackId"+sendbackIds).html();
+                    sendbackInfo = data.returnMsg.sendbackInfo;
+                    var sendbackStatus;
+                    var htmls = '<a onclick="deleteSendbackInfo('+sendbackInfo.sendbackId+');">删除</a>&nbsp&nbsp<a onclick="getSendbackInfo('+sendbackInfo.sendbackId+');">修改</a>&nbsp&nbsp<a onclick="updateSendbackStatus('+sendbackInfo.sendbackId+');">签收</a>';
+                    if(sendbackInfo.sendbackStatus == 1){
+                        sendbackStatus = "未配送";
+                    }
+                    if(sendbackInfo.sendbackStatus == 2){
+                        sendbackStatus = "配送中";
+                        htmls = '<a onclick="deleteSendbackInfo('+sendbackInfo.sendbackId+');">删除</a>&nbsp&nbsp<a onclick="getSendbackInfo('+sendbackInfo.sendbackId+');">修改</a>';
+                    }
+                    if(sendbackInfo.sendbackStatus == 3){
+                        sendbackStatus = "已签收";
+                    }
+                    var html = "";
+                    for(var i=0;i<sendbackInfo.listSendbackItem.length;i++){
+                        var sendbackItem = sendbackInfo.listSendbackItem[i];
+                        html += sendbackItem.sendbackProductName+'('+sendbackItem.sendbackColorName+')*'+ sendbackItem.sendbackProdcueNumber+ '<br>';
+                    };
+                    $("#deleteSendbackId"+sendbackIds).html('<td>'+sendbackInfo.sendbackLogisticsName+'</td>' +
+                            '<td>'+sendbackInfo.sendbackLogisticsNo+'</td>' +
+                            '<td>'+sendbackInfo.sendbackName+'<br>'+sendbackInfo.sendbackTel+'</td>' +
+                            '<td>'+sendbackStatus+'</td>' +
+                            '<td>'+html+'</td>' +
+                            '<td>'+htmls+'</td>');
+                    layer.msg("修改成功!",{icon: 1,time:1000});
+
+                } else {
+                    layer.msg("修改失败!",{icon: 5,time:1000});
+                }
+            },
+            error: function(XmlHttpRequest, textStatus, errorThrown){
+                window.parent.admin_result("修改失败!",5);
+            }
+        })
+    }
+    /*修改寄回状态*/
+    function updateSendbackStatus(sendbackId) {
+        $.ajax({
+            cache: true,
+            type: "POST",
+            data: {"sendbackId" : sendbackId,
+                "sendbackStatus" : 3
+            },
+            url: "${path}/admin/customer/update_SendbackStatus",
+            async: false,
+            success: function(data){
+                if (data.returnCode == 200) {
+                    $("#deleteSendbackId"+sendbackId).html();
+                    sendbackInfo = data.returnMsg.sendbackInfo;
+                    var sendbackStatus;
+                    var htmls = '<a onclick="deleteSendbackInfo('+sendbackInfo.sendbackId+');">删除</a>&nbsp&nbsp<a onclick="getSendbackInfo('+sendbackInfo.sendbackId+');">修改</a>&nbsp&nbsp<a onclick="updateSendbackStatus('+sendbackInfo.sendbackId+');">签收</a>';
+                    if(sendbackInfo.sendbackStatus == 1){
+                        sendbackStatus = "未配送";
+                    }
+                    if(sendbackInfo.sendbackStatus == 2){
+                        sendbackStatus = "配送中";
+                        htmls = '<a onclick="deleteSendbackInfo('+sendbackInfo.sendbackId+');">删除</a>&nbsp&nbsp<a onclick="getSendbackInfo('+sendbackInfo.sendbackId+');">修改</a>';
+                    }
+                    if(sendbackInfo.sendbackStatus == 3){
+                        sendbackStatus = "已签收";
+                    }
+                    var html = "";
+                    for(var i=0;i<sendbackInfo.listSendbackItem.length;i++){
+                        var sendbackItem = sendbackInfo.listSendbackItem[i];
+                        html += sendbackItem.sendbackProductName+'('+sendbackItem.sendbackColorName+')*'+ sendbackItem.sendbackProdcueNumber+ '<br>';
+                    };
+                    $("#deleteSendbackId"+sendbackId).html('<td>'+sendbackInfo.sendbackLogisticsName+'</td>' +
+                            '<td>'+sendbackInfo.sendbackLogisticsNo+'</td>' +
+                            '<td>'+sendbackInfo.sendbackName+'<br>'+sendbackInfo.sendbackTel+'</td>' +
+                            '<td>'+sendbackStatus+'</td>' +
+                            '<td>'+html+'</td>' +
+                            '<td>'+htmls+'</td>');
+                    layer.msg("签收成功!",{icon: 1,time:1000});
+
+                } else {
+                    layer.msg("签收失败!",{icon: 5,time:1000});
+                }
+            },
+            error: function(XmlHttpRequest, textStatus, errorThrown){
+                window.parent.admin_result("签收失败!",5);
+            }
+        })
+    }
+
+    /*删除邮费信息*/
+    function deleteSendbackInfo(sendbackId) {
+        $.ajax({
+            cache: true,
+            type: "POST",
+            data: {"sendbackId" : sendbackId},
+            url: "${path}/admin/customer/delete_SendbackInfo",
+            async: false,
+            success: function(data){
+                if (data.returnCode == 200) {
+                    $("#deleteSendbackId"+sendbackId).remove();
+                    layer.msg("删除成功!",{icon: 1,time:1000});
+                } else {
+                    layer.msg("删除失败!",{icon: 5,time:1000});
+                }
+            },
+            error: function(XmlHttpRequest, textStatus, errorThrown){
+                window.parent.admin_result("删除失败!",5);
+            }
+        })
+    }
+
+
     /*添加邮费信息*/
     function addPostage() {
         var postageInfo;