Explorar el Código

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

wangxiaoming hace 7 años
padre
commit
2a821d0f95
Se han modificado 19 ficheros con 1462 adiciones y 1124 borrados
  1. 3 3
      watero-rst-core/src/main/java/com.iamberry.rst.core/cm/BackGoods.java
  2. 1 9
      watero-rst-core/src/main/java/com.iamberry.rst.core/cm/ComplaintSignclosedInfo.java
  3. 3 3
      watero-rst-core/src/main/java/com.iamberry.rst.core/cm/NoreasonBack.java
  4. 9 1
      watero-rst-core/src/main/java/com.iamberry.rst.core/cm/SignclosedProductInfo.java
  5. 2 2
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/ComplaintSignclosedInfoService.java
  6. 54 36
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/ComplaintSignclosedInfoServiceImpl.java
  7. 4 2
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/awaitingSignclosedProductMapper.xml
  8. 8 13
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/complaintSignclosedInfoMapper.xml
  9. 13 5
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/complaintSignclosedProductInfoMapper.xml
  10. 52 8
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminCustomerController.java
  11. 37 12
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminSignclosedController.java
  12. 24 919
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/custome_list.ftl
  13. 327 0
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/update_back_goods.ftl
  14. 327 0
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/update_noreason_back.ftl
  15. 374 0
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/update_reissue.ftl
  16. 13 26
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/update_renewed.ftl
  17. 13 25
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/update_repair.ftl
  18. 78 40
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/signclosed/add_signclosed.ftl
  19. 120 20
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/signclosed/complete_signclosed.ftl

+ 3 - 3
watero-rst-core/src/main/java/com.iamberry.rst.core/cm/BackGoods.java

@@ -28,7 +28,7 @@ public class BackGoods  implements Serializable {
 
     private String backGoodsBackLogisticsNo;
 
-    private Integer backGoodsBackPostage;
+    private Integer backGoodsBackPostage;       //寄回邮费 单位为分
 
     private String backGoodsBackMachineNo;
 
@@ -36,9 +36,9 @@ public class BackGoods  implements Serializable {
 
     private Integer backGoodsState;
 
-    private String backGoodsAlipay;
+    private String backGoodsAlipay;             //转账账户
 
-    private Integer backGoodsIsTransfer;
+    private Integer backGoodsIsTransfer;        //是否已转账邮费  0:不需要 1:已转  2:待转
 
     private Date backGoodsCreateTime;
 

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

@@ -16,7 +16,7 @@ public class ComplaintSignclosedInfo implements Serializable {
     private Integer signclosedId;//id
     private Integer signclosedType;//签收类型
     private String signclosedTypeName;//签收类型名称
-    private String machineNo;//机器编号
+
     private String signclosedLogistics;//寄回物流
     private String signclosedLogisticsNumber;//物流单号
     private String signclosedSendName;//寄件人姓名
@@ -66,14 +66,6 @@ public class ComplaintSignclosedInfo implements Serializable {
         this.signclosedTypeName = signclosedTypeName;
     }
 
-    public String getMachineNo() {
-        return machineNo;
-    }
-
-    public void setMachineNo(String machineNo) {
-        this.machineNo = machineNo;
-    }
-
     public String getSignclosedLogistics() {
         return signclosedLogistics;
     }

+ 3 - 3
watero-rst-core/src/main/java/com.iamberry.rst.core/cm/NoreasonBack.java

@@ -28,7 +28,7 @@ public class NoreasonBack  implements Serializable {
 
     private String noreasonBackBackLogisticsNo;
 
-    private Integer noreasonBackBackPostage;
+    private Integer noreasonBackBackPostage;    //寄回邮费 单位为分
 
     private String noreasonBackBackMachineNo;
 
@@ -36,9 +36,9 @@ public class NoreasonBack  implements Serializable {
 
     private Integer noreasonBackState;
 
-    private String noreasonBackAlipay;
+    private String noreasonBackAlipay;          //转账账户
 
-    private Integer noreasonBackIsTransfer;
+    private Integer noreasonBackIsTransfer;     //是否已转账邮费  0:不需要 1:已转  2:待转
 
     private Date noreasonBackCreateTime;
 

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

@@ -20,7 +20,7 @@ public class SignclosedProductInfo implements Serializable {
     private Integer signclosedProductType;//1 产品  2配件
     private Integer signclosedProductId;//关联产品id  (根据产品类型判断)
     private Integer signclosedProductColor;//关联产品颜色id
-
+    private String machineNo;//机器编号
 
     private String colorName;//颜色名称
     private String productNumber;//产品型号
@@ -112,4 +112,12 @@ public class SignclosedProductInfo implements Serializable {
     public void setProductNumber(String productNumber) {
         this.productNumber = productNumber;
     }
+
+    public String getMachineNo() {
+        return machineNo;
+    }
+
+    public void setMachineNo(String machineNo) {
+        this.machineNo = machineNo;
+    }
 }

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

@@ -17,9 +17,8 @@ public interface ComplaintSignclosedInfoService {
      * @return
      */
     boolean insert(ComplaintSignclosedInfo record,
-               Map<String,Integer> colorNameMap,
-               Map<String,Integer> fittingsNameMap,
                Map<String,Integer> alreadyColorMap,
+               Map<String,String[]> machineNumberMap,
                Map<String,Integer> alreadyFittingsMap);
     /**
      * 查询单个签收记录
@@ -32,6 +31,7 @@ public interface ComplaintSignclosedInfoService {
      */
     boolean updateSignclosedById(ComplaintSignclosedInfo record,
                              Map<String,Integer> alreadyColorMap,
+                             Map<String,String[]> machineNumberMap,
                              Map<String,Integer> alreadyFittingsMap);
 
     /**

+ 54 - 36
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/ComplaintSignclosedInfoServiceImpl.java

@@ -37,16 +37,15 @@ public class ComplaintSignclosedInfoServiceImpl implements ComplaintSignclosedIn
     @Override
     @Transactional
     public boolean insert(ComplaintSignclosedInfo record,
-                      Map<String,Integer> colorNameMap,
-                      Map<String,Integer> fittingsNameMap,
                       Map<String,Integer> alreadyColorMap,
+                      Map<String,String[]> machineNumberMap,
                       Map<String,Integer> alreadyFittingsMap) {
         boolean msg = true;
         int num = complaintSignclosedInfoMapper.insert(record);
         if(num < 1){
             msg = false;
         }else{
-            if(colorNameMap != null || colorNameMap.size() != 0){
+            /*if(colorNameMap != null || colorNameMap.size() != 0){
                 for (Map.Entry<String,Integer> entry : colorNameMap.entrySet()) {
                     AwaitingSignclosedProductInfo awaitingSignclosedInfo = new AwaitingSignclosedProductInfo();
                     //根据颜色id获取产品信息获取产品信息
@@ -81,23 +80,30 @@ public class ComplaintSignclosedInfoServiceImpl implements ComplaintSignclosedIn
                     awaitingSignclosedInfo.setSignclosedCreateTime(new Date());
                     awaitingSignclosedProductMapper.insert(awaitingSignclosedInfo);
                 }
-            }
+            }*/
             if(alreadyColorMap != null || alreadyColorMap.size() != 0){
                 for (Map.Entry<String,Integer> entry : alreadyColorMap.entrySet()) {
+                    int i = 0;
                     SignclosedProductInfo signclosedProductInfo = new SignclosedProductInfo();
                     //根据颜色id获取产品信息获取产品信息
                     Product product = productMapper.getProductById(Integer.valueOf(entry.getKey()));
                     if(product == null){
                         return false;
                     }
-                    signclosedProductInfo.setSignclosedId(record.getSignclosedId());
-                    signclosedProductInfo.setProductName(product.getProductName());
-                    signclosedProductInfo.setProductNum(entry.getValue());
-                    signclosedProductInfo.setSignclosedProductType(1);
-                    signclosedProductInfo.setSignclosedProductId(product.getProductId());
-                    signclosedProductInfo.setSignclosedProductColor(Integer.valueOf(entry.getKey()));
-                    signclosedProductInfo.setSignclosedCreateTime(new Date());
-                    complaintSignclosedProductInfoMapper.insert(signclosedProductInfo);
+                    String[] machinenums = machineNumberMap.get("machineNumber"+entry.getKey());
+                    for (int j = 0;j<entry.getValue();j++){
+                        signclosedProductInfo.setSignclosedId(record.getSignclosedId());
+                        signclosedProductInfo.setProductName(product.getProductName());
+                        signclosedProductInfo.setProductNum(1);
+                        signclosedProductInfo.setSignclosedProductType(1);
+                        signclosedProductInfo.setSignclosedProductId(product.getProductId());
+                        signclosedProductInfo.setSignclosedProductColor(Integer.valueOf(entry.getKey()));
+                        signclosedProductInfo.setMachineNo(machinenums[i]);
+                        signclosedProductInfo.setSignclosedCreateTime(new Date());
+                        complaintSignclosedProductInfoMapper.insert(signclosedProductInfo);
+                        i++;
+                    }
+
                 }
             }
             if(alreadyFittingsMap != null || alreadyFittingsMap.size() != 0){
@@ -108,14 +114,16 @@ public class ComplaintSignclosedInfoServiceImpl implements ComplaintSignclosedIn
                     if(fittingsInfo == null){
                         return false;
                     }
-                    signclosedProductInfo.setSignclosedId(record.getSignclosedId());
-                    signclosedProductInfo.setProductName(fittingsInfo.getFittingsName());
-                    signclosedProductInfo.setProductNum(entry.getValue());
-                    signclosedProductInfo.setSignclosedProductType(2);
-                    signclosedProductInfo.setSignclosedProductId(fittingsInfo.getFittingsId());
-                    signclosedProductInfo.setSignclosedProductColor(null);
-                    signclosedProductInfo.setSignclosedCreateTime(new Date());
-                    complaintSignclosedProductInfoMapper.insert(signclosedProductInfo);
+                    for (int j = 0;j<entry.getValue();j++){
+                        signclosedProductInfo.setSignclosedId(record.getSignclosedId());
+                        signclosedProductInfo.setProductName(fittingsInfo.getFittingsName());
+                        signclosedProductInfo.setProductNum(1);
+                        signclosedProductInfo.setSignclosedProductType(2);
+                        signclosedProductInfo.setSignclosedProductId(fittingsInfo.getFittingsId());
+                        signclosedProductInfo.setSignclosedProductColor(null);
+                        signclosedProductInfo.setSignclosedCreateTime(new Date());
+                        complaintSignclosedProductInfoMapper.insert(signclosedProductInfo);
+                    }
                 }
             }
         }
@@ -152,6 +160,7 @@ public class ComplaintSignclosedInfoServiceImpl implements ComplaintSignclosedIn
     @Override
     public boolean updateSignclosedById(ComplaintSignclosedInfo record,
                                     Map<String,Integer> alreadyColorMap,
+                                    Map<String,String[]> machineNumberMap,
                                     Map<String,Integer> alreadyFittingsMap) {
         boolean msg = true;
         int num = complaintSignclosedInfoMapper.updateSignclosedById(record);
@@ -160,20 +169,27 @@ public class ComplaintSignclosedInfoServiceImpl implements ComplaintSignclosedIn
         }else{
             if(alreadyColorMap != null || alreadyColorMap.size() != 0){
                 for (Map.Entry<String,Integer> entry : alreadyColorMap.entrySet()) {
+                    int i = 0;
                     SignclosedProductInfo signclosedProductInfo = new SignclosedProductInfo();
                     //根据颜色id获取产品信息获取产品信息
                     Product product = productMapper.getProductById(Integer.valueOf(entry.getKey()));
                     if(product == null){
                         return false;
                     }
-                    signclosedProductInfo.setSignclosedId(record.getSignclosedId());
-                    signclosedProductInfo.setProductName(product.getProductName());
-                    signclosedProductInfo.setProductNum(entry.getValue());
-                    signclosedProductInfo.setSignclosedProductType(1);
-                    signclosedProductInfo.setSignclosedProductId(product.getProductId());
-                    signclosedProductInfo.setSignclosedProductColor(Integer.valueOf(entry.getKey()));
-                    signclosedProductInfo.setSignclosedCreateTime(new Date());
-                    complaintSignclosedProductInfoMapper.insert(signclosedProductInfo);
+                    String[] machinenums = machineNumberMap.get("machineNumber"+entry.getKey());
+                    for (int j = 0;j<entry.getValue();j++){
+                        signclosedProductInfo.setSignclosedId(record.getSignclosedId());
+                        signclosedProductInfo.setProductName(product.getProductName());
+                        signclosedProductInfo.setProductNum(1);
+                        signclosedProductInfo.setSignclosedProductType(1);
+                        signclosedProductInfo.setSignclosedProductId(product.getProductId());
+                        signclosedProductInfo.setSignclosedProductColor(Integer.valueOf(entry.getKey()));
+                        signclosedProductInfo.setMachineNo(machinenums[i]);
+                        signclosedProductInfo.setSignclosedCreateTime(new Date());
+                        complaintSignclosedProductInfoMapper.insert(signclosedProductInfo);
+                        i++;
+                    }
+
                 }
             }
             if(alreadyFittingsMap != null || alreadyFittingsMap.size() != 0){
@@ -184,14 +200,16 @@ public class ComplaintSignclosedInfoServiceImpl implements ComplaintSignclosedIn
                     if(fittingsInfo == null){
                         return false;
                     }
-                    signclosedProductInfo.setSignclosedId(record.getSignclosedId());
-                    signclosedProductInfo.setProductName(fittingsInfo.getFittingsName());
-                    signclosedProductInfo.setProductNum(entry.getValue());
-                    signclosedProductInfo.setSignclosedProductType(2);
-                    signclosedProductInfo.setSignclosedProductId(fittingsInfo.getFittingsId());
-                    signclosedProductInfo.setSignclosedProductColor(null);
-                    signclosedProductInfo.setSignclosedCreateTime(new Date());
-                    complaintSignclosedProductInfoMapper.insert(signclosedProductInfo);
+                    for (int j = 0;j<entry.getValue();j++){
+                        signclosedProductInfo.setSignclosedId(record.getSignclosedId());
+                        signclosedProductInfo.setProductName(fittingsInfo.getFittingsName());
+                        signclosedProductInfo.setProductNum(1);
+                        signclosedProductInfo.setSignclosedProductType(2);
+                        signclosedProductInfo.setSignclosedProductId(fittingsInfo.getFittingsId());
+                        signclosedProductInfo.setSignclosedProductColor(null);
+                        signclosedProductInfo.setSignclosedCreateTime(new Date());
+                        complaintSignclosedProductInfoMapper.insert(signclosedProductInfo);
+                    }
                 }
             }
         }

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

@@ -80,17 +80,19 @@
       sp.product_id productId,
       sp.signclosed_id signclosedId,
       sp.product_name productName,
-      sp.product_num productNum,
+
       sp.signclosed_create_time signclosedCreateTime,
       sp.signclosed_update_time signclosedUpdateTime,
       sp.signclosed_product_type signclosedProductType,
       sp.signclosed_product_id signclosedProductId,
       sp.signclosed_product_color signclosedProductColor,
-      pc.color_name colorName
+      pc.color_name colorName,
+      count(1) productNum
       FROM
       tb_rst_complaint_awaiting_signclosed_product sp
       LEFT JOIN tb_rst_product_color pc on sp.signclosed_product_color = pc.color_id
       WHERE
       signclosed_id = #{signclosedId}
+      GROUP BY sp.product_name,pc.color_name
   </select>
 </mapper>

+ 8 - 13
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/complaintSignclosedInfoMapper.xml

@@ -5,7 +5,6 @@
     <id column="signclosed_id" property="signclosedId" jdbcType="INTEGER" />
     <result column="signclosed_type" property="signclosedType" jdbcType="BIT" />
     <result column="signclosed_type_name" property="signclosedTypeName" jdbcType="VARCHAR" />
-    <result column="machine_no" property="machineNo" jdbcType="VARCHAR" />
     <result column="signclosed_logistics" property="signclosedLogistics" jdbcType="VARCHAR" />
     <result column="signclosed_logistics_number" property="signclosedLogisticsNumber" jdbcType="VARCHAR" />
     <result column="signclosed_send_name" property="signclosedSendName" jdbcType="VARCHAR" />
@@ -28,7 +27,7 @@
     <result column="signclosed_update_time" property="signclosedUpdateTime" jdbcType="TIMESTAMP" />
   </resultMap>
   <sql id="Base_Column_List" >
-    signclosed_id, signclosed_type, signclosed_type_name, machine_no, signclosed_logistics, 
+    signclosed_id, signclosed_type, signclosed_type_name, signclosed_logistics,
     signclosed_logistics_number, signclosed_send_name, signclosed_send_tel, signclosed_addr_provinces, 
     signclosed_addr_city, signclosed_is_fittings, signclosed_date, signclosed_is_quality, 
     signclosed_is_into, signclosed_state, signclosed_objects_state, signclosed_customer_id, 
@@ -46,7 +45,6 @@
     <id column="signclosed_id" property="signclosedId"/>
     <result column="signclosed_type" property="signclosedType"/>
     <result column="signclosed_type_name" property="signclosedTypeName"/>
-    <result column="machine_no" property="machineNo"/>
     <result column="signclosed_logistics" property="signclosedLogistics"/>
     <result column="signclosed_logistics_number" property="signclosedLogisticsNumber"/>
     <result column="signclosed_send_name" property="signclosedSendName"/>
@@ -75,19 +73,20 @@
     sp.product_id productId,
     sp.signclosed_id signclosedId,
     sp.product_name productName,
-    sp.product_num productNum,
     sp.signclosed_create_time signclosedCreateTime,
     sp.signclosed_update_time signclosedUpdateTime,
     sp.signclosed_product_type signclosedProductType,
     sp.signclosed_product_id signclosedProductId,
     sp.signclosed_product_color signclosedProductColor,
     pc.color_name colorName,
-    pi.product_number productNumber
+    pi.product_number productNumber,
+    count(1) productNum
     from
     tb_rst_complaint_awaiting_signclosed_product sp
     LEFT JOIN tb_rst_product_color pc on sp.signclosed_product_color = pc.color_id
     LEFT JOIN tb_rst_product_info pi on sp.signclosed_product_id = pi.product_id
     where sp.signclosed_id = #{signclosedId}
+    GROUP BY sp.product_name,pc.color_name
   </select>
 
   <select id="listSignclosedById" resultType="SignclosedProductInfo" parameterType="Integer" >
@@ -95,26 +94,25 @@
     sp.product_id productId,
     sp.signclosed_id signclosedId,
     sp.product_name productName,
-    sp.product_num productNum,
     sp.signclosed_create_time signclosedCreateTime,
     sp.signclosed_update_time signclosedUpdateTime,
     sp.signclosed_product_type signclosedProductType,
     sp.signclosed_product_id signclosedProductId,
     sp.signclosed_product_color signclosedProductColor,
     pc.color_name colorName,
-    pi.product_number productNumber
+    count(1) productNum
     from
     tb_rst_complaint_signclosed_product sp
     LEFT JOIN tb_rst_product_color pc on sp.signclosed_product_color = pc.color_id
     LEFT JOIN tb_rst_product_info pi on sp.signclosed_product_id = pi.product_id
     where sp.signclosed_id = #{signclosedId}
+    GROUP BY sp.product_name,pc.color_name
   </select>
   <select id="listSignclosed" resultMap="complaintSignclosedInfoMap" parameterType="ComplaintSignclosedInfo" >
     SELECT
     cs.signclosed_id,
     cs.signclosed_type,
     cs.signclosed_type_name,
-    cs.machine_no,
     cs.signclosed_logistics,
     cs.signclosed_logistics_number,
     cs.signclosed_send_name,
@@ -171,7 +169,7 @@
 
   <insert id="insert" parameterType="ComplaintSignclosedInfo" useGeneratedKeys="true" keyProperty="signclosedId" >
     insert into tb_rst_complaint_signclosed (signclosed_type, signclosed_type_name,
-      machine_no, signclosed_logistics, signclosed_logistics_number, 
+      signclosed_logistics, signclosed_logistics_number,
       signclosed_send_name, signclosed_send_tel, 
       signclosed_addr_provinces, signclosed_addr_city, 
       signclosed_is_fittings, signclosed_date, signclosed_is_quality, 
@@ -181,7 +179,7 @@
       signclosed_desc
       )
     values (#{signclosedType,jdbcType=BIT}, #{signclosedTypeName,jdbcType=VARCHAR},
-      #{machineNo,jdbcType=VARCHAR}, #{signclosedLogistics,jdbcType=VARCHAR}, #{signclosedLogisticsNumber,jdbcType=VARCHAR}, 
+      #{signclosedLogistics,jdbcType=VARCHAR}, #{signclosedLogisticsNumber,jdbcType=VARCHAR},
       #{signclosedSendName,jdbcType=VARCHAR}, #{signclosedSendTel,jdbcType=VARCHAR}, 
       #{signclosedAddrProvinces,jdbcType=INTEGER}, #{signclosedAddrCity,jdbcType=INTEGER}, 
       #{signclosedIsFittings,jdbcType=BIT}, #{signclosedDate,jdbcType=DATE}, #{signclosedIsQuality,jdbcType=INTEGER}, 
@@ -200,9 +198,6 @@
       <if test="signclosedTypeName != null" >
         signclosed_type_name = #{signclosedTypeName,jdbcType=VARCHAR},
       </if>
-      <if test="machineNo != null" >
-        machine_no = #{machineNo,jdbcType=VARCHAR},
-      </if>
       <if test="signclosedLogistics != null" >
         signclosed_logistics = #{signclosedLogistics,jdbcType=VARCHAR},
       </if>

+ 13 - 5
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/complaintSignclosedProductInfoMapper.xml

@@ -11,10 +11,12 @@
     <result column="signclosed_product_type" property="signclosedProductType" jdbcType="INTEGER" />
     <result column="signclosed_product_id" property="signclosedProductId" jdbcType="INTEGER" />
     <result column="signclosed_product_color" property="signclosedProductColor" jdbcType="INTEGER" />
+    <result column="machine_no" property="machineNo" jdbcType="VARCHAR" />
+
   </resultMap>
   <sql id="Base_Column_List" >
     product_id, signclosed_id, product_name, product_num, signclosed_create_time,
-    signclosed_update_time,signclosed_product_type,signclosed_product_id,signclosed_product_color
+    signclosed_update_time,signclosed_product_type,signclosed_product_id,signclosed_product_color,machine_no
   </sql>
   <select id="getSignclosedById" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
     select 
@@ -33,6 +35,7 @@
 	sp.signclosed_product_type signclosedProductType,
 	sp.signclosed_product_id signclosedProductId,
 	sp.signclosed_product_color signclosedProductColor,
+	sp.machine_no machineNo,
     pc.color_name colorName,
     pi.product_number productNumber
     from
@@ -44,23 +47,25 @@
 
   <insert id="insert" parameterType="SignclosedProductInfo" >
     insert into tb_rst_complaint_signclosed_product (product_id, signclosed_id, product_name, 
-      product_num, signclosed_create_time, signclosed_update_time,signclosed_product_type,signclosed_product_id,signclosed_product_color
+      product_num, signclosed_create_time, signclosed_update_time,signclosed_product_type,signclosed_product_id,
+      signclosed_product_color,machine_no
       )
     values (#{productId,jdbcType=INTEGER}, #{signclosedId,jdbcType=INTEGER}, #{productName,jdbcType=VARCHAR}, 
       #{productNum,jdbcType=INTEGER}, #{signclosedCreateTime,jdbcType=TIMESTAMP}, #{signclosedUpdateTime,jdbcType=TIMESTAMP}
-      ,#{signclosedProductType,jdbcType=INTEGER}, #{signclosedProductId,jdbcType=INTEGER}, #{signclosedProductColor,jdbcType=INTEGER}
+      ,#{signclosedProductType,jdbcType=INTEGER}, #{signclosedProductId,jdbcType=INTEGER},
+       #{signclosedProductColor,jdbcType=INTEGER},#{machineNo,jdbcType=VARCHAR}
       )
   </insert>
 
   <insert id="insertList" parameterType="SignclosedProductInfo" >
     insert into tb_rst_complaint_awaiting_signclosed_product
       (
-          signclosed_id, product_name,product_num,signclosed_product_type,signclosed_product_id,signclosed_product_color
+          signclosed_id, product_name,product_num,signclosed_product_type,signclosed_product_id,signclosed_product_color,machine_no
       )
     values
     <foreach collection="list" item="node" index="index" separator="," open="" close="">
       (
-        #{node.signclosedId}, #{node.productName},#{node.productNum},#{node.signclosedProductType}, #{node.signclosedProductId}, #{node.signclosedProductColor}
+        #{node.signclosedId}, #{node.productName},#{node.productNum},#{node.signclosedProductType}, #{node.signclosedProductId}, #{node.signclosedProductColor}, #{node.machineNo}
       )
     </foreach>
   </insert>
@@ -77,6 +82,9 @@
       <if test="productNum != null" >
         product_num = #{productNum,jdbcType=INTEGER},
       </if>
+      <if test="machineNo != null" >
+        machine_no = #{machineNo,jdbcType=VARCHAR},
+      </if>
       <if test="signclosedCreateTime != null" >
         signclosed_create_time = #{signclosedCreateTime,jdbcType=TIMESTAMP},
       </if>

+ 52 - 8
watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminCustomerController.java

@@ -688,12 +688,12 @@ public class AdminCustomerController {
     }
 
     /**
-     * 进入回访信息详情
+     * 进入回访完成页面
      * @param request
      * @return
      * @throws Exception
      */
-    @RequiresPermissions("customer:get:visit")
+    @RequiresPermissions("customer:update:visit")
     @RequestMapping("/_update_visit_info")
     public ModelAndView toUpdateVisitFinish(HttpServletRequest request) throws Exception {
         ModelAndView mv = new ModelAndView("cm/customer/visit_finish");
@@ -973,6 +973,21 @@ public class AdminCustomerController {
     }
 
     /**
+     * 进入修改退货页面
+     * @param request
+     * @return
+     * @throws Exception
+     */
+    @RequiresPermissions("customer:update:backGoods")
+    @RequestMapping("/_to_update_book_goods")
+    public ModelAndView toUpdateBookGoods(HttpServletRequest request) throws Exception {
+        ModelAndView mv = new ModelAndView("cm/customer/update_back_goods");
+        String customerId = request.getParameter("customerId");
+        mv.addObject("customerId", customerId);
+        return mv;
+    }
+
+    /**
      * 进入修改售后退货页面
      *
      * @param request
@@ -980,7 +995,7 @@ public class AdminCustomerController {
      * @throws Exception
      */
     @ResponseBody
-    @RequiresPermissions("customer:update:BackGoods")
+    @RequiresPermissions("customer:update:backGoods")
     @RequestMapping("/_update_back_goods")
     public ResponseJson updateBackGoodsUI(HttpServletRequest request) throws Exception {
         String customerId = request.getParameter("customerId");
@@ -1027,15 +1042,29 @@ public class AdminCustomerController {
     }
 
     /**
+     * 进入修改补寄页面
+     * @param request
+     * @return
+     * @throws Exception
+     */
+    @RequiresPermissions("customer:update:reissue")
+    @RequestMapping("/_to_update_reissue")
+    public ModelAndView toUpdateReissue(HttpServletRequest request) throws Exception {
+        ModelAndView mv = new ModelAndView("cm/customer/update_reissue");
+        String customerId = request.getParameter("customerId");
+        mv.addObject("customerId", customerId);
+        return mv;
+    }
+
+    /**
      * 进入修改补寄信息页面
-     *
      * @param request
      * @return
      */
     @ResponseBody
     @RequiresPermissions("customer:update:reissue")
-    @RequestMapping("/_update_reissue")
-    public ResponseJson updateReissueUI(HttpServletRequest request) {
+    @RequestMapping("/get_reissue_info")
+    public ResponseJson getReissueInfo(HttpServletRequest request) {
         String customerId = request.getParameter("customerId");
         if (!StringUtils.isNotEmpty(customerId)) {
             return new ResponseJson(500, "该客诉信息不存在!", 500);
@@ -1090,6 +1119,21 @@ public class AdminCustomerController {
     }
 
     /**
+     * 进入修改退货页面
+     * @param request
+     * @return
+     * @throws Exception
+     */
+    @RequiresPermissions("customer:update:noreason")
+    @RequestMapping("/_update_noreason_back")
+    public ModelAndView toUpdateNoreasonBack(HttpServletRequest request) throws Exception {
+        ModelAndView mv = new ModelAndView("cm/customer/update_noreason_back");
+        String customerId = request.getParameter("customerId");
+        mv.addObject("customerId", customerId);
+        return mv;
+    }
+
+    /**
      * 获取无理由退货信息
      * @param request
      * @return
@@ -1097,8 +1141,8 @@ public class AdminCustomerController {
      */
     @ResponseBody
     @RequiresPermissions("customer:update:noreason")
-    @RequestMapping("/_update_noreason")
-    public ResponseJson toUpdateNoreason(HttpServletRequest request) throws Exception {
+    @RequestMapping("/get_noreason_back")
+    public ResponseJson getNoreasonBack(HttpServletRequest request) throws Exception {
         String customerId = request.getParameter("customerId");
         if (!StringUtils.isNotEmpty(customerId)) {
             return new ResponseJson(500, "该客诉信息不存在!", 500);

+ 37 - 12
watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminSignclosedController.java

@@ -113,19 +113,23 @@ public class AdminSignclosedController {
     public ResponseJson addSignclosed(HttpServletRequest request,ComplaintSignclosedInfo signclosedInfo) throws Exception {
         ResponseJson msg = new ResponseJson();
         if(signclosedInfo == null){
-            msg.setResultCode(500);
+            msg.setResultCode(200);
             msg.setReturnCode(500);
             return msg;
         }
 
         /**寄回产品**/
-        String[] colorName = request.getParameterValues("colorName");
-        String[] fittingsName = request.getParameterValues("fittingsName");
+        /*String[] colorName = request.getParameterValues("colorName");
+        String[] fittingsName = request.getParameterValues("fittingsName");*/
         /**签收产品**/
         String[] alreadyColorName = request.getParameterValues("alreadyColorName");
         String[] alreadyFittingsName = request.getParameterValues("alreadyFittingsName");
-
-        Map<String,Integer> colorNameMap = new HashMap<>();
+        if(alreadyColorName == null && alreadyFittingsName == null){
+            msg.setResultCode(200);
+            msg.setReturnCode(502);
+            return msg;
+        }
+        /*Map<String,Integer> colorNameMap = new HashMap<>();
         if(colorName != null && colorName.length> 0){
             for (int i = 0;i<colorName.length;i++){
                 colorNameMap.put(colorName[i],Integer.valueOf(request.getParameter("colorId"+colorName[i])));
@@ -136,11 +140,22 @@ public class AdminSignclosedController {
             for (int i = 0;i<fittingsName.length;i++){
                 fittingsNameMap.put(fittingsName[i],Integer.valueOf(request.getParameter("fittingsId"+fittingsName[i])));
             }
-        }
+        }*/
         Map<String,Integer> alreadyColorMap = new HashMap<>();
+        Map<String,String[]> machineNumberMap = new HashMap<>();
         if(alreadyColorName != null && alreadyColorName.length> 0){
             for (int i = 0;i<alreadyColorName.length;i++){
-                alreadyColorMap.put(alreadyColorName[i],Integer.valueOf(request.getParameter("alreadyColorId"+alreadyColorName[i])));
+                /**获取机器数量**/
+                String number = request.getParameter("alreadyColorId"+alreadyColorName[i]);
+                alreadyColorMap.put(alreadyColorName[i],Integer.valueOf(number));
+                /**获取机器编号数组**/
+                String[] machineNumbers = request.getParameterValues("machineNumber"+alreadyColorName[i]);
+                /*if(machineNumbers.length != Integer.valueOf(number)){
+                    msg.setResultCode(200);
+                    msg.setReturnCode(501);
+                    return msg;
+                }*/
+                machineNumberMap.put("machineNumber"+alreadyColorName[i],machineNumbers);
             }
         }
         Map<String, Integer> alreadyFittingsMap = new HashMap<>();
@@ -157,11 +172,11 @@ public class AdminSignclosedController {
         if(signclosedInfo.getSignclosedState() == 2){
             signclosedInfo.setSignclosedObjectsState(3);
         }
-        boolean num = complaintSignclosedInfoService.insert(signclosedInfo,colorNameMap,fittingsNameMap,alreadyColorMap,alreadyFittingsMap);
+        boolean num = complaintSignclosedInfoService.insert(signclosedInfo,alreadyColorMap,machineNumberMap,alreadyFittingsMap);
 
 
         if (!num) {
-            msg.setResultCode(500);
+            msg.setResultCode(200);
             msg.setReturnCode(500);
         } else {
             msg.setResultCode(200);
@@ -212,11 +227,21 @@ public class AdminSignclosedController {
         /**签收产品**/
         String[] alreadyColorName = request.getParameterValues("alreadyColorName");
         String[] alreadyFittingsName = request.getParameterValues("alreadyFittingsName");
-
+        if(alreadyColorName == null && alreadyFittingsName == null){
+            msg.setResultCode(200);
+            msg.setReturnCode(502);
+            return msg;
+        }
         Map<String,Integer> alreadyColorMap = new HashMap<>();
+        Map<String,String[]> machineNumberMap = new HashMap<>();
         if(alreadyColorName != null && alreadyColorName.length> 0){
             for (int i = 0;i<alreadyColorName.length;i++){
-                alreadyColorMap.put(alreadyColorName[i],Integer.valueOf(request.getParameter("alreadyColorId"+alreadyColorName[i])));
+                /**获取机器数量**/
+                String number = request.getParameter("alreadyColorId"+alreadyColorName[i]);
+                alreadyColorMap.put(alreadyColorName[i],Integer.valueOf(number));
+                /**获取机器编号数组**/
+                String[] machineNumbers = request.getParameterValues("machineNumber"+alreadyColorName[i]);
+                machineNumberMap.put("machineNumber"+alreadyColorName[i],machineNumbers);
             }
         }
         Map<String, Integer> alreadyFittingsMap = new HashMap<>();
@@ -231,7 +256,7 @@ public class AdminSignclosedController {
             signclosedInfo.setSignclosedDate(format.parse(signclosedDate));
         }
         signclosedInfo.setSignclosedState(1);
-        boolean num = complaintSignclosedInfoService.updateSignclosedById(signclosedInfo,alreadyColorMap,alreadyFittingsMap);
+        boolean num = complaintSignclosedInfoService.updateSignclosedById(signclosedInfo,alreadyColorMap,machineNumberMap,alreadyFittingsMap);
 
 
         if (!num) {

+ 24 - 919
watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/custome_list.ftl

@@ -30,435 +30,6 @@
 </nav>
 <div class="page-container">
     <div class="text-c">
-        <!-- 维修处理start -->
-        <div class="layui-layer layui-anim layui-layer-iframe" id="update-repair-info" times="4" showtime="0" contype="string" style="display:none;z-index: 19891018; width: 700px; height: 850px; position: absolute; top: 100px; left: 250px;text-align: left;">
-            <form action="" name="form-update-repair" method="post" class="form form-horizontal" id="form-update-repair">
-                <div class="layui-layer-title" id="synOrder" style="cursor: move;" move="ok">换新处理</div>
-                <div style="margin-left: 10px;">
-                    <div class="formControls" style="margin-top: 10px;">
-                        <input type="hidden" id="repairId" name="repairId" />
-                        <label>当前进度:</label>
-                        <label id="repairSchedule"></label>
-                    </div>
-                    <div class="col-4"> </div>
-                </div>
-                <div style="margin-left: 10px;">
-                    <div class="formControls repair_back_status">
-                        <label>客户已寄回:</label>
-                        <input type="radio" name="repairBackStatus" value="1"/><label>未寄回&nbsp;&nbsp;</label>
-                        <input type="radio" name="repairBackStatus" value="2"/><label>已寄回&nbsp;&nbsp;</label>
-                        <input type="radio" name="repairBackStatus" value="3"/><label>已收货&nbsp;&nbsp;</label>
-                    </div>
-                </div>
-                <div style="margin-left: 10px;">
-                    <div class="formControls" style="margin-top: 10px;">
-                        <label>寄回物流:</label>
-                        <select name="repairBackLogisticsCompany" id="repairBackLogisticsCompany" style="height: 30px;width: 100px;">
-                            <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>
-                        <input type="text" id="repairBackLogisticsNo" class="input-text" value="" style="width: 150px;" name="repairBackLogisticsNo">
-                        <input type="text" id="repairBackPostage" class="input-text" value="" style="width: 150px;" name="repairBackPostage">
-                    </div>
-                    <div class="col-4"> </div>
-                </div>
-                <div style="margin-left: 10px;">
-                    <div class="formControls" style="margin-top: 10px;">
-                        <label>寄回信息:</label>
-                        <input type="text" id="repairBackName" class="input-text" value="" style="width: 150px;" name="repairBackName">
-                        <input type="text" id="repairBackTel" class="input-text" value="" style="width: 150px;" name="repairBackTel">
-                        <input type="text" id="repairBackMachineNo" class="input-text" value="" style="width: 150px;" name="repairBackMachineNo">
-                    </div>
-                    <div class="col-4"> </div>
-                </div>
-                <div style="margin-left: 10px;">
-                    <div class="formControls" style="margin-top: 10px;">
-                        <label>寄送产品:</label>
-                        <div id="repairProduct" class="update-parts"></div>
-                    </div>
-                    <div class="col-4"> </div>
-                </div>
-                <hr/>
-                <div style="margin-left: 10px;">
-                    <div class="formControls repair_send_status" style="margin-top: 10px;">
-                        <label>是否已寄送:</label>
-                        <input type="radio" name="repairSendStatus" value="1"/><label>未寄出&nbsp;&nbsp;</label>
-                        <input type="radio" name="repairSendStatus" value="2"/><label>已寄出&nbsp;&nbsp;</label>
-                        <input type="radio" name="repairSendStatus" value="3"/><label>已收货&nbsp;&nbsp;</label>
-                        <label>Efast订单号:</label>
-                        <label id="repairBackEfastOrderId"></label>
-                    </div>
-                    <div class="col-4"> </div>
-                </div>
-                <div style="margin-left: 10px;">
-                    <div class="formControls" style="margin-top: 10px;">
-                        <label>用户地址:</label>
-                        <input type="text" id="repairSendName" class="input-text" value="" style="width: 150px;" name="repairSendName">
-                        <input type="text" id="repairSendTel" class="input-text" value="" style="width: 150px;" name="repairSendTel">
-                    </div>
-                    <div class="formControls" style="padding-left: 74px;">
-                        <select id="repairProvinceNumber" name="repairProvinceNumber" style="height: 30px;width: 100px;" onchange=""></select>
-                        <select id="repairCityNumber" name="repairCityNumber" style="height: 30px;width: 100px;" onchange=""></select>
-                        <select id="repairAreaNumber" name="repairAreaNumber" style="height: 30px;width: 100px;" onchange=""></select>
-                    </div>
-                    <div class="formControls" style="padding-left: 74px;">
-                        <textarea id="repairSendAddress" name="repairSendAddress" cols="" rows="" style="width: 500px;height: 70px;" class="textarea" ></textarea>
-                    </div>
-                    <div class="col-4"> </div>
-                </div>
-                <div style="margin-left: 10px;">
-                    <div class="formControls" style="margin-top: 10px;">
-                        <label>寄出物流:</label>
-                        <select name="repairSendLogisticsCompany" id="repairSendLogisticsCompany" style="height: 30px;width: 100px;">
-                            <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>
-                        <input type="text" id="repairSendLogisticsNo" class="input-text" value="" style="width: 150px;" name="repairSendLogisticsNo">
-                    </div>
-                    <div class="col-4"> </div>
-                </div>
-                <div style="margin-left: 10px;">
-                    <div class="formControls" style="margin-top: 10px;">
-                        <label>备注:</label>
-                        <textarea id="repairDesc" name="repairDesc" cols="" rows="" style="width: 500px;height: 70px;" class="textarea" ></textarea>
-                    </div>
-                    <div class="col-4"> </div>
-                </div>
-                <hr/>
-                <div style="margin-left: 10px;">
-                    <div class="formControls" style="margin-top: 10px;">
-                        <label>QC进度:</label>
-                        <div>
-                            <table class="table table-border table-bordered table-bg table-hover table-sort">
-                                <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>
-                            </table>
-                        </div>
-                    </div>
-                    <div class="col-4"> </div>
-                </div>
-                <div style="margin-left: 10px;">
-                    <div class="formControls" style="margin-top: 10px;">
-                        <label>返修进度:</label>
-                        <div>
-                            <table class="table table-border table-bordered table-bg table-hover table-sort">
-                                <tr>
-                                    <th>是否可返修</th>
-                                    <th>返修内容</th>
-                                    <th>返修日期</th>
-                                </tr>
-                                <tr>
-                                    <td id="repairMaintenanceIdRepair"></td>
-                                    <td id="repairMaintenanceContent"></td>
-                                    <td id="repairMaintenanceContentDate"></td>
-                                </tr>
-                            </table>
-                        </div>
-                    </div>
-                    <div class="col-4"> </div>
-                </div>
-                <div style="margin-left: 10px;">
-                    <div class="formControls" style="margin-top: 10px;">
-                        <label>
-                            寄送产品将自动推送Efast,系统自动获取物流信息,并更新。<br/>
-                            如果在Efast作废订单等操作后,无法获取物流信息,请手动填写物流信息。
-                        </label>
-                    </div>
-                    <div class="col-4"> </div>
-                </div>
-                <div class="col-9 col-offset-3">
-                    <input class="btn btn-primary radius" onclick="update_repair_info();" type="button" value="&nbsp;&nbsp;确认&nbsp;&nbsp;">
-                </div>
-            </form>
-            <span class="layui-layer-setwin">
-				<a class="layui-layer-ico layui-layer-close layui-layer-close1" onclick="hide_this(this)" href="javascript:;"></a>
-		</span>
-        </div>
-        <!-- 维修处理end -->
-        <!-- 退货处理start -->
-        <div class="layui-layer layui-anim layui-layer-iframe" id="update-back-goods" times="4" showtime="0" contype="string" style="display:none;z-index: 19891018; width: 700px; height: 400px; position: absolute; top: 100px; left: 250px;text-align: left;">
-            <form action="" name="form-update-backGoods" method="post" class="form form-horizontal" id="form-update-backGoods">
-                <div class="layui-layer-title" id="synOrder" style="cursor: move;" move="ok">退货处理</div>
-                <div style="margin-left: 10px;">
-                    <div class="formControls" style="margin-top: 10px;">
-                        <input type="hidden" id="backGoodsId" name="backGoodsId" />
-                        <label>当前进度:</label>
-                        <label id="backGoodsSchedule"></label>
-                    </div>
-                    <div class="col-4"> </div>
-                </div>
-                <div style="margin-left: 10px;">
-                    <div class="formControls backGoods_back_status">
-                        <label>客户已寄回:</label>
-                        <input type="radio" name="backGoodsBackStatus" value="1"/><label>未寄回&nbsp;&nbsp;</label>
-                        <input type="radio" name="backGoodsBackStatus" value="2"/><label>已寄回&nbsp;&nbsp;</label>
-                        <input type="radio" name="backGoodsBackStatus" value="3"/><label>已收货&nbsp;&nbsp;</label>
-                    </div>
-                </div>
-                <div style="margin-left: 10px;">
-                    <div class="formControls" style="margin-top: 10px;">
-                        <label>寄回物流:</label>
-                        <select name="backGoodsBackLogisticsCompany" id="backGoodsBackLogisticsCompany" style="height: 30px;width: 100px;">
-                            <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>
-                        <input type="text" id="backGoodsBackLogisticsNo" class="input-text" value="" style="width: 150px;" name="backGoodsBackLogisticsNo">
-                        <input type="text" id="backGoodsBackPostage" class="input-text" value="" style="width: 150px;" name="backGoodsBackPostage">
-                    </div>
-                    <div class="col-4"> </div>
-                </div>
-                <div style="margin-left: 10px;">
-                    <div class="formControls" style="margin-top: 10px;">
-                        <label>寄回信息:</label>
-                        <input type="text" id="backGoodsBackName" class="input-text" value="" style="width: 150px;" name="backGoodsBackName">
-                        <input type="text" id="backGoodsBackTel" class="input-text" value="" style="width: 150px;" name="backGoodsBackTel">
-                        <input type="text" id="backGoodsBackMachineNo" class="input-text" value="" style="width: 150px;" name="backGoodsBackMachineNo">
-                    </div>
-                    <div class="col-4"> </div>
-                </div>
-                <div style="margin-left: 10px;">
-                    <div class="formControls" style="margin-top: 10px;">
-                        <label>寄回产品:</label>
-                        <div id="backGoodsProduct" class="update-parts"></div>
-                    </div>
-                    <div class="col-4"> </div>
-                </div>
-                <div style="margin-left: 10px;">
-                    <div class="formControls" style="margin-top: 10px;">
-                        <label>备注:</label>
-                        <textarea id="backGoodsDesc" name="backGoodsDesc" cols="" rows="" style="width: 500px;height: 70px;" class="textarea" ></textarea>
-                    </div>
-                    <div class="col-4"> </div>
-                </div>
-                <br/>
-                <div class="col-9 col-offset-3">
-                    <input class="btn btn-primary radius" onclick="update_back_goods();" type="button" value="&nbsp;&nbsp;确认修改&nbsp;&nbsp;">
-                </div>
-            </form>
-            <span class="layui-layer-setwin">
-				<a class="layui-layer-ico layui-layer-close layui-layer-close1" onclick="hide_this(this)" href="javascript:;"></a>
-		</span>
-        </div>
-        <!-- 退货处理end -->
-        <!-- 无理由退货处理start -->
-        <div class="layui-layer layui-anim layui-layer-iframe" id="update-noreason-back" times="4" showtime="0" contype="string" style="display:none;z-index: 19891018; width: 700px; height: 400px; position: absolute; top: 100px; left: 250px;text-align: left;">
-            <form action="" name="form-update-noreasonBack" method="post" class="form form-horizontal" id="form-update-noreasonBack">
-                <div class="layui-layer-title" id="synOrder" style="cursor: move;" move="ok">无理由退货处理</div>
-                <div style="margin-left: 10px;">
-                    <div class="formControls" style="margin-top: 10px;">
-                        <input type="hidden" id="noreasonBackId" name="noreasonBackId" />
-                        <label>当前进度:</label>
-                        <label id="noreasonBackSchedule"></label>
-                    </div>
-                    <div class="col-4"> </div>
-                </div>
-                <div style="margin-left: 10px;">
-                    <div class="formControls noreasonBack_back_status">
-                        <label>客户已寄回:</label>
-                        <input type="radio" name="noreasonBackBackStatus" value="1"/><label>未寄回&nbsp;&nbsp;</label>
-                        <input type="radio" name="noreasonBackBackStatus" value="2"/><label>已寄回&nbsp;&nbsp;</label>
-                        <input type="radio" name="noreasonBackBackStatus" value="3"/><label>已收货&nbsp;&nbsp;</label>
-                    </div>
-                </div>
-                <div style="margin-left: 10px;">
-                    <div class="formControls" style="margin-top: 10px;">
-                        <label>寄回物流:</label>
-                        <select name="noreasonBackBackLogisticsCompany" id="noreasonBackBackLogisticsCompany" style="height: 30px;width: 100px;">
-                            <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>
-                        <input type="text" id="noreasonBackBackLogisticsNo" class="input-text" value="" style="width: 150px;" name="noreasonBackBackLogisticsNo">
-                        <input type="text" id="noreasonBackBackPostage" class="input-text" value="" style="width: 150px;" name="noreasonBackBackPostage">
-                    </div>
-                    <div class="col-4"> </div>
-                </div>
-                <div style="margin-left: 10px;">
-                    <div class="formControls" style="margin-top: 10px;">
-                        <label>寄回信息:</label>
-                        <input type="text" id="noreasonBackBackName" class="input-text" value="" style="width: 150px;" name="noreasonBackBackName">
-                        <input type="text" id="noreasonBackBackTel" class="input-text" value="" style="width: 150px;" name="noreasonBackBackTel">
-                        <input type="text" id="noreasonBackBackMachineNo" class="input-text" value="" style="width: 150px;" name="noreasonBackBackMachineNo">
-                    </div>
-                    <div class="col-4"> </div>
-                </div>
-                <div style="margin-left: 10px;">
-                    <div class="formControls" style="margin-top: 10px;">
-                        <label>寄回产品:</label>
-                        <div id="noreasonBackProduct" class="update-parts"></div>
-                    </div>
-                    <div class="col-4"> </div>
-                </div>
-                <div style="margin-left: 10px;">
-                    <div class="formControls" style="margin-top: 10px;">
-                        <label>备注:</label>
-                        <textarea id="noreasonBackDesc" name="noreasonBackDesc" cols="" rows="" style="width: 500px;height: 70px;" class="textarea" ></textarea>
-                    </div>
-                    <div class="col-4"> </div>
-                </div>
-                <br/>
-                <div class="col-9 col-offset-3">
-                    <input class="btn btn-primary radius" onclick="update_noreason_back();" type="button" value="&nbsp;&nbsp;确认修改&nbsp;&nbsp;">
-                </div>
-            </form>
-            <span class="layui-layer-setwin">
-				<a class="layui-layer-ico layui-layer-close layui-layer-close1" onclick="hide_this(this)" href="javascript:;"></a>
-		</span>
-        </div>
-        <!-- 无理由退货处理end -->
-        <!-- 补发处理start -->
-        <div class="layui-layer layui-anim layui-layer-iframe" id="update-reissue-info" times="4" showtime="0" contype="string" style="display:none;z-index: 19891018; width: 700px; height: 480px; position: absolute; top: 100px; left: 250px;text-align: left;">
-            <form action="" name="form-update-reissue" method="post" class="form form-horizontal" id="form-update-reissue">
-                <div class="layui-layer-title" id="synOrder" style="cursor: move;" move="ok">补发处理</div>
-                <div style="margin-left: 10px;">
-                    <div class="formControls" style="margin-top: 10px;">
-                        <input type="hidden" id="reissueId" name="reissueId" />
-                        <label>当前进度:</label>
-                        <label id="reissueSchedule"></label>
-                    </div>
-                    <div class="col-4"> </div>
-                </div>
-                <div style="margin-left: 10px;">
-                    <div class="formControls reissue_send_status" style="margin-top: 10px;">
-                        <label>是否已寄送:</label>
-                        <input type="radio" name="reissueSendStatus" value="1"/><label>未寄出&nbsp;&nbsp;</label>
-                        <input type="radio" name="reissueSendStatus" value="2"/><label>已寄出&nbsp;&nbsp;</label>
-                        <input type="radio" name="reissueSendStatus" value="3"/><label>已收货&nbsp;&nbsp;</label>
-                        <label>Efast订单号:</label>
-                        <label id="reissueBackEfastOrderId"></label>
-                    </div>
-                    <div class="col-4"> </div>
-                </div>
-                <div style="margin-left: 10px;">
-                    <div class="formControls" style="margin-top: 10px;">
-                        <label>寄出物流:</label>
-                        <select name="reissueSendLogisticsCompany" id="reissueSendLogisticsCompany" style="height: 30px;width: 100px;">
-                            <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>
-                        <input type="text" id="reissueSendLogisticsNo" class="input-text" value="" style="width: 150px;" name="reissueSendLogisticsNo">
-                    </div>
-                    <div class="col-4"> </div>
-                </div>
-                <div style="margin-left: 10px;">
-                    <div class="formControls" style="margin-top: 10px;">
-                        <label>补寄产品:</label>
-                        <div id="reissueProduct" class="update-parts"></div>
-                    </div>
-                    <div class="col-4"> </div>
-                </div>
-                <div style="margin-left: 10px;">
-                    <div class="formControls" style="margin-top: 10px;">
-                        <label>用户地址:</label>
-                        <input type="text" id="reissueSendName" class="input-text" value="" style="width: 150px;" name="reissueSendName">
-                        <input type="text" id="reissueSendTel" class="input-text" value="" style="width: 150px;" name="reissueSendTel">
-                    </div>
-                    <div class="formControls" style="padding-left: 74px;">
-                        <select id="reissueProvinceNumber" name="reissueProvinceNumber" style="height: 30px;width: 100px;"></select>
-                        <select id="reissueCityNumber" name="reissueCityNumber" style="height: 30px;width: 100px;" onchange=""></select>
-                        <select id="reissueAreaNumber" name="reissueAreaNumber" style="height: 30px;width: 100px;" onchange=""></select>
-                    </div>
-                    <div class="formControls" style="padding-left: 74px;">
-                        <textarea id="reissueSendAddress" name="reissueSendAddress" cols="" rows="" style="width: 500px;height: 70px;" class="textarea" ></textarea>
-                    </div>
-                    <div class="col-4"> </div>
-                </div>
-                <div style="margin-left: 10px;">
-                    <div class="formControls" style="margin-top: 10px;">
-                        <label>备注:</label>
-                        <textarea id="reissueDesc" name="reissueDesc" cols="" rows="" style="width: 500px;height: 70px;" class="textarea" ></textarea>
-                    </div>
-                    <div class="col-4"></div>
-                </div>
-                <div class="col-9 col-offset-3">
-                    <input class="btn btn-primary radius" onclick="update_reissue_info();" type="button" value="&nbsp;&nbsp;确认&nbsp;&nbsp;">
-                </div>
-            </form>
-            <span class="layui-layer-setwin">
-				<a class="layui-layer-ico layui-layer-close layui-layer-close1" onclick="hide_this(this)" href="javascript:;"></a>
-		</span>
-        </div>
-        <!-- 补发处理end -->
         <form action="${path}/admin/customer/select_customer_list" method="post">
             <button type="button" style="cursor:pointer; float: left;height: 35px;" class="my-btn-search" onclick="toAddCustomer();">新建客诉</button>
             <input type="text" class="my-input"  style="width:90px;margin-right: 0px;" value="${customerInfo.customerName!}" placeholder="请输入姓名" id="customerName" name="customerName">
@@ -624,7 +195,7 @@
                                     )
                                 <#elseif customer.customerIsSolve == 5>
                                     补发(
-                                    <a style="text-decoration:none" href="javascript:void(0);" onclick="get_reissue_info(${customer.customerId!''})">
+                                    <a style="text-decoration:none" href="javascript:void(0);" onclick="toUpdateReissue(${customer.customerId!''})">
                                         <#if customer.sendStatus == 1>
                                             未寄送
                                         <#elseif customer.sendStatus == 2>
@@ -636,7 +207,7 @@
                                     )
                                 <#elseif customer.customerIsSolve == 6>
                                     退货(
-                                    <a style="text-decoration:none" href="javascript:void(0);" onclick="get_book_goods_info(${customer.customerId!''})">
+                                    <a style="text-decoration:none" href="javascript:void(0);" onclick="toUpdateBookGoods(${customer.customerId!''})">
                                         <#if customer.backStatus == 1>
                                             未寄回
                                         <#elseif customer.backStatus == 2>
@@ -648,7 +219,7 @@
                                     )
                                 <#elseif customer.customerIsSolve == 7>
                                     无理由退货(
-                                    <a style="text-decoration:none" href="javascript:void(0);" onclick="get_noreason_info(${customer.customerId!''})">
+                                    <a style="text-decoration:none" href="javascript:void(0);" onclick="toUpdateNoreasonBack(${customer.customerId!''})">
                                         <#if customer.backStatus == 1>
                                             未寄回
                                         <#elseif customer.backStatus == 2>
@@ -711,11 +282,6 @@
 </tfoot>
 <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})))$/;//金额
-    var loginAdminId = ${loginAdminId!''};
-
     /**
      * 跳转到添加customer页面
      */
@@ -786,6 +352,27 @@
         layer_show("维修处理","${path}/admin/customer/_to_update_repair?customerId="+customerId,"800","500");
     }
 
+    /**
+     * 进入修改退货页面
+     */
+    function toUpdateBookGoods(customerId) {
+        layer_show("退货处理","${path}/admin/customer/_to_update_book_goods?customerId="+customerId,"800","500");
+    }
+
+    /**
+     * 进入修改无理由退货页面
+     */
+    function toUpdateNoreasonBack(customerId) {
+        layer_show("无理由退货处理","${path}/admin/customer/_update_noreason_back?customerId="+customerId,"800","500");
+    }
+
+    /**
+     * 进入修改售后补发页面
+     */
+    function toUpdateReissue(customerId) {
+        layer_show("补发处理","${path}/admin/customer/_to_update_reissue?customerId="+customerId,"800","500");
+    }
+
     /*子页面添加完信息后回显添加结果是否成功*/
     function custome_result(str,num) {
         layer.msg(str,{icon:num,time:1000});
@@ -818,488 +405,6 @@
         });
     }
 
-    /**
-     * 获取省
-     */
-    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);
-        }
-    }
-
-    /*获取售后退货信息*/
-    function get_book_goods_info(customerId) {
-        $.ajax({
-            cache: true,
-            type: "POST",
-            data: {"customerId":customerId},
-            url: "${path}/admin/customer/_update_back_goods",
-            async: false,
-            success: function(data){
-                if (data.returnCode == 200) {
-                    var backGoods = data.returnMsg.backGoods;
-                    console.log(backGoods);
-                    $('#backGoodsId').val(backGoods.backGoodsId);
-                    $('#backGoodsBackName').val(backGoods.backGoodsBackName);
-                    $('#backGoodsBackTel').val(backGoods.backGoodsBackTel);
-                    $('#backGoodsBackLogisticsCompany').val(backGoods.backGoodsBackLogisticsCompany);
-                    $('#backGoodsBackLogisticsNo').val(backGoods.backGoodsBackLogisticsNo);
-                    $('#backGoodsBackPostage').val(backGoods.backGoodsBackPostage/100);
-                    $('#backGoodsBackMachineNo').val(backGoods.backGoodsBackMachineNo);
-                    $('#backGoodsDesc').val(backGoods.backGoodsDesc);
-                    var backGoodsSchedule = '';
-                    switch (backGoods.backGoodsBackStatus) {
-                        case 1:backGoodsSchedule += '未寄回';break;
-                        case 2:backGoodsSchedule += '已寄回';break;
-                        case 3:backGoodsSchedule += '已收货';break;
-                    }
-                    $('#backGoodsSchedule').html(backGoodsSchedule);
-                    $(".backGoods_back_status input[value='"+ backGoods.backGoodsBackStatus +"']").attr("checked",true);
-                    var backProduct = '';
-                    if (backGoods.closedProdcues != null && backGoods.closedProdcues.length > 0) {
-                        $.each(backGoods.closedProdcues,function(index,element){
-                            backProduct += '<span>'+ this.closedProductName + '*' + this.closedProdcueNumber + '</span>';
-                        })
-                    }
-                    if (backGoods.closedFittings != null && backGoods.closedFittings.length > 0) {
-                        $.each(backGoods.closedFittings,function(index,element){
-                            backProduct += '<span>'+ this.fittingName + '*' + this.closedFittingNumber + '</span>';
-                        })
-                    }
-                    $('#update-back-goods').show();
-                }
-            },
-            error: function(XmlHttpRequest, textStatus, errorThrown){
-            }
-        })
-    }
-
-    /*修改售后退货信息*/
-    function update_back_goods() {
-        var backGoods_flag = checkBackGoods();
-        if (backGoods_flag) {
-            $.ajax({
-                cache: true,
-                type: "POST",
-                data: $('#form-update-backGoods').serialize(),
-                url: "${path}/admin/customer/update_back_goods",
-                async: false,
-                success: function(data){
-                    if (data.returnCode == 200) {
-                        layer.msg(data.resultMsg,{icon: 1,time:1000});
-                    } else {
-                        layer.msg(data.resultMsg,{icon: 5,time:1000});
-                    }
-                    $('#update-back-goods').hide();
-                },
-                error: function(XmlHttpRequest, textStatus, errorThrown){
-                }
-            })
-        }
-    }
-
-    /*校验退货填写信息*/
-    function checkBackGoods() {
-        var backGoods_flag = true;
-        var backGoodsBackStatus = $('input[name="backGoodsBackStatus"]:checked').val();//寄回状态
-        var backGoodsBackLogisticsNo = $('#backGoodsBackLogisticsNo').val().trim();//物流单号
-        var backGoodsBackPostage = $('#backGoodsBackPostage').val().trim();//寄回邮费
-        var backGoodsBackLogisticsCompany = $("#backGoodsBackLogisticsCompany option:selected").val();//寄回物流公司
-        var backGoodsBackName = $('#backGoodsBackName').val();
-        var backGoodsBackTel = $('#backGoodsBackTel').val();
-        var backGoodsBackMachineNo = $('#backGoodsBackMachineNo').val();
-        if (backGoodsBackStatus == 1) {
-            if (backGoodsBackLogisticsNo != null && backGoodsBackLogisticsNo != '') {
-                alert("产品未寄回,不能有物流信息!");
-                backGoods_flag = false;
-                return backGoods_flag;
-            }
-            if (backGoodsBackPostage != null && backGoodsBackPostage != '') {
-                alert("产品未寄回,不能有邮费!");
-                backGoods_flag = false;
-                return backGoods_flag;
-            }
-            if (backGoodsBackLogisticsCompany != null && backGoodsBackLogisticsCompany != '') {
-                alert("产品未寄回,不能选择物流公司!");
-                backGoods_flag = false;
-                return backGoods_flag;
-            }
-            if (backGoodsBackName != null && backGoodsBackName != '') {
-                alert("产品未寄回,不能填写寄回人信息!");
-                backGoods_flag = false;
-                return backGoods_flag;
-            }
-            if (backGoodsBackTel != null && backGoodsBackTel != '') {
-                alert("产品未寄回,不能填写寄回人电话号码!");
-                backGoods_flag = false;
-                return backGoods_flag;
-            }
-            if (backGoodsBackMachineNo != null && backGoodsBackMachineNo != '') {
-                alert("产品未寄回,不能填写机器编号!");
-                backGoods_flag = false;
-                return backGoods_flag;
-            }
-        } else if (backGoodsBackStatus == 2 || backGoodsBackStatus == 3) {
-            if (backGoodsBackLogisticsNo == null || backGoodsBackLogisticsNo == '') {
-                alert("物流信息不能为空!");
-                backGoods_flag = false;
-                return backGoods_flag;
-            }
-            if (!money.test(backGoodsBackPostage)) {
-                alert("邮费格式不正确,请重新输入!");
-                backGoods_flag = false;
-                return backGoods_flag;
-            }
-            if (backGoodsBackLogisticsCompany == null || backGoodsBackLogisticsCompany == '') {
-                alert("请选择物流公司!");
-                backGoods_flag = false;
-                return backGoods_flag;
-            }
-            if (!uname.test(backGoodsBackName)) {
-                alert("寄回人信息格式不正确,请重新输入!");
-                backGoods_flag = false;
-                return backGoods_flag;
-            }
-            if (!mobile.test(backGoodsBackTel)) {
-                alert("寄回人电话号码格式不正确,请重新输入!");
-                backGoods_flag = false;
-                return backGoods_flag;
-            }
-            if (backGoodsBackMachineNo == null || backGoodsBackMachineNo == '') {
-                alert("机器编号不能为空!");
-                backGoods_flag = false;
-                return backGoods_flag;
-            }
-        }
-        return backGoods_flag;
-    }
-
-    /*获取售后补发信息*/
-    function get_reissue_info(customerId) {
-        $.ajax({
-            cache: true,
-            type: "POST",
-            data: {"customerId":customerId},
-            url: "${path}/admin/customer/_update_reissue",
-            async: false,
-            success: function(data){
-                if (data.returnCode == 200) {
-                    var reissue = data.returnMsg.reissue;
-                    console.log(reissue);
-                    $('#reissueId').val(reissue.reissueId);
-                    $('#reissueBackEfastOrderId').html(reissue.reissueBackEfastOrderId);
-                    $('#reissueSendName').val(reissue.reissueSendName);
-                    $('#reissueSendTel').val(reissue.reissueSendTel);
-                    $('#reissueSendLogisticsCompany').val(reissue.reissueSendLogisticsCompany);
-                    $('#reissueSendLogisticsNo').val(reissue.reissueSendLogisticsNo);
-                    $('#reissueDesc').val(reissue.reissueDesc);
-                    var reissueSchedule = '';
-                    switch (reissue.reissueSendStatus) {
-                        case 1:reissueSchedule += '未寄送';break;
-                        case 2:reissueSchedule += '已寄送';break;
-                        case 3:reissueSchedule += '已收货';break;
-                    }
-                    $('#reissueSchedule').html(reissueSchedule);
-                    $(".reissue_send_status input[value='"+ reissue.reissueSendStatus +"']").attr("checked",true);
-                    var reissueProduct = '';
-                    if (reissue.closedProdcues != null && reissue.closedProdcues.length > 0) {
-                        $.each(reissue.closedProdcues,function(index,element){
-                            reissueProduct += '<span>'+ this.closedProductName + '*' + this.closedProdcueNumber + '</span>';
-                        })
-                    }
-                    if (reissue.closedFittings != null && reissue.closedFittings.length > 0) {
-                        $.each(reissue.closedFittings,function(index,element){
-                            reissueProduct += '<span>'+ this.fittingName + '*' + this.closedFittingNumber + '</span>';
-                        })
-                    }
-
-                    getProvince('reissueProvinceNumber');
-                    getCity('reissueCityNumber',reissue.provinceNumber);
-                    getDistrict('reissueAreaNumber',reissue.cityNumber);
-                    $("#reissueProvinceNumber option[value='" + reissue.provinceNumber + "']").attr("selected","true");
-                    $("#reissueCityNumber option[value='" + reissue.cityNumber + "']").attr("selected","true");
-                    $("#reissueAreaNumber option[value='" + reissue.areaNumber + "']").attr("selected","true");
-                    $('#reissueSendAddress').html(reissue.reissueSendAddress);
-
-                    $('#update-reissue-info').show();
-                }
-            },
-            error: function(XmlHttpRequest, textStatus, errorThrown){
-            }
-        })
-    }
-
-    /*获取售后无理由退货信息*/
-    function get_noreason_info(customerId) {
-        $.ajax({
-            cache: true,
-            type: "POST",
-            data: {"customerId":customerId},
-            url: "${path}/admin/customer/_update_noreason",
-            async: false,
-            success: function(data){
-                if (data.returnCode == 200) {
-                    var noreasonBack = data.returnMsg.noreasonBack;
-                    console.log(noreasonBack);
-                    $('#noreasonBackId').val(noreasonBack.noreasonBackId);
-                    $('#noreasonBackBackName').val(noreasonBack.noreasonBackBackName);
-                    $('#noreasonBackBackTel').val(noreasonBack.noreasonBackBackTel);
-                    $('#noreasonBackBackLogisticsCompany').val(noreasonBack.noreasonBackBackLogisticsCompany);
-                    $('#noreasonBackBackLogisticsNo').val(noreasonBack.noreasonBackBackLogisticsNo);
-                    $('#noreasonBackBackPostage').val(noreasonBack.noreasonBackBackPostage/100);
-                    $('#noreasonBackBackMachineNo').val(noreasonBack.noreasonBackBackMachineNo);
-                    $('#noreasonBackDesc').val(noreasonBack.noreasonBackDesc);
-                    var noreasonBackSchedule = '';
-                    switch (noreasonBack.noreasonBackBackStatus) {
-                        case 1:noreasonBackSchedule += '未寄回';break;
-                        case 2:noreasonBackSchedule += '已寄回';break;
-                        case 3:noreasonBackSchedule += '已收货';break;
-                    }
-                    $('#noreasonBackSchedule').html(noreasonBackSchedule);
-                    $(".noreasonBack_back_status input[value='"+ noreasonBack.noreasonBackBackStatus +"']").attr("checked",true);
-                    var backProduct = '';
-                    if (noreasonBack.closedProdcues != null && noreasonBack.closedProdcues.length > 0) {
-                        $.each(noreasonBack.closedProdcues,function(index,element){
-                            backProduct += '<span>'+ this.closedProductName + '*' + this.closedProdcueNumber + '</span>';
-                        })
-                    }
-                    if (noreasonBack.closedFittings != null && noreasonBack.closedFittings.length > 0) {
-                        $.each(noreasonBack.closedFittings,function(index,element){
-                            backProduct += '<span>'+ this.fittingName + '*' + this.closedFittingNumber + '</span>';
-                        })
-                    }
-                    $('#update-noreason-back').show();
-                }
-            },
-            error: function(XmlHttpRequest, textStatus, errorThrown){
-            }
-        })
-    }
-
-    /*修改售后无理由退货信息*/
-    function update_noreason_back() {
-        var noreasonBack_flag = checkNoreason();
-        if (noreasonBack_flag) {
-            $.ajax({
-                cache: true,
-                type: "POST",
-                data: $('#form-update-noreasonBack').serialize(),
-                url: "${path}/admin/customer/update_noreason",
-                async: false,
-                success: function (data) {
-                    if (data.returnCode == 200) {
-                        layer.msg(data.resultMsg, {icon: 1, time: 1000});
-                    } else {
-                        layer.msg(data.resultMsg, {icon: 5, time: 1000});
-                    }
-                    $('#update-noreason-back').hide();
-                },
-                error: function (XmlHttpRequest, textStatus, errorThrown) {
-                }
-            })
-        }
-    }
-
-    /*校验退货填写信息*/
-    function checkNoreason() {
-        var noreasonBack_flag = true;
-        var noreasonBackBackStatus = $('input[name="noreasonBackBackStatus"]:checked').val();//寄回状态
-        var noreasonBackBackLogisticsNo = $('#noreasonBackBackLogisticsNo').val().trim();//物流单号
-        var noreasonBackBackPostage = $('#noreasonBackBackPostage').val().trim();//寄回邮费
-        var noreasonBackBackLogisticsCompany = $("#noreasonBackBackLogisticsCompany option:selected").val();//寄回物流公司
-        var noreasonBackBackName = $('#noreasonBackBackName').val();
-        var noreasonBackBackTel = $('#noreasonBackBackTel').val();
-        var noreasonBackBackMachineNo = $('#noreasonBackBackMachineNo').val();
-        if (noreasonBackBackStatus == 1) {
-            if (noreasonBackBackLogisticsNo != null && noreasonBackBackLogisticsNo != '') {
-                alert("产品未寄回,不能有物流信息!");
-                noreasonBack_flag = false;
-                return noreasonBack_flag;
-            }
-            if (noreasonBackBackPostage != null && noreasonBackBackPostage != '') {
-                alert("产品未寄回,不能有邮费!");
-                noreasonBack_flag = false;
-                return noreasonBack_flag;
-            }
-            if (noreasonBackBackLogisticsCompany != null && noreasonBackBackLogisticsCompany != '') {
-                alert("产品未寄回,不能选择物流公司!");
-                noreasonBack_flag = false;
-                return noreasonBack_flag;
-            }
-            if (noreasonBackBackName != null && noreasonBackBackName != '') {
-                alert("产品未寄回,不能填写寄回人信息!");
-                noreasonBack_flag = false;
-                return noreasonBack_flag;
-            }
-            if (noreasonBackBackTel != null && noreasonBackBackTel != '') {
-                alert("产品未寄回,不能填写寄回人电话号码!");
-                noreasonBack_flag = false;
-                return noreasonBack_flag;
-            }
-            if (noreasonBackBackMachineNo != null && noreasonBackBackMachineNo != '') {
-                alert("产品未寄回,不能填写机器编号!");
-                noreasonBack_flag = false;
-                return noreasonBack_flag;
-            }
-        } else if (noreasonBackBackStatus == 2 || noreasonBackBackStatus == 3) {
-            if (noreasonBackBackLogisticsNo == null || noreasonBackBackLogisticsNo == '') {
-                alert("物流信息不能为空!");
-                noreasonBack_flag = false;
-                return noreasonBack_flag;
-            }
-            if (!money.test(noreasonBackBackPostage)) {
-                alert("邮费格式不正确,请重新输入!");
-                noreasonBack_flag = false;
-                return noreasonBack_flag;
-            }
-            if (noreasonBackBackLogisticsCompany == null || noreasonBackBackLogisticsCompany == '') {
-                alert("请选择物流公司!");
-                noreasonBack_flag = false;
-                return noreasonBack_flag;
-            }
-            if (!uname.test(noreasonBackBackName)) {
-                alert("寄回人信息格式不正确,请重新输入!");
-                noreasonBack_flag = false;
-                return noreasonBack_flag;
-            }
-            if (!mobile.test(noreasonBackBackTel)) {
-                alert("寄回人电话号码格式不正确,请重新输入!");
-                noreasonBack_flag = false;
-                return noreasonBack_flag;
-            }
-            if (noreasonBackBackMachineNo == null || noreasonBackBackMachineNo == '') {
-                alert("机器编号不能为空!");
-                noreasonBack_flag = false;
-                return noreasonBack_flag;
-            }
-        }
-        return noreasonBack_flag;
-    }
-
-    /*监听省选择事件*/
-    $(document).on('change', '#reissueProvinceNumber', function() {
-        var proId = $("#reissueProvinceNumber").val();
-        $('#reissueCityNumber option').remove();
-        getCity('reissueCityNumber',proId);
-        var cityId = $("#reissueCityNumber").val();
-        $('#reissueAreaNumber option').remove();
-        getDistrict('reissueAreaNumber',cityId);
-    });
-
-    /*监听市选择事件*/
-    $(document).on('change', '#reissueCityNumber', function() {
-        var city = $("#reissueCityNumber").val();
-        $('#reissueAreaNumber option').remove();
-        getDistrict('reissueAreaNumber',city);
-    });
-
-    /*修改售后补寄信息*/
-    function update_reissue_info() {
-        var reissue_flag = checkReissue();
-        if (reissue_flag) {
-            $.ajax({
-                cache: true,
-                type: "POST",
-                data: $('#form-update-reissue').serialize(),
-                url: "${path}/admin/customer/update_reissue_info",
-                async: false,
-                success: function(data){
-                    if (data.returnCode == 200) {
-                        layer.msg(data.resultMsg,{icon: 1,time:1000});
-                    } else {
-                        layer.msg(data.resultMsg,{icon: 5,time:1000});
-                    }
-                    $('#update-reissue-info').hide();
-                },
-                error: function(XmlHttpRequest, textStatus, errorThrown){
-                }
-            })
-        }
-    }
-
-    /*校验售后补寄填写信息*/
-    function checkReissue() {
-        var reissue_flag = true;
-        var reissueSendName = $('#reissueSendName').val();
-        if (!uname.test(reissueSendName)) {
-            alert("寄回人信息格式不正确,请重新输入!");
-            reissue_flag = false;
-            return reissue_flag;
-        }
-        var reissueSendTel = $('#reissueSendTel').val();
-        if (!mobile.test(reissueSendTel)) {
-            alert("寄回人电话号码格式不正确,请重新输入!");
-            reissue_flag = false;
-            return reissue_flag;
-        }
-        var reissueSendAddress = $('#reissueSendAddress').val();
-        if (reissueSendAddress == null || reissueSendAddress == '') {
-            alert("寄出地址不能为空!");
-            reissue_flag = false;
-            return reissue_flag;
-        }
-        var reissueSendStatus = $('input[name="reissueSendStatus"]:checked').val();//寄回状态
-        var reissueSendLogisticsCompany = $('#reissueSendLogisticsCompany').val();//寄出物流公司
-        var reissueSendLogisticsNo = $('#reissueSendLogisticsNo').val();//寄出物流单号
-        if (reissueSendLogisticsCompany == 1) {
-            if (reissueSendLogisticsCompany != null && reissueSendLogisticsCompany != '') {
-                alert("产品未寄送,不能选择物流公司!");
-                reissue_flag = false;
-                return reissue_flag;
-            }
-            if (reissueSendLogisticsNo != null && reissueSendLogisticsNo != '') {
-                alert("产品未寄送,不能填写物流单号!");
-                reissue_flag = false;
-                return reissue_flag;
-            }
-        } else if (reissueSendLogisticsCompany == 2 || reissueSendLogisticsCompany == 3) {
-            if (reissueSendLogisticsCompany == null || reissueSendLogisticsCompany == '') {
-                alert("请选择寄回物流公司!");
-                reissue_flag = false;
-                return reissue_flag;
-            }
-            if (reissueSendLogisticsNo == null || reissueSendLogisticsNo == '') {
-                alert("请填写物流单号!");
-                reissue_flag = false;
-                return reissue_flag;
-            }
-        }
-        return reissue_flag;
-    }
-
 </script>
 </body>
 </html>

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

@@ -0,0 +1,327 @@
+<!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>
+        .btn-primary{background-color: #32a3d8;}
+        #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-backGoods" name="form-update-backGoods">
+        <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="backGoodsId" name="backGoodsId" />
+                <span id="backGoodsSchedule" 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="backGoodsBackStatus" value="1">
+                    <label for="tel-3">未寄回</label>
+                </div>
+                <div class="radio-box">
+                    <input type="radio" name="backGoodsBackStatus" value="2">
+                    <label for="tel-4">已寄回</label>
+                </div>
+                <div class="radio-box">
+                    <input type="radio" name="backGoodsBackStatus" 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="backGoodsBackLogisticsCompany" id="backGoodsBackLogisticsCompany" 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="backGoodsBackLogisticsNo" name="backGoodsBackLogisticsNo">
+                <input style="width: 120px;margin-right: 10px;" type="text" class="input-text text-c" value="" placeholder="寄回邮费" id="backGoodsBackPostage" name="backGoodsBackPostage">
+                <input style="width: 120px;margin-right: 10px;" type="text" class="input-text text-c" value="" placeholder="用户支付宝账户" id="backGoodsAlipay" name="backGoodsAlipay">
+            </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="backGoodsIsTransfer" value="0">
+                    <label for="tel-6">不需要转账</label>
+                </div>
+                <div class="radio-box">
+                    <input type="radio" name="backGoodsIsTransfer" value="1">
+                    <label for="tel-7">已转账</label>
+                </div>
+                <div class="radio-box">
+                    <input type="radio" name="backGoodsIsTransfer" value="2">
+                    <label for="tel-8">待转账</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-5 col-sm-5">
+                <input type="text" class="input-text text-c" value="" placeholder="寄件人姓名" id="backGoodsBackName" name="backGoodsBackName">
+            </div>
+            <div class="formControls col-5 col-sm-5">
+                <input type="text" class="input-text text-c" value="" placeholder="寄件人电话" id="backGoodsBackTel" name="backGoodsBackTel">
+            </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 id="backGoodsProduct" class="update-parts"></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">
+                <textarea name="backGoodsDesc" id="backGoodsDesc" 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-8 col-sm-8 text-c">
+                <button onClick="update_back_goods();" 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}$/; //中文英文
+    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%'
+        });
+        get_book_goods_info();
+    });
+
+    /*获取售后退货信息*/
+    function get_book_goods_info() {
+        $.ajax({
+            cache: true,
+            type: "POST",
+            data: {"customerId":${customerId}},
+            url: "${path}/admin/customer/_update_back_goods",
+            async: false,
+            success: function(data){
+                if (data.returnCode == 200) {
+                    var backGoods = data.returnMsg.backGoods;
+                    console.log(backGoods);
+                    $('#backGoodsId').val(backGoods.backGoodsId);
+                    $('#backGoodsBackName').val(backGoods.backGoodsBackName);
+                    $('#backGoodsBackTel').val(backGoods.backGoodsBackTel);
+                    $('#backGoodsBackLogisticsCompany').val(backGoods.backGoodsBackLogisticsCompany);
+                    $('#backGoodsBackLogisticsNo').val(backGoods.backGoodsBackLogisticsNo);
+                    $('#backGoodsBackPostage').val(backGoods.backGoodsBackPostage/100);
+                    $('#backGoodsAlipay').val(backGoods.backGoodsAlipay);
+                    $('input[name="backGoodsIsTransfer"]').each(function(){
+                        if (this.value == backGoods.backGoodsIsTransfer) {
+                            $(this).iCheck('check');
+                        }
+                    });
+                    /*$('#backGoodsBackMachineNo').val(backGoods.backGoodsBackMachineNo);*/
+                    $('#backGoodsDesc').val(backGoods.backGoodsDesc);
+                    var backGoodsSchedule = '';
+                    switch (backGoods.backGoodsBackStatus) {
+                        case 1:backGoodsSchedule += '未寄回';break;
+                        case 2:backGoodsSchedule += '已寄回';break;
+                        case 3:backGoodsSchedule += '已收货';break;
+                    }
+                    $('#backGoodsSchedule').html(backGoodsSchedule);
+                    $('input[name="backGoodsBackStatus"]').each(function(){
+                        if (this.value == backGoods.backGoodsBackStatus) {
+                            $(this).iCheck('check');
+                        }
+                    });
+                    var backProduct = '';
+                    if (backGoods.closedProdcues != null && backGoods.closedProdcues.length > 0) {
+                        $.each(backGoods.closedProdcues,function(index,element){
+                            backProduct += '<span>'+ this.closedProductName + '*' + this.closedProdcueNumber + '</span>';
+                        })
+                    }
+                    if (backGoods.closedFittings != null && backGoods.closedFittings.length > 0) {
+                        $.each(backGoods.closedFittings,function(index,element){
+                            backProduct += '<span>'+ this.fittingName + '*' + this.closedFittingNumber + '</span>';
+                        })
+                    }
+                }
+            },
+            error: function(XmlHttpRequest, textStatus, errorThrown){
+            }
+        })
+    }
+
+    /*修改售后退货信息*/
+    function update_back_goods() {
+        var backGoods_flag = checkBackGoods();
+        if (backGoods_flag) {
+            $.ajax({
+                cache: true,
+                type: "POST",
+                data: $('#form-update-backGoods').serialize(),
+                url: "${path}/admin/customer/update_back_goods",
+                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 checkBackGoods() {
+        var backGoods_flag = true;
+        var backGoodsBackStatus = $('input[name="backGoodsBackStatus"]:checked').val();//寄回状态
+        var backGoodsBackLogisticsNo = $('#backGoodsBackLogisticsNo').val().trim();//物流单号
+        var backGoodsBackPostage = $('#backGoodsBackPostage').val().trim();//寄回邮费
+        var backGoodsBackLogisticsCompany = $("#backGoodsBackLogisticsCompany option:selected").val();//寄回物流公司
+        var backGoodsBackName = $('#backGoodsBackName').val();
+        var backGoodsBackTel = $('#backGoodsBackTel').val();
+        /*var backGoodsBackMachineNo = $('#backGoodsBackMachineNo').val();*/
+        if (backGoodsBackStatus == 1) {
+            if (backGoodsBackLogisticsNo != null && backGoodsBackLogisticsNo != '') {
+                alert("产品未寄回,不能有物流信息!");
+                backGoods_flag = false;
+                return backGoods_flag;
+            }
+            if (backGoodsBackPostage != null && backGoodsBackPostage != '') {
+                alert("产品未寄回,不能有邮费!");
+                backGoods_flag = false;
+                return backGoods_flag;
+            }
+            if (backGoodsBackLogisticsCompany != null && backGoodsBackLogisticsCompany != '') {
+                alert("产品未寄回,不能选择物流公司!");
+                backGoods_flag = false;
+                return backGoods_flag;
+            }
+            if (backGoodsBackName != null && backGoodsBackName != '') {
+                alert("产品未寄回,不能填写寄回人信息!");
+                backGoods_flag = false;
+                return backGoods_flag;
+            }
+            if (backGoodsBackTel != null && backGoodsBackTel != '') {
+                alert("产品未寄回,不能填写寄回人电话号码!");
+                backGoods_flag = false;
+                return backGoods_flag;
+            }
+            /*if (backGoodsBackMachineNo != null && backGoodsBackMachineNo != '') {
+                alert("产品未寄回,不能填写机器编号!");
+                backGoods_flag = false;
+                return backGoods_flag;
+            }*/
+        } else if (backGoodsBackStatus == 2 || backGoodsBackStatus == 3) {
+            if (backGoodsBackLogisticsNo == null || backGoodsBackLogisticsNo == '') {
+                alert("物流信息不能为空!");
+                backGoods_flag = false;
+                return backGoods_flag;
+            }
+            if (!money.test(backGoodsBackPostage)) {
+                alert("邮费格式不正确,请重新输入!");
+                backGoods_flag = false;
+                return backGoods_flag;
+            }
+            if (backGoodsBackLogisticsCompany == null || backGoodsBackLogisticsCompany == '') {
+                alert("请选择物流公司!");
+                backGoods_flag = false;
+                return backGoods_flag;
+            }
+            if (!uname.test(backGoodsBackName)) {
+                alert("寄回人信息格式不正确,请重新输入!");
+                backGoods_flag = false;
+                return backGoods_flag;
+            }
+            if (!mobile.test(backGoodsBackTel)) {
+                alert("寄回人电话号码格式不正确,请重新输入!");
+                backGoods_flag = false;
+                return backGoods_flag;
+            }
+            /*if (backGoodsBackMachineNo == null || backGoodsBackMachineNo == '') {
+                alert("机器编号不能为空!");
+                backGoods_flag = false;
+                return backGoods_flag;
+            }*/
+        }
+        return backGoods_flag;
+    }
+
+</script>
+</body>
+</html>

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

@@ -0,0 +1,327 @@
+<!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" />
+    <style>
+        .btn-primary{background-color: #32a3d8;}
+        #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-noreasonBack" name="form-update-noreasonBack">
+        <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="noreasonBackId" name="noreasonBackId" />
+                <span id="noreasonBackSchedule" 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="noreasonBackBackStatus" value="1">
+                    <label for="tel-3">未寄回</label>
+                </div>
+                <div class="radio-box">
+                    <input type="radio" name="noreasonBackBackStatus" value="2">
+                    <label for="tel-4">已寄回</label>
+                </div>
+                <div class="radio-box">
+                    <input type="radio" name="noreasonBackBackStatus" 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="noreasonBackBackLogisticsCompany" id="noreasonBackBackLogisticsCompany" 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="noreasonBackBackLogisticsNo" name="noreasonBackBackLogisticsNo">
+                <input style="width: 120px;margin-right: 10px;" type="text" class="input-text text-c" value="" placeholder="寄回邮费" id="noreasonBackBackPostage" name="noreasonBackBackPostage">
+                <input style="width: 120px;margin-right: 10px;" type="text" class="input-text text-c" value="" placeholder="用户支付宝账户" id="noreasonBackAlipay" name="noreasonBackAlipay">
+            </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="noreasonBackIsTransfer" value="0">
+                    <label for="tel-6">不需要转账</label>
+                </div>
+                <div class="radio-box">
+                    <input type="radio" name="noreasonBackIsTransfer" value="1">
+                    <label for="tel-7">已转账</label>
+                </div>
+                <div class="radio-box">
+                    <input type="radio" name="noreasonBackIsTransfer" value="2">
+                    <label for="tel-8">代转账</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-5 col-sm-5">
+                <input type="text" class="input-text text-c" value="" placeholder="寄件人姓名" id="noreasonBackBackName" name="noreasonBackBackName">
+            </div>
+            <div class="formControls col-5 col-sm-5">
+                <input type="text" class="input-text text-c" value="" placeholder="寄件人电话" id="noreasonBackBackTel" name="noreasonBackBackTel">
+            </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 id="noreasonBackProduct" class="update-parts"></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">
+                <textarea name="noreasonBackDesc" id="noreasonBackDesc" 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-8 col-sm-8 text-c">
+                <button onClick="update_noreason_back();" 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}$/; //中文英文
+    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%'
+        });
+        get_noreason_info();
+    });
+
+    /*获取售后无理由退货信息*/
+    function get_noreason_info() {
+        $.ajax({
+            cache: true,
+            type: "POST",
+            data: {"customerId":${customerId}},
+            url: "${path}/admin/customer/get_noreason_back",
+            async: false,
+            success: function(data){
+                if (data.returnCode == 200) {
+                    var noreasonBack = data.returnMsg.noreasonBack;
+                    console.log(noreasonBack);
+                    $('#noreasonBackId').val(noreasonBack.noreasonBackId);
+                    $('#noreasonBackBackName').val(noreasonBack.noreasonBackBackName);
+                    $('#noreasonBackBackTel').val(noreasonBack.noreasonBackBackTel);
+                    $('#noreasonBackBackLogisticsCompany').val(noreasonBack.noreasonBackBackLogisticsCompany);
+                    $('#noreasonBackBackLogisticsNo').val(noreasonBack.noreasonBackBackLogisticsNo);
+                    $('#noreasonBackBackPostage').val(noreasonBack.noreasonBackBackPostage/100);
+                    $('#noreasonBackAlipay').val(noreasonBack.noreasonBackAlipay);
+                    $('input[name="noreasonBackIsTransfer"]').each(function(){
+                        if (this.value == noreasonBack.noreasonBackIsTransfer) {
+                            $(this).iCheck('check');
+                        }
+                    });
+                    /*$('#noreasonBackBackMachineNo').val(noreasonBack.noreasonBackBackMachineNo);*/
+                    $('#noreasonBackDesc').val(noreasonBack.noreasonBackDesc);
+                    var noreasonBackSchedule = '';
+                    switch (noreasonBack.noreasonBackBackStatus) {
+                        case 1:noreasonBackSchedule += '未寄回';break;
+                        case 2:noreasonBackSchedule += '已寄回';break;
+                        case 3:noreasonBackSchedule += '已收货';break;
+                    }
+                    $('#noreasonBackSchedule').html(noreasonBackSchedule);
+                    $('input[name="noreasonBackBackStatus"]').each(function(){
+                        if (this.value == noreasonBack.noreasonBackBackStatus) {
+                            $(this).iCheck('check');
+                        }
+                    });
+                    var backProduct = '';
+                    if (noreasonBack.closedProdcues != null && noreasonBack.closedProdcues.length > 0) {
+                        $.each(noreasonBack.closedProdcues,function(index,element){
+                            backProduct += '<span>'+ this.closedProductName + '*' + this.closedProdcueNumber + '</span>';
+                        })
+                    }
+                    if (noreasonBack.closedFittings != null && noreasonBack.closedFittings.length > 0) {
+                        $.each(noreasonBack.closedFittings,function(index,element){
+                            backProduct += '<span>'+ this.fittingName + '*' + this.closedFittingNumber + '</span>';
+                        })
+                    }
+                    $('#update-noreason-back').show();
+                }
+            },
+            error: function(XmlHttpRequest, textStatus, errorThrown){
+            }
+        })
+    }
+
+    /*修改售后无理由退货信息*/
+    function update_noreason_back() {
+        var noreasonBack_flag = checkNoreason();
+        if (noreasonBack_flag) {
+            $.ajax({
+                cache: true,
+                type: "POST",
+                data: $('#form-update-noreasonBack').serialize(),
+                url: "${path}/admin/customer/update_noreason",
+                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 checkNoreason() {
+        var noreasonBack_flag = true;
+        var noreasonBackBackStatus = $('input[name="noreasonBackBackStatus"]:checked').val();//寄回状态
+        var noreasonBackBackLogisticsNo = $('#noreasonBackBackLogisticsNo').val().trim();//物流单号
+        var noreasonBackBackPostage = $('#noreasonBackBackPostage').val().trim();//寄回邮费
+        var noreasonBackBackLogisticsCompany = $("#noreasonBackBackLogisticsCompany option:selected").val();//寄回物流公司
+        var noreasonBackBackName = $('#noreasonBackBackName').val();
+        var noreasonBackBackTel = $('#noreasonBackBackTel').val();
+        /*var noreasonBackBackMachineNo = $('#noreasonBackBackMachineNo').val();*/
+        if (noreasonBackBackStatus == 1) {
+            if (noreasonBackBackLogisticsNo != null && noreasonBackBackLogisticsNo != '') {
+                alert("产品未寄回,不能有物流信息!");
+                noreasonBack_flag = false;
+                return noreasonBack_flag;
+            }
+            if (noreasonBackBackPostage != null && noreasonBackBackPostage != '') {
+                alert("产品未寄回,不能有邮费!");
+                noreasonBack_flag = false;
+                return noreasonBack_flag;
+            }
+            if (noreasonBackBackLogisticsCompany != null && noreasonBackBackLogisticsCompany != '') {
+                alert("产品未寄回,不能选择物流公司!");
+                noreasonBack_flag = false;
+                return noreasonBack_flag;
+            }
+            if (noreasonBackBackName != null && noreasonBackBackName != '') {
+                alert("产品未寄回,不能填写寄回人信息!");
+                noreasonBack_flag = false;
+                return noreasonBack_flag;
+            }
+            if (noreasonBackBackTel != null && noreasonBackBackTel != '') {
+                alert("产品未寄回,不能填写寄回人电话号码!");
+                noreasonBack_flag = false;
+                return noreasonBack_flag;
+            }
+            /*if (noreasonBackBackMachineNo != null && noreasonBackBackMachineNo != '') {
+                alert("产品未寄回,不能填写机器编号!");
+                noreasonBack_flag = false;
+                return noreasonBack_flag;
+            }*/
+        } else if (noreasonBackBackStatus == 2 || noreasonBackBackStatus == 3) {
+            if (noreasonBackBackLogisticsNo == null || noreasonBackBackLogisticsNo == '') {
+                alert("物流信息不能为空!");
+                noreasonBack_flag = false;
+                return noreasonBack_flag;
+            }
+            if (!money.test(noreasonBackBackPostage)) {
+                alert("邮费格式不正确,请重新输入!");
+                noreasonBack_flag = false;
+                return noreasonBack_flag;
+            }
+            if (noreasonBackBackLogisticsCompany == null || noreasonBackBackLogisticsCompany == '') {
+                alert("请选择物流公司!");
+                noreasonBack_flag = false;
+                return noreasonBack_flag;
+            }
+            if (!uname.test(noreasonBackBackName)) {
+                alert("寄回人信息格式不正确,请重新输入!");
+                noreasonBack_flag = false;
+                return noreasonBack_flag;
+            }
+            if (!mobile.test(noreasonBackBackTel)) {
+                alert("寄回人电话号码格式不正确,请重新输入!");
+                noreasonBack_flag = false;
+                return noreasonBack_flag;
+            }
+            /*if (noreasonBackBackMachineNo == null || noreasonBackBackMachineNo == '') {
+                alert("机器编号不能为空!");
+                noreasonBack_flag = false;
+                return noreasonBack_flag;
+            }*/
+        }
+        return noreasonBack_flag;
+    }
+
+</script>
+</body>
+</html>

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

@@ -0,0 +1,374 @@
+<!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" />
+    <style>
+        .btn-primary{background-color: #32a3d8;}
+        #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-reissue" name="form-update-reissue">
+        <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="reissueId" name="reissueId" />
+                <span id="reissueSchedule" 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" id="reissueSendStatus" name="reissueSendStatus" value="1">
+                    <label for="tel-3">未寄送</label>
+                </div>
+                <div class="radio-box">
+                    <input type="radio" id="reissueSendStatus" name="reissueSendStatus" value="2">
+                    <label for="tel-4">已寄送</label>
+                </div>
+                <div class="radio-box">
+                    <input type="radio" id="reissueSendStatus" name="reissueSendStatus" value="3">
+                    <label for="tel-4">已收货</label>
+                </div>
+                Efast订单号<input style="width: 200px;margin:0 10px;" type="text" class="input-text text-c" value="" placeholder="Efast订单号" id="reissueBackEfastOrderId" name="reissueBackEfastOrderId">
+            </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="reissueSendLogisticsCompany" id="reissueSendLogisticsCompany" 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="reissueSendLogisticsNo" name="reissueSendLogisticsNo">
+            </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 id="reissueProduct" class="update-parts"></div>
+            </div>
+        </div>
+
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2 text-r">
+                <strong>用户信息</strong>
+            </div>
+            <div class="formControls col-3 col-sm-3">
+                <input type="text" class="input-text" value="" placeholder="填写收件人姓名" id="reissueSendName" name="reissueSendName">
+            </div>
+            <div class="formControls col-3 col-sm-3">
+                <input type="text" class="input-text" value="" placeholder="填写收件人手机号" id="reissueSendTel" name="reissueSendTel">
+            </div>
+        </div>
+        <div class="row cl">
+            <label class="form-label col-2 col-sm-2 text-r"></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="reissueProvinceNumber" id="reissueProvinceNumber" class="select"></select>
+                    </span>
+                </div>
+                <div style="width: 100px;display: inline-block;margin-right: 10px;">
+                    <span class="select-box">
+                        <select name="reissueCityNumber" id="reissueCityNumber" class="select"></select>
+                    </span>
+                </div>
+                <div style="width: 100px;display: inline-block;margin-right: 10px;">
+                    <span class="select-box">
+                        <select name="reissueAreaNumber" id="reissueAreaNumber" class="select"></select>
+                    </span>
+                </div>
+            </div>
+        </div>
+        <div class="row cl">
+            <label class="form-label col-2 col-sm-2 text-r"></label>
+            <div class="formControls col-5 col-sm-5">
+                <input type="text" class="input-text" value="" placeholder="请填写详细地址" id="reissueSendAddress" name="reissueSendAddress">
+            </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="reissueDesc" id="reissueDesc" cols="" rows="2" class="textarea" placeholder="说点什么..."></textarea>
+            </div>
+        </div>
+        <div class="row cl">
+            <div class="formControls col-2 col-sm-2 text-r">
+            </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_reissue_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="${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}$/; //中文英文
+    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%'
+        });
+        get_reissue_info();
+    });
+
+    /*获取售后补发信息*/
+    function get_reissue_info() {
+        $.ajax({
+            cache: true,
+            type: "POST",
+            data: {"customerId":${customerId}},
+            url: "${path}/admin/customer/get_reissue_info",
+            async: false,
+            success: function(data){
+                if (data.returnCode == 200) {
+                    var reissue = data.returnMsg.reissue;
+                    console.log(reissue);
+                    $('#reissueId').val(reissue.reissueId);
+                    $('#reissueBackEfastOrderId').val(reissue.reissueBackEfastOrderId);
+                    $('#reissueSendName').val(reissue.reissueSendName);
+                    $('#reissueSendTel').val(reissue.reissueSendTel);
+                    $('#reissueSendLogisticsCompany').val(reissue.reissueSendLogisticsCompany);
+                    $('#reissueSendLogisticsNo').val(reissue.reissueSendLogisticsNo);
+                    $('#reissueDesc').val(reissue.reissueDesc);
+                    var reissueSchedule = '';
+                    switch (reissue.reissueSendStatus) {
+                        case 1:reissueSchedule += '未寄送';break;
+                        case 2:reissueSchedule += '已寄送';break;
+                        case 3:reissueSchedule += '已收货';break;
+                    }
+                    $('#reissueSchedule').html(reissueSchedule);
+                    $('input[name="reissueSendStatus"]').each(function(){
+                        if (this.value == reissue.reissueSendStatus) {
+                            $(this).iCheck('check');
+                        }
+                    });
+                    var reissueProduct = '';
+                    if (reissue.closedProdcues != null && reissue.closedProdcues.length > 0) {
+                        $.each(reissue.closedProdcues,function(index,element){
+                            reissueProduct += '<span>'+ this.closedProductName + '*' + this.closedProdcueNumber + '台</span>';
+                        })
+                    }
+                    if (reissue.closedFittings != null && reissue.closedFittings.length > 0) {
+                        $.each(reissue.closedFittings,function(index,element){
+                            reissueProduct += '<span>'+ this.fittingName + '*' + this.closedFittingNumber + '件</span>';
+                        })
+                    }
+
+                    getProvince('reissueProvinceNumber');
+                    getCity('reissueCityNumber',reissue.provinceNumber);
+                    getDistrict('reissueAreaNumber',reissue.cityNumber);
+                    $("#reissueProvinceNumber option[value='" + reissue.provinceNumber + "']").attr("selected","true");
+                    $("#reissueCityNumber option[value='" + reissue.cityNumber + "']").attr("selected","true");
+                    $("#reissueAreaNumber option[value='" + reissue.areaNumber + "']").attr("selected","true");
+                    $('#reissueSendAddress').val(reissue.reissueSendAddress);
+                }
+            },
+            error: function(XmlHttpRequest, textStatus, errorThrown){
+            }
+        })
+    }
+
+    /*修改售后补寄信息*/
+    function update_reissue_info() {
+        var reissue_flag = checkReissue();
+        if (reissue_flag) {
+            $.ajax({
+                cache: true,
+                type: "POST",
+                data: $('#form-update-reissue').serialize(),
+                url: "${path}/admin/customer/update_reissue_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 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);
+        }
+    }
+
+    /*校验售后补寄填写信息*/
+    function checkReissue() {
+        var reissue_flag = true;
+        var reissueSendName = $('#reissueSendName').val();
+        if (!uname.test(reissueSendName)) {
+            alert("寄回人信息格式不正确,请重新输入!");
+            reissue_flag = false;
+            return reissue_flag;
+        }
+        var reissueSendTel = $('#reissueSendTel').val();
+        if (!mobile.test(reissueSendTel)) {
+            alert("寄回人电话号码格式不正确,请重新输入!");
+            reissue_flag = false;
+            return reissue_flag;
+        }
+        var reissueSendAddress = $('#reissueSendAddress').val();
+        if (reissueSendAddress == null || reissueSendAddress == '') {
+            alert("寄出地址不能为空!");
+            reissue_flag = false;
+            return reissue_flag;
+        }
+        var reissueSendStatus = $('input[name="reissueSendStatus"]:checked').val();//寄回状态
+        var reissueSendLogisticsCompany = $('#reissueSendLogisticsCompany').val();//寄出物流公司
+        var reissueSendLogisticsNo = $('#reissueSendLogisticsNo').val();//寄出物流单号
+        if (reissueSendLogisticsCompany == 1) {
+            if (reissueSendLogisticsCompany != null && reissueSendLogisticsCompany != '') {
+                alert("产品未寄送,不能选择物流公司!");
+                reissue_flag = false;
+                return reissue_flag;
+            }
+            if (reissueSendLogisticsNo != null && reissueSendLogisticsNo != '') {
+                alert("产品未寄送,不能填写物流单号!");
+                reissue_flag = false;
+                return reissue_flag;
+            }
+        } else if (reissueSendLogisticsCompany == 2 || reissueSendLogisticsCompany == 3) {
+            if (reissueSendLogisticsCompany == null || reissueSendLogisticsCompany == '') {
+                alert("请选择寄回物流公司!");
+                reissue_flag = false;
+                return reissue_flag;
+            }
+            if (reissueSendLogisticsNo == null || reissueSendLogisticsNo == '') {
+                alert("请填写物流单号!");
+                reissue_flag = false;
+                return reissue_flag;
+            }
+        }
+        return reissue_flag;
+    }
+
+    /*监听省选择事件*/
+    $(document).on('change', '#reissueProvinceNumber', function() {
+        var proId = $("#reissueProvinceNumber").val();
+        $('#reissueCityNumber option').remove();
+        getCity('reissueCityNumber',proId);
+        var cityId = $("#reissueCityNumber").val();
+        $('#reissueAreaNumber option').remove();
+        getDistrict('reissueAreaNumber',cityId);
+    });
+
+    /*监听市选择事件*/
+    $(document).on('change', '#reissueCityNumber', function() {
+        var city = $("#reissueCityNumber").val();
+        $('#reissueAreaNumber option').remove();
+        getDistrict('reissueAreaNumber',city);
+    });
+
+</script>
+</body>
+</html>

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

@@ -11,7 +11,6 @@
     <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%;}
@@ -80,7 +79,7 @@
                 </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="">
+                <input style="width: 120px;margin-right: 10px;" type="text" class="input-text text-c" value="" placeholder="用户支付宝账户" id="renewedAlipay" name="renewedAlipay">
             </div>
         </div>
         <div class="row cl">
@@ -89,16 +88,16 @@
             </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">
+                    <input type="radio" name="renewedIsTransfer" value="0">
                     <label for="tel-6">不需要转账</label>
                 </div>
                 <div class="radio-box">
-                    <input type="radio" id="tel-7" name="tel">
+                    <input type="radio" name="renewedIsTransfer" value="1">
                     <label for="tel-7">已转账</label>
                 </div>
                 <div class="radio-box">
-                    <input type="radio" id="tel-8" name="tel">
-                    <label for="tel-8">转账</label>
+                    <input type="radio" name="renewedIsTransfer" value="2">
+                    <label for="tel-8">转账</label>
                 </div>
             </div>
         </div>
@@ -290,13 +289,8 @@
 <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}$/; //手机号码
@@ -309,20 +303,7 @@
             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"})
     });
 
     /*获取换新信息*/
@@ -360,12 +341,12 @@
                     var renewedProduct = '';
                     if (renewed.closedProdcues != null && renewed.closedProdcues.length > 0) {
                         $.each(backGoods.closedProdcues,function(index,element){
-                            renewedProduct += '<span>'+ this.closedProductName + '*' + this.closedProdcueNumber + '</span>';
+                            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>';
+                            renewedProduct += '<span>'+ this.fittingName + '*' + this.closedFittingNumber + '</span>';
                         })
                     }
                     $('#renewedId').val(renewed.renewedId);
@@ -389,6 +370,12 @@
                     $("#areaNumber option[value='" + renewed.areaNumber + "']").attr("selected","true");
                     $('#renewedBackLogisticsNo').val(renewed.renewedBackLogisticsNo);
                     $('#renewedBackPostage').val(renewed.renewedBackPostage/100);
+                    $('#renewedAlipay').val(renewed.renewedAlipay);
+                    $('input[name="renewedIsTransfer"]').each(function(){
+                        if (this.value == renewed.renewedIsTransfer) {
+                            $(this).iCheck('check');
+                        }
+                    });
                     $('#renewedBackName').val(renewed.renewedBackName);
                     $('#renewedBackTel').val(renewed.renewedBackTel);
                     //$('#renewedBackMachineNo').val(renewed.renewedBackMachineNo);

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

@@ -80,7 +80,7 @@
                 </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="">
+                <input style="width: 120px;margin-right: 10px;" type="text" class="input-text text-c" value="" placeholder="用户支付宝账户" id="repairAlipay" name="repairAlipay">
             </div>
         </div>
         <div class="row cl">
@@ -89,16 +89,16 @@
             </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">
+                    <input type="radio" name="repairIsTransfer" value="0">
                     <label for="tel-6">不需要转账</label>
                 </div>
                 <div class="radio-box">
-                    <input type="radio" id="tel-7" name="tel">
+                    <input type="radio" name="repairIsTransfer" value="1">
                     <label for="tel-7">已转账</label>
                 </div>
                 <div class="radio-box">
-                    <input type="radio" id="tel-8" name="tel">
-                    <label for="tel-8">转账</label>
+                    <input type="radio" name="repairIsTransfer" value="2">
+                    <label for="tel-8">转账</label>
                 </div>
             </div>
         </div>
@@ -290,13 +290,8 @@
 <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}$/; //手机号码
@@ -309,20 +304,7 @@
             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"})
     });
 
     /*获取维修信息*/
@@ -360,12 +342,12 @@
                     var repairProduct = '';
                     if (repair.closedProdcues != null && repair.closedProdcues.length > 0) {
                         $.each(repair.closedProdcues,function(index,element){
-                            repairProduct += '<span>'+ this.closedProductName + '*' + this.closedProdcueNumber + '</span>';
+                            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>';
+                            repairProduct += '<span>'+ this.fittingName + '*' + this.closedFittingNumber + '</span>';
                         })
                     }
                     $('#repairId').val(repair.repairId);
@@ -389,6 +371,12 @@
                     $("#repairAreaNumber option[value='" + repair.areaNumber + "']").attr("selected","true");
                     $('#repairBackLogisticsNo').val(repair.repairBackLogisticsNo);
                     $('#repairBackPostage').val(repair.repairBackPostage/100);
+                    $('#repairAlipay').val(repair.repairAlipay);
+                    $('input[name="repairIsTransfer"]').each(function(){
+                        if (this.value == repair.repairIsTransfer) {
+                            $(this).iCheck('check');
+                        }
+                    });
                     $('#repairBackName').val(repair.repairBackName);
                     $('#repairBackTel').val(repair.repairBackTel);
                     //$('#repairBackMachineNo').val(repair.repairBackMachineNo);

+ 78 - 40
watero-rst-web/src/main/webapp/WEB-INF/views/cm/signclosed/add_signclosed.ftl

@@ -179,48 +179,19 @@
                 <label class="form-label col-3 col-sm-3"><span class="c-red">*</span>签收产品:</label>
                 <div class="formControls col-8 col-sm-8 text-c" id="produceSelect">
                     <div>
-                        <input type="text" onchange="selectProduct();" class="input-text" style="width: 716px;" id="selectProcuct" name="selectProcuct" placeholder="请输入产品名称搜索">
+                        <input type="text" oninput="selectProduct();" onpropertychange="selectProduct();" class="input-text" style="width: 826px;" id="selectProcuct" name="selectProcuct" placeholder="请输入产品名称搜索">
                     </div>
 
-                    <table class="table table-border table-bg table-bordered">
+                    <table class="table table-border table-bg table-bordered" style="width: 826px;">
                         <thead>
                         <tr class="text-c">
-                            <th style="text-align: center;" width="100">产品名称</th>
-                            <th style="text-align: center;" width="100">产品颜色</th>
+                            <th style="text-align: center;" width="80">产品名称</th>
+                            <th style="text-align: center;" width="130">产品颜色</th>
                             <th style="text-align: center;" width="100">产品配件</th>
                         </tr>
                         </thead>
                         <tbody id="addProduct">
-                        <#if (productList?size > 0)>
-                            <#list productList as product>
-                        <tr >
-
-
-                            <td>${product.productName!''}</td>
-                            <td>
-                                <#if (product.colorList?size > 0)>
-                                    <#list product.colorList as colorList>
-                                        <input type="checkbox" id="" value="${colorList.colorId!''}" name="alreadyColorName" datatype="*">${colorList.colorName!''}
-                                        <input type="text" style="width: 50px;margin-left: 10px;" class="input-text" value="" placeholder="数量" id="alreadyColorId${colorList.colorId!''}" name="alreadyColorId${colorList.colorId!''}"><br>
-                                    </#list>
-                                <#else>
-                                暂无颜色,请先添加产品颜色
-                                </#if>
-                             </td>
-                            <td>
-                                <#if (product.fittingsList?size > 0)>
-                                    <#list product.fittingsList as fittingsList>
-                                        <input type="checkbox" id="" value="${fittingsList.fittingsId!''}" name="alreadyFittingsName" datatype="*">${fittingsList.fittingsName!''}
-                                        <input type="text" style="width: 50px;margin-left: 10px;" class="input-text" value="" placeholder="数量" id="alreadyFittingsId${fittingsList.fittingsId!''}" name="alreadyFittingsId${fittingsList.fittingsId!''}"><br>
-                                    </#list>
-                                <#else>
-                                    暂无配件,请先添加配件
-                                </#if>
-                            </td>
-
-                        </tr>
-                            </#list>
-                        </#if>
+                        <td colspan="3">暂无数据!</td>
                         </tbody>
                     </table>
                 </div>
@@ -336,7 +307,11 @@
     //动态回显产品js state
     function selectProduct(){
         var productName = $("#selectProcuct").val();
-        alert(productName);
+        if(productName == null || productName == ""){
+            var productTable = '<td colspan="3">暂无数据!</td>';
+            $("#addProduct").html(productTable);
+            return false;
+        }
         $.ajax({
             cache: true,
             type: "POST",
@@ -345,17 +320,76 @@
             async: false,
             success: function(data){
                 if (data.returnCode == 200) {
-                    layer.msg('查询成功',{icon: 5,time:1000});
-                } else {
-                    layer.msg('查询失败,请刷新页面再试',{icon: 5,time:1000});
+                    $("#addProduct").html("");
+                    $.each(data.returnMsg.productList,function(i,value) {
+                        var colorTable = '';
+                        var fittingsTable = '';
+
+                        /*var colorlength = value.colorList.length;
+                        var fittingslength = value.fittingsList.length;*/
+                        if(value.colorList != null) {
+                            if (value.colorList.length > 0) {
+                                $.each(value.colorList, function (i, value) {
+                                    colorTable = colorTable + '<td id="tdColorId' + value.colorId + '"><input type="checkbox" value="' + value.colorId + '" name="alreadyColorName" datatype="*">' + value.colorName + ''
+                                            + '<input type="text" style="width: 50px;margin-left: 10px;" class="input-text" oninput="generateInput(' + value.colorId + ')" onpropertychange="generateInput(' + value.colorId + ')"  placeholder="数量" id="alreadyColorId' + value.colorId + '" name="alreadyColorId' + value.colorId + '"><br>' +
+                                            '</td>'
+                                });
+                            }else{
+                                colorTable = '暂无颜色,请先添加产品颜色';
+                            }
+                        }else {
+                            colorTable = '暂无颜色,请先添加产品颜色';
+                        }
+                        if(value.fittingsList != null) {
+                            if (value.fittingsList.length > 0) {
+                                $.each(value.fittingsList, function (i, value) {
+                                    fittingsTable = fittingsTable + '<input type="checkbox" value="' + value.fittingsId + '" name="alreadyFittingsName" datatype="*">' + value.fittingsName + ''
+                                            + '<input type="text" style="width: 50px;margin-left: 10px;" class="input-text" value="" placeholder="数量" id="alreadyFittingsId' + value.fittingsId + '" name="alreadyFittingsId' + value.fittingsId + '"><br>'
+                                });
+                            }else{
+                                fittingsTable = '暂无配件,请先添加配件';
+                            }
+                        }else{
+                            fittingsTable = '暂无配件,请先添加配件';
+                        }
+                        var productTable = '<tr>'
+                                +'<td>'+value.productName+'</td>'
+                                +'<td><table border="0">'+colorTable+'</table></td>'
+                                +'<td>'+fittingsTable+'</td>'
+                                +'</tr>';
+                        $("#addProduct").append(productTable);
+                    });
+                }else{
+                    var productTable = '<td colspan="3">暂无数据!</td>';
+                    $("#addProduct").html(productTable);
+
                 }
             },
             error: function(XmlHttpRequest, textStatus, errorThrown){
-                layer.msg('添加错误',{icon: 5,time:1000});
+                layer.msg('查询错误,请刷新页面重试',{icon: 5,time:1000});
             }
         });
     }
 
+    //填写数量后动态生成相同数量的文本框
+    function generateInput(colorId){
+        var inputList = "";
+        var number = $("#alreadyColorId"+colorId).val();
+        var machineNumberName = "machineNumber"+colorId;
+        if(!/^\d+$/.test(number)){
+            layer.msg('请输入正确的数量',{icon: 5,time:1000});
+            $('input[name='+machineNumberName+']').remove();
+            return false;
+        }
+        $('input[name='+machineNumberName+']').remove();
+        for (var i = 1;i<=number;i++){
+            inputList = inputList + '<input type="text" class="input-text" style="width: 110px;" placeholder="机器编号" name="machineNumber' + colorId + '" >';
+        }
+
+
+        $("#tdColorId"+colorId).append(inputList);
+    }
+
     //动态回显产品js end
 
     $(function(){
@@ -448,7 +482,11 @@
                     layer.msg('添加成功',{icon: 1,time:1000},function () {
                         location.replace(location.href);
                     });
-                } else {
+                } else if(data.returnCode == 501) {
+                    layer.msg('机器编号未填写',{icon: 5,time:1000});
+                } else if(data.returnCode == 502) {
+                    layer.msg('请至少选择一件已签收的产品',{icon: 5,time:1000});
+                }else{
                     layer.msg('添加失败',{icon: 5,time:1000});
                 }
             },

+ 120 - 20
watero-rst-web/src/main/webapp/WEB-INF/views/cm/signclosed/complete_signclosed.ftl

@@ -78,38 +78,45 @@
             <div class="row cl">
                 <label class="form-label col-3 col-sm-3"><span class="c-red">*</span>寄回产品:</label>
                 <div class="formControls col-8 col-sm-8 text-c" id="produceSelect">
+                    <div>
+                        <input type="text" oninput="selectProduct();" onpropertychange="selectProduct();" class="input-text" style="width: 826px;" id="selectProcuct" name="selectProcuct" placeholder="请输入产品名称搜索">
+                    </div>
                     <table class="table table-border table-bg table-bordered">
                         <thead>
                         <tr class="text-c">
-                            <th style="text-align: center;" width="100">产品名称</th>
-                            <th style="text-align: center;" width="100">产品数量</th>
+                            <th style="text-align: center;" width="80">产品名称</th>
+                            <th style="text-align: center;" width="130">产品颜色</th>
+                            <th style="text-align: center;" width="100">产品配件</th>
                         </tr>
                         </thead>
                         <tbody id="addProduct">
                         <#if (signclosedList?size > 0)>
                             <#list signclosedList as signclosed>
-                            <tr >
+                            <tr>
                                 <#if signclosed.signclosedProductType == 1>
-                                    <td>
-                                        <input type="checkbox" id="" value="${signclosed.signclosedProductColor!''}" name="alreadyColorName" datatype="*">
-                                        ${signclosed.productName!''}-${signclosed.colorName!''}</td>
-                                    <td>
-                                        <input type="text" style="width: 50px;margin-left: 10px;" class="input-text" value="${signclosed.productNum!''}" placeholder="数量" id="alreadyColorId${signclosed.signclosedProductColor!''}" name="alreadyColorId${signclosed.signclosedProductColor!''}"><br>
-                                    </td>
-                                <#else>
-                                    <td>
-                                        <input type="checkbox" id="" value="${signclosed.signclosedProductId!''}" name="alreadyFittingsName" datatype="*">
-                                        ${signclosed.productName!''}</td>
-                                    <td>
-                                        <input type="text" style="width: 50px;margin-left: 10px;" class="input-text" value="${signclosed.productNum!''}" placeholder="数量" id="alreadyFittingsId${signclosed.signclosedProductId!''}" name="alreadyFittingsId${signclosed.signclosedProductId!''}"><br>
+                                <td>${signclosed.productName!''}</td>
+                                <td><table border="0">
+                                    <td id="tdColorId${signclosed.signclosedProductColor!''}"><input type="checkbox" value="${signclosed.signclosedProductColor!''}" name="alreadyColorName" datatype="*">${signclosed.colorName!''}
+                                    <input type="text" style="width: 50px;margin-left: 10px;" value="${signclosed.productNum!''}" class="input-text" oninput="generateInput( ${signclosed.signclosedProductColor!''})" onpropertychange="generateInput(${signclosed.signclosedProductColor!''})"  placeholder="数量" id="alreadyColorId${signclosed.signclosedProductColor!''}" name="alreadyColorId${signclosed.signclosedProductColor!''}"><br>
+                                        <#list 1..signclosed.productNum as t>
+                                            <input type="text" class="input-text" style="width: 110px;" placeholder="机器编号" name="machineNumber${signclosed.signclosedProductColor!''}" >
+                                        </#list>
+
                                     </td>
+                                </table></td>
+                                <td> </td>
+                                </#if>
+                                <#if signclosed.signclosedProductType == 2>
+                                <td></td>
+                                <td></td>
+                                <td><input type="checkbox" value="${signclosed.signclosedProductId!''}" name="alreadyFittingsName" datatype="*">${signclosed.productName!''}
+                                    <input type="text" style="width: 50px;margin-left: 10px;" class="input-text" value="${signclosed.productNum!''}" placeholder="数量" id="alreadyFittingsId${signclosed.signclosedProductId!''}" name="alreadyFittingsId${signclosed.signclosedProductId!''}"><br>
+                                </td>
                                 </#if>
-
                             </tr>
                             </#list>
-                        <#else>
-                        <tr><td class="td-manage text-c" colspan = "2">暂无数据</td></tr>
                         </#if>
+
                         </tbody>
                     </table>
                 </div>
@@ -185,7 +192,7 @@
             </div>
             <div class="row cl">
                 <div class="col-2 col-sm-2 col-offset-3">
-                    <input type="hidden" id="signclosedId" name="signclosedId" value="<#if ifcomplaintSignclosedInfo?? >${complaintSignclosedInfo.signclosedId!''}</#if>">
+                    <input type="hidden" id="signclosedId" name="signclosedId" value="<#if complaintSignclosedInfo?? >${complaintSignclosedInfo.signclosedId!''}</#if>">
                     <button onClick="add();" class="btn btn-block btn-primary size-XL" type="button">确认签收</button>
                 </div>
             </div>
@@ -202,6 +209,95 @@
 <#--<script type="text/javascript" src="${path}/common/lib/cm.lib/dimensions.js"></script>-->
 <script type="text/javascript" src="${path}/common/lib/cm.lib/suggest.js"></script>
 <script type="text/javascript">
+    //动态回显产品js state
+    function selectProduct(){
+        var productName = $("#selectProcuct").val();
+        if(productName == null || productName == ""){
+            var productTable = '<td colspan="3">暂无数据!</td>';
+            $("#addProduct").html(productTable);
+            return false;
+        }
+        $.ajax({
+            cache: true,
+            type: "POST",
+            url: "${path}/admin/signclosed/select_product",
+            data:{'productName':productName},
+            async: false,
+            success: function(data){
+                if (data.returnCode == 200) {
+                    $("#addProduct").html("");
+                    $.each(data.returnMsg.productList,function(i,value) {
+                        var colorTable = '';
+                        var fittingsTable = '';
+
+                        /*var colorlength = value.colorList.length;
+                        var fittingslength = value.fittingsList.length;*/
+                        if(value.colorList != null) {
+                            if (value.colorList.length > 0) {
+                                $.each(value.colorList, function (i, value) {
+                                    colorTable = colorTable + '<td id="tdColorId' + value.colorId + '"><input type="checkbox" value="' + value.colorId + '" name="alreadyColorName" datatype="*">' + value.colorName + ''
+                                            + '<input type="text" style="width: 50px;margin-left: 10px;" class="input-text" oninput="generateInput(' + value.colorId + ')" onpropertychange="generateInput(' + value.colorId + ')"  placeholder="数量" id="alreadyColorId' + value.colorId + '" name="alreadyColorId' + value.colorId + '"><br>' +
+                                            '</td>'
+                                });
+                            }else{
+                                colorTable = '暂无颜色,请先添加产品颜色';
+                            }
+                        }else {
+                            colorTable = '暂无颜色,请先添加产品颜色';
+                        }
+                        if(value.fittingsList != null) {
+                            if (value.fittingsList.length > 0) {
+                                $.each(value.fittingsList, function (i, value) {
+                                    fittingsTable = fittingsTable + '<input type="checkbox" value="' + value.fittingsId + '" name="alreadyFittingsName" datatype="*">' + value.fittingsName + ''
+                                            + '<input type="text" style="width: 50px;margin-left: 10px;" class="input-text" value="" placeholder="数量" id="alreadyFittingsId' + value.fittingsId + '" name="alreadyFittingsId' + value.fittingsId + '"><br>'
+                                });
+                            }else{
+                                fittingsTable = '暂无配件,请先添加配件';
+                            }
+                        }else{
+                            fittingsTable = '暂无配件,请先添加配件';
+                        }
+                        var productTable = '<tr>'
+                                +'<td>'+value.productName+'</td>'
+                                +'<td><table border="0">'+colorTable+'</table></td>'
+                                +'<td>'+fittingsTable+'</td>'
+                                +'</tr>';
+                        $("#addProduct").append(productTable);
+                    });
+                }else{
+                    var productTable = '<td colspan="3">暂无数据!</td>';
+                    $("#addProduct").html(productTable);
+
+                }
+            },
+            error: function(XmlHttpRequest, textStatus, errorThrown){
+                layer.msg('查询错误,请刷新页面重试',{icon: 5,time:1000});
+            }
+        });
+    }
+
+    //填写数量后动态生成相同数量的文本框
+    function generateInput(colorId){
+        var inputList = "";
+        var number = $("#alreadyColorId"+colorId).val();
+        var machineNumberName = "machineNumber"+colorId;
+        if(!/^\d+$/.test(number)){
+            layer.msg('请输入正确的数量',{icon: 5,time:1000});
+            $('input[name='+machineNumberName+']').remove();
+            return false;
+        }
+        $('input[name='+machineNumberName+']').remove();
+        for (var i = 1;i<=number;i++){
+            inputList = inputList + '<input type="text" class="input-text" style="width: 110px;" placeholder="机器编号" name="machineNumber' + colorId + '" >';
+        }
+
+
+        $("#tdColorId"+colorId).append(inputList);
+    }
+    //动态回显产品js end
+
+
+
     $(function(){
         var province = listProvince(null,null);
         var provinceHtml = '';
@@ -274,7 +370,11 @@
                     layer.msg('添加成功',{icon: 1,time:1000},function () {
                         location.replace(location.href);
                     });
-                } else {
+                } else if(data.returnCode == 501) {
+                    layer.msg('机器编号未填写',{icon: 5,time:1000});
+                } else if(data.returnCode == 502) {
+                    layer.msg('请至少选择一件已签收的产品',{icon: 5,time:1000});
+                }else {
                     layer.msg('添加失败',{icon: 5,time:1000});
                 }
             },