Quellcode durchsuchen

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

liuzhiwei vor 7 Jahren
Ursprung
Commit
a0c04bd181
61 geänderte Dateien mit 1387 neuen und 468 gelöschten Zeilen
  1. 9 0
      watero-rst-core/src/main/java/com.iamberry.rst.core/cm/ComplaintQuestionInfo.java
  2. 9 0
      watero-rst-core/src/main/java/com.iamberry.rst.core/cm/ComplaintSignclosedInfo.java
  3. 11 1
      watero-rst-core/src/main/java/com.iamberry.rst.core/pts/PtsBatch.java
  4. 10 0
      watero-rst-core/src/main/java/com.iamberry.rst.core/pts/PtsMachineStatistics.java
  5. 7 0
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/cm/ComplaintSignclosedInfoService.java
  6. 12 0
      watero-rst-interface/src/main/java/com/iamberry/rst/faces/pts/MachineVersionService.java
  7. 5 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/ComplaintSignclosedInfoServiceImpl.java
  8. 23 15
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/CustomerServiceImpl.java
  9. 6 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/ComplaintSignclosedInfoMapper.java
  10. 1 1
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/complaintDetectInfoMapper.xml
  11. 3 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/complaintQuestionInfoMapper.xml
  12. 70 2
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/complaintSignclosedInfoMapper.xml
  13. 3 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/customerInfoMapper.xml
  14. 1 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/salesOrderMapper.xml
  15. 8 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/pts/MachineVersionServiceImpl.java
  16. 2 2
      watero-rst-service/src/main/java/com/iamberry/rst/service/pts/mapper/machineLogsMapper.xml
  17. 4 0
      watero-rst-service/src/main/java/com/iamberry/rst/service/pts/mapper/machineMapper.xml
  18. 9 3
      watero-rst-service/src/main/java/com/iamberry/rst/service/pts/mapper/machineVersionMapper.xml
  19. 1 1
      watero-rst-service/src/main/java/com/iamberry/rst/service/pts/mapper/produceMapper.xml
  20. 21 16
      watero-rst-service/src/main/java/com/iamberry/rst/service/pts/mapper/ptsBatchMapper.xml
  21. 1 3
      watero-rst-service/src/main/java/com/iamberry/rst/service/pts/mapper/ptsEmployeeMapper.xml
  22. 47 10
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminCustomerController.java
  23. 5 2
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminOrderController.java
  24. 30 14
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/pts/AdminMachineController.java
  25. 1 1
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/pts/AdminPtsBatchController.java
  26. 1 1
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/pts/AdminPtsBomController.java
  27. 127 10
      watero-rst-web/src/main/java/com/iamberry/rst/controllers/pts/AdminSoftwareVersionController.java
  28. 79 10
      watero-rst-web/src/main/java/com/iamberry/rst/utils/ExcelUtil.java
  29. 25 6
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/add_customer.ftl
  30. 12 6
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/custome_detail.ftl
  31. 14 1
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/custome_list.ftl
  32. 15 2
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/order_list.ftl
  33. 19 1
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/update_back_goods.ftl
  34. 19 1
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/update_noreason_back.ftl
  35. 3 1
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/update_reissue.ftl
  36. 5 2
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/update_renewed.ftl
  37. 21 1
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/update_repair.ftl
  38. 37 20
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/inspection/add_detect.ftl
  39. 32 39
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/inspection/detect_complete.ftl
  40. 38 25
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/inspection/detect_list.ftl
  41. 35 18
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/inspection/update_complete.ftl
  42. 2 2
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/inspection/update_produced_info.ftl
  43. 5 5
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/maintenance/add_maintenance.ftl
  44. 4 4
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/maintenance/complete_reorder.ftl
  45. 5 5
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/maintenance/update_maintenance.ftl
  46. 10 7
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/signclosed/complete_signclosed.ftl
  47. 7 5
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/signclosed/signclosed_list.ftl
  48. 28 9
      watero-rst-web/src/main/webapp/WEB-INF/views/cm/signclosed/update_sender.ftl
  49. 22 0
      watero-rst-web/src/main/webapp/WEB-INF/views/order/excel_to_order.ftl
  50. 6 6
      watero-rst-web/src/main/webapp/WEB-INF/views/pts/batch/add_batch.ftl
  51. 4 4
      watero-rst-web/src/main/webapp/WEB-INF/views/pts/batch/update_batch.ftl
  52. 5 5
      watero-rst-web/src/main/webapp/WEB-INF/views/pts/bom/add_bom.ftl
  53. 2 2
      watero-rst-web/src/main/webapp/WEB-INF/views/pts/bom/bom_details.ftl
  54. 0 2
      watero-rst-web/src/main/webapp/WEB-INF/views/pts/bom/bom_list.ftl
  55. 4 8
      watero-rst-web/src/main/webapp/WEB-INF/views/pts/bom/update_bom.ftl
  56. 2 2
      watero-rst-web/src/main/webapp/WEB-INF/views/pts/employee/save_employee.ftl
  57. 2 2
      watero-rst-web/src/main/webapp/WEB-INF/views/pts/employee/update_employee.ftl
  58. 135 119
      watero-rst-web/src/main/webapp/WEB-INF/views/pts/machine/addRenovationMachine.ftl
  59. 130 0
      watero-rst-web/src/main/webapp/WEB-INF/views/pts/softwareVersion/software_version_add.ftl
  60. 85 66
      watero-rst-web/src/main/webapp/WEB-INF/views/pts/softwareVersion/software_version_list.ftl
  61. 148 0
      watero-rst-web/src/main/webapp/WEB-INF/views/pts/softwareVersion/software_version_update.ftl

+ 9 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/cm/ComplaintQuestionInfo.java

@@ -24,6 +24,7 @@ public class ComplaintQuestionInfo implements Serializable {
     private Integer questionNotSolvedNum;//未解决总数
 
     private Integer complaintId; //问题分类id
+    private Integer complaintType;//咨询类型 1.售前 2.售后 3.其它
 
     public Integer getQuestionId() {
         return questionId;
@@ -112,4 +113,12 @@ public class ComplaintQuestionInfo implements Serializable {
     public void setComplaintId(Integer complaintId) {
         this.complaintId = complaintId;
     }
+
+    public Integer getComplaintType() {
+        return complaintType;
+    }
+
+    public void setComplaintType(Integer complaintType) {
+        this.complaintType = complaintType;
+    }
 }

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

@@ -43,6 +43,7 @@ public class ComplaintSignclosedInfo implements Serializable {
     private List<SignclosedProductInfo> signclosedProductInfoList = new ArrayList<SignclosedProductInfo>();	//签收实体类
     private String provincesName;//寄件地址(省)
     private String cityName;//寄件地址(市)
+    private String describeHandleDesc;//处理描述
     public Integer getSignclosedId() {
         return signclosedId;
     }
@@ -266,4 +267,12 @@ public class ComplaintSignclosedInfo implements Serializable {
     public void setCustomerIdDescribe(String customerIdDescribe) {
         this.customerIdDescribe = customerIdDescribe;
     }
+
+    public String getDescribeHandleDesc() {
+        return describeHandleDesc;
+    }
+
+    public void setDescribeHandleDesc(String describeHandleDesc) {
+        this.describeHandleDesc = describeHandleDesc;
+    }
 }

+ 11 - 1
watero-rst-core/src/main/java/com.iamberry.rst.core/pts/PtsBatch.java

@@ -38,7 +38,9 @@ public class PtsBatch implements Serializable{
 
     private String produceName; //产品名称
 
-    private String bomName; //bom单id
+    private String bomName; //bom单名称
+
+    private String bomVersion;
 
     private String softwareVersionNo; //软件版本号
 
@@ -171,4 +173,12 @@ public class PtsBatch implements Serializable{
     public void setPtsBatchColorList(List<PtsBatchColor> ptsBatchColorList) {
         this.ptsBatchColorList = ptsBatchColorList;
     }
+
+    public String getBomVersion() {
+        return bomVersion;
+    }
+
+    public void setBomVersion(String bomVersion) {
+        this.bomVersion = bomVersion;
+    }
 }

+ 10 - 0
watero-rst-core/src/main/java/com.iamberry.rst.core/pts/PtsMachineStatistics.java

@@ -22,6 +22,8 @@ public class PtsMachineStatistics implements Serializable{
 
     private String nodeDes;//工序选项描述
 
+    private String produceId;//产品id
+
     public String getYear() {
         return year;
     }
@@ -93,4 +95,12 @@ public class PtsMachineStatistics implements Serializable{
     public void setNodeDes(String nodeDes) {
         this.nodeDes = nodeDes;
     }
+
+    public String getProduceId() {
+        return produceId;
+    }
+
+    public void setProduceId(String produceId) {
+        this.produceId = produceId;
+    }
 }

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

@@ -39,6 +39,13 @@ public interface ComplaintSignclosedInfoService {
      * @return
      */
     Integer updateSignclosedById(ComplaintSignclosedInfo record);
+
+    /**
+     * 修改单个签收记录
+     * @return
+     */
+    Integer updateSignclosedByCustomerId(ComplaintSignclosedInfo record);
+
     /**
      * 增加催促次数
      * @return

+ 12 - 0
watero-rst-interface/src/main/java/com/iamberry/rst/faces/pts/MachineVersionService.java

@@ -2,6 +2,7 @@ package com.iamberry.rst.faces.pts;
 
 
 import com.iamberry.rst.core.page.PagedResult;
+import com.iamberry.rst.core.pts.PtsBom;
 import com.iamberry.rst.core.pts.PtsComponents;
 import com.iamberry.rst.core.pts.PtsMachineVersion;
 
@@ -31,4 +32,15 @@ public interface MachineVersionService {
      * 查询单个机器版本
      * **/
     PtsMachineVersion getMachineVersion(PtsMachineVersion ptsMachineVersion);
+
+    /**
+     * 机器列表
+     * @param pageNO
+     * @param pageSize
+     * @param ptsMachineVersion
+     * @param isTotalNum
+     * @return
+     */
+    PagedResult<PtsMachineVersion> listMachineVersion(int pageNO, int pageSize, PtsMachineVersion ptsMachineVersion, boolean isTotalNum);
+
 }

+ 5 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/ComplaintSignclosedInfoServiceImpl.java

@@ -222,6 +222,11 @@ public class ComplaintSignclosedInfoServiceImpl implements ComplaintSignclosedIn
     }
 
     @Override
+    public Integer updateSignclosedByCustomerId(ComplaintSignclosedInfo record) {
+        return complaintSignclosedInfoMapper.updateSignclosedByCustomerId(record);
+    }
+
+    @Override
     public int updateUrgedNumById(ComplaintSignclosedInfo complaintSignclosedInfo) {
         return complaintSignclosedInfoMapper.updateUrgedNumById(complaintSignclosedInfo);
     }

+ 23 - 15
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/CustomerServiceImpl.java

@@ -315,22 +315,24 @@ public class CustomerServiceImpl implements CustomerService {
     public void saveComplaintDetectInfo(ComplaintDetectInfo complaintDetectInfo,CustomerCommon customerCommon){
         Integer flag = 0;
         List<ComplaintDetectInfo> complaintDetectInfoList = new ArrayList<ComplaintDetectInfo>();
-        complaintDetectInfo.setCustomerId(customerCommon.getCustomerId());    //添加客诉
-        complaintDetectInfo.setDetectState(1);      //状态  1待仓库转入
-        complaintDetectInfo.setDetectRevolutionProduced(1);  //是否转入生产部门  1待转入
-        complaintDetectInfo.setDetectIsMaintenance(1);   //是否需要维修,1 需要 2不需要
         for(int i=0 ;i< customerCommon.getClosedProdcues().size();i++){
             ClosedProdcue closedProdcue = customerCommon.getClosedProdcues().get(i);
             for(int j=0; j<closedProdcue.getClosedProdcueNumber();j++){
-                complaintDetectInfo.setProductId(closedProdcue.getProductId());
-                complaintDetectInfo.setDetectProductType(closedProdcue.getProductType());
+                ComplaintDetectInfo cd = new ComplaintDetectInfo();
+                cd.setSignclosedId(complaintDetectInfo.getSignclosedId());
+                cd.setCustomerId(customerCommon.getCustomerId());    //添加客诉
+                cd.setDetectState(1);      //状态  1待仓库转入
+                cd.setDetectRevolutionProduced(1);  //是否转入生产部门  1待转入
+                cd.setDetectIsMaintenance(1);   //是否需要维修,1 需要 2不需要
+                cd.setProductId(closedProdcue.getProductId());
+                cd.setDetectProductType(closedProdcue.getProductType());
                 if(closedProdcue.getProductNumber() == null || "".equals(closedProdcue.getProductNumber())){
-                    complaintDetectInfo.setDetectProductNumber("0");
+                    cd.setDetectProductNumber("0");
                 }else{
-                    complaintDetectInfo.setDetectProductNumber(closedProdcue.getProductNumber());
+                    cd.setDetectProductNumber(closedProdcue.getProductNumber());
                 }
+                complaintDetectInfoList.add(cd);
             }
-            complaintDetectInfoList.add(complaintDetectInfo);
         }
         if(complaintDetectInfoList.size() > 0){
             flag = complaintDetectInfoMapper.insertList(complaintDetectInfoList);
@@ -355,6 +357,12 @@ public class CustomerServiceImpl implements CustomerService {
         complaintSignclosedInfo.setSignclosedObjectsState(3); //物件状态  3:暂未签收
         complaintSignclosedInfo.setSignclosedCustomerId(customerCommon.getCustomerId()); //客诉id
         complaintSignclosedInfo.setSignclosedIsFittings(2);
+
+        complaintSignclosedInfo.setSignclosedSendName(customerCommon.getRelationBackName());    //签收姓名
+        complaintSignclosedInfo.setSignclosedSendTel(customerCommon.getRelationBackTel());     //签收手机
+        complaintSignclosedInfo.setSignclosedAddrProvinces(customerCommon.getProvinceNumber()); //省
+        complaintSignclosedInfo.setSignclosedAddrCity(customerCommon.getCityNumber());  //市
+
         flag = complaintSignclosedInfoMapper.insert(complaintSignclosedInfo);
         if(flag < 1){
             throw new RuntimeException("添加签收失败");
@@ -362,12 +370,12 @@ public class CustomerServiceImpl implements CustomerService {
 
         //添加代签收表
         List<AwaitingSignclosedProductInfo> awaitingSignclosedProductInfoArrayList = new ArrayList<>();
-        AwaitingSignclosedProductInfo awaitingSignclosedProductInfo = new AwaitingSignclosedProductInfo();
-        awaitingSignclosedProductInfo.setSignclosedId(complaintSignclosedInfo.getSignclosedId());   //仓储id
-        awaitingSignclosedProductInfo.setSignclosedProductType(1); //类型为产品
         for(int i=0 ;i< customerCommon.getClosedProdcues().size();i++){
             ClosedProdcue closedProdcue = customerCommon.getClosedProdcues().get(i);
             for(int k=0;k<closedProdcue.getClosedProdcueNumber();k++){
+                AwaitingSignclosedProductInfo awaitingSignclosedProductInfo = new AwaitingSignclosedProductInfo();
+                awaitingSignclosedProductInfo.setSignclosedId(complaintSignclosedInfo.getSignclosedId());   //仓储id
+                awaitingSignclosedProductInfo.setSignclosedProductType(1); //类型为产品
                 awaitingSignclosedProductInfo.setProductNum(1);
                 awaitingSignclosedProductInfo.setSignclosedProductId(closedProdcue.getProductId());         //产品id
                 awaitingSignclosedProductInfo.setSignclosedProductColor(closedProdcue.getColorId());        //颜色id
@@ -376,12 +384,12 @@ public class CustomerServiceImpl implements CustomerService {
             }
         }
 
-        awaitingSignclosedProductInfo = new AwaitingSignclosedProductInfo();
-        awaitingSignclosedProductInfo.setSignclosedId(complaintSignclosedInfo.getSignclosedId());   //仓储id
-        awaitingSignclosedProductInfo.setSignclosedProductType(2);  //类型为配件
         for(int i=0 ;i< customerCommon.getClosedFittings().size();i++){
             ClosedFitting closedFitting = customerCommon.getClosedFittings().get(i);
             for(int k=0;k<closedFitting.getClosedFittingNumber();k++){
+                AwaitingSignclosedProductInfo awaitingSignclosedProductInfo = new AwaitingSignclosedProductInfo();
+                awaitingSignclosedProductInfo.setSignclosedId(complaintSignclosedInfo.getSignclosedId());   //仓储id
+                awaitingSignclosedProductInfo.setSignclosedProductType(2);  //类型为配件
                 awaitingSignclosedProductInfo.setProductNum(1);
                 awaitingSignclosedProductInfo.setSignclosedProductId(closedFitting.getFittingsId());         //配件id
                 awaitingSignclosedProductInfo.setSignclosedProductColor(null);

+ 6 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/cm/mapper/ComplaintSignclosedInfoMapper.java

@@ -25,6 +25,12 @@ public interface ComplaintSignclosedInfoMapper {
     int updateSignclosedById(ComplaintSignclosedInfo record);
 
     /**
+     * 修改单个签收记录
+     * @return
+     */
+    int updateSignclosedByCustomerId(ComplaintSignclosedInfo record);
+
+    /**
      * 增加催促次数
      * @return
      */

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

@@ -29,7 +29,7 @@
     detect_phenomenon, detect_failure_classification, detect_failure_cause, detect_results, 
     detect_point, detect_analysis, detect_revolution_produced, detect_desc,
     signclosed_create_time, signclosed_update_time,detect_is_maintenance,detect_date,maintenance_results,
-    product_color_id
+    product_color_id,detect_date
   </sql>
   <select id="getComplaintDetectById" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
     select 

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

@@ -61,6 +61,9 @@
       <if test="questionName !=null and questionName !=''">
         AND question_name like CONCAT('%',#{questionName},'%')
       </if>
+      <if test="complaintType != null">
+        AND tb_rst_complaint_type.complaint_consulting_type = #{complaintType}
+      </if>
       AND question_state = 1
     </where>
     ORDER BY question_create_time DESC

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

@@ -36,8 +36,10 @@
   </sql>
   <select id="getSignclosedById" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
     select
-    <include refid="Base_Column_List" />
+    <include refid="Base_Column_List" />,
+    tb_rst_question_describe.describe_handle_desc describeHandleDesc
     from tb_rst_complaint_signclosed
+    LEFT JOIN tb_rst_question_describe on tb_rst_question_describe.customer_id = tb_rst_complaint_signclosed.signclosed_customer_id
     where signclosed_id = #{signclosedId,jdbcType=INTEGER}
   </select>
 
@@ -262,7 +264,73 @@
         signclosed_update_time = #{signclosedUpdateTime,jdbcType=TIMESTAMP},
       </if>
     </set>
-    where signclosed_id = #{signclosedId,jdbcType=INTEGER}
+      where
+          signclosed_id = #{signclosedId,jdbcType=INTEGER}
+  </update>
+
+  <update id="updateSignclosedByCustomerId" parameterType="ComplaintSignclosedInfo" >
+    update tb_rst_complaint_signclosed
+    <set >
+      <if test="signclosedType != null" >
+        signclosed_type = #{signclosedType,jdbcType=BIT},
+      </if>
+      <if test="signclosedTypeName != null" >
+        signclosed_type_name = #{signclosedTypeName,jdbcType=VARCHAR},
+      </if>
+      <if test="signclosedLogistics != null" >
+        signclosed_logistics = #{signclosedLogistics,jdbcType=VARCHAR},
+      </if>
+      <if test="signclosedLogisticsNumber != null" >
+        signclosed_logistics_number = #{signclosedLogisticsNumber,jdbcType=VARCHAR},
+      </if>
+      <if test="signclosedSendName != null" >
+        signclosed_send_name = #{signclosedSendName,jdbcType=VARCHAR},
+      </if>
+      <if test="signclosedSendTel != null" >
+        signclosed_send_tel = #{signclosedSendTel,jdbcType=VARCHAR},
+      </if>
+      <if test="signclosedAddrProvinces != null" >
+        signclosed_addr_provinces = #{signclosedAddrProvinces,jdbcType=INTEGER},
+      </if>
+      <if test="signclosedAddrCity != null" >
+        signclosed_addr_city = #{signclosedAddrCity,jdbcType=INTEGER},
+      </if>
+      <if test="signclosedIsFittings != null" >
+        signclosed_is_fittings = #{signclosedIsFittings,jdbcType=BIT},
+      </if>
+      <if test="signclosedDate != null" >
+        signclosed_date = #{signclosedDate,jdbcType=DATE},
+      </if>
+      <if test="signclosedIsQuality != null" >
+        signclosed_is_quality = #{signclosedIsQuality,jdbcType=INTEGER},
+      </if>
+      <if test="signclosedIsInto != null" >
+        signclosed_is_into = #{signclosedIsInto,jdbcType=BIT},
+      </if>
+      <if test="signclosedState != null" >
+        signclosed_state = #{signclosedState,jdbcType=BIT},
+      </if>
+      <if test="signclosedObjectsState != null" >
+        signclosed_objects_state = #{signclosedObjectsState,jdbcType=BIT},
+      </if>
+      <if test="signclosedUrgedNum != null" >
+        signclosed_urged_num = #{signclosedUrgedNum,jdbcType=INTEGER},
+      </if>
+      <if test="oldEfastId != null" >
+        old_efast_id = #{oldEfastId,jdbcType=VARCHAR},
+      </if>
+      <if test="newEfastId != null" >
+        new_efast_id = #{newEfastId,jdbcType=VARCHAR},
+      </if>
+      <if test="signclosedCustomerDesc != null" >
+        signclosed_customer_desc = #{signclosedCustomerDesc,jdbcType=VARCHAR},
+      </if>
+      <if test="signclosedDesc != null" >
+        signclosed_desc = #{signclosedDesc,jdbcType=VARCHAR},
+      </if>
+    </set>
+    where
+        signclosed_customer_id = #{signclosedCustomerId}
   </update>
 
   <update id="updateUrgedNumById" parameterType="ComplaintSignclosedInfo" >

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

@@ -85,6 +85,9 @@
       <if test="customerName != null and customerName != ''">
         c.customer_name like CONCAT('%',#{customerName},'%')
       </if>
+      <if test="customerIsSolve != null">
+        AND c.customer_is_solve = #{customerIsSolve}
+      </if>
       <if test="customerTel != null and customerTel != ''">
         and c.customer_tel like CONCAT('%',#{customerTel},'%')
       </if>

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

@@ -111,6 +111,7 @@
             item_color_bar,
             item_product_price,
             item_product_discount,
+            item_is_source,
             item_create_time
         FROM
             tb_rst_sales_order_item

+ 8 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/pts/MachineVersionServiceImpl.java

@@ -2,6 +2,7 @@ package com.iamberry.rst.service.pts;
 
 import com.github.pagehelper.PageHelper;
 import com.iamberry.rst.core.page.PagedResult;
+import com.iamberry.rst.core.pts.PtsBom;
 import com.iamberry.rst.core.pts.PtsComponents;
 import com.iamberry.rst.core.pts.PtsMachineVersion;
 import com.iamberry.rst.faces.pts.MachinePartsService;
@@ -43,4 +44,11 @@ public class MachineVersionServiceImpl implements MachineVersionService {
     public PtsMachineVersion getMachineVersion(PtsMachineVersion ptsMachineVersion) {
         return machineVersionMapper.getMachineVersion(ptsMachineVersion);
     }
+
+    @Override
+    public PagedResult<PtsMachineVersion> listMachineVersion(int pageNO, int pageSize, PtsMachineVersion ptsMachineVersion, boolean isTotalNum) {
+        PageHelper.startPage(pageNO, pageSize, isTotalNum);
+        List<PtsMachineVersion> list = machineVersionMapper.listMachineVersion(ptsMachineVersion);
+        return PageUtil.getPage(list);
+    }
 }

+ 2 - 2
watero-rst-service/src/main/java/com/iamberry/rst/service/pts/mapper/machineLogsMapper.xml

@@ -22,13 +22,13 @@
         process_id,device_id,employee_name,
         produce_name,process_name,device_name
         ,logs_process_status,logs_error_type,
-        logs_process_prompt)
+        logs_process_prompt,logs_process_time)
         VALUES
         <foreach collection="list" item="logs" index="index" separator="," open="" close="">
             (#{logs.machineId},#{logs.employeeId},#{logs.produceId},
             #{logs.processId},#{logs.deviceId},#{logs.employeeName},#{logs.produceName},
             #{logs.processName},#{logs.deviceName},#{logs.logsProcessStatus},#{logs.logsErrorType}
-            ,#{logs.logsProcessPrompt})
+            ,#{logs.logsProcessPrompt},#{logs.logsProcessTime})
         </foreach>
     </insert>
 

+ 4 - 0
watero-rst-service/src/main/java/com/iamberry/rst/service/pts/mapper/machineMapper.xml

@@ -291,6 +291,7 @@
             tb_rst_pts_machine
         where YEAR (machine_produced_time) = #{year}
         AND machine_produce_type = #{machineType}
+        AND machine_produce_id = #{produceId}
         GROUP BY
             YEAR (machine_produced_time),
             MONTH (machine_produced_time)
@@ -334,6 +335,8 @@
         DATE_SUB(CURDATE(), INTERVAL 7 DAY) &lt;= date(machine_produced_time)
         and
         machine_produce_type = #{machineType}
+        and
+        machine_produce_id = #{produceId}
         GROUP BY DAY(machine_produced_time)
         UNION
         SELECT DAY (DATE_SUB(CURDATE(), INTERVAL 7 DAY)) AS day,date_format(DATE_SUB(CURDATE(), INTERVAL 7 DAY) ,'%m.%d' )  AS date,'0' as num FROM tb_rst_pts_machine
@@ -367,6 +370,7 @@
         FROM
             tb_rst_pts_machine
         where machine_produce_type = #{machineType}
+        and machine_produce_id = #{produceId}
     </select>
 
     <!--根据工序id统计生成机器时选项被选择的次数-->

+ 9 - 3
watero-rst-service/src/main/java/com/iamberry/rst/service/pts/mapper/machineVersionMapper.xml

@@ -14,18 +14,20 @@
     <select id="listMachineVersion" parameterType="PtsMachineVersion" resultType="PtsMachineVersion">
         SELECT
         machine_version_id AS machineVersionId,
-        produce_id AS produceId,
         machine_version_no AS  machineVersionNo,
         machine_version_name AS machineVersionName,
         machine_version_content AS  machineVersionContent,
         machine_version_type AS machineVersionType,
         machine_version_create_time AS machineVersionCreateTime,
-        machine_version_update_time AS machineVersionUpdateTime
+        machine_version_update_time AS machineVersionUpdateTime,
+        pp.produce_id AS produceId,
+        pp.produce_name AS produceName
         FROM
         tb_rst_pts_machine_version
+        LEFT JOIN tb_rst_pts_produce pp ON tb_rst_pts_machine_version.produce_id = pp.produce_id
         <where>
             <if test="produceId != null and produceId != ''">
-                produce_id = #{produceId}
+                tb_rst_pts_machine_version.produce_id = #{produceId}
             </if>
             <if test="machineVersionId != null and machineVersionId != ''">
                 AND machine_version_id = #{machineVersionId}
@@ -36,7 +38,11 @@
             <if test="machineVersionNo != null and machineVersionNo != ''">
                 AND machine_version_no like CONCAT('%',#{machineVersionNo},'%')
             </if>
+            <if test="machineVersionName != null and machineVersionName != ''">
+                AND machine_version_name like CONCAT('%',#{machineVersionName},'%')
+            </if>
         </where>
+        ORDER BY machine_version_id DESC
     </select>
 
     <select id="getMachineVersion" parameterType="PtsMachineVersion" resultType="PtsMachineVersion">

+ 1 - 1
watero-rst-service/src/main/java/com/iamberry/rst/service/pts/mapper/produceMapper.xml

@@ -251,7 +251,7 @@
                 <if test="node.nodeNo !=null and node.nodeNo !=''">
                     node_no = #{node.nodeNo},
                 </if>
-                <if test="node.nodeStatus !=null and node.nodeStatus !=''">
+                <if test="node.nodeStatus !=null">
                     node_status = #{node.nodeStatus},
                 </if>
                 <if test="node.nodeDes !=null and node.nodeDes !=''">

+ 21 - 16
watero-rst-service/src/main/java/com/iamberry/rst/service/pts/mapper/ptsBatchMapper.xml

@@ -17,14 +17,14 @@
             trpp.produce_name AS produceName,
             trpb.bom_name AS bomName,
             count(tbpm.machine_id) AS generatedQuantity,
-            trpmv.machine_version_no AS softwareVersionNo,
-            trpb.machine_version_id AS batchSoftwareVersionId
+            t.batch_software_version_id AS batchSoftwareVersionId,
+            trpmv.machine_version_no AS softwareVersionNo
         FROM
             	tb_rst_pts_batch t
         LEFT JOIN tb_rst_pts_produce trpp ON t.produce_id = trpp.produce_id
         LEFT JOIN tb_rst_pts_bom trpb ON t.bom_id = trpb.bom_id
         LEFT JOIN tb_rst_pts_machine tbpm  ON t.batch_id = tbpm.machine_batch_id
-        LEFT JOIN tb_rst_pts_machine_version trpmv ON trpb.machine_version_id = trpmv.machine_version_id
+        LEFT JOIN tb_rst_pts_machine_version trpmv ON t.batch_software_version_id = trpmv.machine_version_id
         <where>
             <if test="produceId !=null">
                 AND t.produce_id = #{produceId}
@@ -49,7 +49,7 @@
             t.batch_desc AS batchDesc,
             t.batch_create_time AS batchCreateTime,
             t.batch_update_time AS batchUpdateTime,
-            trpb.machine_version_id AS batchSoftwareVersionId
+            t.batch_software_version_id AS batchSoftwareVersionId
         FROM
             tb_rst_pts_batch t
         LEFT JOIN tb_rst_pts_bom trpb ON t.bom_id = trpb.bom_id
@@ -117,19 +117,24 @@
 
     <select id="listPtsBatchByStatus" resultType="PtsBatch">
         SELECT
-        t.batch_id AS batchId,
-        t.batch_no AS batchNo,
-        t.batch_quantity AS batchQuantity,
-        t.batch_color_quantity AS batchColorQuantity,
-        t.bom_id AS bomId,
-        t.produce_id AS produceId,
-        t.batch_software_version_id AS batchSoftwareVersionId,
-        t.batch_status AS  batchStatus,
-        t.batch_desc AS batchDesc,
-        t.batch_create_time AS batchCreateTime,
-        t.batch_update_time AS batchUpdateTime
+            t.batch_id AS batchId,
+            t.batch_no AS batchNo,
+            t.batch_quantity AS batchQuantity,
+            t.batch_color_quantity AS batchColorQuantity,
+            t.bom_id AS bomId,
+            t.produce_id AS produceId,
+            t.batch_software_version_id AS batchSoftwareVersionId,
+            t.batch_status AS  batchStatus,
+            t.batch_desc AS batchDesc,
+            t.batch_create_time AS batchCreateTime,
+            t.batch_update_time AS batchUpdateTime,
+            trpmv.machine_version_no AS softwareVersionNo,
+            trpb.bom_version AS  bomVersion,
+            trpb.bom_name AS  bomName
         FROM
-        tb_rst_pts_batch t
+            tb_rst_pts_batch t
+        LEFT JOIN tb_rst_pts_machine_version trpmv ON t.batch_software_version_id = trpmv.machine_version_id
+        LEFT JOIN tb_rst_pts_bom trpb ON t.bom_id = trpb.bom_id
         WHERE
         batch_status = 1
     </select>

+ 1 - 3
watero-rst-service/src/main/java/com/iamberry/rst/service/pts/mapper/ptsEmployeeMapper.xml

@@ -127,9 +127,6 @@
             <if test="employeeName !=null and employeeName !=''">
                 employee_name = #{employeeName},
             </if>
-            <if test="employeeTel !=null and employeeTel !=''">
-                employee_tel = #{employeeTel},
-            </if>
             <if test="employeeState !=null">
                 employee_state = #{employeeState},
             </if>
@@ -145,6 +142,7 @@
             <if test="employeeLine !=null and employeeLine !=''">
                 employee_line = #{employeeLine},
             </if>
+            employee_tel = #{employeeTel},
             employee_departure_date = #{employeeDepartureDate},
             employee_desc = #{employeeDesc}
         </set>

+ 47 - 10
watero-rst-web/src/main/java/com/iamberry/rst/controllers/cm/AdminCustomerController.java

@@ -78,6 +78,8 @@ public class AdminCustomerController {
     private ComplaintQuestionInfoService complaintQuestionInfoService;
     @Autowired
     private SmsService smsService;
+    @Autowired
+    private ComplaintSignclosedInfoService complaintSignclosedInfoService;
 
 
     /**
@@ -962,15 +964,24 @@ public class AdminCustomerController {
         if (!StringUtils.isNotEmpty(renewed.getRenewedId().toString())) {
             return new ResponseJson(500, "该换新信息不能修改!", 500);
         }
-        if (StringUtils.isNotEmpty(renewed.getRenewedBackPostage().toString())) {
-            renewed.setRenewedBackPostage(renewed.getRenewedBackPostage().intValue() * 100);
-        }
+//        if (StringUtils.isNotEmpty(renewed.getRenewedBackPostage().toString())) {
+//            renewed.setRenewedBackPostage(renewed.getRenewedBackPostage().intValue() * 100);
+//        }
         if (!StringUtils.isNotEmpty(renewed.getRenewedBackEfastOrderId())) {
             return new ResponseJson(500, "请输入efast订单号!", 500);
         }
         if (StringUtils.isNotEmpty(mergeAddress)) {
             renewed.setRenewedSendMergeAddress(mergeAddress);
         }
+
+        if(renewed.getRenewedBackStatus() != 1){
+            ComplaintSignclosedInfo cs = new ComplaintSignclosedInfo();
+            cs.setSignclosedCustomerId(renewed.getCustomerId());
+            cs.setSignclosedLogistics(renewed.getRenewedBackLogisticsCompany());
+            cs.setSignclosedLogisticsNumber(renewed.getRenewedBackLogisticsNo());
+            complaintSignclosedInfoService.updateSignclosedByCustomerId(cs);
+        }
+
         //修改换新信息
         int num = renewedService.updateRenewedInfo(renewed, closedProducts, closedFittings);
         if (num > 0) {
@@ -1055,9 +1066,9 @@ public class AdminCustomerController {
         if (StringUtils.isNotEmpty(areaNumber)) {
             repair.setAreaNumber(Integer.parseInt(areaNumber));
         }
-        if (StringUtils.isNotEmpty(repair.getRepairBackPostage().toString())) {
-            repair.setRepairBackPostage(repair.getRepairBackPostage().intValue() * 100);
-        }
+//        if (StringUtils.isNotEmpty(repair.getRepairBackPostage().toString())) {
+//            repair.setRepairBackPostage(repair.getRepairBackPostage().intValue() * 100);
+//        }
         if (!StringUtils.isNotEmpty(repair.getRepairBackEfastOrderId())) {
             return new ResponseJson(500, "请输入efast订单号!", 500);
         }
@@ -1074,8 +1085,17 @@ public class AdminCustomerController {
             return new ResponseJson(500, "该efast订单号无效,请重新输入!", 500);
         }*/
 
+        if(repair.getRepairBackStatus() != 1){
+            ComplaintSignclosedInfo cs = new ComplaintSignclosedInfo();
+            cs.setSignclosedCustomerId(repair.getCustomerId());
+            cs.setSignclosedLogistics(repair.getRepairBackLogisticsCompany());
+            cs.setSignclosedLogisticsNumber(repair.getRepairBackLogisticsNo());
+            complaintSignclosedInfoService.updateSignclosedByCustomerId(cs);
+        }
+
         //修改维修信息
         int num = repairService.updateRepairInfo(repair, closedProducts, closedFittings);
+
         if (num > 0) {
             return new ResponseJson(200, "修改成功!", 200);
         } else {
@@ -1144,8 +1164,16 @@ public class AdminCustomerController {
         if (!StringUtils.isNotEmpty(backGoods.getBackGoodsId().toString())) {
             return new ResponseJson(500, "该售后退货信息不能修改!", 500);
         }
-        if (StringUtils.isNotEmpty(backGoods.getBackGoodsBackPostage().toString())) {
-            backGoods.setBackGoodsBackPostage(backGoods.getBackGoodsBackPostage().intValue() * 100);
+//        if (StringUtils.isNotEmpty(backGoods.getBackGoodsBackPostage().toString())) {
+//            backGoods.setBackGoodsBackPostage(backGoods.getBackGoodsBackPostage().intValue() * 100);
+//        }
+
+        if(backGoods.getBackGoodsBackStatus() != 1){
+            ComplaintSignclosedInfo cs = new ComplaintSignclosedInfo();
+            cs.setSignclosedCustomerId(backGoods.getCustomerId());
+            cs.setSignclosedLogistics(backGoods.getBackGoodsBackLogisticsCompany());
+            cs.setSignclosedLogisticsNumber(backGoods.getBackGoodsBackLogisticsNo());
+            complaintSignclosedInfoService.updateSignclosedByCustomerId(cs);
         }
 
         int num = backGoodsService.updateBackGoods(backGoods, closedProducts, closedFittings);
@@ -1301,9 +1329,18 @@ public class AdminCustomerController {
         if (!StringUtils.isNotEmpty(noreasonBack.getNoreasonBackId().toString())) {
             return new ResponseJson(500, "该售后无理由退货信息不能修改!", 500);
         }
-        if (StringUtils.isNotEmpty(noreasonBack.getNoreasonBackBackPostage().toString())) {
-            noreasonBack.setNoreasonBackBackPostage(noreasonBack.getNoreasonBackBackPostage().intValue() * 100);
+//        if (StringUtils.isNotEmpty(noreasonBack.getNoreasonBackBackPostage().toString())) {
+//            noreasonBack.setNoreasonBackBackPostage(noreasonBack.getNoreasonBackBackPostage().intValue() * 100);
+//        }
+
+        if(noreasonBack.getNoreasonBackBackStatus() != 1){
+            ComplaintSignclosedInfo cs = new ComplaintSignclosedInfo();
+            cs.setSignclosedCustomerId(noreasonBack.getCustomerId());
+            cs.setSignclosedLogistics(noreasonBack.getNoreasonBackBackLogisticsCompany());
+            cs.setSignclosedLogisticsNumber(noreasonBack.getNoreasonBackBackLogisticsNo());
+            complaintSignclosedInfoService.updateSignclosedByCustomerId(cs);
         }
+
         int num = noreasonBackService.updateNoreasonBack(noreasonBack, closedProducts, closedFittings);
         if (num > 0) {
             return new ResponseJson(200, "修改成功!", 200);

+ 5 - 2
watero-rst-web/src/main/java/com/iamberry/rst/controllers/order/AdminOrderController.java

@@ -645,7 +645,7 @@ public class AdminOrderController {
 
         // 准备model
         Map<String, Object> model = new HashMap<String, Object>();
-        model.put("fileName", "Efast订单");	// 下载文件名称
+        model.put("fileName", "Efast-order");	// 下载文件名称
 
         // 标题
         List<String> titles = new ArrayList<String>();
@@ -843,7 +843,7 @@ public class AdminOrderController {
 
         StringBuffer sb = new StringBuffer();
         for (int i = 0; i < orderEfasts.size(); i++) {
-            sb.append(orderEfasts.get(i).getPlatformOrderId() + "@");
+            sb.append(orderEfasts.get(i).getPlatformOrderId().trim() + "@");
             sb.append(orderEfasts.get(i).getOrderId() + "\r\n");
         }
         SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd");
@@ -862,12 +862,15 @@ public class AdminOrderController {
             fileName = "";
         }
 
+        logger.info("-------- 推送订单到Efast开始 - Efast个数:"+ orderEfasts.size() +"--------");
         // 推送
         try {
             efastOrderService.sendOrderInfoToEfast(orderEfasts, null);
         } catch (Exception e) {
             logger.error("", e);
         }
+        logger.info("-------- 推送订单到Efast结束 ---------");
+
         return new ResponseJson(200, "SUCCESS", 200)
                 .addResponseKeyValue("errorPath", request.getContextPath() + filePath)
                 .addResponseKeyValue("order_list", orderEfasts)

+ 30 - 14
watero-rst-web/src/main/java/com/iamberry/rst/controllers/pts/AdminMachineController.java

@@ -308,7 +308,6 @@ public class AdminMachineController {
         Produce produce = new Produce();
         if (produceId == null || produceId.equals("")) {
             produce = produceService.getProduceByOne();//默认为第一个产品
-
         } else {
             produce.setProduceId(Integer.valueOf(produceId));
             produce = produceService.getProduce(produce);
@@ -320,6 +319,7 @@ public class AdminMachineController {
         String year = String.valueOf(date.get(Calendar.YEAR));//年
         ptsMachineStatistics.setYear(year);
         ptsMachineStatistics.setMachineType(produce.getProduceType());
+        ptsMachineStatistics.setProduceId(String.valueOf(produce.getProduceId()));
         //查询1-12月每月生产机器数
         List<PtsMachineStatistics> ptsMachineStatisticsList = machineService.monthStatistics(ptsMachineStatistics);
         if (ptsMachineStatisticsList.size() > 0) {
@@ -563,17 +563,17 @@ public class AdminMachineController {
         List<PtsBatch> listptsBatch = ptsBatchService.listPtsBatchByStatus();
         mv.addObject("listptsBatch", listptsBatch);
         //查询所有软件版本
-        PtsMachineVersion ptsMachineVersion = new PtsMachineVersion();
-        ptsMachineVersion.setMachineVersionType(1);
-        List<PtsMachineVersion> ListVersion = machineVersionService.listMachineVersion(ptsMachineVersion);
-        mv.addObject("listVersion", ListVersion);
+//        PtsMachineVersion ptsMachineVersion = new PtsMachineVersion();
+//        ptsMachineVersion.setMachineVersionType(1);
+//        List<PtsMachineVersion> ListVersion = machineVersionService.listMachineVersion(ptsMachineVersion);
+//        mv.addObject("listVersion", ListVersion);
         //根据第一个批次查询所有bom
-        if (listptsBatch.size() > 0) {
-            PtsBom ptsBom = new PtsBom();
-            ptsBom.setBomId(listptsBatch.get(0).getBomId());
-            List<PtsBom> listBom = ptsBomService.listBom(ptsBom);
-            mv.addObject("listBom", listBom);
-        }
+//        if (listptsBatch.size() > 0) {
+//            PtsBom ptsBom = new PtsBom();
+//            ptsBom.setBomId(listptsBatch.get(0).getBomId());
+//            List<PtsBom> listBom = ptsBomService.listBom(ptsBom);
+//            mv.addObject("listBom", listBom);
+//        }
         return mv;
     }
 
@@ -607,9 +607,9 @@ public class AdminMachineController {
     @ResponseBody
     @RequiresPermissions("machine:add:batch")
     @RequestMapping("/add_renovationMachine")
-    public ResponseJson addRenovationMachine(HttpServletRequest request, Integer batchId, Integer versionId, Integer bomId, Integer number,Integer isRefurbishment,String machineLine) {
+    public ResponseJson addRenovationMachine(HttpServletRequest request, Integer batchId,  Integer number,Integer isRefurbishment,String machineLine) {
         ResponseJson rj = new ResponseJson();
-        if (batchId == null || versionId == null || bomId == null || isRefurbishment == null || machineLine == null) {
+        if (batchId == null || isRefurbishment == null || machineLine == null) {
             rj.setReturnCode(500);
             return rj;
         }
@@ -620,6 +620,7 @@ public class AdminMachineController {
         produce.setProduceId(ptsBatch.getProduceId());
         produce = produceService.getProduce(produce);
 
+        Integer bomId = ptsBatch.getBomId();
         PtsBom ptsBom = new PtsBom();
         ptsBom.setBomId(bomId);
         ptsBom = ptsBomService.getPtsBom(ptsBom);
@@ -838,6 +839,21 @@ public class AdminMachineController {
         rj.setResultMsg("取消出库操作成功");
         return rj;
     }
-
+    @ResponseBody
+    @RequiresPermissions("machine:select_all:machine")
+    @RequestMapping("/select_Batch")
+    public ResponseJson selectBatch(HttpServletRequest request,Integer productId){
+        ResponseJson responseJson = new ResponseJson();
+        if(productId == null){
+            responseJson = new ResponseJson(500, "ERROR", 500);
+            return responseJson;
+        }
+        PtsBatch ptsBatch = new PtsBatch();
+        ptsBatch.setProduceId(productId);
+        List<PtsBatch> listptsBatch = ptsBatchService.listPtsBatch(ptsBatch);
+        ResponseJson rj = new ResponseJson(200, "SUCCESS", 200);
+        rj.addResponseKeyValue("listptsBatch",listptsBatch);
+        return rj;
+    }
 }
 

+ 1 - 1
watero-rst-web/src/main/java/com/iamberry/rst/controllers/pts/AdminPtsBatchController.java

@@ -239,7 +239,7 @@ public class AdminPtsBatchController {
 
         //bom单
         PtsBom ptsBom = new PtsBom();
-        ptsBom.setProduceId(ptsBatch.getProduceId());
+        //ptsBom.setProduceId(ptsBatch.getProduceId());
         List<PtsBom> ptsBomsList = ptsBomService.listBom(ptsBom);
 
         //版本

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

@@ -308,7 +308,7 @@ public class AdminPtsBomController {
 
         //所有零件
         PtsComponents ptsComponents = new PtsComponents();
-        ptsComponents.setProduceId(ptsBom.getProduceId());
+        //ptsComponents.setProduceId(ptsBom.getProduceId());
         ptsComponents.setComponentsStatus(1);
         List<PtsComponents> ptsComponentsList = machinePartsService.listPtsComponentsOrderByNo(ptsComponents);
 

+ 127 - 10
watero-rst-web/src/main/java/com/iamberry/rst/controllers/pts/AdminSoftwareVersionController.java

@@ -1,15 +1,19 @@
 package com.iamberry.rst.controllers.pts;
 
+import com.iamberry.rst.core.page.PagedResult;
 import com.iamberry.rst.core.pts.Produce;
 import com.iamberry.rst.core.pts.ProduceProcess;
+import com.iamberry.rst.core.pts.PtsBom;
 import com.iamberry.rst.core.pts.PtsMachineVersion;
 import com.iamberry.rst.faces.pts.MachineVersionService;
 import com.iamberry.rst.faces.pts.ProduceService;
+import com.iamberry.rst.utils.StitchAttrUtil;
 import com.iamberry.wechat.tools.ResponseJson;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.servlet.ModelAndView;
 
@@ -30,28 +34,141 @@ public class AdminSoftwareVersionController {
     private ProduceService produceService;
 
     /**
+     *  @新目录—软件版本列表
      * 查询生产产品列表
-     *
      * @param request
      * @return
      */
     @RequiresPermissions("softwareVersion:select:list")
     @RequestMapping("/_software_version_list")
-    public ModelAndView selectProduceList(HttpServletRequest request) {
+    public ModelAndView selectProduceList(HttpServletRequest request, PtsMachineVersion ptsMachineVersion,
+                                          @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("pts/softwareVersion/software_version_list");
-        List<Produce> list = produceService.getProduceList();
+        List<Produce> produceList = produceService.getProduceList();
 
-        //获取每个产品的所有工序
-        for (Produce produce : list){
-            ProduceProcess produceProcess = new ProduceProcess();
-            produceProcess.setProduceId(produce.getProduceId());
-            List<ProduceProcess> produceProcessesList = produceService.listProduceProcess(produceProcess);
-            produce.setProcess(produceProcessesList);
+        PagedResult<PtsMachineVersion> pagedResult = machineVersionService.listMachineVersion(pageNO, pageSize, ptsMachineVersion, totalNum == 0);
+        if (totalNum != 0) {
+            pagedResult.setTotal(totalNum);
         }
-        mv.addObject("resultList", list);
+        mv.addObject("produceList", produceList);
+        StitchAttrUtil.setModelAndView(ptsMachineVersion, mv, "/admin/softwareVersion/_software_version_list", pagedResult);
+        return mv;
+    }
+
+    /**
+     *  @新目录—软件版本列表
+     *跳转到添加软件版本
+     * **/
+    @RequiresPermissions("softwareVersion:add:softwareVersion")
+    @RequestMapping("/_to_add_version")
+    public ModelAndView toAddMachineVersion(HttpServletRequest request){
+        ModelAndView mv = new ModelAndView("pts/softwareVersion/software_version_add");
+        List<Produce> produceList = produceService.getProduceList();
+        mv.addObject("produceList", produceList);
+        return mv;
+    }
+
+    /**
+     *  @新目录—软件版本列表
+     * 添加机器版本
+     * **/
+    @ResponseBody
+    @RequiresPermissions("softwareVersion:add:softwareVersion")
+    @RequestMapping("/add_version")
+    public ResponseJson addVersion(HttpServletRequest request,PtsMachineVersion ptsMachineVersion){
+        if(ptsMachineVersion == null){
+            return new ResponseJson(500, "添加信息不全", 500);
+        }
+        PtsMachineVersion version = new PtsMachineVersion();
+        version.setMachineVersionNo(ptsMachineVersion.getMachineVersionNo());
+        version.setProduceId(ptsMachineVersion.getProduceId());
+        version.setMachineVersionType(ptsMachineVersion.getMachineVersionType());
+        version = machineVersionService.getMachineVersion(version);
+        if(version != null){
+            return new ResponseJson(500, "版本号重复", 500);
+        }
+        ptsMachineVersion.setMachineVersionCreateTime(new Date());
+        ptsMachineVersion.setMachineVersionType(1);//软件版本默认为1
+        Integer msg =  machineVersionService.addMachineVersion(ptsMachineVersion);
+        if(msg > 0){
+            return new ResponseJson(200, "添加成功", 200);
+        }else{
+            return new ResponseJson(500, "添加失败", 500);
+        }
+    }
+
+    /**
+     *  @新目录—软件版本列表
+     * 进入修改机器版本页面
+     * **/
+    @RequiresPermissions("machineVersion:update:machineVersion")
+    @RequestMapping("/_to_update_version")
+    public ModelAndView toUpdateVersion(HttpServletRequest request){
+        ModelAndView mv = new ModelAndView("pts/softwareVersion/software_version_update");
+        String machineVersionId = request.getParameter("machineVersionId");
+        PtsMachineVersion ptsMachineVersion = new PtsMachineVersion();
+        ptsMachineVersion.setMachineVersionId(Integer.valueOf(machineVersionId));
+        ptsMachineVersion = machineVersionService.getMachineVersion(ptsMachineVersion);
+        mv.addObject("ptsMachineVersion", ptsMachineVersion);
+        List<Produce> list = produceService.getProduceList();
+        mv.addObject("produceList", list);
         return mv;
     }
 
+    /**
+     * @新目录—软件版本列表
+     * 修改机器版本
+     * **/
+    @ResponseBody
+    @RequiresPermissions("machineVersion:update:machineVersion")
+    @RequestMapping("/update_version")
+    public ResponseJson update_version(HttpServletRequest request,PtsMachineVersion ptsMachineVersion){
+        if(ptsMachineVersion == null){
+            return new ResponseJson(500, "修改失败", 500);
+        }
+        PtsMachineVersion version = new PtsMachineVersion();
+        version.setMachineVersionId(ptsMachineVersion.getMachineVersionId());
+        version = machineVersionService.getMachineVersion(version);
+
+        boolean flag = false;
+        if(version.getProduceId().equals(ptsMachineVersion.getProduceId())){
+            if(version.getMachineVersionNo().equals(ptsMachineVersion.getMachineVersionNo())){
+                flag = true;
+            }else{
+                PtsMachineVersion version2 = new PtsMachineVersion();
+                version2.setMachineVersionNo(ptsMachineVersion.getMachineVersionNo());
+                version2.setProduceId(ptsMachineVersion.getProduceId());
+                version2 = machineVersionService.getMachineVersion(version2);
+                if(version2 == null){
+                    flag = true;
+                }
+            }
+        }else{
+            PtsMachineVersion version2 = new PtsMachineVersion();
+            version2.setMachineVersionNo(ptsMachineVersion.getMachineVersionNo());
+            version2.setProduceId(ptsMachineVersion.getProduceId());
+            version2 = machineVersionService.getMachineVersion(version2);
+            if(version2 == null){
+                flag = true;
+            }
+        }
+        Integer msg = 0;
+        if(flag){
+            ptsMachineVersion.setMachineVersionUpdateTime(new Date());
+            msg =  machineVersionService.updateVersion(ptsMachineVersion);
+        }else{
+            return new ResponseJson(500, "版本号重复", 500);
+        }
+
+        if(msg > 0){
+            return new ResponseJson(200, "修改成功", 200);
+        }else{
+            return new ResponseJson(500, "修改失败", 500);
+        }
+    }
+
 
     /**
      * 进入添加机器版本页面

+ 79 - 10
watero-rst-web/src/main/java/com/iamberry/rst/utils/ExcelUtil.java

@@ -4,14 +4,13 @@ import com.iamberry.rst.core.order.EfastOrder;
 import com.iamberry.rst.core.order.ProductColor;
 import com.iamberry.rst.core.pts.PtsBomComponents;
 import org.apache.commons.lang3.StringUtils;
-import org.apache.log4j.Logger;
 import org.apache.poi.hssf.usermodel.*;
-import org.apache.poi.hssf.util.HSSFColor;
 import org.apache.poi.ss.usermodel.*;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.slf4j.LoggerFactory;
 
 import java.io.*;
+import java.text.DecimalFormat;
 import java.text.SimpleDateFormat;
 import java.util.*;
 
@@ -383,24 +382,55 @@ public class ExcelUtil {
 
         // 读取数据
         int oid = 0;
+        int errorNum = 0;
         while (rows.hasNext()) {
             Row temp = rows.next();
             try {
+
+                String nameValue = getValue(temp.getCell(nameColumnIndex));  // 读取name
+                String platformOrderIdValue = getValue(temp.getCell(platformOrderColumnIndex));  // 读取平台id
+                //获取手机号码
+                //String userTel = getValue(temp.getCell(telColumnIndex)).trim();   // 读取tel
+                Cell telCell = temp.getCell(telColumnIndex);
+                String userTel = String.valueOf(getExcelCell(telCell));
+                String OrderProductBarCodeValue = map.get(getValue(temp.getCell(productColumnIndex))); // 读取对应的产品id
+
+                if(StringUtils.isEmpty(nameValue) && StringUtils.isEmpty(userTel) && StringUtils.isEmpty(OrderProductBarCodeValue)){
+                    errorNum ++;
+                    if(errorNum > 3){
+                        break;
+                    }
+                    continue;
+                }
+
                 EfastOrder order = new EfastOrder();
-                order.setOrderAddressName(getValue(temp.getCell(nameColumnIndex)));                        // 读取name
-                order.setPlatformOrderId(getValue(temp.getCell(platformOrderColumnIndex)));                 //读取平台id
-                String userTel = getValue(temp.getCell(telColumnIndex)).trim();
+                order.setOrderAddressName(nameValue);
+                if(!StringUtils.isEmpty(platformOrderIdValue)){
+                    order.setPlatformOrderId(platformOrderIdValue.trim());
+                }else{
+                    order.setPlatformOrderId("1");
+                }
+
                 // 如果手机号码校验不通过,则应该不录入
-                if (!ValidateUtil.checkMobile(userTel)) {
+                if (!ValidateUtil.checkMobile(userTel.trim())) {
                     //temp.getCell(telColumnIndex).setCellStyle(cellStyle);
                     order.setReturnStatus("error");
                     order.setReturnMsg("手机号码不正确");
                     //continue;
                 }
-                order.setOrderAddressTel(userTel);                                                         // 读取tel
-                order.setOrderProductBarCode(map.get(getValue(temp.getCell(productColumnIndex))));         // 读取对应的产品id
-                order.setOrderNum(Integer.parseInt(getValue(temp.getCell(numColumnIndex))));               // 读取购买数量
-                if (infoColumnIndex.length == 1) {
+                order.setOrderAddressTel(userTel.trim());
+
+                order.setOrderProductBarCode(OrderProductBarCodeValue);
+                String orderNum = getValue(temp.getCell(numColumnIndex));
+                if(orderNum == null || "".equals(orderNum)){
+                    order.setReturnStatus("error");
+                    order.setReturnMsg("数量不正确");
+                    order.setOrderNum(0);               // 读取购买数量
+                }else{
+                    order.setOrderNum(Integer.valueOf(orderNum));               // 读取购买数量
+                }
+
+                if (infoColumnIndex.length == 1){
                     // 如果infoColumnIndex = 1, 则表示需要截取(可能是-、“ ”)
                     Cell cell = temp.getCell(infoColumnIndex[0]);
                     String addrInfo = getValue(cell);
@@ -475,6 +505,45 @@ public class ExcelUtil {
         return orderEfasts;
     }
 
+
+    /**
+     *获取值
+     * @param cell
+     * @return
+     */
+    private static Object getExcelCell(Cell cell){
+        Object obj;
+        if (null != cell) {
+            switch (cell.getCellType()) {
+                case HSSFCell.CELL_TYPE_NUMERIC: // 数字
+                    double cellValue = cell.getNumericCellValue();
+                    obj = new DecimalFormat("#").format(cellValue);
+                    break;
+                case HSSFCell.CELL_TYPE_STRING: // 字符串
+                    obj = cell.getStringCellValue();
+                    break;
+                case HSSFCell.CELL_TYPE_BOOLEAN: // Boolean
+                    obj = cell.getBooleanCellValue();
+                    break;
+                case HSSFCell.CELL_TYPE_FORMULA: // 公式
+                    obj = cell.getCellFormula();
+                    break;
+                case HSSFCell.CELL_TYPE_BLANK: // 空值
+                    obj = "";
+                    break;
+                case HSSFCell.CELL_TYPE_ERROR: // 故障
+                    obj = "";
+                    break;
+                default:
+                    obj = "";
+                    break;
+            }
+        } else {
+            obj = "";
+        }
+        return obj;
+    }
+
     /**
      * 地址 - 整体切割符
      */

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

@@ -177,7 +177,7 @@
             <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">
-                    <input type="text" class="input-text" style="width: 625px;" name="describeTitle" id="describeTitle" datatype="*" errormsg="问题标题不正确!" >
+                    <input type="text" class="input-text" style="width: 625px;" name="describeTitle" id="describeTitle" datatype="*1-50" errormsg="问题标题不正确!" >
                 </div>
             </div>
 
@@ -304,7 +304,7 @@
             <div class="row cl" id="recipientInfo" style="display: none;">
                 <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="sendName" name="relationSendName" datatype="s1-20" errormsg="联系人格式不正确!" >
+                    <input type="text" class="input-text" value="" placeholder="填写收件人姓名" id="sendName" name="relationSendName" datatype="/^[\u4e00-\u9fa5]{1,20}$/" errormsg="联系人格式不正确!" >
                 </div>
                 <div class="formControls col-2 col-sm-2">
                     <input type="text" class="input-text" value="" placeholder="填写收件人手机号" id="sendTel" name="relationSendTel" datatype="m" errormsg="联系人电话格式不正确!">
@@ -1284,11 +1284,13 @@
         var complaintId;
         var smallClassId;
         var questionName;
+        var customerCounselType;
         var questionId;
         if(type == "p"){
             complaintId = $("[name='complaintId']").val();
             smallClassId = $("[name='smallClassId']").val();
             questionName = $("[name='questionIdMsg']").val();
+            customerCounselType = $("[name='customerCounselType']:checked").val();
         }else if(type == "m"){
             questionId = complaint_questionId;
         }
@@ -1299,6 +1301,7 @@
                 complaintId : complaintId,
                 smallClassId : smallClassId,
                 questionName : questionName,
+                /*complaintType : customerCounselType,*/
                 questionId : questionId
             },
             url: "${path}/admin/complaintQuestion/list_complaintQuestion",
@@ -1609,7 +1612,9 @@
         setDistrict(getAddress(addresList[2],2),cityId,1);
         var sendAddress = addresList[3];
         if(addresList.length > 4){
-            sendAddress += addresList[4];
+            for(var k = 4;k< addresList.length;k++){
+                sendAddress += addresList[k];
+            }
         }
         $("#sendAddress").val(sendAddress);
     }
@@ -1626,12 +1631,16 @@
             switch(type)
             {
                 case 0:
-                    var proReg = new RegExp("省","g");
-                    abbreviation = addrss.replace(proReg,"");
+                    //var proReg = new RegExp("省","g");
+                    //abbreviation = addrss.replace(proReg,"");
+                    abbreviation = addrss.substring(0,2);
                     break;
                 case 1:
                     var cityReg = new RegExp("市","g");
                     abbreviation = addrss.replace(cityReg,"");
+
+                    cityReg = new RegExp("区","g");
+                    abbreviation = addrss.replace(cityReg,"");
                     break;
                 case 2:
                     var districtReg = new RegExp("区","g");
@@ -1779,7 +1788,7 @@
                     var color = colorList[j];
                     for(var k=0;k<orderItemList.length;k++){
                         var item = orderItemList[k];
-                        if(item.itemColorId == color.colorId){
+                        if(item.itemColorId == color.colorId && item.itemIsSource == 1){
                             number = item.itemNum;
                         }
                     }
@@ -1806,6 +1815,16 @@
             if(produceFittings != null && produceFittings.length > 0){
                 produceFittingsHtml += '<table style="height: 100%;">';
                 for(var m=0;m<produceFittings.length;m++){
+
+                    var number = "";
+                    var fitt = produceFittings[m];
+                    for(var k=0;k<orderItemList.length;k++){
+                        var item = orderItemList[k];
+                        if(item.itemColorId == fitt.fittingsId && item.itemIsSource == 2){
+                            number = item.itemNum;
+                        }
+                    }
+
                     var produceFit = produceFittings[m];
                     if(produceFit.productId == product.productId) {
                         var fristInputStyle = "border-top: 1px solid #ddd;";

+ 12 - 6
watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/custome_detail.ftl

@@ -94,7 +94,7 @@
         </div>
         <div class="row cl">
             <label class="form-label col-1 col-sm-1">用户信息:</label>
-            <div class="formControls col-5 col-sm-5">
+            <div class="formControls col-5 col-sm-5" style="margin-top: 2px;">
                 <label id="customerName"></label>
                 <label id="customerTel"></label>
             </div>
@@ -165,7 +165,7 @@
                 </div>
 
             </div>
-            <div class="row cl">
+            <div class="row cl" id="sendMergeAddressDiv">
                 <label class="form-label col-1 col-sm-1">收货地址:</label>
                 <div class="formControls col-5 col-sm-5">
                     <label id="relationSendMergeAddress"></label>
@@ -181,7 +181,7 @@
         </div>
 
         <div class="row cl">
-            <label class="form-label col-1 col-sm-1">处理描述:</label>
+            <label class="form-label col-1 col-sm-1">客服备注:</label>
             <div class="formControls col-7 col-sm-7" id="describeHandleDesc" style="border: 1px solid #ddd;">
             </div>
         </div>
@@ -289,7 +289,7 @@
                     $('#customerCounselType').html(customerCounsel);
                     $('#typeName').html(customer.typeName);
                     $('#describeTitle').html(customer.describeTitle);
-                    $('#questionProfile').html(customer.questionProfile);
+                    $('#questionProfile').html(customer.describeHandleDesc);
                     $('#customerName').html(customer.customerName);
                     $('#customerTel').html(customer.customerTel);
                     var txtcustomerIsSolve = '';
@@ -299,8 +299,14 @@
                         case 3:txtcustomerIsSolve = '换新';break;
                         case 4:txtcustomerIsSolve = '维修';break;
                         case 5:txtcustomerIsSolve = '补发';break;
-                        case 6:txtcustomerIsSolve = '退货';break;
-                        case 7:txtcustomerIsSolve = '无理由退货';break;
+                        case 6:
+                            $('#sendMergeAddressDiv').hide();
+                            txtcustomerIsSolve = '退货';
+                            break;
+                        case 7:
+                            $('#sendMergeAddressDiv').hide();
+                            txtcustomerIsSolve = '无理由退货';
+                            break;
                     }
                     $('#customerIsSolve').html(txtcustomerIsSolve);
                     $('#companyName').html(convertUndefinedToEmpty(customer.companyName)+"-"+convertUndefinedToEmpty(customer.storeName));

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

@@ -40,7 +40,20 @@
             <button type="button" style="cursor:pointer; float: left;height: 35px;" class="my-btn-search" onclick="toAddCustomer();">新建客诉</button>
             <input type="text" class="my-input"  style="width:90px;margin-right: 0px;" value="${customerInfo.customerName!}" placeholder="请输入姓名" id="customerName" name="customerName">
             <input type="text" class="my-input"  style="width:90px;margin-right: 0px;" value="${customerInfo.customerTel!}" placeholder="请输入电话号码" id="customerTel" name="customerTel">
-            <input type="text" class="my-input"  style="width:90px;margin-right: 0px;" value="${customerInfo.describeTitle!}" placeholder="请输入问题描述" id="describeTitle" name="describeTitle">
+
+            <#--<input type="text" class="my-input"  style="width:90px;margin-right: 0px;" value="${customerInfo.describeTitle!}" placeholder="请输入问题描述" id="describeTitle" name="describeTitle">-->
+
+            <select class="my-select" name="customerIsSolve" id="customerIsSolve" style="height: 36px;width: 100px;margin: 0px;padding: 6px 10px 6px 15px;">
+                <option value="">处理结果</option>
+                <option value="1" <#if customerInfo.customerIsSolve??><#if customerInfo.customerIsSolve == 1 >selected="selected"</#if></#if>>已解决</option>
+                <option value="2" <#if customerInfo.customerIsSolve??><#if customerInfo.customerIsSolve == 2 >selected="selected"</#if></#if>>未解决</option>
+                <option value="3" <#if customerInfo.customerIsSolve??><#if customerInfo.customerIsSolve == 3 >selected="selected"</#if></#if>>换新</option>
+                <option value="4" <#if customerInfo.customerIsSolve??><#if customerInfo.customerIsSolve == 4 >selected="selected"</#if></#if>>维修</option>
+                <option value="5" <#if customerInfo.customerIsSolve??><#if customerInfo.customerIsSolve == 5 >selected="selected"</#if></#if>>补发</option>
+                <option value="6" <#if customerInfo.customerIsSolve??><#if customerInfo.customerIsSolve == 6 >selected="selected"</#if></#if>>退货</option>
+                <option value="7" <#if customerInfo.customerIsSolve??><#if customerInfo.customerIsSolve == 7 >selected="selected"</#if></#if>>无理由退货</option>
+            </select>
+
             <select class="my-select" name="customerSourceType" id="customerSourceType" style="height: 36px;width: 100px;margin: 0px;padding: 6px 10px 6px 15px;">
                 <option value="">来源</option>
                 <option value="1" <#if customerInfo.customerSourceType??><#if customerInfo.customerSourceType == 1 >selected="selected"</#if></#if>>400电话</option>

+ 15 - 2
watero-rst-web/src/main/webapp/WEB-INF/views/cm/customer/order_list.ftl

@@ -144,6 +144,7 @@
                     <th width="80">订单金额</th>
                     <th width="80">购买产品</th>
                     <th width="80">购买日期</th>
+                    <th width="80">订单状态</th>
                     <th width="100">收货地址</th>
                     <th width="80">操作</th>
                 </tr>
@@ -151,7 +152,7 @@
                 <tbody id="orderAll">
 
                      <tr class="text-c">
-                         <td colspan="11">请输入搜索条件,搜索订单~
+                         <td colspan="12">请输入搜索条件,搜索订单~
                          </td>
                      </tr>
 
@@ -346,6 +347,17 @@
                                 productsHtml += '<span class="label label-success radius" title="'+ salesOrderItem[j].itemProductName +'*'+ salesOrderItem[j].itemNum +'">' + item + '</span>';
                         }
                         var time = formatDate(new Date(salesOrder.salesCreateTime),"yyyy-MM-dd");
+                        var orderStatus = null;
+                        if(salesOrder.salesOrderStatus == 1){
+                            orderStatus = "正常";
+                        }
+                        if(salesOrder.salesOrderStatus == 2){
+                            orderStatus = "换货";
+                        }
+                        if(salesOrder.salesOrderStatus == 3){
+                            orderStatus = "退货";
+                        }
+
                         html += '<tr class="text-c">' +
                                 ' <td>'+ convertUndefinedToEmpty(salesOrder.companyName) +'</td>' +
                                 ' <td>'+ convertUndefinedToEmpty(salesOrder.storeName) +'</td>' +
@@ -356,12 +368,13 @@
                                 ' <td>'+ salesOrder.salesAmount/100 +'</td>' +
                                 ' <td>'+ productsHtml +'</td>' +
                                 ' <td>'+ time +'</td>' +
+                                ' <td>'+ orderStatus +'</td>' +
                                 ' <td>'+ salesOrder.salesAddressInfo +'</td>' +
                                 ' <td><a style="" class="select-order" href="javascript:void(0);" title="选择订单" onclick="selectOrderInfo('+ salesOrder.salesId +')" >选择订单</a></td>' +
                                 ' </tr>';
                     }
                 }else{
-                    html = '<tr class="text-c"><td colspan="11">没有搜索到订单,请点击“添加订单”按钮,添加订单。</td></tr>';
+                    html = '<tr class="text-c"><td colspan="12">没有搜索到订单,请点击“添加订单”按钮,添加订单。</td></tr>';
                 }
                 $("#orderAll").html(html);
                 layer.close(index);

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

@@ -35,6 +35,7 @@
                 <span id="backGoodsSchedule" class="c-red"></span>
             </div>
         </div>
+        <input type="hidden" id="customerId" name="customerId" value="${customerId!''}">
         <div class="row cl">
             <div class="formControls col-2 col-sm-2 text-r">
                 <strong>产品寄回</strong>
@@ -174,7 +175,7 @@
 
     var mobile= /^1(3|4|5|7|8)\d{9}$/; //手机号码
     var uname = /^[\u4e00-\u9fa5a-zA-Z]{1,12}$/; //中文英文
-    var money = /^(([1-9][0-9]*)|(([0]\.\d{1,2}|[1-9][0-9]*\.\d{1,2})))$/;//金额
+    var money = /^(0{1}|([1-9][0-9]*)|(([0]\.\d{1,2}|[1-9][0-9]*\.\d{1,2})))$/;//金额
 
     $(function(){
         $('.skin-minimal input').iCheck({
@@ -208,6 +209,9 @@
     function showUpdateSendProduct() {
         var productList = getProduct() ; //所有产品
         var html = "";
+        if(productList == null){
+            return false;
+        }
         for(var i=0;i<productList.length;i++) {
             var product = productList[i];
             var produceFittings = product.fittingsList;  //获取该产品的所有配件
@@ -328,6 +332,11 @@
     function getProduct(){
         var productList;
         var productName = $("#selectProcuct").val();
+        if(productName == null || productName == ""){
+            var productTable = '<td colspan="3">暂无数据!</td>';
+            $("#addProduct").html(productTable);
+            return null;
+        }
         $.ajax({
             type: "POST",
             data:{'productName':productName},
@@ -335,7 +344,12 @@
             async: false,
             success: function(data){
                 if (data.returnCode == 200) {
+                    $("#addProduct").html("");
                     productList = data.returnMsg.productList;
+                }else{
+                    var productTable = '<td colspan="3">暂无数据!</td>';
+                    $("#addProduct").html(productTable);
+                    return null;
                 }
             },
             error: function(XmlHttpRequest, textStatus, errorThrown){
@@ -407,6 +421,10 @@
     /*修改售后退货信息*/
     function update_back_goods() {
         var backGoods_flag = checkBackGoods();
+
+        var backGoodsBackPostage = $("#backGoodsBackPostage").val();
+        $("#backGoodsBackPostage").val(parseInt(backGoodsBackPostage*100));
+
         if (backGoods_flag) {
             $.ajax({
                 cache: true,

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

@@ -34,6 +34,7 @@
                 <span id="noreasonBackSchedule" class="c-red"></span>
             </div>
         </div>
+        <input type="hidden" id="customerId" name="customerId" value="${customerId!''}">
         <div class="row cl">
             <div class="formControls col-2 col-sm-2 text-r">
                 <strong>产品寄回</strong>
@@ -172,7 +173,7 @@
 
     var mobile= /^1(3|4|5|7|8)\d{9}$/; //手机号码
     var uname = /^[\u4e00-\u9fa5a-zA-Z]{1,12}$/; //中文英文
-    var money = /^(([1-9][0-9]*)|(([0]\.\d{1,2}|[1-9][0-9]*\.\d{1,2})))$/;//金额
+    var money = /^(0{1}|([1-9][0-9]*)|(([0]\.\d{1,2}|[1-9][0-9]*\.\d{1,2})))$/;//金额
 
     $(function(){
         $('.skin-minimal input').iCheck({
@@ -206,6 +207,9 @@
     function showUpdateSendProduct() {
         var productList = getProduct() ; //所有产品
         var html = "";
+        if(productList == null){
+            return false;
+        }
         for(var i=0;i<productList.length;i++) {
             var product = productList[i];
             var produceFittings = product.fittingsList;  //获取该产品的所有配件
@@ -325,6 +329,11 @@
     function getProduct(){
         var productList;
         var productName = $("#selectProcuct").val();
+        if(productName == null || productName == ""){
+            var productTable = '<td colspan="3">暂无数据!</td>';
+            $("#addProduct").html(productTable);
+            return null;
+        }
         $.ajax({
             type: "POST",
             data:{'productName':productName},
@@ -332,7 +341,12 @@
             async: false,
             success: function(data){
                 if (data.returnCode == 200) {
+                    $("#addProduct").html("");
                     productList = data.returnMsg.productList;
+                }else{
+                    var productTable = '<td colspan="3">暂无数据!</td>';
+                    $("#addProduct").html(productTable);
+                    return null;
                 }
             },
             error: function(XmlHttpRequest, textStatus, errorThrown){
@@ -405,6 +419,10 @@
     /*修改售后无理由退货信息*/
     function update_noreason_back() {
         var noreasonBack_flag = checkNoreason();
+
+        var noreasonBackBackPostage = $("#noreasonBackBackPostage").val();
+        $("#noreasonBackBackPostage").val(parseInt(noreasonBackBackPostage*100));
+
         if (noreasonBack_flag) {
             $.ajax({
                 cache: true,

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

@@ -33,6 +33,7 @@
                 <span id="reissueSchedule" class="c-red"></span>
             </div>
         </div>
+        <input type="hidden" id="customerId" name="customerId" value="${customerId!''}">
         <div class="row cl">
             <div class="formControls col-2 col-sm-2 text-r">
                 <strong>产品寄回</strong>
@@ -171,7 +172,7 @@
 
     var mobile= /^1(3|4|5|7|8)\d{9}$/; //手机号码
     var uname = /^[\u4e00-\u9fa5a-zA-Z]{1,12}$/; //中文英文
-    var money = /^(([1-9][0-9]*)|(([0]\.\d{1,2}|[1-9][0-9]*\.\d{1,2})))$/;//金额
+    var money = /^(0{1}|([1-9][0-9]*)|(([0]\.\d{1,2}|[1-9][0-9]*\.\d{1,2})))$/;//金额
 
     $(function(){
         $('.skin-minimal input').iCheck({
@@ -273,6 +274,7 @@
         var reissueCityNumber = $("#reissueCityNumber").find("option:selected").text();
         var reissueAreaNumber = $("#reissueAreaNumber").find("option:selected").text();
         $('#merge_address').val(reissueProvinceNumber+'-'+reissueCityNumber+'-'+reissueAreaNumber);
+
         if (reissue_flag) {
             $.ajax({
                 cache: true,

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

@@ -33,6 +33,7 @@
                 <span id="renewedSchedule" class="c-red"></span>
             </div>
         </div>
+        <input type="hidden" id="customerId" name="customerId" value="${customerId!''}">
         <div class="row cl">
             <div class="formControls col-2 col-sm-2 text-r">
                 <strong>产品寄回</strong>
@@ -308,7 +309,7 @@
 
     var mobile= /^1(3|4|5|7|8)\d{9}$/; //手机号码
     var uname = /^[\u4e00-\u9fa5a-zA-Z]{1,12}$/; //中文英文
-    var money = /^(([1-9][0-9]*)|(([0]\.\d{1,2}|[1-9][0-9]*\.\d{1,2})))$/;//金额
+    var money = /^(0{1}|([1-9][0-9]*)|(([0]\.\d{1,2}|[1-9][0-9]*\.\d{1,2})))$/;//金额
 
     $(function(){
         $('.skin-minimal input').iCheck({
@@ -661,6 +662,9 @@
         var cityNumber = $("#cityNumber").find("option:selected").text();
         var areaNumber = $("#areaNumber").find("option:selected").text();
         $('#merge_address').val(provinceNumber+'-'+cityNumber+'-'+areaNumber);
+
+        var renewedBackPostage = $("#renewedBackPostage").val();
+        $("#renewedBackPostage").val(parseInt(renewedBackPostage*100));
         if (renewed_flag) {
             $.ajax({
                 cache: true,
@@ -689,7 +693,6 @@
 
     /*校验换新填写信息*/
     function checkRenewed() {
-        debugger;
         var renewed_flag = true;
         var renewedBackStatus = $('input[name="renewedBackStatus"]:checked').val();//寄回状态
         var renewedBackLogisticsNo = $('#renewedBackLogisticsNo').val().trim();//物流单号

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

@@ -33,6 +33,9 @@
                 <span id="repairSchedule" class="c-red"></span>
             </div>
         </div>
+
+        <input type="hidden" id="customerId" name="customerId" value="${customerId!''}">
+
         <div class="row cl">
             <div class="formControls col-2 col-sm-2 text-r">
                 <strong>产品寄回</strong>
@@ -307,7 +310,7 @@
 
     var mobile= /^1(3|4|5|7|8)\d{9}$/; //手机号码
     var uname = /^[\u4e00-\u9fa5a-zA-Z]{1,12}$/; //中文英文
-    var money = /^(([1-9][0-9]*)|(([0]\.\d{1,2}|[1-9][0-9]*\.\d{1,2})))$/;//金额
+    var money = /^(0{1}|([1-9][0-9]*)|(([0]\.\d{1,2}|[1-9][0-9]*\.\d{1,2})))$/;//金额
 
     $(function(){
         $('.skin-minimal input').iCheck({
@@ -363,6 +366,9 @@
     function showUpdateSendProduct() {
         var productList = getProduct() ; //所有产品
         var html = "";
+        if(productList == null){
+            return false;
+        }
         for(var i=0;i<productList.length;i++) {
             var product = productList[i];
             var produceFittings = product.fittingsList;  //获取该产品的所有配件
@@ -483,6 +489,11 @@
     function getProduct(){
         var productList;
         var productName = $("#selectProcuct").val();
+        if(productName == null || productName == ""){
+            var productTable = '<td colspan="3">暂无数据!</td>';
+            $("#addProduct").html(productTable);
+            return null;
+        }
         $.ajax({
             type: "POST",
             data:{'productName':productName},
@@ -490,7 +501,12 @@
             async: false,
             success: function(data){
                 if (data.returnCode == 200) {
+                    $("#addProduct").html("");
                     productList = data.returnMsg.productList;
+                }else{
+                    var productTable = '<td colspan="3">暂无数据!</td>';
+                    $("#addProduct").html(productTable);
+                    return null;
                 }
             },
             error: function(XmlHttpRequest, textStatus, errorThrown){
@@ -644,6 +660,10 @@
         var repairCityNumber = $("#repairCityNumber").find("option:selected").text();
         var repairAreaNumber = $("#repairAreaNumber").find("option:selected").text();
         $('#merge_address').val(repairProvinceNumber+'-'+repairCityNumber+'-'+repairAreaNumber);
+
+        var repairBackPostage = $("#repairBackPostage").val();
+        $("#repairBackPostage").val(parseInt(repairBackPostage*100));
+
         if (repair_flag) {
             $.ajax({
                 cache: true,

+ 37 - 20
watero-rst-web/src/main/webapp/WEB-INF/views/cm/inspection/add_detect.ftl

@@ -32,7 +32,7 @@
 <article class="page-container">
     <form class="form form-horizontal" id="form-admin-add">
         <div class="input-box">
-            <label class="form-label col-3 col-sm-3 huanhang" style="text-align: right;">检测产品:</label>
+            <label class="form-label col-3 col-sm-3 huanhang" style="text-align: right;"><span class="c-red">*</span>检测产品:</label>
             <div class="formControls col-9 col-sm-9 text-c huanhang" style="margin-bottom: 15px;">
                 <table class="table table-border table-bg table-bordered" style="width: 420px;">
                     <thead>
@@ -76,14 +76,14 @@
             </div>
         </div>
         <div class="input-box">
-            <label class="form-label col-3 col-sm-3 huanhang" style="text-align: right;">检测日期:</label>
+            <label class="form-label col-3 col-sm-3 huanhang" style="text-align: right;"><span class="c-red">*</span>检测日期:</label>
             <div class="formControls col-8 col-sm-8 text-c huanhang" style="margin-left: -4.5%;">
                 <input class="my-input-date" type="text"  name="detect_date" id="detectDate" onClick="WdatePicker({skin:'whyGreen',maxDate:'%y-%M-%d'})" placeholder="请选择检测日期" readonly="readonly"/>
             </div>
         </div>
 
         <div class="input-box">
-            <label class="col-3 col-sm-3 huanhang" style="text-align: right;margin: 10px 0px;">检测结果:</label>
+            <label class="col-3 col-sm-3 huanhang" style="text-align: right;margin: 10px 0px;"><span class="c-red">*</span>检测结果:</label>
             <div class="formControls col-xs-7 col-sm-7 skin-minimal huanhang" style="margin: 10px 0px;">
                 <div class="radio-box">
                     <input type="radio" id="radio-3" name="detectState" value="3" checked/>
@@ -95,27 +95,44 @@
                 </div>
             </div>
         </div>
-        <div class="input-box" style="margin-left: 17%;">
-            <textarea rows="3" cols="20" name="detectPhenomenon" id="detectPhenomenon" class="my-textarea" placeholder="工厂检测现象"></textarea>
+        <div class="input-box" >
+            <label class="col-3 col-sm-3 huanhang"  style="text-align: right;margin: 10px 0px;"><span class="c-red">*</span>工厂检测现象:</label>
+            <div class="formControls col-xs-7 col-sm-7 skin-minimal" style="margin: 10px 0px;">
+                    <textarea style="margin-left: 0%;" rows="3" cols="20" name="detectPhenomenon" id="detectPhenomenon" class="my-textarea" placeholder="工厂检测现象"></textarea>
+            </div>
         </div>
-        <div class="input-box" style="margin-left: 17%;">
-            <textarea rows="3" cols="20" name="detectFailureClassification" id="detectFailureClassification" class="my-textarea" placeholder="故障分类"></textarea>
+        <div class="input-box">
+            <label class="col-3 col-sm-3 huanhang"  style="text-align: right;margin: 10px 0px;"><span class="c-red">*</span>故障分类:</label>
+            <div class="formControls col-xs-7 col-sm-7 skin-minimal" style="margin: 10px 0px;">
+                <textarea style="margin-left: 0%;" rows="3" cols="20" name="detectFailureClassification" id="detectFailureClassification" class="my-textarea" placeholder="故障分类"></textarea>
+            </div>
         </div>
-        <div class="input-box" style="margin-left: 17%;">
-            <textarea rows="3" cols="20" name="detectFailureCause" id="detectFailureCause" class="my-textarea" placeholder="故障原因"></textarea>
+        <div class="input-box">
+            <label class="col-3 col-sm-3 huanhang"  style="text-align: right;margin: 10px 0px;"><span class="c-red">*</span>故障原因:</label>
+            <div class="formControls col-xs-7 col-sm-7 skin-minimal" style="margin: 10px 0px;">
+            <textarea style="margin-left: 0%;" rows="3" cols="20" name="detectFailureCause" id="detectFailureCause" class="my-textarea" placeholder="故障原因"></textarea>
+            </div>
         </div>
-        <div class="input-box" style="margin-left: 17%;">
-            <textarea rows="3" cols="20" name="detectResults" id="detectResults" class="my-textarea" placeholder="判定结果"></textarea>
+        <div class="input-box">
+            <label class="col-3 col-sm-3 huanhang"  style="text-align: right;margin: 10px 0px;"><span class="c-red">*</span>判定结果:</label>
+            <div class="formControls col-xs-7 col-sm-7 skin-minimal" style="margin: 10px 0px;">
+            <textarea style="margin-left: 0%;" rows="3" cols="20" name="detectResults" id="detectResults" class="my-textarea" placeholder="判定结果"></textarea>
+            </div>
         </div>
-        <div class="input-box" style="margin-left: 17%;">
-            <textarea rows="3" cols="20" name="detectPoint" id="detectPoint" class="my-textarea" placeholder="故障指向"></textarea>
+        <div class="input-box">
+            <label class="col-3 col-sm-3 huanhang"  style="text-align: right;margin: 10px 0px;"><span class="c-red">*</span>故障指向:</label>
+            <div class="formControls col-xs-7 col-sm-7 skin-minimal" style="margin: 10px 0px;">
+            <textarea style="margin-left: 0%;" rows="3" cols="20" name="detectPoint" id="detectPoint" class="my-textarea" placeholder="故障指向"></textarea>
+            </div>
         </div>
-        <div class="input-box" style="margin-left: 17%;">
-            <textarea rows="3" cols="20" name="detectAnalysis" id="detectAnalysis" class="my-textarea" placeholder="原因分析"></textarea>
+        <div class="input-box">
+            <label class="col-3 col-sm-3 huanhang"  style="text-align: right;margin: 10px 0px;"><span class="c-red">*</span>原因分析:</label>
+            <div class="formControls col-xs-7 col-sm-7 skin-minimal" style="margin: 10px 0px;">
+            <textarea style="margin-left: 0%;" rows="3" cols="20" name="detectAnalysis" id="detectAnalysis" class="my-textarea" placeholder="原因分析"></textarea>
+            </div>
         </div>
-
         <div class="input-box">
-            <label class="col-3 col-sm-3 huanhang" style="text-align: right;">是否维修:</label>
+            <label class="col-3 col-sm-3 huanhang" style="text-align: right;"><span class="c-red">*</span>是否维修:</label>
             <div class="formControls col-xs-7 col-sm-7 skin-minimal">
                 <div class="radio-box">
                     <input type="radio" id="radio-5" name="detectIsMaintenance" value="1" checked/>
@@ -128,7 +145,7 @@
             </div>
         </div>
         <div class="input-box">
-            <label class="col-3 col-sm-3 huanhang" style="text-align: right;margin: 10px 0px;">是否已转入:</label>
+            <label class="col-3 col-sm-3 huanhang" style="text-align: right;margin: 10px 0px;"><span class="c-red">*</span>是否已转入:</label>
             <div class="formControls col-xs-7 col-sm-7 skin-minimal" style="margin: 10px 0px;">
                 <div class="radio-box">
                     <input type="radio" id="radio-7" name="detectRevolutionProduced" value="2" checked/>
@@ -138,7 +155,7 @@
                     <input type="radio" id="radio-8" name="detectRevolutionProduced" value="1"/>
                      <label for="radio-8">未转入维修</label>
                 </div>
-            </div>
+        </div>
         </div>
 
         <div class="input-box" >
@@ -150,7 +167,7 @@
             </div>
         </div>
         <div style="margin-left: 35%;">
-           <button type="button" class="my-btn-submit" onclick="add();">确认提交</button>
+            <button type="button" class="my-btn-submit" onclick="add();">确认提交</button>
         </div>
     </form>
 </article>

+ 32 - 39
watero-rst-web/src/main/webapp/WEB-INF/views/cm/inspection/detect_complete.ftl

@@ -33,7 +33,7 @@
 <article class="page-container">
     <form class="form form-horizontal" id="form-admin-add">
         <div class="input-box">
-            <label class="col-3 col-sm-3 huanhang" style="text-align: right;margin: 10px 0px;">检测结果:</label>
+            <label class="col-3 col-sm-3 huanhang" style="text-align: right;margin: 10px 0px;"><span class="c-red">*</span>检测结果:</label>
             <div class="formControls col-xs-7 col-sm-7 skin-minimal huanhang" style="margin: 10px 0px;">
                 <div class="radio-box">
                     <input type="radio" id="radio-3" name="detectState" value="3" checked/>
@@ -45,57 +45,50 @@
                 </div>
             </div>
         </div>
-
-        <#--<div class="input-box" style="margin-left: 14.2%">
-            <span class="input-dic">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
-            <textarea rows="3" cols="20" name="detectPhenomenon" id="detectPhenomenon"  class="my-textarea" placeholder="工厂检测现象">${detectInfo.detectPhenomenon!''}</textarea>
-        </div>
-        <div class="input-box" style="margin-left: 14.2%">
-            <span class="input-dic ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
-            <textarea rows="3" cols="20" name="detectFailureClassification" id="detectFailureClassification"  class="my-textarea" placeholder="故障分类">${detectInfo.detectFailureClassification!''}</textarea>
-        </div>
-        <div class="input-box" style="margin-left: 14.2%">
-            <span class="input-dic ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
-            <textarea rows="3" cols="20" name="detectFailureCause" id="detectFailureCause"  class="my-textarea" placeholder="故障原因">${detectInfo.detectFailureCause!''}</textarea>
-        </div>
-        <div class="input-box" style="margin-left: 14.2%">
-            <span class="input-dic ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
-            <textarea rows="3" cols="20" name="detectResults" id="detectResults"  class="my-textarea" placeholder="判定结果">${detectInfo.detectResults!''}</textarea>
-        </div>
-        <div class="input-box" style="margin-left: 14.2%">
-            <span class="input-dic ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
-            <textarea rows="3" cols="20" name="detectPoint" id="detectPoint"  class="my-textarea" placeholder="故障指向">${detectInfo.detectPoint!''}</textarea>
-        </div>
-        <div class="input-box" style="margin-left: 14.2%">
-            <span class="input-dic ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
-            <textarea rows="3" cols="20" name="detectAnalysis" id="detectAnalysis"  class="my-textarea" placeholder="原因分析">${detectInfo.detectAnalysis!''}</textarea>
-        </div>-->
-        <div class="input-box" style="margin-left: 17%;">
-            <textarea rows="3" cols="20" name="detectPhenomenon" id="detectPhenomenon" class="my-textarea" placeholder="工厂检测现象">${detectInfo.detectPhenomenon!''}</textarea>
+        <div class="input-box" >
+            <label class="col-3 col-sm-3 huanhang" style="text-align: right;margin: 10px 0px;"><span class="c-red">*</span>工厂检测现象:</label>
+            <div class="formControls col-xs-7 col-sm-7 skin-minimal huanhang" style="margin: 10px 0px;">
+                <textarea rows="3" cols="20" name="detectPhenomenon" id="detectPhenomenon" class="my-textarea" placeholder="工厂检测现象">${detectInfo.detectPhenomenon!''}</textarea>
+            </div>
         </div>
-        <div class="input-box" style="margin-left: 17%;">
-            <textarea rows="3" cols="20" name="detectFailureClassification" id="detectFailureClassification" class="my-textarea" placeholder="故障分类">${detectInfo.detectFailureClassification!''}</textarea>
+        <div class="input-box">
+            <label class="col-3 col-sm-3 huanhang" style="text-align: right;margin: 10px 0px;"><span class="c-red">*</span>故障分类:</label>
+            <div class="formControls col-xs-7 col-sm-7 skin-minimal huanhang" style="margin: 10px 0px;">
+                <textarea rows="3" cols="20" name="detectFailureClassification" id="detectFailureClassification" class="my-textarea" placeholder="故障分类">${detectInfo.detectFailureClassification!''}</textarea>
+            </div>
         </div>
-        <div class="input-box" style="margin-left: 17%;">
+        <div class="input-box">
+            <label class="col-3 col-sm-3 huanhang" style="text-align: right;margin: 10px 0px;"><span class="c-red">*</span>故障原因:</label>
+            <div class="formControls col-xs-7 col-sm-7 skin-minimal huanhang" style="margin: 10px 0px;">
             <textarea rows="3" cols="20" name="detectFailureCause" id="detectFailureCause" class="my-textarea" placeholder="故障原因">${detectInfo.detectFailureCause!''}</textarea>
+            </div>
         </div>
-        <div class="input-box" style="margin-left: 17%;">
+        <div class="input-box">
+            <label class="col-3 col-sm-3 huanhang" style="text-align: right;margin: 10px 0px;"><span class="c-red">*</span>判定结果:</label>
+            <div class="formControls col-xs-7 col-sm-7 skin-minimal huanhang" style="margin: 10px 0px;">
             <textarea rows="3" cols="20" name="detectResults" id="detectResults" class="my-textarea" placeholder="判定结果">${detectInfo.detectResults!''}</textarea>
+            </div>
         </div>
-        <div class="input-box" style="margin-left: 17%;">
+        <div class="input-box">
+            <label class="col-3 col-sm-3 huanhang" style="text-align: right;margin: 10px 0px;"><span class="c-red">*</span>故障指向:</label>
+            <div class="formControls col-xs-7 col-sm-7 skin-minimal huanhang" style="margin: 10px 0px;">
             <textarea rows="3" cols="20" name="detectPoint" id="detectPoint" class="my-textarea" placeholder="故障指向">${detectInfo.detectPoint!''}</textarea>
+            </div>
         </div>
-        <div class="input-box" style="margin-left: 17%;">
+        <div class="input-box">
+            <label class="col-3 col-sm-3 huanhang" style="text-align: right;margin: 10px 0px;"><span class="c-red">*</span>原因分析:</label>
+            <div class="formControls col-xs-7 col-sm-7 skin-minimal huanhang" style="margin: 10px 0px;">
             <textarea rows="3" cols="20" name="detectAnalysis" id="detectAnalysis" class="my-textarea" placeholder="原因分析">${detectInfo.detectAnalysis!''}</textarea>
+            </div>
         </div>
         <div class="input-box">
-            <label class="form-label col-3 col-sm-3 huanhang" style="text-align: right;">检测日期:</label>
+            <label class="form-label col-3 col-sm-3 huanhang" style="text-align: right;"><span class="c-red">*</span>检测日期:</label>
             <div class="formControls col-8 col-sm-8 text-c huanhang" style="margin-left: -4.5%;">
-                <input class="my-input-date" type="text" value="${detectInfo.detectDate!''}" name="detect_date" id="detectDate" onClick="WdatePicker({skin:'whyGreen',maxDate:'%y-%M-%d'})" placeholder="请选择检测日期" readonly="readonly"/>
+                <input class="my-input-date" type="text" value="<#if detectInfo.detectDate??>${detectInfo.detectDate?string("yyyy-MM-dd")!''}</#if>" name="detect_date" id="detectDate" onClick="WdatePicker({skin:'whyGreen',maxDate:'%y-%M-%d'})" placeholder="请选择检测日期" readonly="readonly"/>
             </div>
         </div>
         <div class="input-box">
-            <label class="col-3 col-sm-3 huanhang" style="text-align: right;margin: 10px 0px;">是否转入生产:</label>
+            <label class="col-3 col-sm-3 huanhang" style="text-align: right;margin: 10px 0px;"><span class="c-red">*</span>是否转入生产:</label>
             <div class=" col-xs-8 col-sm-8 skin-minimal" style="margin: 10px 0px;">
                 <div class="radio-box">
                     <input type="radio" id="radio-5" name="detectIsMaintenance" value="1" checked/>
@@ -108,7 +101,7 @@
             </div>
         </div>
         <div class="input-box" id="revolutionProducedId">
-            <label class="col-3 col-sm-3 huanhang" style="text-align: right;margin: 10px 0px;">立即转入生产:</label>
+            <label class="col-3 col-sm-3 huanhang" style="text-align: right;margin: 10px 0px;"><span class="c-red">*</span>立即转入生产:</label>
             <div class="col-xs-7 col-sm-7 skin-minimal" style="margin: 10px 0px;">
                 <div class="radio-box">
                     <input type="radio"  id="radio-7" name="detectRevolutionProduced" value="2" checked/>
@@ -121,7 +114,7 @@
             </div>
         </div>
         <div class="input-box">
-            <label class="col-3 col-sm-3 huanhang" style="text-align: right;margin: 10px 0px;">QC检查状态:</label>
+            <label class="col-3 col-sm-3 huanhang" style="text-align: right;margin: 10px 0px;"><span class="c-red">*</span>QC检查状态:</label>
             <div class="formControls col-xs-7 col-sm-7 skin-minimal" style="margin: 10px 0px;">
                 <div class="radio-box">
                     <input type="radio" id="radio-9" name="maintenanceResults" value="1" checked/>

+ 38 - 25
watero-rst-web/src/main/webapp/WEB-INF/views/cm/inspection/detect_list.ftl

@@ -20,6 +20,15 @@
             white-space: nowrap;
             text-overflow: ellipsis;
         }
+        .txt{
+            width: 70px;
+
+            overflow: hidden;
+
+            white-space: nowrap;
+
+            text-overflow: ellipsis;
+        }
     </style>
 </head>
 <body>
@@ -64,12 +73,12 @@
                 <th width="100">产品类型</th>
                 <th width="100">产品型号</th>
                 <th width="100">状态</th>
-                <th width="100">工厂检测现象</th>
-                <th width="100">故障分类</th>
-                <th width="150">故障原因</th>
-                <th width="150">判定结果</th>
-                <th width="150">故障指向</th>
-                <th width="150">原因分析</th>
+                <th width="60">工厂检测现象</th>
+                <th width="60">故障分类</th>
+                <th width="60">故障原因</th>
+                <th width="60">判定结果</th>
+                <th width="60">故障指向</th>
+                <th width="60">原因分析</th>
                 <th width="150">客诉描述</th>
                 <th width="150">是否转入生产部门</th>
                 <th width="150">备注</th>
@@ -97,12 +106,12 @@
                             检查通过
                         </#if>
                     </td>
-                    <td class="text-c" width="100">${detect.detectPhenomenon!}</td>
-                    <td class="text-c" width="100">${detect.detectFailureClassification!}</td>
-                    <td class="text-c" width="100">${detect.detectFailureCause!}</td>
-                    <td class="text-c" width="100">${detect.detectResults!}</td>
-                    <td class="text-c" width="100">${detect.detectPoint!}</td>
-                    <td class="text-c" width="100">${detect.detectAnalysis!}</td>
+                    <td class="text-c" width="60"><div class="txt" title="${detect.detectPhenomenon!}">${detect.detectPhenomenon!}</div></td>
+                    <td class="text-c" width="60"><div class="txt" title="${detect.detectFailureClassification!}">${detect.detectFailureClassification!}</div></td>
+                    <td class="text-c" width="60"><div class="txt" title="${detect.detectFailureCause!}">${detect.detectFailureCause!}</div></td>
+                    <td class="text-c" width="60"><div class="txt" title="${detect.detectResults!}">${detect.detectResults!}</div></td>
+                    <td class="text-c" width="60"><div class="txt" title="${detect.detectPoint!}">${detect.detectPoint!}</div></td>
+                    <td class="text-c" width="60"><div class="txt" title="${detect.detectAnalysis!}">${detect.detectAnalysis!}</div></td>
                     <td class="text-c" width="100"><span class="label txt2" title="${detect.questionTitle!}" >${detect.questionTitle!}</span><br><#if detect.questionTitle??><#if detect.questionTitle != ""><a href="#" onclick="getDescribeInfo(${detect.customerId!});" style="color : #4149FF;">查看详情</a></#if></#if></td>
                     <td class="text-c" width="100">
                     <#if detect.detectIsMaintenance??>
@@ -126,21 +135,25 @@
                            onclick="add_remark('修改备注','${path}/admin/detect/to_add_remark?detectId=${detect.detectId!''}','570','450');">
                             <i class="Hui-iconfont">&#xe6df;</i>
                         </a>
-                       <#if detect.detectIsMaintenance??>
-                            <#if detect.detectIsMaintenance == 2>
-                                <a style="text-decoration:none" href="javascript:;" title="需要转入生产"
-                                   onclick="update_info('需要转入生产','${path}/admin/detect/to_produced_info?detectId=${detect.detectId!''}&state=1','570','450');">
-                                    <i class="Hui-iconfont">&#xe644;</i>
-                                </a>
-                            <#else >
-                        </#if>
-                            <#if detect.detectRevolutionProduced == 1>
-                                <a style="text-decoration:none" href="javascript:;" title="转入生产"
-                                   onclick="update_info('转入生产','${path}/admin/detect/to_detect_complete?detectId=${detect.detectId!''}&state=2','670','450');">
-                                    <i class="Hui-iconfont">&#xe6e1;</i>
-                                </a>
+                    <#if detect.detectState??>
+                        <#if detect.detectState == 2>
+                           <#if detect.detectIsMaintenance??>
+                                <#if detect.detectIsMaintenance == 2>
+                                    <a style="text-decoration:none" href="javascript:;" title="需要转入生产"
+                                       onclick="update_info('需要转入生产','${path}/admin/detect/to_produced_info?detectId=${detect.detectId!''}&state=1','570','450');">
+                                        <i class="Hui-iconfont">&#xe644;</i>
+                                    </a>
+                                <#else >
+                            </#if>
+                                <#if detect.detectRevolutionProduced == 1>
+                                    <a style="text-decoration:none" href="javascript:;" title="转入生产"
+                                       onclick="update_info('转入生产','${path}/admin/detect/to_detect_complete?detectId=${detect.detectId!''}&state=2','670','450');">
+                                        <i class="Hui-iconfont">&#xe6e1;</i>
+                                    </a>
+                                </#if>
                             </#if>
                         </#if>
+                    </#if>
                         <#if detect.detectState == 3>
                             <a style="text-decoration:none" href="javascript:;" title="修改检测信息"
                                onclick="update_info('修改检测信息','${path}/admin/detect/to_update_complete?detectId=${detect.detectId!''}','570','450');">

+ 35 - 18
watero-rst-web/src/main/webapp/WEB-INF/views/cm/inspection/update_complete.ftl

@@ -32,8 +32,8 @@
 <article class="page-container">
     <form class="form form-horizontal" id="form-admin-add">
         <div class="input-box">
-            <label class="form-label col-3 col-sm-3 huanhang" style="text-align: right;margin: 12px 0px;">检测结果:</label>
-            <div class="formControls col-xs-7 col-sm-7 skin-minimal huanhang" style="margin: 10px 0px;">
+            <label class="col-3 col-sm-3 huanhang" style="text-align: right;"><span class="c-red">*</span>检测结果:</label>
+            <div class=" col-xs-7 col-sm-7 skin-minimal huanhang" >
                 <div class="radio-box">
                     <input type="radio" id="radio-3" name="detectState" value="3"
                            <#if detectInfo.detectState == 3>checked</#if>
@@ -46,33 +46,50 @@
                 </div>
             </div>
         </div>
-
-        <div class="input-box" style="margin-left: 17%;">
-            <textarea rows="3" cols="20" style="margin-left: 2.9%;" name="detectPhenomenon" id="detectPhenomenon"  class="my-textarea" placeholder="工厂检测现象">${detectInfo.detectPhenomenon!''}</textarea>
+       <div class="input-box" >
+            <label class="col-3 col-sm-3 huanhang" style="text-align: right;margin: 10px 0px;"><span class="c-red">*</span>工厂检测现象:</label>
+            <div class="formControls col-xs-7 col-sm-7 skin-minimal huanhang" style="margin: 10px 0px;">
+                <textarea style="margin-left: 0%;" rows="3" cols="20" name="detectPhenomenon" id="detectPhenomenon" class="my-textarea" placeholder="工厂检测现象">${detectInfo.detectPhenomenon!''}</textarea>
+            </div>
         </div>
-        <div class="input-box" style="margin-left: 17%;">
-            <textarea rows="3" cols="20" name="detectFailureClassification" id="detectFailureClassification"  class="my-textarea" placeholder="故障分类">${detectInfo.detectFailureClassification!''}</textarea>
+        <div class="input-box">
+            <label class="col-3 col-sm-3 huanhang" style="text-align: right;margin: 10px 0px;"><span class="c-red">*</span>故障分类:</label>
+            <div class="formControls col-xs-7 col-sm-7 skin-minimal huanhang" style="margin: 10px 0px;">
+                <textarea style="margin-left: 0%;" rows="3" cols="20" name="detectFailureClassification" id="detectFailureClassification" class="my-textarea" placeholder="故障分类">${detectInfo.detectFailureClassification!''}</textarea>
+            </div>
         </div>
-        <div class="input-box" style="margin-left: 17%;">
-            <textarea rows="3" cols="20" name="detectFailureCause" id="detectFailureCause"  class="my-textarea" placeholder="故障原因">${detectInfo.detectFailureCause!''}</textarea>
+        <div class="input-box">
+            <label class="col-3 col-sm-3 huanhang" style="text-align: right;margin: 10px 0px;"><span class="c-red">*</span>故障原因:</label>
+            <div class="formControls col-xs-7 col-sm-7 skin-minimal huanhang" style="margin: 10px 0px;">
+                <textarea style="margin-left: 0%;" rows="3" cols="20" name="detectFailureCause" id="detectFailureCause" class="my-textarea" placeholder="故障原因">${detectInfo.detectFailureCause!''}</textarea>
+            </div>
         </div>
-        <div class="input-box" style="margin-left: 17%;">
-            <textarea rows="3" cols="20" name="detectResults" id="detectResults"  class="my-textarea" placeholder="判定结果">${detectInfo.detectResults!''}</textarea>
+        <div class="input-box">
+            <label class="col-3 col-sm-3 huanhang" style="text-align: right;margin: 10px 0px;"><span class="c-red">*</span>判定结果:</label>
+            <div class="formControls col-xs-7 col-sm-7 skin-minimal huanhang" style="margin: 10px 0px;">
+                <textarea style="margin-left: 0%;" rows="3" cols="20" name="detectResults" id="detectResults" class="my-textarea" placeholder="判定结果">${detectInfo.detectResults!''}</textarea>
+            </div>
         </div>
-        <div class="input-box" style="margin-left: 17%;">
-            <textarea rows="3" cols="20" name="detectPoint" id="detectPoint"  class="my-textarea" placeholder="故障指向">${detectInfo.detectPoint!''}</textarea>
+        <div class="input-box">
+            <label class="col-3 col-sm-3 huanhang" style="text-align: right;margin: 10px 0px;"><span class="c-red">*</span>故障指向:</label>
+            <div class="formControls col-xs-7 col-sm-7 skin-minimal huanhang" style="margin: 10px 0px;">
+                <textarea style="margin-left: 0%;" rows="3" cols="20" name="detectPoint" id="detectPoint" class="my-textarea" placeholder="故障指向">${detectInfo.detectPoint!''}</textarea>
+            </div>
         </div>
-        <div class="input-box" style="margin-left: 17%;">
-            <textarea rows="3" cols="20" name="detectAnalysis" id="detectAnalysis"  class="my-textarea" placeholder="原因分析">${detectInfo.detectAnalysis!''}</textarea>
+        <div class="input-box">
+            <label class="col-3 col-sm-3 huanhang" style="text-align: right;margin: 10px 0px;"><span class="c-red">*</span>原因分析:</label>
+            <div class="formControls col-xs-7 col-sm-7 skin-minimal huanhang" style="margin: 10px 0px;">
+                <textarea style="margin-left: 0%;" rows="3" cols="20" name="detectAnalysis" id="detectAnalysis" class="my-textarea" placeholder="原因分析">${detectInfo.detectAnalysis!''}</textarea>
+            </div>
         </div>
         <div class="input-box">
-            <label class="form-label col-3 col-sm-3 huanhang" style="text-align: right;">检测日期:</label>
+            <label class="form-label col-3 col-sm-3 huanhang" style="text-align: right;"><span class="c-red">*</span>检测日期:</label>
             <div class="formControls col-8 col-sm-8 text-c huanhang" style="margin-left: -4.5%;">
-                <input class="my-input-date" type="text" value="${detectInfo.detectDate!''}" name="detect_date" id="detectDate" onClick="WdatePicker({skin:'whyGreen',maxDate:'%y-%M-%d'})" placeholder="请选择检测日期" readonly="readonly"/>
+                <input class="my-input-date" type="text" value="${detectInfo.detectDate?string("yyyy-MM-dd")!''}" name="detect_date" id="detectDate" onClick="WdatePicker({skin:'whyGreen',maxDate:'%y-%M-%d'})" placeholder="请选择检测日期" readonly="readonly"/>
             </div>
         </div>
         <div class="input-box">
-            <label class="col-3 col-sm-3 huanhang" style="text-align: right;">QC检查状态:</label>
+            <label class="col-3 col-sm-3 huanhang" style="text-align: right;"><span class="c-red">*</span>QC检查状态:</label>
             <div class="col-xs-7 col-sm-7 skin-minimal">
                 <div class="radio-box">
                     <input type="radio" id="radio-9" name="maintenanceResults" value="1" <#if detectInfo.maintenanceResults??><#if detectInfo.maintenanceResults == 1>checked</#if></#if>/>

+ 2 - 2
watero-rst-web/src/main/webapp/WEB-INF/views/cm/inspection/update_produced_info.ftl

@@ -59,7 +59,7 @@
         </div>
 -->
         <div class="input-box">
-            <label class="col-3 col-sm-3 huanhang" style="text-align: right;margin: 10px 0px;">转入生产部门:</label>
+            <label class="col-3 col-sm-3 huanhang" style="text-align: right;margin: 10px 0px;"><span class="c-red">*</span>转入生产部门:</label>
             <div class="formControls col-xs-7 col-sm-7 skin-minimal huanhang" style="margin: 10px 0px;">
                 <div class="radio-box">
                     <input type="radio" id="radio-1" name="detectIsMaintenance" onclick="show();" value="1" checked/>
@@ -73,7 +73,7 @@
         </div>
 
         <div class="input-box" id="revolutionProducedId">
-            <label class="col-3 col-sm-3 huanhang" style="text-align: right;margin: 10px 0px;">已转入生产:</label>
+            <label class="col-3 col-sm-3 huanhang" style="text-align: right;margin: 10px 0px;"><span class="c-red">*</span>已转入生产:</label>
             <div class="formControls col-xs-7 col-sm-7 skin-minimal huanhang" style="margin: 10px 0px;">
                 <div class="radio-box">
                     <input type="radio" id="radio-3" name="detectRevolutionProduced" value="2"

+ 5 - 5
watero-rst-web/src/main/webapp/WEB-INF/views/cm/maintenance/add_maintenance.ftl

@@ -32,7 +32,7 @@
 <article class="page-container">
     <form class="form form-horizontal" id="form-admin-add">
         <div class="input-box">
-            <label class="form-label col-3 col-sm-3 huanhang" style="text-align: right;">维修产品:</label>
+            <label class="form-label col-3 col-sm-3 huanhang" style="text-align: right;"><span class="c-red">*</span>维修产品:</label>
             <div class="col-9 col-sm-9 text-c">
                 <div class="radio-box"  style="margin-right: -36%; padding-left: 0px;">
                 <table class="table table-border table-bg table-bordered" style="width: 420px;">
@@ -77,14 +77,14 @@
             </div>
         </div>
         <div class="input-box">
-            <label class="col-3 col-sm-3 huanhang" style="text-align: right;">维修日期:</label>
+            <label class="col-3 col-sm-3 huanhang" style="text-align: right;"><span class="c-red">*</span>维修日期:</label>
             <div class="formControls col-7 col-sm-7 text-c huanhang" style="margin-left: -5%;">
                 <input class="my-input-date" type="text"  name="maintenanceContent_Date" id="maintenanceContentDate" onClick="WdatePicker({skin:'whyGreen',maxDate:'%y-%M-%d'})" placeholder="请选择维修日期" readonly="readonly"/>
             </div>
         </div>
 
         <div class="input-box">
-            <label class="col-3 col-sm-3 huanhang" style="text-align: right;">维修结果:</label>
+            <label class="col-3 col-sm-3 huanhang" style="text-align: right;"><span class="c-red">*</span>维修结果:</label>
             <div class="col-8 col-sm-8 text-c skin-minimal" >
                 <div class="radio-box">
                     <input type="radio" id="radio-3" name="maintenanceState" value="1" checked/>
@@ -98,7 +98,7 @@
         </div>
 
         <div class="input-box">
-            <label class="col-3 col-sm-3 huanhang" style="text-align: right;">是否可返修:</label>
+            <label class="col-3 col-sm-3 huanhang" style="text-align: right;"><span class="c-red">*</span>是否可返修:</label>
             <div class=" col-8 col-sm-8 text-c skin-minimal">
                 <div class="radio-box">
                     <input type="radio" id="radio-5" name="maintenanceIsRepair" value="1" checked/>
@@ -111,7 +111,7 @@
             </div>
         </div>
         <div class="input-box">
-            <label class="col-3 col-sm-3 huanhang" style="text-align: right;">是否可入库:</label>
+            <label class="col-3 col-sm-3 huanhang" style="text-align: right;"><span class="c-red">*</span>是否可入库:</label>
             <div class="formControls col-10 col-sm-10 text-c skin-minimal">
                 <div class="radio-box">
                     <input type="radio" id="radio-7" name="maintenanceIsWarehousing" value="2" checked/>

+ 4 - 4
watero-rst-web/src/main/webapp/WEB-INF/views/cm/maintenance/complete_reorder.ftl

@@ -69,13 +69,13 @@
 <article class="page-container">
     <form class="form form-horizontal" id="form-admin-add">
         <div class="input-box"   style="text-align:center;">
-            <label class="col-3 col-sm-3 huanhang" style="text-align: right;">机器编码:</label>
+            <label class="col-3 col-sm-3 huanhang" style="text-align: right;"><span class="c-red">*</span>机器编码:</label>
             <div class="col-7 col-sm-7  skin-minimal"  style="float: left;padding-left: 0px;">
                 <input class="my-input" style="width: 100%;" value="${maintenanceInfo.maintenanceEquipmentNumber!''}" type="text" id="maintenanceEquipmentNumber" name="maintenanceEquipmentNumber" placeholder="请输入机器编码"/>
             </div>
             </div>
         <div class="input-box">
-            <label class="col-3 col-sm-3 huanhang" style="text-align: right;">维修结果:</label>
+            <label class="col-3 col-sm-3 huanhang" style="text-align: right;"><span class="c-red">*</span>维修结果:</label>
                 <div class="col-8 col-sm-8 text-c skin-minimal" >
                     <div class="radio-box">
                         <input type="radio" id="radio-3" name="maintenanceState" value="1"  <#if maintenanceInfo.maintenanceState == 1>checked</#if>/>
@@ -89,7 +89,7 @@
         </div>
 
         <div class="input-box">
-            <label class="col-3 col-sm-3 huanhang" style="text-align: right;">是否可返修:</label>
+            <label class="col-3 col-sm-3 huanhang" style="text-align: right;"><span class="c-red">*</span>是否可返修:</label>
             <div class="col-8 col-sm-8 text-c skin-minimal" >
                 <div class="radio-box">
                     <input type="radio" id="radio-5" name="maintenanceIsRepair" value="1" <#if maintenanceInfo.maintenanceIsRepair == 1>checked</#if>/>
@@ -102,7 +102,7 @@
             </div>
         </div>
         <div class="input-box">
-            <label class="col-3 col-sm-3 huanhang" style="text-align: right;">是否可入库:</label>
+            <label class="col-3 col-sm-3 huanhang" style="text-align: right;"><span class="c-red">*</span>是否可入库:</label>
             <div class="col-10 col-sm-10 text-c skin-minimal" >
                 <div class="radio-box">
                     <input type="radio" id="radio-7" name="maintenanceIsWarehousing" value="2" <#if maintenanceInfo.maintenanceIsWarehousing == 2>checked</#if>/>

+ 5 - 5
watero-rst-web/src/main/webapp/WEB-INF/views/cm/maintenance/update_maintenance.ftl

@@ -33,7 +33,7 @@
 <article class="page-container">
     <form class="form form-horizontal" id="form-admin-add">
         <div class="input-box">
-            <label class="form-label col-3 col-sm-3 huanhang" style="text-align: right;">维修产品:</label>
+            <label class="form-label col-3 col-sm-3 huanhang" style="text-align: right;"><span class="c-red">*</span>维修产品:</label>
             <div class="col-9 col-sm-9 text-c">
                 <div class="radio-box"  style="margin-right: -37%;padding-left: 0px;">
                     <table class="table table-border table-bg table-bordered" style="width: 420px;">
@@ -78,14 +78,14 @@
             </div>
         </div>
         <div class="input-box">
-            <label class="col-3 col-sm-3 huanhang" style="text-align: right;">维修日期:</label>
+            <label class="col-3 col-sm-3 huanhang" style="text-align: right;"><span class="c-red">*</span>维修日期:</label>
             <div class="formControls col-7 col-sm-7 text-c huanhang" style="margin-left: -4.5%;">
                 <input class="my-input-date" type="text" value="${(maintenanceInfo.maintenanceContentDate)?string("yyyy-MM-dd")!''}"  name="maintenanceContent_Date" id="maintenanceContentDate" onClick="WdatePicker({skin:'whyGreen',maxDate:'%y-%M-%d'})" placeholder="请选择维修日期" readonly="readonly"/>
             </div>
         </div>
 
         <div class="input-box" style="margin-top: 11%;">
-            <label class="col-3 col-sm-3 huanhang" style="text-align: right;">维修结果:</label>
+            <label class="col-3 col-sm-3 huanhang" style="text-align: right;"><span class="c-red">*</span>维修结果:</label>
             <div class="col-8 col-sm-8 text-c skin-minimal" >
                 <div class="radio-box">
                     <input type="radio" id="radio-3" name="maintenanceState" value="1" <#if maintenanceInfo.maintenanceState == 1>checked</#if>/>
@@ -99,7 +99,7 @@
         </div>
 
         <div class="input-box">
-            <label class="col-3 col-sm-3 huanhang" style="text-align: right;">是否可返修:</label>
+            <label class="col-3 col-sm-3 huanhang" style="text-align: right;"><span class="c-red">*</span>是否可返修:</label>
             <div class=" col-8 col-sm-8 text-c skin-minimal">
                 <div class="radio-box">
                     <input type="radio" id="radio-5" name="maintenanceIsRepair" value="1" <#if maintenanceInfo.maintenanceIsRepair == 1>checked</#if>/>
@@ -112,7 +112,7 @@
             </div>
         </div>
         <div class="input-box">
-            <label class="col-3 col-sm-3 huanhang" style="text-align: right;">是否可入库:</label>
+            <label class="col-3 col-sm-3 huanhang" style="text-align: right;"><span class="c-red">*</span>是否可入库:</label>
             <div class="formControls col-10 col-sm-10 text-c skin-minimal">
                 <div class="radio-box">
                     <input type="radio" id="radio-7" name="maintenanceIsWarehousing" value="2" <#if maintenanceInfo.maintenanceIsWarehousing == 2>checked</#if>/>

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

@@ -64,18 +64,22 @@
                 <div class="formControls col-4 col-sm-4">
                     <#if (signclosedList?size > 0)>
                         <#list signclosedList as signclosed>
+                        <span class="label label-success radius">
                             <#if signclosed.signclosedProductType == 1>
                                 ${signclosed.productName!''}-${signclosed.colorName!''}*${signclosed.productNum!''}台
                             <#else>
                                 ${signclosed.productName!''}*${signclosed.productNum!''}件
                             </#if>
+                        </span>
                         </#list>
                     </#if>
                 </div>
             </div>
             <div class="row cl">
                 <label class="form-label col-3 col-sm-3">客服备注:</label>
-               <#if ifcomplaintSignclosedInfo?? >${complaintSignclosedInfo.signclosedCustomerDesc!''}</#if>
+                <div class="formControls col-4 col-sm-4" style="margin-left: -0.2%">
+                    <#if complaintSignclosedInfo?? >${complaintSignclosedInfo.describeHandleDesc!''}</#if>
+                </div>
             </div>
             <div class="row cl">
                 <label class="form-label col-3 col-sm-3"><span class="c-red">*</span>寄回产品:</label>
@@ -113,14 +117,13 @@
                                 <#if signclosed.signclosedProductType == 2>
                                 <td></td>
                                 <td></td>
-                                <td><input type="checkbox" value="${signclosed.signclosedProductId!''}" name="alreadyFittingsName" datatype="*">${signclosed.productName!''}
+                                <td><input type="checkbox" checked value="${signclosed.signclosedProductId!''}" name="alreadyFittingsName" datatype="*">${signclosed.productName!''}
                                     <input type="text" style="width: 50px;margin-left: 10px;" class="input-text" value="${signclosed.productNum!''}" placeholder="数量" id="alreadyFittingsId${signclosed.signclosedProductId!''}" name="alreadyFittingsId${signclosed.signclosedProductId!''}"><br>
                                 </td>
                                 </#if>
                             </tr>
                             </#list>
                         </#if>
-
                         </tbody>
                     </table>
                 </div>
@@ -164,12 +167,12 @@
                 <label class="form-label col-3 col-sm-3"><span class="c-red">*</span>是否少配件:</label>
                 <div class="formControls col-5 col-sm-5 skin-minimal">
                     <div class="radio-box">
-                        <input type="radio" id="tel-4" name="signclosedIsFittings" value="1" datatype="*" checked  >
-                        <label for="tel-4">缺少配件</label>
+                        <input type="radio" id="tel-5" name="signclosedIsFittings" value="2" datatype="*" checked>
+                        <label for="tel-5">不缺配件</label>
                     </div>
                     <div class="radio-box">
-                        <input type="radio" id="tel-5" name="signclosedIsFittings" value="2" datatype="*">
-                        <label for="tel-5">不缺配件</label>
+                        <input type="radio" id="tel-4" name="signclosedIsFittings" value="1" datatype="*">
+                        <label for="tel-4">缺少配件</label>
                     </div>
                 </div>
             </div>

+ 7 - 5
watero-rst-web/src/main/webapp/WEB-INF/views/cm/signclosed/signclosed_list.ftl

@@ -179,7 +179,7 @@
                     <td class="text-c" width="100">
                         <#if signclosed.signclosedIsFittings == 1>
                             缺少
-                        <#else>
+                        <#elseif  signclosed.signclosedIsFittings == 2>
                             不缺少
                         </#if>
                     </td>
@@ -223,10 +223,12 @@
                            onclick="add_remark('修改备注','${path}/admin/signclosed/to_update_remark?signclosedId=${signclosed.signclosedId!''}','570','450');">
                             <i class="Hui-iconfont">&#xe692;</i>
                         </a>
-                        <a style="text-decoration:none" href="javascript:;" title="修改寄件人信息"
-                           onclick="add_remark('修改寄件人信息','${path}/admin/signclosed/to_update_sender?signclosedId=${signclosed.signclosedId!''}','570','450');">
-                            <i class="Hui-iconfont">&#xe60c;</i>
-                        </a>
+                        <#if signclosed.signclosedState == 1>
+                            <a style="text-decoration:none" href="javascript:;" title="修改寄件人信息"
+                               onclick="add_remark('修改寄件人信息','${path}/admin/signclosed/to_update_sender?signclosedId=${signclosed.signclosedId!''}','570','450');">
+                                <i class="Hui-iconfont">&#xe60c;</i>
+                            </a>
+                        </#if>
                         <#if signclosed.signclosedIsInto == 2>
                             <a style="text-decoration:none" href="javascript:;" title="转入品检"
                                onclick="into_complaint('${signclosed.signclosedId!''}');">

+ 28 - 9
watero-rst-web/src/main/webapp/WEB-INF/views/cm/signclosed/update_sender.ftl

@@ -38,7 +38,7 @@
 <article class="page-container">
     <form class="form form-horizontal" id="form-admin-add"  style="    margin-left: 7%;">
         <div >
-
+<#--
             <div class="row cl">
                 <label class="form-label col-3">
                     <div class="tit-2">原寄送信息</div>
@@ -47,9 +47,9 @@
                 </div>
             </div>
 
-            <#--<div class="row cl">-->
-                <#--<label class=" col-3 col-sm-3" style="color: #0000cc;">原寄送信息</label>-->
-            <#--</div>-->
+            &lt;#&ndash;<div class="row cl">&ndash;&gt;
+                &lt;#&ndash;<label class=" col-3 col-sm-3" style="color: #0000cc;">原寄送信息</label>&ndash;&gt;
+            &lt;#&ndash;</div>&ndash;&gt;
             <div class="row cl">
                 <label class=" col-3 col-sm-3 huanhang" style="text-align: right;">寄件人姓名:</label>
                 <div class="formControls col-6 col-sm-6 skin-minimal huanhang">
@@ -100,11 +100,11 @@
                 </div>
             </div>
         </div>
-        <div>
+        <div>-->
 
             <div class="row cl">
                 <label class="form-label col-3">
-                    <div class="tit-2">寄送信息</div>
+                    <div class="tit-2">寄送信息</div>
                 </label>
                 <div class="formControls col-9">
                 </div>
@@ -116,13 +116,13 @@
             <div class="row cl">
                 <label class="form-label col-3 col-sm-3 huanhang" style="text-align: right;"><span class="c-red">*</span>寄件人姓名:</label>
                 <div class="formControls col-6 col-sm-6 skin-minimal huanhang">
-                    <input type="text" style="" class="input-text" placeholder="寄件方姓名/公司名称" id="signclosedSendName" name="signclosedSendName">
+                    <input type="text" style="" value="${complaintSignclosedInfo.signclosedSendName!''}" class="input-text" placeholder="寄件方姓名/公司名称" id="signclosedSendName" name="signclosedSendName">
                 </div>
             </div>
             <div class="row cl">
                 <label class="form-label col-3 col-sm-3 huanhang" style="text-align: right;"><span class="c-red">*</span>寄件人电话:</label>
                 <div class="formControls col-6 col-sm-6 skin-minimal huanhang">
-                    <input type="text" style="" class="input-text" placeholder="寄件方联系电话" id="signclosedSendTel" name="signclosedSendTel">
+                    <input type="text" style="" value="${complaintSignclosedInfo.signclosedSendTel!''}" class="input-text" placeholder="寄件方联系电话" id="signclosedSendTel" name="signclosedSendTel">
                 </div>
             </div>
             <div class="row cl" style="position: relative;">
@@ -130,6 +130,24 @@
                 <div class="formControls col-6 col-sm-6 skin-minimal huanhang">
                         <select name="signclosedLogistics" class="my-select" style="width: 228px;margin-left: 0px;">
                             <option value="">请选择物流公司</option>
+                        <#if complaintSignclosedInfo.signclosedLogistics??>
+                            <option value="sto" <#if complaintSignclosedInfo.signclosedLogistics == "sto">selected="selected"</#if> >申通快递</option>
+                            <option value="yto" <#if complaintSignclosedInfo.signclosedLogistics == "yto">selected="selected"</#if>>圆通快递</option>
+                            <option value="sf" <#if complaintSignclosedInfo.signclosedLogistics == "sf">selected="selected"</#if>>顺丰快递</option>
+                            <option value="ems" <#if complaintSignclosedInfo.signclosedLogistics == "ems">selected="selected"</#if>>邮政EMS</option>
+                            <option value="zto" <#if complaintSignclosedInfo.signclosedLogistics == "zto">selected="selected"</#if>>中通快递</option>
+                            <option value="zjs" <#if complaintSignclosedInfo.signclosedLogistics == "zjs">selected="selected"</#if>>宅急送</option>
+                            <option value="yunda" <#if complaintSignclosedInfo.signclosedLogistics == "yunda">selected="selected"</#if>>韵达快递</option>
+                            <option value="cces" <#if complaintSignclosedInfo.signclosedLogistics == "cces">selected="selected"</#if>>cces快递</option>
+                            <option value="pick" <#if complaintSignclosedInfo.signclosedLogistics == "pick">selected="selected"</#if>>上门提货</option>
+                            <option value="htky" <#if complaintSignclosedInfo.signclosedLogistics == "htky">selected="selected"</#if>>汇通快递</option>
+                            <option value="ttkdex" <#if complaintSignclosedInfo.signclosedLogistics == "ttkdex">selected="selected"</#if>>天天快递</option>
+                            <option value="stars" <#if complaintSignclosedInfo.signclosedLogistics == "stars">selected="selected"</#if>>星晨急便</option>
+                            <option value="jd" <#if complaintSignclosedInfo.signclosedLogistics == "jd">selected="selected"</#if>>京东快递</option>
+                            <option value="01" <#if complaintSignclosedInfo.signclosedLogistics == "01">selected="selected"</#if>>其他</option>
+                            <option value="02" <#if complaintSignclosedInfo.signclosedLogistics == "02">selected="selected"</#if>>上门送货</option>
+                        <#else>
+                            <option value="">请选择物流公司</option>
                             <option value="sto">申通快递</option>
                             <option value="yto">圆通快递</option>
                             <option value="sf">顺丰快递</option>
@@ -145,6 +163,7 @@
                             <option value="jd">京东快递</option>
                             <option value="01">其他</option>
                             <option value="02">上门送货</option>
+                        </#if>
                         </select>
                 </div>
             </div>
@@ -152,7 +171,7 @@
             <div class="row cl" style="position: relative;">
                 <label class="form-label col-3 col-sm-3 huanhang" style="text-align: right;"><span class="c-red">*</span>物流信息:</label>
                 <div class="formControls col-6 col-sm-6 skin-minimal huanhang">
-                    <input type="text" style="" class="input-text" placeholder="物流单号" id="signclosedLogisticsNumber" name="signclosedLogisticsNumber">
+                    <input type="text" style="" value="<#if complaintSignclosedInfo.signclosedLogisticsNumber??>${complaintSignclosedInfo.signclosedLogisticsNumber!''}</#if>" class="input-text" placeholder="物流单号" id="signclosedLogisticsNumber" name="signclosedLogisticsNumber">
                 </div>
             </div>
         </div>

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

@@ -97,6 +97,8 @@
                             <option value="24">科学育儿</option>
                             <option value="25">美康辰</option>
                             <option value="26">北京悦祺</option>
+                            <option value="27">上海淘宝</option>
+                            <option value="28">蓝极风</option>
                         </select>
                     </label>
                 </td>
@@ -222,6 +224,7 @@
         for (var i = 0; i < platformOrders.length; i++) {
             platformOrdersArray[i] = platformOrders[i].value;
         }
+        var platformOrdersName = platformOrdersArray[0];
 
         var name = $(".addr-name:checked");                 // 用户名称列
         var nameArray = new Array();
@@ -248,6 +251,25 @@
         }
         var productName = $(".product-name:checked");
 
+        if(platformOrdersName == nameArray[0] ){
+            layer.msg('订单编号不能与收货人姓名列重复!',{icon: 5,time:3000});
+            return false;
+        }
+        if(platformOrdersName == telArray[0] ){
+            layer.msg('订单编号与收货人电话列重复!',{icon: 5,time:3000});
+            return false;
+        }
+        if(platformOrdersName == numArray[0] ){
+            layer.msg('订单编号与产品数量列重复!',{icon: 5,time:3000});
+            return false;
+        }
+        for(var k =0;k<infoArray.length;k++){
+            if(infoArray[k] == platformOrdersName){
+                layer.msg('订单编号与地址列重复!',{icon: 5,time:3000});
+                return false;
+            }
+        }
+
         // 对应好Excel和系统需要的数据以后,准备推送Efast
         $.post(root_path + "/admin/order/toobj_sendefast",{
                 "filePath":$("#productUrl").val(),

+ 6 - 6
watero-rst-web/src/main/webapp/WEB-INF/views/pts/batch/add_batch.ftl

@@ -81,7 +81,7 @@
             </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>软件版本:</label>
             <div class="formControls col-xs-8 col-sm-9">
                 <span class="select-box">
@@ -90,7 +90,7 @@
 				</span>
                 <span id="batchSoftwareVersionIdMsg" style="color: red;"></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>
@@ -206,7 +206,7 @@
         /*添加页面初始化,将根据产品的来获取bom和软件版本*/
         var produceId = $("[name='produceId']").val();
         getBomByProduce(produceId);
-        //getVersionByProduce(produceId);
+        getVersionByProduce(produceId);
 
         /*初始化一个颜色*/
         addBatchColor('','');
@@ -215,7 +215,7 @@
         $("[name='produceId']").change(function(){
             var produceId = $(this).val();
             getBomByProduce(produceId);
-           //getVersionByProduce(produceId);
+           getVersionByProduce(produceId);
         })
     })
     
@@ -275,7 +275,7 @@
     }
 
     /*根据产品获取软件版本*/
-   /* function getVersionByProduce(produceId) {
+    function getVersionByProduce(produceId) {
         $.ajax({
             type: "POST",
             data: {
@@ -302,7 +302,7 @@
             }
         });
     }
-*/
+
     /**
      * 添加颜色
      * colorName

+ 4 - 4
watero-rst-web/src/main/webapp/WEB-INF/views/pts/batch/update_batch.ftl

@@ -101,7 +101,7 @@
             </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>软件版本:</label>
             <div class="formControls col-xs-8 col-sm-9">
                 <span class="select-box">
@@ -115,7 +115,7 @@
 				</span>
                 <span id="batchSoftwareVersionIdMsg" style="color: red;"></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>
@@ -288,7 +288,7 @@
     }
 
     /*根据产品获取软件版本*/
-    /*function getVersionByProduce(produceId) {
+    function getVersionByProduce(produceId) {
         $.ajax({
             type: "POST",
             data: {
@@ -314,7 +314,7 @@
             error: function(XmlHttpRequest, textStatus, errorThrown){
             }
         });
-    }*/
+    }
 
     /*添加颜色*/
     function addBatchColor(colorName,colorQuantity) {

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

@@ -65,7 +65,7 @@
             </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>软件版本:</label>
             <div class="formControls col-xs-8 col-sm-9"> <span class="select-box">
                     <select class="select" size="1" id="machineVersionId" name="machineVersionId" datatype="*" errormsg="请选择软件版本">
@@ -79,7 +79,7 @@
                     </select>
 				</span>
             </div>
-        </div>
+        </div>-->
 
         <div class="row cl">
             <label class="form-label col-xs-4 col-sm-3">备注:</label>
@@ -193,7 +193,7 @@
 
             var produceId = $(this).val();
             getBomByProduce(produceId);
-            getMachineVersion(produceId);
+            //getMachineVersion(produceId);
 
             delComponent(0,"all");
             addComponents("#","");
@@ -362,7 +362,7 @@
     }
 
     /* 获取软件版本 */
-    function getMachineVersion(produceId){
+   /* function getMachineVersion(produceId){
         var html = '';
         $.ajax({
             type: "POST",
@@ -385,7 +385,7 @@
             }
         });
         $("#machineVersionId").html(html);
-    }
+    }*/
 
     /*当选择产品或者bom不选择时,都需要重置所有的输入框和表格*/
     function defaultAllInput() {

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

@@ -65,10 +65,10 @@
                 <span class="my-con-left content">${ptsBom.bomVersion ! ''}</span>
             </div>
 
-            <div class="input-box">
+          <#--  <div class="input-box">
                 <span class="my-con-right content">软件版本:</span>&nbsp;&nbsp;
                 <span class="my-con-left content">${ptsBom.machineVersionNo ! ''}</span>
-            </div>
+            </div>-->
 
             <div class="input-box">
                 <span class="my-con-right content">Bom备注:</span>&nbsp;&nbsp;

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

@@ -57,7 +57,6 @@
             <th width="60">所属产品</th>
             <th width="100">bom名称</th>
             <th width="80">硬件版本</th>
-            <th width="80">软件版本</th>
             <th width="80">零件总数量</th>
             <th width="80">零件总成本(元)</th>
             <th width="80">零件总重(g)</th>
@@ -75,7 +74,6 @@
                             <td>${bom.produceName!''}</td>
                             <td>${bom.bomName!''}</td>
                             <td>${bom.bomVersion!''}</td>
-                            <td>${bom.machineVersionNo!''}</td>
                             <td>${bom.componentsQuantity/100 !'0'}</td>
                             <td><#if bom.allComponentsCost?? >${bom.allComponentsCost/10000}</#if></td>
                             <td><#if bom.allComponentsWeight?? >${bom.allComponentsWeight/100}</#if></td>

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

@@ -55,7 +55,7 @@
             </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>软件版本:</label>
             <div class="formControls col-xs-8 col-sm-9"> <span class="select-box">
                     <select class="select" size="1" id="machineVersionId" name="machineVersionId" datatype="*" errormsg="请选择软件版本">
@@ -69,7 +69,7 @@
                     </select>
 				</span>
             </div>
-        </div>
+        </div>-->
 
         <div class="row cl">
             <label class="form-label col-xs-4 col-sm-3">备注:</label>
@@ -205,10 +205,6 @@
         });
     }
 
-    $(function(){
-    })
-
-
     var allComponents;  //所有零件的集合
 
     $(function () {
@@ -333,7 +329,7 @@
     }
 
     /* 获取软件版本 */
-    function getMachineVersion(produceId){
+    /*function getMachineVersion(produceId){
         var html = '';
         $.ajax({
             type: "POST",
@@ -356,7 +352,7 @@
             }
         });
         $("#machineVersionId").html(html);
-    }
+    }*/
 
     /*当选择产品或者bom不选择时,都需要重置所有的输入框和表格*/
     function defaultAllInput() {

+ 2 - 2
watero-rst-web/src/main/webapp/WEB-INF/views/pts/employee/save_employee.ftl

@@ -38,7 +38,7 @@
             <div class="my-title">员工信息</div>
             <div class="input-box"><span class="input-dic"><span class="c-red">*</span>员工编号</span>&nbsp;&nbsp;<input class="my-input" name="employeeNo" id="employeeNo" type="text" value="" placeholder="请输入员工编号" required   maxlength="10"  /> <span style="color: red;" id="employeeNoMsg"></span></div>
             <div class="input-box"><span class="input-dic"><span class="c-red">*</span>员工姓名</span>&nbsp;&nbsp;<input class="my-input" name="employeeName" id="employeeName" type="text" value="" placeholder="请输入2-10位中文" required   maxlength="10" minlength="2" /> </div>
-            <div class="input-box"><span class="input-dic"><span class="c-red">*</span>手机号码</span>&nbsp;&nbsp;<input class="my-input" name="employeeTel" id="employeeTel" type="text" value="" placeholder="请输入11位的手机号码"  required   maxlength="11" minlength="11" /><span style="color: red;" id="employeeTelMsg"></span> </div>
+            <div class="input-box"><span class="input-dic"><span class="c-red">&nbsp;</span>手机号码</span>&nbsp;&nbsp;<input class="my-input" name="employeeTel" id="employeeTel" type="text" value="" placeholder="请输入11位的手机号码" /><span style="color: red;" id="employeeTelMsg"></span> </div>
             <div class="input-box"><span class="input-dic"><span class="c-red">*</span>员工状态</span>&nbsp;&nbsp;
                 <input type="radio" id="employeeState1" name="employeeState" value="1" checked/><label for="employeeState1">在职</label>
                 <input type="radio" id="employeeState2" name="employeeState" value="0"/><label for="employeeState2">离职</label>
@@ -217,7 +217,7 @@
     function ptsValiDataTel() {
         var thVal = $("#employeeTel").val();
 
-        if(!(/^1[34578]\d{9}$/.test(thVal))){
+        if(!(/^(\s*|1[34578]\d{9})$/.test(thVal))){
             //$("#employeeTelMsg").html("手机号码错误");
             layer.msg('手机号码格式化不正确', {icon: 5, time: 1000});
             return false;

+ 2 - 2
watero-rst-web/src/main/webapp/WEB-INF/views/pts/employee/update_employee.ftl

@@ -40,7 +40,7 @@
             <input type="hidden" id="oldNo" value="${employee.employeeNo!}" >
             <div class="input-box"><span class="input-dic">员工编号</span>&nbsp;&nbsp;<input class="my-input" name="employeeNo" id="employeeNo" type="text" value="${employee.employeeNo!}" placeholder="请输入员工编号" required   maxlength="10" /> </div>
             <div class="input-box"><span class="input-dic">员工姓名</span>&nbsp;&nbsp;<input class="my-input" name="employeeName"  id="employeeName" type="text" value="${employee.employeeName!}" placeholder="请输入2-10位中文" required   maxlength="10" minlength="2" /> </div>
-            <div class="input-box"><span class="input-dic">手机号码</span>&nbsp;&nbsp;<input class="my-input" name="employeeTel" id="employeeTel" type="text" value="${employee.employeeTel!}" placeholder="请输入11位的手机号码" required   maxlength="11" minlength="11" /> </div>
+            <div class="input-box"><span class="input-dic">手机号码</span>&nbsp;&nbsp;<input class="my-input" name="employeeTel" id="employeeTel" type="text" value="${employee.employeeTel!}" placeholder="请输入11位的手机号码"  /> </div>
             <div class="input-box"><span class="input-dic" style="margin-top: 0">员工状态</span>&nbsp;&nbsp;
                 <input type="radio" id="employeeState1" name="employeeState" value="1" <#if employee.employeeState == 1>checked</#if>/><label for="employeeState1">在职</label>
                 <input type="radio" id="employeeState2" name="employeeState" value="0" <#if employee.employeeState == 0>checked</#if>/><label for="employeeState2">离职</label>
@@ -213,7 +213,7 @@
     /*验证手机号码*/
     function ptsValiDataTel() {
         var thVal = $("#employeeTel").val();
-        if(!(/^1[34578]\d{9}$/.test(thVal))){
+        if(!(/^(\s*|1[34578]\d{9})$/.test(thVal))){
             layer.msg('手机号码格式化不正确', {icon: 5, time: 1000});
             return false;
         }else{

+ 135 - 119
watero-rst-web/src/main/webapp/WEB-INF/views/pts/machine/addRenovationMachine.ftl

@@ -1,13 +1,13 @@
 <!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" />
+    <meta charset="utf-8">
+    <meta name="renderer" content="webkit|ie-comp|ie-stand">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
+    <meta http-equiv="Cache-Control" content="no-siteapp" />
 <#include "/base/add_base.ftl">
-<title>添加翻新机</title>
+    <title>添加翻新机</title>
     <style>
         .my-title{font-weight: 500;padding-left: 15px;position: relative;}
         .my-title:after{content: '';position: absolute;left: 0;top:12%;width: 3px;height: 80%;background: #32a3d8;}
@@ -23,52 +23,55 @@
         .my-select{border: 1px solid rgba(0,0,0,.1);padding:6px 50px 6px 15px;width: 80%; height: 34px; -webkit-appearance:none;appearance:none;background: url(http://s.iamberry.com/images/select-1.png) right center no-repeat #fff;background-size:auto 100%;}
         input[type=radio]{-webkit-appearance:none;appearance:none;background: url(${path}/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(${path}/common/images/pts/radio-2.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
-    	.spanhidth{width: 70px;text-align: right;}
-	</style>
+        .spanhidth{width: 70px;text-align: right;}
+    </style>
 
 </head>
 <body>
 <div class="pd-20">
-	<form   class="form form-horizontal" id="form-admin-add">
-            <div class="input-box">
-                <span class="input-dic spanhidth">批次:</span>
-				<select class="my-select" name="batchId" id="batchId">
-						<#if (listptsBatch ?size > 0)>
-							<#list listptsBatch as list>
-                                <option value ="${list.batchId}">${list.batchNo}</option>
-							</#list>
-						<#else >
-                            <option value ="">暂无批次,请先添加批次</option>
-						</#if>
-				</select>
-            </div>
+    <form   class="form form-horizontal" id="form-admin-add">
         <div class="input-box">
-            <span class="input-dic spanhidth">软件版本:</span>
-            <select class="my-select" name="versionId" id="versionId">
-            <#if (listVersion ?size > 0)>
-                <#list listVersion as list>
-                    <option value ="${list.machineVersionId}">${list.machineVersionName}</option>
+            <span class="input-dic spanhidth">批次:</span>
+            <select class="my-select" name="batchId" id="batchId">
+            <#if (listptsBatch ?size > 0)>
+                <#list listptsBatch as list>
+                    <option value ="${list.batchId}" softwareVersionNo="${list.softwareVersionNo!''}" bomName="${list.bomName!''}(${list.bomVersion!''})">${list.batchNo}</option>
                 </#list>
             <#else >
-                <option value ="">暂无软件版本,请先添加软件版本</option>
+                <option value ="">暂无批次,请先添加批次</option>
             </#if>
             </select>
         </div>
         <div class="input-box">
+            <span class="input-dic spanhidth">软件版本:</span>
+            <span class="input-dic spanhidth" id="softwareVersionNo" style="width: 76%;text-align: left;padding-left: 10px;    margin-bottom: 10px;height: 30px;"></span>
+        <#-- <input class="my-input" type="text" style="width: 76%;"  name="machineLine" id="machineLine" value="A1"/>-->
+        <#--<select class="my-select" name="versionId" id="versionId">
+        <#if (listVersion ?size > 0)>
+            <#list listVersion as list>
+                <option value ="${list.machineVersionId}">${list.machineVersionName}</option>
+            </#list>
+        <#else >
+            <option value ="">暂无软件版本,请先添加软件版本</option>
+        </#if>
+        </select>-->
+        </div>
+        <div class="input-box">
             <span class="input-dic spanhidth">Bom单:</span>
-            <select class="my-select" name="bomId" id="bomId">
-        <#if listBom??>
-            <#if (listBom ?size > 0)>
-                <#list listBom as list>
-                    <option value ="${list.bomId}">${list.bomName}</option>
-                </#list>
+            <span class="input-dic spanhidth" id="bomName" style="width: 76%;text-align: left;padding-left: 10px;    margin-bottom: 15px;height: 30px;"></span>
+        <#--<select class="my-select" name="bomId" id="bomId">
+            <#if listBom??>
+                <#if (listBom ?size > 0)>
+                    <#list listBom as list>
+                        <option value ="${list.bomId}">${list.bomName}</option>
+                    </#list>
+                <#else >
+                    <option value ="">暂无Bom,请先添加Bom单</option>
+                </#if>
             <#else >
                 <option value ="">暂无Bom,请先添加Bom单</option>
             </#if>
-        <#else >
-            <option value ="">暂无Bom,请先添加Bom单</option>
-        </#if>
-            </select>
+        </select>-->
         </div>
         <div class="input-box">
             <span class="input-dic" style="margin-top: 0">是否翻新机:</span>
@@ -80,7 +83,9 @@
             </label>
         </div>
 
-        <div class="input-box"><span class="input-dic spanhidth">拉线:</span><input class="my-input" type="text" style="width: 76%;"  name="machineLine" id="machineLine" value="A1"/> </div>
+        <div class="input-box"><span class="input-dic spanhidth">拉线:</span>
+            <input class="my-input" type="text" style="width: 76%;"  name="machineLine" id="machineLine" value="A1"/>
+        </div>
         <div class="input-box"><span class="input-dic spanhidth">机器数量:</span><input class="my-input" type="text" style="width: 76%;"  name="number" id="number" value="4" placeholder="每次最少生成一个机器"/> </div>
         <div class="input-box">如果遇到批次,软件版本,BOM不清晰时,请联系POA(刘经理)</div>
 
@@ -89,27 +94,38 @@
             <input id="sumbit" class="btn btn-primary radius" type="button" value="&nbsp;&nbsp;提交&nbsp;&nbsp;" onclick="admin_add()">
         </div>
 
-	</form>
+    </form>
 </div>
 <#--<script type="text/javascript" src="${path}/common/admin/js/tips.js"></script>-->
 <script type="text/javascript">
 
+    $(function(){
+        var version = $("#batchId").find("option:selected").attr("softwareVersionNo");
+        var bomName = $("#batchId").find("option:selected").attr("bomName");
+        $("#softwareVersionNo").html(version);
+        $("#bomName").html(bomName);
+    })
+
     /*监听批次修改Bom  bom单*/
     $("#batchId").change(function(){
         var batchId = $(this).val();
-        getBom(batchId);
+        var version = $("#batchId").find("option:selected").attr("softwareVersionNo");
+        var bomName = $("#batchId").find("option:selected").attr("bomName");
+        $("#softwareVersionNo").html(version);
+        $("#bomName").html(bomName);
+        //getBom(batchId);
     });
 
 
     /*获取bom信息,赋值在页面上*/
-    function getBom(batchId){
-        var bom = new Object();
-        $.ajax({
-            type: "POST",
-            data: {
-                batchId : batchId
-            },
-            url: "${path}/admin/machine/select_bom",
+    /* function getBom(batchId){
+         var bom = new Object();
+         $.ajax({
+             type: "POST",
+             data: {
+                 batchId : batchId
+             },
+             url: "${path}/admin/machine/select_bom",
             async: false,
             success: function(data){
                 if (data.returnCode == 200) {
@@ -128,79 +144,79 @@
             });
 
         }
+    }*/
+
+    function dataCharm() {
+
+        var batchId = $("#batchId").val();
+        if(batchId == null || batchId == "" || typeof(batchId)=="undefined"){
+            layer.msg("必须选择一个批次,没有批次请到批次列表添加批次",{icon: 5,time:3000});
+            return false;
+        }
+
+//         var versionId = $("#versionId").val();
+//         if(versionId == null || versionId == "" || typeof(versionId)=="undefined"){
+//             layer.msg("必须选择一个软件版本,没有软件版本请到产品列表中添加软件版本",{icon: 5,time:3000});
+//             return false;
+//         }
+
+//        var bomId = $("#bomId").val();
+//         if(bomId == null || bomId == "" || typeof(bomId)=="undefined"){
+//             layer.msg("必须选择一个Bom单,没有Bom单请到Bom单列表添加Bom单",{icon: 5,time:3000});
+//             return false;
+//         }
+
+        var machineLine = $("#machineLine").val();
+        if(machineLine == null || machineLine == "" || typeof(machineLine)=="undefined"){
+            layer.msg("拉线不能为空",{icon: 5,time:3000});
+            return false;
+        }
+        var number = $("#number").val();
+        if(number == null || number == "" || typeof(number)=="undefined"){
+            layer.msg("数量不能为空",{icon: 5,time:3000});
+            return false;
+        }
+        if(number == 0){
+            layer.msg("数量不能小于1",{icon: 5,time:3000});
+            return false;
+        }
+        if(1 > number.length > 5){
+            layer.msg("数量长度为2-10位",{icon: 5,time:3000});
+            return false;
+        }
+        return true;
     }
 
- function dataCharm() {
-
-         var batchId = $("#batchId").val();
-         if(batchId == null || batchId == "" || typeof(batchId)=="undefined"){
-             layer.msg("必须选择一个批次,没有批次请到批次列表添加批次",{icon: 5,time:3000});
-             return false;
-         }
-
-         var versionId = $("#versionId").val();
-         if(versionId == null || versionId == "" || typeof(versionId)=="undefined"){
-             layer.msg("必须选择一个软件版本,没有软件版本请到产品列表中添加软件版本",{icon: 5,time:3000});
-             return false;
-         }
-
-        var bomId = $("#bomId").val();
-         if(bomId == null || bomId == "" || typeof(bomId)=="undefined"){
-             layer.msg("必须选择一个Bom单,没有Bom单请到Bom单列表添加Bom单",{icon: 5,time:3000});
-             return false;
-         }
-
-         var machineLine = $("#machineLine").val();
-         if(machineLine == null || machineLine == "" || typeof(machineLine)=="undefined"){
-             layer.msg("拉线不能为空",{icon: 5,time:3000});
-             return false;
-         }
-         var number = $("#number").val();
-         if(number == null || number == "" || typeof(number)=="undefined"){
-             layer.msg("数量不能为空",{icon: 5,time:3000});
-             return false;
-         }
-     if(number == 0){
-         layer.msg("数量不能小于1",{icon: 5,time:3000});
-         return false;
-     }
-         if(1 > number.length > 5){
-             layer.msg("数量长度为2-10位",{icon: 5,time:3000});
-             return false;
-         }
-         return true;
- }
-
-/*机器-添加*/
-function admin_add(){
-   		  var msg = dataCharm();
-   		  if(msg){
-              $("#submit").attr("disabled","disabled");
-              layer.msg('加载中', {icon: 16,time:500000});
-              $.ajax({
-                  url: '${path}/admin/machine/add_renovationMachine',
-                  type: "POST",
-                  dataType: "json",
-                  data: $("#form-admin-add").serialize(),
-                  success:  function(data){
-                      layer.msg('加载中', {icon: 16});
-                      $("#submit").removeAttr("disabled");
-                      if(data.returnCode){
-                          layer.msg("添加成功",{icon: 1,time:3000});
-                              window.parent.location.reload();
-                              var index = parent.layer.getFrameIndex(window.name);
-                              parent.layer.close(index);
-
-                      }else{
-                          layer.msg("添加失败",{icon: 5,time:3000});
-                      }
-                  },
-                  error:function(data){
-                      layer.msg("添加失败",{icon: 5,time:3000});
-                  }
-              });
-		  }
-}
+    /*机器-添加*/
+    function admin_add(){
+        var msg = dataCharm();
+        if(msg){
+            $("#submit").attr("disabled","disabled");
+            layer.msg('加载中', {icon: 16,time:500000});
+            $.ajax({
+                url: '${path}/admin/machine/add_renovationMachine',
+                type: "POST",
+                dataType: "json",
+                data: $("#form-admin-add").serialize(),
+                success:  function(data){
+                    layer.msg('加载中', {icon: 16});
+                    $("#submit").removeAttr("disabled");
+                    if(data.returnCode){
+                        layer.msg("添加成功",{icon: 1,time:3000});
+                        window.parent.location.reload();
+                        var index = parent.layer.getFrameIndex(window.name);
+                        parent.layer.close(index);
+
+                    }else{
+                        layer.msg("添加失败",{icon: 5,time:3000});
+                    }
+                },
+                error:function(data){
+                    layer.msg("添加失败",{icon: 5,time:3000});
+                }
+            });
+        }
+    }
 </script>
 </body>
 </html>

+ 130 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/pts/softwareVersion/software_version_add.ftl

@@ -0,0 +1,130 @@
+<!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/add_base.ftl">
+    <link href="${path }/common/kingedit/themes/default/default.css" rel="stylesheet" type="text/css" />
+<title>添加软件版本</title>
+</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>
+<article class="page-container" style="padding: 10px;width: 600px;margin: 0 auto;">
+	<form action="" method="post" class="form form-horizontal" id="form-parts-add">
+
+        <input type="hidden" name="machineVersionType" id="machineVersionType" value="1">
+
+        <div class="row cl">
+            <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>所属产品:</label>
+            <div class="formControls col-xs-8 col-sm-9"> <span class="select-box">
+				<select class="select" size="1" name="produceId" id="produceId">
+                <#if (produceList ?size > 0)>
+                    <#list produceList as list>
+                        <option value ="${list.produceId}">${list.produceName}</option>
+                    </#list>
+                <#else >
+                    <option value ="">暂无产品,请到生产产品列表添加产品</option>
+                </#if>
+				</select>
+				</span> </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="machineVersionNo" name="machineVersionNo" placeholder="请输入1-10位版本号,支持英文、数字组合">
+			</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="machineVersionName" name="machineVersionName" placeholder="请输入1-30位的名称,支持中文、字母、数字">
+            </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">
+                <textarea name="machineVersionContent" id="machineVersionContent" cols="" rows="" class="textarea"  placeholder="请详细描述本次版本更新内容,较上次修复内容" onKeyUp="$.Huitextarealength(this,300)"></textarea>
+                <p class="textarea-numberbar"><em class="textarea-length">0</em>/300</p>
+            </div>
+        </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>
+		</div>
+	</form>
+</article>
+<script type="text/javascript">
+    $(function(){
+	$('.skin-minimal input').iCheck({
+		checkboxClass: 'icheckbox-blue',
+		radioClass: 'iradio-blue',
+		increaseArea: '20%'
+	});
+	
+	$("#form-parts-add").validate({
+		rules:{
+            produceId:{
+                required:true
+            },
+            machineVersionNo:{
+				required:true,
+				minlength:2,
+				maxlength:10
+			},
+            machineVersionName:{
+				required:true,
+                minlength:2,
+                maxlength:30
+			},
+            machineVersionContent:{
+				required:true,
+                minlength:1,
+                maxlength:300
+			}
+		},
+		onkeyup:false,
+		focusCleanup:true,
+		success:"valid",
+		submitHandler:function(form){
+
+            $.ajax({
+                cache: true,
+                type: "POST",
+                data: $("#form-parts-add").serialize(),
+                url: "${path}/admin/softwareVersion/add_machineVersion",
+                async: false,
+                success: function(data){
+                    if (data.returnCode == 200) {
+                        layer.msg('添加成功!', {icon: 1, time: 2000});
+                        window.location.href = document.referrer;
+                    }else{
+                        layer.msg('添加失败!', {icon: 2, time: 2000});
+                    }
+                },
+                error: function(XmlHttpRequest, textStatus, errorThrown){
+                    layer.msg('添加失败!', {icon: 2, time: 2000});
+                }
+            });
+
+		}
+	});
+});
+</script> 
+<!--/请在上方写此页面业务相关的脚本-->
+</body>
+</html>

+ 85 - 66
watero-rst-web/src/main/webapp/WEB-INF/views/pts/softwareVersion/software_version_list.ftl

@@ -8,28 +8,15 @@
     <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">
+<#include "/base/list_base.ftl">
     <title>软件版本列表</title>
     <style>
-        .chanpin-list{margin: 0;padding: 10px;list-style-type: none;}
-        .chanpin-list>li{display: table-cell;width: 230px;border-left: 1px solid rgba(0,0,0,.1);border-bottom: 1px solid rgba(0,0,0,.1);background-color: #fff;position: relative;border-right: 30px solid transparent;padding-bottom: 30px;}
-        .chanpin-list>li:after{content: '';position: absolute;right: 0;width: 1px;height: 100%;background-color: #ccc;-webkit-transform:scaleX(.5);  top:0;}
-        .chanpin-list>li .title{background-color: #32a3d8;text-align: center;color: #fff;padding: 12px 0;}
-        .chanpin-list>li .title>span{padding:3px 3px 3px 28px;background: url(${path}/common/images/pts/jiqi-1.png) left center no-repeat;background-size:auto 80%;}
-        .items-list{margin: 0;padding: 20px 25px;list-style: none;}
-        .items-list>li{margin: 12px 0;font-size: 13px;position: relative;padding-left: 13px;color: #666;}
-        .items-list>li:after{content: '';position: absolute;left: 0;top: 5px;width: 5px;height: 5px;border-radius: 50%;border: 1px solid #32a3d8;}
-        .my-btn-edit{padding: 6px 20px;background-color: #fff;color: #32a3d8;border: 1px solid #32a3d8;cursor:pointer;display: block;
-            width: 100px;
-            left: 50%;
-            position: absolute;bottom: 10px;margin-left: 5px;}
-        .my-btn-select{padding: 6px 20px;background-color: #fff;color: #32a3d8;border: 1px solid #32a3d8;cursor:pointer;display: block;
-            width: 60%;
-            position: absolute;bottom: 10px;    margin-left: 20%;text-align: center;}
-        .chanpin-list>.li-add{width: 230px;height: 280px;text-align: center;display: table;padding-top: 55px;position: relative;cursor:pointer;}
-        .chanpin-list>.li-add:before{content: '';width: 5px;height: 80px; position: absolute;left: 50%;top: 90px;background-color: #32a3d8;border-radius: 50px;}
-        .chanpin-list>.li-add:after{content: '';height: 5px;width: 80px;position: absolute;left: 75px;top: 128px;background-color: #32a3d8;border-radius: 50px;-webkit-transform:scaleX(1);}
-        .chanpin-list>.li-add>div{display: table-cell;vertical-align: middle;height: 100%;width: 100%;text-align: center;color: #32a3d8;}
+        *{padding: 0;margin: 0;}
+        .my-input{border: 1px solid rgba(0,0,0,.1);padding: 1px 5px;height: 32px;margin-right: 10px;}
+        .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(${path}/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(${path}/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(${path}/common/images/pts/radio-2.png) center center no-repeat;background-size:auto 100%;width: 20px;height: 20px;margin-right: 10px;}
     </style>
@@ -38,65 +25,97 @@
 <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;" href="javascript:location.replace(location.href);" title="刷新" ><i class="Hui-iconfont">&#xe68f;</i></a>
+    <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">
-
-        <ul class="chanpin-list">
-
-        <#list resultList as produce>
-            <li>
-                <div class="title" <#if produce.produceStatus == 0>style="background-color: #ccc;"</#if>>
-                    <span>${produce.produceName!}</span>
-                </div>
-                <ul class="items-list">
-                    <#list produce.process as process>
-                        <li>${process.processName!}</li>
-                    </#list>
-                </ul>
-                <#--<button type="button" onclick="updateProduce(${produce.produceId!})" class="my-btn-edit">编辑流程</button>-->
-                <div>
-                    <button type="button" onclick="selectVersion('${produce.produceId!}','${produce.produceName!}')" class="my-btn-select">软件版本</button>
-                </div>
-            </li>
-        </#list>
-           <#-- <div class="li-add">
-                <div>添加产品</div>
-            </div>-->
-        </ul>
-    <div>
-
+    <div class="text-c" >
+        <form action="${path}/admin/softwareVersion/_software_version_list" method="post" >
+            <button type="button" style="cursor:pointer; float: left;" class="my-btn-search" onclick="toAddMachineVersion();">增加软件版本</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="${machineVersionNo!}" placeholder="版本号" id="machineVersionNo" name="machineVersionNo">
+            <input type="text" class="my-input"  style="width:150px" value="${machineVersionName!}" placeholder="软件版本名称" id="machineVersionName" name="machineVersionName">
+            <button type="submit" class="my-btn-search" style="cursor:pointer;" id="" name=""><i class="Hui-iconfont">&#xe665;</i> 搜索</button>
+           <#-- <input class="my-btn-search" style="cursor:pointer;" data-loading-text="请勿重复提交" type="button" value="上传Excel" onClick="upFiles()">
+            <button type="button" style="cursor:pointer;" class="my-btn-search" onclick="downloadExcel();">下载模板</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">
+                <th hidden="hidden" width="50">软件版本id</th>
+                <th width="30">所属产品</th>
+                <th width="30">版本号</th>
+                <th width="60">版本名称</th>
+                <th width="200">更新内容</th>
+                <th width="45">创建时间</th>
+                <th width="10">操作</th>
+            </tr>
+            </thead>
+            <tbody>
+            <#if page.dataList?? &&  (page.dataList?size > 0) >
+                <#list page.dataList as ptsMachineVersion>
+                <tr class="text-c">
+                    <td hidden="hidden">${ptsMachineVersion.machineVersionId!''}</td>
+                    <td>${ptsMachineVersion.produceName!''}</td>
+                    <td>${ptsMachineVersion.machineVersionNo!''}</td>
+                    <td>${ptsMachineVersion.machineVersionName!''}</td>
+                    <td>
+                        <#if (ptsMachineVersion.machineVersionContent?length > 80)>
+                            ${ptsMachineVersion.machineVersionContent?substring(0,80)}
+                        <#else>
+                             ${ptsMachineVersion.machineVersionContent}
+                        </#if>
+                    </td>
+                    <td>${(ptsMachineVersion.machineVersionCreateTime?string("yyyy-MM-dd HH:mm:ss"))!''}</td>
+                    <td>
+                        <a style="text-decoration:none" href="javascript:void(0);" title="编辑" onclick="admin_update_machineVersion(${ptsMachineVersion.machineVersionId!''})">
+                            <i class="Hui-iconfont">&#xe6df;</i>
+                        </a>&nbsp;
+                    </td>
+                </tr>
+                </#list>
+            <#else>
+            <tr><td colspan="11" class="td-manage text-c" >暂时没有软件版本,请添加!</td></tr>
+            </#if>
+            </tbody>
+        </table>
+    </div>
 </div>
-<#--<#include "/base/page_util.ftl">-->
-<script type="text/javascript" src="${path}/common/lib/ueditor/1.4.3/ueditor.config.js"></script>
-<script type="text/javascript" src="${path}/common/lib/ueditor/1.4.3/ueditor.all.min.js"> </script>
-<script type="text/javascript" src="${path}/common/lib/ueditor/1.4.3/lang/zh-cn/zh-cn.js"></script>
-<script type="text/javascript">
-    $(function(){
-       $(".li-add").click(function () {
-           window.location.href= "${path}/admin/produce/to_save_produce";
-       })
-    })
-
+<tfoot>
+<#include "/base/page_util.ftl">
+</tfoot>
+<script>
     /**
-     * 跳转到修改页面
-     * @param produceId
+     * 跳转到添加bom页面
      */
-    function updateProduce(produceId){
-        window.location.href= "${path}/admin/produce/to_update_produce?produceId="+ produceId;
+    function toAddMachineVersion(){
+        window.location.href= "${path}/admin/softwareVersion/_to_add_version";
     }
 
     /**
-     * 查询版本列表
-     * @param produceId
+     *跳转到编辑页面
+     * @param employee
      */
-    function selectVersion(produceId,produceName){
-        window.location.href= "${path}/admin/machineVersion/_version_list?produceId="+ produceId+"&produceName="+encodeURI(produceName);
+    function admin_update_machineVersion(machineVersionId) {
+        window.location.href= "${path}/admin/softwareVersion/_to_update_version?machineVersionId="+machineVersionId;
     }
 
-</script>
 
+    /**
+     * 下载模板
+     */
+    function downloadExcel(){
+        window.location.href= "${path}/common/images/uploadExcel/Bom单上传模板.xls";
+    }
+</script>
 </body>
 </html>

+ 148 - 0
watero-rst-web/src/main/webapp/WEB-INF/views/pts/softwareVersion/software_version_update.ftl

@@ -0,0 +1,148 @@
+<!--_meta 作为公共模版分离出去-->
+<!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/add_base.ftl">
+    <link href="${path }/common/kingedit/themes/default/default.css" rel="stylesheet" type="text/css" />
+<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(${path}/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(${path}/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(${path}/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>
+<article class="page-container" style="padding: 10px;width: 600px;margin: 0 auto;">
+	<form action="" method="post" class="form form-horizontal" id="form-parts-add">
+
+        <div class="row cl">
+            <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>所属产品:</label>
+            <div class="formControls col-xs-8 col-sm-9"> <span class="select-box">
+				<select class="select" size="1" name="produceId" id="produceId">
+                <#if (produceList ?size > 0)>
+                    <#list produceList as list>
+                        <option value ="${list.produceId}" <#if ptsMachineVersion.produceId == list.produceId>selected</#if>>${list.produceName}</option>
+                    </#list>
+                <#else >
+                    <option value ="">暂无产品,请到生产产品列表添加产品</option>
+                </#if>
+				</select>
+				</select>
+				</span> </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="${ptsMachineVersion.machineVersionNo}"  id="machineVersionNo" name="machineVersionNo" placeholder="请输入1-10位版本号,支持英文、数字组合">
+			</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="${ptsMachineVersion.machineVersionName}"  id="machineVersionName" name="machineVersionName" placeholder="请输入1-30位的名称,支持中文、字母、数字">
+            </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">
+                <textarea name="machineVersionContent" id="machineVersionContent" cols="" rows="" class="textarea"  placeholder="请详细描述本次版本更新内容,较上次修复内容" onKeyUp="$.Huitextarealength(this,300)">${ptsMachineVersion.machineVersionContent}</textarea>
+                <p class="textarea-numberbar"><em class="textarea-length">0</em>/300</p>
+            </div>
+        </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;">
+                <input type="hidden" value="${ptsMachineVersion.produceId!''}" id="oldProduceId">
+                <input type="hidden" value="${ptsMachineVersion.machineVersionId!''}" name="machineVersionId" id="machineVersionId">
+			</div>
+		</div>
+	</form>
+</article>
+<script type="text/javascript" src="${path}/common/kingedit/kindeditor.js"></script>
+<script type="text/javascript" src="${path}/common/kingedit/lang/zh_CN.js"></script>
+<script type="text/javascript">
+
+
+
+    $(function(){
+	$('.skin-minimal input').iCheck({
+		checkboxClass: 'icheckbox-blue',
+		radioClass: 'iradio-blue',
+		increaseArea: '20%'
+	});
+	
+	$("#form-parts-add").validate({
+		rules:{
+            produceId:{
+                required:true
+            },
+            machineVersionNo:{
+				required:true,
+				minlength:2,
+				maxlength:10
+			},
+            machineVersionName:{
+				required:true,
+                minlength:2,
+                maxlength:30
+			},
+            machineVersionContent:{
+				required:true,
+                minlength:1,
+                maxlength:300
+			}
+		},
+		onkeyup:false,
+		focusCleanup:true,
+		success:"valid",
+		submitHandler:function(form){
+            $.ajax({
+                cache: true,
+                type: "POST",
+                data: $("#form-parts-add").serialize(),
+                url: "${path}/admin/softwareVersion/update_version",
+                async: false,
+                success: function(data){
+                    if (data.returnCode == 200) {
+                        layer.msg('修改成功!', {icon: 1, time: 2000});
+                        /*window.location.href = '${path}/admin/machineVersion/version_list?produceId='+$("#oldProduceId").val();*/
+                        window.location.href = document.referrer;
+                    }else{
+                        layer.msg(data.resultMsg, {icon: 2, time: 2000});
+                    }
+                },
+                error: function(XmlHttpRequest, textStatus, errorThrown){
+                    layer.msg('添加失败!', {icon: 2, time: 2000});
+                }
+            });
+
+		}
+	});
+});
+</script> 
+<!--/请在上方写此页面业务相关的脚本-->
+</body>
+</html>