Jelajahi Sumber

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

# Conflicts:
#	watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminCustomerController.java
wangxiaoming 7 tahun lalu
induk
melakukan
240284190a
23 mengubah file dengan 451 tambahan dan 97 penghapusan
  1. 10 7
      watero-rst-core/src/main/java/com.iamberry.rst.core/address/City.java
  2. 7 4
      watero-rst-core/src/main/java/com.iamberry.rst.core/address/Country.java
  3. 10 7
      watero-rst-core/src/main/java/com.iamberry.rst.core/address/District.java
  4. 10 7
      watero-rst-core/src/main/java/com.iamberry.rst.core/address/Province.java
  5. 8 0
      watero-rst-core/src/main/java/com.iamberry.rst.core/order/Product.java
  6. 2 1
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/FittingsInfoService.java
  7. 12 0
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/product/ProductService.java
  8. 1 1
      watero-rst-service/src/main/java/com/iamberry/rst/service/address/AddressServiceImpl.java
  9. 1 1
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/FittingsInfoMapper.java
  10. 2 2
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/FittingsInfoServiceImpl.java
  11. 6 1
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/fittingsInfoMapper.xml
  12. 10 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/product/ProductServiceImpl.java
  13. 12 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/product/mapper/ProductMapper.java
  14. 40 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/product/mapper/productMapper.xml
  15. 60 4
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminCustomerController.java
  16. 5 5
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/pts/AdminPtsBomController.java
  17. 234 47
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/add_customer.ftl
  18. 1 0
      watero-rst-web/src/main/webapp/WEB-INF/views/order/excel_to_order.ftl
  19. 3 0
      watero-rst-web/src/main/webapp/WEB-INF/views/pts/bom/add_bom.ftl
  20. 2 0
      watero-rst-web/src/main/webapp/WEB-INF/views/pts/bom/update_bom.ftl
  21. 5 5
      watero-rst-web/src/main/webapp/WEB-INF/views/pts/machinePtras/parts_list.ftl
  22. 5 2
      watero-rst-web/src/main/webapp/WEB-INF/views/pts/machinePtras/ptras_add.ftl
  23. 5 3
      watero-rst-web/src/main/webapp/WEB-INF/views/pts/machinePtras/ptras_update.ftl

+ 10 - 7
watero-rst-core/src/main/java/com.iamberry.rst.core/address/City.java

@@ -1,27 +1,30 @@
 package com.iamberry.rst.core.address;
 
-public class City {
-    private Long cityId;
+import java.io.Serializable;
 
-    private Long provinceId;
+public class City implements Serializable {
+    private static final long serialVersionUID = -6644037349560289619L;
+    private Integer cityId;
+
+    private Integer provinceId;
 
     private String city;
 
     private Integer divisionCode;
 
-    public Long getCityId() {
+    public Integer getCityId() {
         return cityId;
     }
 
-    public void setCityId(Long cityId) {
+    public void setCityId(Integer cityId) {
         this.cityId = cityId;
     }
 
-    public Long getProvinceId() {
+    public Integer getProvinceId() {
         return provinceId;
     }
 
-    public void setProvinceId(Long provinceId) {
+    public void setProvinceId(Integer provinceId) {
         this.provinceId = provinceId;
     }
 

+ 7 - 4
watero-rst-core/src/main/java/com.iamberry.rst.core/address/Country.java

@@ -1,17 +1,20 @@
 package com.iamberry.rst.core.address;
 
-public class Country {
-    private Long countryId;
+import java.io.Serializable;
+
+public class Country implements Serializable {
+    private static final long serialVersionUID = -5998558934517751336L;
+    private Integer countryId;
 
     private String countryName;
 
     private String countryNo;
 
-    public Long getCountryId() {
+    public Integer getCountryId() {
         return countryId;
     }
 
-    public void setCountryId(Long countryId) {
+    public void setCountryId(Integer countryId) {
         this.countryId = countryId;
     }
 

+ 10 - 7
watero-rst-core/src/main/java/com.iamberry.rst.core/address/District.java

@@ -1,27 +1,30 @@
 package com.iamberry.rst.core.address;
 
-public class District {
-    private Long districtId;
+import java.io.Serializable;
 
-    private Long cityId;
+public class District implements Serializable {
+    private static final long serialVersionUID = -7978460253464647599L;
+    private Integer districtId;
+
+    private Integer cityId;
 
     private String district;
 
     private Integer divisionCode;
 
-    public Long getDistrictId() {
+    public Integer getDistrictId() {
         return districtId;
     }
 
-    public void setDistrictId(Long districtId) {
+    public void setDistrictId(Integer districtId) {
         this.districtId = districtId;
     }
 
-    public Long getCityId() {
+    public Integer getCityId() {
         return cityId;
     }
 
-    public void setCityId(Long cityId) {
+    public void setCityId(Integer cityId) {
         this.cityId = cityId;
     }
 

+ 10 - 7
watero-rst-core/src/main/java/com.iamberry.rst.core/address/Province.java

@@ -1,27 +1,30 @@
 package com.iamberry.rst.core.address;
 
-public class Province {
-    private Long provinceId;
+import java.io.Serializable;
 
-    private Long countryId;
+public class Province implements Serializable {
+    private static final long serialVersionUID = 3772529317606125313L;
+    private Integer provinceId;
+
+    private Integer countryId;
 
     private String province;
 
     private Integer divisionCode;
 
-    public Long getProvinceId() {
+    public Integer getProvinceId() {
         return provinceId;
     }
 
-    public void setProvinceId(Long provinceId) {
+    public void setProvinceId(Integer provinceId) {
         this.provinceId = provinceId;
     }
 
-    public Long getCountryId() {
+    public Integer getCountryId() {
         return countryId;
     }
 
-    public void setCountryId(Long countryId) {
+    public void setCountryId(Integer countryId) {
         this.countryId = countryId;
     }
 

+ 8 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/order/Product.java

@@ -35,6 +35,7 @@ public class Product implements Serializable {
 
     private String productNumber;        //产品型号
 
+    private String typeName;            //产品名称
 
     private List<ProductColor> colorList = new ArrayList<ProductColor>();   //产品颜色集合
 
@@ -118,6 +119,13 @@ public class Product implements Serializable {
         this.productNumber = productNumber;
     }
 
+    public String getTypeName() {
+        return typeName;
+    }
+    public void setTypeName(String typeName) {
+        this.typeName = typeName;
+    }
+
     @Override
     public String toString() {
         return "Product{" +

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

@@ -28,9 +28,10 @@ public interface FittingsInfoService {
      * @return
      */
     Integer updateFittingsInfo(FittingsInfo fittingsInfo);
+
     /**
      * 查询所有配件信息
      * @return
      */
-    List<FittingsInfo> listFittings();
+    List<FittingsInfo> listFittings(FittingsInfo fittingsInfo);
 }

+ 12 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/product/ProductService.java

@@ -48,6 +48,18 @@ public interface ProductService {
     List<Product> listProduce();
 
     /**
+     * 获取所有产品
+     * @return
+     */
+    List<Product> listProduce(Product product);
+
+    /**
+     * 获取所有产品颜色
+     * @return
+     */
+    List<ProductColor> listProduceColor(ProductColor productColor);
+
+    /**
      * 查询产品和产品颜色集合
      * @param productColor
      * @return

+ 1 - 1
watero-rst-service/src/main/java/com/iamberry/rst/service/address/AddressServiceImpl.java

@@ -19,7 +19,7 @@ public class AddressServiceImpl implements AddressService {
 
     @Override
     public List<Province> listProvince(Province province) {
-        province.setCountryId((long) 1);
+        province.setCountryId(1);
         return addressMapper.listProvince(province);
     }
 

+ 1 - 1
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/FittingsInfoMapper.java

@@ -30,5 +30,5 @@ public interface FittingsInfoMapper {
      * 查询所有配件信息
      * @return
      */
-    List<FittingsInfo> listFittings();
+    List<FittingsInfo> listFittings(FittingsInfo fittingsInfo);
 }

+ 2 - 2
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/FittingsInfoServiceImpl.java

@@ -31,7 +31,7 @@ public class FittingsInfoServiceImpl implements FittingsInfoService {
     }
 
     @Override
-    public List<FittingsInfo> listFittings() {
-        return fittingsInfoMapper.listFittings();
+    public List<FittingsInfo> listFittings(FittingsInfo fittingsInfo) {
+        return fittingsInfoMapper.listFittings(fittingsInfo);
     }
 }

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

@@ -25,10 +25,15 @@
   </select>
 
   <!-- 查询所有配件信息 -->
-  <select id="listFittings" resultType="FittingsInfo">
+  <select id="listFittings" resultType="FittingsInfo" parameterType="FittingsInfo">
     select
     <include refid="fittingsInfo" />
     from tb_rst_product_fittings
+    <where>
+      <if test="productId != null">
+        product_id = #{productId}
+      </if>
+    </where>
   </select>
 
   <!-- 添加配件信息 -->

+ 10 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/product/ProductServiceImpl.java

@@ -104,6 +104,16 @@ public class ProductServiceImpl implements ProductService {
     }
 
     @Override
+    public List<Product> listProduce(Product product){
+        return productMapper.listProduceSelect(product);
+    }
+
+    @Override
+    public List<ProductColor> listProduceColor(ProductColor productColor) {
+        return productMapper.listProduceColor(productColor);
+    }
+
+    @Override
     public List<ProductColor> listproductAndColor(ProductColor productColor) {
         return productMapper.listproductAndColor(productColor);
     }

+ 12 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/product/mapper/ProductMapper.java

@@ -30,6 +30,18 @@ public interface ProductMapper {
     List<Product> listProduce();
 
     /**
+     * 获取所有产品
+     * @return
+     */
+    List<Product> listProduceSelect(Product product);
+
+    /**
+     * 获取所有产品颜色
+     * @return
+     */
+    List<ProductColor> listProduceColor(ProductColor productColor);
+
+    /**
      * 查询产品和产品颜色集合
      * @param productColor
      * @return

+ 40 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/product/mapper/productMapper.xml

@@ -52,6 +52,36 @@
         </where>
     </select>
 
+    <select id="listProduceColor" parameterType="ProductColor" resultType="ProductColor">
+        select
+        c.color_id colorId,
+        c.color_product_id colorProductId,
+        c.color_name colorName,
+        c.color_discount colorDiscount,
+        c.color_price colorPrice,
+        c.color_bar colorBar,
+        c.color_picture colorPicture,
+        c.color_status colorStatus,
+        c.color_cretae_time colorCretaeTime,
+        c.color_update_time colorUpdateTime
+        from
+        tb_rst_product_color c
+        <where>
+            <if test="colorId != null">
+                color_id = #{colorId}
+            </if>
+            <if test="colorProductId != null">
+                and color_product_id = #{colorProductId}
+            </if>
+            <if test="colorBar != null">
+                and color_bar = #{colorBar}
+            </if>
+            <if test="colorStatus != null">
+                and color_status = #{colorStatus}
+            </if>
+        </where>
+    </select>
+
     <!-- 根据条件查询产品类型集合 -->
     <select id="listProductType" parameterType="ProductType" resultType="ProductType">
       select
@@ -68,6 +98,16 @@
     <select id="listProduce"  resultType="product">
         select * from tb_rst_product_info where product_type = 1
     </select>
+
+    <select id="listProduceSelect"  resultType="product" parameterType="product">
+       SELECT
+            t.*,
+            trpt.type_name
+        FROM
+            tb_rst_product_info t
+        LEFT JOIN tb_rst_product_type trpt ON t.product_id = trpt.type_id
+    </select>
+
     <select id="getProduce"  resultType="product">
         select * from tb_rst_product_info where product_id = #{productId}
     </select>

+ 60 - 4
watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminCustomerController.java

@@ -1,6 +1,8 @@
 package com.iamberry.rst.controllers.cm;
 
 import com.iamberry.rst.core.cm.*;
+import com.iamberry.rst.core.order.Product;
+import com.iamberry.rst.core.order.ProductColor;
 import com.iamberry.rst.core.order.ProductType;
 import com.iamberry.rst.core.page.PagedResult;
 import com.iamberry.rst.core.sys.Admin;
@@ -12,6 +14,7 @@ import com.iamberry.rst.utils.StitchAttrUtil;
 import com.iamberry.rst.faces.cm.CompanyInfoService;
 import com.iamberry.rst.faces.cm.SalesOrderService;
 import com.iamberry.rst.faces.cm.StoreInfoService;
+import com.iamberry.rst.utils.produceUtil;
 import com.iamberry.wechat.tools.ResponseJson;
 import org.apache.commons.lang.StringUtils;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
@@ -52,6 +55,8 @@ public class AdminCustomerController {
     private VisitService visitService;
     @Autowired
     private QuestionDescribeService questionDescribeService;
+    @Autowired
+    private FittingsInfoService fittingsInfoService;
 
     /**
      * 获取客诉列表
@@ -269,7 +274,7 @@ public class AdminCustomerController {
     @RequiresPermissions("customer:add:customer")
     @RequestMapping("/select_sys_admin")
     public ResponseJson selectSysAdmin(HttpServletRequest request) {
-        ResponseJson rj = new ResponseJson(200, "修改成功!", 200);
+        ResponseJson rj = new ResponseJson(200, "查询成功!", 200);
         Integer adminId = AdminUtils.getLoginAdminId();
         Admin admin = new Admin();
         List<Admin> adminList = sysService.listSelectAdmin(admin);
@@ -278,7 +283,7 @@ public class AdminCustomerController {
             rj.addResponseKeyValue("adminId",adminId);
             return rj;
         } else {
-            return new ResponseJson(500, "修改失败!", 500);
+            return new ResponseJson(500, "查询失败!", 500);
         }
     }
 
@@ -291,7 +296,7 @@ public class AdminCustomerController {
     @RequiresPermissions("customer:add:customer")
     @RequestMapping("/select_produce_type")
     public ResponseJson selectProduceType(HttpServletRequest request) {
-        ResponseJson rj = new ResponseJson(200, "修改成功!", 200);
+        ResponseJson rj = new ResponseJson(200, "查询成功!", 200);
 
         ProductType productType = new ProductType();
         List<ProductType> productTypeList = productService.listProductType(productType);
@@ -300,10 +305,61 @@ public class AdminCustomerController {
             rj.addResponseKeyValue("productTypeList",productTypeList);
             return rj;
         } else {
-            return new ResponseJson(500, "修改失败!", 500);
+            return new ResponseJson(500, "查询失败!", 500);
+        }
+    }
+
+    /**
+     * 查询产品
+     * @param request
+     * @return
+     */
+    @ResponseBody
+    @RequiresPermissions("customer:add:customer")
+    @RequestMapping("/select_produce")
+    public ResponseJson selectProduce(HttpServletRequest request) {
+        ResponseJson rj = new ResponseJson(200, "查询成功!", 200);
+
+        Product product = new Product();
+        List<Product> productList = productService.listProduce(product);
+
+        for(Product pro : productList){
+            ProductColor productColor  = new ProductColor();
+            productColor.setColorProductId(pro.getProductId());
+            List<ProductColor> productColorList = productService.listProduceColor(productColor);
+            pro.setColorList(productColorList);
+        }
+        if (productList != null && productList.size()> 0) {
+            rj.addResponseKeyValue("productList",productList);
+            return rj;
+        } else {
+            return new ResponseJson(500, "查询失败!", 500);
+        }
+    }
+
+    /**
+     * 查询产品
+     * @param request
+     * @return
+     */
+    @ResponseBody
+    @RequiresPermissions("customer:add:customer")
+    @RequestMapping("/select_produce_fittings")
+    public ResponseJson selectProduceFittings(HttpServletRequest request,FittingsInfo fittingsInfo) {
+        ResponseJson rj = new ResponseJson(200, "查询成功!", 200);
+
+        List<FittingsInfo> produceFittingsList = fittingsInfoService.listFittings(fittingsInfo);
+
+        if (produceFittingsList != null && produceFittingsList.size()> 0) {
+            rj.addResponseKeyValue("produceFittingsList",produceFittingsList);
+            return rj;
+        } else {
+            return new ResponseJson(500, "查询失败!", 500);
         }
     }
 
+
+
     /**
      * 添加回访完成内容
      * @param request

+ 5 - 5
watero-rst-web/src/main/java/com/iamberry/rst/controllers/pts/AdminPtsBomController.java

@@ -196,11 +196,11 @@ public class AdminPtsBomController {
     public ResponseJson listComponents(HttpServletRequest request) {
 
         String produceId = request.getParameter("produceId");
-        if (produceId == null || "".equals(produceId)) {
-            return new ResponseJson(500, "ERROR", 500);
-        }
+
         PtsComponents ptsComponents = new PtsComponents();
-        ptsComponents.setProduceId(Integer.valueOf(produceId));
+        if (produceId != null && !"".equals(produceId)) {
+            ptsComponents.setProduceId(Integer.valueOf(produceId));
+        }
         ptsComponents.setComponentsStatus(1);
         //查询所有零件
         List<PtsComponents> ptsComponentsList = machinePartsService.listPtsComponentsOrderByNo(ptsComponents);
@@ -239,7 +239,7 @@ public class AdminPtsBomController {
         PtsComponents ptsComponents = new PtsComponents();
         ptsComponents.setProduceId(ptsBom.getProduceId());
         ptsComponents.setComponentsStatus(1);
-        List<PtsComponents> ptsComponentsList = machinePartsService.listPtsComponents(ptsComponents);
+        List<PtsComponents> ptsComponentsList = machinePartsService.listPtsComponentsOrderByNo(ptsComponents);
 
         mv.addObject("produceList", produceList);
         mv.addObject("ptsBom", ptsBom);

+ 234 - 47
watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/add_customer.ftl

@@ -183,31 +183,31 @@
                 <label class="form-label col-1 col-sm-1"></label>
                 <div class="formControls col-10 col-sm-10 skin-minimal">
                     <div class="radio-box">
-                        <input type="radio" id="a-7" name="bbb">
+                        <input type="radio" id="a-7" value="1" name="customerIsSolve" checked>
                         <label for="a-7">已解决</label>
                     </div>
                     <div class="radio-box">
-                        <input type="radio" id="a-7" name="bbb">
+                        <input type="radio" id="a-7" value="2" name="customerIsSolve">
                         <label for="a-7">未解决</label>
                     </div>
                     <div class="radio-box">
-                        <input type="radio" id="a-7" name="bbb">
+                        <input type="radio" id="a-7" value="3" name="customerIsSolve">
                         <label for="a-7">换新</label>
                     </div>
                     <div class="radio-box">
-                        <input type="radio" id="a-7" name="bbb">
+                        <input type="radio" id="a-7" value="4" name="customerIsSolve">
                         <label for="a-7">维修</label>
                     </div>
                     <div class="radio-box">
-                        <input type="radio" id="a-7" name="bbb">
+                        <input type="radio" id="a-7" value="5" name="customerIsSolve">
                         <label for="a-7">补发</label>
                     </div>
                     <div class="radio-box">
-                        <input type="radio" id="a-7" name="bbb">
+                        <input type="radio" id="a-7" value="6" name="customerIsSolve">
                         <label for="a-7">退货</label>
                     </div>
                     <div class="radio-box">
-                        <input type="radio" id="a-7" name="bbb">
+                        <input type="radio" id="a-7" value="7" name="customerIsSolve">
                         <label for="a-7">无理由退货</label>
                     </div>
                 </div>
@@ -289,9 +289,7 @@
                         </select>
                     </span>
                 </div>
-                <div class="formControls col-1 col-sm-1">
-                    <button type="button" class="btn btn-primary">修改收货地址</button>
-                </div>
+
             </div>
             <div class="row cl">
                 <label class="form-label col-1 col-sm-1"></label>
@@ -302,16 +300,14 @@
             </div>
             <div class="row cl">
                 <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>换新产品:</label>
-                <div class="formControls col-10 col-sm-10">
-                    <div class="skin-minimal">
+                <div class="formControls col-10 col-sm-10" id="produceSelect">
+                    <#--<div class="skin-minimal">
                         <div class="check-box">
                             <input type="checkbox" id="checkbox-1" checked>
-                            <label for="checkbox-1">净水机</label>
-                            <select name="" class="select" style="width: 100px;">
-                                <option value="0">WX-12</option>
-                                <option value="1">WX-13</option>
-                            </select>
 
+                            <label for="checkbox-1">净水机</label> -
+
+                            <label for="checkbox-1">净水机</label>
 
                             <select name="" class="select" style="width: 100px;">
                                 <option value="0">黑色</option>
@@ -320,7 +316,6 @@
                             <input type="text" class="input-text" style="width: 40px;text-align: center;" value="1" placeholder="" id="" name="">
                         </div>
 
-
                         <div class="check-box">
                             <input type="checkbox" id="checkbox-2" checked>
                             <label for="checkbox-2">水箱</label>
@@ -336,7 +331,14 @@
                             <label for="checkbox-2">T2</label>
                             <input type="text" class="input-text" style="width: 40px;text-align: center;" value="1" placeholder="" id="" name="">
                         </div>
-                    </div>
+                    </div>-->
+                </div>
+
+            </div>
+            <div class="row cl">
+                <label class="form-label col-1 col-sm-1"></label>
+                <div class="formControls col-1 col-sm-1">
+                    <button type="button" class="btn btn-primary">添加产品</button>
                 </div>
             </div>
 
@@ -387,10 +389,12 @@
                 </div>
             </div>
             <div class="row cl">
-                <label class="form-label col-1 col-sm-1"></label>
+                <label class="form-label col-1 col-sm-1">更换产品:</label>
                 <div class="formControls col-7 col-sm-7">
-                    <div class="update-parts">更换:<span>红色净水机(wx-1)x 1台</span><span>水箱 x 1件</span><span>t1 x 1件</span><span>t2 x 1件</span></div>
+                    <div class="update-parts" style="margin-bottom: 10px;"><span>红色净水机(wx-1)x 1台</span><span>水箱 x 1件</span><span>t1 x 1件</span><span>t2 x 1件</span></div>
+                    <div class="update-parts" style="margin-bottom: 10px;"><span>红色净水机(wx-1)x 1台</span><span>水箱 x 1件</span><span>t1 x 1件</span><span>t2 x 1件</span></div>
                 </div>
+
             </div>
             <div class="row cl">
                 <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>处理描述:</label>
@@ -506,15 +510,18 @@
 
     /*处理结果的执行状态*/
     var isSolve = {
-        solved : {},
-        noSolved : {},
-        renewed : {"录入客诉","督促用户寄回","录入快递单号","仓库收货","换新发货","发货通知用户","收货后回访"},
-        maintain : {"录入客诉","督促用户寄回","录入快递单号","仓库收货","品质检测","产线维修","换新发货","发货通知用户","收货后回访"},
-        reissue : {"录入客诉","生成E订单","督促仓库发货","仓库发货","发货通知用户","收货后回访"},
-        backGoods :{"录入客诉","督促用户寄回","录入快递单号","仓库收货","品质检测","退款","退货完成"},
-        noReasonBack :{"录入客诉","督促用户寄回","录入快递单号","仓库收货","品质检测","退款","退货完成"}
+        solved : [],
+        noSolved : [],
+        renewed : ["录入客诉","督促用户寄回","录入快递单号","仓库收货","换新发货","发货通知用户","收货后回访"],
+        maintain : ["录入客诉","督促用户寄回","录入快递单号","仓库收货","品质检测","产线维修","换新发货","发货通知用户","收货后回访"],
+        reissue : ["录入客诉","生成E订单","督促仓库发货","仓库发货","发货通知用户","收货后回访"],
+        backGoods : ["录入客诉","督促用户寄回","录入快递单号","仓库收货","品质检测","退款","退货完成"],
+        noReasonBack : ["录入客诉","督促用户寄回","录入快递单号","仓库收货","品质检测","退款","退货完成"]
     }
 
+    /*全局标识当前状态  type : 1 :已解决  2:未解决  3:换新  4:维修  5:补发   6:退货  7:无理由退货*/
+    var allCustomerType = 1;
+
     /*初始化页面参数*/
     $(function () {
 
@@ -524,12 +531,18 @@
         /*初始化客服*/
         initSysAdmin();
 
-        /*初始化产品类型*/
+        /*初始化产品类型 --  客诉头部的产品类型单选 */
         initProduceType();
 
-        /*初始化选择处理结果*/
+        /*初始化选择处理结果 -- type : 1 :已解决  2:未解决  3:换新  4:维修  5:补发   6:退货  7:无理由退货 */
         initProcessResult(1);
 
+        /*监听处理结果选择事件*/
+        $("[name='customerIsSolve']").change(function(){
+            initProcessResult(parseInt($(this).val()));
+            allCustomerType = parseInt($(this).val());
+        })
+
         /*监听问题类型 选择事件*/
         $("[name='complaintId']").change(function(){
             initComplaintSmallClassInfo($(this).val());
@@ -559,12 +572,18 @@
         });
 
         /* 初始化单选框样式 */
+        initCheck();
+
+    })
+
+    /*初始化单选框样式*/
+    function initCheck(){
         $('.skin-minimal input').iCheck({
             checkboxClass: 'icheckbox-blue',
             radioClass: 'iradio-blue',
             increaseArea: '20%'
         });
-    })
+    }
 
     /*初始化客服*/
     function initSysAdmin() {
@@ -595,7 +614,7 @@
         $("#adminId").html(html);
     }
 
-    /*初始化产品类型*/
+    /*初始化产品类型 --  客诉头部的产品类型单选*/
     function initProduceType(){
         var html = "";
         $.ajax({
@@ -627,29 +646,53 @@
 
     /**
      * 选择处理结果-- 默认选择已解决
-     * type : 0 :已解决  1:未解决  2:换新  3:维修  4:补发   5:退货  6:无理由退货
+     * type : 1 :已解决  2:未解决  3:换新  4:维修  5:补发   6:退货  7:无理由退货
      */
     function initProcessResult(type){
         if(type == null || type == ""){
-            type = 0;
+            type = 1;
         }
-        var statusHtml = ' <li><span class="arrow"></span><div class="number">status_index</div><div>status_html</div></li>';
+        var statusHtml = '<li><span class="arrow"></span><div class="number">status_index</div><div>status_html</div></li>';
         var resultHtml = '';
+        var result = {};
         switch(type)
         {
-            case 0:
-                $("#processResultStatus").hide();
-                break;
             case 1:
                 $("#processResultStatus").hide();
                 break;
             case 2:
-                resultHtml
-                isSolve();
+                $("#processResultStatus").hide();
+                break;
+            case 3:
+                result = isSolve.renewed;
+                $("#processResultStatus").show();
+                break;
+            case 4:
+                result = isSolve.maintain;
+                $("#processResultStatus").show();
+                break;
+            case 5:
+                result = isSolve.reissue;
+                $("#processResultStatus").show();
+                break;
+            case 6:
+                result = isSolve.backGoods;
+                $("#processResultStatus").show();
+                break;
+            case 7:
+                result = isSolve.noReasonBack;
+                $("#processResultStatus").show();
                 break;
             default:
                 break;
         }
+
+        for(var i=0;i< result.length;i++){
+            var html = statusHtml.replace("status_index",i+1);
+            html = html.replace("status_html",result[i]);
+            resultHtml += html;
+        }
+
         $("#processResultStatus").html(resultHtml);
     }
 
@@ -771,7 +814,7 @@
     function setSelectOrder(orderId){
         var html = '';
         var address = ''; //地址
-        var produceList = {};
+        var orderItemList = {};
         $.ajax({
             type: "POST",
             data: {
@@ -786,7 +829,7 @@
 
                         var productsHtml = '';
                         var salesOrderItem = salesOrder.salesOrderItemList;
-                        produceList = salesOrder.salesOrderItemList;
+                        orderItemList = salesOrder.salesOrderItemList;
                         for(var j=0;j<salesOrderItem.length;j++){
                             var item = salesOrderItem[j].itemProductName + "*" + salesOrderItem[j].itemNum;
                             if(j==0){
@@ -822,9 +865,7 @@
         });
         $("#addressInfo").val(address);
         setAdress();  //显示地址
-
-        setProduce(produceList); //显示产品
-
+        setProduce(orderItemList); //显示产品
     }
 
     /**
@@ -966,9 +1007,155 @@
      * 展示产品
      * @param produceList
      */
-    function setProduce(produceList) {
-        
+    function setProduce(orderItemList) {
+        var html = "";
+        $.ajax({
+            type: "POST",
+            data: {
+            },
+            url: "${path}/admin/customer/select_produce",
+            async: false,
+            success: function(data){
+                if (data.returnCode == 200) {
+                    for(var i=0;i<data.returnMsg.productList.length;i++){
+                        var product = data.returnMsg.productList[i];    //所有产品
+                        var produceFittings = getProduceFittings(product.productId);  //获取该产品的所有配件
+                        var colorList = product.colorList;  //该产品的所有颜色
+
+                        var isColorSelect = false;
+                        var selectColor = new Array();    //颜色选择html和颜色数量对应 对象
+                        if(colorList != null){
+                            for(var m=0;m<orderItemList.length;m++){
+                                var colorNumber = 1;
+                                var colorHtml = '';
+                                for(var j=0;j<colorList.length;j++){
+                                    var colors = {};
+                                    if(colorList[j].colorId == orderItemList[m].itemColorId){
+                                        colorHtml += '<option value="'+ colorList[j].colorId +'" selected>'+ colorList[j].colorName +'</option>';
+                                        isColorSelect = true;
+                                        colorNumber = orderItemList[m].itemNum;
+                                    }else{
+                                        colorHtml += '<option value="'+ colorList[j].colorId +'">'+ colorList[j].colorName +'</option>';
+                                    }
+                                }
+                                colors.colorNumber = colorNumber;
+                                colors.colorHtml = colorHtml;
+                                selectColor.push(colors);
+                            }
+                        }
+
+                        var fittingsHtml = '';
+                        if(produceFittings != null){
+                            for(var k=0;k<produceFittings.length;k++){
+                                fittingsHtml += '<div class="check-box">' +
+                                        '<input type="checkbox" id="checkbox-2" name="ck-produce-fittings" value="'+ produceFittings[k].fittingsId +'">' +
+                                        '<label for="checkbox-2">'+ produceFittings[k].fittingsName +'</label>' +
+                                        '<input type="text" class="input-text" style="width: 40px;text-align: center;" value="1" placeholder="" id="" name="produceFittings">' +
+                                        '</div>';
+                            }
+                        }
+
+                        var isChecked = '';
+                        if(isColorSelect){
+                            isChecked = 'checked';
+                        }
+                        for(var f=0;f<selectColor.length;f++){
+                            html += '<div class="skin-minimal">' +
+                                    '        <div class="check-box">' +
+                                    '            <input type="checkbox" name="ck-produce" id="checkbox-'+ i +'" '+ isChecked +'>' +
+                                    '' +
+                                    '           <label for="checkbox-'+ i +'" name="produceName">'+ convertUndefinedToEmpty(product.typeName) +'</label> -' +
+                                    '           <input type="hidden" name="productType" value="">' +
+                                    '' +
+                                    '            <label for="checkbox-'+ i +'">'+ convertUndefinedToEmpty(product.productName) +'</label>' +
+                                    '           <input type="hidden" name="productId" value="">' +
+                                    '' +
+                                    '            <select class="select colorId" name="colorId" style="width: 100px;">' +
+                                    selectColor[f].colorHtml +
+                                    '            </select>' +
+                                    '            <input type="text" class="input-text" style="width: 40px;text-align: center;" value="'+ selectColor[f].colorNumber +'" placeholder="" id="" name="produceNumber">' +
+                                    '        </div>' +
+                                    fittingsHtml +
+                                    '    </div>';
+
+                            if(!isColorSelect){
+                                break;
+                            }
+                        }
+                    }
+                }else{
+                    html = '';
+                }
+            },
+            error: function(XmlHttpRequest, textStatus, errorThrown){
+            }
+        });
+        $("#produceSelect").html(html);
+
+        initCheck(); //因为需要展示产品,所以再次初始化多选框
+
+        setBackProduct();  //设置寄回产品
+
+        monitorProduct();   //监听产品变化
+    }
+
+    /*获取产品配件*/
+    function getProduceFittings(productId){
+        var produceFittings;
+        $.ajax({
+            type: "get",
+            data: {
+                productId : productId
+            },
+            url: "${path}/admin/customer/select_produce_fittings",
+            async: false,
+            success: function(data){
+                if (data.returnCode == 200) {
+                    produceFittings = data.returnMsg.produceFittingsList;
+                }
+            },
+            error: function(XmlHttpRequest, textStatus, errorThrown){
+            }
+        });
+        return produceFittings;
+    }
+
+    /*监听产品变化*/
+    function monitorProduct(){
+        /*产品的多选框*/
+        $("#produceSelect").find("input[name='ck-produce']").change(function (){
+            setBackProduct();
+        })
+        /*选择产品颜色*/
+        $("#produceSelect").find(".colorId").change(function (){
+            setBackProduct();
+        })
+        /*产品数量*/
+        $("#produceSelect").find("input[name='produceNumber']").blur(function (){
+            setBackProduct();
+        })
+        /*配件数量*/
+        $("#produceSelect").find("input[name='produceFittings']").blur(function (){
+            setBackProduct();
+        })
+        /*配件多选框*/
+        $("#produceSelect").find("input[name='ck-produce-fittings']").click(function (){
+            setBackProduct();
+        })
+    }
+
+    /*设置寄回产品*/
+    function setBackProduct() {
+        $("#produceSelect").find(".skin-minimal").each(function (){
+            var isChecked = $(this).find("input[name='ck-produce']").attr('checked');
+            var produceName =  $(this).find("input[name='produceName']").eq(0).html();
+            alert(isChecked + "--" +produceName);
+//            if(){
+//                html = '<div class="update-parts" style="margin-bottom: 10px;"><span>红色净水机(wx-1)x 1台</span><span>水箱 x 1件</span><span>t1 x 1件</span><span>t2 x 1件</span></div>';
+//            }
+        })
     }
+    
 </script>
 <!--/请在上方写此页面业务相关的脚本-->
 </body>

+ 1 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/order/excel_to_order.ftl

@@ -84,6 +84,7 @@
                             <option value="19">快抱团</option>
                             <option value="20">北京北斗</option>
                             <option value="22">上海-崔玉涛育学园</option>
+                            <option value="23">简二家</option>
                         </select>
                     </label>
                 </td>

+ 3 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/pts/bom/add_bom.ftl

@@ -244,6 +244,9 @@
 
     /*获取所有的零件*/
     function  listComponent(produceId) {
+
+        produceId = null; //查询出所有的零件;
+
         var list = new Array();
         $.ajax({
             type: "POST",

+ 2 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/pts/bom/update_bom.ftl

@@ -253,6 +253,8 @@
 
     /*获取所有的零件*/
     function  listComponent(produceId) {
+        produceId = null; //查询出所有的零件;
+
         var list = new Array();
         $.ajax({
             type: "POST",

+ 5 - 5
watero-rst-web/src/main/webapp/WEB-INF/views/pts/machinePtras/parts_list.ftl

@@ -44,14 +44,14 @@
             </#if>
             </select>
 
-            <select class="my-select" name="produceId" style="height: 36px;width: 150px">
+           <#-- <select class="my-select" name="produceId" style="height: 36px;width: 150px">
                 <option value ="">所有产品</option>
                 <#if produceList?? &&  (produceList?size > 0) >
                     <#list produceList as produce>
                         <option value ="${produce.produceId!}" <#if produceId??><#if produceId ==produce.produceId >selected="selected"</#if></#if>>${produce.produceName!}</option>
                     </#list>
                 </#if>
-            </select>
+            </select>-->
             <input type="text" class="my-input"  style="width:150px" value="${componentsNo!}" placeholder="零件编号" id="componentsNo" name="componentsNo">
             <input type="text" class="my-input"  style="width:150px" value="${componentsName!}" placeholder="零件名称" id="componentsName" name="componentsName">
             <button type="submit" class="btn" style="background: #32a3d8;color: #fff;-webkit-transform:translateY(-5%);" id="" name=""><i class="Hui-iconfont">&#xe665;</i> 搜索</button>
@@ -62,7 +62,7 @@
         <table class="table table-border table-bordered table-bg table-hover table-sort">
         <thead>
         <tr class="text-c">
-            <th width="70">所属产品</th>
+            <#--<th width="70">所属产品</th>-->
             <th width="70">零件编号</th>
             <th width="70">供应商</th>
             <th width="100">零件名称</th>
@@ -82,7 +82,7 @@
             <#if page.dataList?? &&  (page.dataList?size > 0) >
                     <#list page.dataList as parts>
                         <tr class="text-c">
-                            <td>${parts.produceName!''}</td>
+                           <#-- <td>${parts.produceName!''}</td>-->
                             <td>${parts.componentsNo!''}</td>
                             <td>${parts.supplierName!''}</td>
                             <td>${parts.componentsName!''}</td>
@@ -110,7 +110,7 @@
                         </tr>
                     </#list>
             <#else>
-                <tr><td colspan="13" class="td-manage text-c" >暂时没有零件,请添加!</td></tr>
+                <tr><td colspan="12" class="td-manage text-c" >暂时没有零件,请添加!</td></tr>
             </#if>
         </tbody>
     </table>

+ 5 - 2
watero-rst-web/src/main/webapp/WEB-INF/views/pts/machinePtras/ptras_add.ftl

@@ -35,9 +35,10 @@
 <article class="page-container" style="padding: 10px;width: 600px;margin: 0 auto;">
 	<form action="" method="post" class="form form-horizontal" id="form-parts-add">
 
-        <div class="row cl">
+      <#--  <div class="row cl">
             <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>所属机器:</label>
             <div class="formControls col-xs-8 col-sm-9"> <span class="select-box">
+
 				<select class="select" size="1" name="produceId" id="produceId">
                 <#if (produceList ?size > 0)>
                     <#list produceList as list>
@@ -48,7 +49,9 @@
                 </#if>
 				</select>
 				</span> </div>
-        </div>
+        </div>-->
+
+        <input type="hidden" value="0" name="produceId" id="produceId">
 
 		<div class="row cl">
 			<label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>零件编号:</label>

+ 5 - 3
watero-rst-web/src/main/webapp/WEB-INF/views/pts/machinePtras/ptras_update.ftl

@@ -24,7 +24,7 @@
 <article class="page-container" style="padding: 10px;width: 600px;margin: 0 auto;">
 	<form action="" method="post" class="form form-horizontal" id="form-parts-update">
 
-        <div class="row cl">
+        <#--<div class="row cl">
             <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>所属机器:</label>
             <div class="formControls col-xs-8 col-sm-9"> <span class="select-box">
 				<select class="select" size="1" name="produceId" id="produceId">
@@ -36,9 +36,11 @@
                     <option value ="">暂无产品,请到生产产品列表添加产品</option>
                 </#if>
 				</select>
-                <input type="hidden" value="${ptsComponents.produceId!''}" name="oldProduceId" id="oldProduceId">
+
 				</span> </div>
-        </div>
+        </div>-->
+        <input type="hidden" value="${ptsComponents.produceId!''}" name="produceId" id="produceId">
+        <input type="hidden" value="${ptsComponents.produceId!''}" name="oldProduceId" id="oldProduceId">
 
 		<div class="row cl">
 			<label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>零件编号:</label>