Jelajahi Sumber

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

liujiankang 7 tahun lalu
induk
melakukan
ff51426506

+ 2 - 1
watero-rst-core/src/main/java/com.iamberry.rst.core/pts/PtsEmployee.java

@@ -27,7 +27,8 @@ public class PtsEmployee implements Serializable{
 
     private String employeePost; //员工岗位
     private String employeeDesc; //员工备注
-    private Integer employeeClearPower; //是否拥有清除权限 0:否 1:是
+    private Integer employeeClearPower; //是否拥有清除权限    1 没有清除权限 0 是有清除权限的
+
     private Date employeeCreateTime; //创建时间
     private Date employeeUpdateTime; //修改时间
 

+ 12 - 4
watero-rst-service/src/main/java/com/iamberry/rst/service/pts/ProduceServiceImpl.java

@@ -75,12 +75,15 @@ public class ProduceServiceImpl implements ProduceService {
     //添加产品
     @Transactional
     public Integer saveProduce(Produce produce){
-        produce.setProduceNo(ProduceNoUtil.getProduceNo(produceMapper));
-        produce.setProduceStatus(1);
+        if(0 == produce.getProduceStatus()){
+            produce.setProduceNo(ProduceNoUtil.NO_NUMBER);
+        }else{
+            produce.setProduceNo(ProduceNoUtil.getProduceNo(produceMapper));
+        }
         int flag = produceMapper.saveProduce(produce);
         Integer produceId = produce.getProduceId(); // 获取产品主键
 
-        int sort = 0;   //专用排序字段
+        int sort = 1;   //专用排序字段
         for (int i=0; i<produce.getProcess().size();i++){
             produce.getProcess().get(i).setProduceId(produceId);    //产品id
             produce.getProcess().get(i).setProcessNo(ProduceNoUtil.getProcessNo(i));  //工序编号
@@ -127,6 +130,11 @@ public class ProduceServiceImpl implements ProduceService {
      */
     @Transactional
     public Integer updateProduce(Produce produce,String delProcessIds,String delNodeIds){
+        if(0 == produce.getProduceStatus()){
+            produce.setProduceNo(ProduceNoUtil.NO_NUMBER);
+        }else{
+            produce.setProduceNo(ProduceNoUtil.getProduceNo(produceMapper));
+        }
         //修改产品
         int flag = produceMapper.updateProduce(produce);
 
@@ -143,7 +151,7 @@ public class ProduceServiceImpl implements ProduceService {
 
         Integer produceId = produce.getProduceId();
 
-        int sort = 0;   //专用排序字段
+        int sort = 1;   //专用排序字段
 
         List<ProduceProcess> updateProcessList = new ArrayList<ProduceProcess>();
         List<ProcessNode> updateNodeList = new ArrayList<ProcessNode>();

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

@@ -193,21 +193,18 @@
             <if test="produceNo !=null and produceNo !=''">
                 produce_no = #{produceNo},
             </if>
-            <if test="produceType !=null and produceType !=''">
+            <if test="produceType !=null">
                 produce_type = #{produceType},
             </if>
             <if test="produceName !=null and produceName !=''">
                 produce_name = #{produceName},
             </if>
-            <if test="produceStatus !=null and produceStatus !=''">
+            <if test="produceStatus !=null">
                 produce_status = #{produceStatus},
             </if>
             <if test="produceRemake !=null and produceRemake !=''">
                 produce_remake = #{produceRemake},
             </if>
-            <if test="produceType !=null and produceType !=''">
-                produce_type = #{produceType},
-            </if>
         </set>
         WHERE
             produce_id = #{produceId}

+ 4 - 1
watero-rst-service/src/main/java/com/iamberry/rst/util/ProduceNoUtil.java

@@ -19,7 +19,10 @@ public class ProduceNoUtil {
             "a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"};
 
     //已删除的产品,工序的编号为#
-    private final static  String NO_NUMBER = "#";
+    public final static  String NO_NUMBER = "#";
+
+    private ProduceNoUtil() {
+    }
 
     /**
      * 获取产品编号

+ 13 - 5
watero-rst-web/src/main/webapp/WEB-INF/views/base/page_util.ftl

@@ -35,18 +35,26 @@
                 <a href="${path}${url}${page.pageNo-1}" class="aBtn bold">上一页</a>
             </#if>
         </span>
-        <#if page.pages lte 6>
+        <#if page.pages lte 5>
             <#assign begin=1/>
             <#assign end=page.pages/>
         <#else>
             <#assign begin=(page.pageNo - 2)/>
             <#assign end=(page.pageNo + 3)/>
-            <#if begin lt 1>
+            <#if begin lt 2>
                 <#assign begin=1/>
-                <#assign end=1/>
+                <#assign end=5/>
             <#else>
-                <#assign begin=(page.pages - 5)/>
-                <#assign end=(page.pages)/>
+                <#if (page.pageNo + 2) lte page.pages>
+                    <#assign begin=(page.pageNo - 2)/>
+                    <#assign end=(page.pageNo + 2)/>
+                <#elseif (page.pageNo + 1) lte page.pages>
+                    <#assign begin=(page.pageNo - 3)/>
+                    <#assign end=(page.pageNo + 1)/>
+                <#else>
+                    <#assign begin=(page.pageNo - 4)/>
+                    <#assign end=(page.pages)/>
+                </#if>
             </#if>
         </#if>
 

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

@@ -23,14 +23,14 @@
 <div class="page-container">
     <div class="text-c">
         <form action="${path}/admin/employee/_employee_list" method="post">
-            <button type="button" style="cursor:pointer;" class="my-btn-search" onclick="toAddEmployee();">增加员工</button>
+            <button type="button" style="cursor:pointer; float: left;" class="my-btn-search" onclick="toAddEmployee();">增加员工</button>
             <input type="text" class="input-text" style="width:150px" value="${employeeNo!}" placeholder="员工编号" id="employeeNo" name="employeeNo">
             <input type="text" class="input-text" style="width:150px" value="${employeeName!}" placeholder="员工姓名" id="employeeName" name="employeeName">
             <input type="text" class="input-text" style="width:150px" value="${employeeTel!}" placeholder="员工电话" id="employeeTel" name="employeeTel">
             <select class="select" name="employeeState" style="height: 30px;width: 150px">
                 <option value ="">全部</option>
-                <option value ="0" <#if employeeState??><#if employeeState == "0">selected="selected"</#if></#if>>停止使用</option>
-                <option value ="1" <#if employeeState??><#if employeeState == "1">selected="selected"</#if></#if>>正常使用</option>
+                <option value ="1" <#if employeeState??><#if employeeState == "1">selected="selected"</#if></#if>>在职</option>
+                <option value ="0" <#if employeeState??><#if employeeState == "0">selected="selected"</#if></#if>>离职</option>
             </select>
             <button type="submit" class="btn" style="background: #32a3d8;color: #fff;-webkit-transform:translateY(-5%);" id="" name=""><i class="Hui-iconfont">&#xe665;</i> 搜索</button>
         </form>
@@ -39,10 +39,10 @@
     <div class="mt-20">
         <table class="table table-border table-bordered table-bg table-hover table-sort">
         <thead>
-        <tr>
+       <#-- <tr>
             <th scope="col" colspan="18">员工列表</th>
-            <#--<th scope="col" colspan="2">共有数据:<strong>#{page.total}</strong> 条</th>-->
-        </tr>
+        &lt;#&ndash;<th scope="col" colspan="2">共有数据:<strong>#{page.total}</strong> 条</th>&ndash;&gt;
+        </tr>-->
         <tr class="text-c">
             <th width="80">员工编号</th>
             <th width="100">员工姓名</th>

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

@@ -34,28 +34,28 @@
     <form class="form form-horizontal" id="form-admin-addEmployee">
         <div style="padding: 10px;width: 600px;margin: 0 auto;">
             <div class="my-title">员工信息</div>
-            <div class="input-box"><span class="input-dic">员工编号</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>&nbsp;&nbsp;<input class="my-input" name="employeeName" type="text" value="" placeholder="请输入员工姓名" required   maxlength="20" /> </div>
-            <div class="input-box"><span class="input-dic">员工电话</span>&nbsp;&nbsp;<input class="my-input" name="employeeTel" id="employeeTel" type="text" value="" placeholder="请输入员工手机号码" required   maxlength="11" minlength="11" /><span style="color: red;" id="employeeTelMsg"></span> </div>
+            <div class="input-box"><span class="input-dic">员工编号</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>&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>&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>&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>
+                <input type="radio" id="employeeState2" name="employeeState" value="0"/><label for="employeeState2">职</label>
             </div>
             <div class="input-box"><span class="input-dic">清空卡权限</span>
-                <input type="radio" id="employeeClearPower1" name="employeeClearPower" value="1" /><label for="employeeClearPower1">具有</label>
-                <input type="radio" id="employeeClearPower2" name="employeeClearPower" value="0" checked /><label for="employeeClearPower2">不具有</label>
+                <input type="radio" id="employeeClearPower1" name="employeeClearPower" value="0" /><label for="employeeClearPower1">具有</label>
+                <input type="radio" id="employeeClearPower2" name="employeeClearPower" value="1" checked /><label for="employeeClearPower2">不具有</label>
             </div>
 
             <div class="input-box"><span class="input-dic">入职日期</span>&nbsp;&nbsp;<input class="my-input-date" type="text" name="employeeEntryDate" id="employeeEntryDate" value="" placeholder="请选择入职日期" onclick="WdatePicker({skin:'whyGreen'})"  readonly="readonly" /> </div>
-            <div class="input-box" id="isDeparture"><span class="input-dic">离职日期</span>&nbsp;&nbsp;<input class="my-input-date" type="text" name="employeeDepartureDate" id="employeeDepartureDate" value="" placeholder="请选择离职日期"  onclick="WdatePicker({ dateFmt:'yyyy-MM-dd',minDate:'#F{$dp.$D(\'employeeEntryDate\')||\'%y-%M-%d\'}' })"  readonly="readonly"/> <span style="color: red;" id="employeeDepartureDateMsg"></span></div>
-            <div class="input-box"><span class="input-dic">员工岗位</span>&nbsp;&nbsp;<input class="my-input" type="text" name="employeePost" value="" placeholder="请输入员工岗位" required   maxlength="100"/> </div>
+            <div class="input-box" id="isDeparture"><span class="input-dic">离职日期</span>&nbsp;&nbsp;<input class="my-input-date" type="text" name="employeeDepartureDate" id="employeeDepartureDate" value="" placeholder="请选择离职日期"  onclick="WdatePicker({ dateFmt:'yyyy-MM-dd',skin:'whyGreen',minDate:'#F{$dp.$D(\'employeeEntryDate\')||\'%y-%M-%d\'}' })"  readonly="readonly"/></div>
+            <div class="input-box"><span class="input-dic">员工岗位</span>&nbsp;&nbsp;<input class="my-input" type="text" name="employeePost" id="employeePost" value="" placeholder="请输入2-20位中文、英文字符描述" required   maxlength="20"  /> </div>
 
             <div style="clear: both;"></div>
             <div class="input-box"><span class="input-dic">员工备注</span>&nbsp;&nbsp;
-                <textarea rows="3" cols="20" class="my-textarea" name="employeeDesc" ></textarea>
+                <textarea rows="3" cols="20" class="my-textarea" name="employeeDesc" id="employeeDesc"  maxlength="200" msg="员工备注" ></textarea>
             </div>
             <div>
-                <button type="reset" class="my-btn-reset">重置</button><button type="submit" class="my-btn-submit">确认提交</button>
+                <button type="reset" class="my-btn-reset">重置</button><button type="submit" class="my-btn-submit" >确认提交</button>
             </div>
         </div>
     </form>
@@ -66,44 +66,69 @@
     $(document).on('click', '.menuSubid input[type=radio]', function() {
         isSelectShow($(this).val())
     })
+    var check_name = /^[a-zA-Z0-9\u4e00-\u9fa5]+$/;
+    var cnen_name = /^[a-zA-Z\u4e00-\u9fa5]+$/;
+    var china_name = /^[\u4e00-\u9fa5]+$/;
 
-  /*  $(function(){
-        $("#form-admin-addEmployee").validate({
-            rules:{
-                subName:{
-                    required:true,
-                    minlength:4,
-                    maxlength:30
+    $(function(){
+        //var validator = $("#form-admin-addEmployee").validate();
+        $("#form-admin-addEmployee").submit(function(){
+            if(!ptsValiDataEmNo()){
+                return false;
+            };
+
+            var employeeName = $("#employeeName").val();
+            if(!(china_name.test(employeeName))){
+                layer.msg('员工姓名格式不正确', {icon: 5, time: 1000});
+                return false;
+            }
+
+            if(!ptsValiDataTel()){
+                return false;
+            };
+
+            if($("#employeeEntryDate").val() == null || $("#employeeEntryDate").val() == ""){
+                layer.msg('入职日期不能为空', {icon: 5, time: 1000});
+                return false;
+            };
+
+            //离职日期
+            var employeeState = $("[name='employeeState']:checked").val();
+            if(employeeState == 0){
+                if($("#employeeDepartureDate").val() == null || $("#employeeDepartureDate").val() == ""){
+                    layer.msg('离职日期不能为空', {icon: 5, time: 1000});
+                    return false;
+                };
+                var employeeEntryDate = $("[name='employeeEntryDate']").val();
+                var employeeDepartureDate = $("[name='employeeDepartureDate']").val();
+                if(!CompareDate(employeeDepartureDate,employeeEntryDate)){
+                    layer.msg('离职日期不能再入职日期之前', {icon: 5, time: 1000});
+                    return false;
                 }
-            },
-            onkeyup:false,
-            focusCleanup:true,
-            success:"valid",
-            submitHandler:function(form){
-                $.post(root_path + "/admin/employee/save_employee", formatJSON(),function(result){
-                    if (result.returnCode != 200 || result.returnCode != 200) {
-                        layer.msg('录入失败,请重试!',{icon: 5,time:3000});
-                    } else {
-                        layer.msg('录入成功!!',{icon: 1,time:2000}, function () {
-                            // 关闭当前页面,并刷新父级页面
-                            window.location.href= '${path}/admin/employee/list_employee';
-                        });
-                    }
-                });
             }
-        });
-    });*/
 
+            var employeePost = $("#employeePost").val();
+            if(!(cnen_name.test(employeePost))){
+                layer.msg('员工岗位格式不正确', {icon: 5, time: 1000});
+                return false;
+            }
+
+            var employeeDesc = $("#employeeDesc").val();
+            if(!(check_name.test(employeeDesc))){
+                layer.msg('员工备注格式不正确', {icon: 5, time: 1000});
+                return false;
+            }
 
-    $(function(){
-        //var validator = $("#form-admin-addEmployee").validate();
-        $("#form-admin-addEmployee").submit(function(){
             ajaxReq();
             return false;
         })
-
     })
 
+    function CompareDate(d1,d2)
+    {
+        return ((new Date(d1.replace(/-/g,"\/"))) > (new Date(d2.replace(/-/g,"\/"))));
+    }
+
     /* ajax请求*/
     function ajaxReq(){
         var data = formatJSON();
@@ -124,17 +149,37 @@
     }
 
 
-    /*实时监听文本框-- 员工编号*/
-    document.getElementById("employeeNo").addEventListener("input", function(){
-        ptsValiDataEmNo(this.value);
-    });
-    /*实时监听文本框-- 手机号码*/
-    document.getElementById("employeeTel").addEventListener("input", function(){
-        ptsValiDataTel(this.value);
-    });
+        /*实时监听文本框-- 员工编号*/
+        document.getElementById("employeeNo").addEventListener("input", function(){
+            ptsValiDataEmNo();
+        });
+//    /*实时监听文本框-- 手机号码*/
+//    document.getElementById("employeeTel").addEventListener("input", function(){
+//        ptsValiDataTel(this.value);
+//    });
+//
+//    /*实时监听文本框-- 员工姓名*/
+//    document.getElementById("employeeName").addEventListener("input", function(){
+//        ptsValiDataTel(this.value);
+//    });
+//    /*实时监听文本框-- 手机号码*/
+//    document.getElementById("employeeTel").addEventListener("input", function(){
+//        ptsValiDataTel(this.value);
+//    });
 
     /*验证编号*/
-    function ptsValiDataEmNo(thVal) {
+    function ptsValiDataEmNo() {
+        var thVal = $("#employeeNo").val();
+
+        if( thVal == null || thVal == "" || typeof(thVal) == "undefined"){
+            return false;
+        }
+
+        if(!(check_name.test(thVal))){
+            layer.msg('员工编码格式不正确', {icon: 5, time: 1000});
+            return false;
+        }
+        var flag = false;
         $.ajax({
             cache: true,
             type: "POST",
@@ -145,33 +190,37 @@
             async: false,
             success: function(data){
                 if (data.returnCode == 200) {
-                    $("#employeeNoMsg").html("该员工编号已存在");
-                    return false;
+                    //$("#employeeNoMsg").html("该员工编号已存在");
+                    layer.msg('该员工编号已存在', {icon: 5, time: 1000});
+                    flag = false;
                 }else{
-                    $("#employeeNoMsg").html("");
-                    return true;
+                    //$("#employeeNoMsg").html("");
+                    flag = true;
                 }
             },
             error: function(XmlHttpRequest, textStatus, errorThrown){
-
+                flag = false;
             }
         });
+        return flag;
     }
 
     /*验证手机号码*/
-    function ptsValiDataTel(thVal) {
+    function ptsValiDataTel() {
+        var thVal = $("#employeeTel").val();
+
         if(!(/^1[34578]\d{9}$/.test(thVal))){
-            $("#employeeTelMsg").html("手机号码错误");
+            //$("#employeeTelMsg").html("手机号码错误");
+            layer.msg('手机号码格式化不正确', {icon: 5, time: 1000});
             return false;
         }else{
-            $("#employeeTelMsg").html("");
+            //$("#employeeTelMsg").html("");
             return true;
         }
     }
 
     /*将表单format为JSON*/
     function formatJSON() {
-        debugger;
         var serializeObj={};
         $($("#form-admin-addEmployee").serializeArray()).each(function(){
             if (this.value != "" && this.value != null) {

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

@@ -35,25 +35,26 @@
         <div style="padding: 10px;width: 600px;margin: 0 auto;">
             <div class="my-title">员工信息</div>
             <input type="hidden" name="employeeId" value="${employee.employeeId!}">
-            <div class="input-box"><span class="input-dic">员工编号</span>&nbsp;&nbsp;<input class="my-input" name="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" type="text" value="${employee.employeeName!}" placeholder="请输入员工姓名" required   maxlength="20" /> </div>
-            <div class="input-box"><span class="input-dic">员工电话</span>&nbsp;&nbsp;<input class="my-input" name="employeeTel" type="text" value="${employee.employeeTel!}" placeholder="请输入员工手机号码" required   maxlength="11" minlength="11" /> </div>
+            <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="20" /> </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 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>
             </div>
             <div class="input-box"><span class="input-dic">清空卡权限</span>
-                <input type="radio" id="employeeClearPower1" name="employeeClearPower" value="1" <#if employee.employeeClearPower == 1>checked</#if>/><label for="employeeClearPower1">具有</label>
-                <input type="radio" id="employeeClearPower2" name="employeeClearPower" value="0" <#if employee.employeeClearPower == 0>checked</#if>/><label for="employeeClearPower2">不具有</label>
+                <input type="radio" id="employeeClearPower1" name="employeeClearPower" value="0" <#if employee.employeeClearPower == 0>checked</#if>/><label for="employeeClearPower1">具有</label>
+                <input type="radio" id="employeeClearPower2" name="employeeClearPower" value="1" <#if employee.employeeClearPower == 1>checked</#if>/><label for="employeeClearPower2">不具有</label>
             </div>
 
-            <div class="input-box"><span class="input-dic">入职日期</span>&nbsp;&nbsp;<input class="my-input-date" type="text" name="employeeEntryDate" value="${(employee.employeeEntryDate?string("yyyy-MM-dd"))!''}" placeholder="请选择入职日期" onclick="WdatePicker({skin:'whyGreen'})" readonly="readonly"/> </div>
-            <div class="input-box" id="isDeparture" style="<#if employee.employeeState == 1>display: none</#if>"><span class="input-dic">离职日期</span>&nbsp;&nbsp;<input class="my-input-date" type="text" name="employeeDepartureDate" value="${(employee.employeeDepartureDate?string("yyyy-MM-dd"))!''}" placeholder="请选择离职日期" onclick="WdatePicker({skin:'whyGreen'})" readonly="readonly"/> </div>
-            <div class="input-box"><span class="input-dic">员工岗位</span>&nbsp;&nbsp;<input class="my-input" type="text" name="employeePost" value="${employee.employeePost!}" placeholder="请输入员工岗位" required   maxlength="100"/> </div>
+            <div class="input-box"><span class="input-dic">入职日期</span>&nbsp;&nbsp;<input class="my-input-date" type="text" name="employeeEntryDate" id="employeeEntryDate" value="${(employee.employeeEntryDate?string("yyyy-MM-dd"))!''}" placeholder="请选择入职日期" onclick="WdatePicker({skin:'whyGreen'})" readonly="readonly"/> </div>
+            <div class="input-box" id="isDeparture" style="<#if employee.employeeState == 1>display: none</#if>"><span class="input-dic">离职日期</span>&nbsp;&nbsp;<input class="my-input-date" type="text" name="employeeDepartureDate" id="employeeDepartureDate" value="${(employee.employeeDepartureDate?string("yyyy-MM-dd"))!''}" placeholder="请选择离职日期" onclick="WdatePicker({ dateFmt:'yyyy-MM-dd',skin:'whyGreen' })" readonly="readonly"/> </div>
+            <div class="input-box"><span class="input-dic">员工岗位</span>&nbsp;&nbsp;<input class="my-input" type="text" name="employeePost" id="employeePost" value="${employee.employeePost!}" placeholder="请输入2-20位中文、英文字符描述" required   maxlength="100"/> </div>
 
             <div style="clear: both;"></div>
             <div class="input-box"><span class="input-dic">员工备注</span>&nbsp;&nbsp;
-                <textarea rows="3" cols="20" class="my-textarea" name="employeeDesc">${employee.employeeDesc!}</textarea>
+                <textarea rows="3" cols="20" class="my-textarea" name="employeeDesc" id="employeeDesc" maxlength="200">${employee.employeeDesc!}</textarea>
             </div>
             <div>
                 <button type="reset" class="my-btn-reset">重置</button><button type="submit" class="my-btn-submit">确认提交</button>
@@ -68,41 +69,76 @@
         isSelectShow($(this).val())
     })
 
-   /* $(function(){
-        $("#form-admin-addEmployee").validate({
-            rules:{
-                subName:{
-                    required:true,
-                    minlength:4,
-                    maxlength:30
-                }
-            },
-            onkeyup:false,
-            focusCleanup:true,
-            success:"valid",
-            submitHandler:function(form){
-                $.post(root_path + "/admin/employee/update_employee", formatJSON(),function(result){
-                    if (result.returnCode != 200 || result.returnCode != 200) {
-                        layer.msg('录入失败,请重试!',{icon: 5,time:3000});
-                    } else {
-                        layer.msg('录入成功!!',{icon: 1,time:2000}, function () {
-                            // 关闭当前页面,并刷新父级页面
-                            window.location.href= '${path}/admin/employee/list_employee';
-                        });
-                    }
-                });
-            }
-        });
-    });*/
+    var check_name = /^[a-zA-Z0-9\u4e00-\u9fa5]+$/;
+    var cnen_name = /^[a-zA-Z\u4e00-\u9fa5]+$/;
+    var china_name = /^[\u4e00-\u9fa5]+$/;
 
     $(function(){
         //var validator = $("#form-admin-addEmployee").validate();
         $("#form-admin-addEmployee").submit(function(){
+
+
+            if(!ptsValiDataEmNo()){
+                return false;
+            };
+            var employeeName = $("#employeeName").val();
+            if(!(china_name.test(employeeName))){
+                layer.msg('员工姓名格式不正确', {icon: 5, time: 1000});
+                return false;
+            }
+
+            if(!ptsValiDataTel()){
+                return false;
+            };
+
+            if($("#employeeEntryDate").val() == null || $("#employeeEntryDate").val() == ""){
+                layer.msg('入职日期不能为空', {icon: 5, time: 1000});
+                return false;
+            };
+
+            //离职日期
+            var employeeState = $("[name='employeeState']:checked").val();
+            if(employeeState == 0){
+                if($("#employeeDepartureDate").val() == null || $("#employeeDepartureDate").val() == ""){
+                    layer.msg('离职日期不能为空', {icon: 5, time: 1000});
+                    return false;
+                }
+                var employeeEntryDate = $("[name='employeeEntryDate']").val();
+                var employeeDepartureDate = $("[name='employeeDepartureDate']").val();
+                if(!CompareDate(employeeDepartureDate,employeeEntryDate)){
+                    layer.msg('离职日期不能再入职日期之前', {icon: 5, time: 1000});
+                    return false;
+                }
+            }
+
+            var employeePost = $("#employeePost").val();
+            if(!(cnen_name.test(employeePost))){
+                layer.msg('员工岗位格式不正确', {icon: 5, time: 1000});
+                return false;
+            }
+
+            var employeeDesc = $("#employeeDesc").val();
+            if(!(check_name.test(employeeDesc))){
+                layer.msg('员工备注格式不正确', {icon: 5, time: 1000});
+                return false;
+            }
+
             ajaxReq();
             return false;
         })
     })
 
+    /*比较时间*/
+    function CompareDate(d1,d2)
+    {
+        return ((new Date(d1.replace(/-/g,"\/"))) > (new Date(d2.replace(/-/g,"\/"))));
+    }
+
+    /*实时监听文本框-- 员工编号*/
+    document.getElementById("employeeNo").addEventListener("input", function(){
+        ptsValiDataEmNo();
+    });
+
     function ajaxReq(){
         var data = formatJSON();
         $.ajax({
@@ -122,6 +158,58 @@
         });
     }
 
+    /*验证编号*/
+    function ptsValiDataEmNo() {
+        var thVal = $("#employeeNo").val();
+
+        if( thVal == null || thVal == "" || typeof(thVal) == "undefined"){
+            return false;
+        }
+
+        if($("#oldNo").val() == thVal){
+            return true;
+        }
+
+        if(!(check_name.test(thVal))){
+            layer.msg('员工编码格式不正确', {icon: 5, time: 1000});
+            return false;
+        }
+        var flag = false;
+        $.ajax({
+            cache: true,
+            type: "POST",
+            data: {
+                employeeNo:thVal
+            },
+            url: "${path}/admin/employee/is_employee",
+            async: false,
+            success: function(data){
+                if (data.returnCode == 200) {
+                    layer.msg('该员工编号已存在', {icon: 5, time: 1000});
+                    flag = false;
+                }else{
+                    flag = true;
+                }
+            },
+            error: function(XmlHttpRequest, textStatus, errorThrown){
+                flag = false;
+            }
+        });
+        return flag;
+    }
+
+    /*验证手机号码*/
+    function ptsValiDataTel() {
+        var thVal = $("#employeeTel").val();
+        if(!(/^1[34578]\d{9}$/.test(thVal))){
+            layer.msg('手机号码格式化不正确', {icon: 5, time: 1000});
+            return false;
+        }else{
+            return true;
+        }
+    }
+
+
     /*将表单format为JSON*/
     function formatJSON() {
         var serializeObj={};

+ 1 - 1
watero-rst-web/src/main/webapp/WEB-INF/views/pts/produce/produce_list.ftl

@@ -39,7 +39,7 @@
 
         <#list resultList as produce>
             <li>
-                <div class="title">
+                <div class="title" <#if produce.produceStatus == 0>style="background-color: #ccc;"</#if>>
                     <span>${produce.produceName!}</span>
                 </div>
                 <ul class="items-list">

+ 51 - 53
watero-rst-web/src/main/webapp/WEB-INF/views/pts/produce/save_produce.ftl

@@ -22,6 +22,9 @@
         .cp-list{list-style-type: none;margin: 0;padding: 0;}
         .cp-list>li{position: relative;    cursor: pointer;clear: both;padding: 15px 0;}
         .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(images/select-1.png) right center no-repeat;background-size:auto 100%;}
+
+        .pro-height{margin-top: 0px;}
+        .process-sp{margin-top: 0px; line-height: 30px;}
     </style>
     <title>添加生产产品- 生产产品管理 - RST</title>
 </head>
@@ -30,31 +33,36 @@
     <form class="form form-horizontal" id="form-admin-addProduce">
         <div style="padding: 10px;width: 600px;margin: 0 auto;" class="">
             <div class="my-title">产品信息</div>
-            <div class="input-box"><span class="input-dic">产品名称</span><input class="my-input" name="produceName" type="text" value="" placeholder="请输入产品名称" required   maxlength="20" /> </div>
-            <div class="input-box"><span class="input-dic">产品描述</span><input class="my-input" type="text" name="produceRemake" value="" placeholder="请输入产品描述" required  maxlength="100"/> </div>
+            <div class="input-box"><span class="input-dic">产品名称</span><input class="my-input" name="produceName" id="produceName" type="text" value="" placeholder="请输入产品名称,2-20位中文、英文组合" required   maxlength="20" /> </div>
+            <div class="input-box"><span class="input-dic">产品描述</span><input class="my-input" type="text" name="produceRemake" id="produceRemake" value="" placeholder="请输入产品描述,2-100位中文、英文组合" required  maxlength="100"/> </div>
             <div class="input-box"><span class="input-dic">产品类型</span>
                 <label><input type="radio" name="produceType" value="1" checked>净水机</label>
                 <label><input type="radio" name="produceType" value="2">冲奶机</label>
             </div>
+            <div class="input-box"><span class="input-dic">产品状态</span>
+                <label><input type="radio" name="produceStatus" value="1" checked>正在使用</label>
+                <label><input type="radio" name="produceStatus" value="0">停止使用</label>
+            </div>
             <div style="background-color:rgba(0,0,0,.1);height: 1px;margin: 15px 0;"></div>
             <div class="my-title">节点信息</div>
 
             <ul class="cp-list onrTheProcess" id="sortable">
                 <li id="1" class="processList">
                     <input type="hidden" class="processNumber" value="1">
-                    <div class="input-box"><span class="input-dic process-type">节点类型</span>
+                    <div class="input-box pro-height">
+                        <span class="input-dic process-type process-sp">节点类型</span>
                         <label><input type="radio" name="processType_p1" value="1" checked>生产工序</label>
                         <label><input type="radio" name="processType_p1" value="2">修理工序</label>
                         <button type="button" class="my-btn-edit" onclick="delProcess(this)">删除节点</button>
                     </div>
-                    <div class="input-box"><span class="input-dic">节点名称</span><input class="my-input" name="processName" type="text" value="" placeholder="请输入节点名称" required   maxlength="20"/> </div>
+                    <div class="input-box"><span class="input-dic">节点名称</span><input class="my-input" name="processName" type="text" value="" placeholder="请输入节点名称,2-20位中文、英文组合" required   maxlength="20"/> </div>
                     <div class="input-box"><span class="input-dic">节点操作</span>
                         <ul class="add-list oneTheNode" >
                             <li class="nodeList">
                                 <#--<select class="my-select"><option>1</option></select>-->
                                 <label><input type="radio" name="nodeStatus_p1_n1" value="1" checked>正常</label>
                                 <label><input type="radio" name="nodeStatus_p1_n1" value="0">异常</label>
-                                <input class="my-input" name="nodeDes" type="text" value="" placeholder="请输入节点操作描述,2-20位中文" required minlength="2"   maxlength="20" />
+                                <input class="my-input" name="nodeDes" type="text" value="" placeholder="请输入操作描述,2-20位中文、英文组合" required minlength="2"   maxlength="20" />
                                 <i class="Hui-iconfont" onclick="delNode(this)">&#xe60b;</i>
                             </li>
                             <li>
@@ -79,53 +87,43 @@
 <script type="text/javascript" src="${path}/common/lib/jquery.ui/jquery-ui.js"></script>
 <script type="text/javascript">
 
-/*
-   $(function(){
-        $("#form-admin-addProduce").validate({
-            rules:{
-                produceName1:{
-                    required:true,
-                    minlength:2,
-                    maxlength:20
-                }
-            },
-            messages: {
-                produceName1: {
-                    required: "*必填!",
-                    rangelength: "*长度为2到20位!",
-                }
-            },
-            //是否在获取焦点时验证
-            //onfocusout:false,
-            //是否在敲击键盘时验证
-            //onkeyup:false,
-            //提交表单后,(第一个)未通过验证的表单获得焦点
-            focusInvalid:true,
-            //当未通过验证的元素获得焦点时,移除错误提示
-            focusCleanup:true,
-
-//            onkeyup:false,
-//            focusCleanup:true,
-//            success:"valid",
-            submitHandler:function(form){
-                $.post(root_path + "/admin/produce/save_produce", formatJSON(),function(result){
-                    if (result.returnCode != 200 || result.returnCode != 200) {
-                        layer.msg('录入失败,请重试!',{icon: 5,time:3000});
-                    } else {
-                        layer.msg('录入成功!!',{icon: 1,time:2000}, function () {
-                            // 关闭当前页面,并刷新父级页面
-                            window.location.href= '${path}/admin/produce/_produce_list';
-                        });
-                    }
-                });
-            }
-        });
-    });*/
-
+    var check_name = /^[a-zA-Z\u4e00-\u9fa5]+$/;
 
     $(function(){
         //var validator = $("#form-admin-addProduce").validate();
         $("#form-admin-addProduce").submit(function(){
+
+            var produceName = $("#produceName").val();
+            if(!(check_name.test(produceName))){
+                layer.msg('产品名称输入格式不正确', {icon: 5, time: 1000});
+                return false;
+            }
+
+            var produceRemake = $("#produceRemake").val();
+            if(!(check_name.test(produceRemake))){
+                layer.msg('产品描述输入格式不正确', {icon: 5, time: 1000});
+                return false;
+            }
+
+            var flag = true;
+            $("input[name='processName']").each(function () {
+                if( !(check_name.test($(this).val())) ){
+                    layer.msg('节点名称输入格式不正确', {icon: 5, time: 1000});
+                    flag = false;
+                }
+            })
+            if(!flag)
+                return false;
+
+            $("input[name='nodeDes']").each(function () {
+                if( !(check_name.test($(this).val())) ){
+                    layer.msg('节点操作描述输入格式不正确', {icon: 5, time: 1000});
+                    flag = false;
+                }
+            })
+            if(!flag)
+                return false;
+
             ajaxReq();
             return false;
         })
@@ -179,7 +177,8 @@
         produce.json = JSON.stringify(proessList);      //将工序变成json存入到产品对象中
         produce.produceName = $("[name='produceName']").val();//获取产品名称
         produce.produceRemake = $("[name='produceRemake']").val();//获取产品描述
-        produce.produceType = $("[name='produceType']").val();//获取产品描述
+        produce.produceType = $("[name='produceType']:checked").val();//获取产品类型
+        produce.produceStatus = $("[name='produceStatus']:checked").val();//获取产品状态
         return produce;
     }
 
@@ -193,7 +192,7 @@
                 //+'<select class="my-select"><option>1</option></select>&nbsp;'
                 +'<label><input type="radio" name="nodeStatus_p'+ processNumber +'_n'+ nodeNumber +'" value="1" checked>正常</label>&nbsp;'
                 +'<label><input type="radio" name="nodeStatus_p'+ processNumber +'_n'+ nodeNumber +'" value="0">异常</label>&nbsp;'
-                +'<input class="my-input" name="nodeDes" type="text" value="" placeholder="请输入节点操作描述,2-20位中文"   required  minlength="2"  maxlength="20"/>&nbsp;'
+                +'<input class="my-input" name="nodeDes" type="text" value="" placeholder="请输入操作描述,2-20位中文、英文组合"   required  minlength="2"  maxlength="20"/>&nbsp;'
                 +'<i class="Hui-iconfont" onclick="delNode(this)">&#xe60b;</i>'
                 +'</li>';
         $(node).parent().before(nodeHtml);
@@ -211,14 +210,14 @@
                 + '<label><input type="radio" name="processType_p'+ processNumber +'" value="2">修理工序</label>'
                 + '<button type="button" class="my-btn-edit" onclick="delProcess(this)">删除节点</button>'
                 + '</div>'
-                + '<div class="input-box"><span class="input-dic">节点名称</span><input class="my-input" name="processName" type="text" value="" placeholder="请输入节点名称"  required   maxlength="20"/> </div>'
+                + '<div class="input-box"><span class="input-dic">节点名称</span><input class="my-input" name="processName" type="text" value="" placeholder="请输入节点名称,2-20位中文、英文组合"  required   maxlength="20"/> </div>'
                 + '<div class="input-box"><span class="input-dic">节点操作</span>'
                 + '<ul class="add-list oneTheNode">'
                 + '<li class="nodeList">'
                 //  + '<select class="my-select"><option>1</option></select>&nbsp;'
                 + '<label><input type="radio" name="nodeStatus_p'+ processNumber +'_n1" value="1" checked>正常</label>&nbsp;'
                 + '<label><input type="radio" name="nodeStatus_p'+ processNumber +'_n1" value="0">异常</label>&nbsp;'
-                + '<input class="my-input" name="nodeDes" type="text" value="" placeholder="请输入节点操作描述,2-20位中文"  required  minlength="2"  maxlength="20"/>&nbsp;'
+                + '<input class="my-input" name="nodeDes" type="text" value="" placeholder="请输入操作描述,2-20位中文、英文组合"  required  minlength="2"  maxlength="20"/>&nbsp;'
                 + '<i class="Hui-iconfont" onclick="delNode(this)">&#xe60b;</i>'
                 + '</li>'
                 + '<li><button type="button" class="my-btn-edit" onclick="addProNode(this)">增加节点操作</button></li>'
@@ -238,7 +237,6 @@
             layer.msg('至少要有一个节点!',{icon: 5,time:3000});
         }else{
             $(node).parents(".processList").remove();
-            delProcessIds += delProcessIds;
         }
     }
 

+ 45 - 44
watero-rst-web/src/main/webapp/WEB-INF/views/pts/produce/update_produce.ftl

@@ -31,12 +31,16 @@
         <div style="padding: 10px;width: 600px;margin: 0 auto;" class="">
             <div class="my-title">产品信息</div>
             <input type="hidden" name="produceId" value="${produce.produceId!}">
-            <div class="input-box"><span class="input-dic">产品名称</span><input class="my-input" name="produceName" type="text" value="${produce.produceName!}" placeholder="请输入产品名称" maxlength="20"  required /> </div>
-            <div class="input-box"><span class="input-dic">产品描述</span><input class="my-input" type="text" name="produceRemake" value="${produce.produceRemake!}" placeholder="请输入产品描述" maxlength="100"  required /> </div>
+            <div class="input-box"><span class="input-dic">产品名称</span><input class="my-input" name="produceName" type="text" value="${produce.produceName!}" placeholder="请输入产品名称,2-20位中文、英文组合" maxlength="20"  required /> </div>
+            <div class="input-box"><span class="input-dic">产品描述</span><input class="my-input" type="text" name="produceRemake" value="${produce.produceRemake!}" placeholder="请输入产品描述,2-100位中文、英文组合" maxlength="100"  required /> </div>
             <div class="input-box"><span class="input-dic">产品类型</span>
                 <label><input type="radio" name="produceType" value="1" <#if produce.produceType == 1>checked</#if>>净水机</label>
                 <label><input type="radio" name="produceType" value="2" <#if produce.produceType == 2>checked</#if>>冲奶机</label>
             </div>
+            <div class="input-box"><span class="input-dic">产品状态</span>
+                <label><input type="radio" name="produceStatus" value="1" <#if produce.produceStatus == 1>checked</#if>>正在使用</label>
+                <label><input type="radio" name="produceStatus" value="0" <#if produce.produceStatus == 0>checked</#if>>停止使用</label>
+            </div>
             <div style="background-color:rgba(0,0,0,.1);height: 1px;margin: 15px 0;"></div>
             <div class="my-title">节点信息</div>
 
@@ -51,7 +55,7 @@
                             <label><input type="radio" name="processType_p${process_index + 1}" value="2" <#if process.processType == 2>checked</#if>>修理工序</label>
                             <button type="button" class="my-btn-edit" onclick="delProcess(this)">删除节点</button>
                         </div>
-                        <div class="input-box"><span class="input-dic">节点名称</span><input class="my-input" name="processName" type="text" value="${process.processName!}" placeholder="请输入节点名称" maxlength="20" required/> </div>
+                        <div class="input-box"><span class="input-dic">节点名称</span><input class="my-input" name="processName" type="text" value="${process.processName!}" placeholder="请输入节点名称,2-20位中文、英文组合" maxlength="20" required/> </div>
                         <div class="input-box"><span class="input-dic">节点操作</span>
                             <ul class="add-list oneTheNode" >
                                 <#list process.nodes as nodes>
@@ -60,7 +64,7 @@
                                         <#--<select class="my-select"><option>1</option></select>-->
                                         <label><input type="radio" name="nodeStatus_p${process_index + 1}_n${nodes_index + 1}" value="1" <#if nodes.nodeStatus == 1>checked</#if>>正常</label>
                                         <label><input type="radio" name="nodeStatus_p${process_index + 1}_n${nodes_index + 1}" value="0" <#if nodes.nodeStatus == 0>checked</#if>>异常</label>
-                                        <input class="my-input" name="nodeDes" type="text" value="${nodes.nodeDes!}" placeholder="请输入节点操作描述,2-20位中文" maxlength="20" minlength="2"  required/>
+                                        <input class="my-input" name="nodeDes" type="text" value="${nodes.nodeDes!}" placeholder="请输入操作描述,2-20位中文、英文组合" maxlength="20" minlength="2"  required/>
                                         <i class="Hui-iconfont" onclick="delNode(this)">&#xe60b;</i>
                                     </li>
                                 </#list>
@@ -88,52 +92,48 @@
 <script type="text/javascript" src="${path}/common/lib/jquery.ui/jquery-ui.js"></script>
 <script type="text/javascript">
 
+    var check_name = /^[a-zA-Z\u4e00-\u9fa5]+$/;
+
     var delProcessIds="",delNodeIds="";
+    $(function(){
+        //var validator = $("#signupForm").validate();
+        $("#form-admin-addProduce").submit(function(){
 
-    //动态显示隐藏所属菜单
-//    $(document).on('click', '.menuSubid input[type=radio]', function() {
-//        isSelectShow($(this).val())
-//    })
+            var produceName = $("#produceName").val();
+            if(!(check_name.test(produceName))){
+                layer.msg('产品名称输入格式不正确', {icon: 5, time: 1000});
+                return false;
+            }
 
- /*   $(function(){
-        $("#form-admin-addProduce").validate({
-            rules:{
-                subName:{
-                    required:true,
-                    minlength:4,
-                    maxlength:30
-                }
-            },
-            onkeyup:false,
-            focusCleanup:true,
-            success:"valid",
-            submitHandler:function(form){
-                $.post(root_path + "/admin/produce/update_produce", formatJSON(),function(result){
-                    if (result.returnCode != 200 || result.returnCode != 200) {
-                        layer.msg('录入失败,请重试!',{icon: 5,time:3000});
-                    } else {
-                        layer.msg('录入成功!!',{icon: 1,time:2000}, function () {
-                            // 关闭当前页面,并刷新父级页面
-                            window.location.href= '${path}/admin/produce/_produce_list';
-                        });
-                    }
-                });
+            var produceRemake = $("#produceRemake").val();
+            if(!(check_name.test(produceRemake))){
+                layer.msg('产品描述输入格式不正确', {icon: 5, time: 1000});
+                return false;
             }
-        });
-    });*/
 
+            var flag = true;
+            $("input[name='processName']").each(function () {
+                if( !(check_name.test($(this).val())) ){
+                    layer.msg('节点名称输入格式不正确', {icon: 5, time: 1000});
+                    flag = false;
+                }
+            })
+            if(!flag)
+                return false;
+
+            $("input[name='nodeDes']").each(function () {
+                if( !(check_name.test($(this).val())) ){
+                    layer.msg('节点操作描述输入格式不正确', {icon: 5, time: 1000});
+                    flag = false;
+                }
+            })
+            if(!flag)
+                return false;
 
 
-    $(function(){
-        //var validator = $("#signupForm").validate();
-        $("#form-admin-addProduce").submit(function(){
             ajaxReq();
             return false;
         })
-//        jQuery.validator.addMethod("processName", function(value, element) {
-//               var mobile = /[^\w\u4e00-\u9fa5]/;
-//               return this.optional(element) || (mobile.test(value));
-//            }, "请正确填写您的手机号码");
     })
 
     function ajaxReq(){
@@ -189,7 +189,8 @@
         produce.produceId = $("[name='produceId']").val();//获取产品id
         produce.produceName = $("[name='produceName']").val();//获取产品名称
         produce.produceRemake = $("[name='produceRemake']").val();//获取产品描述
-        produce.produceType = $("[name='produceType']").val();//获取产品描述
+        produce.produceType = $("[name='produceType']:checked").val();//获取产品类型
+        produce.produceStatus = $("[name='produceStatus']:checked").val();//获取产品状态
 
         produce.delProcessIds = delProcessIds;    //需要删除的工序id
         produce.delNodeIds = delNodeIds;           //需要删除的节点操作id
@@ -217,7 +218,7 @@
                 //+'<select class="my-select"><option>1</option></select>&nbsp;'
                 +'<label><input type="radio" name="nodeStatus_p'+ processNumber +'_n'+ nodeNumber +'" value="1" checked>正常</label>&nbsp;'
                 +'<label><input type="radio" name="nodeStatus_p'+ processNumber +'_n'+ nodeNumber +'" value="0">异常</label>&nbsp;'
-                +'<input class="my-input" name="nodeDes" type="text" value=""  placeholder="请输入节点操作描述,2-20位中文" maxlength="20" minlength="2"  required/>&nbsp;'
+                +'<input class="my-input" name="nodeDes" type="text" value=""  placeholder="请输入操作描述,2-20位中文、英文组合" maxlength="20" minlength="2"  required/>&nbsp;'
                 +'<i class="Hui-iconfont" onclick="delNode(this)">&#xe60b;</i>'
                 +'</li>';
         $(node).parent().before(nodeHtml);
@@ -235,14 +236,14 @@
                 + '<label><input type="radio" name="processType_p'+ processNumber +'" value="2">修理工序</label>'
                 + '<button type="button" class="my-btn-edit" onclick="delProcess(this)">删除节点</button>'
                 + '</div>'
-                + '<div class="input-box"><span class="input-dic">节点名称</span><input class="my-input" name="processName" type="text" value="" placeholder="请输入节点名称" maxlength="20"  required/> </div>'
+                + '<div class="input-box"><span class="input-dic">节点名称</span><input class="my-input" name="processName" type="text" value="" placeholder="请输入节点名称,2-20位中文、英文组合" maxlength="20"  required/> </div>'
                 + '<div class="input-box"><span class="input-dic">节点操作</span>'
                 + '<ul class="add-list oneTheNode">'
                 + '<li class="nodeList">'
                 //  + '<select class="my-select"><option>1</option></select>&nbsp;'
                 + '<label><input type="radio" name="nodeStatus_p'+ processNumber +'_n1" value="1" checked>正常</label>&nbsp;'
                 + '<label><input type="radio" name="nodeStatus_p'+ processNumber +'_n1" value="0">异常</label>&nbsp;'
-                + '<input class="my-input" name="nodeDes" type="text" value=""  placeholder="请输入节点操作描述,2-20位中文" maxlength="20" minlength="2"  required/>&nbsp;'
+                + '<input class="my-input" name="nodeDes" type="text" value=""  placeholder="请输入操作描述,2-20位中文、英文组合" maxlength="20" minlength="2"  required/>&nbsp;'
                 + '<i class="Hui-iconfont" onclick="delNode(this)">&#xe60b;</i>'
                 + '</li>'
                 + '<li><button type="button" class="my-btn-edit" onclick="addProNode(this)">增加节点操作</button></li>'