wangxiaoming пре 5 година
родитељ
комит
9f3d189e0d
55 измењених фајлова са 2890 додато и 345 уклоњено
  1. 22 0
      watero-common-tool/src/main/java/com/iamberry/wechat/tools/ResponseJson.java
  2. 37 10
      watero-rst-core/src/main/java/com.iamberry.rst.core/dm/CooperationAgree.java
  3. 79 3
      watero-rst-core/src/main/java/com.iamberry.rst.core/dm/DealerProduct.java
  4. 25 5
      watero-rst-core/src/main/java/com.iamberry.rst.core/dm/DealerProductStore.java
  5. 47 2
      watero-rst-core/src/main/java/com.iamberry.rst.core/dm/DmDealer.java
  6. 21 2
      watero-rst-core/src/main/java/com.iamberry.rst.core/dm/FinancialReceipt.java
  7. 9 14
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/dm/CooperationAgreeService.java
  8. 1 6
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/dm/DealerChannelService.java
  9. 1 6
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/dm/DealerContactService.java
  10. 1 6
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/dm/DealerProductService.java
  11. 1 6
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/dm/DealerProductStoreService.java
  12. 6 0
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/dm/DmDealerService.java
  13. 8 0
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/dm/FinancialReceiptService.java
  14. 2 1
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/product/ProductService.java
  15. 14 22
      watero-rst-service/src/main/java/com/iamberry/rst/service/dm/CooperationAgreeServiceImpl.java
  16. 1 9
      watero-rst-service/src/main/java/com/iamberry/rst/service/dm/DealerChannelServiceImpl.java
  17. 1 9
      watero-rst-service/src/main/java/com/iamberry/rst/service/dm/DealerContactServiceImpl.java
  18. 1 9
      watero-rst-service/src/main/java/com/iamberry/rst/service/dm/DealerProductServiceImpl.java
  19. 1 9
      watero-rst-service/src/main/java/com/iamberry/rst/service/dm/DealerProductStoreServiceImpl.java
  20. 194 5
      watero-rst-service/src/main/java/com/iamberry/rst/service/dm/DmDealerServiceImpl.java
  21. 12 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/dm/FinancialReceiptServiceImpl.java
  22. 11 11
      watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/CooperationAgreeMapper.java
  23. 1 1
      watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/DealerChannelMapper.java
  24. 1 1
      watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/DealerContactMapper.java
  25. 1 1
      watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/DealerProductMapper.java
  26. 1 1
      watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/DealerProductStoreMapper.java
  27. 6 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/DmDealerMapper.java
  28. 44 33
      watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/cooperationAgreeMapper.xml
  29. 10 4
      watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/dealerChannelMapper.xml
  30. 3 3
      watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/dealerContactMapper.xml
  31. 24 19
      watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/dealerProductMapper.xml
  32. 12 10
      watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/dealerProductStoreMapper.xml
  33. 39 1
      watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/dmDealerMapper.xml
  34. 1 1
      watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/dmSupplierMapper.xml
  35. 24 13
      watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/financialReceiptMapper.xml
  36. 1 1
      watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/supplierDirectorMapper.xml
  37. 1 1
      watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/supplierProductItemMapper.xml
  38. 1 1
      watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/supplierProductMapper.xml
  39. 8 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/product/ProductServiceImpl.java
  40. 11 12
      watero-rst-service/src/main/java/com/iamberry/rst/service/product/mapper/productMapper.xml
  41. 291 16
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/dm/DmDealerController.java
  42. 196 0
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/dm/FinanciaReceController.java
  43. 13 4
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminOrderController.java
  44. 61 6
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/product/AdminProductController.java
  45. 24 9
      watero-rst-web/src/main/java/com/iamberry/rst/utils/UploadFileUtils.java
  46. 180 0
      watero-rst-web/src/main/webapp/WEB-INF/views/dm/dealer/add_coop_agree.ftl
  47. 21 31
      watero-rst-web/src/main/webapp/WEB-INF/views/dm/dealer/add_dealer.ftl
  48. 395 0
      watero-rst-web/src/main/webapp/WEB-INF/views/dm/dealer/add_dealer_product.ftl
  49. 44 30
      watero-rst-web/src/main/webapp/WEB-INF/views/dm/dealer/dealer_list.ftl
  50. 356 0
      watero-rst-web/src/main/webapp/WEB-INF/views/dm/dealer/update_dealer.ftl
  51. 162 0
      watero-rst-web/src/main/webapp/WEB-INF/views/dm/financialReceipt/add_fr.ftl
  52. 199 0
      watero-rst-web/src/main/webapp/WEB-INF/views/dm/financialReceipt/fr_list.ftl
  53. 8 5
      watero-rst-web/src/main/webapp/common/js/common/common.js
  54. 256 6
      watero-rst-web/src/main/webapp/common/js/dealer/dealer.js
  55. 0 0
      watero-rst-web/src/main/webapp/common/js/dealer/financialReceipt.js

+ 22 - 0
watero-common-tool/src/main/java/com/iamberry/wechat/tools/ResponseJson.java

@@ -24,6 +24,12 @@ public class ResponseJson implements Serializable {
 	
 	private Map<String, Object> message;	// 返回的结果信息
 
+
+	/*用于接收数据*/
+	private Object dataList;
+	/*用于数据总数*/
+	private long total;
+
 	/**
 	 * 成功时返回
 	 */
@@ -117,4 +123,20 @@ public class ResponseJson implements Serializable {
 		this.returnCode = returnCode;
 		addResponseKeyValue(returnMsg);
 	}
+
+	public Object getDataList() {
+		return dataList;
+	}
+
+	public void setDataList(Object dataList) {
+		this.dataList = dataList;
+	}
+
+	public long getTotal() {
+		return total;
+	}
+
+	public void setTotal(long total) {
+		this.total = total;
+	}
 }

+ 37 - 10
watero-rst-core/src/main/java/com.iamberry.rst.core/dm/CooperationAgree.java

@@ -1,20 +1,29 @@
 package com.iamberry.rst.core.dm;
 
-import  java.util.Date;
-import  java.io.Serializable;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
 /**
  *  合作协议类
  * @author xm
- * @Date 2019-07-19
+ * @Date 2019-07-30
  */
 public class CooperationAgree  implements  Serializable{
-    private static final long serialVersionUID = 4052916520361303868L;
+    private static final long serialVersionUID = -6135374257421410706L;
     //合作协议id
     private Integer coopAgreeId;
     //客户id
     private Integer dealerId;
-    //合作时间
-    private Date coopAgreeDate;
+    //开始时间
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
+    private Date coopAgreeBeforeDate;
+    //结束时间
+    @DateTimeFormat(pattern="yyyy-MM-dd")
+    @JsonFormat(pattern="yyyy-MM-dd",timezone = "GMT+8")
+    private Date coopAgreeEndDate;
     //图片
     private String coopAgreeImg;
     //备注
@@ -22,6 +31,8 @@ public class CooperationAgree  implements  Serializable{
     //创建时间'
     private Date createDate;
 
+    private String coopAgreeIdStr;
+
     public Integer getCoopAgreeId(){
         return coopAgreeId;
     }
@@ -38,12 +49,20 @@ public class CooperationAgree  implements  Serializable{
         this.dealerId=dealerId;
     }
 
-    public Date getCoopAgreeDate(){
-        return coopAgreeDate;
+    public Date getCoopAgreeBeforeDate(){
+        return coopAgreeBeforeDate;
+    }
+
+    public void setCoopAgreeBeforeDate(Date  coopAgreeBeforeDate){
+        this.coopAgreeBeforeDate=coopAgreeBeforeDate;
+    }
+
+    public Date getCoopAgreeEndDate(){
+        return coopAgreeEndDate;
     }
 
-    public void setCoopAgreeDate(Date  coopAgreeDate){
-        this.coopAgreeDate=coopAgreeDate;
+    public void setCoopAgreeEndDate(Date  coopAgreeEndDate){
+        this.coopAgreeEndDate=coopAgreeEndDate;
     }
 
     public String getCoopAgreeImg(){
@@ -69,4 +88,12 @@ public class CooperationAgree  implements  Serializable{
     public void setCreateDate(Date  createDate){
         this.createDate=createDate;
     }
+
+    public String getCoopAgreeIdStr() {
+        return coopAgreeIdStr;
+    }
+
+    public void setCoopAgreeIdStr(String coopAgreeIdStr) {
+        this.coopAgreeIdStr = coopAgreeIdStr;
+    }
 }

+ 79 - 3
watero-rst-core/src/main/java/com.iamberry.rst.core/dm/DealerProduct.java

@@ -1,7 +1,10 @@
 package com.iamberry.rst.core.dm;
 
-import  java.util.Date;
-import  java.io.Serializable;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
 /**
  *  客户产品供应类
  * @author xm
@@ -13,15 +16,32 @@ public class DealerProduct  implements  Serializable{
     private Integer dealProdId;
     //客户id
     private Integer dealerId;
+    //产品id
+    private Integer colorProductId;
     //颜色id
     private Integer colorId;
+    //店铺范围 1:全部店铺  2:部分店铺
+    private Integer dealProdStoreArea;
     //供应价格
     private Integer dealProdPrice;
-    //创建时间'
+    //创建时间
     private Date createDate;
+
+    //产品名称
+    private String productName;
+    //颜色名称
+    private String colorName;
+
     //
     private String dealProdIdStr;
 
+    //客户产品关联店铺id拼接值
+    private String dealerProductStoreIds;
+    //客户产品关联店铺id拼接值
+    private String dealerProductStoreName;
+    //客户产品关联店铺集合
+    private List<DealerProductStore> dealerProductStoreList = new ArrayList<>();
+
     public Integer getDealProdId(){
         return dealProdId;
     }
@@ -69,4 +89,60 @@ public class DealerProduct  implements  Serializable{
     public void setDealProdIdStr(String dealProdIdStr) {
         this.dealProdIdStr = dealProdIdStr;
     }
+
+    public List<DealerProductStore> getDealerProductStoreList() {
+        return dealerProductStoreList;
+    }
+
+    public void setDealerProductStoreList(List<DealerProductStore> dealerProductStoreList) {
+        this.dealerProductStoreList = dealerProductStoreList;
+    }
+
+    public Integer getColorProductId() {
+        return colorProductId;
+    }
+
+    public void setColorProductId(Integer colorProductId) {
+        this.colorProductId = colorProductId;
+    }
+
+    public String getDealerProductStoreIds() {
+        return dealerProductStoreIds;
+    }
+
+    public void setDealerProductStoreIds(String dealerProductStoreIds) {
+        this.dealerProductStoreIds = dealerProductStoreIds;
+    }
+
+    public String getProductName() {
+        return productName;
+    }
+
+    public void setProductName(String productName) {
+        this.productName = productName;
+    }
+
+    public String getColorName() {
+        return colorName;
+    }
+
+    public void setColorName(String colorName) {
+        this.colorName = colorName;
+    }
+
+    public Integer getDealProdStoreArea() {
+        return dealProdStoreArea;
+    }
+
+    public void setDealProdStoreArea(Integer dealProdStoreArea) {
+        this.dealProdStoreArea = dealProdStoreArea;
+    }
+
+    public String getDealerProductStoreName() {
+        return dealerProductStoreName;
+    }
+
+    public void setDealerProductStoreName(String dealerProductStoreName) {
+        this.dealerProductStoreName = dealerProductStoreName;
+    }
 }

+ 25 - 5
watero-rst-core/src/main/java/com.iamberry.rst.core/dm/DealerProductStore.java

@@ -11,9 +11,13 @@ public class DealerProductStore  implements  Serializable{
     //关联主键
     private Integer productStoreId;
     //客户产品供应id
-    private Integer prodSuppId;
+    private Integer dealProdId;
     //店铺id'
     private Integer storeId;
+    //店铺id'
+    private String storeName;
+    //在添加页面的状态 1:选中  2:未选中
+    private Integer productStoreIsSelect;
 
     public Integer getProductStoreId(){
         return productStoreId;
@@ -23,12 +27,12 @@ public class DealerProductStore  implements  Serializable{
         this.productStoreId=productStoreId;
     }
 
-    public Integer getProdSuppId(){
-        return prodSuppId;
+    public Integer getDealProdId() {
+        return dealProdId;
     }
 
-    public void setProdSuppId(Integer  prodSuppId){
-        this.prodSuppId=prodSuppId;
+    public void setDealProdId(Integer dealProdId) {
+        this.dealProdId = dealProdId;
     }
 
     public Integer getStoreId(){
@@ -38,4 +42,20 @@ public class DealerProductStore  implements  Serializable{
     public void setStoreId(Integer  storeId){
         this.storeId=storeId;
     }
+
+    public Integer getProductStoreIsSelect() {
+        return productStoreIsSelect;
+    }
+
+    public void setProductStoreIsSelect(Integer productStoreIsSelect) {
+        this.productStoreIsSelect = productStoreIsSelect;
+    }
+
+    public String getStoreName() {
+        return storeName;
+    }
+
+    public void setStoreName(String storeName) {
+        this.storeName = storeName;
+    }
 }

+ 47 - 2
watero-rst-core/src/main/java/com.iamberry.rst.core/dm/DmDealer.java

@@ -1,13 +1,17 @@
 package com.iamberry.rst.core.dm;
 
-import  java.util.Date;
-import  java.io.Serializable;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
 /**
  *  客户基本信息-经销商类
  * @author xm
  * @Date 2019-07-22
  */
 public class DmDealer  implements  Serializable{
+    private static final long serialVersionUID = -7802205362994796073L;
     //客户id
     private Integer dealerId;
     //客户名称
@@ -33,6 +37,15 @@ public class DmDealer  implements  Serializable{
     //修改时间'
     private Date updateDate;
 
+    //对接人
+    private List<DealerContact> dealerContactList = new ArrayList<>();
+    //渠道
+    private List<DealerChannel> dealerChannelList = new ArrayList<>();
+    //产品
+    private  List<DealerProduct> dealerProductList  = new ArrayList<>();
+    //合作协议
+    private  List<CooperationAgree> cooperationAgreeList  = new ArrayList<>();
+
     public Integer getDealerId(){
         return dealerId;
     }
@@ -128,4 +141,36 @@ public class DmDealer  implements  Serializable{
     public void setUpdateDate(Date  updateDate){
         this.updateDate=updateDate;
     }
+
+    public List<DealerContact> getDealerContactList() {
+        return dealerContactList;
+    }
+
+    public void setDealerContactList(List<DealerContact> dealerContactList) {
+        this.dealerContactList = dealerContactList;
+    }
+
+    public List<DealerChannel> getDealerChannelList() {
+        return dealerChannelList;
+    }
+
+    public void setDealerChannelList(List<DealerChannel> dealerChannelList) {
+        this.dealerChannelList = dealerChannelList;
+    }
+
+    public List<DealerProduct> getDealerProductList() {
+        return dealerProductList;
+    }
+
+    public void setDealerProductList(List<DealerProduct> dealerProductList) {
+        this.dealerProductList = dealerProductList;
+    }
+
+    public List<CooperationAgree> getCooperationAgreeList() {
+        return cooperationAgreeList;
+    }
+
+    public void setCooperationAgreeList(List<CooperationAgree> cooperationAgreeList) {
+        this.cooperationAgreeList = cooperationAgreeList;
+    }
 }

+ 21 - 2
watero-rst-core/src/main/java/com.iamberry.rst.core/dm/FinancialReceipt.java

@@ -1,7 +1,10 @@
 package com.iamberry.rst.core.dm;
 
-import  java.util.Date;
-import  java.io.Serializable;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
 /**
  *  财务收款类
  * @author xm
@@ -16,18 +19,26 @@ public class FinancialReceipt  implements  Serializable{
     //认领人
     private Integer frClaimAdminId;
     //认领时间
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
     private Date frClaimDate;
+    //认领状态 1:已认领   2:未认领
+    private Integer frClaimStatus;
     //回款账号
     private String frBank;
     //回款金额
     private Integer frAmount;
     //回款时间
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
     private Date frDate;
     //备注
     private String frRemake;
     //创建人
     private Integer createAdminId;
     //创建时间'
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
     private Date createDate;
 
     public Integer getFrId(){
@@ -109,4 +120,12 @@ public class FinancialReceipt  implements  Serializable{
     public void setCreateDate(Date  createDate){
         this.createDate=createDate;
     }
+
+    public Integer getFrClaimStatus() {
+        return frClaimStatus;
+    }
+
+    public void setFrClaimStatus(Integer frClaimStatus) {
+        this.frClaimStatus = frClaimStatus;
+    }
 }

+ 9 - 14
watero-rst-interface/src/main/java/com/iamberry/rst/faces/dm/CooperationAgreeService.java

@@ -7,7 +7,7 @@ import java.util.List;
 /**
  *  合作协议接口
  * @author xm
- * @Date 2019-07-19
+ * @Date 2019-07-30
  */
 public interface CooperationAgreeService {
     /**
@@ -15,29 +15,24 @@ public interface CooperationAgreeService {
      * @param  cooperationAgree
      * @return List
      */
-    List<CooperationAgree> getCooperationAgreeList(CooperationAgree  cooperationAgree);
+    List<CooperationAgree>  getCooperationAgreeList(CooperationAgree  cooperationAgree);
     /**
      * 查询单条数据
      * @param  id
      * @return  cooperationAgree
      */
     CooperationAgree  getCooperationAgreeById(Integer  id);
+
     /**
-     * 增加数据
-     * @param  cooperationAgree
-     * @return Integer
-     */
-    Integer  save(CooperationAgree  cooperationAgree);
-    /**
-     * 修改数据
-     * @param  cooperationAgree
+     * 增加数据 <集合>
+     * @param  cooperationAgreeList
      * @return Integer
      */
-    Integer  update(CooperationAgree  cooperationAgree);
+    Integer  saveList(List<CooperationAgree>  cooperationAgreeList);
     /**
-     * 删除数据
-     * @param  id
+     * 修改数据 <集合>
+     * @param  cooperationAgreeList
      * @return Integer
      */
-    Integer  delete(Integer  id);
+    Integer  updateList(List<CooperationAgree>  cooperationAgreeList);
 }

+ 1 - 6
watero-rst-interface/src/main/java/com/iamberry/rst/faces/dm/DealerChannelService.java

@@ -22,12 +22,7 @@ public interface DealerChannelService {
      * @return  dealerChannel
      */
     DealerChannel  getDealerChannelById(Integer  id);
-    /**
-     * 删除数据
-     * @param  id
-     * @return Integer
-     */
-    Integer  delete(Integer  id);
+
     /**
      * 增加数据 <集合>
      * @param  dealerChannelList

+ 1 - 6
watero-rst-interface/src/main/java/com/iamberry/rst/faces/dm/DealerContactService.java

@@ -22,12 +22,7 @@ public interface DealerContactService {
      * @return  dealerContact
      */
     DealerContact  getDealerContactById(Integer  id);
-    /**
-     * 删除数据
-     * @param  id
-     * @return Integer
-     */
-    Integer  delete(Integer  id);
+
     /**
      * 增加数据 <集合>
      * @param  dealerContactList

+ 1 - 6
watero-rst-interface/src/main/java/com/iamberry/rst/faces/dm/DealerProductService.java

@@ -22,12 +22,7 @@ public interface DealerProductService {
      * @return  dealerProduct
      */
     DealerProduct  getDealerProductById(Integer  id);
-    /**
-     * 删除数据
-     * @param  id
-     * @return Integer
-     */
-    Integer  delete(Integer  id);
+
     /**
      * 增加数据 <集合>
      * @param  dealerProductList

+ 1 - 6
watero-rst-interface/src/main/java/com/iamberry/rst/faces/dm/DealerProductStoreService.java

@@ -22,12 +22,7 @@ public interface DealerProductStoreService {
      * @return  dealerProductStore
      */
     DealerProductStore  getDealerProductStoreById(Integer  id);
-    /**
-     * 删除数据
-     * @param  id
-     * @return Integer
-     */
-    Integer  delete(Integer  id);
+
     /**
      * 增加数据 <集合>
      * @param  dealerProductStoreList

+ 6 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/dm/DmDealerService.java

@@ -20,6 +20,12 @@ public interface DmDealerService {
     List<DmDealer> getDmDealerList(DmDealer  dmDealer);
     /**
      * 获取集合
+     * @param  dmDealer
+     * @return List
+     */
+    List<DmDealer> getDmDealerListToFr(DmDealer  dmDealer);
+    /**
+     * 获取集合
      * @param  pageRequest
      * @return List
      */

+ 8 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/dm/FinancialReceiptService.java

@@ -1,6 +1,8 @@
 package com.iamberry.rst.faces.dm;
 
 import com.iamberry.rst.core.dm.FinancialReceipt;
+import com.iamberry.rst.core.page.PageRequest;
+import com.iamberry.rst.core.page.PagedResult;
 
 import java.util.List;
 
@@ -17,6 +19,12 @@ public interface FinancialReceiptService {
      */
     List<FinancialReceipt> getFinancialReceiptList(FinancialReceipt  financialReceipt);
     /**
+     * 获取集合
+     * @param  pageRequest
+     * @return List
+     */
+    PagedResult<FinancialReceipt> listFinancialReceiptPage(PageRequest<FinancialReceipt> pageRequest);
+    /**
      * 查询单条数据
      * @param  id
      * @return  financialReceipt

+ 2 - 1
watero-rst-interface/src/main/java/com/iamberry/rst/faces/product/ProductService.java

@@ -1,7 +1,6 @@
 package com.iamberry.rst.faces.product;
 
 import com.iamberry.rst.core.cm.FittingsInfo;
-import com.iamberry.rst.core.order.OrderBatch;
 import com.iamberry.rst.core.order.Product;
 import com.iamberry.rst.core.order.ProductColor;
 import com.iamberry.rst.core.order.ProductType;
@@ -123,6 +122,8 @@ public interface ProductService {
 
     PagedResult<Product> listProductPage(int pageNO, int pageSize, Product  product, boolean isTotalNum);
 
+    PagedResult<ProductColor> listProductPage(int pageNO, int pageSize, ProductColor  productColor, boolean isTotalNum);
+
     /**
      * 增加数据
      * @param  product

+ 14 - 22
watero-rst-service/src/main/java/com/iamberry/rst/service/dm/CooperationAgreeServiceImpl.java

@@ -11,19 +11,19 @@ import java.util.List;
 /**
  *  合作协议接口
  * @author xm
- * @Date 2019-07-19
+ * @Date 2019-07-30
  */
 @Service
-public class CooperationAgreeServiceImpl  implements CooperationAgreeService {
+public class CooperationAgreeServiceImpl  implements  CooperationAgreeService {
     @Autowired
-    private CooperationAgreeMapper cooperationAgreeMapper;
+    private  CooperationAgreeMapper  cooperationAgreeMapper;
     /**
      * 获取集合
      * @param  cooperationAgree
      * @return List
      */
     @Override
-    public List<CooperationAgree> getCooperationAgreeList(CooperationAgree  cooperationAgree){
+    public  List<CooperationAgree>  getCooperationAgreeList(CooperationAgree  cooperationAgree){
         return  cooperationAgreeMapper.getCooperationAgreeList(cooperationAgree);
     }
     /**
@@ -35,31 +35,23 @@ public class CooperationAgreeServiceImpl  implements CooperationAgreeService {
     public  CooperationAgree  getCooperationAgreeById(Integer  id){
         return  cooperationAgreeMapper.getCooperationAgreeById(id);
     }
+
     /**
-     * 增加数据
-     * @param  cooperationAgree
-     * @return Integer
-     */
-    @Override
-    public  Integer  save(CooperationAgree  cooperationAgree){
-        return  cooperationAgreeMapper.save(cooperationAgree);
-    }
-    /**
-     * 修改数据
-     * @param  cooperationAgree
+     * 增加数据 <集合>
+     * @param  cooperationAgreeList
      * @return Integer
      */
     @Override
-    public  Integer  update(CooperationAgree  cooperationAgree){
-        return  cooperationAgreeMapper.update(cooperationAgree);
+    public  Integer  saveList(List<CooperationAgree>  cooperationAgreeList){
+        return  cooperationAgreeMapper.saveList(cooperationAgreeList);
     }
     /**
-     * 删除数据
-     * @param  id
+     * 修改数据 <集合>
+     * @param  cooperationAgreeList
      * @return Integer
      */
     @Override
-    public  Integer  delete(Integer  id){
-        return  cooperationAgreeMapper.delete(id);
+    public  Integer  updateList(List<CooperationAgree>  cooperationAgreeList){
+        return  cooperationAgreeMapper.updateList(cooperationAgreeList);
     }
-}
+}

+ 1 - 9
watero-rst-service/src/main/java/com/iamberry/rst/service/dm/DealerChannelServiceImpl.java

@@ -35,15 +35,7 @@ public class DealerChannelServiceImpl  implements DealerChannelService {
     public  DealerChannel  getDealerChannelById(Integer  id){
         return  dealerChannelMapper.getDealerChannelById(id);
     }
-    /**
-     * 删除数据
-     * @param  id
-     * @return Integer
-     */
-    @Override
-    public  Integer  delete(Integer  id){
-        return  dealerChannelMapper.delete(id);
-    }
+
     /**
      * 增加数据 <集合>
      * @param  dealerChannelList

+ 1 - 9
watero-rst-service/src/main/java/com/iamberry/rst/service/dm/DealerContactServiceImpl.java

@@ -35,15 +35,7 @@ public class DealerContactServiceImpl  implements DealerContactService {
     public  DealerContact  getDealerContactById(Integer  id){
         return  dealerContactMapper.getDealerContactById(id);
     }
-    /**
-     * 删除数据
-     * @param  id
-     * @return Integer
-     */
-    @Override
-    public  Integer  delete(Integer  id){
-        return  dealerContactMapper.delete(id);
-    }
+
     /**
      * 增加数据 <集合>
      * @param  dealerContactList

+ 1 - 9
watero-rst-service/src/main/java/com/iamberry/rst/service/dm/DealerProductServiceImpl.java

@@ -35,15 +35,7 @@ public class DealerProductServiceImpl  implements DealerProductService {
     public  DealerProduct  getDealerProductById(Integer  id){
         return  dealerProductMapper.getDealerProductById(id);
     }
-    /**
-     * 删除数据
-     * @param  id
-     * @return Integer
-     */
-    @Override
-    public  Integer  delete(Integer  id){
-        return  dealerProductMapper.delete(id);
-    }
+
     /**
      * 增加数据 <集合>
      * @param  dealerProductList

+ 1 - 9
watero-rst-service/src/main/java/com/iamberry/rst/service/dm/DealerProductStoreServiceImpl.java

@@ -35,15 +35,7 @@ public class DealerProductStoreServiceImpl  implements DealerProductStoreService
     public  DealerProductStore  getDealerProductStoreById(Integer  id){
         return  dealerProductStoreMapper.getDealerProductStoreById(id);
     }
-    /**
-     * 删除数据
-     * @param  id
-     * @return Integer
-     */
-    @Override
-    public  Integer  delete(Integer  id){
-        return  dealerProductStoreMapper.delete(id);
-    }
+
     /**
      * 增加数据 <集合>
      * @param  dealerProductStoreList

+ 194 - 5
watero-rst-service/src/main/java/com/iamberry/rst/service/dm/DmDealerServiceImpl.java

@@ -1,17 +1,19 @@
 package com.iamberry.rst.service.dm;
 
 import com.github.pagehelper.PageHelper;
-import com.iamberry.rst.core.customer.CustomerBasicInfo;
-import com.iamberry.rst.core.dm.DmDealer;
+import com.iamberry.rst.core.dm.*;
 import com.iamberry.rst.core.page.PageRequest;
 import com.iamberry.rst.core.page.PagedResult;
 import com.iamberry.rst.faces.dm.DmDealerService;
-import com.iamberry.rst.service.dm.mapper.DmDealerMapper;
+import com.iamberry.rst.service.dm.mapper.*;
 import com.iamberry.rst.util.PageUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
 import java.util.List;
+import java.util.Objects;
 
 /**
  *  客户基本信息-经销商接口
@@ -22,6 +24,16 @@ import java.util.List;
 public class DmDealerServiceImpl  implements DmDealerService {
     @Autowired
     private DmDealerMapper dmDealerMapper;
+    @Autowired
+    private DealerContactMapper dealerContactMapper;
+    @Autowired
+    private DealerProductMapper dealerProductMapper;
+    @Autowired
+    private DealerProductStoreMapper dealerProductStoreMapper;
+    @Autowired
+    private DealerChannelMapper dealerChannelMapper;
+    @Autowired
+    private CooperationAgreeMapper cooperationAgreeMapper;
     /**
      * 获取集合
      * @param  dmDealer
@@ -33,6 +45,11 @@ public class DmDealerServiceImpl  implements DmDealerService {
     }
 
     @Override
+    public List<DmDealer> getDmDealerListToFr(DmDealer dmDealer) {
+        return  dmDealerMapper.getDmDealerListToFr(dmDealer);
+    }
+
+    @Override
     public PagedResult<DmDealer> listDmDealerPage(PageRequest<DmDealer> pageRequest) {
         PageHelper.startPage(pageRequest.getPageNO(), pageRequest.getPageSize(), pageRequest.isPageTotal());
         List<DmDealer> dmDealerList = dmDealerMapper.getDmDealerList(pageRequest.getData());
@@ -54,8 +71,89 @@ public class DmDealerServiceImpl  implements DmDealerService {
      * @return Integer
      */
     @Override
+    @Transactional
     public  Integer  save(DmDealer  dmDealer){
-        return  dmDealerMapper.save(dmDealer);
+        Integer flag = dmDealerMapper.save(dmDealer);
+        if(flag < 1){
+            throw new RuntimeException("添加客户信息失败");
+        }
+
+        if(dmDealer.getDealerContactList().size() > 0){
+            for (DealerContact dealerContact:dmDealer.getDealerContactList()) {
+                dealerContact.setDealerId(dmDealer.getDealerId());
+            }
+            flag = dealerContactMapper.saveList(dmDealer.getDealerContactList());
+            if(flag < 1){
+                throw new RuntimeException("添加对接人信息失败");
+            }
+        }
+
+        if(dmDealer.getDealerChannelList().size() > 0){
+            for (DealerChannel dealerChannel:dmDealer.getDealerChannelList()) {
+                dealerChannel.setDealerId(dmDealer.getDealerId());
+            }
+            flag = dealerChannelMapper.saveList(dmDealer.getDealerChannelList());
+            if(flag < 1){
+                throw new RuntimeException("添加渠道信息失败");
+            }
+        }
+
+        if(dmDealer.getDealerProductList().size() > 0){
+            for (DealerProduct dealerProduct:dmDealer.getDealerProductList()) {
+                dealerProduct.setDealerId(dmDealer.getDealerId());
+            }
+            flag = dealerProductMapper.saveList(dmDealer.getDealerProductList());
+            if(flag < 1){
+                throw new RuntimeException("添加供应产品信息失败");
+            }
+
+            DealerProduct  dp = new DealerProduct();
+            dp.setDealerId(dmDealer.getDealerId());
+            List<DealerProduct> dealerProductList = dealerProductMapper.getDealerProductList(dp);
+            for (DealerProduct dp1:dmDealer.getDealerProductList()) {
+                for (DealerProduct dp2:dealerProductList) {
+                    if(Objects.equals(dp1.getColorId(), dp2.getColorId())){
+                        dp1.setDealProdId(dp2.getDealProdId());
+                    }
+                }
+            }
+
+            boolean isHasStore = false;
+            List<DealerProductStore> dealerProductStoreList = new ArrayList<>();
+            for (DealerProduct dealerProduct:dmDealer.getDealerProductList()) {
+                if(dealerProduct.getDealProdStoreArea() == 2){   //1:全部店铺  2:部分店铺
+                    String[] storeIds = dealerProduct.getDealerProductStoreIds().split(",");
+                    for (String storeid:storeIds) {
+                        DealerProductStore dealerProductStore = new DealerProductStore();
+                        dealerProductStore.setStoreId(Integer.valueOf(storeid));
+                        dealerProductStore.setDealProdId(dealerProduct.getDealProdId());//prodSuppId
+                        dealerProductStoreList.add(dealerProductStore);
+                    }
+                    isHasStore = true;
+                }
+            }
+            if(isHasStore){
+                if(dealerProductStoreList.size() > 0){
+                    flag = dealerProductStoreMapper.saveList(dealerProductStoreList);
+                    if(flag < 1){
+                        throw new RuntimeException("添加供应产品对应店铺信息失败");
+                    }
+                }else{
+                    throw new RuntimeException("添加供应产品对应店铺信息失败-关联店铺失败");
+                }
+            }
+        }
+
+        if(dmDealer.getCooperationAgreeList().size() > 0){
+            for (CooperationAgree cooperationAgree:dmDealer.getCooperationAgreeList()) {
+                cooperationAgree.setDealerId(dmDealer.getDealerId());
+            }
+            flag = cooperationAgreeMapper.saveList(dmDealer.getCooperationAgreeList());
+            if(flag < 1){
+                throw new RuntimeException("添加合作协议失败");
+            }
+        }
+        return flag;
     }
     /**
      * 修改数据
@@ -63,8 +161,99 @@ public class DmDealerServiceImpl  implements DmDealerService {
      * @return Integer
      */
     @Override
+    @Transactional
     public  Integer  update(DmDealer  dmDealer){
-        return  dmDealerMapper.update(dmDealer);
+        Integer flag = dmDealerMapper.update(dmDealer);
+        if(flag < 1){
+            throw new RuntimeException("修改客户信息失败");
+        }
+
+        if(dmDealer.getDealerContactList().size() > 0){
+            dealerContactMapper.deleteByDealerId(dmDealer.getDealerId());
+
+            for (DealerContact dealerContact:dmDealer.getDealerContactList()) {
+                dealerContact.setDealerId(dmDealer.getDealerId());
+            }
+            flag = dealerContactMapper.saveList(dmDealer.getDealerContactList());
+            if(flag < 1){
+                throw new RuntimeException("添加对接人信息失败");
+            }
+        }
+
+        if(dmDealer.getDealerChannelList().size() > 0){
+            dealerChannelMapper.deleteByDealerId(dmDealer.getDealerId());
+            for (DealerChannel dealerChannel:dmDealer.getDealerChannelList()) {
+                dealerChannel.setDealerId(dmDealer.getDealerId());
+            }
+            flag = dealerChannelMapper.saveList(dmDealer.getDealerChannelList());
+            if(flag < 1){
+                throw new RuntimeException("添加渠道信息失败");
+            }
+        }
+
+        if(dmDealer.getDealerProductList().size() > 0){
+            dealerProductMapper.deleteByDealerId(dmDealer.getDealerId());
+
+            for (DealerProduct dealerProduct:dmDealer.getDealerProductList()) {
+                dealerProduct.setDealerId(dmDealer.getDealerId());
+            }
+            flag = dealerProductMapper.saveList(dmDealer.getDealerProductList());
+            if(flag < 1){
+                throw new RuntimeException("添加供应产品信息失败");
+            }
+
+            DealerProduct  dp = new DealerProduct();
+            dp.setDealerId(dmDealer.getDealerId());
+            List<DealerProduct> dealerProductList = dealerProductMapper.getDealerProductList(dp);
+            for (DealerProduct dp1:dmDealer.getDealerProductList()) {
+                for (DealerProduct dp2:dealerProductList) {
+                    if(Objects.equals(dp1.getColorId(), dp2.getColorId())){
+                        dp1.setDealProdId(dp2.getDealProdId());
+                    }
+                }
+            }
+
+            for (DealerProduct dp2:dealerProductList) {
+                dealerProductStoreMapper.deleteByDealProdId(dp2.getDealProdId());
+            }
+
+            boolean isHasStore = false;
+            List<DealerProductStore> dealerProductStoreList = new ArrayList<>();
+            for (DealerProduct dealerProduct:dmDealer.getDealerProductList()) {
+                if(dealerProduct.getDealProdStoreArea() == 2){   //1:全部店铺  2:部分店铺
+                    String[] storeIds = dealerProduct.getDealerProductStoreIds().split(",");
+                    for (String storeid:storeIds) {
+                        DealerProductStore dealerProductStore = new DealerProductStore();
+                        dealerProductStore.setStoreId(Integer.valueOf(storeid));
+                        dealerProductStore.setDealProdId(dealerProduct.getDealProdId());//prodSuppId
+                        dealerProductStoreList.add(dealerProductStore);
+                    }
+                    isHasStore = true;
+                }
+            }
+            if(isHasStore){
+                if(dealerProductStoreList.size() > 0){
+                    flag = dealerProductStoreMapper.saveList(dealerProductStoreList);
+                    if(flag < 1){
+                        throw new RuntimeException("添加供应产品对应店铺信息失败");
+                    }
+                }else{
+                    throw new RuntimeException("添加供应产品对应店铺信息失败-关联店铺失败");
+                }
+            }
+        }
+
+        if(dmDealer.getCooperationAgreeList().size() > 0){
+            cooperationAgreeMapper.deleteByDealerId(dmDealer.getDealerId());
+            for (CooperationAgree cooperationAgree:dmDealer.getCooperationAgreeList()) {
+                cooperationAgree.setDealerId(dmDealer.getDealerId());
+            }
+            flag = cooperationAgreeMapper.saveList(dmDealer.getCooperationAgreeList());
+            if(flag < 1){
+                throw new RuntimeException("添加合作协议失败");
+            }
+        }
+        return flag;
     }
 
 }

+ 12 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/dm/FinancialReceiptServiceImpl.java

@@ -1,8 +1,12 @@
 package com.iamberry.rst.service.dm;
 
+import com.github.pagehelper.PageHelper;
 import com.iamberry.rst.core.dm.FinancialReceipt;
+import com.iamberry.rst.core.page.PageRequest;
+import com.iamberry.rst.core.page.PagedResult;
 import com.iamberry.rst.faces.dm.FinancialReceiptService;
 import com.iamberry.rst.service.dm.mapper.FinancialReceiptMapper;
+import com.iamberry.rst.util.PageUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -26,6 +30,14 @@ public class FinancialReceiptServiceImpl  implements FinancialReceiptService {
     public List<FinancialReceipt> getFinancialReceiptList(FinancialReceipt  financialReceipt){
         return  financialReceiptMapper.getFinancialReceiptList(financialReceipt);
     }
+
+    @Override
+    public PagedResult<FinancialReceipt> listFinancialReceiptPage(PageRequest<FinancialReceipt> pageRequest) {
+        PageHelper.startPage(pageRequest.getPageNO(), pageRequest.getPageSize(), pageRequest.isPageTotal());
+        List<FinancialReceipt> financialReceiptList = financialReceiptMapper.getFinancialReceiptList(pageRequest.getData());
+        return PageUtil.getPage(financialReceiptList);
+    }
+
     /**
      * 查询单条数据
      * @param  id

+ 11 - 11
watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/CooperationAgreeMapper.java

@@ -7,7 +7,7 @@ import java.util.List;
 /**
  *  合作协议接口
  * @author xm
- * @Date 2019-07-19
+ * @Date 2019-07-30
  */
 public interface CooperationAgreeMapper {
     /**
@@ -15,7 +15,7 @@ public interface CooperationAgreeMapper {
      * @param  cooperationAgree
      * @return List
      */
-    List<CooperationAgree> getCooperationAgreeList(CooperationAgree  cooperationAgree);
+    List<CooperationAgree>  getCooperationAgreeList(CooperationAgree  cooperationAgree);
     /**
      * 查询单条数据
      * @param  id
@@ -23,21 +23,21 @@ public interface CooperationAgreeMapper {
      */
     CooperationAgree  getCooperationAgreeById(Integer  id);
     /**
-     * 增加数据
-     * @param  cooperationAgree
+     * 删除数据
+     * @param  id
      * @return Integer
      */
-    Integer  save(CooperationAgree  cooperationAgree);
+    Integer  deleteByDealerId(Integer  id);
     /**
-     * 修改数据
-     * @param  cooperationAgree
+     * 增加数据 <集合>
+     * @param  cooperationAgreeList
      * @return Integer
      */
-    Integer  update(CooperationAgree  cooperationAgree);
+    Integer  saveList(List<CooperationAgree>  cooperationAgreeList);
     /**
-     * 删除数据
-     * @param  id
+     * 修改数据 <集合>
+     * @param  cooperationAgreeList
      * @return Integer
      */
-    Integer  delete(Integer  id);
+    Integer  updateList(List<CooperationAgree>  cooperationAgreeList);
 }

+ 1 - 1
watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/DealerChannelMapper.java

@@ -27,7 +27,7 @@ public interface DealerChannelMapper {
      * @param  id
      * @return Integer
      */
-    Integer  delete(Integer  id);
+    Integer  deleteByDealerId(Integer  id);
     /**
      * 增加数据 <集合>
      * @param  dealerChannelList

+ 1 - 1
watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/DealerContactMapper.java

@@ -27,7 +27,7 @@ public interface DealerContactMapper {
      * @param  id
      * @return Integer
      */
-    Integer  delete(Integer  id);
+    Integer  deleteByDealerId(Integer  id);
     /**
      * 增加数据 <集合>
      * @param  dealerContactList

+ 1 - 1
watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/DealerProductMapper.java

@@ -27,7 +27,7 @@ public interface DealerProductMapper {
      * @param  id
      * @return Integer
      */
-    Integer  delete(Integer  id);
+    Integer  deleteByDealerId(Integer  id);
     /**
      * 增加数据 <集合>
      * @param  dealerProductList

+ 1 - 1
watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/DealerProductStoreMapper.java

@@ -27,7 +27,7 @@ public interface DealerProductStoreMapper {
      * @param  id
      * @return Integer
      */
-    Integer  delete(Integer  id);
+    Integer  deleteByDealProdId(Integer  id);
     /**
      * 增加数据 <集合>
      * @param  dealerProductStoreList

+ 6 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/DmDealerMapper.java

@@ -17,6 +17,12 @@ public interface DmDealerMapper {
      */
     List<DmDealer> getDmDealerList(DmDealer  dmDealer);
     /**
+     * 获取集合
+     * @param  dmDealer
+     * @return List
+     */
+    List<DmDealer> getDmDealerListToFr(DmDealer  dmDealer);
+    /**
      * 查询单条数据
      * @param  id
      * @return  dmDealer

+ 44 - 33
watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/cooperationAgreeMapper.xml

@@ -4,7 +4,8 @@
     <resultMap  id="BaseResultMap" type="CooperationAgree" >
         <result    column="coop_agree_id"    property="coopAgreeId" />
         <result    column="dealer_id"    property="dealerId" />
-        <result    column="coop_agree_date"    property="coopAgreeDate" />
+        <result    column="coop_agree_before_date"    property="coopAgreeBeforeDate" />
+        <result    column="coop_agree_end_date"    property="coopAgreeEndDate" />
         <result    column="coop_agree_img"    property="coopAgreeImg" />
         <result    column="coop_agree_remake"    property="coopAgreeRemake" />
         <result    column="create_date"    property="createDate" />
@@ -12,7 +13,8 @@
     <sql    id="Base_List" >
         t.coop_agree_id,
         t.dealer_id,
-        t.coop_agree_date,
+        t.coop_agree_before_date,
+        t.coop_agree_end_date,
         t.coop_agree_img,
         t.coop_agree_remake,
         t.create_date
@@ -36,45 +38,54 @@
         from tb_rst_dm_cooperation_agree t
         where t.coop_agree_id= #{coopAgreeId}
     </select>
-    <insert id="save" parameterType="CooperationAgree" >
+    <delete id="deleteByDealerId" parameterType="Integer" >
+        delete FROM
+        tb_rst_dm_cooperation_agree
+        where dealer_id = #{dealerId}
+    </delete>
+    <insert id="saveList" parameterType="java.util.List" >
         insert into
         tb_rst_dm_cooperation_agree
         (
         dealer_id,
-        coop_agree_date,
+        coop_agree_before_date,
+        coop_agree_end_date,
         coop_agree_img,
         coop_agree_remake
         )
         values
-        (
-        #{dealerId},
-        #{coopAgreeDate},
-        #{coopAgreeImg},
-        #{coopAgreeRemake}
-        )
+        <foreach collection="list" item="node" index="index" separator="," open="" close="">
+            (
+            #{node.dealerId},
+            #{node.coopAgreeBeforeDate},
+            #{node.coopAgreeEndDate},
+            #{node.coopAgreeImg},
+            #{node.coopAgreeRemake}
+            )
+        </foreach >
     </insert>
-    <update id="update" parameterType="CooperationAgree" >
-        update
-        tb_rst_dm_cooperation_agree
-        <set >
-            <if test="dealerId != null ">
-                dealer_id = #{dealerId},
-            </if >
-            <if test="coopAgreeDate != null and coopAgreeDate != ''">
-                coop_agree_date = #{coopAgreeDate},
-            </if >
-            <if test="coopAgreeImg != null and coopAgreeImg != ''">
-                coop_agree_img = #{coopAgreeImg},
-            </if >
-            <if test="coopAgreeRemake != null and coopAgreeRemake != ''">
-                coop_agree_remake = #{coopAgreeRemake},
-            </if >
-        </set >
-        where coop_agree_id= #{coopAgreeId}
+    <update id="updateList" parameterType="java.util.List" >
+        <foreach collection="list" item="node" index="index" separator="," open="" close="">
+            update
+            tb_rst_dm_cooperation_agree
+            <set >
+                <if test="node.dealerId != null ">
+                    dealer_id = #{node.dealerId},
+                </if >
+                <if test="node.coopAgreeBeforeDate != null and node.coopAgreeBeforeDate != ''">
+                    coop_agree_before_date = #{node.coopAgreeBeforeDate},
+                </if >
+                <if test="node.coopAgreeEndDate != null and node.coopAgreeEndDate != ''">
+                    coop_agree_end_date = #{node.coopAgreeEndDate},
+                </if >
+                <if test="node.coopAgreeImg != null and node.coopAgreeImg != ''">
+                    coop_agree_img = #{node.coopAgreeImg},
+                </if >
+                <if test="node.coopAgreeRemake != null and node.coopAgreeRemake != ''">
+                    coop_agree_remake = #{node.coopAgreeRemake},
+                </if >
+            </set >
+            where coop_agree_id= #{node.coopAgreeId}
+        </foreach >
     </update>
-    <delete id="delete" parameterType="Integer" >
-        delete
-        tb_rst_dm_cooperation_agree
-        where coop_agree_id=#{coopAgreeId}
-    </delete>
 </mapper>

+ 10 - 4
watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/dealerChannelMapper.xml

@@ -19,8 +19,14 @@
     </sql>
     <select id="getDealerChannelList" resultMap="BaseResultMap" parameterType="DealerChannel" >
         select
-        <include refid="Base_List" />
+        <include refid="Base_List" />,
+        si.store_name,
+        dc.channel_name,
+        dct.channel_type_name
         from tb_rst_dm_dealer_channel t
+        LEFT JOIN tb_rst_store_info si ON  t.store_id = si.store_id
+        LEFT JOIN tb_rst_dm_channel dc ON  t.channel_id = dc.channel_id
+        LEFT JOIN tb_rst_dm_channel_type dct ON  dc.channel_type_id = dct.channel_type_id
         <where>
             <if test="dealChannelId != null ">
                 AND t.deal_channel_id = #{dealChannelId}
@@ -42,10 +48,10 @@
         from tb_rst_dm_dealer_channel t
         where t.deal_channel_id= #{dealChannelId}
     </select>
-    <delete id="delete" parameterType="Integer" >
-        delete
+    <delete id="deleteByDealerId" parameterType="Integer" >
+        delete FROM
         tb_rst_dm_dealer_channel
-        where deal_channel_id=#{dealChannelId}
+        where dealer_id = #{dealerId}
     </delete>
     <insert id="saveList" parameterType="java.util.List" >
         insert into

+ 3 - 3
watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/dealerContactMapper.xml

@@ -60,10 +60,10 @@
         from tb_rst_dm_dealer_contact t
         where t.deal_contact_id= #{dealContactId}
     </select>
-    <delete id="delete" parameterType="Integer" >
-        delete
+    <delete id="deleteByDealerId" parameterType="Integer" >
+        delete FROM
         tb_rst_dm_dealer_contact
-        where deal_contact_id=#{dealContactId}
+        where dealer_id = #{dealerId}
     </delete>
     <insert id="saveList" parameterType="java.util.List" >
         insert into

+ 24 - 19
watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/dealerProductMapper.xml

@@ -6,6 +6,7 @@
         <result    column="dealer_id"    property="dealerId" />
         <result    column="color_id"    property="colorId" />
         <result    column="deal_prod_price"    property="dealProdPrice" />
+        <result    column="deal_prod_store_area"    property="dealProdStoreArea" />
         <result    column="create_date"    property="createDate" />
     </resultMap>
     <sql    id="Base_List" >
@@ -13,12 +14,17 @@
         t.dealer_id,
         t.color_id,
         t.deal_prod_price,
+        t.deal_prod_store_area,
         t.create_date
     </sql>
     <select id="getDealerProductList" resultMap="BaseResultMap" parameterType="DealerProduct" >
         select
-        <include refid="Base_List" />
+        <include refid="Base_List" />,
+        pc.color_name,
+        pi.product_name
         from tb_rst_dm_dealer_product t
+        LEFT JOIN tb_rst_product_color pc ON t.color_id = pc.color_id
+        LEFT JOIN tb_rst_product_info pi ON pc.color_product_id = pi.product_id
         <where>
             <if test="dealProdId != null ">
                 AND t.deal_prod_id = #{dealProdId}
@@ -32,33 +38,32 @@
             <if test="dealProdPrice != null ">
                 AND t.deal_prod_price = #{dealProdPrice}
             </if >
+            <if test="dealProdStoreArea != null ">
+                AND t.deal_prod_store_area = #{dealProdStoreArea}
+            </if >
         </where>
     </select>
-    <select id="getDealerProductById" resultMap="BaseResultMap" parameterType="Integer" >
-        select
-        <include refid="Base_List" />
-        from tb_rst_dm_dealer_product t
-        where t.deal_prod_id= #{dealProdId}
-    </select>
-    <delete id="delete" parameterType="Integer" >
-        delete
+    <delete id="deleteByDealerId" parameterType="Integer" >
+        delete FROM
         tb_rst_dm_dealer_product
-        where deal_prod_id=#{dealProdId}
+        where dealer_id = #{dealerId}
     </delete>
     <insert id="saveList" parameterType="java.util.List" >
         insert into
-        tb_rst_dm_dealer_product
-        (
-        dealer_id,
-        color_id,
-        deal_prod_price
-        )
+            tb_rst_dm_dealer_product
+            (
+                dealer_id,
+                color_id,
+                deal_prod_price,
+                deal_prod_store_area
+            )
         values
         <foreach collection="list" item="node" index="index" separator="," open="" close="">
             (
-            #{node.dealerId},
-            #{node.colorId},
-            #{node.dealProdPrice}
+                #{node.dealerId},
+                #{node.colorId},
+                #{node.dealProdPrice},
+                #{node.dealProdStoreArea}
             )
         </foreach >
     </insert>

+ 12 - 10
watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/dealerProductStoreMapper.xml

@@ -3,24 +3,26 @@
 <mapper namespace="com.iamberry.rst.service.dm.mapper.DealerProductStoreMapper">
     <resultMap  id="BaseResultMap" type="DealerProductStore" >
         <result    column="product_store_id"    property="productStoreId" />
-        <result    column="prod_supp_id"    property="prodSuppId" />
+        <result    column="deal_prod_id"    property="dealProdId" />
         <result    column="store_id"    property="storeId" />
     </resultMap>
     <sql    id="Base_List" >
         t.product_store_id,
-        t.prod_supp_id,
+        t.deal_prod_id,
         t.store_id
     </sql>
     <select id="getDealerProductStoreList" resultMap="BaseResultMap" parameterType="DealerProductStore" >
         select
-        <include refid="Base_List" />
+        <include refid="Base_List" />,
+        si.store_name
         from tb_rst_dm_dealer_product_store t
+        LEFT JOIN  tb_rst_store_info si ON  t.store_id = si.store_id
         <where>
             <if test="productStoreId != null ">
                 AND t.product_store_id = #{productStoreId}
             </if >
-            <if test="prodSuppId != null ">
-                AND t.prod_supp_id = #{prodSuppId}
+            <if test="dealProdId != null ">
+                AND t.deal_prod_id = #{dealProdId}
             </if >
             <if test="storeId != null ">
                 AND t.store_id = #{storeId}
@@ -33,22 +35,22 @@
         from tb_rst_dm_dealer_product_store t
         where t.product_store_id= #{productStoreId}
     </select>
-    <delete id="delete" parameterType="Integer" >
-        delete
+    <delete id="deleteByDealProdId" parameterType="Integer" >
+        delete FROM
         tb_rst_dm_dealer_product_store
-        where product_store_id=#{productStoreId}
+        where deal_prod_id = #{dealProdId}
     </delete>
     <insert id="saveList" parameterType="java.util.List" >
         insert into
         tb_rst_dm_dealer_product_store
         (
-        prod_supp_id,
+        deal_prod_id,
         store_id
         )
         values
         <foreach collection="list" item="node" index="index" separator="," open="" close="">
             (
-            #{node.prodSuppId},
+            #{node.dealProdId},
             #{node.storeId}
             )
         </foreach >

+ 39 - 1
watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/dmDealerMapper.xml

@@ -59,17 +59,54 @@
                 AND t.create_id = #{createId}
             </if >
         </where>
+        ORDER BY t.dealer_id DESC
     </select>
+
+    <select id="getDmDealerListToFr" resultType="DmDealer" parameterType="DmDealer" >
+        select
+          t.dealer_id,
+          t.dealer_name
+        from tb_rst_dm_dealer t
+        <where>
+            <if test="dealerId != null ">
+                AND t.dealer_id = #{dealerId}
+            </if >
+            <if test="dealerName != null and dealerName != ''">
+                AND t.dealer_name  like  CONCAT ('%',#{dealerName},'%')
+            </if >
+            <if test="dealerIndustry != null and dealerIndustry != ''">
+                AND t.dealer_industry  like  CONCAT ('%',#{dealerIndustry},'%')
+            </if >
+            <if test="dealerType != null ">
+                AND t.dealer_type = #{dealerType}
+            </if >
+            <if test="dealerState != null ">
+                AND t.dealer_state = #{dealerState}
+            </if >
+            <if test="dealerSelfOperated != null ">
+                AND t.dealer_self_operated = #{dealerSelfOperated}
+            </if >
+            <if test="dealerStatus != null ">
+                AND t.dealer_status = #{dealerStatus}
+            </if >
+            <if test="createId != null ">
+                AND t.create_id = #{createId}
+            </if >
+        </where>
+        ORDER BY t.dealer_id DESC
+    </select>
+
     <select id="getDmDealerById" resultMap="BaseResultMap" parameterType="Integer" >
         select
         <include refid="Base_List" />
         from tb_rst_dm_dealer t
         where t.dealer_id= #{dealerId}
     </select>
-    <insert id="save" parameterType="DmDealer" >
+    <insert id="save" parameterType="DmDealer" useGeneratedKeys="true"  keyProperty="dealerId">
         insert into
         tb_rst_dm_dealer
         (
+        dealer_id,
         dealer_name,
         dealer_industry,
         dealer_type,
@@ -82,6 +119,7 @@
         )
         values
         (
+        #{dealerId},
         #{dealerName},
         #{dealerIndustry},
         #{dealerType},

+ 1 - 1
watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/dmSupplierMapper.xml

@@ -93,7 +93,7 @@
         where supplier_id= #{supplierId}
     </update>
     <delete id="delete" parameterType="Integer" >
-        delete
+        delete FROM
         tb_rst_dm_supplier
         where supplier_id=#{supplierId}
     </delete>

+ 24 - 13
watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/financialReceiptMapper.xml

@@ -6,6 +6,7 @@
         <result    column="dealer_id"    property="dealerId" />
         <result    column="fr_claim_admin_id"    property="frClaimAdminId" />
         <result    column="fr_claim_date"    property="frClaimDate" />
+        <result    column="fr_claim_status"    property="frClaimStatus" />
         <result    column="fr_bank"    property="frBank" />
         <result    column="fr_amount"    property="frAmount" />
         <result    column="fr_date"    property="frDate" />
@@ -18,6 +19,7 @@
         t.dealer_id,
         t.fr_claim_admin_id,
         t.fr_claim_date,
+        t.fr_claim_status,
         t.fr_bank,
         t.fr_amount,
         t.fr_date,
@@ -39,18 +41,20 @@
             <if test="frClaimAdminId != null ">
                 AND t.fr_claim_admin_id = #{frClaimAdminId}
             </if >
-            <if test="createAdminId != null ">
-                AND t.create_admin_id = #{createAdminId}
+            <if test="frClaimStatus != null ">
+                AND t.fr_claim_status = #{frClaimStatus}
+            </if >
+            <if test="frBank != null and frBank != ''">
+                AND t.fr_bank  like  CONCAT ('%',#{frBank},'%')
+            </if >
+            <if test="frAmount != null ">
+                AND t.fr_amount = #{frAmount}
             </if >
-            <if test="createDate != null and createDate != ''">
-                <![CDATA[
-                    AND t.create_date >= #{beginTime}
-                ]]>
+            <if test="frRemake != null and frRemake != ''">
+                AND t.fr_remake  like  CONCAT ('%',#{frRemake},'%')
             </if >
-            <if test="createDate != null and createDate != ''">
-                <![CDATA[
-                    AND t.create_date <= #{endTime}
-                ]]>
+            <if test="createAdminId != null ">
+                AND t.create_admin_id = #{createAdminId}
             </if >
         </where>
     </select>
@@ -67,20 +71,24 @@
         dealer_id,
         fr_claim_admin_id,
         fr_claim_date,
+        fr_claim_status,
         fr_bank,
         fr_amount,
         fr_date,
-        fr_remake
+        fr_remake,
+        create_admin_id
         )
         values
         (
         #{dealerId},
         #{frClaimAdminId},
         #{frClaimDate},
+        #{frClaimStatus},
         #{frBank},
         #{frAmount},
         #{frDate},
-        #{frRemake}
+        #{frRemake},
+        #{createAdminId}
         )
     </insert>
     <update id="update" parameterType="FinancialReceipt" >
@@ -96,6 +104,9 @@
             <if test="frClaimDate != null and frClaimDate != ''">
                 fr_claim_date = #{frClaimDate},
             </if >
+            <if test="frClaimStatus != null ">
+                fr_claim_status = #{frClaimStatus},
+            </if >
             <if test="frBank != null and frBank != ''">
                 fr_bank = #{frBank},
             </if >
@@ -112,7 +123,7 @@
         where fr_id= #{frId}
     </update>
     <delete id="delete" parameterType="Integer" >
-        delete
+        delete FROM
         tb_rst_dm_financial_receipt
         where fr_id=#{frId}
     </delete>

+ 1 - 1
watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/supplierDirectorMapper.xml

@@ -43,7 +43,7 @@
         where t.sd_id= #{sdId}
     </select>
     <delete id="delete" parameterType="Integer" >
-        delete
+        delete FROM
         tb_rst_dm_supplier_director
         where sd_id=#{sdId}
     </delete>

+ 1 - 1
watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/supplierProductItemMapper.xml

@@ -39,7 +39,7 @@
         where t.spi_id= #{spiId}
     </select>
     <delete id="delete" parameterType="Integer" >
-        delete
+        delete FROM
         tb_rst_dm_supplier_product_item
         where spi_id=#{spiId}
     </delete>

+ 1 - 1
watero-rst-service/src/main/java/com/iamberry/rst/service/dm/mapper/supplierProductMapper.xml

@@ -43,7 +43,7 @@
         where t.sp_id= #{spId}
     </select>
     <delete id="delete" parameterType="Integer" >
-        delete
+        delete FROM
         tb_rst_dm_supplier_product
         where sp_id=#{spId}
     </delete>

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

@@ -181,6 +181,13 @@ public class ProductServiceImpl implements ProductService {
         return PageUtil.getPage(list);
     }
 
+    @Override
+    public PagedResult<ProductColor> listProductPage(int pageNO, int pageSize, ProductColor productColor, boolean isTotalNum) {
+        PageHelper.startPage(pageNO, pageSize, isTotalNum);
+        List<ProductColor> list = productMapper.listProduceColor(productColor);
+        return PageUtil.getPage(list);
+    }
+
     /**
      * 增加数据
      * @param  product
@@ -224,6 +231,7 @@ public class ProductServiceImpl implements ProductService {
      * @return Integer
      */
     @Override
+    @Transactional
     public  Integer  update(Product  product){
         Integer flag = 0;
         flag = productMapper.update(product);

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

@@ -72,18 +72,11 @@
 
     <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
+          c.*,
+          pi.product_name
         from
-        tb_rst_product_color c
+          tb_rst_product_color c
+        LEFT JOIN  tb_rst_product_info pi ON  c.color_product_id = pi.product_id
         <where>
             <if test="colorId != null">
                 color_id = #{colorId}
@@ -91,12 +84,18 @@
             <if test="colorProductId != null">
                 and color_product_id = #{colorProductId}
             </if>
-            <if test="colorBar != null">
+            <if test="colorBar != null and colorBar != ''">
                 and color_bar = #{colorBar}
             </if>
             <if test="colorStatus != null">
                 and color_status = #{colorStatus}
             </if>
+            <if test="productName != null and productName != ''">
+                and pi.product_name LIKE CONCAT('%',#{productName},'%')
+            </if>
+            <if test="colorName != null and colorName != ''">
+                and c.color_name LIKE CONCAT('%',#{colorName},'%')
+            </if>
         </where>
     </select>
 

+ 291 - 16
watero-rst-web/src/main/java/com/iamberry/rst/controllers/dm/DmDealerController.java

@@ -1,19 +1,18 @@
 package com.iamberry.rst.controllers.dm;
 
 import com.iamberry.rst.core.cm.StoreInfo;
-import com.iamberry.rst.core.dm.DealerChannel;
-import com.iamberry.rst.core.dm.DealerContact;
-import com.iamberry.rst.core.dm.DealerProduct;
-import com.iamberry.rst.core.dm.DmDealer;
+import com.iamberry.rst.core.dm.*;
 import com.iamberry.rst.core.page.PageRequest;
 import com.iamberry.rst.core.page.PagedResult;
-import com.iamberry.rst.core.sys.Admin;
 import com.iamberry.rst.faces.cm.StoreInfoService;
-import com.iamberry.rst.faces.dm.DealerContactService;
-import com.iamberry.rst.faces.dm.DmDealerService;
+import com.iamberry.rst.faces.dm.*;
 import com.iamberry.rst.faces.sys.SysService;
 import com.iamberry.rst.utils.AdminUtils;
 import com.iamberry.rst.utils.StitchAttrUtil;
+import com.iamberry.rst.utils.UploadFileUtils;
+import com.iamberry.wechat.tools.ResponseJson;
+import net.sf.json.JSONArray;
+import org.apache.shiro.authz.annotation.Logical;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -21,9 +20,14 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.multipart.commons.CommonsMultipartFile;
 import org.springframework.web.servlet.ModelAndView;
 
 import javax.servlet.http.HttpServletRequest;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
 import java.util.List;
 
 @Controller
@@ -38,6 +42,14 @@ public class DmDealerController {
     @Autowired
     private DealerContactService dealerContactService;
     @Autowired
+    private DealerChannelService dealerChannelService;
+    @Autowired
+    private DealerProductService dealerProductService;
+    @Autowired
+    private DealerProductStoreService dealerProductStoreService;
+    @Autowired
+    private CooperationAgreeService cooperationAgreeService;
+    @Autowired
     private StoreInfoService storeInfoService;
 
     /**
@@ -56,9 +68,6 @@ public class DmDealerController {
         ModelAndView mv = new ModelAndView("dm/dealer/dealer_list");
         //获取登录员工id
         Integer adminId = AdminUtils.getLoginAdminId();
-        Admin admin = new Admin();
-        admin.setAdminId(adminId);
-        admin = sysService.get(admin);
 
         dmDealer.setCreateId(adminId);
 
@@ -92,7 +101,7 @@ public class DmDealerController {
      * @author
      * @date
      */
-    @RequiresPermissions("dm:dealer:add")
+    @RequiresPermissions(value={"dm:dealer:add","dm:dealer:update"},logical= Logical.OR)
     @RequestMapping("/to_add_dealer_contact")
     public ModelAndView toAddDealerContact(HttpServletRequest request,DealerContact dc) {
         ModelAndView mv = new ModelAndView("dm/dealer/add_dealer_contact");
@@ -106,7 +115,7 @@ public class DmDealerController {
      * @author
      * @date
      */
-    @RequiresPermissions("dm:dealer:add")
+    @RequiresPermissions(value={"dm:dealer:add","dm:dealer:update"},logical= Logical.OR)
     @RequestMapping("/to_add_dealer_channel")
     public ModelAndView toAddDealerChannel(HttpServletRequest request,DealerChannel dealerChannel) {
         ModelAndView mv = new ModelAndView("dm/dealer/add_dealer_channel");
@@ -119,19 +128,285 @@ public class DmDealerController {
     }
 
     /**
-     * 添加客户页面- 添加渠道商
+     * 添加客户页面- 添加产品
      * @return
      * @author
      * @date
      */
-    @RequiresPermissions("dm:dealer:add")
+    @RequiresPermissions(value={"dm:dealer:add","dm:dealer:update"},logical= Logical.OR)
     @RequestMapping("/to_add_dealer_product")
-    public ModelAndView toAddDealerProduct(HttpServletRequest request,DealerProduct dealerProduct) {
-        ModelAndView mv = new ModelAndView("dm/dealer/add_dealer_channel");
+    public ModelAndView toAddDealerProduct(HttpServletRequest request,DealerProduct dealerProduct,String storeJson) {
+        ModelAndView mv = new ModelAndView("dm/dealer/add_dealer_product");
         mv.addObject("dealerProduct",dealerProduct);
 
+        JSONArray jsonArray = JSONArray.fromObject(storeJson);
+        List<DealerProductStore> dealerProductStoreList =  (List) JSONArray.toCollection(jsonArray, DealerProductStore.class);
+        mv.addObject("dealerProductStoreList",dealerProductStoreList);
         return mv;
     }
 
+    /**
+     * 添加客户页面- 添加合作协议
+     * @return
+     * @author
+     * @date
+     */
+    @RequiresPermissions(value={"dm:dealer:add","dm:dealer:update"},logical= Logical.OR)
+    @RequestMapping("/to_add_coop_agree")
+    public ModelAndView toAddCoopAgree(HttpServletRequest request,CooperationAgree cooperationAgree) {
+        ModelAndView mv = new ModelAndView("dm/dealer/add_coop_agree");
+        try {
+            if(cooperationAgree.getCoopAgreeImg() != null && !"".equals(cooperationAgree.getCoopAgreeImg())){
+                cooperationAgree.setCoopAgreeImg(URLDecoder.decode(cooperationAgree.getCoopAgreeImg(),"UTF-8"));
+            }
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+        }
+        mv.addObject("cooperationAgree",cooperationAgree);
+        return mv;
+    }
+
+    /**
+     * 图片
+     * @RequestParam("file") 将name=file控件得到的文件封装成CommonsMultipartFile 对象
+     */
+    @ResponseBody
+    @RequiresPermissions(value={"dm:dealer:add","dm:dealer:update"},logical= Logical.OR)
+    @RequestMapping("/fileUpload")
+    public ResponseJson fileUpload(HttpServletRequest request, @RequestParam("file") CommonsMultipartFile file) throws IOException {
+        ResponseJson responseJson = new ResponseJson();
+        System.out.println("fileName:"+file.getOriginalFilename());
+
+        String realPath = request.getSession().getServletContext().getRealPath("/");
+
+        if(file.getOriginalFilename() == null || "".equals(file.getOriginalFilename())){
+            responseJson.setReturnCode(500);
+            return responseJson;
+        }
+
+        String oldName = file.getOriginalFilename();
+
+        //名称
+        String suffix = file.getOriginalFilename().substring(file.getOriginalFilename().toString().lastIndexOf("."));
+        String name = System.currentTimeMillis()+suffix;
+
+        String path = UploadFileUtils.coopeAgreeImgUploadFile(realPath,name,file);
+
+        String url = request.getScheme()+"://"+ request.getServerName();
+
+        responseJson.setReturnCode(200);
+        responseJson.addResponseKeyValue("allImgUrl",url + "/" + path);
+        responseJson.addResponseKeyValue("imgUrl",path);
+        responseJson.addResponseKeyValue("oldName",oldName);
+        responseJson.addResponseKeyValue("name",name);
+        return responseJson;
+    }
+
+    /**
+     * 添加 客户信息
+     * @param request
+     * @return
+     */
+    @ResponseBody
+    @RequiresPermissions("dm:dealer:add")
+    @RequestMapping("/dealere_save")
+    public ResponseJson dealereSave(HttpServletRequest request,DmDealer dmDealer,
+        String add_contact_json,String add_dealer_channel_json,String add_product_json,String add_coop_agree_json) {
+        ResponseJson rj = ResponseJson.getSUCCESS();
+
+        if(add_contact_json != null && !"".equals(add_contact_json)){
+            JSONArray jsonArray = JSONArray.fromObject(add_contact_json);
+            List<DealerContact> dealerContactList =  (List) JSONArray.toCollection(jsonArray, DealerContact.class);
+            dmDealer.setDealerContactList(dealerContactList);
+        }
+        if(add_dealer_channel_json != null && !"".equals(add_dealer_channel_json)){
+            JSONArray jsonArray = JSONArray.fromObject(add_dealer_channel_json);
+            List<DealerChannel> dealerChannelList =  (List) JSONArray.toCollection(jsonArray, DealerChannel.class);
+            dmDealer.setDealerChannelList(dealerChannelList);
+        }
+        if(add_product_json != null && !"".equals(add_product_json)){
+            JSONArray jsonArray = JSONArray.fromObject(add_product_json);
+            List<DealerProduct> dealerProductList =  (List) JSONArray.toCollection(jsonArray, DealerProduct.class);
+            dmDealer.setDealerProductList(dealerProductList);
+        }
+        if(add_coop_agree_json != null && !"".equals(add_coop_agree_json)){
+            JSONArray jsonArray = JSONArray.fromObject(add_coop_agree_json);
+            List<CooperationAgree> cooperationAgreeList =  (List) JSONArray.toCollection(jsonArray, CooperationAgree.class);
+            dmDealer.setCooperationAgreeList(cooperationAgreeList);
+        }
+
+        rj = this.dmDealerCheck(dmDealer);
+
+        //设置创建人id
+        Integer adminId = AdminUtils.getLoginAdminId();
+        dmDealer.setCreateId(adminId);
+        dmDealer.setDealerStatus(1);
+
+        Integer flag = 0;
+        try{
+            flag = dmDealerService.save(dmDealer);
+        }catch (Exception e){
+            e.printStackTrace();
+            rj = ResponseJson.getFAILURE();
+            rj.setResultMsg("添加客户信息,失败原因:"+e.getMessage());
+            return  rj;
+        }
+        if(flag > 0){
+            rj.setResultMsg("添加成功");
+            return rj;
+        }else{
+            rj = ResponseJson.getFAILURE();
+            return  rj;
+        }
+    }
+
+    /**
+     *
+     * @param dmDealer
+     * @return
+     */
+    private ResponseJson dmDealerCheck(DmDealer dmDealer){
+        ResponseJson rj = ResponseJson.getFAILURE();
+        if(dmDealer.getDealerName() == null || "".equals(dmDealer.getDealerName())){
+            rj.setResultMsg("客户名称不能为空");
+            return rj;
+        }
+        if(dmDealer.getDealerIndustry() == null || "".equals(dmDealer.getDealerIndustry())){
+            rj.setResultMsg("客户行业不能为空");
+            return rj;
+        }
+        if(dmDealer.getDealerType() == null){
+            rj.setResultMsg("客户类型不能为空");
+            return rj;
+        }
+        if(dmDealer.getDealerState() == null){
+            rj.setResultMsg("合作进度不能为空");
+            return rj;
+        }
+        if(dmDealer.getDealerSelfOperated() == null){
+            rj.setResultMsg("请选择是否自营");
+            return rj;
+        }
+        if(dmDealer.getDealerRate() == null){
+            rj.setResultMsg("请选择是否自营");
+            return rj;
+        }
+        return ResponseJson.getSUCCESS();
+    }
+
+
+    /**
+     * to修改客户页面
+     * @return
+     * @author
+     * @date
+     */
+    @RequiresPermissions("dm:dealer:update")
+    @RequestMapping("/to_update_dealer")
+    public ModelAndView toUpdateDealer(HttpServletRequest request,Integer dealerId) {
+        ModelAndView mv = new ModelAndView("dm/dealer/update_dealer");
+        DmDealer dmDealer = dmDealerService.getDmDealerById(dealerId);
+
+        DealerContact  dealerContact = new DealerContact();
+        dealerContact.setDealerId(dealerId);
+        List<DealerContact> dealerContactList = dealerContactService.getDealerContactList(dealerContact);
+
+        DealerChannel  dealerChannel = new DealerChannel();
+        dealerChannel.setDealerId(dealerId);
+        List<DealerChannel> dealerChannelList = dealerChannelService.getDealerChannelList(dealerChannel);
+
+        DealerProduct  dealerProduct = new DealerProduct();
+        dealerProduct.setDealerId(dealerId);
+        List<DealerProduct> dealerProductList = dealerProductService.getDealerProductList(dealerProduct);
+        for (DealerProduct dp:dealerProductList) {
+            if(dp.getDealProdStoreArea() == 2 ){
+                DealerProductStore dealerProductStore = new DealerProductStore();
+                dealerProductStore.setDealProdId(dp.getDealProdId());
+                List<DealerProductStore> dealerProductStoreList = dealerProductStoreService.getDealerProductStoreList(dealerProductStore);
+                String dealerProductStoreIds="";
+                String dealerProductStoreName="";
+                for (DealerProductStore dps:dealerProductStoreList) {
+                    if("".equals(dealerProductStoreIds)){
+                        dealerProductStoreIds = String.valueOf(dps.getStoreId());
+                        dealerProductStoreName = dps.getStoreName();
+                    }else{
+                        dealerProductStoreIds += "," + String.valueOf(dps.getStoreId());
+                        dealerProductStoreName += "," +  dps.getStoreName();
+                    }
+                }
+                dp.setDealerProductStoreIds(dealerProductStoreIds);
+                dp.setDealerProductStoreName(dealerProductStoreName);
+            }
+        }
+
+        CooperationAgree cooperationAgree = new CooperationAgree();
+        cooperationAgree.setDealerId(dealerId);
+        List<CooperationAgree> cooperationAgreeList = cooperationAgreeService.getCooperationAgreeList(cooperationAgree);
+
+        mv.addObject("dmDealer",dmDealer);
+        mv.addObject("dealerContactList",dealerContactList);
+        mv.addObject("dealerChannelList",dealerChannelList);
+        mv.addObject("dealerProductList",dealerProductList);
+        mv.addObject("cooperationAgreeList",cooperationAgreeList);
+        return mv;
+    }
+
+    /**
+     * 修改客户信息
+     * @param request
+     * @return
+     */
+    @ResponseBody
+    @RequiresPermissions("dm:supplier:update")
+    @RequestMapping("/dealere_update")
+    public ResponseJson dealereUpdate(HttpServletRequest request,DmDealer dmDealer,
+                                    String add_contact_json,String add_dealer_channel_json,String add_product_json,String add_coop_agree_json) {
+        ResponseJson rj = ResponseJson.getSUCCESS();
+
+        if(add_contact_json != null && !"".equals(add_contact_json)){
+            JSONArray jsonArray = JSONArray.fromObject(add_contact_json);
+            List<DealerContact> dealerContactList =  (List) JSONArray.toCollection(jsonArray, DealerContact.class);
+            dmDealer.setDealerContactList(dealerContactList);
+        }
+        if(add_dealer_channel_json != null && !"".equals(add_dealer_channel_json)){
+            JSONArray jsonArray = JSONArray.fromObject(add_dealer_channel_json);
+            List<DealerChannel> dealerChannelList =  (List) JSONArray.toCollection(jsonArray, DealerChannel.class);
+            dmDealer.setDealerChannelList(dealerChannelList);
+        }
+        if(add_product_json != null && !"".equals(add_product_json)){
+            JSONArray jsonArray = JSONArray.fromObject(add_product_json);
+            List<DealerProduct> dealerProductList =  (List) JSONArray.toCollection(jsonArray, DealerProduct.class);
+            dmDealer.setDealerProductList(dealerProductList);
+        }
+        if(add_coop_agree_json != null && !"".equals(add_coop_agree_json)){
+            JSONArray jsonArray = JSONArray.fromObject(add_coop_agree_json);
+            List<CooperationAgree> cooperationAgreeList =  (List) JSONArray.toCollection(jsonArray, CooperationAgree.class);
+            dmDealer.setCooperationAgreeList(cooperationAgreeList);
+        }
+
+        rj = this.dmDealerCheck(dmDealer);
+
+        //设置创建人id
+        Integer adminId = AdminUtils.getLoginAdminId();
+        dmDealer.setCreateId(adminId);
+        dmDealer.setDealerStatus(1);
+
+        Integer flag = 0;
+        try{
+            flag = dmDealerService.update(dmDealer);
+        }catch (Exception e){
+            e.printStackTrace();
+            rj = ResponseJson.getFAILURE();
+            rj.setResultMsg("修改客户信息,失败原因:"+e.getMessage());
+            return  rj;
+        }
+        if(flag > 0){
+            rj.setResultMsg("修改成功");
+            return rj;
+        }else{
+            rj = ResponseJson.getFAILURE();
+            return  rj;
+        }
+    }
 
 }

+ 196 - 0
watero-rst-web/src/main/java/com/iamberry/rst/controllers/dm/FinanciaReceController.java

@@ -0,0 +1,196 @@
+package com.iamberry.rst.controllers.dm;
+
+import com.iamberry.rst.core.dm.DmDealer;
+import com.iamberry.rst.core.dm.FinancialReceipt;
+import com.iamberry.rst.core.page.PageRequest;
+import com.iamberry.rst.core.page.PagedResult;
+import com.iamberry.rst.faces.dm.DmDealerService;
+import com.iamberry.rst.faces.dm.FinancialReceiptService;
+import com.iamberry.rst.faces.sys.SysService;
+import com.iamberry.rst.utils.StitchAttrUtil;
+import com.iamberry.wechat.tools.ResponseJson;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+
+@Controller
+@RequestMapping("/admin/financial_receipt")
+public class FinanciaReceController {
+
+    private Logger logger = LoggerFactory.getLogger(FinanciaReceController.class);
+    @Autowired
+    private SysService sysService;
+    @Autowired
+    private FinancialReceiptService financialReceiptService;
+    @Autowired
+    private DmDealerService dmDealerService;
+
+
+    /**
+     * 查询客户基本信息列表
+     *
+     * @return
+     * @author
+     * @date
+     */
+    @RequiresPermissions("dm:financialReceipt:list")
+    @RequestMapping("/list_page_fr")
+    public ModelAndView listCustomerBasic(HttpServletRequest request, FinancialReceipt financialReceipt,
+                                          @RequestParam(value = "pageSize", defaultValue = "10", required = false) Integer pageSize,
+                                          @RequestParam(value = "pageNO", defaultValue = "1", required = false) Integer pageNO,
+                                          @RequestParam(value = "totalNum", defaultValue = "0", required = false) Integer totalNum) {
+        ModelAndView mv = new ModelAndView("dm/financialReceipt/fr_list");
+
+        // 封装请求数据
+        PageRequest<FinancialReceipt> pageRequest = new PageRequest<>(financialReceipt, pageNO, pageSize, totalNum == 0);
+        // 查询订单列表
+        PagedResult<FinancialReceipt> result = financialReceiptService.listFinancialReceiptPage(pageRequest);
+        if (totalNum != 0) {
+            result.setTotal(totalNum);
+        }
+        StitchAttrUtil.getSa().setModelAndView(financialReceipt, mv, "/admin/financial_receipt/list_page_fr", result);
+        return mv;
+    }
+
+    /**
+     * 添加客户页面
+     * @return
+     * @author
+     * @date
+     */
+    @RequiresPermissions("dm:financialReceipt:add")
+    @RequestMapping("/to_add_finan_rece")
+    public ModelAndView toAddFinanRece(HttpServletRequest request) {
+        ModelAndView mv = new ModelAndView("dm/financialReceipt/add_fr");
+        DmDealer dmDealer = new DmDealer();
+        dmDealer.setDealerStatus(1);
+        List<DmDealer> dmDealerList = dmDealerService.getDmDealerListToFr(dmDealer);
+        mv.addObject("dmDealerList",dmDealerList);
+        return mv;
+    }
+
+    /**
+     * 添加 客户信息
+     * @param request
+     * @return
+     */
+    @ResponseBody
+    @RequiresPermissions("dm:dealer:add")
+    @RequestMapping("/dealere_save")
+    public ResponseJson dealereSave(HttpServletRequest request,DmDealer dmDealer,
+        String add_contact_json,String add_dealer_channel_json,String add_product_json,String add_coop_agree_json) {
+        ResponseJson rj = ResponseJson.getSUCCESS();
+
+
+        Integer flag = 0;
+        try{
+//            flag = dmDealerService.save(dmDealer);
+        }catch (Exception e){
+            e.printStackTrace();
+            rj = ResponseJson.getFAILURE();
+            rj.setResultMsg("添加客户信息,失败原因:"+e.getMessage());
+            return  rj;
+        }
+        if(flag > 0){
+            rj.setResultMsg("添加成功");
+            return rj;
+        }else{
+            rj = ResponseJson.getFAILURE();
+            return  rj;
+        }
+    }
+
+    /**
+     *
+     * @param dmDealer
+     * @return
+     */
+    private ResponseJson dmDealerCheck(DmDealer dmDealer){
+        ResponseJson rj = ResponseJson.getFAILURE();
+        if(dmDealer.getDealerName() == null || "".equals(dmDealer.getDealerName())){
+            rj.setResultMsg("客户名称不能为空");
+            return rj;
+        }
+        if(dmDealer.getDealerIndustry() == null || "".equals(dmDealer.getDealerIndustry())){
+            rj.setResultMsg("客户行业不能为空");
+            return rj;
+        }
+        if(dmDealer.getDealerType() == null){
+            rj.setResultMsg("客户类型不能为空");
+            return rj;
+        }
+        if(dmDealer.getDealerState() == null){
+            rj.setResultMsg("合作进度不能为空");
+            return rj;
+        }
+        if(dmDealer.getDealerSelfOperated() == null){
+            rj.setResultMsg("请选择是否自营");
+            return rj;
+        }
+        if(dmDealer.getDealerRate() == null){
+            rj.setResultMsg("请选择是否自营");
+            return rj;
+        }
+        return ResponseJson.getSUCCESS();
+    }
+
+
+    /**
+     * to修改客户页面
+     * @return
+     * @author
+     * @date
+     */
+    @RequiresPermissions("dm:dealer:update")
+    @RequestMapping("/to_update_dealer")
+    public ModelAndView toUpdateDealer(HttpServletRequest request,Integer dealerId) {
+        ModelAndView mv = new ModelAndView("dm/dealer/update_dealer");
+
+//        mv.addObject("dmDealer",dmDealer);
+//        mv.addObject("dealerContactList",dealerContactList);
+//        mv.addObject("dealerChannelList",dealerChannelList);
+//        mv.addObject("dealerProductList",dealerProductList);
+//        mv.addObject("cooperationAgreeList",cooperationAgreeList);
+        return mv;
+    }
+
+    /**
+     * 修改客户信息
+     * @param request
+     * @return
+     */
+    @ResponseBody
+    @RequiresPermissions("dm:supplier:update")
+    @RequestMapping("/dealere_update")
+    public ResponseJson dealereUpdate(HttpServletRequest request,DmDealer dmDealer,
+                                    String add_contact_json,String add_dealer_channel_json,String add_product_json,String add_coop_agree_json) {
+        ResponseJson rj = ResponseJson.getSUCCESS();
+
+        Integer flag = 0;
+        try{
+//            flag = dmDealerService.update(dmDealer);
+        }catch (Exception e){
+            e.printStackTrace();
+            rj = ResponseJson.getFAILURE();
+            rj.setResultMsg("修改客户信息,失败原因:"+e.getMessage());
+            return  rj;
+        }
+        if(flag > 0){
+            rj.setResultMsg("修改成功");
+            return rj;
+        }else{
+            rj = ResponseJson.getFAILURE();
+            return  rj;
+        }
+    }
+
+}

+ 13 - 4
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminOrderController.java

@@ -26,14 +26,15 @@ import com.iamberry.rst.faces.product.ProductService;
 import com.iamberry.rst.faces.sms.MessageService;
 import com.iamberry.rst.faces.sms.SmsService;
 import com.iamberry.rst.faces.sys.SysService;
-import com.iamberry.rst.utils.*;
+import com.iamberry.rst.utils.AdminUtils;
+import com.iamberry.rst.utils.ExcelUtil;
+import com.iamberry.rst.utils.GenerateKeyUtil;
+import com.iamberry.rst.utils.OrderNoUtil;
 import com.iamberry.wechat.tools.DateTimeUtil;
 import com.iamberry.wechat.tools.ObjectExcelView;
 import com.iamberry.wechat.tools.ResponseJson;
 import com.iamberry.wechat.tools.payUtil.DatetimeUtil;
 import com.iamberry.wechat.tools.payUtil.StringUtil;
-import net.sf.json.JSONArray;
-import net.sf.json.JSONObject;
 import org.apache.commons.lang.StringUtils;
 import org.apache.shiro.SecurityUtils;
 import org.apache.shiro.authz.annotation.Logical;
@@ -1174,7 +1175,15 @@ public class AdminOrderController {
                 salesOrder.setSalesAddressInfo(efastOrder.getOrderProvince()+" "+efastOrder.getOrderCity()+" "+efastOrder.getOrderArea()+" "+myaddress);
                 try{
                     String newArea  = efastOrder.getOrderArea();
-                    newArea = newArea.replaceAll("县|区|镇|乡|市|自治区|地区|州|洲","");
+                    newArea = newArea.replaceAll("自治区|地区|自治县","");
+
+                    String lastNewArea  = newArea.substring(newArea.length()-1,newArea.length());
+                    lastNewArea = lastNewArea.replaceAll("县|区|镇|乡|市|州|洲","");
+
+                    newArea = newArea.substring(0,newArea.length()-1);
+
+                    newArea += lastNewArea;
+
                     District district = new District();
                     district.setDistrict(newArea);
                     List<District> districtList = addressService.listDistrict(district);

+ 61 - 6
watero-rst-web/src/main/java/com/iamberry/rst/controllers/product/AdminProductController.java

@@ -10,7 +10,6 @@ import com.iamberry.rst.faces.product.ProductService;
 import com.iamberry.rst.utils.StitchAttrUtil;
 import com.iamberry.rst.utils.UploadFileUtils;
 import com.iamberry.wechat.tools.ResponseJson;
-import com.iamberry.wechat.tools.ResultInfo;
 import net.sf.json.JSONArray;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.slf4j.Logger;
@@ -20,14 +19,11 @@ import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.context.ContextLoader;
-import org.springframework.web.context.WebApplicationContext;
 import org.springframework.web.multipart.commons.CommonsMultipartFile;
 import org.springframework.web.servlet.ModelAndView;
 
-import javax.servlet.ServletContext;
 import javax.servlet.http.HttpServletRequest;
-import java.io.*;
+import java.io.IOException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.List;
@@ -59,14 +55,73 @@ public class AdminProductController {
 
     @ResponseBody
     @RequestMapping("/get_product")
-    public ResponseJson addProduct(HttpServletRequest request, ProductColor productColor) throws Exception {
+    public ResponseJson getProduct(HttpServletRequest request, ProductColor productColor) throws Exception {
         ResponseJson rj =  new ResponseJson(200, "SUCCESS", 200);
+        productColor.setColorStatus(1);
         List<ProductColor> productColorList = productService.listproductAndColor(productColor);
         rj.addResponseKeyValue("productColorList",productColorList);
         return rj;
     }
 
     /**
+     * 获取产品集合
+     * @param request
+     * @param product
+     * @return
+     * @throws Exception
+     */
+    @ResponseBody
+    @RequestMapping("/product_list")
+    public ResponseJson productList(HttpServletRequest request, Product product) throws Exception {
+        ResponseJson rj =  new ResponseJson(200, "SUCCESS", 200);
+        product.setProductStatus(1);
+        List<Product> productList = productService.listProduce(product);
+        rj.addResponseKeyValue("productList",productList);
+        return rj;
+    }
+    /**
+     * 获取颜色集合
+     * @param request
+     * @param productColor
+     * @return
+     * @throws Exception
+     */
+    @ResponseBody
+    @RequestMapping("/color_list")
+    public ResponseJson colorList(HttpServletRequest request, ProductColor productColor) throws Exception {
+        ResponseJson rj =  new ResponseJson(200, "SUCCESS", 200);
+        productColor.setColorStatus(1);
+        List<ProductColor> productColorList = productService.listproductAndColor(productColor);
+        rj.addResponseKeyValue("productColorList",productColorList);
+        return rj;
+    }
+
+    /**
+     * 获取颜色集合 - 分页
+     * @param request
+     * @param productColor
+     * @return
+     * @throws Exception
+     */
+    @ResponseBody
+    @RequestMapping("/color_page")
+    public ResponseJson colorPage(HttpServletRequest request, ProductColor productColor,
+                                  @RequestParam(value = "pageSize", defaultValue = "10", required = false) Integer pageSize,
+                                  @RequestParam(value = "pageNO", defaultValue = "1", required = false) Integer pageNO,
+                                  @RequestParam(value = "totalNum", defaultValue = "0", required = false) Integer totalNum) throws Exception {
+
+        PagedResult<ProductColor> pagedResult = productService.listProductPage(pageNO, pageSize, productColor, totalNum == 0);
+        if (totalNum != 0){
+            pagedResult.setTotal(totalNum);
+        }
+        ResponseJson rj =  new ResponseJson(200, "SUCCESS", 200);
+        List<ProductColor> productColorList = pagedResult.getDataList();
+        rj.setDataList(productColorList);
+        rj.setTotal(pagedResult.getTotal());
+        return rj;
+    }
+
+    /**
      * 产品列表
      * @param request
      * @return

+ 24 - 9
watero-rst-web/src/main/java/com/iamberry/rst/utils/UploadFileUtils.java

@@ -18,10 +18,11 @@ public class UploadFileUtils {
     private final Map<String,String> map = new HashMap<String,String>();
 
     private UploadFileUtils(){
-        map.put("scmOrder","scmOrder");
+        map.put("scmOrderUpload","scmOrder/upload/");
         map.put("eiInvo","eiInvo");
-        map.put("cm","cm");
-        map.put("product","product");
+        map.put("feePayPicture","cm/feePayPicture/");
+        map.put("productColor","product/color/");
+        map.put("coopeAgree","dm/coopeAgree/");
     };
 
     /**
@@ -96,8 +97,8 @@ public class UploadFileUtils {
      */
     public static String scmUploadFile(String rootPathh, String name, CommonsMultipartFile file){
         SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
-        String soonPath = "/upload/"+ sdf.format(new Date()) + "/";
-        String path = UploadFileUtils.getUf().upload("scmOrder",rootPathh,soonPath,name,file);
+        String soonPath = sdf.format(new Date()) + "/";
+        String path = UploadFileUtils.getUf().upload("scmOrderUpload",rootPathh,soonPath,name,file);
         return path;
     }
 
@@ -123,8 +124,8 @@ public class UploadFileUtils {
      */
     public static String cmFeePayPictureUploadFile(String rootPathh, String name, CommonsMultipartFile file){
         SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
-        String soonPath = "/feePayPicture/"+ sdf.format(new Date()) + "/";
-        String path = UploadFileUtils.getUf().upload("cm",rootPathh,soonPath,name,file);
+        String soonPath = sdf.format(new Date()) + "/";
+        String path = UploadFileUtils.getUf().upload("feePayPicture",rootPathh,soonPath,name,file);
         return path;
     }
 
@@ -137,8 +138,22 @@ public class UploadFileUtils {
      */
     public static String productImgUploadFile(String rootPathh, String name, CommonsMultipartFile file){
         SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
-        String soonPath = "/color/"+ sdf.format(new Date()) + "/";
-        String path = UploadFileUtils.getUf().upload("product",rootPathh,soonPath,name,file);
+        String soonPath = sdf.format(new Date()) + "/";
+        String path = UploadFileUtils.getUf().upload("productColor",rootPathh,soonPath,name,file);
+        return path;
+    }
+
+    /**
+     * 客户系统-合作协议-协议图片
+     * path  : common/dm/coopeAgree/
+     * @param name
+     * @param file
+     * @return
+     */
+    public static String coopeAgreeImgUploadFile(String rootPathh, String name, CommonsMultipartFile file){
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+        String soonPath = sdf.format(new Date()) + "/";
+        String path = UploadFileUtils.getUf().upload("coopeAgree",rootPathh,soonPath,name,file);
         return path;
     }
 

+ 180 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/dm/dealer/add_coop_agree.ftl

@@ -0,0 +1,180 @@
+<!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">
+
+    <style>
+        .tit{position: relative;text-align: left;font-size: 16px;padding-left: 10px;}
+        .tit:after{content: '';position: absolute;left: 0;top: 20%;height: 60%;width: 3px;background-color: #32a3d8;}
+        .tit-2{position: relative;text-align: left;font-size: 16px;padding-left: 10px;color: #50a2ea;}
+        .tit-2:after{content: '';position: absolute;left: 0;top: 50%;height: 6px;width: 6px;border-radius: 6px;margin-top: -3px; background-color: #32a3d8;}
+        #province select{margin-right:10px; width:100px;height: 31px;-webkit-appearance:none !important;appearance:none;background: url(${path}/common/images/cm/select-1.png) right center no-repeat;background-size: auto 100%;padding-left:3px;padding-right: 25px;}
+        .ac_results li a {white-space: nowrap;text-decoration:none;display:block;color:#05a;padding:1px 3px}
+        .ac_results li {border:1px solid #fff}
+        .ac_results li a span {float:right}
+        .select-box{background: url(${path}/common/images/cm/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: 15px;}
+        .dalog-ask{position: absolute;left:60%;top:0;-webkit-transform: translateY(-30%);transform: translateY(-30%);display: none;background-color: #fff;z-index: 10;}
+        .tag{ width:300px; min-height:300px; border:1px solid #32a3d8; position:relative;background-color: #fff;line-height: 1.5;padding: 10px 12px;}
+        .tag em{display:block; border-width:15px; position:absolute; top:30%; left:-30px;border-style:solid dashed dashed; border-color:transparent  #32a3d8 transparent transparent;font-size:0; line-height:0;}
+        .time-line-list{list-style: none;width: 100%;margin-left: -20px;}
+        .time-line-list>li{position: relative;float: left; text-align: center;width: 100px;overflow: hidden;white-space: nowrap;word-break: break-all;padding: 2px 0;}
+        .time-line-list .number{display: inline-block; padding: 2px; background: #32a3d8;border: 2px solid #fff;box-shadow:0 0 0 1px #32a3d8;width: 20px;height: 20px;color: #fff;line-height: 20px;border-radius: 50%;}
+        .time-line-list>li:before{content:'';position: absolute;height: 1px;width: 30%;right:0;top: 15px; background-color: #32a3d8;}
+        .time-line-list>li:after{content: '';position: absolute;height: 1px;width: 30%;left: 0;top: 15px;background:#32a3d8;}
+        .time-line-list>li:first-child:after,.time-line-list>li:last-child:before{display: none;}
+        .time-line-list .arrow{border-width:7px; position:absolute; left:25%; top:9px;border-style:solid dashed dashed; border-color:transparent  transparent  transparent #32a3d8;font-size:0; line-height:0;}
+        .time-line-list>li:first-child .arrow{display: none;}
+        .table-bg th{background-color: #e2f6ff;}
+        .update-parts>span{margin-right: 10px;padding: 3px 4px;background-color: #effaff;border: 1px solid #32a3d8;}
+        .msg-phone{height: 35px;line-height: 35px;}
+        .all_down{text-decoration: underline;color: #00c;}
+    </style>
+    <title>合作协议 - 客户管理 - RST</title>
+</head>
+<body>
+
+<article class="page-container" style="padding: 10px;">
+    <div class="pd-20 cl" style="padding-top: 0px;" >
+        <form  method="post" class="form form-horizontal" id="form-contact"  >
+
+            <input type="hidden" class="input-text" value="${cooperationAgree.coopAgreeId!0}" id="coopAgreeId" name="coopAgreeId"  >
+            <input type="hidden" class="input-text" value="${cooperationAgree.coopAgreeIdStr!""}" id="coopAgreeIdStr" name="coopAgreeIdStr"  >
+
+            <div class="row cl" id="" style="">
+                <label class="form-label col-xs-3 col-sm-3" style="text-align: right;"><span class="c-red">*</span>协议图片:</label>
+                <div class="formControls col-xs-8 col-sm-8 upload_color_class" >
+                    <#if cooperationAgree.coopAgreeImg??>
+                        <input type="file" class="color_file" name="file" id="upload_color_img" style="display: none">
+                        <div class="download_file"><div><img style="width: 75px;" src="${path}/${cooperationAgree.coopAgreeImg!''}" class="del_product all_down ">&nbsp;&nbsp;<a href="javascript:void(0)" onclick="fileOnclick(this)">重新上传</a></div></div>
+                        <input type="hidden" class="add_color str colorPicture add_form" name="coopAgreeImg" id="coopAgreeImg" value="${cooperationAgree.coopAgreeImg!''}"  myMinlength="1" errormsg="需要上传协议图片!" >
+                    <#else>
+                        <input type="file" class="color_file" name="file" id="upload_color_img" style="display: none">
+                        <div class="download_file"><a href="javascript:void(0)" class="del_product all_down" onclick="fileOnclick(this)">上传图片</a></div>
+                        <input type="hidden" class="add_color str colorPicture add_form" name="coopAgreeImg" id="coopAgreeImg" value=""  myMinlength="1" errormsg="需要上传协议图片!" >
+                    </#if>
+                </div>
+            </div>
+
+            <div class="row cl" id="" style="">
+                <label class="form-label col-xs-3 col-sm-3" style="text-align: right;"><span class="c-red">*</span>协议时间:</label>
+                <div class="formControls col-xs-4 col-sm-4" style="    padding-right: 2px;">
+                    <input type="text" placeholder="请选择开始日期" value="${(cooperationAgree.coopAgreeBeforeDate?string("yyyy-MM-dd"))!''}" id="coopAgreeBeforeDate"  name="coopAgreeBeforeDate" myMinlength="1" errormsg="请选择协议开始时间!" class="input-text Wdate add_form" onclick="WdatePicker({skin:'whyGreen'})"  readonly="readonly">
+                </div>
+                <div class="formControls col-xs-4 col-sm-4" style=" padding-left: 2px;">
+                    <input type="text" placeholder="请选择结束日期" value="${(cooperationAgree.coopAgreeEndDate?string("yyyy-MM-dd"))!''}" id="coopAgreeEndDate"  name="coopAgreeEndDate" myMinlength="1" errormsg="请选择协议结束时间!" class="input-text Wdate add_form" onclick="WdatePicker({skin:'whyGreen',minDate:'#F{$dp.$D(\'coopAgreeBeforeDate\',{d:0})}'})"  readonly="readonly">
+                </div>
+            </div>
+
+            <div class="row cl" id="" style="">
+                <label class="form-label col-xs-3 col-sm-3" style="text-align: right;">备注:</label>
+                <div class="formControls col-xs-8 col-sm-8">
+                    <input type="text" class="input-text add_form" value="${cooperationAgree.coopAgreeRemake!""}" placeholder="填写备注" id="coopAgreeRemake" name="coopAgreeRemake"   myMaxlength="300" errormsg="备注格式不正确!" >
+                </div>
+            </div>
+
+            <div class="row cl" style="margin-top: 30px">
+                <div class="col-2 col-sm-2 col-offset-3" >
+                    <input type="text" class="btn  btn-primary "  onclick="save_coop_agree()" value="保存">
+                </div>
+            </div>
+
+        </form>
+    </div>
+</article>
+<script type="text/javascript">
+    var url_path = "${path}";
+</script>
+<script type="text/javascript" src="${path}/common/lib/My97DatePicker/4.8/WdatePicker.js"></script>
+<script type="text/javascript" src="${path}/common/lib/jquery/1.9.1/ajaxfileupload.js"></script>
+
+<script type="text/javascript">
+
+    /**
+     * 保存
+     */
+    function save_coop_agree() {
+        if(!verification()){
+            return false;
+        }
+        var coopAgree = new Object();
+        coopAgree.coopAgreeId=$("#coopAgreeId").val();
+        coopAgree.coopAgreeIdStr=$("#coopAgreeIdStr").val();
+        coopAgree.coopAgreeImg=$("#coopAgreeImg").val();
+        coopAgree.coopAgreeBeforeDate=$("#coopAgreeBeforeDate").val();
+        coopAgree.coopAgreeEndDate=$("#coopAgreeEndDate").val();
+        coopAgree.coopAgreeRemake=$("#coopAgreeRemake").val();
+        parent.showCoopAgree(coopAgree);
+        parent.layer.close(parent.layer.getFrameIndex(window.name));
+    }
+
+    function verification(){
+        var flag = true;
+        $("#form-contact").find(".add_form").each(function () {
+            var $node = $(this);
+            var myValue = $node.val();
+            var myMinlength = $node.attr("myMinlength");
+            if(!isEmpty(myMinlength)){
+                myMinlength = 0;
+            }
+            if(!isEmpty(myValue) && myMinlength != 0){
+                vailErrorMsg_3($(this),$(this).attr("errormsg"));
+                flag = false;
+                return false;
+            }
+            var myMaxlength = $node.attr("myMaxlength");
+            if(isEmpty(myMaxlength)){
+                if(myValue.length > myMaxlength){
+                    vailErrorMsg_3($(this),$(this).attr("errormsg"));
+                    flag = false;
+                    return false;
+                }
+            }
+        });
+        return flag;
+    }
+
+
+    function fileOnclick(node){
+        $(node).parents(".upload_color_class").find('.color_file').click();
+    }
+
+    $(function(){
+        $("#upload_color_img").change(function() {
+            fileUpload("upload_color_img");
+        });
+    });
+
+    function fileUpload(idValue) {
+        $.ajaxFileUpload({
+            url: url_path + "/admin/dealer/fileUpload",
+            secureuri: false,
+            fileElementId: idValue,//文件选择框的id属性/名称
+            dataType: 'json',   //json
+            success: function (data) {
+                if (data.returnCode == 200) {
+                    var html = '<div><img style="width: 75px;" src="' + url_path +"/"+ data.returnMsg.imgUrl + '"  class="del_product all_down " >&nbsp;&nbsp;<a href="javascript:void(0)" onclick="fileOnclick(this)">重新上传</a></div>';
+                    $("#" + idValue).parent().find(".download_file").html(html);
+                    $("#"+idValue).parent().find(".colorPicture").val(data.returnMsg.imgUrl);
+                    $("#upload_color_img").change(function() {
+                        fileUpload("upload_color_img");
+                    });
+                }else{
+                    layer.msg('上传失败,请重试!',{icon: 5,time:2000});
+                }
+            }
+        });
+    }
+
+</script>
+
+
+
+</body>
+</html>

+ 21 - 31
watero-rst-web/src/main/webapp/WEB-INF/views/dm/dealer/add_dealer.ftl

@@ -51,9 +51,7 @@
 </nav>
 <article class="page-container" style="padding: 10px;">
     <div class="pd-20 cl" style="padding-top: 0px;">
-        <form action="${path}/admin/complaintQuestion/add_question" method="post" class="form form-horizontal" id="form-question"  onkeydown="if(event.keyCode==13)return false;">
-
-            <input type="hidden" name="questionState" value="1">
+        <form action="${path}/admin/dealer/dealere_save" method="post" class="form form-horizontal" id="form-dealer"  onkeydown="if(event.keyCode==13)return false;">
 
             <div class="row cl">
                 <label class="form-label col-3">
@@ -76,7 +74,7 @@
 
             <div class="row cl" id="" style="">
                 <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>是否自营:</label>
-                <div class="formControls col-3 col-sm-3">
+                <div class="formControls col-3 col-sm-3  skin-minimal">
                     <div class="radio-box">
                         <input type="radio" id="tel-1" name="dealerSelfOperated" value="1" >
                         <label for="tel-1">自营</label>
@@ -143,6 +141,7 @@
                         </tbody>
                     </table>
                 </div>
+                <input type="hidden" name="add_contact_json" id="add_contact_json" value="">
             </div>
 
             <div class="row cl">
@@ -171,6 +170,7 @@
                         </tbody>
                     </table>
                 </div>
+                <input type="hidden" name="add_dealer_channel_json" id="add_dealer_channel_json" value="">
             </div>
 
             <div class="row cl">
@@ -181,9 +181,9 @@
                 </div>
             </div>
 
-            <div class="row cl" id="add_dealer_product_make" style="margin-left: 25px;">
+            <div class="row cl" id="add_product_make" style="margin-left: 25px;">
                 <div class="formControls col-11 col-sm-11">
-                    <input type="button" class="btn btn-primary" onclick="add_product()" value="添加供应产品" >
+                    <input type="button" class="btn btn-primary" onclick="addDealerProduct()" value="添加供应产品" >
                     <table class="table table-border table-bg table-bordered" style="margin-top: 10px;" id="">
                         <thead>
                         <tr class="text-c" id="table1">
@@ -194,11 +194,12 @@
                             <th style="text-align: center;" width="5">操作</th>
                         </tr>
                         </thead>
-                        <tbody id="add_product_id">
+                        <tbody id="add_product">
                         <tr><td colspan="5" class="td-manage text-c" >暂时没有供应产品,请添加!</td></tr>
                         </tbody>
                     </table>
                 </div>
+                <input type="hidden" name="add_product_json" id="add_product_json" value="">
             </div>
 
             <div class="row cl">
@@ -209,34 +210,35 @@
                 </div>
             </div>
 
-            <div class="row cl" id="" style="margin-left: 25px;">
+            <div class="row cl" id="add_coop_agree_make" style="margin-left: 25px;">
                 <div class="formControls col-11 col-sm-11">
-                    <input type="button" class="btn btn-primary" onclick="add_product()" value="添加合作协议" >
+                    <input type="button" class="btn btn-primary" onclick="addCoopAgree()" value="添加合作协议" >
                     <table class="table table-border table-bg table-bordered" style="margin-top: 10px;" id="">
                         <thead>
                         <tr class="text-c" id="table1">
-                            <th style="text-align: center;" width="30" >合作时间</th>
-                            <th style="text-align: center;" width="30" >合作协议</th>
-                            <th style="text-align: center;" width="10">备注</th>
-                            <th style="text-align: center;" width="5">操作</th>
+                            <th style="text-align: center;" width="15" >合作时间</th>
+                            <th style="text-align: center;" width="15" >合作协议</th>
+                            <th style="text-align: center;" width="40">备注</th>
+                            <th style="text-align: center;" width="10">操作</th>
                         </tr>
                         </thead>
-                        <tbody id="add_color_id">
+                        <tbody id="add_coop_agree">
                         <tr><td colspan="4" class="td-manage text-c" >暂时没有合作协议,请添加!</td></tr>
                         </tbody>
                     </table>
                 </div>
+                <input type="hidden" name="add_coop_agree_json" id="add_coop_agree_json" value="">
             </div>
 
             <div class="row cl">
                 <label class="form-label col-3">
-                    <div class="tit-2">问题回复</div>
+                    <div class="tit-2">备注</div>
                 </label>
                 <div class="formControls col-9">
                 </div>
             </div>
 
-            <div class="row cl" id="" style="margin-top: 30px">
+            <div class="row cl" id="" style="margin-left: 25px;">
                 <div class="formControls col-11 col-sm-11">
                     <textarea id="dealerRemarks" name="dealerRemarks" style="height: 65px;width: 100%"></textarea>
                 </div>
@@ -256,10 +258,7 @@
 </script>
 <script type="text/javascript" charset="utf-8" src="${path}/common/js/dealer/dealer.js"></script>
 
-
-
 <script type="text/javascript">
-
     $('.skin-minimal input').iCheck({
         checkboxClass: 'icheckbox-blue',
         radioClass: 'iradio-blue',
@@ -268,19 +267,10 @@
     //是否是修改
     var ISUPDATE = false;
 
-    var PRODUCT_ID_PREFIX = "PRODUCT_";
-    var PRODUCT_ID_NUM = 0;
-    var PRODUCT_IS_UPDATE = 1;  //用来标识渠道的弹窗是添加还是修改,  1添加 2修改
+    var CONTACT_TR_NUM =  0; //对接人 的 数量  1:表示有   0:表示没有
+    var CHANNEL_TR_NUM = 0; //渠道信息数量  1:表示有   0:表示没有
     var PRODUCT_TR_NUM = 0; //渠道信息数量  1:表示有   0:表示没有
-    /**
-     * 添加产品
-     */
-    function addDealerProduct() {
-        PRODUCT_IS_UPDATE = 1;
-        PRODUCT_TR_NUM ++;
-        var dealProdIdStr = PRODUCT_ID_PREFIX + PRODUCT_ID_NUM;
-        layer_show_height("添加对接人","${path}/admin/dealer/to_add_dealer_product?dealProdIdStr="+dealProdIdStr,1);
-    }
+    var COOPERATIONAGREE_TR_NUM = 0; //渠道信息数量  1:表示有   0:表示没有
 
 
 </script>

+ 395 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/dm/dealer/add_dealer_product.ftl

@@ -0,0 +1,395 @@
+<!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 rel="stylesheet" type="text/css" href="${path}/common/lib/layui/css/layui.css" />
+
+    <style>
+        .tit{position: relative;text-align: left;font-size: 16px;padding-left: 10px;}
+        .tit:after{content: '';position: absolute;left: 0;top: 20%;height: 60%;width: 3px;background-color: #32a3d8;}
+        .tit-2{position: relative;text-align: left;font-size: 16px;padding-left: 10px;color: #50a2ea;}
+        .tit-2:after{content: '';position: absolute;left: 0;top: 50%;height: 6px;width: 6px;border-radius: 6px;margin-top: -3px; background-color: #32a3d8;}
+        #province select{margin-right:10px; width:100px;height: 31px;-webkit-appearance:none !important;appearance:none;background: url(${path}/common/images/cm/select-1.png) right center no-repeat;background-size: auto 100%;padding-left:3px;padding-right: 25px;}
+        .ac_results li a {white-space: nowrap;text-decoration:none;display:block;color:#05a;padding:1px 3px}
+        .ac_results li {border:1px solid #fff}
+        .ac_results li a span {float:right}
+        .select-box{background: url(${path}/common/images/cm/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: 15px;}
+        .dalog-ask{position: absolute;left:60%;top:0;-webkit-transform: translateY(-30%);transform: translateY(-30%);display: none;background-color: #fff;z-index: 10;}
+        .tag{ width:300px; min-height:300px; border:1px solid #32a3d8; position:relative;background-color: #fff;line-height: 1.5;padding: 10px 12px;}
+        .tag em{display:block; border-width:15px; position:absolute; top:30%; left:-30px;border-style:solid dashed dashed; border-color:transparent  #32a3d8 transparent transparent;font-size:0; line-height:0;}
+        .time-line-list{list-style: none;width: 100%;margin-left: -20px;}
+        .time-line-list>li{position: relative;float: left; text-align: center;width: 100px;overflow: hidden;white-space: nowrap;word-break: break-all;padding: 2px 0;}
+        .time-line-list .number{display: inline-block; padding: 2px; background: #32a3d8;border: 2px solid #fff;box-shadow:0 0 0 1px #32a3d8;width: 20px;height: 20px;color: #fff;line-height: 20px;border-radius: 50%;}
+        .time-line-list>li:before{content:'';position: absolute;height: 1px;width: 30%;right:0;top: 15px; background-color: #32a3d8;}
+        .time-line-list>li:after{content: '';position: absolute;height: 1px;width: 30%;left: 0;top: 15px;background:#32a3d8;}
+        .time-line-list>li:first-child:after,.time-line-list>li:last-child:before{display: none;}
+        .time-line-list .arrow{border-width:7px; position:absolute; left:25%; top:9px;border-style:solid dashed dashed; border-color:transparent  transparent  transparent #32a3d8;font-size:0; line-height:0;}
+        .time-line-list>li:first-child .arrow{display: none;}
+        .table-bg th{background-color: #e2f6ff;}
+        .update-parts>span{margin-right: 10px;padding: 3px 4px;background-color: #effaff;border: 1px solid #32a3d8;}
+        .msg-phone{height: 35px;line-height: 35px;}
+        .all_down{text-decoration: underline;color: #00c;}
+        .form-label{}
+        .layui-table-view .layui-table {width:100%}
+    </style>
+    <title>供应产品 - 客户管理 - RST</title>
+</head>
+<body>
+
+<article class="page-container" style="padding: 10px;">
+    <div class="pd-20 cl" style="padding-top: 0px;" >
+        <form  method="post" class="form form-horizontal" id="form-contact"  >
+
+            <input type="hidden" class="input-text" value="${dealerProduct.dealProdId!0}" id="dealProdId" name="dealProdId"  >
+            <input type="hidden" class="input-text" value="${dealerProduct.dealProdIdStr!""}" id="dealProdIdStr" name="dealProdIdStr"  >
+
+            <div class="row cl" style="margin-left: 0px;">
+                <div class="formControls col-xs-2 col-sm-2" style="padding: 0px 2px;">
+                    <input type="text" class="input-text trim_input" value="" placeholder="产品名称" id="productName" name="productName" >
+                </div>
+                <div class="formControls col-xs-2 col-sm-2"  style="padding: 0px 2px;">
+                    <input type="text" class="input-text trim_input" value="" placeholder="颜色" id="colorName" name="colorName" >
+                </div>
+                <div class="formControls col-xs-2 col-sm-2"  style="padding: 0px 2px;">
+                    <input type="text" class="input-text trim_input" value="" placeholder="69码" id="colorBar" name="colorBar" >
+                </div>
+                <div class="col-xs-2 col-sm-2">
+                    <input type="text" style="width: 100%;" class="btn btn-primary " data-type="reload"  value="搜索">
+                </div>
+            </div>
+
+            <table class="layui-hide" id="product_table" lay-filter="product_table"></table>
+
+            <div class="row cl">
+                <label class="form-label col-xs-2 col-sm-2"  style="text-align: right;"><span class="c-red">*</span>店铺范围:</label>
+                <div class="formControls col-xs-9 col-sm-9 skin-minimal" >
+                    <div class="radio-box">
+                        <input type="radio" id="dealProdStoreArea-1" name="dealProdStoreArea" value="1" checked >
+                        <label for="dealProdStoreArea-1" style="line-height: 27px;">全部店铺</label>
+                    </div>
+                    <div class="radio-box">
+                        <input type="radio" id="dealProdStoreArea-2" name="dealProdStoreArea" value="2" >
+                        <label for="dealProdStoreArea-2" style="line-height: 27px;">部分店铺</label>
+                    </div>
+                </div>
+            </div>
+
+            <div class="row cl" id="selectStore" style="display: none">
+                <label class="form-label col-xs-2 col-sm-2"  style="text-align: right;"><span class="c-red">*</span>选择店铺:</label>
+                <div class="formControls col-xs-9 col-sm-9 skin-minimal" >
+                    <div class="radio-box">
+                        <input type="checkbox" class="all_checkbox" id="productAreaRela-x" name="productAreaRela" value="0"  >
+                        <label for="productAreaRela-x">全选</label>
+                    </div>
+                    <br>
+                    <div>
+                        <#if dealerProductStoreList??>
+                            <#list dealerProductStoreList as dealerProductStore>
+                                <div class="radio-box">
+                                    <input type="checkbox" class="son_checkbox" id="productAreaRela-${dealerProductStore_index}" name="productAreaRela" value="${dealerProductStore.storeId}"  >
+                                    <label style="width: 130px;display: block;" for="productAreaRela-${dealerProductStore_index}">${dealerProductStore.storeName}</label>
+                                </div>
+                            </#list>
+                        </#if>
+                    </div>
+                </div>
+            </div>
+
+            <div class="row cl" id="" style="">
+                <label class="form-label col-xs-2 col-sm-2" style="text-align: right;"><span class="c-red">*</span>供应价格:</label>
+                <div class="formControls col-xs-5 col-sm-5">
+                    <input type="text" class="input-text input-number add_form" value="${dealerProduct.dealProdPrice!""}" placeholder="填写供应价格" id="dealProdPrice" myMinlength="1"  errormsg="请输入价格" name="dealProdPrice" onkeyup="keyFun($(this),99999,0)" onpaste="keyFun($(this),99999,0)">
+                </div>
+            </div>
+
+            <div class="row cl" style="margin-top: 30px">
+                <div class="col-2 col-sm-2 col-offset-3">
+                    <input type="text" class="btn  btn-primary "  data-type="getCheckData" value="保存">
+                </div>
+            </div>
+
+        </form>
+    </div>
+</article>
+<script type="text/javascript">
+    var url_path = "${path}";
+</script>
+<script src="${path}/common/lib/layui/layui.js" charset="utf-8"></script>
+
+<script type="text/javascript">
+
+    $('.skin-minimal input').iCheck({
+        checkboxClass: 'icheckbox-blue',
+        radioClass: 'iradio-blue',
+        increaseArea: '20%'
+    });
+
+    var isSonCh = false;
+    //选中
+    $('.all_checkbox').on('ifChecked', function(event){
+        isSonCh = false;
+        $(".son_checkbox").iCheck('check');
+    });
+    //取消
+    $('.all_checkbox').on('ifUnchecked', function (event) {
+        if(!isSonCh){
+            $(".son_checkbox").iCheck('uncheck');
+        }else{
+            isSonCh = false;
+        }
+    });
+    //选中
+    $('.son_checkbox').on('ifChecked', function(event){
+        var allCheck = true;
+        $(".son_checkbox").each(function () {
+            if(!$(this).is(':checked')){
+                allCheck = false;
+            }
+        });
+        if(allCheck){
+            $(".all_checkbox").iCheck('check');
+        }
+    });
+    //取消
+    $('.son_checkbox').on('ifUnchecked', function (event) {
+        isSonCh = true;
+        $(".all_checkbox").iCheck('uncheck');
+    });
+
+    $(function () {
+        var allCheck = true;
+        $(".son_checkbox").each(function () {
+            if(!$(this).is(':checked')){
+                allCheck = false;
+            }
+        });
+        if(allCheck){
+            $(".all_checkbox").iCheck('check');
+        }
+    });
+
+    //取消
+    $("#dealProdStoreArea-1").on('ifUnchecked', function (event) {
+        $("#selectStore").show();
+    });
+    //取消
+    $("#dealProdStoreArea-2").on('ifUnchecked', function (event) {
+        $("#selectStore").hide();
+    });
+
+    /**
+     * 保存
+     */
+    function save_product() {
+
+    }
+
+    /**
+     * 验证
+     * @returns {boolean}
+     */
+    function verification(){
+        var flag = true;
+        $("#form-contact").find(".add_form").each(function () {
+            var $node = $(this);
+            var myValue = $node.val();
+            var myMinlength = $node.attr("myMinlength");
+            if(!isEmpty(myMinlength)){
+                myMinlength = 0;
+            }
+            if(!isEmpty(myValue) && myMinlength != 0){
+                vailErrorMsg_3($(this),$(this).attr("errormsg"));
+                flag = false;
+                return false;
+            }
+            var myMaxlength = $node.attr("myMaxlength");
+            if(isEmpty(myMaxlength)){
+                if(myValue.length > myMaxlength){
+                    vailErrorMsg_3($(this),$(this).attr("errormsg"));
+                    flag = false;
+                    return false;
+                }
+            }
+        });
+        return flag;
+    }
+</script>
+
+<script>
+    layui.use(['table','form'], function(){
+        var table = layui.table;
+        var form = layui.form;
+
+        //.存储当前页数据集
+        var pageData = [];
+        //.存储已选择数据集,用普通变量存储也行
+        layui.data('checked', null);
+
+        //.渲染完成回调
+        var myDone = function(res) {
+            //.假设你的表格指定的 id="maintb",找到框架渲染的表格
+            var tbl = $('#product_table').next('.layui-table-view');
+
+            //.记下当前页数据,Ajax 请求的数据集,对应你后端返回的数据字段
+            pageData = res.dataList;
+            var len = pageData.length;
+
+            //.遍历当前页数据,对比已选中项中的 id
+            for (var i = 0; i < len; i++) {
+                if (layui.data('checked', pageData[i]['colorId'])) {
+                    //.选中它,目前版本没有任何与数据或表格 id 相关的标识,不太好搞,土办法选择它吧
+                    tbl.find('table>tbody>tr').eq(i).find('td').eq(0).find('input[type=checkbox]').prop('checked', true);
+                }
+            }
+            //.PS:table 中点击选择后会记录到 table.cache,没暴露出来,也不能 mytbl.renderForm('checkbox');
+            //.暂时只能这样渲染表单
+            form.render('checkbox');
+        };
+
+        table.render({
+            elem: '#product_table'
+            ,url:root_path + "/admin/product/color_page"
+            ,where:{}
+            ,done: myDone
+            ,cols: [[
+                {type:'checkbox',field:'left', width:'5%', align:'center',style:"font-size:12px;"}
+                ,{field:'colorId',width:'7%', title: 'ID', sort: true,style:"font-size:12px;"}
+                ,{field:'productName', width:'',   title: '产品名称', sort: false,style:"font-size:12px;"}
+                ,{field:'colorName', width:'15%',   title: '颜色', sort: false,style:"font-size:12px;"}
+                ,{field:'colorBar', width:'20%', title: '69码', sort: false,align:'center',style:"font-size:12px;"}
+//                ,{field:'right', width:'13%', title: '操作',sort: false, toolbar: '#barDemo',style:"font-size:12px;"}
+            ]]
+            ,request: {
+                pageName: 'pageNO' //页码的参数名称,默认:page
+                ,limitName: 'pageSize' //每页数据量的参数名,默认:limit
+            }
+            ,response: {
+                statusName: 'resultCode' //数据状态的字段名称,默认:code
+                ,statusCode:200 //成功的状态码,默认:0
+                ,msgName: 'message' //状态信息的字段名称,默认:msg
+                ,countName: 'total' //数据总数的字段名称,默认:count
+                ,dataName: 'dataList' //数据列表的字段名称,默认:data
+            }
+            ,page: { //支持传入 laypage 组件的所有参数(某些参数除外,如:jump/elem) - 详见文档
+                layout: ['limit', 'count', 'prev', 'page', 'next', 'skip'] //自定义分页布局
+                ,limit:10
+                ,limits:[ 10, 20, 50]
+                //,curr: 5 //设定初始在第 5 页
+                ,groups: 3 //只显示 1 个连续页码
+                // ,first: "1" //不显示首页
+                //,last:   //不显示尾页
+                ,prev:'上一页'
+                ,next:'下一页'
+            }
+            ,id: 'layuiTable'
+        });
+
+        //.监听选择,记录已选择项
+        table.on('checkbox(product_table)', function(obj) {
+            //.全选或单选数据集不一样
+            var data = obj.type == 'one' ? [obj.data] : pageData;
+            //.遍历数据
+            $.each(data, function(k, v) {
+                //.假设你数据中 id 是唯一关键字
+                if (obj.checked) {
+                    //.增加已选中项
+                    layui.data('checked', {
+                        key: v.colorId, value: v
+                    });
+                } else {
+                    //.删除
+                    layui.data('checked', {
+                        key: v.colorId, remove: true
+                    });
+                }
+            });
+        });
+
+        var $ = layui.$, active = {
+            reload: function(){
+                var productName = $('#productName').val();
+                var colorName = $('#colorName').val();
+                var colorBar = $('#colorBar').val();
+
+                //执行重载
+                table.reload('layuiTable', {
+                    page: {
+                        curr: 1 //重新从第 1 页开始
+                    }
+                    ,where: {
+                        productName : productName,
+                        colorName : colorName,
+                        colorBar : colorBar
+                    }
+                });
+            },
+            getCheckData: function(){ //获取选中数据
+                if(!verification()){
+                    return false;
+                }
+                var dealerProductArray = new Array();
+                $.each(layui.data('checked'), function(k, v) {
+                    var dealerProduct = new Object();
+                    dealerProduct.dealProdId=v.dealProdId;
+                    dealerProduct.dealProdIdStr=v.dealProdIdStr;
+                    dealerProduct.colorProductId=v.colorProductId;
+                    dealerProduct.colorId=v.colorId;
+                    dealerProduct.productName=v.productName;
+                    dealerProduct.colorName=v.colorName;
+                    var dealProdStoreArea = $("input[name=dealProdStoreArea]:checked").val();
+                    dealerProduct.dealProdStoreArea=dealProdStoreArea;
+                    if(dealProdStoreArea == 2){
+                        var dealerProductStoreIds = '';
+                        var dealerProductStoreName = '';
+                        $(".son_checkbox").each(function () {
+                            if($(this).is(':checked')){
+                                if(dealerProductStoreIds == ''){
+                                    dealerProductStoreIds = $(this).val();
+                                    var id = $(this).attr("id");
+                                    dealerProductStoreName = $("label[for="+id+"]").text();
+                                }else{
+                                    dealerProductStoreIds += ','+$(this).val();
+                                    var id = $(this).attr("id");
+                                    dealerProductStoreName += ','+ $("label[for="+id+"]").text();
+                                }
+                            }
+                        });
+                        dealerProduct.dealerProductStoreIds=dealerProductStoreIds;
+                        dealerProduct.dealerProductStoreName=dealerProductStoreName;
+                    }else{
+                        dealerProduct.dealerProductStoreIds=null;
+                        dealerProduct.dealerProductStoreName=null;
+                    }
+                    dealerProduct.dealProdPrice=$("#dealProdPrice").val();
+                    dealerProductArray.push(dealerProduct);
+                });
+                parent.showDealerProduct(dealerProductArray);
+                parent.layer.close(parent.layer.getFrameIndex(window.name));
+            }
+        };
+
+        form.on('submit(admin-form)', function(data){
+            var type = $(this).data('type');
+            active[type] ? active[type].call(this) : '';
+            return false;
+        });
+
+        $('.btn-primary').on('click', function(){
+            var type = $(this).data('type');
+            active[type] ? active[type].call(this) : '';
+        });
+
+    });
+
+</script>
+
+
+</body>
+</html>

+ 44 - 30
watero-rst-web/src/main/webapp/WEB-INF/views/dm/dealer/dealer_list.ftl

@@ -41,33 +41,28 @@
         <form action="${path}/admin/complaintQuestion/question_page" method="post">
             <button type="button" style="cursor:pointer; float: left;height: 35px;margin-right: 30px;margin-bottom: 10px;" class="my-btn-search" onclick="toAdddealer();">添加客户</button>
 
-           <#--
-
-            <select class="my-select" name="detectComplaintType" id="detectComplaintType" style="height: 36px;width: 132px;margin: 0px;padding: 12px 10px 6px 15px;margin-bottom: 10px;">
-                <option value="">产品分类</option>
-                <option value="1" <#if complaintQuestionInfo.detectComplaintType??><#if complaintQuestionInfo.detectComplaintType == 1 >selected="selected"</#if></#if>>净水机</option>
-                <option value="2" <#if complaintQuestionInfo.detectComplaintType??><#if complaintQuestionInfo.detectComplaintType == 2 >selected="selected"</#if></#if>>电动牙刷</option>
-                <option value="3" <#if complaintQuestionInfo.detectComplaintType??><#if complaintQuestionInfo.detectComplaintType == 3 >selected="selected"</#if></#if>>净水花洒</option>
-                <option value="4" <#if complaintQuestionInfo.detectComplaintType??><#if complaintQuestionInfo.detectComplaintType == 4 >selected="selected"</#if></#if>>软水机</option>
-                <option value="5" <#if complaintQuestionInfo.detectComplaintType??><#if complaintQuestionInfo.detectComplaintType == 5 >selected="selected"</#if></#if>>果蔬机</option>
-                <option value="6" <#if complaintQuestionInfo.detectComplaintType??><#if complaintQuestionInfo.detectComplaintType == 6 >selected="selected"</#if></#if>>净水龙头</option>
-            </select>
 
-            <select class="my-select" name="questionIsQcDetect" id="questionIsQcDetect" style="height: 36px;width: 132px;margin: 0px;padding: 12px 10px 6px 15px;margin-bottom: 10px;">
-                <option value="">QC检测</option>
-                <option value="1" <#if complaintQuestionInfo.questionIsQcDetect??><#if complaintQuestionInfo.questionIsQcDetect == 1 >selected="selected"</#if></#if>>需要</option>
-                <option value="0" <#if complaintQuestionInfo.questionIsQcDetect??><#if complaintQuestionInfo.questionIsQcDetect == 0 >selected="selected"</#if></#if>>不需要</option>
+            <select class="my-select" name="dealerState" id="dealerState" style="height: 36px;width: 132px;margin: 0px;padding: 12px 10px 6px 15px;margin-bottom: 10px;">
+                <option value="">合作进度</option>
+                <option value="1" <#if dmDealer.dealerState??><#if dmDealer.questionState == 1 >selected="selected"</#if></#if>>意向合作</option>
+                <option value="2" <#if dmDealer.dealerState??><#if dmDealer.questionState == 2 >selected="selected"</#if></#if>>已经合作</option>
+                <option value="3" <#if dmDealer.dealerState??><#if dmDealer.questionState == 3 >selected="selected"</#if></#if>>停止合作</option>
             </select>
 
-            <select class="my-select" name="questionState" id="questionState" style="height: 36px;width: 132px;margin: 0px;padding: 12px 10px 6px 15px;margin-bottom: 10px;">
-                <option value="">状态</option>
-                <option value="1" <#if complaintQuestionInfo.questionState??><#if complaintQuestionInfo.questionState == 1 >selected="selected"</#if></#if>>使用</option>
-                <option value="2" <#if complaintQuestionInfo.questionState??><#if complaintQuestionInfo.questionState == 2 >selected="selected"</#if></#if>>禁用</option>
+            <select class="my-select" name="dealerType" id="dealerType" style="height: 36px;width: 132px;margin: 0px;padding: 12px 10px 6px 15px;margin-bottom: 10px;">
+                <option value="">客户类型</option>
+                <option value="1" <#if dmDealer.dealerType??><#if dmDealer.dealerType == 1 >selected="selected"</#if></#if>>个人</option>
+                <option value="2" <#if dmDealer.dealerType??><#if dmDealer.dealerType == 2 >selected="selected"</#if></#if>>企业</option>
+            </select>
+            <select class="my-select" name="dealerSelfOperated" id="dealerSelfOperated" style="height: 36px;width: 132px;margin: 0px;padding: 12px 10px 6px 15px;margin-bottom: 10px;">
+                <option value="">是否自营</option>
+                <option value="1" <#if dmDealer.dealerSelfOperated??><#if dmDealer.dealerSelfOperated == 1 >selected="selected"</#if></#if>>自营</option>
+                <option value="2" <#if dmDealer.dealerSelfOperated??><#if dmDealer.dealerSelfOperated == 2 >selected="selected"</#if></#if>>非自营</option>
             </select>
 
+            <input type="text" class="my-input trim_input"  style="width:120px;margin-right: 0px; margin-bottom: 8px;" value="${dmDealer.dealerName!}" placeholder="客户名称" id="dealerName" name="dealerName">
+            <input type="text" class="my-input trim_input"  style="width:120px;margin-right: 0px; margin-bottom: 8px;" value="${dmDealer.dealerIndustry!}" placeholder="客户行业" id="dealerIndustry" name="dealerIndustry">
 
-            <input type="text" class="my-input trim_input"  style="width:120px;margin-right: 0px; margin-bottom: 8px;" value="${complaintQuestionInfo.questionName!}" placeholder="问题名称" id="questionName" name="questionName">
--->
             <button type="submit" class="btn" style="background: #50a2ea;border: 1px solid #50a2ea;color: #fff;height: 35px;margin-top: -8px;"><i class="Hui-iconfont">&#xe665;</i> 查询</button>
 
         </form>
@@ -81,7 +76,7 @@
             <th width="50">客户名称</th>
             <th width="50">客户类型</th>
             <th width="50">是否自营</th>
-            <th width="150">客户行业</th>
+            <th width="50">客户行业</th>
             <th width="40">合作状态</th>
             <th width="40">首次合作时间</th>
             <th width="60">合同有效期</th>
@@ -97,18 +92,37 @@
                     <#list page.dataList as dmDealer>
                         <tr class="text-c">
                             <td>${dmDealer.dealerName!''}</td>
-                            <td>${dmDealer.dealerType!''}</td>
+                            <td>
+                                <#if dmDealer.dealerType == 1>
+                                    个人
+                                <#elseif dmDealer.dealerType == 2>
+                                    企业
+                                </#if>
+                            </td>
                             <td>${dmDealer.dealerSelfOperated!''}</td>
                             <td>${dmDealer.dealerIndustry!''}</td>
-                            <td>${dmDealer.dealerState!''}</td>
-                            <td></td>
+                            <td>
+                                <#if dmDealer.dealerState == 1>
+                                    意向合作
+                                <#elseif dmDealer.dealerState == 2>
+                                    已经合作
+                                <#elseif dmDealer.dealerState == 3>
+                                    停止合作
+                                </#if>
+                            </td>
                             <td></td>
                             <td></td>
                             <td></td>
                             <td></td>
+                            <td>${dmDealer.dealerRemarks!''}</td>
                             <td></td>
                             <td>
-                                <#if question.questionState == 1>
+
+                                <a style="text-decoration:none" href="javascript:void(0);" title="修改" onclick="toUpdateDealer(${dmDealer.dealerId!''})">
+                                    <font color=#06c>修改</font>
+                                </a>
+
+                                <#--<#if question.questionState == 1>
                                     <a style="text-decoration:none" href="javascript:void(0);" title="禁用" onclick="forbid(${dmDealer.dealerId!''},2)">
                                         <font color=#06c>禁用</font>
                                     </a>
@@ -124,7 +138,7 @@
                                 &nbsp;
                                 <a style="text-decoration:none" href="javascript:void(0);" title="查看" onclick="detail(${dmDealer.dealerId!''})">
                                     <font color=#06c>查看</font>
-                                </a>
+                                </a>-->
                             </td>
                         </tr>
                     </#list>
@@ -154,10 +168,10 @@
     }
 
     /**
-     * 跳转到添加Question页面
+     * 跳转到修改dealer
      */
-    function toUpdateQuestion(questionId){
-        window.location.href= "${path}/admin/complaintQuestion/to_update_question?questionId="+questionId;
+    function toUpdateDealer(dealerId){
+        window.location.href= "${path}/admin/dealer/to_update_dealer?dealerId="+dealerId;
     }
 
     /**

+ 356 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/dm/dealer/update_dealer.ftl

@@ -0,0 +1,356 @@
+<!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">
+
+    <style>
+        .tit{position: relative;text-align: left;font-size: 16px;padding-left: 10px;}
+        .tit:after{content: '';position: absolute;left: 0;top: 20%;height: 60%;width: 3px;background-color: #32a3d8;}
+        .tit-2{position: relative;text-align: left;font-size: 16px;padding-left: 10px;color: #50a2ea;}
+        .tit-2:after{content: '';position: absolute;left: 0;top: 50%;height: 6px;width: 6px;border-radius: 6px;margin-top: -3px; background-color: #32a3d8;}
+        #province select{margin-right:10px; width:100px;height: 31px;-webkit-appearance:none !important;appearance:none;background: url(${path}/common/images/cm/select-1.png) right center no-repeat;background-size: auto 100%;padding-left:3px;padding-right: 25px;}
+        .ac_results li a {white-space: nowrap;text-decoration:none;display:block;color:#05a;padding:1px 3px}
+        .ac_results li {border:1px solid #fff}
+        .ac_results li a span {float:right}
+        .select-box{background: url(${path}/common/images/cm/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: 15px;}
+        .dalog-ask{position: absolute;left:60%;top:0;-webkit-transform: translateY(-30%);transform: translateY(-30%);display: none;background-color: #fff;z-index: 10;}
+        .tag{ width:300px; min-height:300px; border:1px solid #32a3d8; position:relative;background-color: #fff;line-height: 1.5;padding: 10px 12px;}
+        .tag em{display:block; border-width:15px; position:absolute; top:30%; left:-30px;border-style:solid dashed dashed; border-color:transparent  #32a3d8 transparent transparent;font-size:0; line-height:0;}
+        .time-line-list{list-style: none;width: 100%;margin-left: -20px;}
+        .time-line-list>li{position: relative;float: left; text-align: center;width: 100px;overflow: hidden;white-space: nowrap;word-break: break-all;padding: 2px 0;}
+        .time-line-list .number{display: inline-block; padding: 2px; background: #32a3d8;border: 2px solid #fff;box-shadow:0 0 0 1px #32a3d8;width: 20px;height: 20px;color: #fff;line-height: 20px;border-radius: 50%;}
+        .time-line-list>li:before{content:'';position: absolute;height: 1px;width: 30%;right:0;top: 15px; background-color: #32a3d8;}
+        .time-line-list>li:after{content: '';position: absolute;height: 1px;width: 30%;left: 0;top: 15px;background:#32a3d8;}
+        .time-line-list>li:first-child:after,.time-line-list>li:last-child:before{display: none;}
+        .time-line-list .arrow{border-width:7px; position:absolute; left:25%; top:9px;border-style:solid dashed dashed; border-color:transparent  transparent  transparent #32a3d8;font-size:0; line-height:0;}
+        .time-line-list>li:first-child .arrow{display: none;}
+        .table-bg th{background-color: #e2f6ff;}
+        .update-parts>span{margin-right: 10px;padding: 3px 4px;background-color: #effaff;border: 1px solid #32a3d8;}
+        .msg-phone{height: 35px;line-height: 35px;}
+        .col-sm-1{width: 150px;}
+
+        .all_down{text-decoration: underline;color: #00c;}
+    </style>
+    <title>添加客户 - 客户管理 - RST</title>
+</head>
+<body>
+<nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页
+    <span class="c-gray en">/</span> 客户管理
+    <span class="c-gray en">/</span> 添加客户
+    <a class="btn radius r"
+       href="javascript:location.replace(location.href);" title="刷新"><i class="Hui-iconfont">&#xe68f;</i></a>
+    <a class="btn radius r"
+       href="javascript:history.back(-1);" title="后退"><i class="Hui-iconfont">&#xe6d4;</i></a>
+</nav>
+<article class="page-container" style="padding: 10px;">
+    <div class="pd-20 cl" style="padding-top: 0px;">
+        <form action="${path}/admin/dealer/dealere_update" method="post" class="form form-horizontal" id="form-dealer"  onkeydown="if(event.keyCode==13)return false;">
+
+            <input type="hidden" name="dealerId" value="${dmDealer.dealerId!''}">
+
+            <div class="row cl">
+                <label class="form-label col-3">
+                    <div class="tit-2">客户基本信息</div>
+                </label>
+                <div class="formControls col-9">
+                </div>
+            </div>
+
+            <div class="row cl" id="" style="">
+                <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>客户名称:</label>
+                <div class="formControls col-3 col-sm-3">
+                    <input type="text" class="input-text" value="${dmDealer.dealerName!''}" placeholder="填写客户名称" id="dealerName" name="dealerName" datatype="*1-20" errormsg="客户名称格式不正确!" >
+                </div>
+                <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>客户行业:</label>
+                <div class="formControls col-3 col-sm-3">
+                    <input type="text" class="input-text" value="${dmDealer.dealerIndustry!''}" placeholder="填写客户行业" id="dealerIndustry" name="dealerIndustry" datatype="*1-20" errormsg="客户行业格式不正确!" >
+                </div>
+            </div>
+
+            <div class="row cl" id="" style="">
+                <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>是否自营:</label>
+                <div class="formControls col-3 col-sm-3  skin-minimal">
+                    <div class="radio-box">
+                        <input type="radio" id="tel-1" name="dealerSelfOperated" value="1" <#if dmDealer.dealerSelfOperated == 1>checked</#if>>
+                        <label for="tel-1">自营</label>
+                    </div>
+                    <div class="radio-box">
+                        <input type="radio" id="tel-2" name="dealerSelfOperated" value="2" <#if dmDealer.dealerSelfOperated == 2>checked</#if>>
+                        <label for="tel-2">非自营</label>
+                    </div>
+                </div>
+
+                <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>提款费率:</label>
+                <div class="formControls col-3 col-sm-3">
+                    <input type="text" class="input-text" value="${(dmDealer.dealerRate?string(",##0.######"))!'0'}" placeholder="填写提款费率" id="dealerRate" name="dealerRate" >
+                </div>
+            </div>
+
+            <div class="row cl" id="" style="">
+                <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>客户类型:</label>
+                <div class="formControls col-3 col-sm-3" >
+                    <span class="select-box">
+                         <select name="dealerType" class="select" >
+                             <option value="1" <#if dmDealer.dealerType == 1>selected</#if>>个人</option>
+                             <option value="2" <#if dmDealer.dealerType == 2>selected</#if>>企业</option>
+                         </select>
+				    </span>
+                </div>
+                <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>合作进度:</label>
+                <div class="formControls col-3 col-sm-3" >
+                    <span class="select-box">
+                         <select name="dealerState" class="select" >
+                             <option value="1"  <#if dmDealer.dealerState == 1>selected</#if>>意向合作</option>
+                             <option value="2" <#if dmDealer.dealerState == 2>selected</#if>>已经合作</option>
+                             <option value="3" <#if dmDealer.dealerState == 3>selected</#if>>停止合作</option>
+                         </select>
+				    </span>
+                </div>
+            </div>
+
+            <div class="row cl">
+                <label class="form-label col-3">
+                    <div class="tit-2">对接人信息</div>
+                </label>
+                <div class="formControls col-9">
+                </div>
+            </div>
+
+            <div class="row cl" id="add_contact_make" style="margin-left: 25px;">
+                <div class="formControls col-11 col-sm-11">
+                    <input type="button" class="btn btn-primary" onclick="addDealerContact()" value="添加对接人" >
+                    <table class="table table-border table-bg table-bordered" style="margin-top: 10px;" id="">
+                        <thead>
+                            <tr class="text-c" id="table1">
+                                <th width="30" >姓名</th>
+                                <th width="30" >职位</th>
+                                <th width="10">电话</th>
+                                <th width="10">邮箱</th>
+                                <th width="30">微信号</th>
+                                <th width="30">QQ号</th>
+                                <th width="10">操作</th>
+                            </tr>
+                        </thead>
+                        <tbody id="add_contact">
+                            <#if dealerContactList?? &&  (dealerContactList?size > 0) >
+                                <#list dealerContactList as dealerContact>
+                                    <tr class="text-c">
+                                        <input type="hidden" class="input-text dealContactId" value="${dealerContact.dealContactId!''}" >
+                                        <input type="hidden" class="input-text dealContactStr" value="${dealerContact.dealContactId!''}">
+                                        <td class="dealContactName">${dealerContact.dealContactName!''}</td>
+                                        <td class="dealContactType">${dealerContact.dealContactType!''}</td>
+                                        <td class="dealContactPhone">${dealerContact.dealContactPhone!''}</td>
+                                        <td class="dealContactEmail">${dealerContact.dealContactEmail!''}</td>
+                                        <td class="dealContactWechat">${dealerContact.dealContactWechat!''}</td>
+                                        <td class="dealContactQq">${dealerContact.dealContactQq!''}</td>
+                                        <td>
+                                            <a href="javascript:void(0)" onclick="updateDealerContact($(this))">修改</a>&nbsp;&nbsp;
+                                            <a href="javascript:void(0)" onclick="delTableByTr($(this),1)">删除</a>
+                                        </td>
+                                    </tr>
+                                </#list>
+                            </#if>
+                        </tbody>
+                    </table>
+                </div>
+                <input type="hidden" name="add_contact_json" id="add_contact_json" value="">
+            </div>
+
+            <div class="row cl">
+                <label class="form-label col-3">
+                    <div class="tit-2">销售渠道信息</div>
+                </label>
+                <div class="formControls col-9">
+                </div>
+            </div>
+
+            <div class="row cl" id="add_dealer_channel_make" style="margin-left: 25px;">
+                <div class="formControls col-11 col-sm-11">
+                    <input type="button" class="btn btn-primary" onclick="addDealerChannnel()" value="添加销售渠道" >
+                    <table class="table table-border table-bg table-bordered" style="margin-top: 10px;" id="">
+                        <thead>
+                        <tr class="text-c" id="table1">
+                            <th style="text-align: center;" width="30" >渠道类别</th>
+                            <th style="text-align: center;" width="30" >渠道类型</th>
+                            <th style="text-align: center;" width="10">渠道名称</th>
+                            <th style="text-align: center;" width="10">账期</th>
+                            <th style="text-align: center;" width="5">操作</th>
+                        </tr>
+                        </thead>
+                        <tbody id="add_dealer_channel">
+                            <#if dealerChannelList?? &&  (dealerChannelList?size > 0) >
+                                <#list dealerChannelList as dealerChannel>
+                                    <tr class="text-c">
+                                        <input type="hidden" class="input-text dealChannelId" value="${dealerChannel.dealChannelId!''}" >
+                                        <input type="hidden" class="input-text dealChannelIdStr" value="${dealerChannel.dealChannelId!''}" >
+                                        <input type="hidden" class="input-text channelId" value="${dealerChannel.channelId!''}" >
+                                        <input type="hidden" class="input-text channelTypeId" value="${dealerChannel.channelTypeId!''}" >
+                                        <input type="hidden" class="input-text storeId" value="${dealerChannel.storeId!''}" >
+                                        <td class="channelTypeName">${dealerChannel.channelTypeName!''}</td>
+                                        <td class="channelName">${dealerChannel.channelName!''}</td>
+                                        <td class="storeName">${dealerChannel.storeName!''}</td>
+                                        <td class="dealChannelAccountPeriod">${dealerChannel.dealChannelAccountPeriod!''}</td>
+                                        <td>
+                                            <a href="javascript:void(0)" onclick="updateDealerChannel($(this))">修改</a>&nbsp;&nbsp;
+                                            <a href="javascript:void(0)" onclick="delTableByTr($(this),2)">删除</a>
+                                        </td>
+                                    </tr>
+                                </#list>
+                            </#if>
+                        </tbody>
+                    </table>
+                </div>
+                <input type="hidden" name="add_dealer_channel_json" id="add_dealer_channel_json" value="">
+            </div>
+
+            <div class="row cl">
+                <label class="form-label col-3">
+                    <div class="tit-2">供应产品</div>
+                </label>
+                <div class="formControls col-9">
+                </div>
+            </div>
+
+            <div class="row cl" id="add_product_make" style="margin-left: 25px;">
+                <div class="formControls col-11 col-sm-11">
+                    <input type="button" class="btn btn-primary" onclick="addDealerProduct()" value="添加供应产品" >
+                    <table class="table table-border table-bg table-bordered" style="margin-top: 10px;" id="">
+                        <thead>
+                        <tr class="text-c" id="table1">
+                            <th style="text-align: center;" width="30" >产品名称</th>
+                            <th style="text-align: center;" width="30" >产品颜色</th>
+                            <th style="text-align: center;" width="10">供应价格</th>
+                            <th style="text-align: center;" width="10">供应渠道对象</th>
+                            <th style="text-align: center;" width="5">操作</th>
+                        </tr>
+                        </thead>
+                        <tbody id="add_product">
+                            <#if dealerProductList?? &&  (dealerProductList?size > 0) >
+                                <#list dealerProductList as dealerProduct>
+                                    <tr class="text-c">
+                                        <input type="hidden" class="input-text dealProdId" value="${dealerProduct.dealProdId!''}" >
+                                        <input type="hidden" class="input-text dealProdIdStr" value="${dealerProduct.dealProdId!''}" >
+                                        <input type="hidden" class="input-text colorProductId" value="${dealerProduct.colorProductId!''}" >
+                                        <input type="hidden" class="input-text colorId" value="${dealerProduct.colorId!''}" >
+                                        <input type="hidden" class="input-text dealProdStoreArea" value="${dealerProduct.dealProdStoreArea!''}" >
+                                        <input type="hidden" class="input-text dealerProductStoreIds" value="${dealerProduct.dealerProductStoreIds!''}" >
+                                        <td class="productName">${dealerProduct.productName!''}</td>
+                                        <td class="colorName">${dealerProduct.colorName!''}</td>
+                                        <td>
+                                            <input type="text" style="text-align: center;" class="input-text input-number dealProdPrice" value="${dealerProduct.dealProdPrice!''}"   onkeyup="keyFun($(this),99999,0)" onpaste="keyFun($(this),99999,0)">
+                                        </td>
+                                        <#if dealerProduct.dealProdStoreArea == 1>
+                                            <td class="dealerProductStoreName">全部店铺</td>
+                                        <#elseif dealerProduct.dealProdStoreArea == 2>
+                                            <td class="dealerProductStoreName"> ${dealerProduct.dealerProductStoreName}</td>
+                                        </#if>
+                                        <td><a href="javascript:void(0)" onclick="delTableByTr($(this),3)">删除</a></td>
+                                    </tr>
+                                </#list>
+                            </#if>
+                        </tbody>
+                    </table>
+                </div>
+                <input type="hidden" name="add_product_json" id="add_product_json" value="">
+            </div>
+
+            <div class="row cl">
+                <label class="form-label col-3">
+                    <div class="tit-2">合作协议</div>
+                </label>
+                <div class="formControls col-9">
+                </div>
+            </div>
+
+            <div class="row cl" id="add_coop_agree_make" style="margin-left: 25px;">
+                <div class="formControls col-11 col-sm-11">
+                    <input type="button" class="btn btn-primary" onclick="addCoopAgree()" value="添加合作协议" >
+                    <table class="table table-border table-bg table-bordered" style="margin-top: 10px;" id="">
+                        <thead>
+                        <tr class="text-c" id="table1">
+                            <th style="text-align: center;" width="15" >合作时间</th>
+                            <th style="text-align: center;" width="15" >合作协议</th>
+                            <th style="text-align: center;" width="40">备注</th>
+                            <th style="text-align: center;" width="10">操作</th>
+                        </tr>
+                        </thead>
+                        <tbody id="add_coop_agree">
+                            <#if cooperationAgreeList?? &&  (cooperationAgreeList?size > 0) >
+                                <#list cooperationAgreeList as cooperationAgree>
+                                    <tr class="text-c" >
+                                        <input type="hidden" class="input-text coopAgreeId" value="${cooperationAgree.coopAgreeId!''}" >
+                                        <input type="hidden" class="input-text coopAgreeIdStr" value="${cooperationAgree.coopAgreeId!''}" >
+                                        <input type="hidden" class="input-text coopAgreeImg" value="${cooperationAgree.coopAgreeImg!''}" >
+                                        <input type="hidden" class="input-text coopAgreeBeforeDate" value="${(cooperationAgree.coopAgreeBeforeDate?string('yyyy-MM-dd'))!''}" >
+                                        <input type="hidden" class="input-text coopAgreeEndDate" value="${(cooperationAgree.coopAgreeEndDate?string('yyyy-MM-dd'))!''}" >
+                                        <td class="coopAgreeDateHtml">${(cooperationAgree.coopAgreeBeforeDate?string('yyyy-MM-dd'))!''}&nbsp; - &nbsp;${(cooperationAgree.coopAgreeEndDate?string('yyyy-MM-dd'))!''}</td>
+                                        <td class="coopAgreeImgHtml"><img style="width: 75px;"  src="${path}/${cooperationAgree.coopAgreeImg!''}"></td>
+                                        <td class="coopAgreeRemake">${cooperationAgree.coopAgreeRemake!''}</td>
+                                        <td>
+                                            <a href="javascript:void(0)" onclick="updateCoopAgree($(this))">修改</a>&nbsp;&nbsp;
+                                            <a href="javascript:void(0)" onclick="delTableByTr($(this),4)">删除</a>
+                                        </td>
+                                    </tr>
+                                </#list>
+                            </#if>
+                        </tbody>
+                    </table>
+                </div>
+                <input type="hidden" name="add_coop_agree_json" id="add_coop_agree_json" value="">
+            </div>
+
+            <div class="row cl">
+                <label class="form-label col-3">
+                    <div class="tit-2">备注</div>
+                </label>
+                <div class="formControls col-9">
+                </div>
+            </div>
+
+            <div class="row cl" id="" style="margin-left: 25px;">
+                <div class="formControls col-11 col-sm-11">
+                    <textarea id="dealerRemarks" name="dealerRemarks" style="height: 65px;width: 100%">${dmDealer.dealerRemarks!''}</textarea>
+                </div>
+            </div>
+
+            <div class="row cl">
+                <div class="col-2 col-sm-2 col-offset-3">
+                    <button class="btn btn-block btn-primary size-XL" type="submit">确认录入</button>
+                </div>
+            </div>
+        </form>
+    </div>
+</article>
+<#-- 业务脚本JS -->
+<script type="text/javascript">
+    var url_path = "${path}";
+</script>
+<script type="text/javascript" charset="utf-8" src="${path}/common/js/dealer/dealer.js"></script>
+
+<script type="text/javascript">
+    $('.skin-minimal input').iCheck({
+        checkboxClass: 'icheckbox-blue',
+        radioClass: 'iradio-blue',
+        increaseArea: '20%'
+    });
+    //是否是修改
+    var ISUPDATE = true;
+
+    var CONTACT_TR_NUM =  <#if dealerContactList??>${dealerContactList?size}</#if>; //对接人 的 数量  1:表示有   0:表示没有
+    var CHANNEL_TR_NUM = <#if dealerChannelList??>${dealerChannelList?size}</#if>; //渠道信息数量  1:表示有   0:表示没有
+    var PRODUCT_TR_NUM = <#if dealerProductList??>${dealerProductList?size}</#if>; //渠道信息数量  1:表示有   0:表示没有
+    var COOPERATIONAGREE_TR_NUM = <#if cooperationAgreeList??>${cooperationAgreeList?size}</#if>; //渠道信息数量  1:表示有   0:表示没有
+
+</script>
+
+
+
+</body>
+</html>

+ 162 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/dm/financialReceipt/add_fr.ftl

@@ -0,0 +1,162 @@
+<!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">
+
+    <style>
+        .tit{position: relative;text-align: left;font-size: 16px;padding-left: 10px;}
+        .tit:after{content: '';position: absolute;left: 0;top: 20%;height: 60%;width: 3px;background-color: #32a3d8;}
+        .tit-2{position: relative;text-align: left;font-size: 16px;padding-left: 10px;color: #50a2ea;}
+        .tit-2:after{content: '';position: absolute;left: 0;top: 50%;height: 6px;width: 6px;border-radius: 6px;margin-top: -3px; background-color: #32a3d8;}
+        #province select{margin-right:10px; width:100px;height: 31px;-webkit-appearance:none !important;appearance:none;background: url(${path}/common/images/cm/select-1.png) right center no-repeat;background-size: auto 100%;padding-left:3px;padding-right: 25px;}
+        .ac_results li a {white-space: nowrap;text-decoration:none;display:block;color:#05a;padding:1px 3px}
+        .ac_results li {border:1px solid #fff}
+        .ac_results li a span {float:right}
+        .select-box{background: url(${path}/common/images/cm/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: 15px;}
+        .dalog-ask{position: absolute;left:60%;top:0;-webkit-transform: translateY(-30%);transform: translateY(-30%);display: none;background-color: #fff;z-index: 10;}
+        .tag{ width:300px; min-height:300px; border:1px solid #32a3d8; position:relative;background-color: #fff;line-height: 1.5;padding: 10px 12px;}
+        .tag em{display:block; border-width:15px; position:absolute; top:30%; left:-30px;border-style:solid dashed dashed; border-color:transparent  #32a3d8 transparent transparent;font-size:0; line-height:0;}
+        .time-line-list{list-style: none;width: 100%;margin-left: -20px;}
+        .time-line-list>li{position: relative;float: left; text-align: center;width: 100px;overflow: hidden;white-space: nowrap;word-break: break-all;padding: 2px 0;}
+        .time-line-list .number{display: inline-block; padding: 2px; background: #32a3d8;border: 2px solid #fff;box-shadow:0 0 0 1px #32a3d8;width: 20px;height: 20px;color: #fff;line-height: 20px;border-radius: 50%;}
+        .time-line-list>li:before{content:'';position: absolute;height: 1px;width: 30%;right:0;top: 15px; background-color: #32a3d8;}
+        .time-line-list>li:after{content: '';position: absolute;height: 1px;width: 30%;left: 0;top: 15px;background:#32a3d8;}
+        .time-line-list>li:first-child:after,.time-line-list>li:last-child:before{display: none;}
+        .time-line-list .arrow{border-width:7px; position:absolute; left:25%; top:9px;border-style:solid dashed dashed; border-color:transparent  transparent  transparent #32a3d8;font-size:0; line-height:0;}
+        .time-line-list>li:first-child .arrow{display: none;}
+        .table-bg th{background-color: #e2f6ff;}
+        .update-parts>span{margin-right: 10px;padding: 3px 4px;background-color: #effaff;border: 1px solid #32a3d8;}
+        .msg-phone{height: 35px;line-height: 35px;}
+        .col-sm-1{width: 150px;}
+
+        .all_down{text-decoration: underline;color: #00c;}
+    </style>
+    <title>财务列表 - 财务管理 - RST</title>
+</head>
+<body>
+<nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页
+    <span class="c-gray en">/</span> 财务管理
+    <span class="c-gray en">/</span> 财务列表
+    <a class="btn radius r"
+       href="javascript:location.replace(location.href);" title="刷新"><i class="Hui-iconfont">&#xe68f;</i></a>
+    <a class="btn radius r"
+       href="javascript:history.back(-1);" title="后退"><i class="Hui-iconfont">&#xe6d4;</i></a>
+</nav>
+<article class="page-container" style="padding: 10px;">
+    <div class="pd-20 cl" style="padding-top: 0px;">
+        <form action="${path}/admin/dealer/dealere_save" method="post" class="form form-horizontal" id="form-dealer"  onkeydown="if(event.keyCode==13)return false;">
+
+            <div class="row cl">
+                <label class="form-label col-3">
+                    <div class="tit-2">客户基本信息</div>
+                </label>
+                <div class="formControls col-9">
+                </div>
+            </div>
+
+            <div class="row cl" id="" style="">
+                <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>客户类型:</label>
+                <div class="formControls col-3 col-sm-3" >
+                    <span class="select-box">
+                         <select name="dealerType" class="select" id="complaint">
+                            <#if dmDealerList?? &&  (dmDealerList?size > 0) >
+                                <#list dmDealerList as dmDealer >
+                                    <option value="1">个人</option>
+                                </#list>
+                            </#if>
+                         </select>
+				    </span>
+                </div>
+            </div>
+
+
+            <div class="row cl" id="" style="">
+                <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>客户名称:</label>
+                <div class="formControls col-3 col-sm-3">
+                    <input type="text" class="input-text" value="" placeholder="填写客户名称" id="dealerName" name="dealerName" datatype="*1-20" errormsg="客户名称格式不正确!" >
+                </div>
+                <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>客户行业:</label>
+                <div class="formControls col-3 col-sm-3">
+                    <input type="text" class="input-text" value="" placeholder="填写客户行业" id="dealerIndustry" name="dealerIndustry" datatype="*1-20" errormsg="客户行业格式不正确!" >
+                </div>
+            </div>
+
+            <div class="row cl" id="" style="">
+                <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>是否自营:</label>
+                <div class="formControls col-3 col-sm-3  skin-minimal">
+                    <div class="radio-box">
+                        <input type="radio" id="tel-1" name="dealerSelfOperated" value="1" >
+                        <label for="tel-1">自营</label>
+                    </div>
+                    <div class="radio-box">
+                        <input type="radio" id="tel-2" name="dealerSelfOperated" value="2" checked>
+                        <label for="tel-2">非自营</label>
+                    </div>
+                </div>
+
+                <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>提款费率:</label>
+                <div class="formControls col-3 col-sm-3">
+                    <input type="text" class="input-text" value="0" placeholder="填写提款费率" id="dealerRate" name="dealerRate" >
+                </div>
+            </div>
+
+
+
+            <div class="row cl">
+                <label class="form-label col-3">
+                    <div class="tit-2">对接人信息</div>
+                </label>
+                <div class="formControls col-9">
+                </div>
+            </div>
+
+            <div class="row cl">
+                <label class="form-label col-3">
+                    <div class="tit-2">备注</div>
+                </label>
+                <div class="formControls col-9">
+                </div>
+            </div>
+
+            <div class="row cl" id="" style="margin-left: 25px;">
+                <div class="formControls col-11 col-sm-11">
+                    <textarea id="dealerRemarks" name="dealerRemarks" style="height: 65px;width: 100%"></textarea>
+                </div>
+            </div>
+
+            <div class="row cl">
+                <div class="col-2 col-sm-2 col-offset-3">
+                    <button class="btn btn-block btn-primary size-XL" type="submit">确认录入</button>
+                </div>
+            </div>
+        </form>
+    </div>
+</article>
+<#-- 业务脚本JS -->
+<script type="text/javascript">
+    var url_path = "${path}";
+</script>
+<script type="text/javascript" charset="utf-8" src="${path}/common/js/dealer/financialReceipt.js"></script>
+
+<script type="text/javascript">
+    $('.skin-minimal input').iCheck({
+        checkboxClass: 'icheckbox-blue',
+        radioClass: 'iradio-blue',
+        increaseArea: '20%'
+    });
+    //是否是修改
+    var ISUPDATE = false;
+
+</script>
+
+
+
+</body>
+</html>

+ 199 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/dm/financialReceipt/fr_list.ftl

@@ -0,0 +1,199 @@
+<!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" />
+    <link rel="Bookmark" href="/favicon.ico" >
+    <link rel="Shortcut Icon" href="/favicon.ico" />
+<#include "/base/list_base.ftl">
+    <title>财务列表 - 财务管理 - RST</title>
+    <style>
+        *{padding: 0;margin: 0;}
+        .my-input{border: 1px solid rgba(0,0,0,.1);padding: 1px 5px;height: 32px;margin-right: 10px;}
+        .my-input::-webkit-input-placeholder{text-indent: 1em;}
+        .my-select{border: 1px solid rgba(0,0,0,.1);padding:6px 50px 6px 15px;height: 34px; -webkit-appearance:none;appearance:none;background: url(${path}/common/images/pts/select-11.png) right center no-repeat;background-size:auto 100%;}
+        .my-btn-search{border: 1px solid #50a2ea;padding: 1px 25px;height: 32px;background-color: #fff;color: #50a2ea;}
+        .table-bg thead th{background-color: #f7fafd;}
+        .update-parts>span{margin-right: 10px;padding: 3px 4px;background-color: #effaff;border: 1px solid #32a3d8;}
+        .txt2{width:60px;overflow: hidden;white-space: nowrap;text-overflow: ellipsis; }
+        .postage-table{float: left;width: 150px;height: 30px;line-height: 30px;}
+        .select-upd{height: 16px;width: 90px;padding: 5px 10px 10px 15px;display: inline-block;text-align: left;cursor: pointer;-webkit-appearance: none;border: 1px solid rgba(0,0,0,.1);    background: url(/common/images/pts/select-dw.png) right center no-repeat;background-size: auto 100%;margin: 0;position: absolute;}
+        .select-upd.active{background: url(/common/images/pts/select-up.png) right center no-repeat;background-size: auto 100%;}
+        .search-other{display: none;}
+    </style>
+</head>
+<body>
+<nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页
+    <span class="c-gray en">/</span> 财务管理
+    <span class="c-gray en">/</span> 财务列表
+    <a class="btn radius r" href="javascript:location.replace(location.href);" title="刷新"><i class="Hui-iconfont">&#xe68f;</i></a>
+</nav>
+<div class="page-container">
+    <div class="text-c ulc_question" code="returnCode" msg="resultMsg" data="returnMsg" urlPrefix="${path}">
+        <form action="${path}/admin/financial_receipt/list_page_fr" method="post">
+            <button type="button" style="cursor:pointer; float: left;height: 35px;margin-right: 30px;margin-bottom: 10px;" class="my-btn-search" onclick="toAddFr();">添加收款</button>
+
+
+            <#--<select class="my-select" name="dealerState" id="dealerState" style="height: 36px;width: 132px;margin: 0px;padding: 12px 10px 6px 15px;margin-bottom: 10px;">
+                <option value="">合作进度</option>
+                <option value="1" <#if financialReceipt.dealerState??><#if financialReceipt.questionState == 1 >selected="selected"</#if></#if>>意向合作</option>
+                <option value="2" <#if financialReceipt.dealerState??><#if financialReceipt.questionState == 2 >selected="selected"</#if></#if>>已经合作</option>
+                <option value="3" <#if financialReceipt.dealerState??><#if financialReceipt.questionState == 3 >selected="selected"</#if></#if>>停止合作</option>
+            </select>
+
+            <select class="my-select" name="dealerType" id="dealerType" style="height: 36px;width: 132px;margin: 0px;padding: 12px 10px 6px 15px;margin-bottom: 10px;">
+                <option value="">客户类型</option>
+                <option value="1" <#if financialReceipt.dealerType??><#if financialReceipt.dealerType == 1 >selected="selected"</#if></#if>>个人</option>
+                <option value="2" <#if financialReceipt.dealerType??><#if financialReceipt.dealerType == 2 >selected="selected"</#if></#if>>企业</option>
+            </select>
+            <select class="my-select" name="dealerSelfOperated" id="dealerSelfOperated" style="height: 36px;width: 132px;margin: 0px;padding: 12px 10px 6px 15px;margin-bottom: 10px;">
+                <option value="">是否自营</option>
+                <option value="1" <#if financialReceipt.dealerSelfOperated??><#if financialReceipt.dealerSelfOperated == 1 >selected="selected"</#if></#if>>自营</option>
+                <option value="2" <#if financialReceipt.dealerSelfOperated??><#if financialReceipt.dealerSelfOperated == 2 >selected="selected"</#if></#if>>非自营</option>
+            </select>
+
+            <input type="text" class="my-input trim_input"  style="width:120px;margin-right: 0px; margin-bottom: 8px;" value="${financialReceipt.dealerName!}" placeholder="客户名称" id="dealerName" name="dealerName">
+            <input type="text" class="my-input trim_input"  style="width:120px;margin-right: 0px; margin-bottom: 8px;" value="${financialReceipt.dealerIndustry!}" placeholder="客户行业" id="dealerIndustry" name="dealerIndustry">
+-->
+            <button type="submit" class="btn" style="background: #50a2ea;border: 1px solid #50a2ea;color: #fff;height: 35px;margin-top: -8px;"><i class="Hui-iconfont">&#xe665;</i> 查询</button>
+
+        </form>
+    </div>
+
+
+    <div class="mt-20">
+        <table class="table table-border table-bg table-bordered">
+        <thead>
+        <tr class="text-c">
+            <th width="50">编号</th>
+            <th width="50">认领状态</th>
+            <th width="50">认领人</th>
+            <th width="50">认领时间</th>
+            <th width="40">所属客户</th>
+            <th width="40">银行账号</th>
+            <th width="60">付款金额</th>
+            <th width="60">付款备注</th>
+            <th width="60">付款时间</th>
+            <th width="60">录入日期</th>
+            <th width="60">操作</th>
+        </tr>
+        </thead>
+        <tbody>
+            <#if page.dataList?? &&  (page.dataList?size > 0) >
+                    <#list page.dataList as financialReceipt>
+                        <tr class="text-c">
+                            <td>${financialReceipt.frId!''}</td>
+                            <td>
+                               <#if financialReceipt.frClaimStatus == 1>
+                                   已认领
+                                <#elseif financialReceipt.frClaimStatus == 2>
+                                    未认领
+                                </#if>
+                            </td>
+                            <td>${financialReceipt.frClaimAdminId!''}</td>
+                            <td> ${(financialReceipt.frClaimDate?string("yyyy-MM-dd"))!''}</td>
+                            <td>
+                            </td>
+                            <td></td>
+                            <td></td>
+                            <td></td>
+                            <td></td>
+                            <td></td>
+                            <td>
+
+                             <#--   <a style="text-decoration:none" href="javascript:void(0);" title="修改" onclick="toUpdateDealer(${financialReceipt.dealerId!''})">
+                                    <font color=#06c>修改</font>
+                                </a>-->
+
+                                <#--<#if question.questionState == 1>
+                                    <a style="text-decoration:none" href="javascript:void(0);" title="禁用" onclick="forbid(${financialReceipt.dealerId!''},2)">
+                                        <font color=#06c>禁用</font>
+                                    </a>
+                                <#elseif question.questionState == 2>
+                                    <a style="text-decoration:none" href="javascript:void(0);" title="启用" onclick="forbid(${financialReceipt.dealerId!''},1)">
+                                        <font color=#06c>启用</font>
+                                    </a>
+                                </#if>
+                                &nbsp;
+                                <a style="text-decoration:none" href="javascript:void(0);" title="修改" onclick="toUpdateQuestion(${financialReceipt.dealerId!''})">
+                                    <font color=#06c>修改</font>
+                                </a>
+                                &nbsp;
+                                <a style="text-decoration:none" href="javascript:void(0);" title="查看" onclick="detail(${financialReceipt.dealerId!''})">
+                                    <font color=#06c>查看</font>
+                                </a>-->
+                            </td>
+                        </tr>
+                    </#list>
+            <#else>
+                <tr><td colspan="11" class="td-manage text-c" >暂时没有客户信息,请添加!</td></tr>
+            </#if>
+        </tbody>
+    </table>
+    </div>
+</div>
+
+<tfoot>
+<#include "/base/page_util.ftl">
+</tfoot>
+
+<script type="text/javascript">
+//    var ulc = $(".ulc_question").initUlcByHtml({
+//        urlPrefix: root_path,
+//        ulcLevel:null
+//    });
+
+    /**
+     * 跳转到添加收款
+     */
+    function toAddFr(){
+        window.location.href= "${path}/admin/financial_receipt/to_add_finan_rece";
+    }
+
+    /**
+     * 跳转到修改收款
+     */
+    function toUpdateFr(frId){
+        window.location.href= "${path}/admin/financial_receipt/to_update_finan_rece?frId="+frId;
+    }
+
+    /**
+     * 查看详情
+     */
+    function detail(questionId){
+        layer_show_norm("问题详情","${path}/admin/complaintQuestion/to_question_detail?questionId="+questionId,4);
+    }
+
+    /**
+     * 禁用
+     * @param questionId
+     * @param state
+     */
+    function forbid(questionId,state) {
+        $.ajax({
+            type: "POST",
+            data: {
+                "questionId" :questionId,
+                "questionState" :state
+            },
+            url: "${path}/admin/complaintQuestion/update_question",
+            async: false,
+            success: function(data){
+                if (data.returnCode == 200) {
+                    location.replace(location.href);
+                }else{
+                    layer.msg("更改状态失败!", {icon: 5, time: 3000});
+                }
+            },
+            error: function(XmlHttpRequest, textStatus, errorThrown){
+            }
+        });
+    }
+
+</script>
+
+</body>
+</html>

+ 8 - 5
watero-rst-web/src/main/webapp/common/js/common/common.js

@@ -250,19 +250,22 @@ function layer_show_norm(name,url,type) {
  * @param type
  */
 function layer_show_height(name,url,type) {
-    var w=1460,h=660;
+    var w=650,h=660;
     switch (type){
+        case 0:
+            w=650;h=350;
+            break;
         case 1:
-            w=600;h=450;
+            w=650;h=450;
             break;
         case 2:
-            w=600;h=500;
+            w=650;h=500;
             break;
         case 3:
-            w=600;h=600;
+            w=650;h=600;
             break;
         case 4:
-            w=600;h=700;
+            w=650;h=700;
             break;
         default:
             break

+ 256 - 6
watero-rst-web/src/main/webapp/common/js/dealer/dealer.js

@@ -1,8 +1,6 @@
 var CONTACT_ID_PREFIX = "CONTACT_";
 var CONTACT_ID_NUM = 0;
 var CONTACT_IS_UPDATE = 1;  //用来标识此事对接人的弹窗是添加还是修改,  1添加 2修改
-var CONTACT_TR_NUM = 0; //对接人 的 数量  1:表示有   0:表示没有
-
 
 //-----------------------对接人 start -----------------------------
 /**
@@ -11,8 +9,8 @@ var CONTACT_TR_NUM = 0; //对接人 的 数量  1:表示有   0:表示没有
 function showContact(contact){
     if(CONTACT_IS_UPDATE == 1){ //添加
         var html = '<tr class="text-c" >';
-        html += ' <input type="hidden" class="input-text dealContactId" value="" id="dealContactId" name="dealContactId">';
-        html += ' <input type="hidden" class="input-text dealContactStr" value="'+ cufte(contact.dealContactStr) +'" id="dealContactStr" name="dealContactStr">';
+        html += ' <input type="hidden" class="input-text dealContactId" value="" >';
+        html += ' <input type="hidden" class="input-text dealContactStr" value="'+ cufte(contact.dealContactStr) +'" >';
         html += '<td class="dealContactName">'+ cufte(contact.dealContactName) +'</td>';
         html += '<td class="dealContactType">'+ cufte(contact.dealContactType) +'</td>';
         html += '<td class="dealContactPhone">'+ cufte(contact.dealContactPhone) +'</td>';
@@ -75,7 +73,6 @@ function updateDealerContact($this) {
 var CHANNEL_ID_PREFIX = "CHANNEL_";
 var CHANNEL_ID_NUM = 0;
 var CHANNEL_IS_UPDATE = 1;  //用来标识渠道的弹窗是添加还是修改,  1添加 2修改
-var CHANNEL_TR_NUM = 0; //渠道信息数量  1:表示有   0:表示没有
 
 /**
  * 添加渠道商
@@ -84,7 +81,7 @@ function addDealerChannnel() {
     CHANNEL_IS_UPDATE = 1;
     CHANNEL_ID_NUM ++;
     var dealChannelIdStr = CHANNEL_ID_PREFIX + CHANNEL_ID_NUM;
-    layer_show_height("添加对接人","${path}/admin/dealer/to_add_dealer_channel?dealChannelIdStr="+dealChannelIdStr,1);
+    layer_show_height("添加对接人",url_path + "/admin/dealer/to_add_dealer_channel?dealChannelIdStr="+dealChannelIdStr,1);
 }
 
 function showChannel(channel) {
@@ -143,6 +140,147 @@ function updateDealerChannel($this) {
 }
 //-----------------------渠道商 END -----------------------------
 
+var PRODUCT_ID_PREFIX = "PRODUCT_";
+var PRODUCT_ID_NUM = 0;
+var PRODUCT_IS_UPDATE = 1;  //用来标识渠道的弹窗是添加还是修改,  1添加 2修改
+
+/**
+ * 添加产品
+ */
+function addDealerProduct() {
+    PRODUCT_IS_UPDATE = 1;
+    PRODUCT_ID_NUM ++;
+    var dealProdIdStr = PRODUCT_ID_PREFIX + PRODUCT_ID_NUM;
+
+    var storeArray = new Array();
+    $("#add_dealer_channel").find("tr").each(function () {
+        var store = new Object();
+        if(!isEmpty($(this).find(".storeId").val())){
+            return false;
+        }
+        store.storeId = $(this).find(".storeId").val();
+        store.storeName = $(this).find(".storeName").text();
+        store.productStoreIsSelect = 2;
+        storeArray.push(store);
+    });
+    if(storeArray.length < 1){
+        vailErrorMsg_3($("#add_dealer_channel_make"),"必须要有一个渠道信息");
+        return false;
+    }
+    var url = url_path + '/admin/dealer/to_add_dealer_product?dealProdIdStr='+dealProdIdStr+'&storeJson='+ JSON.stringify(storeArray);
+    url = encodeURI(url);
+    layer_show_norm("添加供应产品",url,5);
+}
+
+function showDealerProduct(dealerProductArray) {
+    var $addHtmlNode = $("#add_product");
+    if(PRODUCT_IS_UPDATE == 1){ //添加
+        for(var i=0;i<dealerProductArray.length;i++){
+            var obj = dealerProductArray[i];
+            var html = '<tr class="text-c" >';
+            html += ' <input type="hidden" class="input-text dealProdId" value="" >';
+            html += ' <input type="hidden" class="input-text dealProdIdStr" value="'+ cufte(obj.dealProdIdStr) +'" >';
+            html += ' <input type="hidden" class="input-text colorProductId" value="'+ cufte(obj.colorProductId) +'" >';
+            html += ' <input type="hidden" class="input-text colorId" value="'+ cufte(obj.colorId) +'" >';
+            html += ' <input type="hidden" class="input-text dealProdStoreArea" value="'+ cufte(obj.dealProdStoreArea) +'" >';
+            html += ' <input type="hidden" class="input-text dealerProductStoreIds" value="'+ cufte(obj.dealerProductStoreIds) +'" >';
+            html += '<td class="productName">'+ cufte(obj.productName) +'</td>';
+            html += '<td class="colorName">'+ cufte(obj.colorName) +'</td>';
+            html += '<td><input type="text" style="text-align: center;" class="input-text input-number dealProdPrice" value="'+ cufte(obj.dealProdPrice) +'"   onkeyup="keyFun($(this),99999,0)" onpaste="keyFun($(this),99999,0)"></td>';
+            if(obj.dealProdStoreArea == 1){
+                html += '<td class="dealerProductStoreName">全部店铺</td>';
+            }else{
+                html += '<td class="dealerProductStoreName">'+ cufte(obj.dealerProductStoreName) +'</td>';
+            }
+            html += '<td><a href="javascript:void(0)" onclick="delTableByTr($(this),3)">删除</a></td>';
+            if(PRODUCT_TR_NUM == 0){
+                $addHtmlNode.html(html);
+                PRODUCT_TR_NUM =1;
+            }else{
+                $addHtmlNode.append(html);
+            }
+        }
+    }
+}
+
+//-----------------------供应产品 END -----------------------------
+
+
+var COOPERATIONAGREE_ID_PREFIX = "COOPERATIONAGREE_";
+var COOPERATIONAGREE_ID_NUM = 0;
+var COOPERATIONAGREE_IS_UPDATE = 1;  //用来标识渠道的弹窗是添加还是修改,  1添加 2修改
+
+/**
+ * 展示添加的合作协议
+ */
+function showCoopAgree(coopAgree){
+    var $addHtmlNode = $("#add_coop_agree");
+    if(COOPERATIONAGREE_IS_UPDATE == 1){ //添加
+        var html = '<tr class="text-c" >';
+        html += ' <input type="hidden" class="input-text coopAgreeId" value="" >';
+        html += ' <input type="hidden" class="input-text coopAgreeIdStr" value="'+ cufte(coopAgree.coopAgreeIdStr) +'" >';
+        html += ' <input type="hidden" class="input-text coopAgreeImg" value="'+ cufte(coopAgree.coopAgreeImg) +'" >';
+        html += ' <input type="hidden" class="input-text coopAgreeBeforeDate" value="'+ cufte(coopAgree.coopAgreeBeforeDate) +'" >';
+        html += ' <input type="hidden" class="input-text coopAgreeEndDate" value="'+ cufte(coopAgree.coopAgreeEndDate) +'" >';
+        html += '<td class="coopAgreeDateHtml">'+ cufte(coopAgree.coopAgreeBeforeDate) +'&nbsp; - &nbsp;'+ cufte(coopAgree.coopAgreeEndDate) +'</td>';
+        html += '<td class="coopAgreeImgHtml"><img style="width: 75px;"  src="'+ url_path + '/' + cufte(coopAgree.coopAgreeImg) +'"></td>';
+        html += '<td class="coopAgreeRemake">'+ cufte(coopAgree.coopAgreeRemake) +'</td>';
+        html += '<td><a href="javascript:void(0)" onclick="updateCoopAgree($(this))">修改</a>&nbsp;&nbsp;<a href="javascript:void(0)" onclick="delTableByTr($(this),4)">删除</a></td>';
+        if(COOPERATIONAGREE_TR_NUM == 0){
+            $addHtmlNode.html(html);
+            COOPERATIONAGREE_TR_NUM =1;
+        }else{
+            $addHtmlNode.append(html);
+        }
+    }else{
+        //修改
+        var $contactTr;
+        $addHtmlNode.find("tr").each(function () {
+            var coopAgreeIdStr = $(this).find(".coopAgreeIdStr").val();
+            if(coopAgreeIdStr == coopAgree.coopAgreeIdStr){
+                $contactTr =  $(this);
+            }
+        });
+        $contactTr.find(".coopAgreeId").val(cufte(coopAgree.coopAgreeId));
+        $contactTr.find(".coopAgreeIdStr").val(cufte(coopAgree.coopAgreeIdStr));
+        $contactTr.find(".coopAgreeImg").val(cufte(coopAgree.coopAgreeImg));
+        $contactTr.find(".coopAgreeBeforeDate").val(cufte(coopAgree.coopAgreeBeforeDate));
+        $contactTr.find(".coopAgreeEndDate").val(cufte(coopAgree.coopAgreeEndDate));
+        $contactTr.find(".coopAgreeRemake").text(cufte(coopAgree.coopAgreeRemake));
+        $contactTr.find(".coopAgreeDateHtml").html(cufte(coopAgree.coopAgreeBeforeDate) +'&nbsp; - &nbsp;'+ cufte(coopAgree.coopAgreeEndDate));
+        $contactTr.find(".coopAgreeImgHtml").html('<img style="width: 75px;"  src="'+ url_path + '/' + cufte(coopAgree.coopAgreeImg) +'">');
+
+    }
+}
+
+/**
+ * 添加合作协议
+ */
+function addCoopAgree() {
+    COOPERATIONAGREE_IS_UPDATE = 1;
+    COOPERATIONAGREE_ID_NUM ++;
+    var coopAgreeIdStr = COOPERATIONAGREE_ID_PREFIX + COOPERATIONAGREE_ID_NUM;
+    layer_show_height("合作协议",url_path+"/admin/dealer/to_add_coop_agree?coopAgreeIdStr="+coopAgreeIdStr,0);
+}
+/**
+ * 修改合作协议
+ */
+function updateCoopAgree($this) {
+    COOPERATIONAGREE_IS_UPDATE =2;
+    var $coopAgree = $this.parents("tr");
+    var coopAgree = new Object();
+    coopAgree.coopAgreeId = $coopAgree.find(".coopAgreeId").val();
+    coopAgree.coopAgreeIdStr = $coopAgree.find(".coopAgreeIdStr").val();
+    coopAgree.coopAgreeImg = $coopAgree.find(".coopAgreeImg").val();
+    coopAgree.coopAgreeBeforeDate = $coopAgree.find(".coopAgreeBeforeDate").val();
+    coopAgree.coopAgreeEndDate = $coopAgree.find(".coopAgreeEndDate").val();
+    coopAgree.coopAgreeRemake= $coopAgree.find(".coopAgreeRemake").text();
+
+    var url = url_path+"/admin/dealer/to_add_coop_agree?"+parseParam(coopAgree);
+    url = encodeURI(url);
+    layer_show_height("合作协议",url,0);
+}
+//-----------------------合作协议 END -----------------------------
 /**
  * 删除
  * @param $this
@@ -171,3 +309,115 @@ var parseParam=function(param, key){
     }
     return paramStr.substr(1);
 };
+
+//-------------------------提交 strat----------------------------
+$(function(){
+    var loadIndex = 0;
+    $("#form-dealer").Validform({
+        tiptype: function (msg, o, cssctl) {
+            if (o.type == 3) {//失败
+                layer.msg(msg, {icon: 5, time: 3000});
+                $(window).scrollTop(o.obj.offset().top - 40);
+            }
+        },
+        datatype: {//自定义验证类型
+        },
+        ignoreHidden: true,
+        tipSweep: true, //若为true,则只在表单提交时验证
+        ajaxPost: true, //异步提交
+        beforeCheck: function (curform) {  //验证通过之前执行的函数
+            var flag = false;
+        },
+        beforeSubmit: function (curform) {  //验证通过之后执行的函数
+            var contactArray = new Array();
+            $("#add_contact").find("tr").each(function () {
+                var $contact = $(this);
+                var contact = new Object();
+                contact.dealContactId = $contact.find(".dealContactId").val();
+                contact.dealContactStr = $contact.find(".dealContactStr").val();
+                contact.dealContactName= $contact.find(".dealContactName").text();
+                contact.dealContactPhone=$contact.find(".dealContactPhone").text();
+                contact.dealContactType=$contact.find(".dealContactType").text();
+                contact.dealContactEmail=$contact.find(".dealContactEmail").text();
+                contact.dealContactWechat=$contact.find(".dealContactWechat").text();
+                contact.dealContactQq=$contact.find(".dealContactQq").text();
+                contactArray.push(contact);
+            });
+            if(contactArray.length > 0){
+                $("#add_contact_json").val(JSON.stringify(contactArray));
+            }else{
+                vailErrorMsg_3($("#add_contact_make"),"必须要有一个对接人");
+                return false;
+            }
+
+            var channelArray = new Array();
+            $("#add_dealer_channel").find("tr").each(function () {
+                var $contact = $(this);
+                var channel = new Object();
+                channel.dealChannelId = $contact.find(".dealChannelId").val();
+                channel.dealChannelIdStr = $contact.find(".dealChannelIdStr").val();
+                channel.channelId= $contact.find(".channelId").val();
+                channel.channelTypeId= $contact.find(".channelTypeId").val();
+                channel.storeId=$contact.find(".storeId").val();
+                channel.dealChannelAccountPeriod=$contact.find(".dealChannelAccountPeriod").text();
+                channelArray.push(channel);
+            });
+            if(channelArray.length > 0){
+                $("#add_dealer_channel_json").val(JSON.stringify(channelArray));
+            }else{
+                vailErrorMsg_3($("#add_dealer_channel_make"),"必须要有一个渠道信息");
+                return false;
+            }
+
+            var productColorArray = new Array();
+            $("#add_product").find("tr").each(function () {
+                var $productColor = $(this);
+                var productColor = new Object();
+                productColor.colorId = $productColor.find(".colorId").val();
+                productColor.dealProdStoreArea = $productColor.find(".dealProdStoreArea").val();
+                productColor.dealProdPrice = $productColor.find(".dealProdPrice").val();
+                productColor.dealerProductStoreIds = $productColor.find(".dealerProductStoreIds").val();
+                productColorArray.push(productColor);
+            });
+            if(productColorArray.length > 0){
+                $("#add_product_json").val(JSON.stringify(productColorArray));
+            }
+
+            var productColorArray = new Array();
+            $("#add_coop_agree").find("tr").each(function () {
+                var $coopAgree = $(this);
+                var coopAgree = new Object();
+                coopAgree.coopAgreeId = $coopAgree.find(".coopAgreeId").val();
+                coopAgree.coopAgreeIdStr = $coopAgree.find(".coopAgreeIdStr").val();
+                coopAgree.coopAgreeImg = $coopAgree.find(".coopAgreeImg").val();
+                coopAgree.coopAgreeBeforeDate = $coopAgree.find(".coopAgreeBeforeDate").val();
+                coopAgree.coopAgreeEndDate = $coopAgree.find(".coopAgreeEndDate").val();
+                coopAgree.coopAgreeRemake= $coopAgree.find(".coopAgreeRemake").text();
+                productColorArray.push(coopAgree);
+            });
+            if(productColorArray.length > 0){
+                $("#add_coop_agree_json").val(JSON.stringify(productColorArray));
+            }
+
+            loadIndex = layer.load(1, {
+                shade: [0.5,'#fff'] //0.1透明度的白色背景
+            });
+        },
+        callback: function (data) {//异步回调函数
+            if (data) {
+                var index = layer.alert(data.resultMsg, function (index) {
+                    if (data.returnCode == 200) {
+                        location.href = url_path + "/admin/dealer/list_page_dealer";
+                    }else {
+                        layer.close(index);
+                    }
+                });
+                if(loadIndex != 0 ){
+                    layer.close(loadIndex);
+                }
+            }
+            return false;
+        }
+    });
+});
+//-------------------------提交 end----------------------------

+ 0 - 0
watero-rst-web/src/main/webapp/common/js/dealer/financialReceipt.js