Parcourir la source

rst-客诉-添加客诉

wangxiaoming il y a 7 ans
Parent
commit
34b6ec104b
31 fichiers modifiés avec 2172 ajouts et 270 suppressions
  1. 14 0
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/ComplaintSmallClassInfoService.java
  2. 15 0
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/ComplaintTypeInfoService.java
  3. 22 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/ComplaintSmallClassInfoServiceImpl.java
  4. 21 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/ComplaintTypeInfoServiceImpl.java
  5. 10 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/ComplaintSmallClassInfoMapper.java
  6. 9 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/ComplaintTypeInfoMapper.java
  7. 7 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/complaintSmallClassInfoMapper.xml
  8. 8 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/complaintTypeInfoMapper.xml
  9. 32 4
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminCustomerController.java
  10. 86 0
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/ComplaintQuestionInfoController.java
  11. 445 266
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/add_customer.ftl
  12. 125 0
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/custome_list.ftl
  13. BIN
      watero-rst-web/src/main/webapp/common/images/cm/search.png
  14. BIN
      watero-rst-web/src/main/webapp/common/images/cm/select-1.png
  15. 177 0
      watero-rst-web/src/main/webapp/common/lib/cm.lib/airCity.js
  16. 80 0
      watero-rst-web/src/main/webapp/common/lib/cm.lib/dimensions.js
  17. 61 0
      watero-rst-web/src/main/webapp/common/lib/cm.lib/jquery.provincesCity.js
  18. 693 0
      watero-rst-web/src/main/webapp/common/lib/cm.lib/provincesData.js
  19. 176 0
      watero-rst-web/src/main/webapp/common/lib/cm.lib/suggest.js
  20. BIN
      watero-rst-web/src/main/webapp/common/lib/icheck/aero.png
  21. BIN
      watero-rst-web/src/main/webapp/common/lib/icheck/blue.png
  22. BIN
      watero-rst-web/src/main/webapp/common/lib/icheck/green.png
  23. BIN
      watero-rst-web/src/main/webapp/common/lib/icheck/grey.png
  24. 182 0
      watero-rst-web/src/main/webapp/common/lib/icheck/icheck.css
  25. 9 0
      watero-rst-web/src/main/webapp/common/lib/icheck/jquery.icheck.min.js
  26. BIN
      watero-rst-web/src/main/webapp/common/lib/icheck/minimal.png
  27. BIN
      watero-rst-web/src/main/webapp/common/lib/icheck/orange.png
  28. BIN
      watero-rst-web/src/main/webapp/common/lib/icheck/pink.png
  29. BIN
      watero-rst-web/src/main/webapp/common/lib/icheck/purple.png
  30. BIN
      watero-rst-web/src/main/webapp/common/lib/icheck/red.png
  31. BIN
      watero-rst-web/src/main/webapp/common/lib/icheck/yellow.png

+ 14 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/ComplaintSmallClassInfoService.java

@@ -0,0 +1,14 @@
+package com.iamberry.rst.faces.cm;
+
+import com.iamberry.rst.core.cm.ComplaintSmallClassInfo;
+
+import java.util.List;
+
+public interface ComplaintSmallClassInfoService {
+
+    /**
+     * 查询所有客诉类型
+     * @return
+     */
+    List<ComplaintSmallClassInfo> listComplaintSmallClassInfo(ComplaintSmallClassInfo complaintSmallClassInfo);
+}

+ 15 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/ComplaintTypeInfoService.java

@@ -0,0 +1,15 @@
+package com.iamberry.rst.faces.cm;
+
+import com.iamberry.rst.core.cm.ComplaintTypeInfo;
+
+import java.util.List;
+
+/**
+ * 问题分类
+ */
+public interface ComplaintTypeInfoService {
+
+    /*查询问题分类*/
+    List<ComplaintTypeInfo> listComplaintTypeInfo(ComplaintTypeInfo complaintTypeInfo);
+
+}

+ 22 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/ComplaintSmallClassInfoServiceImpl.java

@@ -0,0 +1,22 @@
+package com.iamberry.rst.service.cm;
+
+import com.iamberry.rst.core.cm.ComplaintSmallClassInfo;
+import com.iamberry.rst.faces.cm.ComplaintSmallClassInfoService;
+import com.iamberry.rst.service.cm.mapper.ComplaintSmallClassInfoMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class ComplaintSmallClassInfoServiceImpl implements ComplaintSmallClassInfoService {
+
+    @Autowired
+    private ComplaintSmallClassInfoMapper complaintSmallClassInfoMapper;
+
+
+    @Override
+    public List<ComplaintSmallClassInfo> listComplaintSmallClassInfo(ComplaintSmallClassInfo complaintSmallClassInfo) {
+        return complaintSmallClassInfoMapper.listComplaintSmallClassInfo(complaintSmallClassInfo);
+    }
+}

+ 21 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/ComplaintTypeInfoServiceImpl.java

@@ -0,0 +1,21 @@
+package com.iamberry.rst.service.cm;
+
+import com.iamberry.rst.core.cm.ComplaintTypeInfo;
+import com.iamberry.rst.faces.cm.ComplaintTypeInfoService;
+import com.iamberry.rst.service.cm.mapper.ComplaintTypeInfoMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class ComplaintTypeInfoServiceImpl implements ComplaintTypeInfoService {
+
+    @Autowired
+    private ComplaintTypeInfoMapper complaintTypeInfoMapper;
+
+    @Override
+    public List<ComplaintTypeInfo> listComplaintTypeInfo(ComplaintTypeInfo complaintTypeInfo) {
+        return complaintTypeInfoMapper.listComplaintTypeInfo(complaintTypeInfo);
+    }
+}

+ 10 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/ComplaintSmallClassInfoMapper.java

@@ -1,6 +1,10 @@
 package com.iamberry.rst.service.cm.mapper;
 
 import com.iamberry.rst.core.cm.ComplaintSmallClassInfo;
+import com.iamberry.rst.core.cm.ComplaintTypeInfo;
+
+import java.util.List;
+
 /**
  * 客诉-客诉小类mapper
  */
@@ -20,4 +24,10 @@ public interface ComplaintSmallClassInfoMapper {
      * @return
      */
     int updateSmallClassById(ComplaintSmallClassInfo record);
+
+    /**
+     * 查询所有客诉类型
+     * @return
+     */
+    List<ComplaintSmallClassInfo> listComplaintSmallClassInfo(ComplaintSmallClassInfo complaintSmallClassInfo);
 }

+ 9 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/ComplaintTypeInfoMapper.java

@@ -1,6 +1,9 @@
 package com.iamberry.rst.service.cm.mapper;
 
 import com.iamberry.rst.core.cm.ComplaintTypeInfo;
+
+import java.util.List;
+
 /**
  * 客诉-客诉类型表mapper
  */
@@ -20,4 +23,10 @@ public interface ComplaintTypeInfoMapper {
      * @return
      */
     int updateTypeById(ComplaintTypeInfo record);
+
+    /**
+     * 查询所有客诉类型
+     * @return
+     */
+    List<ComplaintTypeInfo> listComplaintTypeInfo(ComplaintTypeInfo complaintTypeInfo);
 }

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

@@ -21,6 +21,13 @@
     from tb_rst_complaint_small_class
     where small_class_id = #{smallClassId,jdbcType=INTEGER}
   </select>
+
+  <select id="listComplaintSmallClassInfo" resultMap="BaseResultMap" parameterType="ComplaintSmallClassInfo" >
+    select
+    <include refid="Base_Column_List" />
+    from tb_rst_complaint_small_class
+  </select>
+
   <insert id="insert" parameterType="ComplaintSmallClassInfo" >
     insert into tb_rst_complaint_small_class (small_class_id, complaint_id, small_class_name, 
       small_class_profile, small_class_state, small_question_num, 

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

@@ -20,6 +20,14 @@
     from tb_rst_complaint_type
     where complaint_id = #{complaintId,jdbcType=INTEGER}
   </select>
+
+  <select id="listComplaintTypeInfo" resultMap="BaseResultMap" parameterType="ComplaintTypeInfo" >
+    select
+    <include refid="Base_Column_List" />
+    from tb_rst_complaint_type
+  </select>
+
+
   <insert id="insert" parameterType="ComplaintTypeInfo" >
     insert into tb_rst_complaint_type (complaint_id, complaint_consulting_type, 
       complaint_class_name, complaint_class_profile, 

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

@@ -1,31 +1,56 @@
 package com.iamberry.rst.controllers.cm;
 
+import com.iamberry.rst.core.cm.CustomerInfo;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.servlet.ModelAndView;
 
 import javax.servlet.http.HttpServletRequest;
 
 /**
- * Created by wxm on 2017/8/29.
+ * Created by wxm
  */
 @Controller
 @RequestMapping("/admin/customer")
 public class AdminCustomerController {
 
-   // private
 
 
+    /**
+     * 获取客诉列表
+     *
+     * @param request
+     * @return
+     */
+    @RequiresPermissions("customer:list:customer")
+    @RequestMapping("/_customer_list")
+    public ModelAndView getCustomer(HttpServletRequest request, CustomerInfo customer,
+                                  @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("cm/customer/custome_list");
+//        PagedResult<Customer> pagedResult = ptsBomService.listCustomer(pageNO, pageSize, ptsBom, totalNum == 0);
+//        if (totalNum != 0) {
+//            pagedResult.setTotal(totalNum);
+//        }
+//        //获取产品集合,用于页面选择产品
+//        List<Produce> list = produceService.getProduceList();
+//        mv.addObject("produceList", list);
+//       StitchAttrUtil.setModelAndView(customer, mv, "/admin/bom/_bom_list", pagedResult);
+        return mv;
+    }
+
 
     /**
-     * 跳转到添加bom单页面
+     * 跳转到添加客诉页面
      *
      * @return
      */
     @RequiresPermissions("customer:add:customer")
     @RequestMapping(value = "/to_add_customer")
-    public ModelAndView toAddBom(HttpServletRequest request) {
+    public ModelAndView toAddCustomer(HttpServletRequest request) {
         ModelAndView mv = new ModelAndView("cm/customer/add_customer");
 
         //获取产品集合,用于页面选择产品
@@ -35,5 +60,8 @@ public class AdminCustomerController {
         return mv;
     }
 
+
+
+
 }
 

+ 86 - 0
watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/ComplaintQuestionInfoController.java

@@ -0,0 +1,86 @@
+package com.iamberry.rst.controllers.cm;
+
+import com.iamberry.rst.core.cm.ComplaintSmallClassInfo;
+import com.iamberry.rst.core.cm.ComplaintTypeInfo;
+import com.iamberry.rst.faces.cm.ComplaintSmallClassInfoService;
+import com.iamberry.rst.faces.cm.ComplaintTypeInfoService;
+import com.iamberry.wechat.tools.ResponseJson;
+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.ResponseBody;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+
+/**
+ * Created by wxm
+ * 问题
+ */
+@Controller
+@RequestMapping("/admin/complaintQuestion")
+public class ComplaintQuestionInfoController {
+
+    @Autowired
+    private ComplaintTypeInfoService complaintTypeInfoService;
+
+//    @Autowired
+//    private ComplaintSmallClassInfoService complaintSmallClassInfoService;
+
+    @Autowired
+    private ComplaintSmallClassInfoService complaintSmallClassInfoService;
+
+    /**
+     * 查询所有问题类型
+     *
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping(value = "/list_complaintTypeInfo")
+    public ResponseJson listComplaintTypeInfo(HttpServletRequest request) {
+
+        List<ComplaintTypeInfo> complaintTypeInfoList = complaintTypeInfoService.listComplaintTypeInfo(new ComplaintTypeInfo());
+
+        if (complaintTypeInfoList == null || complaintTypeInfoList.size() < 1) {
+            return new ResponseJson(500, "添加失败", 500);
+        } else {
+            return new ResponseJson(200, "添加成功", 200);
+        }
+    }
+
+    /**
+     * 查询所有问题小类
+     *
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping(value = "/list_complaintSmallClassInfo")
+    public ResponseJson listComplaintSmallClassInfo(HttpServletRequest request,ComplaintSmallClassInfo complaintSmallClassInfo) {
+        List<ComplaintSmallClassInfo> complaintSmallClassInfoList = complaintSmallClassInfoService.listComplaintSmallClassInfo(complaintSmallClassInfo);
+        if (complaintSmallClassInfoList == null || complaintSmallClassInfoList.size() < 1) {
+            return new ResponseJson(500, "添加失败", 500);
+        } else {
+            return new ResponseJson(200, "添加成功", 200);
+        }
+    }
+
+    /**
+     * 查询所有问题
+     *
+     * @return
+     */
+    @ResponseBody
+    @RequestMapping(value = "/list_complaintQuestion")
+    public ResponseJson listComplaintQuestion(HttpServletRequest request,ComplaintTypeInfo complaintTypeInfo) {
+
+        List<ComplaintTypeInfo> complaintTypeInfoList = complaintTypeInfoService.listComplaintTypeInfo(complaintTypeInfo);
+
+        if (complaintTypeInfoList == null || complaintTypeInfoList.size() < 1) {
+            return new ResponseJson(500, "添加失败", 500);
+        } else {
+            return new ResponseJson(200, "添加成功", 200);
+        }
+    }
+
+
+}

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

@@ -4,15 +4,47 @@
     <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"/>
+    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
+    <meta http-equiv="Cache-Control" content="no-siteapp" />
 <#include "/base/add_base.ftl">
     <link href="${path}/common/lib/jquery.ui/jquery-ui.css" rel="stylesheet" type="text/css"/>
+    <link href="${path}/common/lib/webuploader/0.1.5/webuploader.css" rel="stylesheet" type="text/css"/>
+    <link href="${path}/common/lib/icheck/icheck.css" rel="stylesheet" type="text/css"/>
     <style>
-        .add-list>li{margin: 10px 0;}
-        input[type=radio]{-webkit-appearance:none;appearance:none;background: url(/common/images/pts/radio-1.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
-        input[type=radio]:checked{-webkit-appearance:none;appearance:none;background: url(/common/images/pts/radio-2.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
+        .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;}
+        .tit-2:after{content: '';position: absolute;left: 0;top: 20%;height: 60%;width: 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;}
+
+        #suggest, #suggest2 {width:200px}
+        .gray {color:gray}
+        .ac_results {background:#fff;border:1px solid #7f9db9;position: absolute;z-index: 10000;display: none}
+        .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_over, .ac_results li a:hover {background:#c8e3fc}
+        .ac_results li a span {float:right}
+        .ac_result_tip {border-bottom:1px dashed #666;padding:3px}
+
+        .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: 25px;}
+        .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;}
+        .dalog-ask .ask{color: #000;margin: 10px 0 5px 0;}
+        .dalog-ask .answer{color: #666;margin-bottom: 10px;}
+        .dalog-ask .answer:hover{color: #32a3d8;cursor: pointer;}
+        .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;}
+        .my-search-input{padding-left: 30px;background: url(${path}/common/images/cm/search.png) 6px center no-repeat;background-size: auto 60%; }
     </style>
     <title>添加客诉 - 客诉管理 - RST</title>
 </head>
@@ -24,302 +56,449 @@
        style="line-height:1.6em;margin-top:3px;background: #32a3d8;color: #fff;border:1px solid #32a3d8;"
        href="javascript:location.replace(location.href);" title="刷新"><i class="Hui-iconfont">&#xe68f;</i></a>
 </nav>
-<article class="page-container" style="padding: 10px;width: 600px;margin: 0 auto;">
-    <form action="${path}/admin/bom/save_bom" method="post" class="form form-horizontal" id="form-bom-add">
+<article class="page-container" style="padding: 10px;">
+    <div class="pd-20 cl">
+        <form action="" method="post" class="form form-horizontal" id="form-article-add">
+            <div class="row cl">
 
-        <div class="row cl">
-            <label class="form-label col-xs-4 col-sm-3">修改基础:</label>
-            <div class="formControls col-xs-8 col-sm-9"> <span class="select-box">
-				<select class="select" size="1" name="bomId">
+                <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-1 col-sm-1"><span class="c-red">*</span>跟进客服:</label>
+                <div class="formControls col-4 col-sm-4"> <span class="select-box">
+				<select name="" class="select">
+					<option value="0">薇薇</option>
+					<option value="1">薇薇</option>
+					<option value="11">薇薇</option>
+					<option value="12">薇薇</option>
+					<option value="13">薇薇</option>
 				</select>
 				</span>
+                </div>
             </div>
-        </div>
-
-        <div class="row cl">
-            <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>Bom名称:</label>
-            <div class="formControls col-xs-8 col-sm-9">
-                <input type="text" class="input-text" value="" id="bomName" name="bomName" placeholder="请输入1-20位的名称,支持中文、字母、数字" datatype="/^[a-zA-Z0-9\u4e00-\u9fa5]{1,20}$/" errormsg="请输入1-20位的名称,支持中文、字母、数字!">
+            <div class="row cl">
+                <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>来源入口:</label>
+                <div class="formControls col-10 col-sm-10 skin-minimal">
+                    <div class="radio-box">
+                        <input type="radio" id="tel-1" name="sex" datatype="*" nullmsg="请选择来源入口!">
+                        <label for="tel-1">400电话</label>
+                    </div>
+                    <div class="radio-box">
+                        <input type="radio" id="tel-2" name="sex">
+                        <label for="tel-2">微信公众号</label>
+                    </div>
+                    <div class="radio-box">
+                        <input type="radio" id="tel-3" name="sex">
+                        <label for="tel-3">其他</label>
+                        <input type="text" style="width: 150px;margin-left: 10px;" class="input-text" value="" placeholder="" id="" name="">
+                    </div>
+                </div>
             </div>
-        </div>
-
-        <div class="row cl">
-            <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>硬件版本:</label>
-            <div class="formControls col-xs-8 col-sm-9">
-                <input type="text" class="input-text" value="" id="bomVersion" name="bomVersion" placeholder="请输入1-10位的版本号" datatype="*1-10" errormsg="请输入1-10位的版本号!">
+            <div class="row cl">
+                <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>咨询类型:</label>
+                <div class="formControls col-10 col-sm-10 skin-minimal">
+                    <div class="radio-box">
+                        <input type="radio" id="tel-3" name="tel" datatype="*" nullmsg="请选择来源入口!">
+                        <label for="tel-3">售前咨询</label>
+                    </div>
+                    <div class="radio-box">
+                        <input type="radio" id="tel-4" name="tel">
+                        <label for="tel-4">售后咨询</label>
+                    </div>
+                </div>
             </div>
-        </div>
+            <div class="row cl" style="position: relative;">
+                <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>客诉问题:</label>
+                <div class="formControls col-2 col-sm-2"> <span class="select-box">
+				<select name="" class="select">
+					<option value="0">使用操作</option>
+					<option value="1">使用操作</option>
+				</select>
+				</span>
+                </div>
+                <div class="formControls col-2 col-sm-2"> <span class="select-box">
+				<select name="" class="select">
+					<option value="0">使用操作制水出水</option>
+					<option value="1">使用操作制水出水</option>
+				</select>
+				</span>
+                </div>
+                <div class="formControls col-2 col-sm-2">
+                    <div class="clearfix">
+                        <input type="text" placeholder="搜索关键词" class="input-text  ac_input" name="search_text" value="" id="search_text" autocomplete="off" style="width:60%"><button type="button" class="btn btn-primary" id="search_button">搜索</button>
+                    </div>
+                </div>
 
-        <div class="row cl">
-            <label class="form-label col-xs-4 col-sm-3">备注:</label>
-            <div class="formControls col-xs-8 col-sm-9">
-                <textarea name="bomRemarks" id="bomRemarks" cols="" rows="" class="textarea"
-                          placeholder="Bom单备注,最多支持100字符" onKeyUp="$.Huitextarealength(this,100)" ></textarea>
-                <p class="textarea-numberbar"><em class="textarea-length">0</em>/100</p>
+                <div class="dalog-ask">
+                    <div class="tag">
+                        <em></em>
+                        <strong>相关QA</strong>
+                        <ul>
+                            <li class="ask">1、净水机面板操作不灵敏,是怎么回事?</li>
+                            <li class="answer">答:<span>1净水机面板操作不灵敏,是怎么回事。1、净水机面板操作不灵敏,是怎么回事?1、净水机面板操作不灵敏,是怎么回事?1、净水机面板操作不灵敏,是怎么回事?</span></li>
+                            <li class="ask">2、净水机面板操作不灵敏,是怎么回事?</li>
+                            <li class="answer">答:<span>2净水机面板操作不灵敏,是怎么回事。1、净水机面板操作不灵敏,是怎么回事?1、净水机面板操作不灵敏,是怎么回事?1、净水机面板操作不灵敏,是怎么回事?</span></li>
+                            <li class="ask">3、净水机面板操作不灵敏,是怎么回事?</li>
+                            <li class="answer">答:<span>3净水机面板操作不灵敏,是怎么回事。1、净水机面板操作不灵敏,是怎么回事?1、净水机面板操作不灵敏,是怎么回事?1、净水机面板操作不灵敏,是怎么回事?</span></li>
+                            <li class="ask">4、净水机面板操作不灵敏,是怎么回事?</li>
+                            <li class="answer">答:<span>4净水机面板操作不灵敏,是怎么回事。1、净水机面板操作不灵敏,是怎么回事?1、净水机面板操作不灵敏,是怎么回事?1、净水机面板操作不灵敏,是怎么回事?</span></li>
+                        </ul>
+                    </div>
+                </div>
+
+            </div>
+            <div class="row cl">
+                <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>问题内容:</label>
+                <div class="formControls col-5 col-sm-5">
+                    <textarea name="" cols="" rows="2" class="textarea" placeholder="说点什么..." id="answer-textarea"></textarea>
+                </div>
+            </div>
+            <div class="row cl">
+                <label class="form-label col-1 col-sm-1"></label>
+                <div class="formControls col-2 col-sm-2">
+                    <input type="text" class="input-text" value="" placeholder="请输入手机号" id="" name="">
+                </div>
+                <div class="formControls col-2 col-sm-2">
+                    <input type="button" class="btn btn-primary" value="发短信給用户">
+                </div>
             </div>
-        </div>
+            <div class="row cl">
 
-        <div class="row cl">
-            <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>Bom零件清单:</label>
-            <div class="formControls col-xs-8 col-sm-9 components">
-                <input type="hidden" id="bomComponentJson" name="bomComponentJson">
-                <table class="table table-border table-bordered table-bg table-hover table-sort">
-                    <thead>
-                        <tr class="text-c">
-                            <th width="150">选择零件</th>
-                            <th width="60">零件数量</th>
-                            <th width="20">操作</th>
+                <label class="form-label col-1 col-sm-1">
+                    <div class="tit">处理结果</div>
+                </label>
+                <div class="formControls col-10 col-sm-10">
+                </div>
+            </div>
+            <div class="row cl">
+                <label class="form-label col-1 col-sm-1"></label>
+                <div class="formControls col-10 col-sm-10 skin-minimal">
+                    <div class="radio-box">
+                        <input type="radio" id="a-7" name="bbb">
+                        <label for="a-7">已解决</label>
+                    </div>
+                    <div class="radio-box">
+                        <input type="radio" id="a-7" name="bbb">
+                        <label for="a-7">未解决</label>
+                    </div>
+                    <div class="radio-box">
+                        <input type="radio" id="a-7" name="bbb">
+                        <label for="a-7">换新</label>
+                    </div>
+                    <div class="radio-box">
+                        <input type="radio" id="a-7" name="bbb">
+                        <label for="a-7">维修</label>
+                    </div>
+                    <div class="radio-box">
+                        <input type="radio" id="a-7" name="bbb">
+                        <label for="a-7">补发</label>
+                    </div>
+                    <div class="radio-box">
+                        <input type="radio" id="a-7" name="bbb">
+                        <label for="a-7">退货</label>
+                    </div>
+                    <div class="radio-box">
+                        <input type="radio" id="a-7" name="bbb">
+                        <label for="a-7">无理由退货</label>
+                    </div>
+                </div>
+            </div>
+            <div class="row cl">
+                <label class="form-label col-1 col-sm-1"></label>
+                <div class="formControls col-10 col-sm-10">
+                    <ul class="time-line-list">
+                        <li><span class="arrow"></span><div class="number">1</div><div>录入客诉</div></li>
+                        <li><span class="arrow"></span><div class="number">2</div><div>督促用户寄回</div></li>
+                        <li><span class="arrow"></span><div class="number">3</div><div>录入快递单号</div></li>
+                        <li><span class="arrow"></span><div class="number">4</div><div>仓库收货</div></li>
+                        <li><span class="arrow"></span><div class="number">5</div><div>换新发货</div></li>
+                        <li><span class="arrow"></span><div class="number">6</div><div>发货通知用户</div></li>
+                        <li><span class="arrow"></span><div class="number">7</div><div>收货后回访</div></li>
+                    </ul>
+                </div>
+            </div>
+            <div class="row cl">
+                <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>订单信息:</label>
+                <div class="formControls col-1 col-sm-1">
+                    <button type="button" class="btn btn-primary">搜索订单</button>
+                </div>
+            </div>
+            <div class="row cl">
+                <label class="form-label col-1 col-sm-1"></label>
+                <div class="formControls col-7 col-sm-7 text-c">
+                    <table class="table table-border table-bg table-bordered">
+                        <tr>
+                            <th>销售</th><th>订单号</th><th>姓名</th><th>电话</th><th>订单金额</th><th>购买产品</th><th>购买日期</th>
                         </tr>
-                    </thead>
-                    <tbody id="componentaAll">
-
-                    </tbody>
-                </table>
-                <span id="componentsMsg" style="color: red"></span>
+                        <tr>
+                            <td>爱贝源-微信商城</td><td>1290387806</td><td>何小小</td><td>1882222888</td><td>¥3680</td><td>Watero净水机</td><td>2017-06-06</td>
+                        </tr>
+                    </table>
+                </div>
             </div>
-        </div>
+            <div class="row cl">
+                <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>收件信息:</label>
+                <div class="formControls col-2 col-sm-2">
+                    <input type="text" class="input-text" value="何秀刚" placeholder="填写收件人姓名" id="" name="">
+                </div>
+                <div class="formControls col-2 col-sm-2">
+                    <input type="text" class="input-text" value="13800138000" placeholder="填写收件人手机号" id="" name="">
+                </div>
+            </div>
+            <div class="row cl">
+                <label class="form-label col-1 col-sm-1"></label>
+                <div class="formControls col-4 col-sm-4">
+                    <div id="province"></div>
+                </div>
+                <div class="formControls col-1 col-sm-1">
+                    <button type="button" class="btn btn-primary">修改收货地址</button>
+                </div>
+            </div>
+            <div class="row cl">
+                <label class="form-label col-1 col-sm-1"></label>
+                <div class="formControls col-5 col-sm-5">
+                    <textarea name="" cols="" rows="2" class="textarea" placeholder="请填写详细地址">莲花街道深南大道特区报业大厦12b</textarea>
+                </div>
+            </div>
+            <div class="row cl">
+                <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>换新产品:</label>
+                <div class="formControls col-10 col-sm-10">
+                    <div class="skin-minimal">
+                        <div class="check-box">
+                            <input type="checkbox" id="checkbox-1" checked>
+                            <label for="checkbox-1">净水机</label>
+                            <select name="" class="select" style="width: 100px;">
+                                <option value="0">WX-12</option>
+                                <option value="1">WX-13</option>
+                            </select>
 
 
-        <div class="row cl">
-            <div class="col-xs-8 col-sm-9 col-xs-offset-4 col-sm-offset-3">
-                <input class="btn btn-primary radius" type="button" value="&nbsp;&nbsp;新增零件&nbsp;&nbsp;" onclick="addComponents('#','')">
+                            <select name="" class="select" style="width: 100px;">
+                                <option value="0">黑色</option>
+                                <option value="1">白色</option>
+                            </select>
+                            <input type="text" class="input-text" style="width: 40px;text-align: center;" value="1" placeholder="" id="" name="">
+                        </div>
+
+
+                        <div class="check-box">
+                            <input type="checkbox" id="checkbox-2" checked>
+                            <label for="checkbox-2">水箱</label>
+                            <input type="text" class="input-text" style="width: 40px;text-align: center;" value="1" placeholder="" id="" name="">
+                        </div>
+                        <div class="check-box">
+                            <input type="checkbox" id="checkbox-3" checked>
+                            <label for="checkbox-2">T1</label>
+                            <input type="text" class="input-text" style="width: 40px;text-align: center;" value="1" placeholder="" id="" name="">
+                        </div>
+                        <div class="check-box">
+                            <input type="checkbox" id="checkbox-4" checked>
+                            <label for="checkbox-2">T2</label>
+                            <input type="text" class="input-text" style="width: 40px;text-align: center;" value="1" placeholder="" id="" name="">
+                        </div>
+                    </div>
+                </div>
             </div>
-        </div>
 
-        <div class="row cl">
-            <label class="form-label col-xs-4 col-sm-3"></label>
-            <span class="c-red">*提示</span><span>:新增的Bom,需要批次选中该Bom单,才会生效!</span>
-        </div>
-        <div class="row cl">
-            <div class="col-xs-8 col-sm-9 col-xs-offset-4 col-sm-offset-3">
-                <input class="btn btn-primary radius" type="submit" value="&nbsp;&nbsp;提交&nbsp;&nbsp;">
+            <div class="row cl">
+                <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>TDS收集:</label>
+                <div class="formControls col-2 col-sm-2" style="position: relative;">
+                    <input type="hidden" name="arrcity_3word" id="arrcity_3word" value="" />
+                    <input style="width: 140px;" placeholder="" class="input-text my-search-input" type="text" name="arrcity" id="arrcity" />
+                    <div id="suggest" class="ac_results"></div>
+                </div>
+                <div class="formControls col-2 col-sm-2">
+				<span class="select-box">
+				<select name="" class="select">
+					<option value="0">罗湖区</option>
+					<option value="1">福田区</option>
+				</select>
+				</span>
+                </div>
+                <div class="formControls col-2 col-sm-2">
+                    <input type="text" class="input-text" value="" placeholder="进水tds数值" id="" name="">
+                </div>
+                <div class="formControls col-2 col-sm-2">
+                    <input type="text" class="input-text" value="" placeholder="出水tds数值" id="" name="">
+                </div>
+            </div>
+            <div class="row cl">
+                <label class="form-label col-1 col-sm-1"></label>
+                <div class="formControls col-6 col-sm-6">
+                    tds收集:广东省-深圳市-福田区   进水:100ppm   出水:100ppm
+                </div>
+            </div>
+            <div class="row cl">
+                <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>寄回信息:</label>
+                <div class="formControls col-5 col-sm-5">
+				<textarea name="" cols="" rows="2" class="textarea" placeholder="说点什么...">邮寄地址:东莞清溪三中金龙工业区徐福记对面优尼雅电子科技,杨春有,13592708169邮寄备注:您好,麻烦您那边把机器邮寄前请将水箱、接水台中的水倒掉并擦干,不要留有水渍,避免运输途中水或奶粉
+溅入机器内部造成不必要的损失;用原包装或泡沫等材质包裹好机身。避免运输途中造成机器     磕碰、损坏。
+请勿寄顺丰、圆通、EMS以及到付件快递,其他快递物流随意,寄回时,麻烦您在产品里面留下故障原因说明,
+提示:寄回后把单号给我们提供下然后提供下您的姓名、地址和电话方便我们修好后给您寄回去。</textarea>
+                </div>
+            </div>
+            <div class="row cl">
+                <label class="form-label col-1 col-sm-1"></label>
+                <div class="formControls col-2 col-sm-2">
+                    <input type="text" class="input-text" value="" placeholder="请输入手机号" id="" name="">
+                </div>
+                <div class="formControls col-2 col-sm-2">
+                    <input type="button" class="btn btn-primary" value="发短信給用户">
+                </div>
+            </div>
+            <div class="row cl">
+                <label class="form-label col-1 col-sm-1"></label>
+                <div class="formControls col-7 col-sm-7">
+                    <div class="update-parts">更换:<span>红色净水机(wx-1)x 1台</span><span>水箱 x 1件</span><span>t1 x 1件</span><span>t2 x 1件</span></div>
+                </div>
+            </div>
+            <div class="row cl">
+                <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>处理描述:</label>
+                <div class="formControls col-5 col-sm-5">
+                    <textarea name="" cols="" rows="2" class="textarea" placeholder="说点什么..."></textarea>
+                </div>
             </div>
-        </div>
-    </form>
+            <div class="row cl">
+                <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>回访信息:</label>
+                <div class="formControls col-10 col-sm-10 skin-minimal">
+                    <div class="radio-box">
+                        <input type="radio" id="a-7" name="bbb">
+                        <label for="a-7">需要回访</label>
+                    </div>
+                    <div class="radio-box">
+                        <input type="radio" id="a-7" name="bbb">
+                        <label for="a-7">不需要回访</label>
+                    </div>
+                </div>
+            </div>
+            <div class="row cl">
+                <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>回访人信息:</label>
+                <div class="formControls col-2 col-sm-2">
+                    <input type="text" class="input-text" value="" placeholder="填写回访人姓名" id="" name="">
+                </div>
+                <div class="formControls col-2 col-sm-2">
+                    <input type="text" class="input-text" value="" placeholder="填写回访人手机号" id="" name="">
+                </div>
+            </div>
+            <div class="row cl">
+                <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>回访日期:</label>
+                <div class="formControls col-2 col-sm-2">
+                    <input type="text" placeholder="请选择回访日期" id="datemin" class="input-text Wdate" readonly="readonly">
+                </div>
+            </div>
+            <div class="row cl">
+                <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>回访时间:</label>
+                <div class="formControls col-10 col-sm-10 skin-minimal">
+                    <div class="radio-box">
+                        <input type="radio" id="a-7" name="bbb">
+                        <label for="a-7">09:00-12:00</label>
+                    </div>
+                    <div class="radio-box">
+                        <input type="radio" id="a-7" name="bbb">
+                        <label for="a-7">12:00-14:00</label>
+                    </div>
+                    <div class="radio-box">
+                        <input type="radio" id="a-7" name="bbb">
+                        <label for="a-7">14:00-18:00</label>
+                    </div>
+                </div>
+            </div>
+            <div class="row cl">
+                <label class="form-label col-1 col-sm-1"><span class="c-red">*</span>提醒人:</label>
+                <div class="formControls col-4 col-sm-4"> <span class="select-box">
+				<select name="" class="select">
+					<option value="0">薇薇</option>
+					<option value="1">薇薇</option>
+					<option value="11">薇薇</option>
+					<option value="12">薇薇</option>
+					<option value="13">薇薇</option>
+				</select>
+				</span>
+                </div>
+            </div>
+            <div class="cl"  style="display: table;width: 100%;">
+                <label class="form-label col-1 col-sm-1"></label>
+                <div class="formControls col-4 col-sm-4">
+                    <span class="c-red">您将为自己指定一个回访任务</span>
+                </div>
+            </div>
+            <div class="row cl">
+                <div class="col-2 col-sm-2 col-offset-3">
+                    <button onClick="save_submit();" class="btn btn-block btn-primary size-XL" type="submit">确认录入</button>
+                </div>
+            </div>
+        </form>
+    </div>
 </article>
-<script type="text/javascript">
 
-    $(function(){
-        $("#form-bom-add").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: {//自定义验证类型
-                "select": function (gets, obj, curform, regxp) {
-                    if (gets == "") {
-                        return false;
-                    } else {
-                        return true;
-                    }
-                }
-            },
-            ignoreHidden: true,
-            tipSweep: true, //若为true,则只在表单提交时验证
-            ajaxPost: true, //异步提交
-            beforeCheck: function (curform) {  //验证通过之前执行的函数
-            },
-            beforeSubmit: function (curform) {  //验证通过之后执行的函数
-                var ptsBomComponentsList =  new Array();
-                $("#componentaAll").find("tr").each(function (){
-                    var ptsBomComponents = {};
-                    ptsBomComponents.componentsId = $(this).find("[name='comName']").eq(0).val();
-                    ptsBomComponents.bomComponentsQuantity = $(this).find("[name='comNumber']").eq(0).val();
-                    ptsBomComponentsList.push(ptsBomComponents);
-                })
-                $("#bomComponentJson").val(JSON.stringify(ptsBomComponentsList));
-            },
-            callback: function (data) {//异步回调函数
-                if (data) {
-                    var index = layer.alert(data.resultMsg, function () {
-                        if (data.resultCode == 200) {
-                            location.href = "${path}/admin/bom/_bom_list";
-                        } else {
-                            layer.close(index);
-                        }
-                    });
-                }
-            }
-        });
-    })
+<script type="text/javascript" src="${path}/common/lib/My97DatePicker/4.8/WdatePicker.js"></script>
+<script type="text/javascript" src="${path}/common/lib/webuploader/0.1.5/webuploader.min.js"></script>
 
-    var allComponents;  //所有零件的集合
-    var staticProduceId;  //产品id,用于判断产品更改
-    
-//    $(function () {
-//        /*添加页面初始化,添加一个零件选择框*/
-//        addComponents("#","");
-//
-//        var produceId =   $("[name='produceId']").val();
-//        staticProduceId = produceId;
-//        getBomByProduce(produceId);
-//
-//        /*监听产品选择*/
-//        $("[name='produceId']").change(function(){
-//            var produceId = $(this).val();
-//            getBomByProduce(produceId);
-//
-//            delComponent(0,"all");
-//            addComponents("#","");
-//        })
-//
-//        /*监听修改基础  bom单*/
-//        $("[name='bomId']").change(function(){
-//            var bomId = $(this).val();
-//            getBom(bomId);
-//        })
-//    })
-    
-    /* 添加零件 */
-    function addComponents(componentsId,number) {
-        var tbody = $("#componentaAll");
+<script type="text/javascript" src="${path}/common/lib/icheck/jquery.icheck.min.js"></script>
 
-        var produceId = $("[name='produceId']").val();
-        if(allComponents == null || produceId != staticProduceId){ //获取零件列表
-            staticProduceId = produceId;
-            allComponents = listComponent(produceId);
-        }
-        var opHtml = '';
-        for(var i=0;i<allComponents.length;i++){
-            var components = allComponents[i];
-            var isSelect = '';
-            if(componentsId == components.componentsId){
-                isSelect = 'selected="selected"';
-            }
-            opHtml += '<option value="'+ components.componentsId +'" '+ isSelect +'>'+ components.componentsName +'('+ components.componentsNo + ')</option>';
-        }
-        var html = '<tr class="text-c"> '
-                +'<td> '
-                +'<select class="select" size="1" name="comName" style="height: 30px;" datatype="*" errormsg="请选择零件"> '
-                +''
-                + opHtml
-                +'</select> '
-                +'</td> '
-                +'<td> '
-                +'<input type="text" class="input-text" value="'+ number +'" id="" name="comNumber" placeholder="零件数量" datatype="n1-3" errormsg="零件数量只能为数字且不能超过999件!"> '
-                +'</td> '
-                +'<td> '
-                +'<a style="" href="javascript:void(0);" title="删除" onclick="delComponent(this,1)"> '
-                +'<i class="Hui-iconfont">&#xe609;</i> '
-                +'</a> '
-                +'</td> '
-                +'</tr>';
-        tbody.append(html);
-    }
+<script type="text/javascript" src="${path}/common/lib/cm.lib/jquery.provincesCity.js"></script>
+<script type="text/javascript" src="${path}/common/lib/cm.lib/provincesData.js"></script>
+<script type="text/javascript" src="${path}/common/lib/cm.lib/airCity.js"></script>
+<script type="text/javascript" src="${path}/common/lib/cm.lib/dimensions.js"></script>
+<script type="text/javascript" src="${path}/common/lib/cm.lib/suggest.js"></script>
+<script type="text/javascript">
+    $(function(){
+        $('.skin-minimal input').iCheck({
+            checkboxClass: 'icheckbox-blue',
+            radioClass: 'iradio-blue',
+            increaseArea: '20%'
+        });
+        $("#province").ProvinceCity();
+        $('.skin-minimal input').iCheck({
+            checkboxClass: 'icheckbox-blue',
+            radioClass: 'iradio-blue',
+            increaseArea: '20%'
+        });
+        $("#arrcity").suggest(citys,{hot_list:commoncitys,dataContainer:'#arrcity_3word',onSelect:function(result){
+            console.log($(this)[0].value);
+//		$("#city2").click()
+        },
+            attachObject:'#suggest'
+        });
+//$("#city2").suggest(citys,{hot_list:commoncitys,attachObject:"#suggest2"})
+    });
+    $(document).on('click', '#search_button', function() {
+        $(".dalog-ask").show();
+    });
+    $(document).on('click', '.dalog-ask .answer', function() {
+        $("#answer-textarea").text($(this).find("span").text());
+    });
 
-    /*删除零件  type=all时删除所有的零件 */
-    function delComponent(node,type) {
-        if(type == "all"){
-            $("#componentaAll").find("tr").each(function () {
-                $(this).remove();
-            })
-        }else{
-            //删除零件必须保证还有一个零件
-            var componentLength = $("#componentaAll").find("tr").length;
-            if(componentLength > 1){
-                $(node).parent().parent().remove();
-            }else{
-                layer.msg('必须要有一个零件', {icon: 5, time: 3000});
-            }
-        }
-    }
+</script>
+<script type="text/javascript">
 
-    /*获取所有的零件*/
-    function  listComponent(produceId) {
-        var list = new Array();
-        $.ajax({
-            type: "POST",
-            data: {
-                produceId : produceId
-            },
-            url: "${path}/admin/bom/get_listComponents",
-            async: false,
-            success: function(data){
-                if (data.returnCode == 200) {
-                    $("#componentsMsg").html("");
-                    list = data.returnMsg.ptsComponentsList;
-                }
-                if(data.returnCode != 200 || list.length < 1){  //提示需要添加零件
-                    $("#componentsMsg").html("该产品没有对应的零件,请到零件管理添加零件");
-                }
-            },
-            error: function(XmlHttpRequest, textStatus, errorThrown){
-            }
-        });
-        return list;
-    }
+    /*初始化页面参数*/
+    $(function () {
+        /*初始化问题分类*/
+        initComplaintTypeInfo();
+    })
 
-    /*根据产品id,获取bom集合*/
-    function getBomByProduce(produceId){
+    /*初始化问题大类*/
+    function initComplaintTypeInfo() {
         $.ajax({
             type: "POST",
-            data: {
-                produceId : produceId
-            },
-            url: "${path}/admin/bom/get_listBom",
+            data: {},
+            url: "${path}/admin/customer/select_complaintQuestion",
             async: false,
             success: function(data){
-                var html = '<option value="">不选择</option>';
                 if (data.returnCode == 200) {
-                    var bomList = data.returnMsg.ptsBomsList;
-                    for(var i=0;i<bomList.length;i++){
-                        html += '<option value="'+ bomList[i].bomId +'">'+ bomList[i].bomName +'</option>';
-                    }
-                }
-                if(data.returnCode != 200 || data.returnMsg.ptsBomsList <1){
-                    defaultAllInput();
-                }
-                $("[name='bomId']").html(html);
-            },
-            error: function(XmlHttpRequest, textStatus, errorThrown){
-            }
-        });
-    }
 
-    /*获取bom信息,赋值在页面上*/
-    function getBom(bomId){
-        var bom = new Object();
-        $.ajax({
-            type: "POST",
-            data: {
-                bomId : bomId
-            },
-            url: "${path}/admin/bom/get_bom",
-            async: false,
-            success: function(data){
-                if (data.returnCode == 200) {
-                    bom = data.returnMsg.ptsBom;
                 }
             },
             error: function(XmlHttpRequest, textStatus, errorThrown){
             }
         });
-
-        if(bom != null && bom.bomId != null){
-            $("#bomName").val(bom.bomName);
-            $("#bomRemarks").val(bom.bomRemarks);
-            $("#bomVersion").val(bom.bomVersion);
-            delComponent(0,"all");
-            var components = bom.ptsBomComponentsList;
-            if(components != null && components.length > 0){
-                for(var i=0;i<components.length;i++){
-                    addComponents(components[i].componentsId,components[i].bomComponentsQuantity);
-                }
-            }
-        }else{
-            defaultAllInput();
-        }
     }
 
-    /*当选择产品或者bom不选择时,都需要重置所有的输入框和表格*/
-    function defaultAllInput() {
-        $("#bomName").val("");
-        $("#bomRemarks").val("");
-        delComponent(0,"all");
-        addComponents("#","");
-    }
 </script>
 <!--/请在上方写此页面业务相关的脚本-->
 </body>

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

@@ -0,0 +1,125 @@
+<!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>客诉列表</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,.my-select{color: #dcdcdc;}*/
+        .my-select{border: 1px solid rgba(0,0,0,.1);padding:6px 50px 6px 15px;height: 34px;margin: 0 10px; -webkit-appearance:none;appearance:none;background: url(/common/images/pts/select-1.png) right center no-repeat;background-size:auto 100%;}
+        .my-btn-search{border: 1px solid #32a3d8;padding: 1px 25px;height: 32px;background-color: #32a3d8;color: #fff;}
+        .barcodeImg{margin:10px 0px}
+        .table-bg thead th{background-color: #e2f6ff;}
+        input[type=radio]{-webkit-appearance:none;appearance:none;background: url(/common/images/pts/radio-1.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
+        input[type=radio]:checked{-webkit-appearance:none;appearance:none;background: url(/common/images/pts/radio-2.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
+    </style>
+</head>
+<body>
+<nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页
+    <span class="c-gray en">&gt;</span> 客诉管理
+    <span class="c-gray en">&gt;</span> 客诉列表
+    <a class="btn radius r" style="line-height:1.6em;margin-top:3px;background: #32a3d8;color: #fff;border:1px solid #32a3d8;" href="javascript:location.replace(location.href);" title="刷新" ><i class="Hui-iconfont">&#xe68f;</i></a>
+</nav>
+<div class="page-container">
+    <div class="text-c">
+        <form action="${path}/admin/customer/_customer_list" method="post">
+            <button type="button" style="cursor:pointer; float: left;" class="my-btn-search" onclick="toAddCustomer();">增加Customer</button>
+            <#--<select class="my-select" name="produceId" style="height: 36px;width: 150px">
+                <option value ="">所有产品</option>
+                <#if produceList?? &&  (produceList?size > 0) >
+                    <#list produceList as produce>
+                        <option value ="${produce.produceId!}" <#if produceId??><#if produceId ==produce.produceId >selected="selected"</#if></#if>>${produce.produceName!}</option>
+                    </#list>
+                </#if>
+            </select>-->
+           <#-- <input type="text" class="my-input"  style="width:150px" value="${customerId!}" placeholder="Customer单编号" id="customerId" name="customerId">-->
+            <button type="submit" class="btn" style="background: #32a3d8;color: #fff;-webkit-transform:translateY(-5%);" id="" name=""><i class="Hui-iconfont">&#xe665;</i> 搜索</button>
+        </form>
+    </div>
+
+    <#--<div class="mt-20">
+        <table class="table table-border table-bordered table-bg table-hover table-sort">
+        <thead>
+        <tr class="text-c">
+            &lt;#&ndash;<th width="50">Customer编号</th>&ndash;&gt;
+            <th width="60">所属产品</th>
+            <th width="100">customer名称</th>
+            <th width="80">硬件版本</th>
+            <th width="80">零件总数量</th>
+            <th width="80">零件总成本(元)</th>
+            <th width="80">零件总重(g)</th>
+            <th width="100">备注</th>
+            <th width="80">最近修改时间</th>
+            <th width="80">添加时间</th>
+            <th width="80">操作</th>
+        </tr>
+        </thead>
+        <tbody>
+            <#if page.dataList?? &&  (page.dataList?size > 0) >
+                    <#list page.dataList as customer>
+                        <tr class="text-c">
+                            &lt;#&ndash;<td>${customer.customerId!''}</td>&ndash;&gt;
+                            <td>${customer.produceName!''}</td>
+                            <td>${customer.customerName!''}</td>
+                            <td>${customer.customerVersion!''}</td>
+                            <td>${customer.componentsQuantity!'0'}</td>
+                            <td><#if customer.allComponentsCost?? >${customer.allComponentsCost/100}</#if></td>
+                            <td><#if customer.allComponentsWeight?? >${customer.allComponentsWeight}</#if></td>
+                            <td>${customer.customerRemarks!''}</td>
+                            <td>${(customer.customerUpdateTime?string("yyyy-MM-dd HH:mm:ss"))!''}</td>
+                            <td>${(customer.customerCreateTime?string("yyyy-MM-dd HH:mm:ss"))!''}</td>
+                            <td>
+                                <a style="text-decoration:none" href="javascript:void(0);" title="编辑" onclick="admin_update_customer(${customer.customerId!''})">
+                                    <i class="Hui-iconfont">&#xe6df;</i>
+                                </a>&nbsp;
+                                <a style="text-decoration:none" href="javascript:void(0);" title="查看customer单详情" onclick="admin_details_customer(${customer.customerId!''})">
+                                    <i class="Hui-iconfont">&#xe665;</i>
+                                </a>
+                            </td>
+                        </tr>
+                    </#list>
+            <#else>
+                <tr><td colspan="10" class="td-manage text-c" >暂时没有Customer,请添加!</td></tr>
+            </#if>
+        </tbody>
+    </table>
+    </div>-->
+</div>
+<tfoot>
+<#--<#include "/base/page_util.ftl">-->
+</tfoot>
+<script>
+    /**
+     * 跳转到添加customer页面
+     */
+    function toAddCustomer(){
+        window.location.href= "${path}/admin/customer/to_add_customer";
+    }
+
+    /**
+     *跳转到编辑页面
+     * @param employee
+     */
+    function admin_update_customer(customerId) {
+        window.location.href= "${path}/admin/customer/to_update_customer?customerId="+customerId;
+    }
+
+    /**
+     *跳转到详情页面
+     * @param employee
+     */
+    function admin_details_customer(customerId) {
+        window.location.href= "${path}/admin/customer/to_details_customer?customerId="+customerId;
+    }
+
+</script>
+</body>
+</html>

BIN
watero-rst-web/src/main/webapp/common/images/cm/search.png


BIN
watero-rst-web/src/main/webapp/common/images/cm/select-1.png


+ 177 - 0
watero-rst-web/src/main/webapp/common/lib/cm.lib/airCity.js

@@ -0,0 +1,177 @@
+/*初始化常用机场城市*/
+var commoncitys=new Array();
+commoncitys[0]=new Array('SZX','深圳','SHENZHEN','SZ'); 
+commoncitys[1]=new Array('PEK','北京','BEIJING','BJ'); 
+commoncitys[2]=new Array('SHA','上海','SHANGHAI','SH'); 
+commoncitys[3]=new Array('CAN','广州','GUANGZHOU','GZ'); 
+commoncitys[4]=new Array('CTU','成都','CHENGDU','CD'); 
+commoncitys[5]=new Array('HGH','杭州','HANGZHOU','HZ'); 
+commoncitys[6]=new Array('CSX','长沙','CHANGSHA','CS'); 
+commoncitys[7]=new Array('CKG','重庆','CHONGQING','CQ'); 
+commoncitys[8]=new Array('KMG','昆明','KUNMING','KM'); 
+commoncitys[9]=new Array('XIY','西安','XIAN','XA'); 
+commoncitys[10]=new Array('WUH','武汉','WUHAN','WH'); 
+commoncitys[11]=new Array('NKG','南京','NANJING','NJ'); 
+commoncitys[12]=new Array('TAO','青岛','QINGDAO','QD'); 
+commoncitys[13]=new Array('SYX','三亚','SANYA','SY'); 
+commoncitys[14]=new Array('XMN','厦门','XIAMEN','XM'); 
+
+/*初始化所有国内机场城市*/
+var citys=new Array();
+citys[0]=new Array('SHA','上海','SHANGHAI','SH'); 
+citys[1]=new Array('HYN','黄岩','HUANGYAN','HY'); 
+citys[2]=new Array('HGH','杭州','HANGZHOU','HZ'); 
+citys[3]=new Array('YIW','义乌','YIWU','YW'); 
+citys[4]=new Array('JUZ','衢州','JUZHOU','QZ'); 
+citys[5]=new Array('HSN','舟山(普陀山)','ZHOUSHAN','ZS'); 
+citys[6]=new Array('WNZ','温州','WENZHOU','WZ'); 
+citys[7]=new Array('NGB','宁波','NINGBO','NB'); 
+citys[8]=new Array('LNJ','临沧','LINCANG','LC'); 
+citys[9]=new Array('ZAT','昭通','ZHAOTONG','ZT'); 
+citys[10]=new Array('SYM','思茅','SIMAO','SM'); 
+citys[11]=new Array('LUM','芒市','MANSHI','MS'); 
+citys[12]=new Array('BSD','保山','BAOSHAN','BS'); 
+citys[13]=new Array('KMG','昆明','KUNMING','KM'); 
+citys[14]=new Array('JHG','西双版纳','XISHUANGBANNA','XSBN'); 
+citys[15]=new Array('DLU','大理','DALI','DL'); 
+citys[16]=new Array('DIG','迪庆','DIQING','DQ'); 
+citys[17]=new Array('LJG','丽江','LIJIANG','LJ'); 
+citys[18]=new Array('LXA','拉萨','LASA','LS'); 
+citys[19]=new Array('TCG','塔城','TACHENG','TC'); 
+citys[20]=new Array('IQM','且末','QIEMO','QM'); 
+citys[21]=new Array('KCA','库车','KUCHE','KC'); 
+citys[22]=new Array('HTN','和田','HETAN','HT'); 
+citys[23]=new Array('HMI','哈密','HAMI','HM'); 
+citys[24]=new Array('FYN','富蕴','FUYUN','FY'); 
+citys[25]=new Array('AKU','阿克苏','AGESU','AKS'); 
+citys[26]=new Array('URC','乌鲁木齐','WULUMUQI','WLMQ'); 
+citys[27]=new Array('KHG','喀什','KASHI','KS'); 
+citys[28]=new Array('KRL','库尔勒','KUERLE','KEL'); 
+citys[29]=new Array('KRY','克拉玛依','KELAMAYI','KLMY'); 
+citys[30]=new Array('AAT','阿勒泰','ALETAI','ALT'); 
+citys[31]=new Array('YIN','伊宁','YINING','YN'); 
+citys[32]=new Array('TSN','天津','TIANJIN','TJ'); 
+citys[33]=new Array('AKA','安康','ANKANG','AK'); 
+citys[34]=new Array('ENY','延安','YANAN','YA'); 
+citys[35]=new Array('HZG','汉中','HANZHONG','HZ'); 
+citys[36]=new Array('XIY','西安','XIAN','XA'); 
+citys[37]=new Array('UYN','榆林','YULIN','YL'); 
+citys[38]=new Array('CIH','长治','CHANGZHI','CZ'); 
+citys[39]=new Array('TYN','太原','TAIYUAN','TY'); 
+citys[40]=new Array('DAT','大同','DATONG','DT'); 
+citys[41]=new Array('YCU','运城','YUNCHENG','YC'); 
+citys[42]=new Array('TNA','济南','JINAN','JN'); 
+citys[43]=new Array('YNT','烟台','YANTAI','YT'); 
+citys[44]=new Array('JNG','济宁','JINING','JL'); 
+citys[45]=new Array('DOY','东营','DONGYING','DY'); 
+citys[46]=new Array('LYI','临沂','LINYI','LY'); 
+citys[47]=new Array('WEF','潍坊','WEIFANG','WF'); 
+citys[48]=new Array('TAO','青岛','QINGDAO','QD'); 
+citys[49]=new Array('WEH','威海','WEIHAI','WH'); 
+citys[50]=new Array('GHN','广汉','GUANGHAN','GH'); 
+citys[51]=new Array('DAX','达县','DAXIAN','DX'); 
+citys[52]=new Array('CTU','成都','CHENGDU','CD'); 
+citys[53]=new Array('MIG','绵阳','MIANYANG','MY'); 
+citys[54]=new Array('YBP','宜宾','YIBIN','YB'); 
+citys[55]=new Array('LZO','泸州','LUZHOU','LZ'); 
+citys[56]=new Array('XIC','西昌','XICHANG','XC'); 
+citys[57]=new Array('NAO','南充','NANCHONG','NC'); 
+citys[58]=new Array('PZI','攀枝花','PANZHIHUA','PZH'); 
+citys[59]=new Array('GOQ','格尔木','GELANMU','GEM'); 
+citys[60]=new Array('XNN','西宁','XINING','XN'); 
+citys[61]=new Array('ZHY','中卫','ZHONGWEI','null'); 
+citys[62]=new Array('INC','银川','YINCHUAN','YC'); 
+citys[63]=new Array('XIL','锡林浩特','XILINHAOTE','XLHT'); 
+citys[64]=new Array('HLH','乌兰浩特','WULANHAOTE','WLHT'); 
+citys[65]=new Array('WUA','乌海','WUHAI','WH'); 
+citys[66]=new Array('TGO','通辽','TONGLIAO','TL'); 
+citys[67]=new Array('HET','呼和浩特','HUHEHAOTE','HHHT'); 
+citys[68]=new Array('DSN','鄂尔多斯','EERDUOSI','EEDS'); 
+citys[69]=new Array('NZH','满洲里','MANZHOULI','MZL'); 
+citys[70]=new Array('HLD','海拉尔','HAILAER','HLE'); 
+citys[71]=new Array('CIF','赤峰','CHIFENG','CF'); 
+citys[72]=new Array('BAV','包头','BAOTOU','BT'); 
+citys[73]=new Array('CHG','朝阳','CHAOYANG','CY'); 
+citys[74]=new Array('SHE','沈阳','SHENYANG','SY'); 
+citys[75]=new Array('DLC','大连','DALIAN','DL'); 
+citys[76]=new Array('DDG','丹东','DANDONG','DD'); 
+citys[77]=new Array('JNZ','锦州','JINZHOU','JZ'); 
+citys[78]=new Array('AOG','鞍山','ANSHAN','AS'); 
+citys[79]=new Array('KHN','南昌','NANCHANG','NC'); 
+citys[80]=new Array('JDZ','景德镇','JINDEZHEN','JDZ'); 
+citys[81]=new Array('JIU','九江','JIUJIANG','JJ'); 
+citys[82]=new Array('KOW','赣州','GANZHOU','GZ'); 
+citys[83]=new Array('JGS','井冈山','JINGGANGSHAN','JGS'); 
+citys[84]=new Array('KNC','吉安','JIAN','JA'); 
+citys[85]=new Array('LYG','连云港','LIANYUNGANG','LYG'); 
+citys[86]=new Array('SZV','苏州','SUZHOU','SZ'); 
+citys[87]=new Array('YNZ','盐城','YANCHENG','YC'); 
+citys[88]=new Array('XUZ','徐州','XUZHOU','XZ'); 
+citys[89]=new Array('NKG','南京','NANJING','NJ'); 
+citys[90]=new Array('NTG','南通','NANTONG','NT'); 
+citys[91]=new Array('CZX','常州','CHANGZHOU','CZ'); 
+citys[92]=new Array('WUX','无锡','WUXI','WX'); 
+citys[93]=new Array('TNH','通化','TONGHUA','TH'); 
+citys[94]=new Array('JIL','吉林','JILIN','JL'); 
+citys[95]=new Array('CGQ','长春','CHANGCHUN','CC'); 
+citys[96]=new Array('YNJ','延吉','YANJI','YJ'); 
+citys[97]=new Array('HJJ','芷江','ZHIJIANG','ZJ'); 
+citys[98]=new Array('DYG','张家界','ZHANGJIAJIE','ZJJ'); 
+citys[99]=new Array('CGD','常德','CHANGDE','CD'); 
+citys[100]=new Array('CSX','长沙','CHANGSHA','CS'); 
+citys[101]=new Array('HNY','衡阳','HENGYANG','HY'); 
+citys[102]=new Array('OHE','漠河','MOHE','MH'); 
+citys[103]=new Array('HRB','哈尔滨','HAERBIN','HRB'); 
+citys[104]=new Array('HEK','黑河','HEIHE','HH'); 
+citys[105]=new Array('NDG','齐齐哈尔','QIQIHAER','QQHE'); 
+citys[106]=new Array('JMU','佳木斯','JIAMUSI','JMS'); 
+citys[107]=new Array('MDG','牡丹江','MUDANJIANG','MDJ'); 
+citys[108]=new Array('LYA','洛阳','LUOYANG','LY'); 
+citys[109]=new Array('NNY','南阳','NANYANG','NY'); 
+citys[110]=new Array('CGO','郑州','ZHENGZHOU','ZZ'); 
+citys[111]=new Array('SJW','石家庄','SHIJIAZHUANG','SJZ'); 
+citys[112]=new Array('SHP','秦皇岛','QINHUANGDAO','QHD'); 
+citys[113]=new Array('HDN','邯郸','HANDAN','HD'); 
+citys[114]=new Array('SHS','沙市','SHASHI','SS'); 
+citys[115]=new Array('WUH','武汉','WUHAN','WH'); 
+citys[116]=new Array('XFN','襄樊','XIANGFAN','XF'); 
+citys[117]=new Array('ENH','恩施','ENSHI','ES'); 
+citys[118]=new Array('YIH','宜昌','YICHANG','YC'); 
+citys[119]=new Array('HAK','海口','HAIKOU','HK'); 
+citys[120]=new Array('SYX','三亚','SANYA','SY'); 
+citys[121]=new Array('XYI','兴义','XINGYI','XY'); 
+citys[122]=new Array('KWE','贵阳','GUIYANG','GY'); 
+citys[123]=new Array('TEN','铜仁','TONGREN','TR'); 
+citys[124]=new Array('ZYI','遵义','ZUNYI','ZY'); 
+citys[125]=new Array('BHY','北海','BEIHAI','BH'); 
+citys[126]=new Array('KWL','桂林','GUILIN','GL'); 
+citys[127]=new Array('LZH','柳州','LIUZHOU','LZ'); 
+citys[128]=new Array('NNG','南宁','NANNING','NN'); 
+citys[129]=new Array('BAS','百色','BAISE','BS'); 
+citys[130]=new Array('WUZ','梧州','WUZHOU','WZ'); 
+citys[131]=new Array('THQ','天水','TIANSHUI','null'); 
+citys[132]=new Array('IQN','庆阳','QINGYANG','QY'); 
+citys[133]=new Array('CHW','酒泉','JIUQUAN','JQ'); 
+citys[134]=new Array('JGN','嘉峪关','JIAYUGUAN','JYG'); 
+citys[135]=new Array('DNH','敦煌','DUNHUANG','DH'); 
+citys[136]=new Array('LHW','兰州','LANZHOU','LZ'); 
+citys[137]=new Array('ZHA','湛江','ZHANJIANG','ZJ'); 
+citys[138]=new Array('MXZ','梅州','MEIZHOU','MZ'); 
+citys[139]=new Array('ZUH','珠海','ZHUHAI','ZH'); 
+citys[140]=new Array('SWA','汕头','SHANTOU','ST'); 
+citys[141]=new Array('SZX','深圳','SHENZHEN','SZ'); 
+citys[142]=new Array('CAN','广州','GUANGZHOU','GZ'); 
+citys[143]=new Array('XMN','厦门','XIAMEN','XM'); 
+citys[144]=new Array('WUS','武夷山','WUYISHAN','WYS'); 
+citys[145]=new Array('QHU','泉州','QUANZHOU','QZ'); 
+citys[146]=new Array('LIC','连城','LIANCHENG','LC'); 
+citys[147]=new Array('JJN','晋江','JINJIANG','JJ'); 
+citys[148]=new Array('FOC','福州','FUZHOU','FZ'); 
+citys[149]=new Array('WXN','万县','WANXIAN','WX'); 
+citys[150]=new Array('CKG','重庆','CHONGQING','CQ'); 
+citys[151]=new Array('TXN','黄山','HUANGSHAN','HS'); 
+citys[152]=new Array('BFU','蚌埠','BENGBU','BB'); 
+citys[153]=new Array('FUG','阜阳','FUYANG','FY'); 
+citys[154]=new Array('HFE','合肥','HEFEI','HF'); 
+citys[155]=new Array('AQG','安庆','ANQING','AQ'); 
+citys[156]=new Array('PEK','北京','BEIJING','BJ');

+ 80 - 0
watero-rst-web/src/main/webapp/common/lib/cm.lib/dimensions.js

@@ -0,0 +1,80 @@
+/* Copyright (c) 2007 Paul Bakaus (paul.bakaus@googlemail.com) and Brandon Aaron (brandon.aaron@gmail.com || http://brandonaaron.net)
+ * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
+ * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
+ * Download by http://www.mb5u.com
+ * $LastChangedDate: 2007-12-20 08:46:55 -0600 (Thu, 20 Dec 2007) $
+ * $Rev: 4259 $
+ *
+ * Version: 1.2
+ *
+ * Requires: jQuery 1.2+
+ */
+(function($){
+	$.dimensions = {version: '1.2'};
+	/*Create innerHeight, innerWidth, outerHeight and outerWidth methods*/
+	$.each( [ 'Height', 'Width' ], function(i, name){
+		/*innerHeight and innerWidth*/
+		$.fn[ 'inner' + name ] = function() {
+			if (!this[0]) return;
+			var torl = name == 'Height' ? 'Top'    : 'Left',  /*top or left*/
+		    borr = name == 'Height' ? 'Bottom' : 'Right'; /*bottom or right*/
+			return this.is(':visible') ? this[0]['client' + name] : num( this, name.toLowerCase() ) + num(this, 'padding' + torl) + num(this, 'padding' + borr)};
+		
+		/*outerHeight and outerWidth*/
+		$.fn[ 'outer' + name ] = function(options) {
+			if (!this[0]) return;
+			var torl = name == 'Height' ? 'Top'    : 'Left',  /*top or left*/
+		    borr = name == 'Height' ? 'Bottom' : 'Right'; /*bottom or right*/
+			options = $.extend({ margin: false }, options || {});
+			var val = this.is(':visible') ? 
+				this[0]['offset' + name] : num(this, name.toLowerCase())
+				+ num(this, 'border' + torl + 'Width') + num(this, 'border' + borr + 'Width')
+				+ num(this, 'padding' + torl) + num(this, 'padding' + borr);
+			return val + (options.margin ? (num(this, 'margin' + torl) + num(this, 'margin' + borr)) : 0)}});
+	
+	/*Create scrollLeft and scrollTop methods*/
+	$.each( ['Left', 'Top'], function(i, name) {
+		$.fn[ 'scroll' + name ] = function(val) {
+			if (!this[0]) return;
+			return val != undefined ?
+			/*Set the scroll offset*/
+			this.each(function() {
+				this == window || this == document ? window.scrollTo( 
+					name == 'Left' ? val : $(window)[ 'scrollLeft' ](),
+					name == 'Top'  ? val : $(window)[ 'scrollTop'  ]()
+					) : this[ 'scroll' + name ] = val}) :
+				/*Return the scroll offset*/ 
+				this[0] == window || this[0] == document ? self[ (
+					name == 'Left' ? 'pageXOffset' : 'pageYOffset') ] ||
+					$.boxModel && document.documentElement[ 'scroll' + name ] ||
+					document.body[ 'scroll' + name ] :
+				this[0][ 'scroll' + name ]}});
+	$.fn.extend({
+		position: function() {
+			var left = 0, top = 0, elem = this[0], offset, parentOffset, offsetParent, results;
+			if (elem) {
+				/*Get *real* offsetParent*/
+				offsetParent = this.offsetParent();
+				/*Get correct offsets*/
+				offset       = this.offset();
+				parentOffset = offsetParent.offset();
+				/*Subtract element margins*/ 
+				offset.top  -= num(elem, 'marginTop');
+				offset.left -= num(elem, 'marginLeft');
+				/*Add offsetParent borders*/ 
+				parentOffset.top  += num(offsetParent, 'borderTopWidth');
+				parentOffset.left += num(offsetParent, 'borderLeftWidth');
+				/*Subtract the two offsets*/ 
+				results = {
+					top:  offset.top  - parentOffset.top,
+					left: offset.left - parentOffset.left
+				}}
+			return results},
+		offsetParent: function() {
+			var offsetParent = this[0].offsetParent;
+			while ( offsetParent && (!/^body|html$/i.test(offsetParent.tagName) && $.css(offsetParent, 'position') == 'static'))
+			offsetParent = offsetParent.offsetParent;
+			return $(offsetParent)}
+	});
+	function num(el, prop) {
+		return parseInt($.curCSS(el.jquery?el[0]:el,prop,true))||0}})(jQuery);

+ 61 - 0
watero-rst-web/src/main/webapp/common/lib/cm.lib/jquery.provincesCity.js

@@ -0,0 +1,61 @@
+/**
+ * jQuery :  城市联动插件
+ * @author   XiaoDong <cssrain@gmail.com>
+ *			 http://www.cssrain.cn
+ * @example  $("#test").ProvinceCity();
+ * @params   暂无
+ */
+$.fn.ProvinceCity = function(){
+	var _self = this;
+	//定义3个默认值
+	_self.data("province",["选择省", "请选择"]);
+	_self.data("city1",["选择市", "请选择"]);
+	_self.data("city2",["选择区", "请选择"]);
+	//插入3个空的下拉框
+	_self.append("<select></select>");
+	_self.append("<select></select>");
+	_self.append("<select></select>");
+	//分别获取3个下拉框
+	var $sel1 = _self.find("select").eq(0);
+	var $sel2 = _self.find("select").eq(1);
+	var $sel3 = _self.find("select").eq(2);
+	//默认省级下拉
+	if(_self.data("province")){
+		$sel1.append("<option value='"+_self.data("province")[1]+"'>"+_self.data("province")[0]+"</option>")}
+	$.each( GP , function(index,data){
+		$sel1.append("<option value='"+data+"'>"+data+"</option>")});
+	//默认的1级城市下拉
+	if(_self.data("city1")){
+		$sel2.append("<option value='"+_self.data("city1")[1]+"'>"+_self.data("city1")[0]+"</option>")}
+	//默认的2级城市下拉
+	if(_self.data("city2")){
+		$sel3.append("<option value='"+_self.data("city2")[1]+"'>"+_self.data("city2")[0]+"</option>")}
+	//省级联动 控制
+	var index1 = "" ;
+	$sel1.change(function(){
+		//清空其它2个下拉框
+		$sel2[0].options.length=0;
+		$sel3[0].options.length=0;
+		index1 = this.selectedIndex;
+		if(index1==0){	//当选择的为 “请选择” 时
+			if(_self.data("city1")){
+				$sel2.append("<option value='"+_self.data("city1")[1]+"'>"+_self.data("city1")[0]+"</option>")}
+			if(_self.data("city2")){
+				$sel3.append("<option value='"+_self.data("city2")[1]+"'>"+_self.data("city2")[0]+"</option>")}
+		}else{
+			$.each( GT[index1-1] , function(index,data){
+				$sel2.append("<option value='"+data+"'>"+data+"</option>")});
+			$.each( GC[index1-1][0] , function(index,data){
+				$sel3.append("<option value='"+data+"'>"+data+"</option>")})
+		}
+	}).change();
+	//1级城市联动 控制
+	var index2 = "" ;
+	$sel2.change(function(){
+		$sel3[0].options.length=0;
+		index2 = this.selectedIndex;
+		$.each( GC[index1-1][index2] , function(index,data){
+			$sel3.append("<option value='"+data+"'>"+data+"</option>")})
+	});
+	return _self;
+};

Fichier diff supprimé car celui-ci est trop grand
+ 693 - 0
watero-rst-web/src/main/webapp/common/lib/cm.lib/provincesData.js


+ 176 - 0
watero-rst-web/src/main/webapp/common/lib/cm.lib/suggest.js

@@ -0,0 +1,176 @@
+(function($) {
+	$.suggest = function(input, options) {
+		var $input = $(input).attr("autocomplete", "off");
+		var $results;
+		var timeout = false;		// hold timeout ID for suggestion results to appear	
+		var prevLength = 0;			// last recorded length of $input.val()
+		var cache = [];				// cache MRU list
+		var cacheSize = 0;			// size of cache in chars (bytes?)			
+		
+		if($.trim($input.val())=='' || $.trim($input.val())=='请输入搜索城市') $input.val('请输入搜索城市').css('color','#aaa');
+		if( ! options.attachObject )
+			options.attachObject = $(document.createElement("ul")).appendTo('body');
+			$results = $(options.attachObject);
+			$results.addClass(options.resultsClass);			
+			resetPosition();
+		$(window).load(resetPosition)/*just in case user is changing size of page while loading*/
+			.resize(resetPosition);
+			
+		$input.blur(function() {
+			setTimeout(function() { $results.hide() }, 200)});
+			
+		$input.focus(function(){
+			if($.trim($(this).val())=='请输入搜索城市'){
+				$(this).val('').css('color','#000')}
+			if($.trim($(this).val())==''){
+				displayItems('');/*显示热门城市列表*/
+			}
+		});
+		$input.click(function(){
+			var q=$.trim($(this).val());
+			displayItems(q);
+			$(this).select()});
+						
+		/*help IE users if possible*/
+		try {
+			$results.bgiframe()} catch(e) { }
+		$input.keyup(processKey);
+		function resetPosition() {
+			/*requires jquery.dimension plugin*/ 
+			var offset = $input.offset();
+			$results.css({
+				top: '0px',
+				left: '160px'
+			})}	
+
+		function processKey(e) {				
+			/*handling up/down/escape requires results to be visible*/
+			/*handling enter/tab requires that AND a result to be selected*/
+			if ((/27$|38$|40$/.test(e.keyCode) && $results.is(':visible')) ||(/^13$|^9$/.test(e.keyCode) && getCurrentResult())) {
+				if (e.preventDefault)
+					e.preventDefault();
+				if (e.stopPropagation)
+					e.stopPropagation();
+	                e.cancelBubble = true;
+	                e.returnValue = false;				
+				switch(e.keyCode) {	
+					case 38: // up
+					prevResult();
+					break;				
+					case 40: // down
+					nextResult();
+					break;
+					case 13: // return
+					selectCurrentResult();
+					break;
+					case 27: //	escape
+					$results.hide();
+					break}					
+			}else if($input.val().length != prevLength) {
+				if (timeout) 
+					clearTimeout(timeout);
+					timeout = setTimeout(suggest, options.delay);
+					prevLength = $input.val().length}			
+				
+			}			
+			function suggest() {
+				var q = $.trim($input.val());
+				displayItems(q)}		
+			function displayItems(items) {
+				var html = '';
+				if (items=='') {//热门城市遍历
+					for(h in options.hot_list){
+						html+='<li rel="'+options.hot_list[h][0]+'"><a href="#'+h+'"><span>'+options.hot_list[h][2]+'</span>'+options.hot_list[h][1]+'</a></li>'}
+					html='<div class="gray ac_result_tip">请输入中文/拼音或者↑↓选择</div><ul>'+html+'</ul>'}
+				else {
+					/*if (!items)
+					return;
+					if (!items.length) {
+						$results.hide();
+						return}*/
+					for (var i = 0; i < options.source.length; i++) {//国内城市匹配
+						var reg = new RegExp('^' + items + '.*$', 'im');
+						if (reg.test(options.source[i][0]) || reg.test(options.source[i][1]) || reg.test(options.source[i][2]) || reg.test(options.source[i][3])) {
+							html += '<li rel="' + options.source[i][0] + '"><a href="#' + i + '"><span>' + options.source[i][2] + '</span>' + options.source[i][1] + '</a></li>'}
+					}
+					if (html == '') {
+						suggest_tip = '<div class="gray ac_result_tip">对不起,找不到:' + items + '</div>'}
+					else {
+						suggest_tip = '<div class="gray ac_result_tip">' + items + ',按拼音排序</div>'}
+					html = suggest_tip + '<ul>' + html + '</ul>'}
+
+				$results.html(html).show();
+				$results.children('ul').children('li:first-child').addClass(options.selectClass);				
+				$results.children('ul')
+					.children('li')
+					.mouseover(function() {
+						$results.children('ul').children('li').removeClass(options.selectClass);
+						$(this).addClass(options.selectClass)})
+					.click(function(e) {
+						e.preventDefault(); 
+						e.stopPropagation();
+						selectCurrentResult()})}
+						
+			function getCurrentResult() {			
+				if (!$results.is(':visible'))
+					return false;			
+				var $currentResult = $results.children('ul').children('li.' + options.selectClass);
+				if (!$currentResult.length)
+					$currentResult = false;
+					return $currentResult}
+			
+			function selectCurrentResult() {			
+				$currentResult = getCurrentResult();			
+				if ($currentResult) {
+					$input.val($currentResult.children('a').html().replace(/<span>.+?<\/span>/i,''));
+					$results.hide();
+					if( $(options.dataContainer) ) {
+						$(options.dataContainer).val($currentResult.attr('rel'))}	
+					if (options.onSelect) {
+						options.onSelect.apply($input[0])}
+				}
+			
+			}
+			
+			function nextResult() {			
+				$currentResult = getCurrentResult();			
+				if ($currentResult)
+					$currentResult
+					.removeClass(options.selectClass)
+					.next()
+					.addClass(options.selectClass);
+				else
+					$results.children('ul').children('li:first-child').addClass(options.selectClass)}
+			
+			function prevResult() {			
+				$currentResult = getCurrentResult();			
+				if ($currentResult)
+					$currentResult
+					.removeClass(options.selectClass)
+					.prev()
+					.addClass(options.selectClass);
+				else
+					$results.children('ul').children('li:last-child').addClass(options.selectClass)}	
+		}
+		
+	$.fn.suggest = function(source, options) {		
+		if (!source)
+			return;		
+			options = options || {};
+			options.source = source;
+			options.hot_list=options.hot_list || [];
+			options.delay = options.delay || 0;
+			options.resultsClass = options.resultsClass || 'ac_results';
+			options.selectClass = options.selectClass || 'ac_over';
+			options.matchClass = options.matchClass || 'ac_match';
+			options.minchars = options.minchars || 1;
+			options.delimiter = options.delimiter || '\n';
+			options.onSelect = options.onSelect || false;
+			options.dataDelimiter = options.dataDelimiter || '\t';
+			options.dataContainer = options.dataContainer || '#SuggestResult';
+			options.attachObject = options.attachObject || null;	
+		this.each(function() {
+			new $.suggest(this, options)});	
+		return this};
+		 // Download by http://www.mb5u.com
+})(jQuery);

BIN
watero-rst-web/src/main/webapp/common/lib/icheck/aero.png


BIN
watero-rst-web/src/main/webapp/common/lib/icheck/blue.png


BIN
watero-rst-web/src/main/webapp/common/lib/icheck/green.png


BIN
watero-rst-web/src/main/webapp/common/lib/icheck/grey.png


+ 182 - 0
watero-rst-web/src/main/webapp/common/lib/icheck/icheck.css

@@ -0,0 +1,182 @@
+/* iCheck.js Minimal skin
+----------------------------------- */
+.icheckbox,.iradio{display: block;margin: 0;padding: 0;width: 18px;height: 18px;background: url(minimal.png) no-repeat;border: none;cursor: pointer}
+.icheckbox,.icheckbox.static:hover{background-position: 0 0}
+.icheckbox.hover,.icheckbox:hover{background-position: -20px 0}
+.icheckbox.checked{background-position: -40px 0}
+.icheckbox.disabled{background-position: -60px 0;cursor: default}
+.icheckbox.checked.disabled{background-position: -80px 0}
+.iradio,.iradio.static:hover{background-position: -100px 0}
+.iradio.hover,.iradio:hover{background-position: -120px 0}
+.iradio.checked{background-position: -140px 0}
+.iradio.disabled{background-position: -160px 0;cursor: default}
+.iradio.checked.disabled{background-position: -180px 0}
+
+/* Retina support */
+@media only screen and (-webkit-min-device-pixel-ratio: 1.5),  only screen and (-moz-min-device-pixel-ratio: 1.5),  only screen and (-o-min-device-pixel-ratio: 1.5),  only screen and (min-device-pixel-ratio: 1.5){.icheckbox,.iradio{background-image: url(minimal@2x.png);
+	-webkit-background-size: 200px 20px;
+	background-size: 200px 20px}
+}
+/* red */
+.icheckbox-red,.iradio-red{display: block;margin: 0;padding: 0;width: 18px;height: 18px;background: url(red.png) no-repeat;border: none;cursor: pointer}
+.icheckbox-red,.icheckbox-red.static:hover{background-position: 0 0}
+.icheckbox-red.hover,.icheckbox-red:hover{background-position: -20px 0}
+.icheckbox-red.checked{background-position: -40px 0}
+.icheckbox-red.disabled{background-position: -60px 0;cursor: default}
+.icheckbox-red.checked.disabled{background-position: -80px 0}
+.iradio-red,.iradio-red.static:hover{background-position: -100px 0}
+.iradio-red.hover,.iradio-red:hover{background-position: -120px 0}
+.iradio-red.checked{background-position: -140px 0}
+.iradio-red.disabled{background-position: -160px 0;cursor: default}
+.iradio-red.checked.disabled{background-position: -180px 0}
+
+/* Retina support */
+@media only screen and (-webkit-min-device-pixel-ratio: 1.5),  only screen and (-moz-min-device-pixel-ratio: 1.5),  only screen and (-o-min-device-pixel-ratio: 1.5),  only screen and (min-device-pixel-ratio: 1.5){.icheckbox-red,.iradio-red{background-image: url(red@2x.png);
+	-webkit-background-size: 200px 20px;
+	background-size: 200px 20px}
+}
+/* green */
+.icheckbox-green,.iradio-green{display: block;margin: 0;padding: 0;width: 18px;height: 18px;background: url(green.png) no-repeat;border: none;cursor: pointer}
+.icheckbox-green,.icheckbox-green.static:hover{background-position: 0 0}
+.icheckbox-green.hover,.icheckbox-green:hover{background-position: -20px 0}
+.icheckbox-green.checked{background-position: -40px 0}
+.icheckbox-green.disabled{background-position: -60px 0;cursor: default}
+.icheckbox-green.checked.disabled{background-position: -80px 0}
+.iradio-green,.iradio-green.static:hover{background-position: -100px 0}
+.iradio-green.hover,.iradio-green:hover{background-position: -120px 0}
+.iradio-green.checked{background-position: -140px 0}
+.iradio-green.disabled{background-position: -160px 0;cursor: default}
+.iradio-green.checked.disabled{background-position: -180px 0}
+
+/* Retina support */
+@media only screen and (-webkit-min-device-pixel-ratio: 1.5),  only screen and (-moz-min-device-pixel-ratio: 1.5),  only screen and (-o-min-device-pixel-ratio: 1.5),  only screen and (min-device-pixel-ratio: 1.5){.icheckbox-green,.iradio-green{background-image: url(green@2x.png);
+	-webkit-background-size: 200px 20px;
+	background-size: 200px 20px}
+}
+/* blue */
+.icheckbox-blue,.iradio-blue{display: block;margin: 0;padding: 0;width: 18px;height: 18px;background: url(blue.png) no-repeat;border: none;cursor: pointer}
+.icheckbox-blue,.icheckbox-blue.static:hover{background-position: 0 0}
+.icheckbox-blue.hover,.icheckbox-blue:hover{background-position: -20px 0}
+.icheckbox-blue.checked{background-position: -40px 0}
+.icheckbox-blue.disabled{background-position: -60px 0;cursor: default}
+.icheckbox-blue.checked.disabled{background-position: -80px 0}
+.iradio-blue,.iradio-blue.static:hover{background-position: -100px 0}
+.iradio-blue.hover,.iradio-blue:hover{background-position: -120px 0}
+.iradio-blue.checked{background-position: -140px 0}
+.iradio-blue.disabled{background-position: -160px 0;cursor: default}
+.iradio-blue.checked.disabled{background-position: -180px 0}
+
+/* Retina support */
+@media only screen and (-webkit-min-device-pixel-ratio: 1.5),  only screen and (-moz-min-device-pixel-ratio: 1.5),  only screen and (-o-min-device-pixel-ratio: 1.5),  only screen and (min-device-pixel-ratio: 1.5){.icheckbox-blue,.iradio-blue{background-image: url(blue@2x.png);
+	-webkit-background-size: 200px 20px;
+	background-size: 200px 20px}
+}
+/* aero */
+.icheckbox-aero,.iradio-aero{display: block;margin: 0;padding: 0;width: 18px;height: 18px;background: url(aero.png) no-repeat;border: none;cursor: pointer}
+.icheckbox-aero,.icheckbox-aero.static:hover{background-position: 0 0}
+.icheckbox-aero.hover,.icheckbox-aero:hover{background-position: -20px 0}
+.icheckbox-aero.checked{background-position: -40px 0}
+.icheckbox-aero.disabled{background-position: -60px 0;cursor: default}
+.icheckbox-aero.checked.disabled{background-position: -80px 0}
+.iradio-aero,.iradio-aero.static:hover{background-position: -100px 0}
+.iradio-aero.hover,.iradio-aero:hover{background-position: -120px 0}
+.iradio-aero.checked{background-position: -140px 0}
+.iradio-aero.disabled{background-position: -160px 0;cursor: default}
+.iradio-aero.checked.disabled{background-position: -180px 0}
+
+/* Retina support */
+@media only screen and (-webkit-min-device-pixel-ratio: 1.5),  only screen and (-moz-min-device-pixel-ratio: 1.5),  only screen and (-o-min-device-pixel-ratio: 1.5),  only screen and (min-device-pixel-ratio: 1.5){.icheckbox-aero,.iradio-aero{background-image: url(aero@2x.png);
+	-webkit-background-size: 200px 20px;
+	background-size: 200px 20px}
+}
+/* grey */
+.icheckbox-grey,.iradio-grey{display: block;margin: 0;padding: 0;width: 18px;height: 18px;background: url(grey.png) no-repeat;border: none;cursor: pointer}
+.icheckbox-grey,.icheckbox-grey.static:hover{background-position: 0 0}
+.icheckbox-grey.hover,.icheckbox-grey:hover{background-position: -20px 0}
+.icheckbox-grey.checked{background-position: -40px 0}
+.icheckbox-grey.disabled{background-position: -60px 0;cursor: default}
+.icheckbox-grey.checked.disabled{background-position: -80px 0}
+.iradio-grey,.iradio-grey.static:hover{background-position: -100px 0}
+.iradio-grey.hover,.iradio-grey:hover{background-position: -120px 0}
+.iradio-grey.checked{background-position: -140px 0}
+.iradio-grey.disabled{background-position: -160px 0;cursor: default}
+.iradio-grey.checked.disabled{background-position: -180px 0}
+
+/* Retina support */
+@media only screen and (-webkit-min-device-pixel-ratio: 1.5),  only screen and (-moz-min-device-pixel-ratio: 1.5),  only screen and (-o-min-device-pixel-ratio: 1.5),  only screen and (min-device-pixel-ratio: 1.5){.icheckbox-grey,.iradio-grey{background-image: url(grey@2x.png);
+	-webkit-background-size: 200px 20px;
+	background-size: 200px 20px}
+}
+/* orange */
+.icheckbox-orange,.iradio-orange{display: block;margin: 0;padding: 0;width: 18px;height: 18px;background: url(orange.png) no-repeat;border: none;cursor: pointer}
+.icheckbox-orange,.icheckbox-orange.static:hover{background-position: 0 0}
+.icheckbox-orange.hover,.icheckbox-orange:hover{background-position: -20px 0}
+.icheckbox-orange.checked{background-position: -40px 0}
+.icheckbox-orange.disabled{background-position: -60px 0;cursor: default}
+.icheckbox-orange.checked.disabled{background-position: -80px 0}
+.iradio-orange,.iradio-orange.static:hover{background-position: -100px 0}
+.iradio-orange.hover,.iradio-orange:hover{background-position: -120px 0}
+.iradio-orange.checked{background-position: -140px 0}
+.iradio-orange.disabled{background-position: -160px 0;cursor: default}
+.iradio-orange.checked.disabled{background-position: -180px 0}
+
+/* Retina support */
+@media only screen and (-webkit-min-device-pixel-ratio: 1.5),  only screen and (-moz-min-device-pixel-ratio: 1.5),  only screen and (-o-min-device-pixel-ratio: 1.5),  only screen and (min-device-pixel-ratio: 1.5){.icheckbox-orange,.iradio-orange{background-image: url(orange@2x.png);
+	-webkit-background-size: 200px 20px;
+	background-size: 200px 20px}
+}
+/* yellow */
+.icheckbox-yellow,.iradio-yellow{display: block;margin: 0;padding: 0;width: 18px;height: 18px;background: url(yellow.png) no-repeat;border: none;cursor: pointer}
+.icheckbox-yellow,.icheckbox-yellow.static:hover{background-position: 0 0}
+.icheckbox-yellow.hover,.icheckbox-yellow:hover{background-position: -20px 0}
+.icheckbox-yellow.checked{background-position: -40px 0}
+.icheckbox-yellow.disabled{background-position: -60px 0;cursor: default}
+.icheckbox-yellow.checked.disabled{background-position: -80px 0}
+.iradio-yellow,.iradio-yellow.static:hover{background-position: -100px 0}
+.iradio-yellow.hover,.iradio-yellow:hover{background-position: -120px 0}
+.iradio-yellow.checked{background-position: -140px 0}
+.iradio-yellow.disabled{background-position: -160px 0;cursor: default}
+.iradio-yellow.checked.disabled{background-position: -180px 0}
+
+/* Retina support */
+@media only screen and (-webkit-min-device-pixel-ratio: 1.5),  only screen and (-moz-min-device-pixel-ratio: 1.5),  only screen and (-o-min-device-pixel-ratio: 1.5),  only screen and (min-device-pixel-ratio: 1.5){.icheckbox-yellow,.iradio-yellow{background-image: url(yellow@2x.png);
+	-webkit-background-size: 200px 20px;
+	background-size: 200px 20px}
+}
+/* pink */
+.icheckbox-pink,.iradio-pink{display: block;margin: 0;padding: 0;width: 18px;height: 18px;background: url(pink.png) no-repeat;border: none;cursor: pointer}
+.icheckbox-pink,.icheckbox-pink.static:hover{background-position: 0 0}
+.icheckbox-pink.hover,.icheckbox-pink:hover{background-position: -20px 0}
+.icheckbox-pink.checked{background-position: -40px 0}
+.icheckbox-pink.disabled{background-position: -60px 0;cursor: default}
+.icheckbox-pink.checked.disabled{background-position: -80px 0}
+.iradio-pink,.iradio-pink.static:hover{background-position: -100px 0}
+.iradio-pink.hover,.iradio-pink:hover{background-position: -120px 0}
+.iradio-pink.checked{background-position: -140px 0}
+.iradio-pink.disabled{background-position: -160px 0;cursor: default}
+.iradio-pink.checked.disabled{background-position: -180px 0}
+
+/* Retina support */
+@media only screen and (-webkit-min-device-pixel-ratio: 1.5),  only screen and (-moz-min-device-pixel-ratio: 1.5),  only screen and (-o-min-device-pixel-ratio: 1.5),  only screen and (min-device-pixel-ratio: 1.5){.icheckbox-pink,.iradio-pink{background-image: url(pink@2x.png);
+	-webkit-background-size: 200px 20px;
+	background-size: 200px 20px}
+}
+/* purple */
+.icheckbox-purple,.iradio-purple{display: block;margin: 0;padding: 0;width: 18px;height: 18px;background: url(purple.png) no-repeat;border: none;cursor: pointer}
+.icheckbox-purple,.icheckbox-purple.static:hover{background-position: 0 0}
+.icheckbox-purple.hover,.icheckbox-purple:hover{background-position: -20px 0}
+.icheckbox-purple.checked{background-position: -40px 0}
+.icheckbox-purple.disabled{background-position: -60px 0;cursor: default}
+.icheckbox-purple.checked.disabled{background-position: -80px 0}
+.iradio-purple,.iradio-purple.static:hover{background-position: -100px 0}
+.iradio-purple.hover,.iradio-purple:hover{background-position: -120px 0}
+.iradio-purple.checked{background-position: -140px 0}
+.iradio-purple.disabled{background-position: -160px 0;cursor: default}
+.iradio-purple.checked.disabled{background-position: -180px 0}
+
+/* Retina support */
+@media only screen and (-webkit-min-device-pixel-ratio: 1.5),  only screen and (-moz-min-device-pixel-ratio: 1.5),  only screen and (-o-min-device-pixel-ratio: 1.5),  only screen and (min-device-pixel-ratio: 1.5){.icheckbox-purple,.iradio-purple{background-image: url(purple@2x.png);
+	-webkit-background-size: 200px 20px;
+	background-size: 200px 20px}
+}
+

Fichier diff supprimé car celui-ci est trop grand
+ 9 - 0
watero-rst-web/src/main/webapp/common/lib/icheck/jquery.icheck.min.js


BIN
watero-rst-web/src/main/webapp/common/lib/icheck/minimal.png


BIN
watero-rst-web/src/main/webapp/common/lib/icheck/orange.png


BIN
watero-rst-web/src/main/webapp/common/lib/icheck/pink.png


BIN
watero-rst-web/src/main/webapp/common/lib/icheck/purple.png


BIN
watero-rst-web/src/main/webapp/common/lib/icheck/red.png


BIN
watero-rst-web/src/main/webapp/common/lib/icheck/yellow.png